Struct: s3.ListMultipartUploadsPaginator

import "../ibm-cos-sdk-go-v2/service/s3"

Overview

ListMultipartUploadsPaginator is a paginator for ListMultipartUploads

Implemented Interfaces

types.AnalyticsFilter, v4.HTTPPresigner, s3.HTTPPresignerV4, types.MetricsFilter, s3.PresignPost, arn.S3ObjectLambdaARN, types.SelectObjectContentEventStream

Method Summary collapse

Method Details

func (p *ListMultipartUploadsPaginator) HasMorePages() bool

HasMorePages returns a boolean indicating whether more pages are available



168
169
170
// File 'service/s3/handwritten_paginators.go', line 168

func (p *ListMultipartUploadsPaginator) HasMorePages() bool { return p.firstPage || p.isTruncated }

func (p *ListMultipartUploadsPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListMultipartUploadsOutput, error)

NextPage retrieves the next ListMultipartUploads page.



173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
// File 'service/s3/handwritten_paginators.go', line 173

func (p *ListMultipartUploadsPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListMultipartUploadsOutput, error) { if !p.HasMorePages() { return nil, fmt.Errorf("no more pages available") } params := *p.params params.KeyMarker = p.keyMarker params.UploadIdMarker = p.uploadIDMarker var limit int32 if p.options.Limit > 0 { limit = p.options.Limit } if limit > 0 { params.MaxUploads = aws.Int32(limit) } result, err := p.client.ListMultipartUploads(ctx, ¶ms, optFns...) if err != nil { return nil, err } p.firstPage = false prevToken := p.keyMarker p.isTruncated = aws.ToBool(result.IsTruncated) p.keyMarker = nil p.uploadIDMarker = nil if aws.ToBool(result.IsTruncated) { p.keyMarker = result.NextKeyMarker p.uploadIDMarker = result.NextUploadIdMarker } if p.options.StopOnDuplicateToken && prevToken != nil && p.keyMarker != nil && *prevToken == *p.keyMarker { p.isTruncated = false } return result, nil }