Skip to content

Commit c36a5c3

Browse files
committed
fix(cynosdb): [128546502]support cynosdb ClusterTransparentEncrypt
1 parent cd947f3 commit c36a5c3

17 files changed

+2956
-270
lines changed

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@ 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.50
49+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.52
5050
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.1206
5151
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762
52-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.1161
52+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.1.52
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

go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -981,6 +981,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.49 h1:BQwUw
981981
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.49/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
982982
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.50 h1:wZGiUXmzr4L0S1coFhnjddkyNrO5ZTtfxBDrbeR+1d8=
983983
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.50/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
984+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.52 h1:GtExKpiqbmmOq9ojeBYR6M1vgVL27s14GIDkjmgAX8A=
985+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.52/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
984986
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993 h1:WlPgXldQCxt7qi5Xrc6j6zTrsXWzN5BcOGs7Irq7fwQ=
985987
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993/go.mod h1:Z9U8zNtyuyKhjS0698wqsrG/kLx1TQ5CEixXBwVe7xY=
986988
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860 h1:F3esKBIT3HW9+7Gt8cVgf8X06VdGIczpgLBUECzSEzU=
@@ -991,6 +993,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762 h1:2egy69S
991993
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762/go.mod h1:1XylIfNUbAzmNqi4XMhwcM3VhmUHdu1OYybOeaJ4sOw=
992994
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.1161 h1:0oG7oMuDBXN2WyRtTU/650zRhLAAmYBgpttNn53NhK0=
993995
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.1161/go.mod h1:38t5HcmRqwC93ct7NgG82N+IQIjKLPLLvEUn263jejQ=
996+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.1.52 h1:h/OquZHmxmfZXHfo07dmh74DrclFVjyUV3tfk66oP9o=
997+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.1.52/go.mod h1:0F66TApiFl1wlux8XGoJTVLbrE48FNd5OJOX5V9OvBQ=
994998
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dasb v1.0.970 h1:qVIRHgG1twsqF4aVN/x2T2yMRfPpsZBTNefDkqzM06M=
995999
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dasb v1.0.970/go.mod h1:NJuuQD4z6vcnsZnC7Tvz2U9hElNS1wroc34UQbZvP2U=
9961000
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.335 h1:D8qrelkK5udv8RzJJIABMzItGIyaZoYnxEVeIsYqiNw=

