From 2924a939baee29941fa93b9f07289d103c8cf8f8 Mon Sep 17 00:00:00 2001 From: oliverpei Date: Thu, 14 Nov 2019 14:58:32 +0800 Subject: [PATCH] fix key pair destroy --- tencentcloud/extension_cvm.go | 2 ++ tencentcloud/resource_tc_key_pair.go | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/tencentcloud/extension_cvm.go b/tencentcloud/extension_cvm.go index c8b64d4dfb..86ad666089 100644 --- a/tencentcloud/extension_cvm.go +++ b/tencentcloud/extension_cvm.go @@ -31,6 +31,8 @@ const ( ZONE_STATE_AVAILABLE = "AVAILABLE" ZONE_STATE_UNAVAILABLE = "UNAVAILABLE" + + CVM_NOT_FOUND_ERROR = "InvalidInstanceId.NotFound" ) var CVM_CHARGE_TYPE = []string{ diff --git a/tencentcloud/resource_tc_key_pair.go b/tencentcloud/resource_tc_key_pair.go index 3eff6001de..be7ff477a6 100644 --- a/tencentcloud/resource_tc_key_pair.go +++ b/tencentcloud/resource_tc_key_pair.go @@ -26,6 +26,7 @@ import ( "github.com/hashicorp/terraform/helper/resource" "github.com/hashicorp/terraform/helper/schema" + "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors" cvm "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm/v20170312" ) @@ -186,6 +187,11 @@ func resourceTencentCloudKeyPairDelete(d *schema.ResourceData, meta interface{}) err = resource.Retry(writeRetryTimeout, func() *resource.RetryError { errRet := cvmService.UnbindKeyPair(ctx, keyId, keyPair.AssociatedInstanceIds) if errRet != nil { + if sdkErr, ok := errRet.(*errors.TencentCloudSDKError); ok { + if sdkErr.Code == CVM_NOT_FOUND_ERROR { + return nil + } + } return retryError(errRet) } return nil