@@ -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