Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit a1aaa18

Browse files
author
mikatong
committedDec 10, 2024·
support dns-validate-txt
1 parent f83afbf commit a1aaa18

19 files changed

+4055
-1248
lines changed
 

‎go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ require (
4646
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.1034
4747
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.1033
4848
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.1046
49-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1052
49+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1056
5050
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.1014
5151
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762
5252
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.692
@@ -55,7 +55,7 @@ require (
5555
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dc v1.0.633
5656
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dcdb v1.0.673
5757
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dlc v1.0.797
58-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.831
58+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.1056
5959
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/domain v1.0.414
6060
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dts v1.0.628
6161
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/eb v1.0.760

‎go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -934,6 +934,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1051 h1:3mg
934934
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1051/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
935935
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1052 h1:RCs8aH5Gy1sn4qc22KweqQE7usx1S2reyZcedo0ZXBI=
936936
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1052/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
937+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1056 h1:bOSZ7cOXvBe8MCBqDBTtpyKIqx9q6woxqIPK5M9FhNY=
938+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1056/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
937939
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993 h1:WlPgXldQCxt7qi5Xrc6j6zTrsXWzN5BcOGs7Irq7fwQ=
938940
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993/go.mod h1:Z9U8zNtyuyKhjS0698wqsrG/kLx1TQ5CEixXBwVe7xY=
939941
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860 h1:F3esKBIT3HW9+7Gt8cVgf8X06VdGIczpgLBUECzSEzU=
@@ -958,6 +960,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dlc v1.0.797 h1:6hfb2rn
958960
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dlc v1.0.797/go.mod h1:7nIkeQ6XbNx8aLuX5MxZExH0WVmQDIsHbb7Mk/JunPg=
959961
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.831 h1:i9HuRYmEzqPwExDt/hRsjP6Rw5S6aoinKzqe0OLkFQg=
960962
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.831/go.mod h1:OtG3j11r/hDfZufRkTux+XHnfHw5UGqlMgrZxtUbsSs=
963+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.1056 h1:kvJuKukDqbt1nKzaVRdcbvs3w9CoMz3V1oQp6jo3rSw=
964+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.1056/go.mod h1:TLTlcL7Dr1p0vPg0NvOi1CJEx2xG1zTlP+4k+ggxnZE=
961965
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/domain v1.0.414 h1:egwjvOEUKBaxsoRVn/YSEhp2E8qdh77Ous9A/wftDo0=
962966
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/domain v1.0.414/go.mod h1:LRWnBUNRxs/Ee8MzJJd3eHzydlqyB5qmia975Ca/Ox0=
963967
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dts v1.0.628 h1:cnhe9uh8tSyBfiPUckfqNI6t51YNZG9POupTrqWG9lM=

‎tencentcloud/provider.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -895,6 +895,7 @@ func Provider() *schema.Provider {
895895
"tencentcloud_dnspod_record_line_list": dnspod.DataSourceTencentCloudDnspodRecordLineList(),
896896
"tencentcloud_dnspod_record_list": dnspod.DataSourceTencentCloudDnspodRecordList(),
897897
"tencentcloud_dnspod_record_type": dnspod.DataSourceTencentCloudDnspodRecordType(),
898+
"tencentcloud_subdomain_validate_status": dnspod.DataSourceTencentCloudSubdomainValidateStatus(),
898899
"tencentcloud_tat_command": tat.DataSourceTencentCloudTatCommand(),
899900
"tencentcloud_tat_invoker": tat.DataSourceTencentCloudTatInvoker(),
900901
"tencentcloud_tat_invoker_records": tat.DataSourceTencentCloudTatInvokerRecords(),
@@ -1685,6 +1686,7 @@ func Provider() *schema.Provider {
16851686
"tencentcloud_dnspod_custom_line": dnspod.ResourceTencentCloudDnspodCustomLine(),
16861687
"tencentcloud_dnspod_snapshot_config": dnspod.ResourceTencentCloudDnspodSnapshotConfig(),
16871688
"tencentcloud_dnspod_domain_lock": dnspod.ResourceTencentCloudDnspodDomainLock(),
1689+
"tencentcloud_subdomain_validate_txt_value_operation": dnspod.ResourceTencentCloudSubdomainValidateTxtValueOperation(),
16881690
"tencentcloud_private_dns_zone": privatedns.ResourceTencentCloudPrivateDnsZone(),
16891691
"tencentcloud_private_dns_record": privatedns.ResourceTencentCloudPrivateDnsRecord(),
16901692
"tencentcloud_private_dns_zone_vpc_attachment": privatedns.ResourceTencentCloudPrivateDnsZoneVpcAttachment(),

‎tencentcloud/provider.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1338,6 +1338,7 @@ DNSPOD
13381338
tencentcloud_dnspod_custom_line
13391339
tencentcloud_dnspod_snapshot_config
13401340
tencentcloud_dnspod_domain_lock
1341+
tencentcloud_subdomain_validate_txt_value_operation
13411342

13421343
Data Source
13431344
tencentcloud_dnspod_records
@@ -1348,6 +1349,7 @@ DNSPOD
13481349
tencentcloud_dnspod_record_line_list
13491350
tencentcloud_dnspod_record_list
13501351
tencentcloud_dnspod_record_type
1352+
tencentcloud_subdomain_validate_status
13511353

13521354
PrivateDNS
13531355
Resource
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
package dnspod
2+
3+
import (
4+
"context"
5+
6+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
7+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
8+
9+
tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common"
10+
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper"
11+
)
12+
13+
func DataSourceTencentCloudSubdomainValidateStatus() *schema.Resource {
14+
return &schema.Resource{
15+
Read: dataSourceTencentCloudSubdomainValidateStatusRead,
16+
Schema: map[string]*schema.Schema{
17+
"domain_zone": {
18+
Type: schema.TypeString,
19+
Required: true,
20+
Description: "Zone domain for which to view the verification status of TXT records.",
21+
},
22+
23+
"status": {
24+
Type: schema.TypeInt,
25+
Computed: true,
26+
Description: "Status. 0: not ready; 1: ready.",
27+
},
28+
29+
"result_output_file": {
30+
Type: schema.TypeString,
31+
Optional: true,
32+
Description: "Used to save results.",
33+
},
34+
},
35+
}
36+
}
37+
38+
func dataSourceTencentCloudSubdomainValidateStatusRead(d *schema.ResourceData, meta interface{}) error {
39+
defer tccommon.LogElapsed("data_source.tencentcloud_subdomain_validate_status.read")()
40+
defer tccommon.InconsistentCheck(d, meta)()
41+
42+
logId := tccommon.GetLogId(tccommon.ContextNil)
43+
ctx := tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta)
44+
45+
service := DnspodService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()}
46+
47+
var (
48+
domainZone string
49+
)
50+
if v, ok := d.GetOk("domain_zone"); ok {
51+
domainZone = v.(string)
52+
}
53+
paramMap := make(map[string]interface{})
54+
if v, ok := d.GetOk("domain_zone"); ok {
55+
paramMap["DomainZone"] = helper.String(v.(string))
56+
}
57+
58+
var status int
59+
err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
60+
result, e := service.DescribeSubdomainValidateStatusByFilter(ctx, paramMap)
61+
if e != nil {
62+
return tccommon.RetryError(e)
63+
}
64+
status = result
65+
return nil
66+
})
67+
if err != nil {
68+
return err
69+
}
70+
71+
d.SetId(domainZone)
72+
_ = d.Set("status", status)
73+
74+
output, ok := d.GetOk("result_output_file")
75+
if ok && output.(string) != "" {
76+
if e := tccommon.WriteToFile(output.(string), d); e != nil {
77+
return e
78+
}
79+
}
80+
81+
return nil
82+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Use this data source to query detailed information of dnspod subdomain_validate_status
2+
3+
Example Usage
4+
5+
```hcl
6+
data "tencentcloud_subdomain_validate_status" "subdomain_validate_status" {
7+
domain_zone = "www.iac-tf.cloud"
8+
}
9+
```
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
package dnspod_test
2+
3+
import (
4+
"testing"
5+
6+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
7+
8+
tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest"
9+
)
10+
11+
func TestAccTencentCloudSubdomainValidateStatusDataSource_basic(t *testing.T) {
12+
t.Parallel()
13+
resource.Test(t, resource.TestCase{
14+
PreCheck: func() {
15+
tcacctest.AccPreCheck(t)
16+
},
17+
Providers: tcacctest.AccProviders,
18+
Steps: []resource.TestStep{{
19+
Config: testAccSubdomainValidateStatusDataSource,
20+
Check: resource.ComposeTestCheckFunc(
21+
tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_subdomain_validate_status.subdomain_validate_status"),
22+
resource.TestCheckResourceAttr("data.tencentcloud_subdomain_validate_status.subdomain_validate_status", "status", "1"),
23+
),
24+
}},
25+
})
26+
}
27+
28+
func TestAccTencentCloudSubdomainValidateStatusDataSource_notReady(t *testing.T) {
29+
t.Parallel()
30+
resource.Test(t, resource.TestCase{
31+
PreCheck: func() {
32+
tcacctest.AccPreCheck(t)
33+
},
34+
Providers: tcacctest.AccProviders,
35+
Steps: []resource.TestStep{{
36+
Config: testAccSubdomainValidateStatusDataSourceNotReady,
37+
Check: resource.ComposeTestCheckFunc(
38+
tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_subdomain_validate_status.subdomain_validate_status"),
39+
resource.TestCheckResourceAttr("data.tencentcloud_subdomain_validate_status.subdomain_validate_status", "status", "0"),
40+
),
41+
}},
42+
})
43+
}
44+
45+
const testAccSubdomainValidateStatusDataSource = `
46+
data "tencentcloud_subdomain_validate_status" "subdomain_validate_status" {
47+
domain_zone = "www.iac-tf.cloud"
48+
}
49+
`
50+
51+
const testAccSubdomainValidateStatusDataSourceNotReady = `
52+
data "tencentcloud_subdomain_validate_status" "subdomain_validate_status" {
53+
domain_zone = "www.iac-tf.com"
54+
}
55+
`
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
package dnspod
2+
3+
import (
4+
"context"
5+
"log"
6+
7+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
8+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
9+
dnspod "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod/v20210323"
10+
11+
tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common"
12+
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper"
13+
)
14+
15+
func ResourceTencentCloudSubdomainValidateTxtValueOperation() *schema.Resource {
16+
return &schema.Resource{
17+
Create: resourceTencentCloudSubdomainValidateTxtValueOperationCreate,
18+
Read: resourceTencentCloudSubdomainValidateTxtValueOperationRead,
19+
Delete: resourceTencentCloudSubdomainValidateTxtValueOperationDelete,
20+
Schema: map[string]*schema.Schema{
21+
"domain_zone": {
22+
Type: schema.TypeString,
23+
Required: true,
24+
ForceNew: true,
25+
Description: "The subdomain to add Zone domain.",
26+
},
27+
"domain": {
28+
Type: schema.TypeString,
29+
Computed: true,
30+
Description: "The domain name for which TXT records need to be added.",
31+
},
32+
"subdomain": {
33+
Type: schema.TypeString,
34+
Computed: true,
35+
Description: "Host records that need to be added to TXT records.",
36+
},
37+
"record_type": {
38+
Type: schema.TypeString,
39+
Computed: true,
40+
Description: "Record types need to be added.",
41+
},
42+
"value": {
43+
Type: schema.TypeString,
44+
Computed: true,
45+
Description: "The record value of the TXT record needs to be added.",
46+
},
47+
},
48+
}
49+
}
50+
51+
func resourceTencentCloudSubdomainValidateTxtValueOperationCreate(d *schema.ResourceData, meta interface{}) error {
52+
defer tccommon.LogElapsed("resource.tencentcloud_subdomain_validate_txt_value_operation.create")()
53+
defer tccommon.InconsistentCheck(d, meta)()
54+
55+
logId := tccommon.GetLogId(tccommon.ContextNil)
56+
57+
ctx := tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta)
58+
59+
var (
60+
domainZone string
61+
)
62+
var (
63+
request = dnspod.NewCreateSubdomainValidateTXTValueRequest()
64+
response = dnspod.NewCreateSubdomainValidateTXTValueResponse()
65+
)
66+
67+
if v, ok := d.GetOk("domain_zone"); ok {
68+
domainZone = v.(string)
69+
}
70+
71+
request.DomainZone = helper.String(domainZone)
72+
73+
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
74+
result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseDnsPodClient().CreateSubdomainValidateTXTValueWithContext(ctx, request)
75+
if e != nil {
76+
return tccommon.RetryError(e)
77+
} else {
78+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
79+
}
80+
response = result
81+
return nil
82+
})
83+
if err != nil {
84+
log.Printf("[CRITAL]%s create subdomain validate txt value operation failed, reason:%+v", logId, err)
85+
return err
86+
}
87+
88+
if response.Response != nil {
89+
if response.Response.Domain != nil {
90+
_ = d.Set("domain", response.Response.Domain)
91+
}
92+
if response.Response.Domain != nil {
93+
_ = d.Set("subdomain", response.Response.Subdomain)
94+
}
95+
if response.Response.Domain != nil {
96+
_ = d.Set("record_type", response.Response.RecordType)
97+
}
98+
if response.Response.Domain != nil {
99+
_ = d.Set("value", response.Response.Value)
100+
}
101+
}
102+
103+
_ = response
104+
105+
d.SetId(domainZone)
106+
107+
return resourceTencentCloudSubdomainValidateTxtValueOperationRead(d, meta)
108+
}
109+
110+
func resourceTencentCloudSubdomainValidateTxtValueOperationRead(d *schema.ResourceData, meta interface{}) error {
111+
defer tccommon.LogElapsed("resource.tencentcloud_subdomain_validate_txt_value_operation.read")()
112+
defer tccommon.InconsistentCheck(d, meta)()
113+
114+
return nil
115+
}
116+
117+
func resourceTencentCloudSubdomainValidateTxtValueOperationDelete(d *schema.ResourceData, meta interface{}) error {
118+
defer tccommon.LogElapsed("resource.tencentcloud_subdomain_validate_txt_value_operation.delete")()
119+
defer tccommon.InconsistentCheck(d, meta)()
120+
121+
return nil
122+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Provides a resource to create a dnspod subdomain_validate_txt_value_operation
2+
3+
Example Usage
4+
5+
```hcl
6+
resource "tencentcloud_subdomain_validate_txt_value_operation" "subdomain_validate_txt_value_operation" {
7+
domain_zone = "www.iac-tf.cloud"
8+
}
9+
```
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package dnspod_test
2+
3+
import (
4+
"testing"
5+
6+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
7+
8+
tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest"
9+
)
10+
11+
func TestAccTencentCloudSubdomainValidateTxtValueOperationResource_basic(t *testing.T) {
12+
t.Parallel()
13+
resource.Test(t, resource.TestCase{
14+
PreCheck: func() {
15+
tcacctest.AccPreCheck(t)
16+
},
17+
Providers: tcacctest.AccProviders,
18+
Steps: []resource.TestStep{
19+
{
20+
Config: testAccSubdomainValidateTxtValueOperation,
21+
Check: resource.ComposeTestCheckFunc(
22+
resource.TestCheckResourceAttrSet("tencentcloud_subdomain_validate_txt_value_operation.subdomain_validate_txt_value_operation", "id"),
23+
resource.TestCheckResourceAttr("tencentcloud_subdomain_validate_txt_value_operation.subdomain_validate_txt_value_operation", "domain", "iac-tf.cloud"),
24+
resource.TestCheckResourceAttr("tencentcloud_subdomain_validate_txt_value_operation.subdomain_validate_txt_value_operation", "domain_zone", "www.iac-tf.cloud"),
25+
resource.TestCheckResourceAttr("tencentcloud_subdomain_validate_txt_value_operation.subdomain_validate_txt_value_operation", "record_type", "TXT"),
26+
resource.TestCheckResourceAttrSet("tencentcloud_subdomain_validate_txt_value_operation.subdomain_validate_txt_value_operation", "subdomain"),
27+
resource.TestCheckResourceAttrSet("tencentcloud_subdomain_validate_txt_value_operation.subdomain_validate_txt_value_operation", "value"),
28+
),
29+
},
30+
},
31+
})
32+
}
33+
34+
const testAccSubdomainValidateTxtValueOperation = `
35+
resource "tencentcloud_subdomain_validate_txt_value_operation" "subdomain_validate_txt_value_operation" {
36+
domain_zone = "www.iac-tf.cloud"
37+
}
38+
`

‎tencentcloud/services/dnspod/service_tencentcloud_dnspod.go

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,13 @@ import (
1010
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper"
1111

1212
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
13+
sdkErrors "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors"
1314
dnspod "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod/v20210323"
1415

1516
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/connectivity"
1617
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/ratelimit"
1718
)
1819

19-
// basic information
20-
2120
func NewDnspodService(client *connectivity.TencentCloudClient) DnspodService {
2221
return DnspodService{client: client}
2322
}
@@ -795,3 +794,39 @@ func (me *DnspodService) DescribeDnspodSnapshotConfigById(ctx context.Context, d
795794
snapshotConfig = response.Response.SnapshotConfig
796795
return
797796
}
797+
798+
func (me *DnspodService) DescribeSubdomainValidateStatusByFilter(ctx context.Context, param map[string]interface{}) (status int, errRet error) {
799+
var (
800+
logId = tccommon.GetLogId(ctx)
801+
request = dnspod.NewDescribeSubdomainValidateStatusRequest()
802+
)
803+
804+
defer func() {
805+
if errRet != nil {
806+
log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", logId, request.GetAction(), request.ToJsonString(), errRet.Error())
807+
}
808+
}()
809+
810+
for k, v := range param {
811+
if k == "DomainZone" {
812+
request.DomainZone = v.(*string)
813+
}
814+
}
815+
816+
ratelimit.Check(request.GetAction())
817+
818+
response, err := me.client.UseDnsPodClient().DescribeSubdomainValidateStatus(request)
819+
if err != nil {
820+
if sdkerr, ok := err.(*sdkErrors.TencentCloudSDKError); ok {
821+
if sdkerr.Code == "InvalidParameter.QuhuiTxtNotMatch" || sdkerr.Code == "InvalidParameter.QuhuiTxtRecordWait" {
822+
status = 0
823+
return
824+
}
825+
}
826+
errRet = err
827+
return
828+
}
829+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
830+
status = 1
831+
return
832+
}

‎vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod/v20210323/client.go

Lines changed: 1324 additions & 66 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod/v20210323/errors.go

Lines changed: 60 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod/v20210323/models.go

Lines changed: 2227 additions & 1172 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎vendor/modules.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1163,7 +1163,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319
11631163
# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.1046
11641164
## explicit; go 1.14
11651165
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls/v20201016
1166-
# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1052
1166+
# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1056
11671167
## explicit; go 1.11
11681168
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common
11691169
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors
@@ -1204,7 +1204,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dcdb/v20180411
12041204
# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dlc v1.0.797
12051205
## explicit; go 1.14
12061206
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dlc/v20210125
1207-
# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.831
1207+
# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.1056
12081208
## explicit; go 1.14
12091209
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod/v20210323
12101210
# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/domain v1.0.414
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
subcategory: "DNSPOD"
3+
layout: "tencentcloud"
4+
page_title: "TencentCloud: tencentcloud_subdomain_validate_status"
5+
sidebar_current: "docs-tencentcloud-datasource-subdomain_validate_status"
6+
description: |-
7+
Use this data source to query detailed information of dnspod subdomain_validate_status
8+
---
9+
10+
# tencentcloud_subdomain_validate_status
11+
12+
Use this data source to query detailed information of dnspod subdomain_validate_status
13+
14+
## Example Usage
15+
16+
```hcl
17+
data "tencentcloud_subdomain_validate_status" "subdomain_validate_status" {
18+
domain_zone = "www.iac-tf.cloud"
19+
}
20+
```
21+
22+
## Argument Reference
23+
24+
The following arguments are supported:
25+
26+
* `domain_zone` - (Required, String) Zone domain for which to view the verification status of TXT records.
27+
* `result_output_file` - (Optional, String) Used to save results.
28+
29+
## Attributes Reference
30+
31+
In addition to all arguments above, the following attributes are exported:
32+
33+
* `status` - Status. 0: not ready; 1: ready.
34+
35+
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
subcategory: "DNSPOD"
3+
layout: "tencentcloud"
4+
page_title: "TencentCloud: tencentcloud_subdomain_validate_txt_value_operation"
5+
sidebar_current: "docs-tencentcloud-resource-subdomain_validate_txt_value_operation"
6+
description: |-
7+
Provides a resource to create a dnspod subdomain_validate_txt_value_operation
8+
---
9+
10+
# tencentcloud_subdomain_validate_txt_value_operation
11+
12+
Provides a resource to create a dnspod subdomain_validate_txt_value_operation
13+
14+
## Example Usage
15+
16+
```hcl
17+
resource "tencentcloud_subdomain_validate_txt_value_operation" "subdomain_validate_txt_value_operation" {
18+
domain_zone = "www.iac-tf.cloud"
19+
}
20+
```
21+
22+
## Argument Reference
23+
24+
The following arguments are supported:
25+
26+
* `domain_zone` - (Required, String, ForceNew) The subdomain to add Zone domain.
27+
28+
## Attributes Reference
29+
30+
In addition to all arguments above, the following attributes are exported:
31+
32+
* `id` - ID of the resource.
33+
* `domain` - The domain name for which TXT records need to be added.
34+
* `record_type` - Record types need to be added.
35+
* `subdomain` - Host records that need to be added to TXT records.
36+
* `value` - The record value of the TXT record needs to be added.
37+
38+

‎website/tencentcloud.erb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2120,6 +2120,9 @@
21202120
<li>
21212121
<a href="/docs/providers/tencentcloud/d/dnspod_records.html">tencentcloud_dnspod_records</a>
21222122
</li>
2123+
<li>
2124+
<a href="/docs/providers/tencentcloud/d/subdomain_validate_status.html">tencentcloud_subdomain_validate_status</a>
2125+
</li>
21232126
</ul>
21242127
</li>
21252128
<li>
@@ -2155,6 +2158,9 @@
21552158
<li>
21562159
<a href="/docs/providers/tencentcloud/r/dnspod_snapshot_config.html">tencentcloud_dnspod_snapshot_config</a>
21572160
</li>
2161+
<li>
2162+
<a href="/docs/providers/tencentcloud/r/subdomain_validate_txt_value_operation.html">tencentcloud_subdomain_validate_txt_value_operation</a>
2163+
</li>
21582164
</ul>
21592165
</li>
21602166
</ul>

0 commit comments

Comments
 (0)
Please sign in to comment.