@@ -418,6 +418,7 @@ func (me *CfwService) DescribeCfwNatPolicyById(ctx context.Context, uuid string)
418418 logId := tccommon .GetLogId (ctx )
419419
420420 request := cfw .NewDescribeNatAcRuleRequest ()
421+ response := cfw .NewDescribeNatAcRuleResponse ()
421422 request .Limit = common .Uint64Ptr (20 )
422423 request .Offset = common .Uint64Ptr (0 )
423424 request .Filters = []* cfw.CommonFilter {
@@ -434,16 +435,28 @@ func (me *CfwService) DescribeCfwNatPolicyById(ctx context.Context, uuid string)
434435 }
435436 }()
436437
437- ratelimit .Check (request .GetAction ())
438+ err := resource .Retry (tccommon .ReadRetryTimeout , func () * resource.RetryError {
439+ ratelimit .Check (request .GetAction ())
440+ result , e := me .client .UseCfwClient ().DescribeNatAcRule (request )
441+ if e != nil {
442+ return tccommon .RetryError (e )
443+ } else {
444+ log .Printf ("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n " , logId , request .GetAction (), request .ToJsonString (), response .ToJsonString ())
445+ }
446+
447+ if result == nil || result .Response == nil || result .Response .Data == nil {
448+ return resource .NonRetryableError (fmt .Errorf ("Describe nat ac rule failed, Response is nil." ))
449+ }
450+
451+ response = result
452+ return nil
453+ })
438454
439- response , err := me .client .UseCfwClient ().DescribeNatAcRule (request )
440455 if err != nil {
441456 errRet = err
442457 return
443458 }
444459
445- log .Printf ("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n " , logId , request .GetAction (), request .ToJsonString (), response .ToJsonString ())
446-
447460 if len (response .Response .Data ) < 1 {
448461 return
449462 }
@@ -465,16 +478,23 @@ func (me *CfwService) DeleteCfwNatPolicyById(ctx context.Context, uuid string) (
465478 }
466479 }()
467480
468- ratelimit .Check (request .GetAction ())
481+ err := resource .Retry (tccommon .WriteRetryTimeout , func () * resource.RetryError {
482+ ratelimit .Check (request .GetAction ())
483+ result , e := me .client .UseCfwClient ().RemoveNatAcRule (request )
484+ if e != nil {
485+ return tccommon .RetryError (e )
486+ } else {
487+ log .Printf ("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n " , logId , request .GetAction (), request .ToJsonString (), result .ToJsonString ())
488+ }
489+
490+ return nil
491+ })
469492
470- response , err := me .client .UseCfwClient ().RemoveNatAcRule (request )
471493 if err != nil {
472494 errRet = err
473495 return
474496 }
475497
476- log .Printf ("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n " , logId , request .GetAction (), request .ToJsonString (), response .ToJsonString ())
477-
478498 return
479499}
480500
0 commit comments