Skip to content

Commit 41fd6bf

Browse files
committed
fix bug that key state should not be Enabled before delete key
1 parent 8a9ea81 commit 41fd6bf

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

tencentcloud/resource_tc_kms_external_key.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,20 @@ func resourceTencentCloudKmsExternalKeyDelete(d *schema.ResourceData, meta inter
320320

321321
keyId := d.Id()
322322
pendingDeleteWindowInDays := d.Get("pending_delete_window_in_days").(int)
323+
keyState := d.Get("key_state").(string)
324+
if keyState == KMS_KEY_STATE_ENABLED {
325+
err := resource.Retry(writeRetryTimeout, func() *resource.RetryError {
326+
e := kmsService.DisableKey(ctx, keyId)
327+
if e != nil {
328+
return retryError(e)
329+
}
330+
return nil
331+
})
332+
if err != nil {
333+
log.Printf("[CRITAL]%s modify KMS key state failed, reason:%+v", logId, err)
334+
return err
335+
}
336+
}
323337
err := resource.Retry(writeRetryTimeout, func() *resource.RetryError {
324338
e := kmsService.DeleteKey(ctx, keyId, uint64(pendingDeleteWindowInDays))
325339
if e != nil {

tencentcloud/resource_tc_kms_key.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,20 @@ func resourceTencentCloudKmsKeyDelete(d *schema.ResourceData, meta interface{})
319319

320320
keyId := d.Id()
321321
pendingDeleteWindowInDays := d.Get("pending_delete_window_in_days").(int)
322+
keyState := d.Get("key_state").(string)
323+
if keyState == KMS_KEY_STATE_ENABLED {
324+
err := resource.Retry(writeRetryTimeout, func() *resource.RetryError {
325+
e := kmsService.DisableKey(ctx, keyId)
326+
if e != nil {
327+
return retryError(e)
328+
}
329+
return nil
330+
})
331+
if err != nil {
332+
log.Printf("[CRITAL]%s modify KMS key state failed, reason:%+v", logId, err)
333+
return err
334+
}
335+
}
322336
err := resource.Retry(writeRetryTimeout, func() *resource.RetryError {
323337
e := kmsService.DeleteKey(ctx, keyId, uint64(pendingDeleteWindowInDays))
324338
if e != nil {

0 commit comments

Comments
 (0)