Skip to content

Commit 7018307

Browse files
authored
feat(cdc): [118298120] add new resource and data source (#2737)
* add * add * add * add * add * add * add
1 parent 51ef709 commit 7018307

34 files changed

+6774
-14
lines changed

.changelog/2737.txt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
```release-note:new-resource
2+
tencentcloud_cdc_site
3+
```
4+
5+
```release-note:new-resource
6+
tencentcloud_cdc_dedicated_cluster
7+
```
8+
9+
```release-note:new-data-source
10+
tencentcloud_cdc_dedicated_cluster_hosts
11+
```
12+
13+
```release-note:new-data-source
14+
tencentcloud_cdc_dedicated_cluster_instance_types
15+
```
16+
17+
```release-note:new-data-source
18+
tencentcloud_cdc_dedicated_cluster_orders
19+
```

go.mod

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ require (
4545
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.748
4646
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.961
4747
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544
48-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.962
49-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.967
48+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.970
49+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.970
5050
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.960
5151
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762
5252
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.692
@@ -61,7 +61,7 @@ require (
6161
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/eb v1.0.760
6262
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/emr v1.0.811
6363
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/es v1.0.777
64-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/gaap v1.0.967
64+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/gaap v1.0.970
6565
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms v1.0.563
6666
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/lighthouse v1.0.729
6767
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/live v1.0.777
@@ -107,9 +107,10 @@ require (
107107

108108
require (
109109
github.com/hashicorp/go-uuid v1.0.3
110+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdc v1.0.970
110111
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwpg v1.0.772
111112
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860
112-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dasb v1.0.964
113+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dasb v1.0.970
113114
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/oceanus v1.0.831
114115
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/region v1.0.920
115116
github.com/wI2L/jsondiff v0.3.0

go.sum

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -838,6 +838,10 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs v1.0.591 h1:TPGLjH6
838838
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs v1.0.591/go.mod h1:nCAGfVTXZkVnurkbjF3b0FM6RwGztE9t8D9Ms1unaKo=
839839
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb v1.0.800 h1:VnnmCIaAXU7t0uwNtaLs990V7+V7/7viMpOytOT6GOE=
840840
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb v1.0.800/go.mod h1:8wiecMvcwN6785rTWLJmdm/Y7u1DjFmqI/iqiWwpm5o=
841+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdc v1.0.967 h1:+05iVbm200Dh1td+apCB/aX2w97TvmcSlpECkaL53Bw=
842+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdc v1.0.967/go.mod h1:JzIWhJtlitR2S92TMXikPAOQlC8smQrMbU2Y8NBzRk8=
843+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdc v1.0.970 h1:0A6PwOaUeLtm4U5TR1uD91ETBgDcnfqFnsG9mwCNvlY=
844+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdc v1.0.970/go.mod h1:H4k8QCKds731GA9pmSOfHJ99ZOZhy+gKvX1/N2DOsQQ=
841845
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.0.539 h1:0L6nZhT2bToTc/n1z3HOpNgdu5VX5ulmqIuPY+8UozA=
842846
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.0.539/go.mod h1:6Syk7W5fdDf0BLvX+RXL5obQ6unkt3Id4aN2QqVrV6U=
843847
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwch v1.0.843 h1:3Xr3UPscUfi5jAzCtwQjDfDf4TPsbUxsCrDdHo6xIRI=
@@ -868,6 +872,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.952 h1:+4g+Wp3
868872
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.952/go.mod h1:OW+FNkQgeQTesREQ7iPA4g9V81cEb/NcWSYO6bYe2Qo=
869873
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.962 h1:rkceP3tcjU0BCh9xloqZ5cuzDXP327YlQgWHXEaVgns=
870874
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.962/go.mod h1:OEg00w6fKlT/3Q/4UI13P5kEJU2IvZm3XMZGUYEKPPs=
875+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.970 h1:PfyFPicGDDDc23id+sXh5vF0sbFpCPulzgLhqqVdp9M=
876+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.970/go.mod h1:VVMyTwJWyP+XVS9OK1y4tJV4XMXZgnKHl+Fg8r0Jf1Q=
871877
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.414/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
872878
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.486/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
873879
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.524/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
@@ -956,14 +962,14 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.963 h1:lUVC
956962
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.963/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
957963
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.964 h1:ET3EulYQvWrdD5FNwOP+196w5Vbniy/uRGucM5ILExQ=
958964
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.964/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
959-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.967 h1:ui73H/2pKk2aDCxaBCLAeMB3JlNgdCkn0nx1x0pqvf0=
960-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.967/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
961965
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.959 h1:GZUqSDQkttkhH2hxWNj5apDo1/YhQwML0Q68wW60LSA=
962966
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.959/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
963967
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.960 h1:hde8uWA3624nGUvC8QPf9njcyBZ7A9weqscRrqyM1Rk=
964968
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.960/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
965969
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.961 h1:UqinjIsO+Y48BQYSxrD6aHQe8SD+Wsbvj+jU9V9VvWM=
966970
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.961/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
971+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.970 h1:IsF+IWWOfzhbyxP1jFYU3w4kZXWfDH4QaNLXgIy3Sgg=
972+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.970/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
967973
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860 h1:F3esKBIT3HW9+7Gt8cVgf8X06VdGIczpgLBUECzSEzU=
968974
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860/go.mod h1:NZo1WplQcC314kMlCRUoy8NQju2BnolIJj7NAWgsuhY=
969975
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624 h1:nEZqsoqt1pEoaP9JjkHQy3/H00suCfzlHW1qOm2nYD8=
@@ -980,6 +986,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dasb v1.0.798 h1:8FQbCE
980986
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dasb v1.0.798/go.mod h1:ch3pOoPfIs0i+l8qV5yO+Tpk45ubgdltYF/0MfDk4YA=
981987
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dasb v1.0.964 h1:GLUcK8t83ay4+W90gWCl4mMDcwbWiF8VHw7iOhzQ1ZM=
982988
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dasb v1.0.964/go.mod h1:EErTkW1DHjRtNTlhBmXm+y3plwYreiwoi9o/YEAUNXc=
989+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dasb v1.0.970 h1:qVIRHgG1twsqF4aVN/x2T2yMRfPpsZBTNefDkqzM06M=
990+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dasb v1.0.970/go.mod h1:NJuuQD4z6vcnsZnC7Tvz2U9hElNS1wroc34UQbZvP2U=
983991
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.335 h1:D8qrelkK5udv8RzJJIABMzItGIyaZoYnxEVeIsYqiNw=
984992
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.335/go.mod h1:pz4s3nOhoB9cY0+uWzifuwr7lfh/Gvi1rv0ADxpPzD4=
985993
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dbbrain v1.0.652 h1:agjXNi5342DaL0TzRx1FjFlT+9VU2l6aN0yERmxiLLc=
@@ -1006,6 +1014,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/gaap v1.0.771 h1:hdd41T
10061014
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/gaap v1.0.771/go.mod h1:SzBYz5GyZvZlBHLhKKQ7X/1YaJu73ehlJRx4WK/V7hQ=
10071015
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/gaap v1.0.967 h1:zV/M+XqJjSn5uqTd4gWsEFPhMOgEaRgDPUB5obel9Qk=
10081016
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/gaap v1.0.967/go.mod h1:d2Rx/0LqYx5fQbGkpen6D27CRKHvxdng8vSeKIJ5ZZU=
1017+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/gaap v1.0.970 h1:Z82LbcEnE2m4CGvcOY024N7REhAN++xdEyE88HG2YBA=
1018+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/gaap v1.0.970/go.mod h1:qnOT3rycGxlNy4/gmprV58Uqd9CKLUr2CL235R1AvuQ=
10091019
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms v1.0.563 h1:FoX+MK4vHThvPO6FbP5q98zD8S3n+d5+DbtK7skl++c=
10101020
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms v1.0.563/go.mod h1:uom4Nvi9W+Qkom0exYiJ9VWJjXwyxtPYTkKkaLMlfE0=
10111021
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/lighthouse v1.0.729 h1:WQpzm3x27Jo/5uh6/Yqe/gbJ7r2ui9hc9ST7Ml2eP9Y=

tencentcloud/connectivity/client.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import (
99
"strconv"
1010
"time"
1111

12+
cdc "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdc/v20201214"
13+
1214
csip "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip/v20221121"
1315
cos "github.com/tencentyun/cos-go-sdk-v5"
1416

@@ -208,6 +210,7 @@ type TencentCloudClient struct {
208210
//internal version: replace client begin, please do not modify this annotation and refrain from inserting any code between the beginning and end lines of the annotation.
209211
//internal version: replace client end, please do not modify this annotation and refrain from inserting any code between the beginning and end lines of the annotation.
210212
tke2Conn *tke2.Client
213+
cdcConn *cdc.Client
211214
//omit nil client
212215
omitNilConn *common.Client
213216
}
@@ -1612,3 +1615,16 @@ func (me *TencentCloudClient) UseTke2Client(iacExtInfo ...IacExtInfo) *tke2.Clie
16121615

16131616
return me.tke2Conn
16141617
}
1618+
1619+
// UseCdcClient returns tem client for service
1620+
func (me *TencentCloudClient) UseCdcClient() *cdc.Client {
1621+
if me.cdcConn != nil {
1622+
return me.cdcConn
1623+
}
1624+
1625+
cpf := me.NewClientProfile(300)
1626+
me.cdcConn, _ = cdc.NewClient(me.Credential, me.Region, cpf)
1627+
me.cdcConn.WithHttpTransport(&LogRoundTripper{})
1628+
1629+
return me.cdcConn
1630+
}

tencentcloud/provider.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ import (
3333
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/cbs"
3434
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/ccn"
3535
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/cdb"
36+
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/cdc"
3637
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/cdh"
3738
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/cdn"
3839
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/cdwch"
@@ -989,7 +990,11 @@ func Provider() *schema.Provider {
989990
"tencentcloud_clickhouse_instance_shards": cdwch.DataSourceTencentCloudClickhouseInstanceShards(),
990991
"tencentcloud_clickhouse_instance_nodes": cdwch.DataSourceTencentCloudClickhouseInstanceNodes(),
991992
"tencentcloud_organization_org_share_area": tco.DataSourceTencentCloudOrganizationOrgShareArea(),
992-
"tencentcloud_kubernetes_cluster_native_node_pools": tke.DataSourceTencentCloudKubernetesClusterNativeNodePools()},
993+
"tencentcloud_kubernetes_cluster_native_node_pools": tke.DataSourceTencentCloudKubernetesClusterNativeNodePools(),
994+
"tencentcloud_cdc_dedicated_cluster_hosts": cdc.DataSourceTencentCloudCdcDedicatedClusterHosts(),
995+
"tencentcloud_cdc_dedicated_cluster_instance_types": cdc.DataSourceTencentCloudCdcDedicatedClusterInstanceTypes(),
996+
"tencentcloud_cdc_dedicated_cluster_orders": cdc.DataSourceTencentCloudCdcDedicatedClusterOrders(),
997+
},
993998

994999
ResourcesMap: map[string]*schema.Resource{
9951000
"tencentcloud_project": project.ResourceTencentCloudProject(),
@@ -1986,7 +1991,10 @@ func Provider() *schema.Provider {
19861991
"tencentcloud_organization_org_share_unit": tco.ResourceTencentCloudOrganizationOrgShareUnit(),
19871992
"tencentcloud_kubernetes_addon": tke.ResourceTencentCloudKubernetesAddon(),
19881993
"tencentcloud_kubernetes_addon_config": tke.ResourceTencentCloudKubernetesAddonConfig(),
1989-
"tencentcloud_kubernetes_native_node_pool": tke.ResourceTencentCloudKubernetesNativeNodePool()},
1994+
"tencentcloud_kubernetes_native_node_pool": tke.ResourceTencentCloudKubernetesNativeNodePool(),
1995+
"tencentcloud_cdc_site": cdc.ResourceTencentCloudCdcSite(),
1996+
"tencentcloud_cdc_dedicated_cluster": cdc.ResourceTencentCloudCdcDedicatedCluster(),
1997+
},
19901998

19911999
ConfigureFunc: providerConfigure,
19922000
}

tencentcloud/provider.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2146,4 +2146,15 @@ CDWPG
21462146

21472147
CSIP
21482148
Resource
2149-
tencentcloud_csip_risk_center
2149+
tencentcloud_csip_risk_center
2150+
2151+
CDC
2152+
Data Source
2153+
tencentcloud_cdc_dedicated_cluster_hosts
2154+
tencentcloud_cdc_dedicated_cluster_instance_types
2155+
tencentcloud_cdc_dedicated_cluster_orders
2156+
2157+
Resource
2158+
tencentcloud_cdc_site
2159+
tencentcloud_cdc_dedicated_cluster
2160+
Lines changed: 193 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
package cdc
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+
cdc "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdc/v20201214"
9+
tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common"
10+
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper"
11+
)
12+
13+
func DataSourceTencentCloudCdcDedicatedClusterHosts() *schema.Resource {
14+
return &schema.Resource{
15+
Read: DataSourceTencentCloudCdcDedicatedClusterHostsRead,
16+
Schema: map[string]*schema.Schema{
17+
"dedicated_cluster_id": {
18+
Required: true,
19+
Type: schema.TypeString,
20+
Description: "Dedicated Cluster ID.",
21+
},
22+
// computed
23+
"host_info_set": {
24+
Computed: true,
25+
Type: schema.TypeList,
26+
Description: "Dedicated Cluster Host Info.",
27+
Elem: &schema.Resource{
28+
Schema: map[string]*schema.Schema{
29+
"host_ip": {
30+
Type: schema.TypeString,
31+
Computed: true,
32+
Description: "Dedicated Cluster Host Ip (Deprecated).",
33+
},
34+
"service_type": {
35+
Type: schema.TypeString,
36+
Computed: true,
37+
Description: "Dedicated Cluster Service Type.",
38+
},
39+
"host_status": {
40+
Type: schema.TypeString,
41+
Computed: true,
42+
Description: "Dedicated Cluster Host Status.",
43+
},
44+
"host_type": {
45+
Type: schema.TypeString,
46+
Computed: true,
47+
Description: "Dedicated Cluster Host Type.",
48+
},
49+
"cpu_available": {
50+
Type: schema.TypeInt,
51+
Computed: true,
52+
Description: "Dedicated Cluster Host CPU Available Count.",
53+
},
54+
"cpu_total": {
55+
Type: schema.TypeInt,
56+
Computed: true,
57+
Description: "Dedicated Cluster Host CPU Total Count.",
58+
},
59+
"mem_available": {
60+
Type: schema.TypeInt,
61+
Computed: true,
62+
Description: "Dedicated Cluster Host Memory Available Count (GB).",
63+
},
64+
"mem_total": {
65+
Type: schema.TypeInt,
66+
Computed: true,
67+
Description: "Dedicated Cluster Host Memory Total Count (GB).",
68+
},
69+
"run_time": {
70+
Type: schema.TypeString,
71+
Computed: true,
72+
Description: "Dedicated Cluster Host Run Time.",
73+
},
74+
"expire_time": {
75+
Type: schema.TypeString,
76+
Computed: true,
77+
Description: "Dedicated Cluster Host Expire Time.",
78+
},
79+
"host_id": {
80+
Type: schema.TypeString,
81+
Computed: true,
82+
Description: "Dedicated Cluster Host ID.",
83+
},
84+
},
85+
},
86+
},
87+
"result_output_file": {
88+
Type: schema.TypeString,
89+
Optional: true,
90+
Description: "Used to save results.",
91+
},
92+
},
93+
}
94+
}
95+
96+
func DataSourceTencentCloudCdcDedicatedClusterHostsRead(d *schema.ResourceData, meta interface{}) error {
97+
defer tccommon.LogElapsed("data_source.tencentcloud_cdc_dedicated_cluster_hosts.read")()
98+
defer tccommon.InconsistentCheck(d, meta)()
99+
100+
var (
101+
logId = tccommon.GetLogId(tccommon.ContextNil)
102+
ctx = context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
103+
service = CdcService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()}
104+
hostInfoSet []*cdc.HostInfo
105+
)
106+
107+
paramMap := make(map[string]interface{})
108+
if v, ok := d.GetOk("dedicated_cluster_id"); ok {
109+
paramMap["DedicatedClusterId"] = helper.String(v.(string))
110+
}
111+
112+
err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
113+
result, e := service.DescribeCdcHostByFilter(ctx, paramMap)
114+
if e != nil {
115+
return tccommon.RetryError(e)
116+
}
117+
118+
hostInfoSet = result
119+
return nil
120+
})
121+
122+
if err != nil {
123+
return err
124+
}
125+
126+
ids := make([]string, 0, len(hostInfoSet))
127+
tmpList := make([]map[string]interface{}, 0, len(hostInfoSet))
128+
129+
if hostInfoSet != nil {
130+
for _, hostInfo := range hostInfoSet {
131+
hostInfoMap := map[string]interface{}{}
132+
133+
if hostInfo.HostIp != nil {
134+
hostInfoMap["host_ip"] = hostInfo.HostIp
135+
}
136+
137+
if hostInfo.ServiceType != nil {
138+
hostInfoMap["service_type"] = hostInfo.ServiceType
139+
}
140+
141+
if hostInfo.HostStatus != nil {
142+
hostInfoMap["host_status"] = hostInfo.HostStatus
143+
}
144+
145+
if hostInfo.HostType != nil {
146+
hostInfoMap["host_type"] = hostInfo.HostType
147+
}
148+
149+
if hostInfo.CpuAvailable != nil {
150+
hostInfoMap["cpu_available"] = hostInfo.CpuAvailable
151+
}
152+
153+
if hostInfo.CpuTotal != nil {
154+
hostInfoMap["cpu_total"] = hostInfo.CpuTotal
155+
}
156+
157+
if hostInfo.MemAvailable != nil {
158+
hostInfoMap["mem_available"] = hostInfo.MemAvailable
159+
}
160+
161+
if hostInfo.MemTotal != nil {
162+
hostInfoMap["mem_total"] = hostInfo.MemTotal
163+
}
164+
165+
if hostInfo.RunTime != nil {
166+
hostInfoMap["run_time"] = hostInfo.RunTime
167+
}
168+
169+
if hostInfo.ExpireTime != nil {
170+
hostInfoMap["expire_time"] = hostInfo.ExpireTime
171+
}
172+
173+
if hostInfo.HostId != nil {
174+
hostInfoMap["host_id"] = hostInfo.HostId
175+
}
176+
177+
ids = append(ids)
178+
tmpList = append(tmpList, hostInfoMap)
179+
}
180+
181+
_ = d.Set("host_info_set", tmpList)
182+
}
183+
184+
d.SetId(helper.DataResourceIdsHash(ids))
185+
output, ok := d.GetOk("result_output_file")
186+
if ok && output.(string) != "" {
187+
if e := tccommon.WriteToFile(output.(string), tmpList); e != nil {
188+
return e
189+
}
190+
}
191+
192+
return nil
193+
}
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 CDC dedicated cluster hosts
2+
3+
Example Usage
4+
5+
```hcl
6+
data "tencentcloud_cdc_dedicated_cluster_hosts" "hosts" {
7+
dedicated_cluster_id = "cluster-262n63e8"
8+
}
9+
```

0 commit comments

Comments
 (0)