From c5acd1a52b6f8278f3a9776e221465b031718572 Mon Sep 17 00:00:00 2001 From: Sherlock Holo Date: Thu, 10 Oct 2019 15:14:00 +0800 Subject: [PATCH 1/2] feat(gaap http_domain, gaap layer7_listener): add import support Signed-off-by: Sherlock Holo --- CHANGELOG.md | 6 + .../data_source_tc_gaap_layer7_listeners.go | 9 +- tencentcloud/resource_tc_gaap_http_domain.go | 32 ++- .../resource_tc_gaap_http_domain_test.go | 10 + .../resource_tc_gaap_layer7_listener.go | 207 +++++++++++------- .../resource_tc_gaap_layer7_listener_test.go | 59 ++--- website/docs/r/gaap_http_domain.html.markdown | 8 + .../docs/r/gaap_layer7_listener.html.markdown | 8 + 8 files changed, 209 insertions(+), 130 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 14709bec1f..ceb7a577e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,10 @@ ## 1.20.2 (Unreleased) + +ENHANCEMENTS: + +* Resource: `tencentcloud_gaap_http_domain` support import +* Resource: `tencentcloud_gaap_layer7_listener` support import + ## 1.20.1 (October 08, 2019) ENHANCEMENTS: diff --git a/tencentcloud/data_source_tc_gaap_layer7_listeners.go b/tencentcloud/data_source_tc_gaap_layer7_listeners.go index b44e9733f3..c36cfbb66a 100644 --- a/tencentcloud/data_source_tc_gaap_layer7_listeners.go +++ b/tencentcloud/data_source_tc_gaap_layer7_listeners.go @@ -144,7 +144,10 @@ func dataSourceTencentCloudGaapLayer7ListenersRead(d *schema.ResourceData, m int ctx := context.WithValue(context.TODO(), "logId", logId) protocol := d.Get("protocol").(string) - proxyId := d.Get("proxy_id").(string) + var proxyId *string + if raw, ok := d.GetOk("proxy_id"); ok { + proxyId = stringToPointer(raw.(string)) + } var ( listenerId *string @@ -168,7 +171,7 @@ func dataSourceTencentCloudGaapLayer7ListenersRead(d *schema.ResourceData, m int switch protocol { case "HTTP": - httpListeners, err := service.DescribeHTTPListeners(ctx, &proxyId, listenerId, name, port) + httpListeners, err := service.DescribeHTTPListeners(ctx, proxyId, listenerId, name, port) if err != nil { return err } @@ -206,7 +209,7 @@ func dataSourceTencentCloudGaapLayer7ListenersRead(d *schema.ResourceData, m int } case "HTTPS": - httpsListeners, err := service.DescribeHTTPSListeners(ctx, &proxyId, listenerId, name, port) + httpsListeners, err := service.DescribeHTTPSListeners(ctx, proxyId, listenerId, name, port) if err != nil { return err } diff --git a/tencentcloud/resource_tc_gaap_http_domain.go b/tencentcloud/resource_tc_gaap_http_domain.go index a34d1e4e82..ed19e191bc 100644 --- a/tencentcloud/resource_tc_gaap_http_domain.go +++ b/tencentcloud/resource_tc_gaap_http_domain.go @@ -24,6 +24,14 @@ resource "tencentcloud_gaap_http_domain" "foo" { domain = "www.qq.com" } ``` + +Import + +GAAP http domain can be imported using the id, e.g. + +``` + $ terraform import tencentcloud_gaap_http_domain.foo listener-11112222+HTTP+www.qq.com +``` */ package tencentcloud @@ -43,6 +51,10 @@ func resourceTencentCloudGaapHttpDomain() *schema.Resource { Read: resourceTencentCloudGaapHttpDomainRead, Update: resourceTencentCloudGaapHttpDomainUpdate, Delete: resourceTencentCloudGaapHttpDomainDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, + Schema: map[string]*schema.Schema{ "listener_id": { Type: schema.TypeString, @@ -236,7 +248,6 @@ func resourceTencentCloudGaapHttpDomainRead(d *schema.ResourceData, m interface{ id := d.Id() var ( listenerId string - protocol string domain string ) split := strings.Split(id, "+") @@ -247,7 +258,7 @@ func resourceTencentCloudGaapHttpDomainRead(d *schema.ResourceData, m interface{ return nil } - listenerId, protocol, domain = split[0], split[1], split[2] + listenerId, _, domain = split[0], split[1], split[2] service := GaapService{client: m.(*TencentCloudClient).apiV3Conn} @@ -262,22 +273,7 @@ func resourceTencentCloudGaapHttpDomainRead(d *schema.ResourceData, m interface{ } d.Set("domain", httpDomain.Domain) - - if protocol == "HTTP" { - return nil - } - - listeners, err := service.DescribeHTTPSListeners(ctx, nil, &listenerId, nil, nil) - if err != nil { - return err - } - - // if listener doesn't exist, domain won't exist - if len(listeners) == 0 { - log.Printf("[DEBUG]%s domain listener doesn't exist", logId) - d.SetId("") - return nil - } + d.Set("listener_id", listenerId) if httpDomain.CertificateId == nil { httpDomain.CertificateId = stringToPointer("default") diff --git a/tencentcloud/resource_tc_gaap_http_domain_test.go b/tencentcloud/resource_tc_gaap_http_domain_test.go index 9373e705cd..870756c615 100644 --- a/tencentcloud/resource_tc_gaap_http_domain_test.go +++ b/tencentcloud/resource_tc_gaap_http_domain_test.go @@ -37,6 +37,11 @@ func TestAccTencentCloudGaapHttpDomain_basic(t *testing.T) { resource.TestCheckNoResourceAttr("tencentcloud_gaap_http_domain.foo", "gaap_auth_id"), ), }, + { + ResourceName: "tencentcloud_gaap_http_domain.foo", + ImportState: true, + ImportStateVerify: true, + }, }, }) } @@ -66,6 +71,11 @@ func TestAccTencentCloudGaapHttpDomain_https(t *testing.T) { resource.TestCheckNoResourceAttr("tencentcloud_gaap_http_domain.foo", "gaap_auth_id"), ), }, + { + ResourceName: "tencentcloud_gaap_http_domain.foo", + ImportState: true, + ImportStateVerify: true, + }, }, }) } diff --git a/tencentcloud/resource_tc_gaap_layer7_listener.go b/tencentcloud/resource_tc_gaap_layer7_listener.go index a6235f0cfd..c45358a79d 100644 --- a/tencentcloud/resource_tc_gaap_layer7_listener.go +++ b/tencentcloud/resource_tc_gaap_layer7_listener.go @@ -19,6 +19,14 @@ resource "tencentcloud_gaap_layer7_listener" "foo" { proxy_id = "${tencentcloud_gaap_proxy.foo.id}" } ``` + +Import + +GAAP layer7 listener can be imported using the id, e.g. + +``` + $ terraform import tencentcloud_gaap_layer7_listener.foo listener-11112222 +``` */ package tencentcloud @@ -37,6 +45,10 @@ func resourceTencentCloudGaapLayer7Listener() *schema.Resource { Read: resourceTencentCloudGaapLayer7ListenerRead, Update: resourceTencentCloudGaapLayer7ListenerUpdate, Delete: resourceTencentCloudGaapLayer7ListenerDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, + Schema: map[string]*schema.Schema{ "protocol": { Type: schema.TypeString, @@ -177,7 +189,6 @@ func resourceTencentCloudGaapLayer7ListenerRead(d *schema.ResourceData, m interf ctx := context.WithValue(context.TODO(), "logId", logId) id := d.Id() - proxyId := d.Get("proxy_id").(string) protocol := d.Get("protocol").(string) var ( name string @@ -192,110 +203,142 @@ func resourceTencentCloudGaapLayer7ListenerRead(d *schema.ResourceData, m interf service := GaapService{client: m.(*TencentCloudClient).apiV3Conn} - switch protocol { - case "HTTP": - listeners, err := service.DescribeHTTPListeners(ctx, &proxyId, &id, nil, nil) - if err != nil { - return err - } +LOOP: + for { + switch protocol { + case "HTTP": + listeners, err := service.DescribeHTTPListeners(ctx, nil, &id, nil, nil) + if err != nil { + return err + } - var listener *gaap.HTTPListener - for _, l := range listeners { - if l.ListenerId == nil { - return errors.New("listener id is nil") + var listener *gaap.HTTPListener + for _, l := range listeners { + if l.ListenerId == nil { + return errors.New("listener id is nil") + } + if *l.ListenerId == id { + listener = l + break + } } - if *l.ListenerId == id { - listener = l - break + + if listener == nil { + d.SetId("") + return nil } - } - if listener == nil { - d.SetId("") - return nil - } + if listener.ListenerName == nil { + return errors.New("listener name is nil") + } + name = *listener.ListenerName - if listener.ListenerName == nil { - return errors.New("listener name is nil") - } - name = *listener.ListenerName + if listener.Port == nil { + return errors.New("listener port is nil") + } + port = int(*listener.Port) - if listener.Port == nil { - return errors.New("listener port is nil") - } - port = int(*listener.Port) + if listener.ListenerStatus == nil { + return errors.New("listener status is nil") + } + status = int(*listener.ListenerStatus) - if listener.ListenerStatus == nil { - return errors.New("listener status is nil") - } - status = int(*listener.ListenerStatus) + if listener.CreateTime == nil { + return errors.New("listener create time is nil") + } + createTime = formatUnixTime(*listener.CreateTime) - if listener.CreateTime == nil { - return errors.New("listener create time is nil") - } - createTime = formatUnixTime(*listener.CreateTime) + break LOOP - case "HTTPS": - listeners, err := service.DescribeHTTPSListeners(ctx, &proxyId, &id, nil, nil) - if err != nil { - return err - } + case "HTTPS": + listeners, err := service.DescribeHTTPSListeners(ctx, nil, &id, nil, nil) + if err != nil { + return err + } - var listener *gaap.HTTPSListener - for _, l := range listeners { - if l.ListenerId == nil { - return errors.New("listener id is nil") + var listener *gaap.HTTPSListener + for _, l := range listeners { + if l.ListenerId == nil { + return errors.New("listener id is nil") + } + if *l.ListenerId == id { + listener = l + break + } } - if *l.ListenerId == id { - listener = l - break + + if listener == nil { + d.SetId("") + return nil } - } - if listener == nil { - d.SetId("") - return nil - } + if listener.ListenerName == nil { + return errors.New("listener name is nil") + } + name = *listener.ListenerName - if listener.ListenerName == nil { - return errors.New("listener name is nil") - } - name = *listener.ListenerName + if listener.Port == nil { + return errors.New("listener port is nil") + } + port = int(*listener.Port) - if listener.Port == nil { - return errors.New("listener port is nil") - } - port = int(*listener.Port) + if listener.CertificateId == nil { + return errors.New("listener certificate id is nil") + } + certificateId = *listener.CertificateId - if listener.CertificateId == nil { - return errors.New("listener certificate id is nil") - } - certificateId = *listener.CertificateId + if listener.ForwardProtocol == nil { + return errors.New("listener forward protocol is nil") + } + forwardProtocol = listener.ForwardProtocol - if listener.ForwardProtocol == nil { - return errors.New("listener forward protocol is nil") - } - forwardProtocol = listener.ForwardProtocol + if listener.AuthType == nil { + return errors.New("listener auth type is nil") + } + authType = common.IntPtr(int(*listener.AuthType)) - if listener.AuthType == nil { - return errors.New("listener auth type is nil") - } - authType = common.IntPtr(int(*listener.AuthType)) + if listener.ClientCertificateId != nil { + clientCertificateId = *listener.ClientCertificateId + } - if listener.ClientCertificateId != nil { - clientCertificateId = *listener.ClientCertificateId - } + if listener.ListenerStatus == nil { + return errors.New("listener status is nil") + } + status = int(*listener.ListenerStatus) - if listener.ListenerStatus == nil { - return errors.New("listener status is nil") - } - status = int(*listener.ListenerStatus) + if listener.CreateTime == nil { + return errors.New("listener create time is nil") + } + createTime = formatUnixTime(*listener.CreateTime) - if listener.CreateTime == nil { - return errors.New("listener create time is nil") + break LOOP + + case "": + // import mode, need check protocol + httpListeners, err := service.DescribeHTTPListeners(ctx, nil, &id, nil, nil) + if err != nil { + return err + } + if len(httpListeners) > 0 { + protocol = "HTTP" + continue + } + + httpsListeners, err := service.DescribeHTTPSListeners(ctx, nil, &id, nil, nil) + if err != nil { + return err + } + if len(httpsListeners) > 0 { + protocol = "HTTPS" + continue + } + + // layer7 listener is not found + d.SetId("") + return nil } - createTime = formatUnixTime(*listener.CreateTime) } + d.Set("protocol", protocol) d.Set("name", name) d.Set("port", port) diff --git a/tencentcloud/resource_tc_gaap_layer7_listener_test.go b/tencentcloud/resource_tc_gaap_layer7_listener_test.go index 476ab3fb91..efa52d6ff3 100644 --- a/tencentcloud/resource_tc_gaap_layer7_listener_test.go +++ b/tencentcloud/resource_tc_gaap_layer7_listener_test.go @@ -12,17 +12,16 @@ import ( func TestAccTencentCloudGaapLayer7Listener_basic(t *testing.T) { id := new(string) - proxyId := new(string) resource.Test(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, Providers: testAccProviders, - CheckDestroy: testAccCheckGaapLayer7ListenerDestroy(id, proxyId, "HTTP"), + CheckDestroy: testAccCheckGaapLayer7ListenerDestroy(id, "HTTP"), Steps: []resource.TestStep{ { Config: testAccGaapLayer7ListenerBasic, Check: resource.ComposeTestCheckFunc( - testAccCheckGaapLayer7ListenerExists("tencentcloud_gaap_layer7_listener.foo", id, proxyId, "HTTP"), + testAccCheckGaapLayer7ListenerExists("tencentcloud_gaap_layer7_listener.foo", id, "HTTP"), resource.TestCheckResourceAttr("tencentcloud_gaap_layer7_listener.foo", "protocol", "HTTP"), resource.TestCheckResourceAttr("tencentcloud_gaap_layer7_listener.foo", "name", "ci-test-gaap-l7-listener"), resource.TestCheckResourceAttr("tencentcloud_gaap_layer7_listener.foo", "port", "80"), @@ -35,27 +34,34 @@ func TestAccTencentCloudGaapLayer7Listener_basic(t *testing.T) { { Config: testAccGaapLayer7ListenerHttpUpdateName, Check: resource.ComposeTestCheckFunc( - testAccCheckGaapLayer7ListenerExists("tencentcloud_gaap_layer7_listener.foo", id, proxyId, "HTTP"), + testAccCheckGaapLayer7ListenerExists("tencentcloud_gaap_layer7_listener.foo", id, "HTTP"), resource.TestCheckResourceAttr("tencentcloud_gaap_layer7_listener.foo", "name", "ci-test-gaap-l7-listener-new"), ), }, + { + ResourceName: "tencentcloud_gaap_layer7_listener.foo", + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "proxy_id", + }, + }, }, }) } func TestAccTencentCloudGaapLayer7Listener_https(t *testing.T) { id := new(string) - proxyId := new(string) resource.Test(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, Providers: testAccProviders, - CheckDestroy: testAccCheckGaapLayer7ListenerDestroy(id, proxyId, "HTTPS"), + CheckDestroy: testAccCheckGaapLayer7ListenerDestroy(id, "HTTPS"), Steps: []resource.TestStep{ { Config: testAccGaapLayer7ListenerHttps, Check: resource.ComposeTestCheckFunc( - testAccCheckGaapLayer7ListenerExists("tencentcloud_gaap_layer7_listener.foo", id, proxyId, "HTTPS"), + testAccCheckGaapLayer7ListenerExists("tencentcloud_gaap_layer7_listener.foo", id, "HTTPS"), resource.TestCheckResourceAttr("tencentcloud_gaap_layer7_listener.foo", "protocol", "HTTPS"), resource.TestCheckResourceAttr("tencentcloud_gaap_layer7_listener.foo", "name", "ci-test-gaap-l7-listener"), resource.TestCheckResourceAttr("tencentcloud_gaap_layer7_listener.foo", "port", "80"), @@ -69,28 +75,35 @@ func TestAccTencentCloudGaapLayer7Listener_https(t *testing.T) { { Config: testAccGaapLayer7ListenerHttpsUpdate, Check: resource.ComposeTestCheckFunc( - testAccCheckGaapLayer7ListenerExists("tencentcloud_gaap_layer7_listener.foo", id, proxyId, "HTTPS"), + testAccCheckGaapLayer7ListenerExists("tencentcloud_gaap_layer7_listener.foo", id, "HTTPS"), resource.TestCheckResourceAttr("tencentcloud_gaap_layer7_listener.foo", "name", "ci-test-gaap-l7-listener-new"), resource.TestCheckResourceAttrSet("tencentcloud_gaap_layer7_listener.foo", "certificate_id"), ), }, + { + ResourceName: "tencentcloud_gaap_layer7_listener.foo", + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "proxy_id", + }, + }, }, }) } func TestAccTencentCloudGaapLayer7Listener_httpsTwoWayAuthentication(t *testing.T) { id := new(string) - proxyId := new(string) resource.Test(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, Providers: testAccProviders, - CheckDestroy: testAccCheckGaapLayer7ListenerDestroy(id, proxyId, "HTTPS"), + CheckDestroy: testAccCheckGaapLayer7ListenerDestroy(id, "HTTPS"), Steps: []resource.TestStep{ { Config: testAccGaapLayer7ListenerHttpsTwoWayAuthentication, Check: resource.ComposeTestCheckFunc( - testAccCheckGaapLayer7ListenerExists("tencentcloud_gaap_layer7_listener.foo", id, proxyId, "HTTPS"), + testAccCheckGaapLayer7ListenerExists("tencentcloud_gaap_layer7_listener.foo", id, "HTTPS"), resource.TestCheckResourceAttr("tencentcloud_gaap_layer7_listener.foo", "protocol", "HTTPS"), resource.TestCheckResourceAttr("tencentcloud_gaap_layer7_listener.foo", "name", "ci-test-gaap-l7-listener"), resource.TestCheckResourceAttr("tencentcloud_gaap_layer7_listener.foo", "port", "80"), @@ -108,17 +121,16 @@ func TestAccTencentCloudGaapLayer7Listener_httpsTwoWayAuthentication(t *testing. func TestAccTencentCloudGaapLayer7Listener_httpsForwardHttps(t *testing.T) { id := new(string) - proxyId := new(string) resource.Test(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, Providers: testAccProviders, - CheckDestroy: testAccCheckGaapLayer7ListenerDestroy(id, proxyId, "HTTPS"), + CheckDestroy: testAccCheckGaapLayer7ListenerDestroy(id, "HTTPS"), Steps: []resource.TestStep{ { Config: testAccGaapLayer7ListenerHttpsForwardHttps, Check: resource.ComposeTestCheckFunc( - testAccCheckGaapLayer7ListenerExists("tencentcloud_gaap_layer7_listener.foo", id, proxyId, "HTTPS"), + testAccCheckGaapLayer7ListenerExists("tencentcloud_gaap_layer7_listener.foo", id, "HTTPS"), resource.TestCheckResourceAttr("tencentcloud_gaap_layer7_listener.foo", "protocol", "HTTPS"), resource.TestCheckResourceAttr("tencentcloud_gaap_layer7_listener.foo", "name", "ci-test-gaap-l7-listener"), resource.TestCheckResourceAttr("tencentcloud_gaap_layer7_listener.foo", "port", "80"), @@ -133,7 +145,7 @@ func TestAccTencentCloudGaapLayer7Listener_httpsForwardHttps(t *testing.T) { }) } -func testAccCheckGaapLayer7ListenerExists(n string, id, proxyId *string, protocol string) resource.TestCheckFunc { +func testAccCheckGaapLayer7ListenerExists(n string, id *string, protocol string) resource.TestCheckFunc { return func(s *terraform.State) error { rs, ok := s.RootModule().Resources[n] if !ok { @@ -144,16 +156,11 @@ func testAccCheckGaapLayer7ListenerExists(n string, id, proxyId *string, protoco return errors.New("no listener ID is set") } - attrProxyId := rs.Primary.Attributes["proxy_id"] - if attrProxyId == "" { - return errors.New("no proxy ID is set") - } - service := GaapService{client: testAccProvider.Meta().(*TencentCloudClient).apiV3Conn} switch protocol { case "HTTP": - listeners, err := service.DescribeHTTPListeners(context.TODO(), &attrProxyId, &rs.Primary.ID, nil, nil) + listeners, err := service.DescribeHTTPListeners(context.TODO(), nil, &rs.Primary.ID, nil, nil) if err != nil { return err } @@ -164,13 +171,12 @@ func testAccCheckGaapLayer7ListenerExists(n string, id, proxyId *string, protoco } if rs.Primary.ID == *l.ListenerId { *id = *l.ListenerId - *proxyId = attrProxyId break } } case "HTTPS": - listeners, err := service.DescribeHTTPSListeners(context.TODO(), &attrProxyId, &rs.Primary.ID, nil, nil) + listeners, err := service.DescribeHTTPSListeners(context.TODO(), nil, &rs.Primary.ID, nil, nil) if err != nil { return err } @@ -181,7 +187,6 @@ func testAccCheckGaapLayer7ListenerExists(n string, id, proxyId *string, protoco } if rs.Primary.ID == *l.ListenerId { *id = *l.ListenerId - *proxyId = attrProxyId break } } @@ -195,14 +200,14 @@ func testAccCheckGaapLayer7ListenerExists(n string, id, proxyId *string, protoco } } -func testAccCheckGaapLayer7ListenerDestroy(id, proxyId *string, protocol string) resource.TestCheckFunc { +func testAccCheckGaapLayer7ListenerDestroy(id *string, protocol string) resource.TestCheckFunc { return func(s *terraform.State) error { client := testAccProvider.Meta().(*TencentCloudClient).apiV3Conn service := GaapService{client: client} switch protocol { case "HTTP": - listeners, err := service.DescribeHTTPListeners(context.TODO(), proxyId, id, nil, nil) + listeners, err := service.DescribeHTTPListeners(context.TODO(), nil, id, nil, nil) if err != nil { return err } @@ -211,7 +216,7 @@ func testAccCheckGaapLayer7ListenerDestroy(id, proxyId *string, protocol string) } case "HTTPS": - listeners, err := service.DescribeHTTPSListeners(context.TODO(), proxyId, id, nil, nil) + listeners, err := service.DescribeHTTPSListeners(context.TODO(), nil, id, nil, nil) if err != nil { return err } diff --git a/website/docs/r/gaap_http_domain.html.markdown b/website/docs/r/gaap_http_domain.html.markdown index 2cc6bfc0fb..1f032096f7 100644 --- a/website/docs/r/gaap_http_domain.html.markdown +++ b/website/docs/r/gaap_http_domain.html.markdown @@ -51,3 +51,11 @@ The following arguments are supported: * `realserver_certificate_id` - (Optional) CA certificate ID of the realserver. +## Import + +GAAP http domain can be imported using the id, e.g. + +``` + $ terraform import tencentcloud_gaap_http_domain.foo listener-11112222+HTTP+www.qq.com +``` + diff --git a/website/docs/r/gaap_layer7_listener.html.markdown b/website/docs/r/gaap_layer7_listener.html.markdown index 725b0f74e3..5297b8c4a8 100644 --- a/website/docs/r/gaap_layer7_listener.html.markdown +++ b/website/docs/r/gaap_layer7_listener.html.markdown @@ -50,3 +50,11 @@ In addition to all arguments above, the following attributes are exported: * `status` - Status of the layer7 listener. +## Import + +GAAP layer7 listener can be imported using the id, e.g. + +``` + $ terraform import tencentcloud_gaap_layer7_listener.foo listener-11112222 +``` + From 7c66794052a0000b0ec5bf9e1b5199c3294f630c Mon Sep 17 00:00:00 2001 From: Sherlock Holo Date: Fri, 11 Oct 2019 10:13:07 +0800 Subject: [PATCH 2/2] docs(gaap http_domain): add http_domain id description Signed-off-by: Sherlock Holo --- tencentcloud/resource_tc_gaap_http_domain.go | 2 ++ website/docs/r/gaap_http_domain.html.markdown | 2 ++ 2 files changed, 4 insertions(+) diff --git a/tencentcloud/resource_tc_gaap_http_domain.go b/tencentcloud/resource_tc_gaap_http_domain.go index ed19e191bc..e69334aafd 100644 --- a/tencentcloud/resource_tc_gaap_http_domain.go +++ b/tencentcloud/resource_tc_gaap_http_domain.go @@ -29,6 +29,8 @@ Import GAAP http domain can be imported using the id, e.g. +-> **NOTE:** The format of tencentcloud_gaap_http_domain id is `[listener-id]+[protocol]+[domain]`. + ``` $ terraform import tencentcloud_gaap_http_domain.foo listener-11112222+HTTP+www.qq.com ``` diff --git a/website/docs/r/gaap_http_domain.html.markdown b/website/docs/r/gaap_http_domain.html.markdown index 1f032096f7..49b3c921d6 100644 --- a/website/docs/r/gaap_http_domain.html.markdown +++ b/website/docs/r/gaap_http_domain.html.markdown @@ -55,6 +55,8 @@ The following arguments are supported: GAAP http domain can be imported using the id, e.g. +-> **NOTE:** The format of tencentcloud_gaap_http_domain id is `[listener-id]+[protocol]+[domain]`. + ``` $ terraform import tencentcloud_gaap_http_domain.foo listener-11112222+HTTP+www.qq.com ```