Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 4784c55

Browse files
feat(wedata): [127477929] add new resource (#3549)
* add * add * add * add * add * add * add
1 parent 6cdcabe commit 4784c55

File tree

55 files changed

+5290
-129
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+5290
-129
lines changed

‎.changelog/3549.txt‎

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
```release-note:new-data-source
2+
tencentcloud_wedata_projects
3+
```
4+
5+
```release-note:new-data-source
6+
tencentcloud_wedata_data_sources
7+
```
8+
9+
```release-note:new-data-source
10+
tencentcloud_wedata_project_roles
11+
```
12+
13+
```release-note:new-data-source
14+
tencentcloud_wedata_tenant_roles
15+
```
16+
17+
```release-note:new-data-source
18+
tencentcloud_wedata_resource_group_metrics
19+
```
20+
21+
```release-note:new-resource
22+
tencentcloud_wedata_project
23+
```
24+
25+
```release-note:new-resource
26+
tencentcloud_wedata_project_member
27+
```

‎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.1107
4747
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.1033
4848
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.1148
49-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.40
49+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.42
5050
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.1206
5151
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762
5252
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.1161
@@ -98,7 +98,7 @@ require (
9898
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.860
9999
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.1.14
100100
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.0.1170
101-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata v1.1.40
101+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata v1.1.42
102102
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wss v1.0.199
103103
github.com/tencentyun/cos-go-sdk-v5 v0.7.66
104104
github.com/yangwenmai/ratelimit v0.0.0-20180104140304-44221c2292e1

‎go.sum‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -957,8 +957,12 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.35 h1:gcnqn
957957
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.35/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
958958
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.36 h1:9zBwuj7prOhpObcw8idPnTn78TbNeK2RfAYoUaB6O/o=
959959
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.36/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
960+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.39 h1:D7qtbjv0+L8r+Wrenk+SAsAwLVPRUkePROGWUrZY5QE=
961+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.39/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
960962
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.40 h1:mNP6SgjUucirQfsAtChZ0bG6Cd2XcgJvHXW8IaChxtM=
961963
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.40/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
964+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.42 h1:zOTQCji3vmxrZPkDPfqs2cklL0ZwZYABvWPdm1NQ9lk=
965+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.42/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
962966
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993 h1:WlPgXldQCxt7qi5Xrc6j6zTrsXWzN5BcOGs7Irq7fwQ=
963967
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993/go.mod h1:Z9U8zNtyuyKhjS0698wqsrG/kLx1TQ5CEixXBwVe7xY=
964968
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860 h1:F3esKBIT3HW9+7Gt8cVgf8X06VdGIczpgLBUECzSEzU=
@@ -1092,8 +1096,12 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata v1.0.792 h1:NLgK
10921096
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata v1.0.792/go.mod h1:Xz6vPV3gHlzPwtEcmWdWO1EUXJDgn2p7UMCXbJiVioQ=
10931097
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata v1.1.31 h1:5mDWm86NA0etP4ictillWtZgyCHiK9hpCmj+qEYeowc=
10941098
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata v1.1.31/go.mod h1:+DhuFrNBquvUs+QSbtVMe1tzJZq5donfipnzo3Luo9Y=
1099+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata v1.1.39 h1:24yWzFxh/KW9CvYv9MLVFyUOIR6xqzO4meXGsP5t8Jo=
1100+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata v1.1.39/go.mod h1:32C+QaoFmT1pvuIv1bkPi8Nc0f5btvMgzwX5AGwG74M=
10951101
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata v1.1.40 h1:ZHESnPRiyV9+HYSArZKPmliSjy85/El899LKGSsyxSw=
10961102
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata v1.1.40/go.mod h1:ROVq1WJulfJonhjNE6olW+xEBHPxqgAoYhpMZ7gFHO8=
1103+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata v1.1.42 h1:UccqwoaGyksPVmFyCFOWLCpLJqpcLFvG/9KnZne2zR8=
1104+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata v1.1.42/go.mod h1:w5V5Vo3d+7UVFIEq3crWPb7tElu2TaG23u+Fq/eo26w=
10971105
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wss v1.0.199 h1:hMBLtiJPnZ9GvA677cTB6ELBR6B68wCR2QY1sNoGQc4=
10981106
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wss v1.0.199/go.mod h1:nnY91/H3j/Gu7V/oCA6Zeg8T5D3q36EUdBh4EjmHwqY=
10991107
github.com/tencentyun/cos-go-sdk-v5 v0.7.66 h1:O4O6EsozBoDjxWbltr3iULgkI7WPj/BFNlYTXDuE64E=

‎tencentcloud/provider.go‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1188,6 +1188,11 @@ func Provider() *schema.Provider {
11881188
"tencentcloud_wedata_task_instance_executions": wedata.DataSourceTencentCloudWedataTaskInstanceExecutions(),
11891189
"tencentcloud_wedata_data_source_list": wedata.DataSourceTencentCloudWedataDataSourceList(),
11901190
"tencentcloud_wedata_sql_script_runs": wedata.DataSourceTencentCloudWedataSqlScriptRuns(),
1191+
"tencentcloud_wedata_projects": wedata.DataSourceTencentCloudWedataProjects(),
1192+
"tencentcloud_wedata_data_sources": wedata.DataSourceTencentCloudWedataDataSources(),
1193+
"tencentcloud_wedata_project_roles": wedata.DataSourceTencentCloudWedataProjectRoles(),
1194+
"tencentcloud_wedata_tenant_roles": wedata.DataSourceTencentCloudWedataTenantRoles(),
1195+
"tencentcloud_wedata_resource_group_metrics": wedata.DataSourceTencentCloudWedataResourceGroupMetrics(),
11911196
"tencentcloud_private_dns_records": privatedns.DataSourceTencentCloudPrivateDnsRecords(),
11921197
"tencentcloud_private_dns_private_zone_list": privatedns.DataSourceTencentCloudPrivateDnsPrivateZoneList(),
11931198
"tencentcloud_private_dns_forward_rules": privatedns.DataSourceTencentCloudPrivateDnsForwardRules(),
@@ -2323,6 +2328,11 @@ func Provider() *schema.Provider {
23232328
"tencentcloud_wedata_ops_task": wedata.ResourceTencentCloudWedataOpsTask(),
23242329
"tencentcloud_wedata_integration_offline_task": wedata.ResourceTencentCloudWedataIntegrationOfflineTask(),
23252330
"tencentcloud_wedata_integration_realtime_task": wedata.ResourceTencentCloudWedataIntegrationRealtimeTask(),
2331+
"tencentcloud_wedata_project": wedata.ResourceTencentCloudWedataProject(),
2332+
"tencentcloud_wedata_data_source": wedata.ResourceTencentCloudWedataDataSource(),
2333+
"tencentcloud_wedata_project_member": wedata.ResourceTencentCloudWedataProjectMember(),
2334+
"tencentcloud_wedata_resource_group": wedata.ResourceTencentCloudWedataResourceGroup(),
2335+
"tencentcloud_wedata_resource_group_to_project_attachment": wedata.ResourceTencentCloudWedataResourceGroupToProjectAttachment(),
23262336
"tencentcloud_wedata_integration_task_node": wedata.ResourceTencentCloudWedataIntegrationTaskNode(),
23272337
"tencentcloud_wedata_sql_folder": wedata.ResourceTencentCloudWedataSqlFolder(),
23282338
"tencentcloud_wedata_sql_script": wedata.ResourceTencentCloudWedataSqlScript(),

‎tencentcloud/provider.md‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2249,6 +2249,11 @@ tencentcloud_wedata_downstream_task_instances
22492249
tencentcloud_wedata_task_instance_executions
22502250
tencentcloud_wedata_data_source_list
22512251
tencentcloud_wedata_sql_script_runs
2252+
tencentcloud_wedata_projects
2253+
tencentcloud_wedata_data_sources
2254+
tencentcloud_wedata_project_roles
2255+
tencentcloud_wedata_tenant_roles
2256+
tencentcloud_wedata_resource_group_metrics
22522257

22532258
Resource
22542259
tencentcloud_wedata_submit_task_operation
@@ -2278,6 +2283,8 @@ tencentcloud_wedata_code_folder
22782283
tencentcloud_wedata_code_file
22792284
tencentcloud_wedata_run_sql_script_operation
22802285
tencentcloud_wedata_stop_sql_script_run_operation
2286+
tencentcloud_wedata_project
2287+
tencentcloud_wedata_project_member
22812288

22822289
Cloud Firewall(CFW)
22832290
Data Source
Lines changed: 268 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,268 @@
1+
package wedata
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+
wedatav20250806 "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata/v20250806"
9+
10+
tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common"
11+
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper"
12+
)
13+
14+
func DataSourceTencentCloudWedataDataSources() *schema.Resource {
15+
return &schema.Resource{
16+
Read: dataSourceTencentCloudWedataDataSourcesRead,
17+
Schema: map[string]*schema.Schema{
18+
"project_id": {
19+
Type: schema.TypeString,
20+
Required: true,
21+
Description: "Project ID.",
22+
},
23+
24+
"name": {
25+
Type: schema.TypeString,
26+
Optional: true,
27+
Description: "Data source name.",
28+
},
29+
30+
"display_name": {
31+
Type: schema.TypeString,
32+
Optional: true,
33+
Description: "Data source display name.",
34+
},
35+
36+
"type": {
37+
Type: schema.TypeSet,
38+
Optional: true,
39+
Description: "Data source type: enumeration values.\n\n- MYSQL\n- TENCENT_MYSQL\n- POSTGRE\n- ORACLE\n- SQLSERVER\n- FTP\n- HIVE\n- HUDI\n- HDFS\n- ICEBERG\n- KAFKA\n- HBASE\n- SPARK\n- VIRTUAL\n- TBASE\n- DB2\n- DM\n- GAUSSDB\n- GBASE\n- IMPALA\n- ES\n- TENCENT_ES\n- GREENPLUM\n- PHOENIX\n- SAP_HANA\n- SFTP\n- OCEANBASE\n- CLICKHOUSE\n- KUDU\n- VERTICA\n- REDIS\n- COS\n- DLC\n- DORIS\n- CKAFKA\n- S3\n- TDSQL\n- TDSQL_MYSQL\n- MONGODB\n- TENCENT_MONGODB\n- REST_API\n- SuperSQL\n- PRESTO\n- TiDB\n- StarRocks\n- Trino\n- Kyuubi\n- TCHOUSE_X\n- TCHOUSE_P\n- TCHOUSE_C\n- TCHOUSE_D\n- INFLUXDB\n- BIG_QUERY\n- SSH\n- BLOB.",
40+
Elem: &schema.Schema{
41+
Type: schema.TypeString,
42+
},
43+
},
44+
45+
"creator": {
46+
Type: schema.TypeString,
47+
Optional: true,
48+
Description: "Creator.",
49+
},
50+
51+
"items": {
52+
Type: schema.TypeList,
53+
Computed: true,
54+
Description: "Data source list.",
55+
Elem: &schema.Resource{
56+
Schema: map[string]*schema.Schema{
57+
"project_id": {
58+
Type: schema.TypeString,
59+
Computed: true,
60+
Description: "Belonging project ID.",
61+
},
62+
"id": {
63+
Type: schema.TypeInt,
64+
Computed: true,
65+
Description: "Data source ID.",
66+
},
67+
"type": {
68+
Type: schema.TypeString,
69+
Computed: true,
70+
Description: "Data source type: enumeration values.",
71+
},
72+
"name": {
73+
Type: schema.TypeString,
74+
Computed: true,
75+
Description: "Data source name.",
76+
},
77+
"display_name": {
78+
Type: schema.TypeString,
79+
Computed: true,
80+
Description: "Data source display name, for visual viewing.",
81+
},
82+
"description": {
83+
Type: schema.TypeString,
84+
Computed: true,
85+
Description: "Data source description information.",
86+
},
87+
"project_name": {
88+
Type: schema.TypeString,
89+
Computed: true,
90+
Description: "Belonging project name.",
91+
},
92+
"create_user": {
93+
Type: schema.TypeString,
94+
Computed: true,
95+
Description: "Data source creator.",
96+
},
97+
"create_time": {
98+
Type: schema.TypeString,
99+
Computed: true,
100+
Description: "Time.",
101+
},
102+
"modify_user": {
103+
Type: schema.TypeString,
104+
Computed: true,
105+
Description: "Modifier.",
106+
},
107+
"modify_time": {
108+
Type: schema.TypeString,
109+
Computed: true,
110+
Description: "Modification time.",
111+
},
112+
"prod_con_properties": {
113+
Type: schema.TypeString,
114+
Computed: true,
115+
Description: "Data source configuration information, stored in JSON KV format, varies by data source type.",
116+
},
117+
"dev_con_properties": {
118+
Type: schema.TypeString,
119+
Computed: true,
120+
Description: "Same as params, contains data for development data source.",
121+
},
122+
"category": {
123+
Type: schema.TypeString,
124+
Computed: true,
125+
Description: "Data source category:\n\n- DB - custom source\n- CLUSTER - system source.",
126+
},
127+
},
128+
},
129+
},
130+
131+
"result_output_file": {
132+
Type: schema.TypeString,
133+
Optional: true,
134+
Description: "Used to save results.",
135+
},
136+
},
137+
}
138+
}
139+
140+
func dataSourceTencentCloudWedataDataSourcesRead(d *schema.ResourceData, meta interface{}) error {
141+
defer tccommon.LogElapsed("data_source.tencentcloud_wedata_data_sources.read")()
142+
defer tccommon.InconsistentCheck(d, meta)()
143+
144+
var (
145+
logId = tccommon.GetLogId(nil)
146+
ctx = tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta)
147+
service = WedataService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()}
148+
projectId string
149+
)
150+
151+
paramMap := make(map[string]interface{})
152+
if v, ok := d.GetOk("project_id"); ok {
153+
paramMap["ProjectId"] = helper.String(v.(string))
154+
projectId = v.(string)
155+
}
156+
157+
if v, ok := d.GetOk("name"); ok {
158+
paramMap["Name"] = helper.String(v.(string))
159+
}
160+
161+
if v, ok := d.GetOk("display_name"); ok {
162+
paramMap["DisplayName"] = helper.String(v.(string))
163+
}
164+
165+
if v, ok := d.GetOk("type"); ok {
166+
typeList := []*string{}
167+
typeSet := v.(*schema.Set).List()
168+
for i := range typeSet {
169+
tmpType := typeSet[i].(string)
170+
typeList = append(typeList, helper.String(tmpType))
171+
}
172+
173+
paramMap["Type"] = typeList
174+
}
175+
176+
if v, ok := d.GetOk("creator"); ok {
177+
paramMap["Creator"] = helper.String(v.(string))
178+
}
179+
180+
var respData []*wedatav20250806.DataSource
181+
reqErr := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
182+
result, e := service.DescribeWedataDataSourcesByFilter(ctx, paramMap)
183+
if e != nil {
184+
return tccommon.RetryError(e)
185+
}
186+
187+
respData = result
188+
return nil
189+
})
190+
191+
if reqErr != nil {
192+
return reqErr
193+
}
194+
195+
itemsList := make([]map[string]interface{}, 0, len(respData))
196+
for _, items := range respData {
197+
itemsMap := map[string]interface{}{}
198+
if items.ProjectId != nil {
199+
itemsMap["project_id"] = items.ProjectId
200+
}
201+
202+
if items.Id != nil {
203+
itemsMap["id"] = items.Id
204+
}
205+
206+
if items.Type != nil {
207+
itemsMap["type"] = items.Type
208+
}
209+
210+
if items.Name != nil {
211+
itemsMap["name"] = items.Name
212+
}
213+
214+
if items.DisplayName != nil {
215+
itemsMap["display_name"] = items.DisplayName
216+
}
217+
218+
if items.Description != nil {
219+
itemsMap["description"] = items.Description
220+
}
221+
222+
if items.ProjectName != nil {
223+
itemsMap["project_name"] = items.ProjectName
224+
}
225+
226+
if items.CreateUser != nil {
227+
itemsMap["create_user"] = items.CreateUser
228+
}
229+
230+
if items.CreateTime != nil {
231+
itemsMap["create_time"] = items.CreateTime
232+
}
233+
234+
if items.ModifyUser != nil {
235+
itemsMap["modify_user"] = items.ModifyUser
236+
}
237+
238+
if items.ModifyTime != nil {
239+
itemsMap["modify_time"] = items.ModifyTime
240+
}
241+
242+
if items.ProdConProperties != nil {
243+
itemsMap["prod_con_properties"] = items.ProdConProperties
244+
}
245+
246+
if items.DevConProperties != nil {
247+
itemsMap["dev_con_properties"] = items.DevConProperties
248+
}
249+
250+
if items.Category != nil {
251+
itemsMap["category"] = items.Category
252+
}
253+
254+
itemsList = append(itemsList, itemsMap)
255+
}
256+
257+
_ = d.Set("items", itemsList)
258+
259+
d.SetId(projectId)
260+
output, ok := d.GetOk("result_output_file")
261+
if ok && output.(string) != "" {
262+
if e := tccommon.WriteToFile(output.(string), itemsList); e != nil {
263+
return e
264+
}
265+
}
266+
267+
return nil
268+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
Use this data source to query detailed information of WeData data sources
2+
3+
Example Usage
4+
5+
```hcl
6+
data "tencentcloud_wedata_data_sources" "example" {
7+
project_id = "2982667120655491072"
8+
name = "tf_example"
9+
display_name = "display_name"
10+
type = ["MYSQL", "ORACLE"]
11+
creator = "user"
12+
}
13+
```

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /