Skip to content

Commit e8250d1

Browse files
committed
add
1 parent 5d6b16c commit e8250d1

20 files changed

+583
-14361
lines changed

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,15 +46,15 @@ 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.23
49+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.35
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
5353
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.335
5454
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dbbrain v1.0.652
5555
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dc v1.0.633
5656
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dcdb v1.0.673
57-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dlc v1.1.23
57+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dlc v1.1.35
5858
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

go.sum

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -963,6 +963,10 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.22 h1:1unTm
963963
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.22/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
964964
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.23 h1:YZOxepoaH/yNaD1sYpCXR6PuFd22hbKdlXAGXWre8aM=
965965
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.23/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
966+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.25 h1:bTN1RYwKti9GX4qdI/yd+ybh0QY/BkoGSG+wgArS0L8=
967+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.25/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
968+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.35 h1:gcnqnP30UeTFn1Jm1yMiAOlX7x1r12KAQ3cNIQTg/Gc=
969+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.35/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
966970
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993 h1:WlPgXldQCxt7qi5Xrc6j6zTrsXWzN5BcOGs7Irq7fwQ=
967971
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993/go.mod h1:Z9U8zNtyuyKhjS0698wqsrG/kLx1TQ5CEixXBwVe7xY=
968972
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860 h1:F3esKBIT3HW9+7Gt8cVgf8X06VdGIczpgLBUECzSEzU=
@@ -991,6 +995,10 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dlc v1.1.5 h1:0GJ2seyiC
991995
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dlc v1.1.5/go.mod h1:vipcBjuWWiD8NgkeDdflpmTAHFf/zH+chcpW4ADnwi4=
992996
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dlc v1.1.23 h1:E2hkbinLJ2FDMjpX/RpWpqpwNbOTV4hnTmdeJm2Vj4k=
993997
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dlc v1.1.23/go.mod h1:uR34lQsblkhjuZ68wkSsKw2uHJ7MG5aUoOdWPe3ILdw=
998+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dlc v1.1.25 h1:QdwCXRsSroZNFq+yYhT38LhFKoM0pSPycUoM4Xm5kyI=
999+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dlc v1.1.25/go.mod h1:9XFynyALKk12v5qu8Z49cOmRLQd/SlVZxLMfb/goarY=
1000+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dlc v1.1.35 h1:YBartSeOD6M1hFzVytGXcILAlXfzzrCxdjcAAbcHi5U=
1001+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dlc v1.1.35/go.mod h1:Hb8V1r7scNF9Zjk0fiEavzW2dx+Lr2FEYrXDPa9f0TE=
9941002
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.1056 h1:kvJuKukDqbt1nKzaVRdcbvs3w9CoMz3V1oQp6jo3rSw=
9951003
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.1056/go.mod h1:TLTlcL7Dr1p0vPg0NvOi1CJEx2xG1zTlP+4k+ggxnZE=
9961004
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/domain v1.0.414 h1:egwjvOEUKBaxsoRVn/YSEhp2E8qdh77Ous9A/wftDo0=

tencentcloud/services/dlc/resource_tc_dlc_attach_data_mask_policy.go

Lines changed: 12 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -54,30 +54,12 @@ func ResourceTencentCloudDlcAttachDataMaskPolicy() *schema.Resource {
5454
ForceNew: true,
5555
Description: "The name of the table to be authorized. Use * to represent all tables under the current Database. For administrator-level authorization, only * is allowed. For data connection-level and database-level authorization, leave it empty. For other types, specify the table name.",
5656
},
57-
"operation": {
58-
Type: schema.TypeString,
59-
Required: true,
60-
ForceNew: true,
61-
Description: "The permission operation to be granted, varying by authorization level. Administrator-level: ALL (default). Data connection-level: CREATE. Database-level: ALL, CREATE, ALTER, DROP. Table-level: ALL, SELECT, INSERT, ALTER, DELETE, DROP, UPDATE. Note: For table-level permissions, only SELECT is supported if the data source is not COSDataCatalog.",
62-
},
63-
"policy_type": {
64-
Type: schema.TypeString,
65-
Optional: true,
66-
ForceNew: true,
67-
Description: "The type of authorization. Currently supports eight types: ADMIN (administrator-level), DATASOURCE (data connection-level), DATABASE (database-level), TABLE (table-level), VIEW (view-level), FUNCTION (function-level), COLUMN (column-level), ENGINE (data engine-level). Defaults to administrator-level.",
68-
},
6957
"column": {
7058
Type: schema.TypeString,
7159
Optional: true,
7260
ForceNew: true,
7361
Description: "The name of the column to be authorized. Use * to represent all columns. For administrator-level authorization, only * is allowed.",
7462
},
75-
"mode": {
76-
Type: schema.TypeString,
77-
Optional: true,
78-
ForceNew: true,
79-
Description: "The authorization mode. Do not fill in this parameter. COMMON: Normal mode. SENIOR: Advanced mode.",
80-
},
8163
},
8264
},
8365
},
@@ -136,23 +118,13 @@ func resourceTencentCloudDlcAttachDataMaskPolicyCreate(d *schema.ResourceData, m
136118
table = v
137119
}
138120

