Skip to content

Commit 2f7794b

Browse files
committed
resource tencentcloud_ssl_certificate fix bug when destroy a certificate
1 parent ceb5bc0 commit 2f7794b

File tree

2 files changed

+27
-2
lines changed

2 files changed

+27
-2
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ ENHANCEMENTS:
1313
* Resource `tencentcloud_kubernetes_node_pool` add `unschedulable` to sets whether the joining node participates in the schedule.
1414
* Resource `tencentcloud_kubernetes_scale_worker` add `unschedulable` to sets whether the joining node participates in the schedule.
1515

16+
BUG FIXES:
17+
18+
* Resource `tencentcloud_ssl_certificate` fix bug when trying to destroy a certificate associated with multiple resources.
19+
1620
## 1.53.9 (March 19, 2021)
1721

1822
ENHANCEMENTS:

tencentcloud/resource_tc_ssl_certificate.go

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,13 @@ import (
2626
"context"
2727
"errors"
2828
"fmt"
29+
"log"
2930
"strconv"
3031
"strings"
3132

33+
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
3234
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
35+
sslCertificate "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssl/v20191205"
3336
ssl "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wss/v20180426"
3437
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper"
3538
)
@@ -254,7 +257,25 @@ func resourceTencentCloudSslCertificateDelete(d *schema.ResourceData, m interfac
254257

255258
id := d.Id()
256259

257-
service := SslService{client: m.(*TencentCloudClient).apiV3Conn}
260+
service := SSLService{client: m.(*TencentCloudClient).apiV3Conn}
261+
262+
request := sslCertificate.NewDeleteCertificateRequest()
263+
request.CertificateId = helper.String(id)
264+
265+
err := resource.Retry(writeRetryTimeout, func() *resource.RetryError {
266+
deleteResult, e := service.DeleteCertificate(ctx, request)
267+
if e != nil {
268+
return retryError(e)
269+
}
270+
if !deleteResult {
271+
return resource.NonRetryableError(errors.New("failed to delete certificate"))
272+
}
273+
return nil
274+
})
258275

259-
return service.DeleteCertificate(ctx, id)
276+
if err != nil {
277+
log.Printf("[CRITAL]%s delete SSL certificate failed, reason:%+v", logId, err)
278+
return err
279+
}
280+
return nil
260281
}

0 commit comments

Comments
 (0)