Skip to content

Commit 8969592

Browse files
authored
fix(tcr): [128831291] tencentcloud_tcr_service_account optimiz read function code logic (#3609)
* add * add
1 parent 228d331 commit 8969592

File tree

2 files changed

+49
-9
lines changed

2 files changed

+49
-9
lines changed

.changelog/3609.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_tcr_service_account: optimiz read function code logic.
3+
```

tencentcloud/services/tcr/service_tencentcloud_tcr.go

Lines changed: 46 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1742,6 +1742,7 @@ func (me *TCRService) DescribeTcrServiceAccountById(ctx context.Context, registr
17421742
logId := tccommon.GetLogId(ctx)
17431743

17441744
request := tcr.NewDescribeServiceAccountsRequest()
1745+
response := tcr.NewDescribeServiceAccountsResponse()
17451746
request.RegistryId = &registryId
17461747

17471748
defer func() {
@@ -1750,14 +1751,27 @@ func (me *TCRService) DescribeTcrServiceAccountById(ctx context.Context, registr
17501751
}
17511752
}()
17521753

1753-
ratelimit.Check(request.GetAction())
1754+
err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
1755+
ratelimit.Check(request.GetAction())
1756+
result, e := me.client.UseTCRClient().DescribeServiceAccounts(request)
1757+
if e != nil {
1758+
return tccommon.RetryError(e)
1759+
} else {
1760+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
1761+
}
1762+
1763+
if result == nil || result.Response == nil || result.Response.ServiceAccounts == nil {
1764+
return resource.NonRetryableError(fmt.Errorf("Describe tcr ServiceAccounts failed, Response is nil."))
1765+
}
1766+
1767+
response = result
1768+
return nil
1769+
})
17541770

1755-
response, err := me.client.UseTCRClient().DescribeServiceAccounts(request)
17561771
if err != nil {
17571772
errRet = err
17581773
return
17591774
}
1760-
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
17611775

17621776
if len(response.Response.ServiceAccounts) < 1 {
17631777
return
@@ -1790,14 +1804,22 @@ func (me *TCRService) DeleteTcrServiceAccountById(ctx context.Context, registryI
17901804
}
17911805
}()
17921806

1793-
ratelimit.Check(request.GetAction())
1807+
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
1808+
ratelimit.Check(request.GetAction())
1809+
result, e := me.client.UseTCRClient().DeleteServiceAccount(request)
1810+
if e != nil {
1811+
return tccommon.RetryError(e)
1812+
} else {
1813+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
1814+
}
1815+
1816+
return nil
1817+
})
17941818

1795-
response, err := me.client.UseTCRClient().DeleteServiceAccount(request)
17961819
if err != nil {
17971820
errRet = err
17981821
return
17991822
}
1800-
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
18011823

18021824
return
18031825
}
@@ -1806,6 +1828,7 @@ func (me *TCRService) ModifyServiceAccountPassword(ctx context.Context, registry
18061828
logId := tccommon.GetLogId(ctx)
18071829

18081830
request := tcr.NewModifyServiceAccountPasswordRequest()
1831+
response := tcr.NewModifyServiceAccountPasswordResponse()
18091832
request.RegistryId = &registryId
18101833
request.Name = &name
18111834
request.Random = helper.Bool(false)
@@ -1817,17 +1840,31 @@ func (me *TCRService) ModifyServiceAccountPassword(ctx context.Context, registry
18171840
}
18181841
}()
18191842

1820-
ratelimit.Check(request.GetAction())
1843+
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
1844+
ratelimit.Check(request.GetAction())
1845+
result, e := me.client.UseTCRClient().ModifyServiceAccountPassword(request)
1846+
if e != nil {
1847+
return tccommon.RetryError(e)
1848+
} else {
1849+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
1850+
}
1851+
1852+
if result == nil || result.Response == nil {
1853+
return resource.NonRetryableError(fmt.Errorf("Modify tcr ServiceAccountPassword failed, Response is nil."))
1854+
}
1855+
1856+
response = result
1857+
return nil
1858+
})
18211859

1822-
response, err := me.client.UseTCRClient().ModifyServiceAccountPassword(request)
18231860
if err != nil {
18241861
errRet = err
18251862
return
18261863
}
1827-
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
18281864

18291865
if response.Response.Password != nil {
18301866
passwordResp = *response.Response.Password
18311867
}
1868+
18321869
return
18331870
}

0 commit comments

Comments
 (0)