From 06c3b6aa82e21dcdb1ad79744086db6798a40714 Mon Sep 17 00:00:00 2001 From: mikatong Date: Mon, 13 Jan 2025 19:23:29 +0800 Subject: [PATCH 1/2] update --- tencentcloud/services/cvm/resource_tc_instance.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tencentcloud/services/cvm/resource_tc_instance.go b/tencentcloud/services/cvm/resource_tc_instance.go index 5e794d9982..7accdb46c2 100644 --- a/tencentcloud/services/cvm/resource_tc_instance.go +++ b/tencentcloud/services/cvm/resource_tc_instance.go @@ -752,6 +752,9 @@ func resourceTencentCloudInstanceCreate(d *schema.ResourceData, meta interface{} request.TagSpecification = append(request.TagSpecification, &tagSpecification) } + clientToken := helper.BuildToken() + request.ClientToken = &clientToken + instanceId := "" err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { ratelimit.Check("create") @@ -764,7 +767,7 @@ func resourceTencentCloudInstanceCreate(d *schema.ResourceData, meta interface{} return resource.RetryableError(fmt.Errorf("cvm create error: %s, retrying", e.Error())) } - return resource.NonRetryableError(err) + return tccommon.RetryError(err) } log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", @@ -1790,7 +1793,7 @@ func resourceTencentCloudInstanceUpdate(d *schema.ResourceData, meta interface{} err = resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError { instance, err := cvmService.DescribeInstanceById(ctx, instanceId) if err != nil { - return resource.NonRetryableError(err) + return tccommon.RetryError(err) } if instance != nil && instance.LatestOperationState != nil { From d7864215fdec7540dca8c00c56d46b3dca8c6589 Mon Sep 17 00:00:00 2001 From: mikatong Date: Mon, 13 Jan 2025 19:28:02 +0800 Subject: [PATCH 2/2] add changelog --- .changelog/3075.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/3075.txt diff --git a/.changelog/3075.txt b/.changelog/3075.txt new file mode 100644 index 0000000000..56c248f702 --- /dev/null +++ b/.changelog/3075.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/tencentcloud_instance: create support idempotent +```