diff --git a/.changelog/3304.txt b/.changelog/3304.txt new file mode 100644 index 0000000000..9877068aaf --- /dev/null +++ b/.changelog/3304.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/tencentcloud_vpc_end_point: Optimize query function +``` \ No newline at end of file diff --git a/tencentcloud/services/dcg/service_tencentcloud_vpc.go b/tencentcloud/services/dcg/service_tencentcloud_vpc.go index 93951601fb..7875fd909b 100644 --- a/tencentcloud/services/dcg/service_tencentcloud_vpc.go +++ b/tencentcloud/services/dcg/service_tencentcloud_vpc.go @@ -5591,6 +5591,7 @@ func (me *VpcService) DescribeVpcEndPointServiceById(ctx context.Context, endPoi logId := tccommon.GetLogId(ctx) request := vpc.NewDescribeVpcEndPointServiceRequest() + response := vpc.NewDescribeVpcEndPointServiceResponse() request.EndPointServiceIds = []*string{&endPointServiceId} defer func() { @@ -5609,12 +5610,28 @@ func (me *VpcService) DescribeVpcEndPointServiceById(ctx context.Context, endPoi for { request.Offset = &offset request.Limit = &limit - response, err := me.client.UseVpcClient().DescribeVpcEndPointService(request) + + err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError { + ratelimit.Check(request.GetAction()) + result, e := me.client.UseVpcClient().DescribeVpcEndPointService(request) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + if result == nil || result.Response == nil { + return resource.NonRetryableError(fmt.Errorf("Describe vpc endPoint service failed, Response is nil.")) + } + + response = result + return nil + }) + if err != nil { errRet = err return } - log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) if response == nil || len(response.Response.EndPointServiceSet) < 1 { break @@ -5662,6 +5679,7 @@ func (me *VpcService) DescribeVpcEndPointById(ctx context.Context, endPointId st logId := tccommon.GetLogId(ctx) request := vpc.NewDescribeVpcEndPointRequest() + response := vpc.NewDescribeVpcEndPointResponse() request.EndPointId = []*string{&endPointId} defer func() { @@ -5680,12 +5698,27 @@ func (me *VpcService) DescribeVpcEndPointById(ctx context.Context, endPointId st for { request.Offset = &offset request.Limit = &limit - response, err := me.client.UseVpcClient().DescribeVpcEndPoint(request) + err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError { + ratelimit.Check(request.GetAction()) + result, e := me.client.UseVpcClient().DescribeVpcEndPoint(request) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + if result == nil || result.Response == nil { + return resource.NonRetryableError(fmt.Errorf("Describe vpc endPoint failed, Response is nil.")) + } + + response = result + return nil + }) + if err != nil { errRet = err return } - log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) if response == nil || len(response.Response.EndPointSet) < 1 { break diff --git a/tencentcloud/services/vpc/service_tencentcloud_vpc.go b/tencentcloud/services/vpc/service_tencentcloud_vpc.go index f01d8ffcc2..5ce037896c 100644 --- a/tencentcloud/services/vpc/service_tencentcloud_vpc.go +++ b/tencentcloud/services/vpc/service_tencentcloud_vpc.go @@ -5929,6 +5929,7 @@ func (me *VpcService) DescribeVpcEndPointById(ctx context.Context, endPointId st logId := tccommon.GetLogId(ctx) request := vpc.NewDescribeVpcEndPointRequest() + response := vpc.NewDescribeVpcEndPointResponse() request.EndPointId = []*string{&endPointId} defer func() { @@ -5947,12 +5948,28 @@ func (me *VpcService) DescribeVpcEndPointById(ctx context.Context, endPointId st for { request.Offset = &offset request.Limit = &limit - response, err := me.client.UseVpcClient().DescribeVpcEndPoint(request) + + err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError { + ratelimit.Check(request.GetAction()) + result, e := me.client.UseVpcClient().DescribeVpcEndPoint(request) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + if result == nil || result.Response == nil { + return resource.NonRetryableError(fmt.Errorf("Describe vpc endPoint failed, Response is nil.")) + } + + response = result + return nil + }) + if err != nil { errRet = err return } - log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) if response == nil || len(response.Response.EndPointSet) < 1 { break