From 7793a5c5e81145e7714857b1d2370b27bfa65a28 Mon Sep 17 00:00:00 2001 From: mikatong Date: Thu, 17 Nov 2022 19:07:09 +0800 Subject: [PATCH 1/4] fix: gaap retry error --- tencentcloud/resource_tc_gaap_proxy.go | 2 +- tencentcloud/service_tencentcloud_gaap.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tencentcloud/resource_tc_gaap_proxy.go b/tencentcloud/resource_tc_gaap_proxy.go index b737af34f4..421a839d96 100644 --- a/tencentcloud/resource_tc_gaap_proxy.go +++ b/tencentcloud/resource_tc_gaap_proxy.go @@ -96,7 +96,7 @@ func resourceTencentCloudGaapProxy() *schema.Resource { "tags": { Type: schema.TypeMap, Optional: true, - Description: "Tags of the GAAP proxy.", + Description: "Tags of the GAAP proxy. Tags that do not exist are not created automatically.", }, // computed diff --git a/tencentcloud/service_tencentcloud_gaap.go b/tencentcloud/service_tencentcloud_gaap.go index 209a518a58..1115342a50 100644 --- a/tencentcloud/service_tencentcloud_gaap.go +++ b/tencentcloud/service_tencentcloud_gaap.go @@ -324,7 +324,6 @@ func (me *GaapService) CreateProxy( createRequest.Concurrent = helper.IntUint64(concurrent) createRequest.AccessRegion = &accessRegion createRequest.RealServerRegion = &realserverRegion - createRequest.ClientToken = helper.String(helper.BuildToken()) for k, v := range tags { createRequest.TagSet = append(createRequest.TagSet, &gaap.TagPair{ TagKey: helper.String(k), @@ -334,6 +333,7 @@ func (me *GaapService) CreateProxy( if err := resource.Retry(2*writeRetryTimeout, func() *resource.RetryError { ratelimit.Check(createRequest.GetAction()) + createRequest.ClientToken = helper.String(helper.BuildToken()) response, err := client.CreateProxy(createRequest) if err != nil { From f842206494b67b3b1fca5a46810e17dd3e4dab6e Mon Sep 17 00:00:00 2001 From: mikatong Date: Thu, 17 Nov 2022 19:15:24 +0800 Subject: [PATCH 2/4] update gaap tag description --- website/docs/r/gaap_proxy.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/r/gaap_proxy.html.markdown b/website/docs/r/gaap_proxy.html.markdown index 077f9c2d50..5cd50da59e 100644 --- a/website/docs/r/gaap_proxy.html.markdown +++ b/website/docs/r/gaap_proxy.html.markdown @@ -38,7 +38,7 @@ The following arguments are supported: * `realserver_region` - (Required, String, ForceNew) Region of the GAAP realserver. Valid value: `NorthChina`, `EastChina`, `SouthChina`, `SouthwestChina`, `Hongkong`, `SL_TAIWAN`, `SoutheastAsia`, `Korea`, `SL_India`, `SL_Australia`, `Europe`, `SL_UK`, `SL_SouthAmerica`, `NorthAmerica`, `SL_MiddleUSA`, `Canada`, `SL_VIET`, `WestIndia`, `Thailand`, `Virginia`, `Russia`, `Japan` and `SL_Indonesia`. * `enable` - (Optional, Bool) Indicates whether GAAP proxy is enabled, default value is `true`. * `project_id` - (Optional, Int) ID of the project within the GAAP proxy, `0` means is default project. -* `tags` - (Optional, Map) Tags of the GAAP proxy. +* `tags` - (Optional, Map) Tags of the GAAP proxy. Tags that do not exist are not created automatically. ## Attributes Reference From dafee4af45a262943458895866fe25a6bcb52287 Mon Sep 17 00:00:00 2001 From: mikatong Date: Thu, 17 Nov 2022 19:24:55 +0800 Subject: [PATCH 3/4] update all gaap proxy retry --- tencentcloud/service_tencentcloud_gaap.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tencentcloud/service_tencentcloud_gaap.go b/tencentcloud/service_tencentcloud_gaap.go index 1115342a50..30446fc032 100644 --- a/tencentcloud/service_tencentcloud_gaap.go +++ b/tencentcloud/service_tencentcloud_gaap.go @@ -412,10 +412,10 @@ func (me *GaapService) EnableProxy(ctx context.Context, id string) error { enableRequest := gaap.NewOpenProxiesRequest() enableRequest.ProxyIds = []*string{&id} - enableRequest.ClientToken = helper.String(helper.BuildToken()) if err := resource.Retry(writeRetryTimeout, func() *resource.RetryError { ratelimit.Check(enableRequest.GetAction()) + enableRequest.ClientToken = helper.String(helper.BuildToken()) response, err := client.OpenProxies(enableRequest) if err != nil { @@ -491,10 +491,10 @@ func (me *GaapService) DisableProxy(ctx context.Context, id string) error { disableRequest := gaap.NewCloseProxiesRequest() disableRequest.ProxyIds = []*string{&id} - disableRequest.ClientToken = helper.String(helper.BuildToken()) if err := resource.Retry(writeRetryTimeout, func() *resource.RetryError { ratelimit.Check(disableRequest.GetAction()) + disableRequest.ClientToken = helper.String(helper.BuildToken()) response, err := client.CloseProxies(disableRequest) if err != nil { @@ -649,10 +649,10 @@ func (me *GaapService) ModifyProxyName(ctx context.Context, id, name string) err request := gaap.NewModifyProxiesAttributeRequest() request.ProxyIds = []*string{&id} request.ProxyName = &name - request.ClientToken = helper.String(helper.BuildToken()) if err := resource.Retry(writeRetryTimeout, func() *resource.RetryError { ratelimit.Check(request.GetAction()) + request.ClientToken = helper.String(helper.BuildToken()) if _, err := me.client.UseGaapClient().ModifyProxiesAttribute(request); err != nil { log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]", @@ -674,10 +674,10 @@ func (me *GaapService) ModifyProxyProjectId(ctx context.Context, id string, proj request := gaap.NewModifyProxiesProjectRequest() request.ProxyIds = []*string{&id} request.ProjectId = helper.IntInt64(projectId) - request.ClientToken = helper.String(helper.BuildToken()) if err := resource.Retry(writeRetryTimeout, func() *resource.RetryError { ratelimit.Check(request.GetAction()) + request.ClientToken = helper.String(helper.BuildToken()) if _, err := me.client.UseGaapClient().ModifyProxiesProject(request); err != nil { log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]", @@ -705,10 +705,10 @@ func (me *GaapService) ModifyProxyConfiguration(ctx context.Context, id string, if concurrent != nil { modifyRequest.Concurrent = helper.IntUint64(*concurrent) } - modifyRequest.ClientToken = helper.String(helper.BuildToken()) if err := resource.Retry(2*writeRetryTimeout, func() *resource.RetryError { ratelimit.Check(modifyRequest.GetAction()) + modifyRequest.ClientToken = helper.String(helper.BuildToken()) if _, err := client.ModifyProxyConfiguration(modifyRequest); err != nil { log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]", From bc1eb5b315d49d45a128908c13a267535e0ab1ed Mon Sep 17 00:00:00 2001 From: mikatong Date: Thu, 17 Nov 2022 20:20:35 +0800 Subject: [PATCH 4/4] add changelog --- .changelog/1399.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/1399.txt diff --git a/.changelog/1399.txt b/.changelog/1399.txt new file mode 100644 index 0000000000..7bcd4e865d --- /dev/null +++ b/.changelog/1399.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/tencentcloud_gaap_proxy: fix gaap proxy retry error `DuplicatedRequest` +``` \ No newline at end of file