Skip to content

Commit 784954e

Browse files
tongyimingmikatong
and
mikatong
authored
fix(cvm): [123456789] create support idempotent (#3075)
* update * add changelog --------- Co-authored-by: mikatong <[email protected]>
1 parent 155fc02 commit 784954e

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

.changelog/3075.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_instance: create support idempotent
3+
```

tencentcloud/services/cvm/resource_tc_instance.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -752,6 +752,9 @@ func resourceTencentCloudInstanceCreate(d *schema.ResourceData, meta interface{}
752752
request.TagSpecification = append(request.TagSpecification, &tagSpecification)
753753
}
754754

755+
clientToken := helper.BuildToken()
756+
request.ClientToken = &clientToken
757+
755758
instanceId := ""
756759
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
757760
ratelimit.Check("create")
@@ -764,7 +767,7 @@ func resourceTencentCloudInstanceCreate(d *schema.ResourceData, meta interface{}
764767
return resource.RetryableError(fmt.Errorf("cvm create error: %s, retrying", e.Error()))
765768
}
766769

767-
return resource.NonRetryableError(err)
770+
return tccommon.RetryError(err)
768771
}
769772

770773
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{}
17901793
err = resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
17911794
instance, err := cvmService.DescribeInstanceById(ctx, instanceId)
17921795
if err != nil {
1793-
return resource.NonRetryableError(err)
1796+
return tccommon.RetryError(err)
17941797
}
17951798

17961799
if instance != nil && instance.LatestOperationState != nil {

0 commit comments

Comments
 (0)