Skip to content

Commit 8625502

Browse files
authored
fix(clb): [128546546] tencentcloud_clb_instance optimiz delete code logic (#3597)
* add * add
1 parent 6ad5a3a commit 8625502

File tree

3 files changed

+15
-0
lines changed

3 files changed

+15
-0
lines changed

.changelog/3597.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
resource/tencentcloud_clb_instance: optimiz delete code logic.
3+
```

tencentcloud/services/clb/resource_tc_clb_instance.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1515
"github.com/pkg/errors"
1616
clb "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb/v20180317"
17+
sdkErrors "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors"
1718
vpc "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312"
1819

1920
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper"
@@ -1111,6 +1112,12 @@ func resourceTencentCloudClbInstanceDelete(d *schema.ResourceData, meta interfac
11111112
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
11121113
e := clbService.DeleteLoadBalancerById(ctx, clbId)
11131114
if e != nil {
1115+
if ve, ok := e.(*sdkErrors.TencentCloudSDKError); ok {
1116+
if ve.GetCode() == "FailedOperation.ResourceInOperating" {
1117+
return tccommon.RetryError(e, "FailedOperation.ResourceInOperating")
1118+
}
1119+
}
1120+
11141121
return tccommon.RetryError(e)
11151122
}
11161123

tencentcloud/services/clb/service_tencentcloud_clb.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,12 @@ func (me *ClbService) DeleteLoadBalancerById(ctx context.Context, clbId string)
136136
if e.GetCode() == "InvalidParameter.LBIdNotFound" {
137137
return nil
138138
}
139+
140+
if e.GetCode() == "FailedOperation.ResourceInOperating" {
141+
return err
142+
}
139143
}
144+
140145
return errors.WithStack(err)
141146
}
142147
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n",

0 commit comments

Comments
 (0)