1- // Code generated by iacg; DO NOT EDIT.
21package cynosdb
32
43import (
54 "context"
5+ "fmt"
66 "log"
77 "strconv"
88 "time"
@@ -27,6 +27,7 @@ func ResourceTencentCloudCynosdbClusterTransparentEncrypt() *schema.Resource {
2727 "cluster_id" : {
2828 Type : schema .TypeString ,
2929 Required : true ,
30+ ForceNew : true ,
3031 Description : "Cluster ID." ,
3132 },
3233
@@ -78,22 +79,21 @@ func resourceTencentCloudCynosdbClusterTransparentEncryptRead(d *schema.Resource
7879 defer tccommon .LogElapsed ("resource.tencentcloud_cynosdb_cluster_transparent_encrypt.read" )()
7980 defer tccommon .InconsistentCheck (d , meta )()
8081
81- logId := tccommon .GetLogId (tccommon .ContextNil )
82-
83- ctx := tccommon .NewResourceLifeCycleHandleFuncContext (context .Background (), logId , d , meta )
84-
85- service := CynosdbService {client : meta .(tccommon.ProviderMeta ).GetAPIV3Conn ()}
86-
87- clusterId := d .Id ()
82+ var (
83+ logId = tccommon .GetLogId (tccommon .ContextNil )
84+ ctx = tccommon .NewResourceLifeCycleHandleFuncContext (context .Background (), logId , d , meta )
85+ service = CynosdbService {client : meta .(tccommon.ProviderMeta ).GetAPIV3Conn ()}
86+ clusterId = d .Id ()
87+ )
8888
8989 respData , err := service .DescribeCynosdbClusterTransparentEncryptById (ctx , clusterId )
9090 if err != nil {
9191 return err
9292 }
9393
9494 if respData == nil {
95+ log .Printf ("[WARN]%s resource `tencentcloud_cynosdb_cluster_transparent_encrypt` [%s] not found, please check if it has been deleted.\n " , logId , d .Id ())
9596 d .SetId ("" )
96- log .Printf ("[WARN]%s resource `cynosdb_cluster_transparent_encrypt` [%s] not found, please check if it has been deleted.\n " , logId , d .Id ())
9797 return nil
9898 }
9999
@@ -115,22 +115,21 @@ func resourceTencentCloudCynosdbClusterTransparentEncryptRead(d *schema.Resource
115115 _ = d .Set ("is_open_global_encryption" , respData .IsOpenGlobalEncryption )
116116 }
117117
118- _ = clusterId
119118 return nil
120119}
121120
122121func resourceTencentCloudCynosdbClusterTransparentEncryptUpdate (d * schema.ResourceData , meta interface {}) error {
123122 defer tccommon .LogElapsed ("resource.tencentcloud_cynosdb_cluster_transparent_encrypt.update" )()
124123 defer tccommon .InconsistentCheck (d , meta )()
125124
126- logId := tccommon . GetLogId ( tccommon . ContextNil )
127-
128- ctx : = tccommon .NewResourceLifeCycleHandleFuncContext (context .Background (), logId , d , meta )
129-
130- clusterId := d . Id ( )
125+ var (
126+ logId = tccommon . GetLogId ( tccommon . ContextNil )
127+ ctx = tccommon .NewResourceLifeCycleHandleFuncContext (context .Background (), logId , d , meta )
128+ clusterId = d . Id ()
129+ )
131130
132131 needChange := false
133- mutableArgs := []string {"cluster_id" , " key_type" , "key_id" , "key_region" }
132+ mutableArgs := []string {"key_type" , "key_id" , "key_region" }
134133 for _ , v := range mutableArgs {
135134 if d .HasChange (v ) {
136135 needChange = true
@@ -141,11 +140,6 @@ func resourceTencentCloudCynosdbClusterTransparentEncryptUpdate(d *schema.Resour
141140 if needChange {
142141 request := cynosdbv20190107 .NewOpenClusterTransparentEncryptRequest ()
143142 response := cynosdbv20190107 .NewOpenClusterTransparentEncryptResponse ()
144-
145- if v , ok := d .GetOk ("cluster_id" ); ok {
146- request .ClusterId = helper .String (v .(string ))
147- }
148-
149143 if v , ok := d .GetOk ("key_type" ); ok {
150144 request .KeyType = helper .String (v .(string ))
151145 }
@@ -158,13 +152,19 @@ func resourceTencentCloudCynosdbClusterTransparentEncryptUpdate(d *schema.Resour
158152 request .KeyRegion = helper .String (v .(string ))
159153 }
160154
155+ request .ClusterId = & clusterId
161156 reqErr := resource .Retry (tccommon .WriteRetryTimeout , func () * resource.RetryError {
162157 result , e := meta .(tccommon.ProviderMeta ).GetAPIV3Conn ().UseCynosdbClient ().OpenClusterTransparentEncryptWithContext (ctx , request )
163158 if e != nil {
164159 return tccommon .RetryError (e )
165160 } else {
166161 log .Printf ("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n " , logId , request .GetAction (), request .ToJsonString (), result .ToJsonString ())
167162 }
163+
164+ if result == nil || result .Response == nil || result .Response .TaskId == nil {
165+ return resource .NonRetryableError (fmt .Errorf ("Update cynosdb cluster transparent encrypt failed, Response is nil." ))
166+ }
167+
168168 response = result
169169 return nil
170170 })
@@ -181,25 +181,30 @@ func resourceTencentCloudCynosdbClusterTransparentEncryptUpdate(d *schema.Resour
181181 }
182182 }
183183
184- if d .HasChange ("is_open_global_encryption" ) && ! d . IsNewResource () {
184+ if d .HasChange ("is_open_global_encryption" ) {
185185 request := cynosdbv20190107 .NewModifyClusterGlobalEncryptionRequest ()
186186 response := cynosdbv20190107 .NewModifyClusterGlobalEncryptionResponse ()
187- request .ClusterId = helper .String (clusterId )
188-
189187 if v , ok := d .GetOkExists ("is_open_global_encryption" ); ok {
190188 request .IsOpenGlobalEncryption = helper .Bool (v .(bool ))
191189 }
192190
191+ request .ClusterId = & clusterId
193192 reqErr := resource .Retry (tccommon .WriteRetryTimeout , func () * resource.RetryError {
194193 result , e := meta .(tccommon.ProviderMeta ).GetAPIV3Conn ().UseCynosdbClient ().ModifyClusterGlobalEncryptionWithContext (ctx , request )
195194 if e != nil {
196195 return tccommon .RetryError (e )
197196 } else {
198197 log .Printf ("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n " , logId , request .GetAction (), request .ToJsonString (), result .ToJsonString ())
199198 }
199+
200+ if result == nil || result .Response == nil || result .Response .TaskId == nil {
201+ return resource .NonRetryableError (fmt .Errorf ("Update cynosdb cluster is_open_global_encryption failed, Response is nil." ))
202+ }
203+
200204 response = result
201205 return nil
202206 })
207+
203208 if reqErr != nil {
204209 log .Printf ("[CRITAL]%s update cynosdb cluster is_open_global_encryption failed, reason:%+v" , logId , reqErr )
205210 return reqErr
@@ -213,7 +218,6 @@ func resourceTencentCloudCynosdbClusterTransparentEncryptUpdate(d *schema.Resour
213218 }
214219 }
215220
216- _ = clusterId
217221 return resourceTencentCloudCynosdbClusterTransparentEncryptRead (d , meta )
218222}
219223
0 commit comments