44 "context"
55 "log"
66
7+ "github.com/hashicorp/terraform-plugin-sdk/helper/resource"
78 cbs "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs/v20170312"
89 "github.com/terraform-providers/terraform-provider-tencentcloud/tencentcloud/connectivity"
910 "github.com/terraform-providers/terraform-provider-tencentcloud/tencentcloud/internal/helper"
@@ -239,8 +240,18 @@ func (me *CbsService) DescribeSnapshotByIds(ctx context.Context, snapshotIdsPara
239240 for {
240241 request .Offset = helper .IntUint64 (offset )
241242 request .Limit = helper .IntUint64 (pageSize )
242- ratelimit .Check (request .GetAction ())
243- response , err := me .client .UseCbsClient ().DescribeSnapshots (request )
243+
244+ var err error
245+ var response * cbs.DescribeSnapshotsResponse
246+ err = resource .Retry (readRetryTimeout , func () * resource.RetryError {
247+ ratelimit .Check (request .GetAction ())
248+ response , err = me .client .UseCbsClient ().DescribeSnapshots (request )
249+ if err != nil {
250+ return retryError (err , InternalError )
251+ }
252+ return nil
253+ })
254+
244255 if err != nil {
245256 log .Printf ("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n " ,
246257 logId , request .GetAction (), request .ToJsonString (), err .Error ())
@@ -255,7 +266,6 @@ func (me *CbsService) DescribeSnapshotByIds(ctx context.Context, snapshotIdsPara
255266 }
256267
257268 snapshots = append (snapshots , response .Response .SnapshotSet ... )
258-
259269 if len (response .Response .SnapshotSet ) < pageSize {
260270 break
261271 }
0 commit comments