service/s3/s3manager/s3manageriface: Add missing methods
Adds the missing interface and methods from the `s3manager` Uploader, Downloader, and Batch Delete utilities.
@@ -9,13 +9,21 @@ import (
"github.com/aws/aws-sdk-go/service/s3/s3manager"
)
+var _ DownloaderAPI = (*s3manager.Downloader)(nil)
+
// DownloaderAPI is the interface type for s3manager.Downloader.
type DownloaderAPI interface {
Download(io.WriterAt, *s3.GetObjectInput, ...func(*s3manager.Downloader)) (int64, error)
DownloadWithContext(aws.Context, io.WriterAt, *s3.GetObjectInput, ...func(*s3manager.Downloader)) (int64, error)
}
-var _ DownloaderAPI = (*s3manager.Downloader)(nil)
+// DownloadWithIterator is the interface type for the contained method of the same name.
+type DownloadWithIterator interface {
+ DownloadWithIterator(aws.Context, s3manager.BatchDownloadIterator, ...func(*s3manager.Downloader)) error
+}
+
+var _ UploaderAPI = (*s3manager.Uploader)(nil)
+var _ UploadWithIterator = (*s3manager.Uploader)(nil)
// UploaderAPI is the interface type for s3manager.Uploader.
type UploaderAPI interface {
@@ -23,4 +31,16 @@ type UploaderAPI interface {
UploadWithContext(aws.Context, *s3manager.UploadInput, ...func(*s3manager.Uploader)) (*s3manager.UploadOutput, error)
}
-var _ UploaderAPI = (*s3manager.Uploader)(nil)
+// UploadWithIterator is the interface for uploading objects to S3 using the S3
+// upload manager.
+type UploadWithIterator interface {
+ UploadWithIterator(aws.Context, s3manager.BatchUploadIterator, ...func(*s3manager.Uploader)) error
+}
+
+var _ BatchDelete = (*s3manager.BatchDelete)(nil)
+
+// BatchDelete is the interface type for batch deleting objects from S3 using
+// the S3 manager. (separated for user to compose).
+type BatchDelete interface {
+ Delete(aws.Context, s3manager.BatchDeleteIterator) error
+}