139-
if v, ok := policyInfoMap["operation"].(string); ok && v != "" {
140-
policy.Operation = helper.String(v)
141-
}
142-
143-
if v, ok := policyInfoMap["policy_type"].(string); ok && v != "" {
144-
policy.PolicyType = helper.String(v)
145-
}
146-
147121
if v, ok := policyInfoMap["column"].(string); ok && v != "" {
148122
policy.Column = helper.String(v)
149123
column = v
150124
}
151125

152-
if v, ok := policyInfoMap["mode"].(string); ok && v != "" {
153-
policy.Mode = helper.String(v)
154-
}
155-
126+
policy.Operation = helper.String("SELECT")
127+
policy.PolicyType = helper.String("DATAMASK")
156128
dataMaskStrategyPolicy.PolicyInfo = &policy
157129
}
158130

@@ -237,6 +209,7 @@ func resourceTencentCloudDlcAttachDataMaskPolicyRead(d *schema.ResourceData, met
237209
policyInfoMap["database"] = dataBase
238210
policyInfoMap["table"] = table
239211
policyInfoMap["column"] = column
212+
240213
policyInfoList = append(policyInfoList, policyInfoMap)
241214
dMap["policy_info"] = policyInfoList
242215

@@ -287,42 +260,15 @@ func resourceTencentCloudDlcAttachDataMaskPolicyDelete(d *schema.ResourceData, m
287260
for _, item := range v.([]interface{}) {
288261
dataMaskStrategyPolicySetMap := item.(map[string]interface{})
289262
dataMaskStrategyPolicy := dlcv20210125.DataMaskStrategyPolicy{}
290-
if policyInfoMap, ok := helper.ConvertInterfacesHeadToMap(dataMaskStrategyPolicySetMap["policy_info"]); ok {
291-
policy := dlcv20210125.Policy{}
292-
if v, ok := policyInfoMap["database"].(string); ok && v != "" {
293-
policy.Database = &dataBase
294-
}
295-
296-
if v, ok := policyInfoMap["catalog"].(string); ok && v != "" {
297-
policy.Catalog = &catalog
298-
}
299-
300-
if v, ok := policyInfoMap["table"].(string); ok && v != "" {
301-
policy.Table = &table
302-
}
303-
304-
if v, ok := policyInfoMap["operation"].(string); ok && v != "" {
305-
policy.Operation = helper.String(v)
306-
}
307-
308-
if v, ok := policyInfoMap["policy_type"].(string); ok && v != "" {
309-
policy.PolicyType = helper.String(v)
310-
}
311-
312-
if v, ok := policyInfoMap["column"].(string); ok && v != "" {
313-
policy.Column = &column
314-
}
315-
316-
if v, ok := policyInfoMap["mode"].(string); ok && v != "" {
317-
policy.Mode = helper.String(v)
318-
}
319-
320-
dataMaskStrategyPolicy.PolicyInfo = &policy
321-
}
322-
323-
if v, ok := dataMaskStrategyPolicySetMap["data_mask_strategy_id"].(string); ok && v != "" {
324-
dataMaskStrategyPolicy.DataMaskStrategyId = helper.String(v)
325-
}
263+
policy := dlcv20210125.Policy{}
264+
policy.Database = &dataBase
265+
policy.Catalog = &catalog
266+
policy.Table = &table
267+
policy.Column = &column
268+
policy.Operation = helper.String("SELECT")
269+
policy.PolicyType = helper.String("DATAMASK")
270+
dataMaskStrategyPolicy.PolicyInfo = &policy
271+
dataMaskStrategyPolicy.DataMaskStrategyId = helper.String("-1")
326272

327273
if v, ok := dataMaskStrategyPolicySetMap["column_type"].(string); ok && v != "" {
328274
dataMaskStrategyPolicy.ColumnType = helper.String(v)
Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,30 @@
1-
Provides a resource to create a DLC dlc attach data mask policy
1+
Provides a resource to create a DLC attach data mask policy
22

33
Example Usage
44

55
```hcl
6+
resource "tencentcloud_dlc_data_mask_strategy" "example" {
7+
strategy {
8+
strategy_name = "tf-example"
9+
strategy_desc = "description."
10+
groups {
11+
work_group_id = 70220
12+
strategy_type = "MASK"
13+
}
14+
}
15+
}
16+
617
resource "tencentcloud_dlc_attach_data_mask_policy" "example" {
718
data_mask_strategy_policy_set {
819
policy_info {
9-
database = ""
10-
catalog = ""
11-
table = ""
12-
operation = ""
13-
policy_type = ""
14-
column = ""
15-
mode = ""
20+
database = "tf-example"
21+
catalog = "DataLakeCatalog"
22+
table = "tf-example"
23+
column = "id"
1624
}
1725
18-
data_mask_strategy_id = ""
19-
column_type = ""
26+
data_mask_strategy_id = tencentcloud_dlc_data_mask_strategy.example.id
27+
column_type = "string"
2028
}
2129
}
2230
```

tencentcloud/services/dlc/resource_tc_dlc_attach_data_mask_policy_test.go

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,20 +28,28 @@ func TestAccTencentCloudDlcAttachDataMaskPolicyResource_basic(t *testing.T) {
2828
}
2929

3030
const testAccDlcAttachDataMaskPolicy = `
31+
resource "tencentcloud_dlc_data_mask_strategy" "example" {
32+
strategy {
33+
strategy_name = "tf-example"
34+
strategy_desc = "description."
35+
groups {
36+
work_group_id = 70220
37+
strategy_type = "MASK"
38+
}
39+
}
40+
}
41+
3142
resource "tencentcloud_dlc_attach_data_mask_policy" "example" {
3243
data_mask_strategy_policy_set {
3344
policy_info {
34-
database = ""
35-
catalog = ""
36-
table = ""
37-
operation = ""
38-
policy_type = ""
39-
column = ""
40-
mode = ""
45+
database = "test"
46+
catalog = "DataLakeCatalog"
47+
table = "test"
48+
column = "id"
4149
}
4250
43-
data_mask_strategy_id = ""
44-
column_type = ""
51+
data_mask_strategy_id = tencentcloud_dlc_data_mask_strategy.example.id
52+
column_type = "string"
4553
}
4654
}
4755
`

tencentcloud/services/dlc/resource_tc_dlc_data_mask_strategy.go

Lines changed: 28 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ func resourceTencentCloudDlcDataMaskStrategyRead(d *schema.ResourceData, meta in
150150
logId = tccommon.GetLogId(tccommon.ContextNil)
151151
ctx = tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta)
152152
service = DlcService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()}
153-
strategyId string
153+
strategyId = d.Id()
154154
)
155155

156156
respData, err := service.DescribeDlcDataMaskStrategyById(ctx, strategyId)
@@ -164,43 +164,41 @@ func resourceTencentCloudDlcDataMaskStrategyRead(d *schema.ResourceData, meta in
164164
return nil
165165
}
166166

167-
if respData != nil {
168-
strategiesList := make([]map[string]interface{}, 0, 1)
169-
strategiesMap := map[string]interface{}{}
170-
if respData.StrategyName != nil {
171-
strategiesMap["strategy_name"] = respData.StrategyName
172-
}
173-
174-
if respData.StrategyDesc != nil {
175-
strategiesMap["strategy_desc"] = respData.StrategyDesc
176-
}
167+
strategiesList := make([]map[string]interface{}, 0, 1)
168+
strategiesMap := map[string]interface{}{}
169+
if respData.StrategyName != nil {
170+
strategiesMap["strategy_name"] = respData.StrategyName
171+
}
177172

178-
if respData.Groups != nil {
179-
groupsList := make([]map[string]interface{}, 0, len(respData.Groups))
180-
for _, groups := range respData.Groups {
181-
groupsMap := map[string]interface{}{}
182-
if groups.WorkGroupId != nil {
183-
groupsMap["work_group_id"] = groups.WorkGroupId
184-
}
173+
if respData.StrategyDesc != nil {
174+
strategiesMap["strategy_desc"] = respData.StrategyDesc
175+
}
185176

186-
if groups.StrategyType != nil {
187-
groupsMap["strategy_type"] = groups.StrategyType
188-
}
177+
if respData.Groups != nil {
178+
groupsList := make([]map[string]interface{}, 0, len(respData.Groups))
179+
for _, groups := range respData.Groups {
180+
groupsMap := map[string]interface{}{}
181+
if groups.WorkGroupId != nil {
182+
groupsMap["work_group_id"] = groups.WorkGroupId
183+
}
189184

190-
groupsList = append(groupsList, groupsMap)
185+
if groups.StrategyType != nil {
186+
groupsMap["strategy_type"] = groups.StrategyType
191187
}
192188

193-
strategiesMap["groups"] = groupsList
189+
groupsList = append(groupsList, groupsMap)
194190
}
195191

196-
if respData.StrategyId != nil {
197-
strategiesMap["strategy_id"] = respData.StrategyId
198-
}
192+
strategiesMap["groups"] = groupsList
193+
}
199194

200-
strategiesList = append(strategiesList, strategiesMap)
201-
_ = d.Set("strategies", strategiesList)
195+
if respData.StrategyId != nil {
196+
strategiesMap["strategy_id"] = respData.StrategyId
202197
}
203198

199+
strategiesList = append(strategiesList, strategiesMap)
200+
_ = d.Set("strategy", strategiesList)
201+
204202
return nil
205203
}
206204

@@ -211,7 +209,7 @@ func resourceTencentCloudDlcDataMaskStrategyUpdate(d *schema.ResourceData, meta
211209
var (
212210
logId = tccommon.GetLogId(tccommon.ContextNil)
213211
ctx = tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta)
214-
strategyId string
212+
strategyId = d.Id()
215213
)
216214

217215
needChange := false
@@ -283,7 +281,7 @@ func resourceTencentCloudDlcDataMaskStrategyDelete(d *schema.ResourceData, meta
283281
logId = tccommon.GetLogId(tccommon.ContextNil)
284282
ctx = tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta)
285283
request = dlcv20210125.NewDeleteDataMaskStrategyRequest()
286-
strategyId string
284+
strategyId = d.Id()
287285
)
288286

289287
request.StrategyId = &strategyId

tencentcloud/services/dlc/resource_tc_dlc_data_mask_strategy.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,11 @@ Example Usage
66
resource "tencentcloud_dlc_data_mask_strategy" "example" {
77
strategy {
88
strategy_name = "tf-example"
9-
strategy_type = "tf-example"
109
strategy_desc = "description."
11-
groups = {
12-
work_group_id = 221498
10+
groups {
11+
work_group_id = 70220
1312
strategy_type = "MASK"
1413
}
15-
users = ""
1614
}
1715
}
1816
```
@@ -22,5 +20,5 @@ Import
2220
DLC data mask strategy can be imported using the id, e.g.
2321

2422
```
25-
terraform import tencentcloud_dlc_data_mask_strategy.example strategyId
23+
terraform import tencentcloud_dlc_data_mask_strategy.example 2fcab650-11a8-44ef-bf58-19c22af601b6
2624
```

tencentcloud/services/dlc/resource_tc_dlc_data_mask_strategy_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ resource "tencentcloud_dlc_data_mask_strategy" "example" {
4444
strategy {
4545
strategy_name = "tf-example"
4646
strategy_desc = "description."
47-
groups = {
48-
work_group_id = 221498
47+
groups {
48+
work_group_id = 70220
4949
strategy_type = "MASK"
5050
}
5151
}
@@ -57,9 +57,9 @@ resource "tencentcloud_dlc_data_mask_strategy" "example" {
5757
strategy {
5858
strategy_name = "tf-example-update"
5959
strategy_desc = "description update."
60-
groups = {
61-
work_group_id = 221498
62-
strategy_type = "MASK"
60+
groups {
61+
work_group_id = 70219
62+
strategy_type = "MASK_NONE"
6363
}
6464
}
6565
}

tencentcloud/services/dlc/service_tencentcloud_dlc.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1353,7 +1353,7 @@ func (me *DlcService) DescribeDlcDataMaskStrategyById(ctx context.Context, strat
13531353
request := dlc.NewDescribeDataMaskStrategiesRequest()
13541354
response := dlc.NewDescribeDataMaskStrategiesResponse()
13551355
request.Filters = []*dlc.Filter{
1356-
&dlc.Filter{
1356+
{
13571357
Name: helper.String("strategy-id"),
13581358
Values: helper.Strings([]string{strategyId}),
13591359
},

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.

0 commit comments

Comments
 (0)