tencentcloud/provider.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1801,6 +1801,7 @@ func Provider() *schema.Provider {
18011801
"tencentcloud_cynosdb_upgrade_proxy_version": cynosdb.ResourceTencentCloudCynosdbUpgradeProxyVersion(),
18021802
"tencentcloud_cynosdb_backup_config": cynosdb.ResourceTencentCloudCynosdbBackupConfig(),
18031803
"tencentcloud_cynosdb_ssl": cynosdb.ResourceTencentCloudCynosdbSsl(),
1804+
"tencentcloud_cynosdb_cluster_transparent_encrypt": cynosdb.ResourceTencentCloudCynosdbClusterTransparentEncrypt(),
18041805
"tencentcloud_vod_adaptive_dynamic_streaming_template": vod.ResourceTencentCloudVodAdaptiveDynamicStreamingTemplate(),
18051806
"tencentcloud_vod_image_sprite_template": vod.ResourceTencentCloudVodImageSpriteTemplate(),
18061807
"tencentcloud_vod_procedure_template": vod.ResourceTencentCloudVodProcedureTemplate(),

tencentcloud/provider.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -546,6 +546,7 @@ tencentcloud_cynosdb_proxy_end_point
546546
tencentcloud_cynosdb_upgrade_proxy_version
547547
tencentcloud_cynosdb_backup_config
548548
tencentcloud_cynosdb_ssl
549+
tencentcloud_cynosdb_cluster_transparent_encrypt
549550

550551
Direct Connect(DC)
551552
Data Source

tencentcloud/services/cynosdb/resource_tc_cynosdb_cluster_slave_zone.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ func resourceTencentCloudCynosdbClusterSlaveZoneRead(d *schema.ResourceData, met
127127
clusterId := idSplit[0]
128128
slaveZone := idSplit[1]
129129

130-
clusterSlaveZone, err := service.DescribeCynosdbClusterSlaveZoneById(ctx, clusterId)
130+
clusterSlaveZone, err := service.DescribeCynosdbClusterById(ctx, clusterId)
131131
if err != nil {
132132
return err
133133
}

tencentcloud/services/cynosdb/resource_tc_cynosdb_cluster_transparent_encrypt.go

Lines changed: 197 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
Provides a resource to create a cynosdb cluster_transparent_encrypt
2+
3+
~> **NOTE:** Once activated, it cannot be deactivated.
4+
5+
~> **NOTE:** If you have not enabled the KMS service or authorized the KMS key before, you will need to enable the KMS service and then authorize the KMS key in order to complete the corresponding enabling or authorization operations and unlock the subsequent settings for data encryption.
6+
7+
Example Usage
8+
9+
```hcl
10+
resource "tencentcloud_cynosdb_cluster_transparent_encrypt" "cynosdb_cluster_transparent_encrypt" {
11+
cluster_id = cynosdbmysql-bu6hlulf
12+
is_open_global_encryption = false
13+
key_id = "f063c18b-xxxx-xxxx-xxxx-525400d3a886"
14+
key_region = "ap-guangzhou"
15+
key_type = "custom"
16+
}
17+
```
18+
19+
Import
20+
21+
cynosdb cluster_transparent_encrypt can be imported using the id, e.g.
22+
23+
```
24+
terraform import tencentcloud_cynosdb_cluster_transparent_encrypt.cynosdb_cluster_transparent_encrypt cynosdbmysql-bu6hlulf
25+
```
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
package cynosdb
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package cynosdb_test
2+
3+
import (
4+
"testing"
5+
6+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
7+
tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest"
8+
)
9+
10+
func TestAccTencentCloudCynosdbClusterTransparentEncryptResource_basic(t *testing.T) {
11+
t.Parallel()
12+
resource.Test(t, resource.TestCase{
13+
PreCheck: func() {
14+
tcacctest.AccPreCheck(t)
15+
},
16+
Providers: tcacctest.AccProviders,
17+
Steps: []resource.TestStep{
18+
{
19+
Config: testAccCynosdbClusterTransparentEncrypt,
20+
Check: resource.ComposeTestCheckFunc(
21+
resource.TestCheckResourceAttrSet("tencentcloud_cynosdb_cluster_transparent_encrypt.cynosdb_cluster_transparent_encrypt", "id"),
22+
resource.TestCheckResourceAttrSet("tencentcloud_cynosdb_cluster_transparent_encrypt.cynosdb_cluster_transparent_encrypt", "key_id"),
23+
resource.TestCheckResourceAttrSet("tencentcloud_cynosdb_cluster_transparent_encrypt.cynosdb_cluster_transparent_encrypt", "key_region"),
24+
resource.TestCheckResourceAttrSet("tencentcloud_cynosdb_cluster_transparent_encrypt.cynosdb_cluster_transparent_encrypt", "key_type"),
25+
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster_transparent_encrypt.cynosdb_cluster_transparent_encrypt", "is_open_global_encryption", "false"),
26+
),
27+
},
28+
{
29+
ResourceName: "tencentcloud_cynosdb_cluster_transparent_encrypt.cynosdb_cluster_transparent_encrypt",
30+
ImportState: true,
31+
},
32+
},
33+
})
34+
}
35+
36+
const testAccCynosdbClusterTransparentEncrypt = testAccCynosdbCluster + `
37+
resource "tencentcloud_cynosdb_cluster_transparent_encrypt" "cynosdb_cluster_transparent_encrypt" {
38+
cluster_id = tencentcloud_cynosdb_cluster.foo.id
39+
is_open_global_encryption = false
40+
key_id = "f063c18b-654b-11ef-9d9f-525400d3a886"
41+
key_region = "ap-guangzhou"
42+
key_type = "custom"
43+
}
44+
`

tencentcloud/services/cynosdb/service_tencentcloud_cynosdb.go

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2668,7 +2668,7 @@ func (me *CynosdbService) DeleteCynosdbResourcePackageById(ctx context.Context,
26682668
return
26692669
}
26702670

2671-
func (me *CynosdbService) DescribeCynosdbClusterSlaveZoneById(ctx context.Context, clusterId string) (clusterSlaveZone *cynosdb.CynosdbClusterDetail, errRet error) {
2671+
func (me *CynosdbService) DescribeCynosdbClusterById(ctx context.Context, clusterId string) (cluster *cynosdb.CynosdbClusterDetail, errRet error) {
26722672
logId := tccommon.GetLogId(ctx)
26732673

26742674
request := cynosdb.NewDescribeClusterDetailRequest()
@@ -2689,7 +2689,7 @@ func (me *CynosdbService) DescribeCynosdbClusterSlaveZoneById(ctx context.Contex
26892689
}
26902690
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
26912691

2692-
clusterSlaveZone = response.Response.Detail
2692+
cluster = response.Response.Detail
26932693
return
26942694
}
26952695

@@ -3009,3 +3009,28 @@ func (me *CynosdbService) taskStateRefreshFunc(taskId string, failStates []strin
30093009
return object, *object.Response.TaskList[0].Status, nil
30103010
}
30113011
}
3012+
3013+
func (me *CynosdbService) DescribeCynosdbClusterTransparentEncryptById(ctx context.Context, clusterId string) (ret *cynosdb.DescribeClusterTransparentEncryptInfoResponseParams, errRet error) {
3014+
logId := tccommon.GetLogId(ctx)
3015+
3016+
request := cynosdb.NewDescribeClusterTransparentEncryptInfoRequest()
3017+
request.ClusterId = &clusterId
3018+
3019+
defer func() {
3020+
if errRet != nil {
3021+
log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", logId, request.GetAction(), request.ToJsonString(), errRet.Error())
3022+
}
3023+
}()
3024+
3025+
ratelimit.Check(request.GetAction())
3026+
3027+
response, err := me.client.UseCynosdbClient().DescribeClusterTransparentEncryptInfo(request)
3028+
if err != nil {
3029+
errRet = err
3030+
return
3031+
}
3032+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
3033+
3034+
ret = response.Response
3035+
return
3036+
}

0 commit comments

Comments
 (0)