// Code generated by mocker. DO NOT EDIT.
// github.com/travisjeffery/mocker
// Source: ./vendor/github.com/aws/aws-sdk-go/service/s3/s3iface/interface.go

package mock

import (
	sync "sync"

	github_com_aws_aws_sdk_go_aws "github.com/aws/aws-sdk-go/aws"
	github_com_aws_aws_sdk_go_aws_request "github.com/aws/aws-sdk-go/aws/request"
	github_com_aws_aws_sdk_go_service_s3 "github.com/aws/aws-sdk-go/service/s3"
)

// S3API is a mock of S3API interface
type S3API struct {
	lockAbortMultipartUpload sync.Mutex
	AbortMultipartUploadFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.AbortMultipartUploadInput) (*github_com_aws_aws_sdk_go_service_s3.AbortMultipartUploadOutput, error)

	lockAbortMultipartUploadWithContext sync.Mutex
	AbortMultipartUploadWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.AbortMultipartUploadInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.AbortMultipartUploadOutput, error)

	lockAbortMultipartUploadRequest sync.Mutex
	AbortMultipartUploadRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.AbortMultipartUploadInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.AbortMultipartUploadOutput)

	lockCompleteMultipartUpload sync.Mutex
	CompleteMultipartUploadFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.CompleteMultipartUploadInput) (*github_com_aws_aws_sdk_go_service_s3.CompleteMultipartUploadOutput, error)

	lockCompleteMultipartUploadWithContext sync.Mutex
	CompleteMultipartUploadWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.CompleteMultipartUploadInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.CompleteMultipartUploadOutput, error)

	lockCompleteMultipartUploadRequest sync.Mutex
	CompleteMultipartUploadRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.CompleteMultipartUploadInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.CompleteMultipartUploadOutput)

	lockCopyObject sync.Mutex
	CopyObjectFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.CopyObjectInput) (*github_com_aws_aws_sdk_go_service_s3.CopyObjectOutput, error)

	lockCopyObjectWithContext sync.Mutex
	CopyObjectWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.CopyObjectInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.CopyObjectOutput, error)

	lockCopyObjectRequest sync.Mutex
	CopyObjectRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.CopyObjectInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.CopyObjectOutput)

	lockCreateBucket sync.Mutex
	CreateBucketFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.CreateBucketInput) (*github_com_aws_aws_sdk_go_service_s3.CreateBucketOutput, error)

	lockCreateBucketWithContext sync.Mutex
	CreateBucketWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.CreateBucketInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.CreateBucketOutput, error)

	lockCreateBucketRequest sync.Mutex
	CreateBucketRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.CreateBucketInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.CreateBucketOutput)

	lockCreateMultipartUpload sync.Mutex
	CreateMultipartUploadFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.CreateMultipartUploadInput) (*github_com_aws_aws_sdk_go_service_s3.CreateMultipartUploadOutput, error)

	lockCreateMultipartUploadWithContext sync.Mutex
	CreateMultipartUploadWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.CreateMultipartUploadInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.CreateMultipartUploadOutput, error)

	lockCreateMultipartUploadRequest sync.Mutex
	CreateMultipartUploadRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.CreateMultipartUploadInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.CreateMultipartUploadOutput)

	lockDeleteBucket sync.Mutex
	DeleteBucketFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketOutput, error)

	lockDeleteBucketWithContext sync.Mutex
	DeleteBucketWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketOutput, error)

	lockDeleteBucketRequest sync.Mutex
	DeleteBucketRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketOutput)

	lockDeleteBucketAnalyticsConfiguration sync.Mutex
	DeleteBucketAnalyticsConfigurationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketAnalyticsConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketAnalyticsConfigurationOutput, error)

	lockDeleteBucketAnalyticsConfigurationWithContext sync.Mutex
	DeleteBucketAnalyticsConfigurationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketAnalyticsConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketAnalyticsConfigurationOutput, error)

	lockDeleteBucketAnalyticsConfigurationRequest sync.Mutex
	DeleteBucketAnalyticsConfigurationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketAnalyticsConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketAnalyticsConfigurationOutput)

	lockDeleteBucketCors sync.Mutex
	DeleteBucketCorsFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketCorsInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketCorsOutput, error)

	lockDeleteBucketCorsWithContext sync.Mutex
	DeleteBucketCorsWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketCorsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketCorsOutput, error)

	lockDeleteBucketCorsRequest sync.Mutex
	DeleteBucketCorsRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketCorsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketCorsOutput)

	lockDeleteBucketEncryption sync.Mutex
	DeleteBucketEncryptionFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketEncryptionInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketEncryptionOutput, error)

	lockDeleteBucketEncryptionWithContext sync.Mutex
	DeleteBucketEncryptionWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketEncryptionInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketEncryptionOutput, error)

	lockDeleteBucketEncryptionRequest sync.Mutex
	DeleteBucketEncryptionRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketEncryptionInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketEncryptionOutput)

	lockDeleteBucketIntelligentTieringConfiguration sync.Mutex
	DeleteBucketIntelligentTieringConfigurationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketIntelligentTieringConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketIntelligentTieringConfigurationOutput, error)

	lockDeleteBucketIntelligentTieringConfigurationWithContext sync.Mutex
	DeleteBucketIntelligentTieringConfigurationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketIntelligentTieringConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketIntelligentTieringConfigurationOutput, error)

	lockDeleteBucketIntelligentTieringConfigurationRequest sync.Mutex
	DeleteBucketIntelligentTieringConfigurationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketIntelligentTieringConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketIntelligentTieringConfigurationOutput)

	lockDeleteBucketInventoryConfiguration sync.Mutex
	DeleteBucketInventoryConfigurationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInventoryConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketInventoryConfigurationOutput, error)

	lockDeleteBucketInventoryConfigurationWithContext sync.Mutex
	DeleteBucketInventoryConfigurationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInventoryConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketInventoryConfigurationOutput, error)

	lockDeleteBucketInventoryConfigurationRequest sync.Mutex
	DeleteBucketInventoryConfigurationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInventoryConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInventoryConfigurationOutput)

	lockDeleteBucketLifecycle sync.Mutex
	DeleteBucketLifecycleFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketLifecycleInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketLifecycleOutput, error)

	lockDeleteBucketLifecycleWithContext sync.Mutex
	DeleteBucketLifecycleWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketLifecycleInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketLifecycleOutput, error)

	lockDeleteBucketLifecycleRequest sync.Mutex
	DeleteBucketLifecycleRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketLifecycleInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketLifecycleOutput)

	lockDeleteBucketMetricsConfiguration sync.Mutex
	DeleteBucketMetricsConfigurationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketMetricsConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketMetricsConfigurationOutput, error)

	lockDeleteBucketMetricsConfigurationWithContext sync.Mutex
	DeleteBucketMetricsConfigurationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketMetricsConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketMetricsConfigurationOutput, error)

	lockDeleteBucketMetricsConfigurationRequest sync.Mutex
	DeleteBucketMetricsConfigurationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketMetricsConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketMetricsConfigurationOutput)

	lockDeleteBucketOwnershipControls sync.Mutex
	DeleteBucketOwnershipControlsFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketOwnershipControlsInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketOwnershipControlsOutput, error)

	lockDeleteBucketOwnershipControlsWithContext sync.Mutex
	DeleteBucketOwnershipControlsWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketOwnershipControlsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketOwnershipControlsOutput, error)

	lockDeleteBucketOwnershipControlsRequest sync.Mutex
	DeleteBucketOwnershipControlsRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketOwnershipControlsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketOwnershipControlsOutput)

	lockDeleteBucketPolicy sync.Mutex
	DeleteBucketPolicyFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketPolicyInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketPolicyOutput, error)

	lockDeleteBucketPolicyWithContext sync.Mutex
	DeleteBucketPolicyWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketPolicyInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketPolicyOutput, error)

	lockDeleteBucketPolicyRequest sync.Mutex
	DeleteBucketPolicyRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketPolicyInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketPolicyOutput)

	lockDeleteBucketReplication sync.Mutex
	DeleteBucketReplicationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketReplicationInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketReplicationOutput, error)

	lockDeleteBucketReplicationWithContext sync.Mutex
	DeleteBucketReplicationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketReplicationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketReplicationOutput, error)

	lockDeleteBucketReplicationRequest sync.Mutex
	DeleteBucketReplicationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketReplicationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketReplicationOutput)

	lockDeleteBucketTagging sync.Mutex
	DeleteBucketTaggingFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketTaggingInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketTaggingOutput, error)

	lockDeleteBucketTaggingWithContext sync.Mutex
	DeleteBucketTaggingWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketTaggingInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketTaggingOutput, error)

	lockDeleteBucketTaggingRequest sync.Mutex
	DeleteBucketTaggingRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketTaggingInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketTaggingOutput)

	lockDeleteBucketWebsite sync.Mutex
	DeleteBucketWebsiteFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketWebsiteInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketWebsiteOutput, error)

	lockDeleteBucketWebsiteWithContext sync.Mutex
	DeleteBucketWebsiteWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketWebsiteInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketWebsiteOutput, error)

	lockDeleteBucketWebsiteRequest sync.Mutex
	DeleteBucketWebsiteRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketWebsiteInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketWebsiteOutput)

	lockDeleteObject sync.Mutex
	DeleteObjectFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteObjectOutput, error)

	lockDeleteObjectWithContext sync.Mutex
	DeleteObjectWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteObjectOutput, error)

	lockDeleteObjectRequest sync.Mutex
	DeleteObjectRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteObjectOutput)

	lockDeleteObjectTagging sync.Mutex
	DeleteObjectTaggingFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectTaggingInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteObjectTaggingOutput, error)

	lockDeleteObjectTaggingWithContext sync.Mutex
	DeleteObjectTaggingWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectTaggingInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteObjectTaggingOutput, error)

	lockDeleteObjectTaggingRequest sync.Mutex
	DeleteObjectTaggingRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectTaggingInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteObjectTaggingOutput)

	lockDeleteObjects sync.Mutex
	DeleteObjectsFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectsInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteObjectsOutput, error)

	lockDeleteObjectsWithContext sync.Mutex
	DeleteObjectsWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteObjectsOutput, error)

	lockDeleteObjectsRequest sync.Mutex
	DeleteObjectsRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteObjectsOutput)

	lockDeletePublicAccessBlock sync.Mutex
	DeletePublicAccessBlockFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeletePublicAccessBlockInput) (*github_com_aws_aws_sdk_go_service_s3.DeletePublicAccessBlockOutput, error)

	lockDeletePublicAccessBlockWithContext sync.Mutex
	DeletePublicAccessBlockWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeletePublicAccessBlockInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeletePublicAccessBlockOutput, error)

	lockDeletePublicAccessBlockRequest sync.Mutex
	DeletePublicAccessBlockRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.DeletePublicAccessBlockInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeletePublicAccessBlockOutput)

	lockGetBucketAccelerateConfiguration sync.Mutex
	GetBucketAccelerateConfigurationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAccelerateConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketAccelerateConfigurationOutput, error)

	lockGetBucketAccelerateConfigurationWithContext sync.Mutex
	GetBucketAccelerateConfigurationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketAccelerateConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketAccelerateConfigurationOutput, error)

	lockGetBucketAccelerateConfigurationRequest sync.Mutex
	GetBucketAccelerateConfigurationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAccelerateConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketAccelerateConfigurationOutput)

	lockGetBucketAcl sync.Mutex
	GetBucketAclFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAclInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketAclOutput, error)

	lockGetBucketAclWithContext sync.Mutex
	GetBucketAclWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketAclInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketAclOutput, error)

	lockGetBucketAclRequest sync.Mutex
	GetBucketAclRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAclInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketAclOutput)

	lockGetBucketAnalyticsConfiguration sync.Mutex
	GetBucketAnalyticsConfigurationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAnalyticsConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketAnalyticsConfigurationOutput, error)

	lockGetBucketAnalyticsConfigurationWithContext sync.Mutex
	GetBucketAnalyticsConfigurationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketAnalyticsConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketAnalyticsConfigurationOutput, error)

	lockGetBucketAnalyticsConfigurationRequest sync.Mutex
	GetBucketAnalyticsConfigurationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAnalyticsConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketAnalyticsConfigurationOutput)

	lockGetBucketCors sync.Mutex
	GetBucketCorsFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketCorsInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketCorsOutput, error)

	lockGetBucketCorsWithContext sync.Mutex
	GetBucketCorsWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketCorsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketCorsOutput, error)

	lockGetBucketCorsRequest sync.Mutex
	GetBucketCorsRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketCorsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketCorsOutput)

	lockGetBucketEncryption sync.Mutex
	GetBucketEncryptionFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketEncryptionInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketEncryptionOutput, error)

	lockGetBucketEncryptionWithContext sync.Mutex
	GetBucketEncryptionWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketEncryptionInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketEncryptionOutput, error)

	lockGetBucketEncryptionRequest sync.Mutex
	GetBucketEncryptionRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketEncryptionInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketEncryptionOutput)

	lockGetBucketIntelligentTieringConfiguration sync.Mutex
	GetBucketIntelligentTieringConfigurationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketIntelligentTieringConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketIntelligentTieringConfigurationOutput, error)

	lockGetBucketIntelligentTieringConfigurationWithContext sync.Mutex
	GetBucketIntelligentTieringConfigurationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketIntelligentTieringConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketIntelligentTieringConfigurationOutput, error)

	lockGetBucketIntelligentTieringConfigurationRequest sync.Mutex
	GetBucketIntelligentTieringConfigurationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketIntelligentTieringConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketIntelligentTieringConfigurationOutput)

	lockGetBucketInventoryConfiguration sync.Mutex
	GetBucketInventoryConfigurationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketInventoryConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketInventoryConfigurationOutput, error)

	lockGetBucketInventoryConfigurationWithContext sync.Mutex
	GetBucketInventoryConfigurationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketInventoryConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketInventoryConfigurationOutput, error)

	lockGetBucketInventoryConfigurationRequest sync.Mutex
	GetBucketInventoryConfigurationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketInventoryConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketInventoryConfigurationOutput)

	lockGetBucketLifecycle sync.Mutex
	GetBucketLifecycleFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleOutput, error)

	lockGetBucketLifecycleWithContext sync.Mutex
	GetBucketLifecycleWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleOutput, error)

	lockGetBucketLifecycleRequest sync.Mutex
	GetBucketLifecycleRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleOutput)

	lockGetBucketLifecycleConfiguration sync.Mutex
	GetBucketLifecycleConfigurationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleConfigurationOutput, error)

	lockGetBucketLifecycleConfigurationWithContext sync.Mutex
	GetBucketLifecycleConfigurationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleConfigurationOutput, error)

	lockGetBucketLifecycleConfigurationRequest sync.Mutex
	GetBucketLifecycleConfigurationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleConfigurationOutput)

	lockGetBucketLocation sync.Mutex
	GetBucketLocationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLocationInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketLocationOutput, error)

	lockGetBucketLocationWithContext sync.Mutex
	GetBucketLocationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketLocationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketLocationOutput, error)

	lockGetBucketLocationRequest sync.Mutex
	GetBucketLocationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLocationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketLocationOutput)

	lockGetBucketLogging sync.Mutex
	GetBucketLoggingFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLoggingInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketLoggingOutput, error)

	lockGetBucketLoggingWithContext sync.Mutex
	GetBucketLoggingWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketLoggingInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketLoggingOutput, error)

	lockGetBucketLoggingRequest sync.Mutex
	GetBucketLoggingRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLoggingInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketLoggingOutput)

	lockGetBucketMetricsConfiguration sync.Mutex
	GetBucketMetricsConfigurationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketMetricsConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketMetricsConfigurationOutput, error)

	lockGetBucketMetricsConfigurationWithContext sync.Mutex
	GetBucketMetricsConfigurationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketMetricsConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketMetricsConfigurationOutput, error)

	lockGetBucketMetricsConfigurationRequest sync.Mutex
	GetBucketMetricsConfigurationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketMetricsConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketMetricsConfigurationOutput)

	lockGetBucketNotification sync.Mutex
	GetBucketNotificationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest) (*github_com_aws_aws_sdk_go_service_s3.NotificationConfigurationDeprecated, error)

	lockGetBucketNotificationWithContext sync.Mutex
	GetBucketNotificationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.NotificationConfigurationDeprecated, error)

	lockGetBucketNotificationRequest sync.Mutex
	GetBucketNotificationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.NotificationConfigurationDeprecated)

	lockGetBucketNotificationConfiguration sync.Mutex
	GetBucketNotificationConfigurationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest) (*github_com_aws_aws_sdk_go_service_s3.NotificationConfiguration, error)

	lockGetBucketNotificationConfigurationWithContext sync.Mutex
	GetBucketNotificationConfigurationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.NotificationConfiguration, error)

	lockGetBucketNotificationConfigurationRequest sync.Mutex
	GetBucketNotificationConfigurationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.NotificationConfiguration)

	lockGetBucketOwnershipControls sync.Mutex
	GetBucketOwnershipControlsFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketOwnershipControlsInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketOwnershipControlsOutput, error)

	lockGetBucketOwnershipControlsWithContext sync.Mutex
	GetBucketOwnershipControlsWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketOwnershipControlsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketOwnershipControlsOutput, error)

	lockGetBucketOwnershipControlsRequest sync.Mutex
	GetBucketOwnershipControlsRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketOwnershipControlsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketOwnershipControlsOutput)

	lockGetBucketPolicy sync.Mutex
	GetBucketPolicyFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyOutput, error)

	lockGetBucketPolicyWithContext sync.Mutex
	GetBucketPolicyWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyOutput, error)

	lockGetBucketPolicyRequest sync.Mutex
	GetBucketPolicyRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyOutput)

	lockGetBucketPolicyStatus sync.Mutex
	GetBucketPolicyStatusFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyStatusInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyStatusOutput, error)

	lockGetBucketPolicyStatusWithContext sync.Mutex
	GetBucketPolicyStatusWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyStatusInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyStatusOutput, error)

	lockGetBucketPolicyStatusRequest sync.Mutex
	GetBucketPolicyStatusRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyStatusInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyStatusOutput)

	lockGetBucketReplication sync.Mutex
	GetBucketReplicationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketReplicationInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketReplicationOutput, error)

	lockGetBucketReplicationWithContext sync.Mutex
	GetBucketReplicationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketReplicationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketReplicationOutput, error)

	lockGetBucketReplicationRequest sync.Mutex
	GetBucketReplicationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketReplicationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketReplicationOutput)

	lockGetBucketRequestPayment sync.Mutex
	GetBucketRequestPaymentFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketRequestPaymentInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketRequestPaymentOutput, error)

	lockGetBucketRequestPaymentWithContext sync.Mutex
	GetBucketRequestPaymentWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketRequestPaymentInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketRequestPaymentOutput, error)

	lockGetBucketRequestPaymentRequest sync.Mutex
	GetBucketRequestPaymentRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketRequestPaymentInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketRequestPaymentOutput)

	lockGetBucketTagging sync.Mutex
	GetBucketTaggingFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketTaggingInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketTaggingOutput, error)

	lockGetBucketTaggingWithContext sync.Mutex
	GetBucketTaggingWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketTaggingInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketTaggingOutput, error)

	lockGetBucketTaggingRequest sync.Mutex
	GetBucketTaggingRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketTaggingInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketTaggingOutput)

	lockGetBucketVersioning sync.Mutex
	GetBucketVersioningFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketVersioningInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketVersioningOutput, error)

	lockGetBucketVersioningWithContext sync.Mutex
	GetBucketVersioningWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketVersioningInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketVersioningOutput, error)

	lockGetBucketVersioningRequest sync.Mutex
	GetBucketVersioningRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketVersioningInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketVersioningOutput)

	lockGetBucketWebsite sync.Mutex
	GetBucketWebsiteFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketWebsiteInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketWebsiteOutput, error)

	lockGetBucketWebsiteWithContext sync.Mutex
	GetBucketWebsiteWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketWebsiteInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketWebsiteOutput, error)

	lockGetBucketWebsiteRequest sync.Mutex
	GetBucketWebsiteRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketWebsiteInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketWebsiteOutput)

	lockGetObject sync.Mutex
	GetObjectFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectInput) (*github_com_aws_aws_sdk_go_service_s3.GetObjectOutput, error)

	lockGetObjectWithContext sync.Mutex
	GetObjectWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetObjectOutput, error)

	lockGetObjectRequest sync.Mutex
	GetObjectRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetObjectOutput)

	lockGetObjectAcl sync.Mutex
	GetObjectAclFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectAclInput) (*github_com_aws_aws_sdk_go_service_s3.GetObjectAclOutput, error)

	lockGetObjectAclWithContext sync.Mutex
	GetObjectAclWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectAclInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetObjectAclOutput, error)

	lockGetObjectAclRequest sync.Mutex
	GetObjectAclRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectAclInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetObjectAclOutput)

	lockGetObjectLegalHold sync.Mutex
	GetObjectLegalHoldFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectLegalHoldInput) (*github_com_aws_aws_sdk_go_service_s3.GetObjectLegalHoldOutput, error)

	lockGetObjectLegalHoldWithContext sync.Mutex
	GetObjectLegalHoldWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectLegalHoldInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetObjectLegalHoldOutput, error)

	lockGetObjectLegalHoldRequest sync.Mutex
	GetObjectLegalHoldRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectLegalHoldInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetObjectLegalHoldOutput)

	lockGetObjectLockConfiguration sync.Mutex
	GetObjectLockConfigurationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectLockConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.GetObjectLockConfigurationOutput, error)

	lockGetObjectLockConfigurationWithContext sync.Mutex
	GetObjectLockConfigurationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectLockConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetObjectLockConfigurationOutput, error)

	lockGetObjectLockConfigurationRequest sync.Mutex
	GetObjectLockConfigurationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectLockConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetObjectLockConfigurationOutput)

	lockGetObjectRetention sync.Mutex
	GetObjectRetentionFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectRetentionInput) (*github_com_aws_aws_sdk_go_service_s3.GetObjectRetentionOutput, error)

	lockGetObjectRetentionWithContext sync.Mutex
	GetObjectRetentionWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectRetentionInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetObjectRetentionOutput, error)

	lockGetObjectRetentionRequest sync.Mutex
	GetObjectRetentionRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectRetentionInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetObjectRetentionOutput)

	lockGetObjectTagging sync.Mutex
	GetObjectTaggingFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectTaggingInput) (*github_com_aws_aws_sdk_go_service_s3.GetObjectTaggingOutput, error)

	lockGetObjectTaggingWithContext sync.Mutex
	GetObjectTaggingWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectTaggingInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetObjectTaggingOutput, error)

	lockGetObjectTaggingRequest sync.Mutex
	GetObjectTaggingRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectTaggingInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetObjectTaggingOutput)

	lockGetObjectTorrent sync.Mutex
	GetObjectTorrentFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectTorrentInput) (*github_com_aws_aws_sdk_go_service_s3.GetObjectTorrentOutput, error)

	lockGetObjectTorrentWithContext sync.Mutex
	GetObjectTorrentWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectTorrentInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetObjectTorrentOutput, error)

	lockGetObjectTorrentRequest sync.Mutex
	GetObjectTorrentRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectTorrentInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetObjectTorrentOutput)

	lockGetPublicAccessBlock sync.Mutex
	GetPublicAccessBlockFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetPublicAccessBlockInput) (*github_com_aws_aws_sdk_go_service_s3.GetPublicAccessBlockOutput, error)

	lockGetPublicAccessBlockWithContext sync.Mutex
	GetPublicAccessBlockWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetPublicAccessBlockInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetPublicAccessBlockOutput, error)

	lockGetPublicAccessBlockRequest sync.Mutex
	GetPublicAccessBlockRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.GetPublicAccessBlockInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetPublicAccessBlockOutput)

	lockHeadBucket sync.Mutex
	HeadBucketFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput) (*github_com_aws_aws_sdk_go_service_s3.HeadBucketOutput, error)

	lockHeadBucketWithContext sync.Mutex
	HeadBucketWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.HeadBucketOutput, error)

	lockHeadBucketRequest sync.Mutex
	HeadBucketRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.HeadBucketOutput)

	lockHeadObject sync.Mutex
	HeadObjectFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput) (*github_com_aws_aws_sdk_go_service_s3.HeadObjectOutput, error)

	lockHeadObjectWithContext sync.Mutex
	HeadObjectWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.HeadObjectOutput, error)

	lockHeadObjectRequest sync.Mutex
	HeadObjectRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.HeadObjectOutput)

	lockListBucketAnalyticsConfigurations sync.Mutex
	ListBucketAnalyticsConfigurationsFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketAnalyticsConfigurationsInput) (*github_com_aws_aws_sdk_go_service_s3.ListBucketAnalyticsConfigurationsOutput, error)

	lockListBucketAnalyticsConfigurationsWithContext sync.Mutex
	ListBucketAnalyticsConfigurationsWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListBucketAnalyticsConfigurationsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.ListBucketAnalyticsConfigurationsOutput, error)

	lockListBucketAnalyticsConfigurationsRequest sync.Mutex
	ListBucketAnalyticsConfigurationsRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketAnalyticsConfigurationsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.ListBucketAnalyticsConfigurationsOutput)

	lockListBucketIntelligentTieringConfigurations sync.Mutex
	ListBucketIntelligentTieringConfigurationsFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketIntelligentTieringConfigurationsInput) (*github_com_aws_aws_sdk_go_service_s3.ListBucketIntelligentTieringConfigurationsOutput, error)

	lockListBucketIntelligentTieringConfigurationsWithContext sync.Mutex
	ListBucketIntelligentTieringConfigurationsWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListBucketIntelligentTieringConfigurationsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.ListBucketIntelligentTieringConfigurationsOutput, error)

	lockListBucketIntelligentTieringConfigurationsRequest sync.Mutex
	ListBucketIntelligentTieringConfigurationsRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketIntelligentTieringConfigurationsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.ListBucketIntelligentTieringConfigurationsOutput)

	lockListBucketInventoryConfigurations sync.Mutex
	ListBucketInventoryConfigurationsFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketInventoryConfigurationsInput) (*github_com_aws_aws_sdk_go_service_s3.ListBucketInventoryConfigurationsOutput, error)

	lockListBucketInventoryConfigurationsWithContext sync.Mutex
	ListBucketInventoryConfigurationsWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListBucketInventoryConfigurationsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.ListBucketInventoryConfigurationsOutput, error)

	lockListBucketInventoryConfigurationsRequest sync.Mutex
	ListBucketInventoryConfigurationsRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketInventoryConfigurationsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.ListBucketInventoryConfigurationsOutput)

	lockListBucketMetricsConfigurations sync.Mutex
	ListBucketMetricsConfigurationsFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketMetricsConfigurationsInput) (*github_com_aws_aws_sdk_go_service_s3.ListBucketMetricsConfigurationsOutput, error)

	lockListBucketMetricsConfigurationsWithContext sync.Mutex
	ListBucketMetricsConfigurationsWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListBucketMetricsConfigurationsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.ListBucketMetricsConfigurationsOutput, error)

	lockListBucketMetricsConfigurationsRequest sync.Mutex
	ListBucketMetricsConfigurationsRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketMetricsConfigurationsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.ListBucketMetricsConfigurationsOutput)

	lockListBuckets sync.Mutex
	ListBucketsFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketsInput) (*github_com_aws_aws_sdk_go_service_s3.ListBucketsOutput, error)

	lockListBucketsWithContext sync.Mutex
	ListBucketsWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListBucketsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.ListBucketsOutput, error)

	lockListBucketsRequest sync.Mutex
	ListBucketsRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.ListBucketsOutput)

	lockListMultipartUploads sync.Mutex
	ListMultipartUploadsFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsInput) (*github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsOutput, error)

	lockListMultipartUploadsWithContext sync.Mutex
	ListMultipartUploadsWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsOutput, error)

	lockListMultipartUploadsRequest sync.Mutex
	ListMultipartUploadsRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsOutput)

	lockListMultipartUploadsPages sync.Mutex
	ListMultipartUploadsPagesFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsInput, arg1 func(*github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsOutput, bool) bool) error

	lockListMultipartUploadsPagesWithContext sync.Mutex
	ListMultipartUploadsPagesWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsInput, arg2 func(*github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsOutput, bool) bool, arg3 ...github_com_aws_aws_sdk_go_aws_request.Option) error

	lockListObjectVersions sync.Mutex
	ListObjectVersionsFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsInput) (*github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsOutput, error)

	lockListObjectVersionsWithContext sync.Mutex
	ListObjectVersionsWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsOutput, error)

	lockListObjectVersionsRequest sync.Mutex
	ListObjectVersionsRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsOutput)

	lockListObjectVersionsPages sync.Mutex
	ListObjectVersionsPagesFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsInput, arg1 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsOutput, bool) bool) error

	lockListObjectVersionsPagesWithContext sync.Mutex
	ListObjectVersionsPagesWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsInput, arg2 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsOutput, bool) bool, arg3 ...github_com_aws_aws_sdk_go_aws_request.Option) error

	lockListObjects sync.Mutex
	ListObjectsFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsInput) (*github_com_aws_aws_sdk_go_service_s3.ListObjectsOutput, error)

	lockListObjectsWithContext sync.Mutex
	ListObjectsWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.ListObjectsOutput, error)

	lockListObjectsRequest sync.Mutex
	ListObjectsRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.ListObjectsOutput)

	lockListObjectsPages sync.Mutex
	ListObjectsPagesFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsInput, arg1 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectsOutput, bool) bool) error

	lockListObjectsPagesWithContext sync.Mutex
	ListObjectsPagesWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectsInput, arg2 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectsOutput, bool) bool, arg3 ...github_com_aws_aws_sdk_go_aws_request.Option) error

	lockListObjectsV2 sync.Mutex
	ListObjectsV2Func func(arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Input) (*github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Output, error)

	lockListObjectsV2WithContext sync.Mutex
	ListObjectsV2WithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Input, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Output, error)

	lockListObjectsV2Request sync.Mutex
	ListObjectsV2RequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Input) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Output)

	lockListObjectsV2Pages sync.Mutex
	ListObjectsV2PagesFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Input, arg1 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Output, bool) bool) error

	lockListObjectsV2PagesWithContext sync.Mutex
	ListObjectsV2PagesWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Input, arg2 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Output, bool) bool, arg3 ...github_com_aws_aws_sdk_go_aws_request.Option) error

	lockListParts sync.Mutex
	ListPartsFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.ListPartsInput) (*github_com_aws_aws_sdk_go_service_s3.ListPartsOutput, error)

	lockListPartsWithContext sync.Mutex
	ListPartsWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListPartsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.ListPartsOutput, error)

	lockListPartsRequest sync.Mutex
	ListPartsRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.ListPartsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.ListPartsOutput)

	lockListPartsPages sync.Mutex
	ListPartsPagesFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.ListPartsInput, arg1 func(*github_com_aws_aws_sdk_go_service_s3.ListPartsOutput, bool) bool) error

	lockListPartsPagesWithContext sync.Mutex
	ListPartsPagesWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListPartsInput, arg2 func(*github_com_aws_aws_sdk_go_service_s3.ListPartsOutput, bool) bool, arg3 ...github_com_aws_aws_sdk_go_aws_request.Option) error

	lockPutBucketAccelerateConfiguration sync.Mutex
	PutBucketAccelerateConfigurationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAccelerateConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketAccelerateConfigurationOutput, error)

	lockPutBucketAccelerateConfigurationWithContext sync.Mutex
	PutBucketAccelerateConfigurationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketAccelerateConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketAccelerateConfigurationOutput, error)

	lockPutBucketAccelerateConfigurationRequest sync.Mutex
	PutBucketAccelerateConfigurationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAccelerateConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketAccelerateConfigurationOutput)

	lockPutBucketAcl sync.Mutex
	PutBucketAclFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAclInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketAclOutput, error)

	lockPutBucketAclWithContext sync.Mutex
	PutBucketAclWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketAclInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketAclOutput, error)

	lockPutBucketAclRequest sync.Mutex
	PutBucketAclRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAclInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketAclOutput)

	lockPutBucketAnalyticsConfiguration sync.Mutex
	PutBucketAnalyticsConfigurationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAnalyticsConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketAnalyticsConfigurationOutput, error)

	lockPutBucketAnalyticsConfigurationWithContext sync.Mutex
	PutBucketAnalyticsConfigurationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketAnalyticsConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketAnalyticsConfigurationOutput, error)

	lockPutBucketAnalyticsConfigurationRequest sync.Mutex
	PutBucketAnalyticsConfigurationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAnalyticsConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketAnalyticsConfigurationOutput)

	lockPutBucketCors sync.Mutex
	PutBucketCorsFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketCorsInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketCorsOutput, error)

	lockPutBucketCorsWithContext sync.Mutex
	PutBucketCorsWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketCorsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketCorsOutput, error)

	lockPutBucketCorsRequest sync.Mutex
	PutBucketCorsRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketCorsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketCorsOutput)

	lockPutBucketEncryption sync.Mutex
	PutBucketEncryptionFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketEncryptionInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketEncryptionOutput, error)

	lockPutBucketEncryptionWithContext sync.Mutex
	PutBucketEncryptionWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketEncryptionInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketEncryptionOutput, error)

	lockPutBucketEncryptionRequest sync.Mutex
	PutBucketEncryptionRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketEncryptionInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketEncryptionOutput)

	lockPutBucketIntelligentTieringConfiguration sync.Mutex
	PutBucketIntelligentTieringConfigurationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketIntelligentTieringConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketIntelligentTieringConfigurationOutput, error)

	lockPutBucketIntelligentTieringConfigurationWithContext sync.Mutex
	PutBucketIntelligentTieringConfigurationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketIntelligentTieringConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketIntelligentTieringConfigurationOutput, error)

	lockPutBucketIntelligentTieringConfigurationRequest sync.Mutex
	PutBucketIntelligentTieringConfigurationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketIntelligentTieringConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketIntelligentTieringConfigurationOutput)

	lockPutBucketInventoryConfiguration sync.Mutex
	PutBucketInventoryConfigurationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketInventoryConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketInventoryConfigurationOutput, error)

	lockPutBucketInventoryConfigurationWithContext sync.Mutex
	PutBucketInventoryConfigurationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketInventoryConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketInventoryConfigurationOutput, error)

	lockPutBucketInventoryConfigurationRequest sync.Mutex
	PutBucketInventoryConfigurationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketInventoryConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketInventoryConfigurationOutput)

	lockPutBucketLifecycle sync.Mutex
	PutBucketLifecycleFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleOutput, error)

	lockPutBucketLifecycleWithContext sync.Mutex
	PutBucketLifecycleWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleOutput, error)

	lockPutBucketLifecycleRequest sync.Mutex
	PutBucketLifecycleRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleOutput)

	lockPutBucketLifecycleConfiguration sync.Mutex
	PutBucketLifecycleConfigurationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleConfigurationOutput, error)

	lockPutBucketLifecycleConfigurationWithContext sync.Mutex
	PutBucketLifecycleConfigurationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleConfigurationOutput, error)

	lockPutBucketLifecycleConfigurationRequest sync.Mutex
	PutBucketLifecycleConfigurationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleConfigurationOutput)

	lockPutBucketLogging sync.Mutex
	PutBucketLoggingFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLoggingInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketLoggingOutput, error)

	lockPutBucketLoggingWithContext sync.Mutex
	PutBucketLoggingWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketLoggingInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketLoggingOutput, error)

	lockPutBucketLoggingRequest sync.Mutex
	PutBucketLoggingRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLoggingInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketLoggingOutput)

	lockPutBucketMetricsConfiguration sync.Mutex
	PutBucketMetricsConfigurationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketMetricsConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketMetricsConfigurationOutput, error)

	lockPutBucketMetricsConfigurationWithContext sync.Mutex
	PutBucketMetricsConfigurationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketMetricsConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketMetricsConfigurationOutput, error)

	lockPutBucketMetricsConfigurationRequest sync.Mutex
	PutBucketMetricsConfigurationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketMetricsConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketMetricsConfigurationOutput)

	lockPutBucketNotification sync.Mutex
	PutBucketNotificationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationOutput, error)

	lockPutBucketNotificationWithContext sync.Mutex
	PutBucketNotificationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationOutput, error)

	lockPutBucketNotificationRequest sync.Mutex
	PutBucketNotificationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationOutput)

	lockPutBucketNotificationConfiguration sync.Mutex
	PutBucketNotificationConfigurationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationConfigurationOutput, error)

	lockPutBucketNotificationConfigurationWithContext sync.Mutex
	PutBucketNotificationConfigurationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationConfigurationOutput, error)

	lockPutBucketNotificationConfigurationRequest sync.Mutex
	PutBucketNotificationConfigurationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationConfigurationOutput)

	lockPutBucketOwnershipControls sync.Mutex
	PutBucketOwnershipControlsFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketOwnershipControlsInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketOwnershipControlsOutput, error)

	lockPutBucketOwnershipControlsWithContext sync.Mutex
	PutBucketOwnershipControlsWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketOwnershipControlsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketOwnershipControlsOutput, error)

	lockPutBucketOwnershipControlsRequest sync.Mutex
	PutBucketOwnershipControlsRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketOwnershipControlsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketOwnershipControlsOutput)

	lockPutBucketPolicy sync.Mutex
	PutBucketPolicyFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketPolicyInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketPolicyOutput, error)

	lockPutBucketPolicyWithContext sync.Mutex
	PutBucketPolicyWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketPolicyInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketPolicyOutput, error)

	lockPutBucketPolicyRequest sync.Mutex
	PutBucketPolicyRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketPolicyInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketPolicyOutput)

	lockPutBucketReplication sync.Mutex
	PutBucketReplicationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketReplicationInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketReplicationOutput, error)

	lockPutBucketReplicationWithContext sync.Mutex
	PutBucketReplicationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketReplicationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketReplicationOutput, error)

	lockPutBucketReplicationRequest sync.Mutex
	PutBucketReplicationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketReplicationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketReplicationOutput)

	lockPutBucketRequestPayment sync.Mutex
	PutBucketRequestPaymentFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketRequestPaymentInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketRequestPaymentOutput, error)

	lockPutBucketRequestPaymentWithContext sync.Mutex
	PutBucketRequestPaymentWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketRequestPaymentInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketRequestPaymentOutput, error)

	lockPutBucketRequestPaymentRequest sync.Mutex
	PutBucketRequestPaymentRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketRequestPaymentInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketRequestPaymentOutput)

	lockPutBucketTagging sync.Mutex
	PutBucketTaggingFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketTaggingInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketTaggingOutput, error)

	lockPutBucketTaggingWithContext sync.Mutex
	PutBucketTaggingWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketTaggingInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketTaggingOutput, error)

	lockPutBucketTaggingRequest sync.Mutex
	PutBucketTaggingRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketTaggingInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketTaggingOutput)

	lockPutBucketVersioning sync.Mutex
	PutBucketVersioningFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketVersioningInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketVersioningOutput, error)

	lockPutBucketVersioningWithContext sync.Mutex
	PutBucketVersioningWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketVersioningInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketVersioningOutput, error)

	lockPutBucketVersioningRequest sync.Mutex
	PutBucketVersioningRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketVersioningInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketVersioningOutput)

	lockPutBucketWebsite sync.Mutex
	PutBucketWebsiteFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketWebsiteInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketWebsiteOutput, error)

	lockPutBucketWebsiteWithContext sync.Mutex
	PutBucketWebsiteWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketWebsiteInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketWebsiteOutput, error)

	lockPutBucketWebsiteRequest sync.Mutex
	PutBucketWebsiteRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketWebsiteInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketWebsiteOutput)

	lockPutObject sync.Mutex
	PutObjectFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectInput) (*github_com_aws_aws_sdk_go_service_s3.PutObjectOutput, error)

	lockPutObjectWithContext sync.Mutex
	PutObjectWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutObjectOutput, error)

	lockPutObjectRequest sync.Mutex
	PutObjectRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutObjectOutput)

	lockPutObjectAcl sync.Mutex
	PutObjectAclFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectAclInput) (*github_com_aws_aws_sdk_go_service_s3.PutObjectAclOutput, error)

	lockPutObjectAclWithContext sync.Mutex
	PutObjectAclWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectAclInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutObjectAclOutput, error)

	lockPutObjectAclRequest sync.Mutex
	PutObjectAclRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectAclInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutObjectAclOutput)

	lockPutObjectLegalHold sync.Mutex
	PutObjectLegalHoldFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectLegalHoldInput) (*github_com_aws_aws_sdk_go_service_s3.PutObjectLegalHoldOutput, error)

	lockPutObjectLegalHoldWithContext sync.Mutex
	PutObjectLegalHoldWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectLegalHoldInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutObjectLegalHoldOutput, error)

	lockPutObjectLegalHoldRequest sync.Mutex
	PutObjectLegalHoldRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectLegalHoldInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutObjectLegalHoldOutput)

	lockPutObjectLockConfiguration sync.Mutex
	PutObjectLockConfigurationFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectLockConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.PutObjectLockConfigurationOutput, error)

	lockPutObjectLockConfigurationWithContext sync.Mutex
	PutObjectLockConfigurationWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectLockConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutObjectLockConfigurationOutput, error)

	lockPutObjectLockConfigurationRequest sync.Mutex
	PutObjectLockConfigurationRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectLockConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutObjectLockConfigurationOutput)

	lockPutObjectRetention sync.Mutex
	PutObjectRetentionFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectRetentionInput) (*github_com_aws_aws_sdk_go_service_s3.PutObjectRetentionOutput, error)

	lockPutObjectRetentionWithContext sync.Mutex
	PutObjectRetentionWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectRetentionInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutObjectRetentionOutput, error)

	lockPutObjectRetentionRequest sync.Mutex
	PutObjectRetentionRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectRetentionInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutObjectRetentionOutput)

	lockPutObjectTagging sync.Mutex
	PutObjectTaggingFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectTaggingInput) (*github_com_aws_aws_sdk_go_service_s3.PutObjectTaggingOutput, error)

	lockPutObjectTaggingWithContext sync.Mutex
	PutObjectTaggingWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectTaggingInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutObjectTaggingOutput, error)

	lockPutObjectTaggingRequest sync.Mutex
	PutObjectTaggingRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectTaggingInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutObjectTaggingOutput)

	lockPutPublicAccessBlock sync.Mutex
	PutPublicAccessBlockFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutPublicAccessBlockInput) (*github_com_aws_aws_sdk_go_service_s3.PutPublicAccessBlockOutput, error)

	lockPutPublicAccessBlockWithContext sync.Mutex
	PutPublicAccessBlockWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutPublicAccessBlockInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutPublicAccessBlockOutput, error)

	lockPutPublicAccessBlockRequest sync.Mutex
	PutPublicAccessBlockRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.PutPublicAccessBlockInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutPublicAccessBlockOutput)

	lockRestoreObject sync.Mutex
	RestoreObjectFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.RestoreObjectInput) (*github_com_aws_aws_sdk_go_service_s3.RestoreObjectOutput, error)

	lockRestoreObjectWithContext sync.Mutex
	RestoreObjectWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.RestoreObjectInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.RestoreObjectOutput, error)

	lockRestoreObjectRequest sync.Mutex
	RestoreObjectRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.RestoreObjectInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.RestoreObjectOutput)

	lockSelectObjectContent sync.Mutex
	SelectObjectContentFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.SelectObjectContentInput) (*github_com_aws_aws_sdk_go_service_s3.SelectObjectContentOutput, error)

	lockSelectObjectContentWithContext sync.Mutex
	SelectObjectContentWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.SelectObjectContentInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.SelectObjectContentOutput, error)

	lockSelectObjectContentRequest sync.Mutex
	SelectObjectContentRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.SelectObjectContentInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.SelectObjectContentOutput)

	lockUploadPart sync.Mutex
	UploadPartFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.UploadPartInput) (*github_com_aws_aws_sdk_go_service_s3.UploadPartOutput, error)

	lockUploadPartWithContext sync.Mutex
	UploadPartWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.UploadPartInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.UploadPartOutput, error)

	lockUploadPartRequest sync.Mutex
	UploadPartRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.UploadPartInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.UploadPartOutput)

	lockUploadPartCopy sync.Mutex
	UploadPartCopyFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.UploadPartCopyInput) (*github_com_aws_aws_sdk_go_service_s3.UploadPartCopyOutput, error)

	lockUploadPartCopyWithContext sync.Mutex
	UploadPartCopyWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.UploadPartCopyInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.UploadPartCopyOutput, error)

	lockUploadPartCopyRequest sync.Mutex
	UploadPartCopyRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.UploadPartCopyInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.UploadPartCopyOutput)

	lockWriteGetObjectResponse sync.Mutex
	WriteGetObjectResponseFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.WriteGetObjectResponseInput) (*github_com_aws_aws_sdk_go_service_s3.WriteGetObjectResponseOutput, error)

	lockWriteGetObjectResponseWithContext sync.Mutex
	WriteGetObjectResponseWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.WriteGetObjectResponseInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.WriteGetObjectResponseOutput, error)

	lockWriteGetObjectResponseRequest sync.Mutex
	WriteGetObjectResponseRequestFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.WriteGetObjectResponseInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.WriteGetObjectResponseOutput)

	lockWaitUntilBucketExists sync.Mutex
	WaitUntilBucketExistsFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput) error

	lockWaitUntilBucketExistsWithContext sync.Mutex
	WaitUntilBucketExistsWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.WaiterOption) error

	lockWaitUntilBucketNotExists sync.Mutex
	WaitUntilBucketNotExistsFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput) error

	lockWaitUntilBucketNotExistsWithContext sync.Mutex
	WaitUntilBucketNotExistsWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.WaiterOption) error

	lockWaitUntilObjectExists sync.Mutex
	WaitUntilObjectExistsFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput) error

	lockWaitUntilObjectExistsWithContext sync.Mutex
	WaitUntilObjectExistsWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.WaiterOption) error

	lockWaitUntilObjectNotExists sync.Mutex
	WaitUntilObjectNotExistsFunc func(arg0 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput) error

	lockWaitUntilObjectNotExistsWithContext sync.Mutex
	WaitUntilObjectNotExistsWithContextFunc func(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.WaiterOption) error

	calls struct {
		AbortMultipartUpload []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.AbortMultipartUploadInput
		}
		AbortMultipartUploadWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.AbortMultipartUploadInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		AbortMultipartUploadRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.AbortMultipartUploadInput
		}
		CompleteMultipartUpload []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.CompleteMultipartUploadInput
		}
		CompleteMultipartUploadWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.CompleteMultipartUploadInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		CompleteMultipartUploadRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.CompleteMultipartUploadInput
		}
		CopyObject []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.CopyObjectInput
		}
		CopyObjectWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.CopyObjectInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		CopyObjectRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.CopyObjectInput
		}
		CreateBucket []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.CreateBucketInput
		}
		CreateBucketWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.CreateBucketInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		CreateBucketRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.CreateBucketInput
		}
		CreateMultipartUpload []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.CreateMultipartUploadInput
		}
		CreateMultipartUploadWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.CreateMultipartUploadInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		CreateMultipartUploadRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.CreateMultipartUploadInput
		}
		DeleteBucket []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInput
		}
		DeleteBucketWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		DeleteBucketRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInput
		}
		DeleteBucketAnalyticsConfiguration []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketAnalyticsConfigurationInput
		}
		DeleteBucketAnalyticsConfigurationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketAnalyticsConfigurationInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		DeleteBucketAnalyticsConfigurationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketAnalyticsConfigurationInput
		}
		DeleteBucketCors []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketCorsInput
		}
		DeleteBucketCorsWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketCorsInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		DeleteBucketCorsRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketCorsInput
		}
		DeleteBucketEncryption []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketEncryptionInput
		}
		DeleteBucketEncryptionWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketEncryptionInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		DeleteBucketEncryptionRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketEncryptionInput
		}
		DeleteBucketIntelligentTieringConfiguration []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketIntelligentTieringConfigurationInput
		}
		DeleteBucketIntelligentTieringConfigurationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketIntelligentTieringConfigurationInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		DeleteBucketIntelligentTieringConfigurationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketIntelligentTieringConfigurationInput
		}
		DeleteBucketInventoryConfiguration []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInventoryConfigurationInput
		}
		DeleteBucketInventoryConfigurationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInventoryConfigurationInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		DeleteBucketInventoryConfigurationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInventoryConfigurationInput
		}
		DeleteBucketLifecycle []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketLifecycleInput
		}
		DeleteBucketLifecycleWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketLifecycleInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		DeleteBucketLifecycleRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketLifecycleInput
		}
		DeleteBucketMetricsConfiguration []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketMetricsConfigurationInput
		}
		DeleteBucketMetricsConfigurationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketMetricsConfigurationInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		DeleteBucketMetricsConfigurationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketMetricsConfigurationInput
		}
		DeleteBucketOwnershipControls []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketOwnershipControlsInput
		}
		DeleteBucketOwnershipControlsWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketOwnershipControlsInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		DeleteBucketOwnershipControlsRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketOwnershipControlsInput
		}
		DeleteBucketPolicy []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketPolicyInput
		}
		DeleteBucketPolicyWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketPolicyInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		DeleteBucketPolicyRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketPolicyInput
		}
		DeleteBucketReplication []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketReplicationInput
		}
		DeleteBucketReplicationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketReplicationInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		DeleteBucketReplicationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketReplicationInput
		}
		DeleteBucketTagging []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketTaggingInput
		}
		DeleteBucketTaggingWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketTaggingInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		DeleteBucketTaggingRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketTaggingInput
		}
		DeleteBucketWebsite []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketWebsiteInput
		}
		DeleteBucketWebsiteWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketWebsiteInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		DeleteBucketWebsiteRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketWebsiteInput
		}
		DeleteObject []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectInput
		}
		DeleteObjectWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		DeleteObjectRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectInput
		}
		DeleteObjectTagging []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectTaggingInput
		}
		DeleteObjectTaggingWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectTaggingInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		DeleteObjectTaggingRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectTaggingInput
		}
		DeleteObjects []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectsInput
		}
		DeleteObjectsWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectsInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		DeleteObjectsRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectsInput
		}
		DeletePublicAccessBlock []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeletePublicAccessBlockInput
		}
		DeletePublicAccessBlockWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.DeletePublicAccessBlockInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		DeletePublicAccessBlockRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.DeletePublicAccessBlockInput
		}
		GetBucketAccelerateConfiguration []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAccelerateConfigurationInput
		}
		GetBucketAccelerateConfigurationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketAccelerateConfigurationInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetBucketAccelerateConfigurationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAccelerateConfigurationInput
		}
		GetBucketAcl []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAclInput
		}
		GetBucketAclWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketAclInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetBucketAclRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAclInput
		}
		GetBucketAnalyticsConfiguration []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAnalyticsConfigurationInput
		}
		GetBucketAnalyticsConfigurationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketAnalyticsConfigurationInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetBucketAnalyticsConfigurationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAnalyticsConfigurationInput
		}
		GetBucketCors []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketCorsInput
		}
		GetBucketCorsWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketCorsInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetBucketCorsRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketCorsInput
		}
		GetBucketEncryption []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketEncryptionInput
		}
		GetBucketEncryptionWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketEncryptionInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetBucketEncryptionRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketEncryptionInput
		}
		GetBucketIntelligentTieringConfiguration []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketIntelligentTieringConfigurationInput
		}
		GetBucketIntelligentTieringConfigurationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketIntelligentTieringConfigurationInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetBucketIntelligentTieringConfigurationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketIntelligentTieringConfigurationInput
		}
		GetBucketInventoryConfiguration []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketInventoryConfigurationInput
		}
		GetBucketInventoryConfigurationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketInventoryConfigurationInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetBucketInventoryConfigurationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketInventoryConfigurationInput
		}
		GetBucketLifecycle []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleInput
		}
		GetBucketLifecycleWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetBucketLifecycleRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleInput
		}
		GetBucketLifecycleConfiguration []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleConfigurationInput
		}
		GetBucketLifecycleConfigurationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleConfigurationInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetBucketLifecycleConfigurationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleConfigurationInput
		}
		GetBucketLocation []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLocationInput
		}
		GetBucketLocationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketLocationInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetBucketLocationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLocationInput
		}
		GetBucketLogging []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLoggingInput
		}
		GetBucketLoggingWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketLoggingInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetBucketLoggingRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLoggingInput
		}
		GetBucketMetricsConfiguration []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketMetricsConfigurationInput
		}
		GetBucketMetricsConfigurationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketMetricsConfigurationInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetBucketMetricsConfigurationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketMetricsConfigurationInput
		}
		GetBucketNotification []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest
		}
		GetBucketNotificationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetBucketNotificationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest
		}
		GetBucketNotificationConfiguration []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest
		}
		GetBucketNotificationConfigurationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetBucketNotificationConfigurationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest
		}
		GetBucketOwnershipControls []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketOwnershipControlsInput
		}
		GetBucketOwnershipControlsWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketOwnershipControlsInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetBucketOwnershipControlsRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketOwnershipControlsInput
		}
		GetBucketPolicy []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyInput
		}
		GetBucketPolicyWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetBucketPolicyRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyInput
		}
		GetBucketPolicyStatus []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyStatusInput
		}
		GetBucketPolicyStatusWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyStatusInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetBucketPolicyStatusRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyStatusInput
		}
		GetBucketReplication []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketReplicationInput
		}
		GetBucketReplicationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketReplicationInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetBucketReplicationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketReplicationInput
		}
		GetBucketRequestPayment []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketRequestPaymentInput
		}
		GetBucketRequestPaymentWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketRequestPaymentInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetBucketRequestPaymentRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketRequestPaymentInput
		}
		GetBucketTagging []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketTaggingInput
		}
		GetBucketTaggingWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketTaggingInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetBucketTaggingRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketTaggingInput
		}
		GetBucketVersioning []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketVersioningInput
		}
		GetBucketVersioningWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketVersioningInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetBucketVersioningRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketVersioningInput
		}
		GetBucketWebsite []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketWebsiteInput
		}
		GetBucketWebsiteWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketWebsiteInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetBucketWebsiteRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketWebsiteInput
		}
		GetObject []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectInput
		}
		GetObjectWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetObjectRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectInput
		}
		GetObjectAcl []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectAclInput
		}
		GetObjectAclWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectAclInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetObjectAclRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectAclInput
		}
		GetObjectLegalHold []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectLegalHoldInput
		}
		GetObjectLegalHoldWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectLegalHoldInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetObjectLegalHoldRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectLegalHoldInput
		}
		GetObjectLockConfiguration []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectLockConfigurationInput
		}
		GetObjectLockConfigurationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectLockConfigurationInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetObjectLockConfigurationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectLockConfigurationInput
		}
		GetObjectRetention []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectRetentionInput
		}
		GetObjectRetentionWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectRetentionInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetObjectRetentionRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectRetentionInput
		}
		GetObjectTagging []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectTaggingInput
		}
		GetObjectTaggingWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectTaggingInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetObjectTaggingRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectTaggingInput
		}
		GetObjectTorrent []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectTorrentInput
		}
		GetObjectTorrentWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectTorrentInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetObjectTorrentRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectTorrentInput
		}
		GetPublicAccessBlock []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetPublicAccessBlockInput
		}
		GetPublicAccessBlockWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.GetPublicAccessBlockInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		GetPublicAccessBlockRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.GetPublicAccessBlockInput
		}
		HeadBucket []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput
		}
		HeadBucketWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		HeadBucketRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput
		}
		HeadObject []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput
		}
		HeadObjectWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		HeadObjectRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput
		}
		ListBucketAnalyticsConfigurations []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketAnalyticsConfigurationsInput
		}
		ListBucketAnalyticsConfigurationsWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.ListBucketAnalyticsConfigurationsInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		ListBucketAnalyticsConfigurationsRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketAnalyticsConfigurationsInput
		}
		ListBucketIntelligentTieringConfigurations []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketIntelligentTieringConfigurationsInput
		}
		ListBucketIntelligentTieringConfigurationsWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.ListBucketIntelligentTieringConfigurationsInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		ListBucketIntelligentTieringConfigurationsRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketIntelligentTieringConfigurationsInput
		}
		ListBucketInventoryConfigurations []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketInventoryConfigurationsInput
		}
		ListBucketInventoryConfigurationsWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.ListBucketInventoryConfigurationsInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		ListBucketInventoryConfigurationsRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketInventoryConfigurationsInput
		}
		ListBucketMetricsConfigurations []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketMetricsConfigurationsInput
		}
		ListBucketMetricsConfigurationsWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.ListBucketMetricsConfigurationsInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		ListBucketMetricsConfigurationsRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketMetricsConfigurationsInput
		}
		ListBuckets []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketsInput
		}
		ListBucketsWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.ListBucketsInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		ListBucketsRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketsInput
		}
		ListMultipartUploads []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsInput
		}
		ListMultipartUploadsWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		ListMultipartUploadsRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsInput
		}
		ListMultipartUploadsPages []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsInput
			Arg1 func(*github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsOutput, bool) bool
		}
		ListMultipartUploadsPagesWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsInput
			Arg2 func(*github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsOutput, bool) bool
			Arg3 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		ListObjectVersions []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsInput
		}
		ListObjectVersionsWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		ListObjectVersionsRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsInput
		}
		ListObjectVersionsPages []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsInput
			Arg1 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsOutput, bool) bool
		}
		ListObjectVersionsPagesWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsInput
			Arg2 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsOutput, bool) bool
			Arg3 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		ListObjects []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsInput
		}
		ListObjectsWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectsInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		ListObjectsRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsInput
		}
		ListObjectsPages []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsInput
			Arg1 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectsOutput, bool) bool
		}
		ListObjectsPagesWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectsInput
			Arg2 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectsOutput, bool) bool
			Arg3 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		ListObjectsV2 []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Input
		}
		ListObjectsV2WithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Input
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		ListObjectsV2Request []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Input
		}
		ListObjectsV2Pages []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Input
			Arg1 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Output, bool) bool
		}
		ListObjectsV2PagesWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Input
			Arg2 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Output, bool) bool
			Arg3 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		ListParts []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.ListPartsInput
		}
		ListPartsWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.ListPartsInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		ListPartsRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.ListPartsInput
		}
		ListPartsPages []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.ListPartsInput
			Arg1 func(*github_com_aws_aws_sdk_go_service_s3.ListPartsOutput, bool) bool
		}
		ListPartsPagesWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.ListPartsInput
			Arg2 func(*github_com_aws_aws_sdk_go_service_s3.ListPartsOutput, bool) bool
			Arg3 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutBucketAccelerateConfiguration []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAccelerateConfigurationInput
		}
		PutBucketAccelerateConfigurationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketAccelerateConfigurationInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutBucketAccelerateConfigurationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAccelerateConfigurationInput
		}
		PutBucketAcl []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAclInput
		}
		PutBucketAclWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketAclInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutBucketAclRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAclInput
		}
		PutBucketAnalyticsConfiguration []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAnalyticsConfigurationInput
		}
		PutBucketAnalyticsConfigurationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketAnalyticsConfigurationInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutBucketAnalyticsConfigurationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAnalyticsConfigurationInput
		}
		PutBucketCors []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketCorsInput
		}
		PutBucketCorsWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketCorsInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutBucketCorsRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketCorsInput
		}
		PutBucketEncryption []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketEncryptionInput
		}
		PutBucketEncryptionWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketEncryptionInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutBucketEncryptionRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketEncryptionInput
		}
		PutBucketIntelligentTieringConfiguration []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketIntelligentTieringConfigurationInput
		}
		PutBucketIntelligentTieringConfigurationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketIntelligentTieringConfigurationInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutBucketIntelligentTieringConfigurationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketIntelligentTieringConfigurationInput
		}
		PutBucketInventoryConfiguration []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketInventoryConfigurationInput
		}
		PutBucketInventoryConfigurationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketInventoryConfigurationInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutBucketInventoryConfigurationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketInventoryConfigurationInput
		}
		PutBucketLifecycle []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleInput
		}
		PutBucketLifecycleWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutBucketLifecycleRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleInput
		}
		PutBucketLifecycleConfiguration []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleConfigurationInput
		}
		PutBucketLifecycleConfigurationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleConfigurationInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutBucketLifecycleConfigurationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleConfigurationInput
		}
		PutBucketLogging []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLoggingInput
		}
		PutBucketLoggingWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketLoggingInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutBucketLoggingRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLoggingInput
		}
		PutBucketMetricsConfiguration []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketMetricsConfigurationInput
		}
		PutBucketMetricsConfigurationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketMetricsConfigurationInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutBucketMetricsConfigurationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketMetricsConfigurationInput
		}
		PutBucketNotification []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationInput
		}
		PutBucketNotificationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutBucketNotificationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationInput
		}
		PutBucketNotificationConfiguration []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationConfigurationInput
		}
		PutBucketNotificationConfigurationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationConfigurationInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutBucketNotificationConfigurationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationConfigurationInput
		}
		PutBucketOwnershipControls []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketOwnershipControlsInput
		}
		PutBucketOwnershipControlsWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketOwnershipControlsInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutBucketOwnershipControlsRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketOwnershipControlsInput
		}
		PutBucketPolicy []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketPolicyInput
		}
		PutBucketPolicyWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketPolicyInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutBucketPolicyRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketPolicyInput
		}
		PutBucketReplication []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketReplicationInput
		}
		PutBucketReplicationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketReplicationInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutBucketReplicationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketReplicationInput
		}
		PutBucketRequestPayment []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketRequestPaymentInput
		}
		PutBucketRequestPaymentWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketRequestPaymentInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutBucketRequestPaymentRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketRequestPaymentInput
		}
		PutBucketTagging []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketTaggingInput
		}
		PutBucketTaggingWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketTaggingInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutBucketTaggingRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketTaggingInput
		}
		PutBucketVersioning []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketVersioningInput
		}
		PutBucketVersioningWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketVersioningInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutBucketVersioningRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketVersioningInput
		}
		PutBucketWebsite []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketWebsiteInput
		}
		PutBucketWebsiteWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketWebsiteInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutBucketWebsiteRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketWebsiteInput
		}
		PutObject []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectInput
		}
		PutObjectWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutObjectRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectInput
		}
		PutObjectAcl []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectAclInput
		}
		PutObjectAclWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectAclInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutObjectAclRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectAclInput
		}
		PutObjectLegalHold []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectLegalHoldInput
		}
		PutObjectLegalHoldWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectLegalHoldInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutObjectLegalHoldRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectLegalHoldInput
		}
		PutObjectLockConfiguration []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectLockConfigurationInput
		}
		PutObjectLockConfigurationWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectLockConfigurationInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutObjectLockConfigurationRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectLockConfigurationInput
		}
		PutObjectRetention []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectRetentionInput
		}
		PutObjectRetentionWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectRetentionInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutObjectRetentionRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectRetentionInput
		}
		PutObjectTagging []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectTaggingInput
		}
		PutObjectTaggingWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectTaggingInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutObjectTaggingRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectTaggingInput
		}
		PutPublicAccessBlock []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutPublicAccessBlockInput
		}
		PutPublicAccessBlockWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.PutPublicAccessBlockInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		PutPublicAccessBlockRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.PutPublicAccessBlockInput
		}
		RestoreObject []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.RestoreObjectInput
		}
		RestoreObjectWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.RestoreObjectInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		RestoreObjectRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.RestoreObjectInput
		}
		SelectObjectContent []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.SelectObjectContentInput
		}
		SelectObjectContentWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.SelectObjectContentInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		SelectObjectContentRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.SelectObjectContentInput
		}
		UploadPart []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.UploadPartInput
		}
		UploadPartWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.UploadPartInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		UploadPartRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.UploadPartInput
		}
		UploadPartCopy []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.UploadPartCopyInput
		}
		UploadPartCopyWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.UploadPartCopyInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		UploadPartCopyRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.UploadPartCopyInput
		}
		WriteGetObjectResponse []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.WriteGetObjectResponseInput
		}
		WriteGetObjectResponseWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.WriteGetObjectResponseInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
		}
		WriteGetObjectResponseRequest []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.WriteGetObjectResponseInput
		}
		WaitUntilBucketExists []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput
		}
		WaitUntilBucketExistsWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.WaiterOption
		}
		WaitUntilBucketNotExists []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput
		}
		WaitUntilBucketNotExistsWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.WaiterOption
		}
		WaitUntilObjectExists []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput
		}
		WaitUntilObjectExistsWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.WaiterOption
		}
		WaitUntilObjectNotExists []struct {
			Arg0 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput
		}
		WaitUntilObjectNotExistsWithContext []struct {
			Arg0 github_com_aws_aws_sdk_go_aws.Context
			Arg1 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput
			Arg2 []github_com_aws_aws_sdk_go_aws_request.WaiterOption
		}
	}
}

// AbortMultipartUpload mocks base method by wrapping the associated func.
func (m *S3API) AbortMultipartUpload(arg0 *github_com_aws_aws_sdk_go_service_s3.AbortMultipartUploadInput) (*github_com_aws_aws_sdk_go_service_s3.AbortMultipartUploadOutput, error) {
	m.lockAbortMultipartUpload.Lock()
	defer m.lockAbortMultipartUpload.Unlock()

	if m.AbortMultipartUploadFunc == nil {
		panic("mocker: S3API.AbortMultipartUploadFunc is nil but S3API.AbortMultipartUpload was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.AbortMultipartUploadInput
	}{
		Arg0: arg0,
	}

	m.calls.AbortMultipartUpload = append(m.calls.AbortMultipartUpload, call)

	return m.AbortMultipartUploadFunc(arg0)
}

// AbortMultipartUploadCalled returns true if AbortMultipartUpload was called at least once.
func (m *S3API) AbortMultipartUploadCalled() bool {
	m.lockAbortMultipartUpload.Lock()
	defer m.lockAbortMultipartUpload.Unlock()

	return len(m.calls.AbortMultipartUpload) > 0
}

// AbortMultipartUploadCalls returns the calls made to AbortMultipartUpload.
func (m *S3API) AbortMultipartUploadCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.AbortMultipartUploadInput
} {
	m.lockAbortMultipartUpload.Lock()
	defer m.lockAbortMultipartUpload.Unlock()

	return m.calls.AbortMultipartUpload
}

// AbortMultipartUploadWithContext mocks base method by wrapping the associated func.
func (m *S3API) AbortMultipartUploadWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.AbortMultipartUploadInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.AbortMultipartUploadOutput, error) {
	m.lockAbortMultipartUploadWithContext.Lock()
	defer m.lockAbortMultipartUploadWithContext.Unlock()

	if m.AbortMultipartUploadWithContextFunc == nil {
		panic("mocker: S3API.AbortMultipartUploadWithContextFunc is nil but S3API.AbortMultipartUploadWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.AbortMultipartUploadInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.AbortMultipartUploadWithContext = append(m.calls.AbortMultipartUploadWithContext, call)

	return m.AbortMultipartUploadWithContextFunc(arg0, arg1, arg2...)
}

// AbortMultipartUploadWithContextCalled returns true if AbortMultipartUploadWithContext was called at least once.
func (m *S3API) AbortMultipartUploadWithContextCalled() bool {
	m.lockAbortMultipartUploadWithContext.Lock()
	defer m.lockAbortMultipartUploadWithContext.Unlock()

	return len(m.calls.AbortMultipartUploadWithContext) > 0
}

// AbortMultipartUploadWithContextCalls returns the calls made to AbortMultipartUploadWithContext.
func (m *S3API) AbortMultipartUploadWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.AbortMultipartUploadInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockAbortMultipartUploadWithContext.Lock()
	defer m.lockAbortMultipartUploadWithContext.Unlock()

	return m.calls.AbortMultipartUploadWithContext
}

// AbortMultipartUploadRequest mocks base method by wrapping the associated func.
func (m *S3API) AbortMultipartUploadRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.AbortMultipartUploadInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.AbortMultipartUploadOutput) {
	m.lockAbortMultipartUploadRequest.Lock()
	defer m.lockAbortMultipartUploadRequest.Unlock()

	if m.AbortMultipartUploadRequestFunc == nil {
		panic("mocker: S3API.AbortMultipartUploadRequestFunc is nil but S3API.AbortMultipartUploadRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.AbortMultipartUploadInput
	}{
		Arg0: arg0,
	}

	m.calls.AbortMultipartUploadRequest = append(m.calls.AbortMultipartUploadRequest, call)

	return m.AbortMultipartUploadRequestFunc(arg0)
}

// AbortMultipartUploadRequestCalled returns true if AbortMultipartUploadRequest was called at least once.
func (m *S3API) AbortMultipartUploadRequestCalled() bool {
	m.lockAbortMultipartUploadRequest.Lock()
	defer m.lockAbortMultipartUploadRequest.Unlock()

	return len(m.calls.AbortMultipartUploadRequest) > 0
}

// AbortMultipartUploadRequestCalls returns the calls made to AbortMultipartUploadRequest.
func (m *S3API) AbortMultipartUploadRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.AbortMultipartUploadInput
} {
	m.lockAbortMultipartUploadRequest.Lock()
	defer m.lockAbortMultipartUploadRequest.Unlock()

	return m.calls.AbortMultipartUploadRequest
}

// CompleteMultipartUpload mocks base method by wrapping the associated func.
func (m *S3API) CompleteMultipartUpload(arg0 *github_com_aws_aws_sdk_go_service_s3.CompleteMultipartUploadInput) (*github_com_aws_aws_sdk_go_service_s3.CompleteMultipartUploadOutput, error) {
	m.lockCompleteMultipartUpload.Lock()
	defer m.lockCompleteMultipartUpload.Unlock()

	if m.CompleteMultipartUploadFunc == nil {
		panic("mocker: S3API.CompleteMultipartUploadFunc is nil but S3API.CompleteMultipartUpload was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.CompleteMultipartUploadInput
	}{
		Arg0: arg0,
	}

	m.calls.CompleteMultipartUpload = append(m.calls.CompleteMultipartUpload, call)

	return m.CompleteMultipartUploadFunc(arg0)
}

// CompleteMultipartUploadCalled returns true if CompleteMultipartUpload was called at least once.
func (m *S3API) CompleteMultipartUploadCalled() bool {
	m.lockCompleteMultipartUpload.Lock()
	defer m.lockCompleteMultipartUpload.Unlock()

	return len(m.calls.CompleteMultipartUpload) > 0
}

// CompleteMultipartUploadCalls returns the calls made to CompleteMultipartUpload.
func (m *S3API) CompleteMultipartUploadCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.CompleteMultipartUploadInput
} {
	m.lockCompleteMultipartUpload.Lock()
	defer m.lockCompleteMultipartUpload.Unlock()

	return m.calls.CompleteMultipartUpload
}

// CompleteMultipartUploadWithContext mocks base method by wrapping the associated func.
func (m *S3API) CompleteMultipartUploadWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.CompleteMultipartUploadInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.CompleteMultipartUploadOutput, error) {
	m.lockCompleteMultipartUploadWithContext.Lock()
	defer m.lockCompleteMultipartUploadWithContext.Unlock()

	if m.CompleteMultipartUploadWithContextFunc == nil {
		panic("mocker: S3API.CompleteMultipartUploadWithContextFunc is nil but S3API.CompleteMultipartUploadWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.CompleteMultipartUploadInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.CompleteMultipartUploadWithContext = append(m.calls.CompleteMultipartUploadWithContext, call)

	return m.CompleteMultipartUploadWithContextFunc(arg0, arg1, arg2...)
}

// CompleteMultipartUploadWithContextCalled returns true if CompleteMultipartUploadWithContext was called at least once.
func (m *S3API) CompleteMultipartUploadWithContextCalled() bool {
	m.lockCompleteMultipartUploadWithContext.Lock()
	defer m.lockCompleteMultipartUploadWithContext.Unlock()

	return len(m.calls.CompleteMultipartUploadWithContext) > 0
}

// CompleteMultipartUploadWithContextCalls returns the calls made to CompleteMultipartUploadWithContext.
func (m *S3API) CompleteMultipartUploadWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.CompleteMultipartUploadInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockCompleteMultipartUploadWithContext.Lock()
	defer m.lockCompleteMultipartUploadWithContext.Unlock()

	return m.calls.CompleteMultipartUploadWithContext
}

// CompleteMultipartUploadRequest mocks base method by wrapping the associated func.
func (m *S3API) CompleteMultipartUploadRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.CompleteMultipartUploadInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.CompleteMultipartUploadOutput) {
	m.lockCompleteMultipartUploadRequest.Lock()
	defer m.lockCompleteMultipartUploadRequest.Unlock()

	if m.CompleteMultipartUploadRequestFunc == nil {
		panic("mocker: S3API.CompleteMultipartUploadRequestFunc is nil but S3API.CompleteMultipartUploadRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.CompleteMultipartUploadInput
	}{
		Arg0: arg0,
	}

	m.calls.CompleteMultipartUploadRequest = append(m.calls.CompleteMultipartUploadRequest, call)

	return m.CompleteMultipartUploadRequestFunc(arg0)
}

// CompleteMultipartUploadRequestCalled returns true if CompleteMultipartUploadRequest was called at least once.
func (m *S3API) CompleteMultipartUploadRequestCalled() bool {
	m.lockCompleteMultipartUploadRequest.Lock()
	defer m.lockCompleteMultipartUploadRequest.Unlock()

	return len(m.calls.CompleteMultipartUploadRequest) > 0
}

// CompleteMultipartUploadRequestCalls returns the calls made to CompleteMultipartUploadRequest.
func (m *S3API) CompleteMultipartUploadRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.CompleteMultipartUploadInput
} {
	m.lockCompleteMultipartUploadRequest.Lock()
	defer m.lockCompleteMultipartUploadRequest.Unlock()

	return m.calls.CompleteMultipartUploadRequest
}

// CopyObject mocks base method by wrapping the associated func.
func (m *S3API) CopyObject(arg0 *github_com_aws_aws_sdk_go_service_s3.CopyObjectInput) (*github_com_aws_aws_sdk_go_service_s3.CopyObjectOutput, error) {
	m.lockCopyObject.Lock()
	defer m.lockCopyObject.Unlock()

	if m.CopyObjectFunc == nil {
		panic("mocker: S3API.CopyObjectFunc is nil but S3API.CopyObject was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.CopyObjectInput
	}{
		Arg0: arg0,
	}

	m.calls.CopyObject = append(m.calls.CopyObject, call)

	return m.CopyObjectFunc(arg0)
}

// CopyObjectCalled returns true if CopyObject was called at least once.
func (m *S3API) CopyObjectCalled() bool {
	m.lockCopyObject.Lock()
	defer m.lockCopyObject.Unlock()

	return len(m.calls.CopyObject) > 0
}

// CopyObjectCalls returns the calls made to CopyObject.
func (m *S3API) CopyObjectCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.CopyObjectInput
} {
	m.lockCopyObject.Lock()
	defer m.lockCopyObject.Unlock()

	return m.calls.CopyObject
}

// CopyObjectWithContext mocks base method by wrapping the associated func.
func (m *S3API) CopyObjectWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.CopyObjectInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.CopyObjectOutput, error) {
	m.lockCopyObjectWithContext.Lock()
	defer m.lockCopyObjectWithContext.Unlock()

	if m.CopyObjectWithContextFunc == nil {
		panic("mocker: S3API.CopyObjectWithContextFunc is nil but S3API.CopyObjectWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.CopyObjectInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.CopyObjectWithContext = append(m.calls.CopyObjectWithContext, call)

	return m.CopyObjectWithContextFunc(arg0, arg1, arg2...)
}

// CopyObjectWithContextCalled returns true if CopyObjectWithContext was called at least once.
func (m *S3API) CopyObjectWithContextCalled() bool {
	m.lockCopyObjectWithContext.Lock()
	defer m.lockCopyObjectWithContext.Unlock()

	return len(m.calls.CopyObjectWithContext) > 0
}

// CopyObjectWithContextCalls returns the calls made to CopyObjectWithContext.
func (m *S3API) CopyObjectWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.CopyObjectInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockCopyObjectWithContext.Lock()
	defer m.lockCopyObjectWithContext.Unlock()

	return m.calls.CopyObjectWithContext
}

// CopyObjectRequest mocks base method by wrapping the associated func.
func (m *S3API) CopyObjectRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.CopyObjectInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.CopyObjectOutput) {
	m.lockCopyObjectRequest.Lock()
	defer m.lockCopyObjectRequest.Unlock()

	if m.CopyObjectRequestFunc == nil {
		panic("mocker: S3API.CopyObjectRequestFunc is nil but S3API.CopyObjectRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.CopyObjectInput
	}{
		Arg0: arg0,
	}

	m.calls.CopyObjectRequest = append(m.calls.CopyObjectRequest, call)

	return m.CopyObjectRequestFunc(arg0)
}

// CopyObjectRequestCalled returns true if CopyObjectRequest was called at least once.
func (m *S3API) CopyObjectRequestCalled() bool {
	m.lockCopyObjectRequest.Lock()
	defer m.lockCopyObjectRequest.Unlock()

	return len(m.calls.CopyObjectRequest) > 0
}

// CopyObjectRequestCalls returns the calls made to CopyObjectRequest.
func (m *S3API) CopyObjectRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.CopyObjectInput
} {
	m.lockCopyObjectRequest.Lock()
	defer m.lockCopyObjectRequest.Unlock()

	return m.calls.CopyObjectRequest
}

// CreateBucket mocks base method by wrapping the associated func.
func (m *S3API) CreateBucket(arg0 *github_com_aws_aws_sdk_go_service_s3.CreateBucketInput) (*github_com_aws_aws_sdk_go_service_s3.CreateBucketOutput, error) {
	m.lockCreateBucket.Lock()
	defer m.lockCreateBucket.Unlock()

	if m.CreateBucketFunc == nil {
		panic("mocker: S3API.CreateBucketFunc is nil but S3API.CreateBucket was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.CreateBucketInput
	}{
		Arg0: arg0,
	}

	m.calls.CreateBucket = append(m.calls.CreateBucket, call)

	return m.CreateBucketFunc(arg0)
}

// CreateBucketCalled returns true if CreateBucket was called at least once.
func (m *S3API) CreateBucketCalled() bool {
	m.lockCreateBucket.Lock()
	defer m.lockCreateBucket.Unlock()

	return len(m.calls.CreateBucket) > 0
}

// CreateBucketCalls returns the calls made to CreateBucket.
func (m *S3API) CreateBucketCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.CreateBucketInput
} {
	m.lockCreateBucket.Lock()
	defer m.lockCreateBucket.Unlock()

	return m.calls.CreateBucket
}

// CreateBucketWithContext mocks base method by wrapping the associated func.
func (m *S3API) CreateBucketWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.CreateBucketInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.CreateBucketOutput, error) {
	m.lockCreateBucketWithContext.Lock()
	defer m.lockCreateBucketWithContext.Unlock()

	if m.CreateBucketWithContextFunc == nil {
		panic("mocker: S3API.CreateBucketWithContextFunc is nil but S3API.CreateBucketWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.CreateBucketInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.CreateBucketWithContext = append(m.calls.CreateBucketWithContext, call)

	return m.CreateBucketWithContextFunc(arg0, arg1, arg2...)
}

// CreateBucketWithContextCalled returns true if CreateBucketWithContext was called at least once.
func (m *S3API) CreateBucketWithContextCalled() bool {
	m.lockCreateBucketWithContext.Lock()
	defer m.lockCreateBucketWithContext.Unlock()

	return len(m.calls.CreateBucketWithContext) > 0
}

// CreateBucketWithContextCalls returns the calls made to CreateBucketWithContext.
func (m *S3API) CreateBucketWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.CreateBucketInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockCreateBucketWithContext.Lock()
	defer m.lockCreateBucketWithContext.Unlock()

	return m.calls.CreateBucketWithContext
}

// CreateBucketRequest mocks base method by wrapping the associated func.
func (m *S3API) CreateBucketRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.CreateBucketInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.CreateBucketOutput) {
	m.lockCreateBucketRequest.Lock()
	defer m.lockCreateBucketRequest.Unlock()

	if m.CreateBucketRequestFunc == nil {
		panic("mocker: S3API.CreateBucketRequestFunc is nil but S3API.CreateBucketRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.CreateBucketInput
	}{
		Arg0: arg0,
	}

	m.calls.CreateBucketRequest = append(m.calls.CreateBucketRequest, call)

	return m.CreateBucketRequestFunc(arg0)
}

// CreateBucketRequestCalled returns true if CreateBucketRequest was called at least once.
func (m *S3API) CreateBucketRequestCalled() bool {
	m.lockCreateBucketRequest.Lock()
	defer m.lockCreateBucketRequest.Unlock()

	return len(m.calls.CreateBucketRequest) > 0
}

// CreateBucketRequestCalls returns the calls made to CreateBucketRequest.
func (m *S3API) CreateBucketRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.CreateBucketInput
} {
	m.lockCreateBucketRequest.Lock()
	defer m.lockCreateBucketRequest.Unlock()

	return m.calls.CreateBucketRequest
}

// CreateMultipartUpload mocks base method by wrapping the associated func.
func (m *S3API) CreateMultipartUpload(arg0 *github_com_aws_aws_sdk_go_service_s3.CreateMultipartUploadInput) (*github_com_aws_aws_sdk_go_service_s3.CreateMultipartUploadOutput, error) {
	m.lockCreateMultipartUpload.Lock()
	defer m.lockCreateMultipartUpload.Unlock()

	if m.CreateMultipartUploadFunc == nil {
		panic("mocker: S3API.CreateMultipartUploadFunc is nil but S3API.CreateMultipartUpload was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.CreateMultipartUploadInput
	}{
		Arg0: arg0,
	}

	m.calls.CreateMultipartUpload = append(m.calls.CreateMultipartUpload, call)

	return m.CreateMultipartUploadFunc(arg0)
}

// CreateMultipartUploadCalled returns true if CreateMultipartUpload was called at least once.
func (m *S3API) CreateMultipartUploadCalled() bool {
	m.lockCreateMultipartUpload.Lock()
	defer m.lockCreateMultipartUpload.Unlock()

	return len(m.calls.CreateMultipartUpload) > 0
}

// CreateMultipartUploadCalls returns the calls made to CreateMultipartUpload.
func (m *S3API) CreateMultipartUploadCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.CreateMultipartUploadInput
} {
	m.lockCreateMultipartUpload.Lock()
	defer m.lockCreateMultipartUpload.Unlock()

	return m.calls.CreateMultipartUpload
}

// CreateMultipartUploadWithContext mocks base method by wrapping the associated func.
func (m *S3API) CreateMultipartUploadWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.CreateMultipartUploadInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.CreateMultipartUploadOutput, error) {
	m.lockCreateMultipartUploadWithContext.Lock()
	defer m.lockCreateMultipartUploadWithContext.Unlock()

	if m.CreateMultipartUploadWithContextFunc == nil {
		panic("mocker: S3API.CreateMultipartUploadWithContextFunc is nil but S3API.CreateMultipartUploadWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.CreateMultipartUploadInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.CreateMultipartUploadWithContext = append(m.calls.CreateMultipartUploadWithContext, call)

	return m.CreateMultipartUploadWithContextFunc(arg0, arg1, arg2...)
}

// CreateMultipartUploadWithContextCalled returns true if CreateMultipartUploadWithContext was called at least once.
func (m *S3API) CreateMultipartUploadWithContextCalled() bool {
	m.lockCreateMultipartUploadWithContext.Lock()
	defer m.lockCreateMultipartUploadWithContext.Unlock()

	return len(m.calls.CreateMultipartUploadWithContext) > 0
}

// CreateMultipartUploadWithContextCalls returns the calls made to CreateMultipartUploadWithContext.
func (m *S3API) CreateMultipartUploadWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.CreateMultipartUploadInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockCreateMultipartUploadWithContext.Lock()
	defer m.lockCreateMultipartUploadWithContext.Unlock()

	return m.calls.CreateMultipartUploadWithContext
}

// CreateMultipartUploadRequest mocks base method by wrapping the associated func.
func (m *S3API) CreateMultipartUploadRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.CreateMultipartUploadInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.CreateMultipartUploadOutput) {
	m.lockCreateMultipartUploadRequest.Lock()
	defer m.lockCreateMultipartUploadRequest.Unlock()

	if m.CreateMultipartUploadRequestFunc == nil {
		panic("mocker: S3API.CreateMultipartUploadRequestFunc is nil but S3API.CreateMultipartUploadRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.CreateMultipartUploadInput
	}{
		Arg0: arg0,
	}

	m.calls.CreateMultipartUploadRequest = append(m.calls.CreateMultipartUploadRequest, call)

	return m.CreateMultipartUploadRequestFunc(arg0)
}

// CreateMultipartUploadRequestCalled returns true if CreateMultipartUploadRequest was called at least once.
func (m *S3API) CreateMultipartUploadRequestCalled() bool {
	m.lockCreateMultipartUploadRequest.Lock()
	defer m.lockCreateMultipartUploadRequest.Unlock()

	return len(m.calls.CreateMultipartUploadRequest) > 0
}

// CreateMultipartUploadRequestCalls returns the calls made to CreateMultipartUploadRequest.
func (m *S3API) CreateMultipartUploadRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.CreateMultipartUploadInput
} {
	m.lockCreateMultipartUploadRequest.Lock()
	defer m.lockCreateMultipartUploadRequest.Unlock()

	return m.calls.CreateMultipartUploadRequest
}

// DeleteBucket mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucket(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketOutput, error) {
	m.lockDeleteBucket.Lock()
	defer m.lockDeleteBucket.Unlock()

	if m.DeleteBucketFunc == nil {
		panic("mocker: S3API.DeleteBucketFunc is nil but S3API.DeleteBucket was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucket = append(m.calls.DeleteBucket, call)

	return m.DeleteBucketFunc(arg0)
}

// DeleteBucketCalled returns true if DeleteBucket was called at least once.
func (m *S3API) DeleteBucketCalled() bool {
	m.lockDeleteBucket.Lock()
	defer m.lockDeleteBucket.Unlock()

	return len(m.calls.DeleteBucket) > 0
}

// DeleteBucketCalls returns the calls made to DeleteBucket.
func (m *S3API) DeleteBucketCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInput
} {
	m.lockDeleteBucket.Lock()
	defer m.lockDeleteBucket.Unlock()

	return m.calls.DeleteBucket
}

// DeleteBucketWithContext mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketOutput, error) {
	m.lockDeleteBucketWithContext.Lock()
	defer m.lockDeleteBucketWithContext.Unlock()

	if m.DeleteBucketWithContextFunc == nil {
		panic("mocker: S3API.DeleteBucketWithContextFunc is nil but S3API.DeleteBucketWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.DeleteBucketWithContext = append(m.calls.DeleteBucketWithContext, call)

	return m.DeleteBucketWithContextFunc(arg0, arg1, arg2...)
}

// DeleteBucketWithContextCalled returns true if DeleteBucketWithContext was called at least once.
func (m *S3API) DeleteBucketWithContextCalled() bool {
	m.lockDeleteBucketWithContext.Lock()
	defer m.lockDeleteBucketWithContext.Unlock()

	return len(m.calls.DeleteBucketWithContext) > 0
}

// DeleteBucketWithContextCalls returns the calls made to DeleteBucketWithContext.
func (m *S3API) DeleteBucketWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockDeleteBucketWithContext.Lock()
	defer m.lockDeleteBucketWithContext.Unlock()

	return m.calls.DeleteBucketWithContext
}

// DeleteBucketRequest mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketOutput) {
	m.lockDeleteBucketRequest.Lock()
	defer m.lockDeleteBucketRequest.Unlock()

	if m.DeleteBucketRequestFunc == nil {
		panic("mocker: S3API.DeleteBucketRequestFunc is nil but S3API.DeleteBucketRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucketRequest = append(m.calls.DeleteBucketRequest, call)

	return m.DeleteBucketRequestFunc(arg0)
}

// DeleteBucketRequestCalled returns true if DeleteBucketRequest was called at least once.
func (m *S3API) DeleteBucketRequestCalled() bool {
	m.lockDeleteBucketRequest.Lock()
	defer m.lockDeleteBucketRequest.Unlock()

	return len(m.calls.DeleteBucketRequest) > 0
}

// DeleteBucketRequestCalls returns the calls made to DeleteBucketRequest.
func (m *S3API) DeleteBucketRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInput
} {
	m.lockDeleteBucketRequest.Lock()
	defer m.lockDeleteBucketRequest.Unlock()

	return m.calls.DeleteBucketRequest
}

// DeleteBucketAnalyticsConfiguration mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketAnalyticsConfiguration(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketAnalyticsConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketAnalyticsConfigurationOutput, error) {
	m.lockDeleteBucketAnalyticsConfiguration.Lock()
	defer m.lockDeleteBucketAnalyticsConfiguration.Unlock()

	if m.DeleteBucketAnalyticsConfigurationFunc == nil {
		panic("mocker: S3API.DeleteBucketAnalyticsConfigurationFunc is nil but S3API.DeleteBucketAnalyticsConfiguration was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketAnalyticsConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucketAnalyticsConfiguration = append(m.calls.DeleteBucketAnalyticsConfiguration, call)

	return m.DeleteBucketAnalyticsConfigurationFunc(arg0)
}

// DeleteBucketAnalyticsConfigurationCalled returns true if DeleteBucketAnalyticsConfiguration was called at least once.
func (m *S3API) DeleteBucketAnalyticsConfigurationCalled() bool {
	m.lockDeleteBucketAnalyticsConfiguration.Lock()
	defer m.lockDeleteBucketAnalyticsConfiguration.Unlock()

	return len(m.calls.DeleteBucketAnalyticsConfiguration) > 0
}

// DeleteBucketAnalyticsConfigurationCalls returns the calls made to DeleteBucketAnalyticsConfiguration.
func (m *S3API) DeleteBucketAnalyticsConfigurationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketAnalyticsConfigurationInput
} {
	m.lockDeleteBucketAnalyticsConfiguration.Lock()
	defer m.lockDeleteBucketAnalyticsConfiguration.Unlock()

	return m.calls.DeleteBucketAnalyticsConfiguration
}

// DeleteBucketAnalyticsConfigurationWithContext mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketAnalyticsConfigurationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketAnalyticsConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketAnalyticsConfigurationOutput, error) {
	m.lockDeleteBucketAnalyticsConfigurationWithContext.Lock()
	defer m.lockDeleteBucketAnalyticsConfigurationWithContext.Unlock()

	if m.DeleteBucketAnalyticsConfigurationWithContextFunc == nil {
		panic("mocker: S3API.DeleteBucketAnalyticsConfigurationWithContextFunc is nil but S3API.DeleteBucketAnalyticsConfigurationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketAnalyticsConfigurationInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.DeleteBucketAnalyticsConfigurationWithContext = append(m.calls.DeleteBucketAnalyticsConfigurationWithContext, call)

	return m.DeleteBucketAnalyticsConfigurationWithContextFunc(arg0, arg1, arg2...)
}

// DeleteBucketAnalyticsConfigurationWithContextCalled returns true if DeleteBucketAnalyticsConfigurationWithContext was called at least once.
func (m *S3API) DeleteBucketAnalyticsConfigurationWithContextCalled() bool {
	m.lockDeleteBucketAnalyticsConfigurationWithContext.Lock()
	defer m.lockDeleteBucketAnalyticsConfigurationWithContext.Unlock()

	return len(m.calls.DeleteBucketAnalyticsConfigurationWithContext) > 0
}

// DeleteBucketAnalyticsConfigurationWithContextCalls returns the calls made to DeleteBucketAnalyticsConfigurationWithContext.
func (m *S3API) DeleteBucketAnalyticsConfigurationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketAnalyticsConfigurationInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockDeleteBucketAnalyticsConfigurationWithContext.Lock()
	defer m.lockDeleteBucketAnalyticsConfigurationWithContext.Unlock()

	return m.calls.DeleteBucketAnalyticsConfigurationWithContext
}

// DeleteBucketAnalyticsConfigurationRequest mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketAnalyticsConfigurationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketAnalyticsConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketAnalyticsConfigurationOutput) {
	m.lockDeleteBucketAnalyticsConfigurationRequest.Lock()
	defer m.lockDeleteBucketAnalyticsConfigurationRequest.Unlock()

	if m.DeleteBucketAnalyticsConfigurationRequestFunc == nil {
		panic("mocker: S3API.DeleteBucketAnalyticsConfigurationRequestFunc is nil but S3API.DeleteBucketAnalyticsConfigurationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketAnalyticsConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucketAnalyticsConfigurationRequest = append(m.calls.DeleteBucketAnalyticsConfigurationRequest, call)

	return m.DeleteBucketAnalyticsConfigurationRequestFunc(arg0)
}

// DeleteBucketAnalyticsConfigurationRequestCalled returns true if DeleteBucketAnalyticsConfigurationRequest was called at least once.
func (m *S3API) DeleteBucketAnalyticsConfigurationRequestCalled() bool {
	m.lockDeleteBucketAnalyticsConfigurationRequest.Lock()
	defer m.lockDeleteBucketAnalyticsConfigurationRequest.Unlock()

	return len(m.calls.DeleteBucketAnalyticsConfigurationRequest) > 0
}

// DeleteBucketAnalyticsConfigurationRequestCalls returns the calls made to DeleteBucketAnalyticsConfigurationRequest.
func (m *S3API) DeleteBucketAnalyticsConfigurationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketAnalyticsConfigurationInput
} {
	m.lockDeleteBucketAnalyticsConfigurationRequest.Lock()
	defer m.lockDeleteBucketAnalyticsConfigurationRequest.Unlock()

	return m.calls.DeleteBucketAnalyticsConfigurationRequest
}

// DeleteBucketCors mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketCors(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketCorsInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketCorsOutput, error) {
	m.lockDeleteBucketCors.Lock()
	defer m.lockDeleteBucketCors.Unlock()

	if m.DeleteBucketCorsFunc == nil {
		panic("mocker: S3API.DeleteBucketCorsFunc is nil but S3API.DeleteBucketCors was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketCorsInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucketCors = append(m.calls.DeleteBucketCors, call)

	return m.DeleteBucketCorsFunc(arg0)
}

// DeleteBucketCorsCalled returns true if DeleteBucketCors was called at least once.
func (m *S3API) DeleteBucketCorsCalled() bool {
	m.lockDeleteBucketCors.Lock()
	defer m.lockDeleteBucketCors.Unlock()

	return len(m.calls.DeleteBucketCors) > 0
}

// DeleteBucketCorsCalls returns the calls made to DeleteBucketCors.
func (m *S3API) DeleteBucketCorsCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketCorsInput
} {
	m.lockDeleteBucketCors.Lock()
	defer m.lockDeleteBucketCors.Unlock()

	return m.calls.DeleteBucketCors
}

// DeleteBucketCorsWithContext mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketCorsWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketCorsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketCorsOutput, error) {
	m.lockDeleteBucketCorsWithContext.Lock()
	defer m.lockDeleteBucketCorsWithContext.Unlock()

	if m.DeleteBucketCorsWithContextFunc == nil {
		panic("mocker: S3API.DeleteBucketCorsWithContextFunc is nil but S3API.DeleteBucketCorsWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketCorsInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.DeleteBucketCorsWithContext = append(m.calls.DeleteBucketCorsWithContext, call)

	return m.DeleteBucketCorsWithContextFunc(arg0, arg1, arg2...)
}

// DeleteBucketCorsWithContextCalled returns true if DeleteBucketCorsWithContext was called at least once.
func (m *S3API) DeleteBucketCorsWithContextCalled() bool {
	m.lockDeleteBucketCorsWithContext.Lock()
	defer m.lockDeleteBucketCorsWithContext.Unlock()

	return len(m.calls.DeleteBucketCorsWithContext) > 0
}

// DeleteBucketCorsWithContextCalls returns the calls made to DeleteBucketCorsWithContext.
func (m *S3API) DeleteBucketCorsWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketCorsInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockDeleteBucketCorsWithContext.Lock()
	defer m.lockDeleteBucketCorsWithContext.Unlock()

	return m.calls.DeleteBucketCorsWithContext
}

// DeleteBucketCorsRequest mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketCorsRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketCorsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketCorsOutput) {
	m.lockDeleteBucketCorsRequest.Lock()
	defer m.lockDeleteBucketCorsRequest.Unlock()

	if m.DeleteBucketCorsRequestFunc == nil {
		panic("mocker: S3API.DeleteBucketCorsRequestFunc is nil but S3API.DeleteBucketCorsRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketCorsInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucketCorsRequest = append(m.calls.DeleteBucketCorsRequest, call)

	return m.DeleteBucketCorsRequestFunc(arg0)
}

// DeleteBucketCorsRequestCalled returns true if DeleteBucketCorsRequest was called at least once.
func (m *S3API) DeleteBucketCorsRequestCalled() bool {
	m.lockDeleteBucketCorsRequest.Lock()
	defer m.lockDeleteBucketCorsRequest.Unlock()

	return len(m.calls.DeleteBucketCorsRequest) > 0
}

// DeleteBucketCorsRequestCalls returns the calls made to DeleteBucketCorsRequest.
func (m *S3API) DeleteBucketCorsRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketCorsInput
} {
	m.lockDeleteBucketCorsRequest.Lock()
	defer m.lockDeleteBucketCorsRequest.Unlock()

	return m.calls.DeleteBucketCorsRequest
}

// DeleteBucketEncryption mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketEncryption(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketEncryptionInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketEncryptionOutput, error) {
	m.lockDeleteBucketEncryption.Lock()
	defer m.lockDeleteBucketEncryption.Unlock()

	if m.DeleteBucketEncryptionFunc == nil {
		panic("mocker: S3API.DeleteBucketEncryptionFunc is nil but S3API.DeleteBucketEncryption was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketEncryptionInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucketEncryption = append(m.calls.DeleteBucketEncryption, call)

	return m.DeleteBucketEncryptionFunc(arg0)
}

// DeleteBucketEncryptionCalled returns true if DeleteBucketEncryption was called at least once.
func (m *S3API) DeleteBucketEncryptionCalled() bool {
	m.lockDeleteBucketEncryption.Lock()
	defer m.lockDeleteBucketEncryption.Unlock()

	return len(m.calls.DeleteBucketEncryption) > 0
}

// DeleteBucketEncryptionCalls returns the calls made to DeleteBucketEncryption.
func (m *S3API) DeleteBucketEncryptionCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketEncryptionInput
} {
	m.lockDeleteBucketEncryption.Lock()
	defer m.lockDeleteBucketEncryption.Unlock()

	return m.calls.DeleteBucketEncryption
}

// DeleteBucketEncryptionWithContext mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketEncryptionWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketEncryptionInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketEncryptionOutput, error) {
	m.lockDeleteBucketEncryptionWithContext.Lock()
	defer m.lockDeleteBucketEncryptionWithContext.Unlock()

	if m.DeleteBucketEncryptionWithContextFunc == nil {
		panic("mocker: S3API.DeleteBucketEncryptionWithContextFunc is nil but S3API.DeleteBucketEncryptionWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketEncryptionInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.DeleteBucketEncryptionWithContext = append(m.calls.DeleteBucketEncryptionWithContext, call)

	return m.DeleteBucketEncryptionWithContextFunc(arg0, arg1, arg2...)
}

// DeleteBucketEncryptionWithContextCalled returns true if DeleteBucketEncryptionWithContext was called at least once.
func (m *S3API) DeleteBucketEncryptionWithContextCalled() bool {
	m.lockDeleteBucketEncryptionWithContext.Lock()
	defer m.lockDeleteBucketEncryptionWithContext.Unlock()

	return len(m.calls.DeleteBucketEncryptionWithContext) > 0
}

// DeleteBucketEncryptionWithContextCalls returns the calls made to DeleteBucketEncryptionWithContext.
func (m *S3API) DeleteBucketEncryptionWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketEncryptionInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockDeleteBucketEncryptionWithContext.Lock()
	defer m.lockDeleteBucketEncryptionWithContext.Unlock()

	return m.calls.DeleteBucketEncryptionWithContext
}

// DeleteBucketEncryptionRequest mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketEncryptionRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketEncryptionInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketEncryptionOutput) {
	m.lockDeleteBucketEncryptionRequest.Lock()
	defer m.lockDeleteBucketEncryptionRequest.Unlock()

	if m.DeleteBucketEncryptionRequestFunc == nil {
		panic("mocker: S3API.DeleteBucketEncryptionRequestFunc is nil but S3API.DeleteBucketEncryptionRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketEncryptionInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucketEncryptionRequest = append(m.calls.DeleteBucketEncryptionRequest, call)

	return m.DeleteBucketEncryptionRequestFunc(arg0)
}

// DeleteBucketEncryptionRequestCalled returns true if DeleteBucketEncryptionRequest was called at least once.
func (m *S3API) DeleteBucketEncryptionRequestCalled() bool {
	m.lockDeleteBucketEncryptionRequest.Lock()
	defer m.lockDeleteBucketEncryptionRequest.Unlock()

	return len(m.calls.DeleteBucketEncryptionRequest) > 0
}

// DeleteBucketEncryptionRequestCalls returns the calls made to DeleteBucketEncryptionRequest.
func (m *S3API) DeleteBucketEncryptionRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketEncryptionInput
} {
	m.lockDeleteBucketEncryptionRequest.Lock()
	defer m.lockDeleteBucketEncryptionRequest.Unlock()

	return m.calls.DeleteBucketEncryptionRequest
}

// DeleteBucketIntelligentTieringConfiguration mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketIntelligentTieringConfiguration(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketIntelligentTieringConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketIntelligentTieringConfigurationOutput, error) {
	m.lockDeleteBucketIntelligentTieringConfiguration.Lock()
	defer m.lockDeleteBucketIntelligentTieringConfiguration.Unlock()

	if m.DeleteBucketIntelligentTieringConfigurationFunc == nil {
		panic("mocker: S3API.DeleteBucketIntelligentTieringConfigurationFunc is nil but S3API.DeleteBucketIntelligentTieringConfiguration was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketIntelligentTieringConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucketIntelligentTieringConfiguration = append(m.calls.DeleteBucketIntelligentTieringConfiguration, call)

	return m.DeleteBucketIntelligentTieringConfigurationFunc(arg0)
}

// DeleteBucketIntelligentTieringConfigurationCalled returns true if DeleteBucketIntelligentTieringConfiguration was called at least once.
func (m *S3API) DeleteBucketIntelligentTieringConfigurationCalled() bool {
	m.lockDeleteBucketIntelligentTieringConfiguration.Lock()
	defer m.lockDeleteBucketIntelligentTieringConfiguration.Unlock()

	return len(m.calls.DeleteBucketIntelligentTieringConfiguration) > 0
}

// DeleteBucketIntelligentTieringConfigurationCalls returns the calls made to DeleteBucketIntelligentTieringConfiguration.
func (m *S3API) DeleteBucketIntelligentTieringConfigurationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketIntelligentTieringConfigurationInput
} {
	m.lockDeleteBucketIntelligentTieringConfiguration.Lock()
	defer m.lockDeleteBucketIntelligentTieringConfiguration.Unlock()

	return m.calls.DeleteBucketIntelligentTieringConfiguration
}

// DeleteBucketIntelligentTieringConfigurationWithContext mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketIntelligentTieringConfigurationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketIntelligentTieringConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketIntelligentTieringConfigurationOutput, error) {
	m.lockDeleteBucketIntelligentTieringConfigurationWithContext.Lock()
	defer m.lockDeleteBucketIntelligentTieringConfigurationWithContext.Unlock()

	if m.DeleteBucketIntelligentTieringConfigurationWithContextFunc == nil {
		panic("mocker: S3API.DeleteBucketIntelligentTieringConfigurationWithContextFunc is nil but S3API.DeleteBucketIntelligentTieringConfigurationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketIntelligentTieringConfigurationInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.DeleteBucketIntelligentTieringConfigurationWithContext = append(m.calls.DeleteBucketIntelligentTieringConfigurationWithContext, call)

	return m.DeleteBucketIntelligentTieringConfigurationWithContextFunc(arg0, arg1, arg2...)
}

// DeleteBucketIntelligentTieringConfigurationWithContextCalled returns true if DeleteBucketIntelligentTieringConfigurationWithContext was called at least once.
func (m *S3API) DeleteBucketIntelligentTieringConfigurationWithContextCalled() bool {
	m.lockDeleteBucketIntelligentTieringConfigurationWithContext.Lock()
	defer m.lockDeleteBucketIntelligentTieringConfigurationWithContext.Unlock()

	return len(m.calls.DeleteBucketIntelligentTieringConfigurationWithContext) > 0
}

// DeleteBucketIntelligentTieringConfigurationWithContextCalls returns the calls made to DeleteBucketIntelligentTieringConfigurationWithContext.
func (m *S3API) DeleteBucketIntelligentTieringConfigurationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketIntelligentTieringConfigurationInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockDeleteBucketIntelligentTieringConfigurationWithContext.Lock()
	defer m.lockDeleteBucketIntelligentTieringConfigurationWithContext.Unlock()

	return m.calls.DeleteBucketIntelligentTieringConfigurationWithContext
}

// DeleteBucketIntelligentTieringConfigurationRequest mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketIntelligentTieringConfigurationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketIntelligentTieringConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketIntelligentTieringConfigurationOutput) {
	m.lockDeleteBucketIntelligentTieringConfigurationRequest.Lock()
	defer m.lockDeleteBucketIntelligentTieringConfigurationRequest.Unlock()

	if m.DeleteBucketIntelligentTieringConfigurationRequestFunc == nil {
		panic("mocker: S3API.DeleteBucketIntelligentTieringConfigurationRequestFunc is nil but S3API.DeleteBucketIntelligentTieringConfigurationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketIntelligentTieringConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucketIntelligentTieringConfigurationRequest = append(m.calls.DeleteBucketIntelligentTieringConfigurationRequest, call)

	return m.DeleteBucketIntelligentTieringConfigurationRequestFunc(arg0)
}

// DeleteBucketIntelligentTieringConfigurationRequestCalled returns true if DeleteBucketIntelligentTieringConfigurationRequest was called at least once.
func (m *S3API) DeleteBucketIntelligentTieringConfigurationRequestCalled() bool {
	m.lockDeleteBucketIntelligentTieringConfigurationRequest.Lock()
	defer m.lockDeleteBucketIntelligentTieringConfigurationRequest.Unlock()

	return len(m.calls.DeleteBucketIntelligentTieringConfigurationRequest) > 0
}

// DeleteBucketIntelligentTieringConfigurationRequestCalls returns the calls made to DeleteBucketIntelligentTieringConfigurationRequest.
func (m *S3API) DeleteBucketIntelligentTieringConfigurationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketIntelligentTieringConfigurationInput
} {
	m.lockDeleteBucketIntelligentTieringConfigurationRequest.Lock()
	defer m.lockDeleteBucketIntelligentTieringConfigurationRequest.Unlock()

	return m.calls.DeleteBucketIntelligentTieringConfigurationRequest
}

// DeleteBucketInventoryConfiguration mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketInventoryConfiguration(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInventoryConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketInventoryConfigurationOutput, error) {
	m.lockDeleteBucketInventoryConfiguration.Lock()
	defer m.lockDeleteBucketInventoryConfiguration.Unlock()

	if m.DeleteBucketInventoryConfigurationFunc == nil {
		panic("mocker: S3API.DeleteBucketInventoryConfigurationFunc is nil but S3API.DeleteBucketInventoryConfiguration was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInventoryConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucketInventoryConfiguration = append(m.calls.DeleteBucketInventoryConfiguration, call)

	return m.DeleteBucketInventoryConfigurationFunc(arg0)
}

// DeleteBucketInventoryConfigurationCalled returns true if DeleteBucketInventoryConfiguration was called at least once.
func (m *S3API) DeleteBucketInventoryConfigurationCalled() bool {
	m.lockDeleteBucketInventoryConfiguration.Lock()
	defer m.lockDeleteBucketInventoryConfiguration.Unlock()

	return len(m.calls.DeleteBucketInventoryConfiguration) > 0
}

// DeleteBucketInventoryConfigurationCalls returns the calls made to DeleteBucketInventoryConfiguration.
func (m *S3API) DeleteBucketInventoryConfigurationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInventoryConfigurationInput
} {
	m.lockDeleteBucketInventoryConfiguration.Lock()
	defer m.lockDeleteBucketInventoryConfiguration.Unlock()

	return m.calls.DeleteBucketInventoryConfiguration
}

// DeleteBucketInventoryConfigurationWithContext mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketInventoryConfigurationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInventoryConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketInventoryConfigurationOutput, error) {
	m.lockDeleteBucketInventoryConfigurationWithContext.Lock()
	defer m.lockDeleteBucketInventoryConfigurationWithContext.Unlock()

	if m.DeleteBucketInventoryConfigurationWithContextFunc == nil {
		panic("mocker: S3API.DeleteBucketInventoryConfigurationWithContextFunc is nil but S3API.DeleteBucketInventoryConfigurationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInventoryConfigurationInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.DeleteBucketInventoryConfigurationWithContext = append(m.calls.DeleteBucketInventoryConfigurationWithContext, call)

	return m.DeleteBucketInventoryConfigurationWithContextFunc(arg0, arg1, arg2...)
}

// DeleteBucketInventoryConfigurationWithContextCalled returns true if DeleteBucketInventoryConfigurationWithContext was called at least once.
func (m *S3API) DeleteBucketInventoryConfigurationWithContextCalled() bool {
	m.lockDeleteBucketInventoryConfigurationWithContext.Lock()
	defer m.lockDeleteBucketInventoryConfigurationWithContext.Unlock()

	return len(m.calls.DeleteBucketInventoryConfigurationWithContext) > 0
}

// DeleteBucketInventoryConfigurationWithContextCalls returns the calls made to DeleteBucketInventoryConfigurationWithContext.
func (m *S3API) DeleteBucketInventoryConfigurationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInventoryConfigurationInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockDeleteBucketInventoryConfigurationWithContext.Lock()
	defer m.lockDeleteBucketInventoryConfigurationWithContext.Unlock()

	return m.calls.DeleteBucketInventoryConfigurationWithContext
}

// DeleteBucketInventoryConfigurationRequest mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketInventoryConfigurationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInventoryConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInventoryConfigurationOutput) {
	m.lockDeleteBucketInventoryConfigurationRequest.Lock()
	defer m.lockDeleteBucketInventoryConfigurationRequest.Unlock()

	if m.DeleteBucketInventoryConfigurationRequestFunc == nil {
		panic("mocker: S3API.DeleteBucketInventoryConfigurationRequestFunc is nil but S3API.DeleteBucketInventoryConfigurationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInventoryConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucketInventoryConfigurationRequest = append(m.calls.DeleteBucketInventoryConfigurationRequest, call)

	return m.DeleteBucketInventoryConfigurationRequestFunc(arg0)
}

// DeleteBucketInventoryConfigurationRequestCalled returns true if DeleteBucketInventoryConfigurationRequest was called at least once.
func (m *S3API) DeleteBucketInventoryConfigurationRequestCalled() bool {
	m.lockDeleteBucketInventoryConfigurationRequest.Lock()
	defer m.lockDeleteBucketInventoryConfigurationRequest.Unlock()

	return len(m.calls.DeleteBucketInventoryConfigurationRequest) > 0
}

// DeleteBucketInventoryConfigurationRequestCalls returns the calls made to DeleteBucketInventoryConfigurationRequest.
func (m *S3API) DeleteBucketInventoryConfigurationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketInventoryConfigurationInput
} {
	m.lockDeleteBucketInventoryConfigurationRequest.Lock()
	defer m.lockDeleteBucketInventoryConfigurationRequest.Unlock()

	return m.calls.DeleteBucketInventoryConfigurationRequest
}

// DeleteBucketLifecycle mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketLifecycle(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketLifecycleInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketLifecycleOutput, error) {
	m.lockDeleteBucketLifecycle.Lock()
	defer m.lockDeleteBucketLifecycle.Unlock()

	if m.DeleteBucketLifecycleFunc == nil {
		panic("mocker: S3API.DeleteBucketLifecycleFunc is nil but S3API.DeleteBucketLifecycle was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketLifecycleInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucketLifecycle = append(m.calls.DeleteBucketLifecycle, call)

	return m.DeleteBucketLifecycleFunc(arg0)
}

// DeleteBucketLifecycleCalled returns true if DeleteBucketLifecycle was called at least once.
func (m *S3API) DeleteBucketLifecycleCalled() bool {
	m.lockDeleteBucketLifecycle.Lock()
	defer m.lockDeleteBucketLifecycle.Unlock()

	return len(m.calls.DeleteBucketLifecycle) > 0
}

// DeleteBucketLifecycleCalls returns the calls made to DeleteBucketLifecycle.
func (m *S3API) DeleteBucketLifecycleCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketLifecycleInput
} {
	m.lockDeleteBucketLifecycle.Lock()
	defer m.lockDeleteBucketLifecycle.Unlock()

	return m.calls.DeleteBucketLifecycle
}

// DeleteBucketLifecycleWithContext mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketLifecycleWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketLifecycleInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketLifecycleOutput, error) {
	m.lockDeleteBucketLifecycleWithContext.Lock()
	defer m.lockDeleteBucketLifecycleWithContext.Unlock()

	if m.DeleteBucketLifecycleWithContextFunc == nil {
		panic("mocker: S3API.DeleteBucketLifecycleWithContextFunc is nil but S3API.DeleteBucketLifecycleWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketLifecycleInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.DeleteBucketLifecycleWithContext = append(m.calls.DeleteBucketLifecycleWithContext, call)

	return m.DeleteBucketLifecycleWithContextFunc(arg0, arg1, arg2...)
}

// DeleteBucketLifecycleWithContextCalled returns true if DeleteBucketLifecycleWithContext was called at least once.
func (m *S3API) DeleteBucketLifecycleWithContextCalled() bool {
	m.lockDeleteBucketLifecycleWithContext.Lock()
	defer m.lockDeleteBucketLifecycleWithContext.Unlock()

	return len(m.calls.DeleteBucketLifecycleWithContext) > 0
}

// DeleteBucketLifecycleWithContextCalls returns the calls made to DeleteBucketLifecycleWithContext.
func (m *S3API) DeleteBucketLifecycleWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketLifecycleInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockDeleteBucketLifecycleWithContext.Lock()
	defer m.lockDeleteBucketLifecycleWithContext.Unlock()

	return m.calls.DeleteBucketLifecycleWithContext
}

// DeleteBucketLifecycleRequest mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketLifecycleRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketLifecycleInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketLifecycleOutput) {
	m.lockDeleteBucketLifecycleRequest.Lock()
	defer m.lockDeleteBucketLifecycleRequest.Unlock()

	if m.DeleteBucketLifecycleRequestFunc == nil {
		panic("mocker: S3API.DeleteBucketLifecycleRequestFunc is nil but S3API.DeleteBucketLifecycleRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketLifecycleInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucketLifecycleRequest = append(m.calls.DeleteBucketLifecycleRequest, call)

	return m.DeleteBucketLifecycleRequestFunc(arg0)
}

// DeleteBucketLifecycleRequestCalled returns true if DeleteBucketLifecycleRequest was called at least once.
func (m *S3API) DeleteBucketLifecycleRequestCalled() bool {
	m.lockDeleteBucketLifecycleRequest.Lock()
	defer m.lockDeleteBucketLifecycleRequest.Unlock()

	return len(m.calls.DeleteBucketLifecycleRequest) > 0
}

// DeleteBucketLifecycleRequestCalls returns the calls made to DeleteBucketLifecycleRequest.
func (m *S3API) DeleteBucketLifecycleRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketLifecycleInput
} {
	m.lockDeleteBucketLifecycleRequest.Lock()
	defer m.lockDeleteBucketLifecycleRequest.Unlock()

	return m.calls.DeleteBucketLifecycleRequest
}

// DeleteBucketMetricsConfiguration mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketMetricsConfiguration(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketMetricsConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketMetricsConfigurationOutput, error) {
	m.lockDeleteBucketMetricsConfiguration.Lock()
	defer m.lockDeleteBucketMetricsConfiguration.Unlock()

	if m.DeleteBucketMetricsConfigurationFunc == nil {
		panic("mocker: S3API.DeleteBucketMetricsConfigurationFunc is nil but S3API.DeleteBucketMetricsConfiguration was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketMetricsConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucketMetricsConfiguration = append(m.calls.DeleteBucketMetricsConfiguration, call)

	return m.DeleteBucketMetricsConfigurationFunc(arg0)
}

// DeleteBucketMetricsConfigurationCalled returns true if DeleteBucketMetricsConfiguration was called at least once.
func (m *S3API) DeleteBucketMetricsConfigurationCalled() bool {
	m.lockDeleteBucketMetricsConfiguration.Lock()
	defer m.lockDeleteBucketMetricsConfiguration.Unlock()

	return len(m.calls.DeleteBucketMetricsConfiguration) > 0
}

// DeleteBucketMetricsConfigurationCalls returns the calls made to DeleteBucketMetricsConfiguration.
func (m *S3API) DeleteBucketMetricsConfigurationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketMetricsConfigurationInput
} {
	m.lockDeleteBucketMetricsConfiguration.Lock()
	defer m.lockDeleteBucketMetricsConfiguration.Unlock()

	return m.calls.DeleteBucketMetricsConfiguration
}

// DeleteBucketMetricsConfigurationWithContext mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketMetricsConfigurationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketMetricsConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketMetricsConfigurationOutput, error) {
	m.lockDeleteBucketMetricsConfigurationWithContext.Lock()
	defer m.lockDeleteBucketMetricsConfigurationWithContext.Unlock()

	if m.DeleteBucketMetricsConfigurationWithContextFunc == nil {
		panic("mocker: S3API.DeleteBucketMetricsConfigurationWithContextFunc is nil but S3API.DeleteBucketMetricsConfigurationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketMetricsConfigurationInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.DeleteBucketMetricsConfigurationWithContext = append(m.calls.DeleteBucketMetricsConfigurationWithContext, call)

	return m.DeleteBucketMetricsConfigurationWithContextFunc(arg0, arg1, arg2...)
}

// DeleteBucketMetricsConfigurationWithContextCalled returns true if DeleteBucketMetricsConfigurationWithContext was called at least once.
func (m *S3API) DeleteBucketMetricsConfigurationWithContextCalled() bool {
	m.lockDeleteBucketMetricsConfigurationWithContext.Lock()
	defer m.lockDeleteBucketMetricsConfigurationWithContext.Unlock()

	return len(m.calls.DeleteBucketMetricsConfigurationWithContext) > 0
}

// DeleteBucketMetricsConfigurationWithContextCalls returns the calls made to DeleteBucketMetricsConfigurationWithContext.
func (m *S3API) DeleteBucketMetricsConfigurationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketMetricsConfigurationInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockDeleteBucketMetricsConfigurationWithContext.Lock()
	defer m.lockDeleteBucketMetricsConfigurationWithContext.Unlock()

	return m.calls.DeleteBucketMetricsConfigurationWithContext
}

// DeleteBucketMetricsConfigurationRequest mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketMetricsConfigurationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketMetricsConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketMetricsConfigurationOutput) {
	m.lockDeleteBucketMetricsConfigurationRequest.Lock()
	defer m.lockDeleteBucketMetricsConfigurationRequest.Unlock()

	if m.DeleteBucketMetricsConfigurationRequestFunc == nil {
		panic("mocker: S3API.DeleteBucketMetricsConfigurationRequestFunc is nil but S3API.DeleteBucketMetricsConfigurationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketMetricsConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucketMetricsConfigurationRequest = append(m.calls.DeleteBucketMetricsConfigurationRequest, call)

	return m.DeleteBucketMetricsConfigurationRequestFunc(arg0)
}

// DeleteBucketMetricsConfigurationRequestCalled returns true if DeleteBucketMetricsConfigurationRequest was called at least once.
func (m *S3API) DeleteBucketMetricsConfigurationRequestCalled() bool {
	m.lockDeleteBucketMetricsConfigurationRequest.Lock()
	defer m.lockDeleteBucketMetricsConfigurationRequest.Unlock()

	return len(m.calls.DeleteBucketMetricsConfigurationRequest) > 0
}

// DeleteBucketMetricsConfigurationRequestCalls returns the calls made to DeleteBucketMetricsConfigurationRequest.
func (m *S3API) DeleteBucketMetricsConfigurationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketMetricsConfigurationInput
} {
	m.lockDeleteBucketMetricsConfigurationRequest.Lock()
	defer m.lockDeleteBucketMetricsConfigurationRequest.Unlock()

	return m.calls.DeleteBucketMetricsConfigurationRequest
}

// DeleteBucketOwnershipControls mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketOwnershipControls(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketOwnershipControlsInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketOwnershipControlsOutput, error) {
	m.lockDeleteBucketOwnershipControls.Lock()
	defer m.lockDeleteBucketOwnershipControls.Unlock()

	if m.DeleteBucketOwnershipControlsFunc == nil {
		panic("mocker: S3API.DeleteBucketOwnershipControlsFunc is nil but S3API.DeleteBucketOwnershipControls was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketOwnershipControlsInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucketOwnershipControls = append(m.calls.DeleteBucketOwnershipControls, call)

	return m.DeleteBucketOwnershipControlsFunc(arg0)
}

// DeleteBucketOwnershipControlsCalled returns true if DeleteBucketOwnershipControls was called at least once.
func (m *S3API) DeleteBucketOwnershipControlsCalled() bool {
	m.lockDeleteBucketOwnershipControls.Lock()
	defer m.lockDeleteBucketOwnershipControls.Unlock()

	return len(m.calls.DeleteBucketOwnershipControls) > 0
}

// DeleteBucketOwnershipControlsCalls returns the calls made to DeleteBucketOwnershipControls.
func (m *S3API) DeleteBucketOwnershipControlsCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketOwnershipControlsInput
} {
	m.lockDeleteBucketOwnershipControls.Lock()
	defer m.lockDeleteBucketOwnershipControls.Unlock()

	return m.calls.DeleteBucketOwnershipControls
}

// DeleteBucketOwnershipControlsWithContext mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketOwnershipControlsWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketOwnershipControlsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketOwnershipControlsOutput, error) {
	m.lockDeleteBucketOwnershipControlsWithContext.Lock()
	defer m.lockDeleteBucketOwnershipControlsWithContext.Unlock()

	if m.DeleteBucketOwnershipControlsWithContextFunc == nil {
		panic("mocker: S3API.DeleteBucketOwnershipControlsWithContextFunc is nil but S3API.DeleteBucketOwnershipControlsWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketOwnershipControlsInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.DeleteBucketOwnershipControlsWithContext = append(m.calls.DeleteBucketOwnershipControlsWithContext, call)

	return m.DeleteBucketOwnershipControlsWithContextFunc(arg0, arg1, arg2...)
}

// DeleteBucketOwnershipControlsWithContextCalled returns true if DeleteBucketOwnershipControlsWithContext was called at least once.
func (m *S3API) DeleteBucketOwnershipControlsWithContextCalled() bool {
	m.lockDeleteBucketOwnershipControlsWithContext.Lock()
	defer m.lockDeleteBucketOwnershipControlsWithContext.Unlock()

	return len(m.calls.DeleteBucketOwnershipControlsWithContext) > 0
}

// DeleteBucketOwnershipControlsWithContextCalls returns the calls made to DeleteBucketOwnershipControlsWithContext.
func (m *S3API) DeleteBucketOwnershipControlsWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketOwnershipControlsInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockDeleteBucketOwnershipControlsWithContext.Lock()
	defer m.lockDeleteBucketOwnershipControlsWithContext.Unlock()

	return m.calls.DeleteBucketOwnershipControlsWithContext
}

// DeleteBucketOwnershipControlsRequest mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketOwnershipControlsRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketOwnershipControlsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketOwnershipControlsOutput) {
	m.lockDeleteBucketOwnershipControlsRequest.Lock()
	defer m.lockDeleteBucketOwnershipControlsRequest.Unlock()

	if m.DeleteBucketOwnershipControlsRequestFunc == nil {
		panic("mocker: S3API.DeleteBucketOwnershipControlsRequestFunc is nil but S3API.DeleteBucketOwnershipControlsRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketOwnershipControlsInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucketOwnershipControlsRequest = append(m.calls.DeleteBucketOwnershipControlsRequest, call)

	return m.DeleteBucketOwnershipControlsRequestFunc(arg0)
}

// DeleteBucketOwnershipControlsRequestCalled returns true if DeleteBucketOwnershipControlsRequest was called at least once.
func (m *S3API) DeleteBucketOwnershipControlsRequestCalled() bool {
	m.lockDeleteBucketOwnershipControlsRequest.Lock()
	defer m.lockDeleteBucketOwnershipControlsRequest.Unlock()

	return len(m.calls.DeleteBucketOwnershipControlsRequest) > 0
}

// DeleteBucketOwnershipControlsRequestCalls returns the calls made to DeleteBucketOwnershipControlsRequest.
func (m *S3API) DeleteBucketOwnershipControlsRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketOwnershipControlsInput
} {
	m.lockDeleteBucketOwnershipControlsRequest.Lock()
	defer m.lockDeleteBucketOwnershipControlsRequest.Unlock()

	return m.calls.DeleteBucketOwnershipControlsRequest
}

// DeleteBucketPolicy mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketPolicy(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketPolicyInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketPolicyOutput, error) {
	m.lockDeleteBucketPolicy.Lock()
	defer m.lockDeleteBucketPolicy.Unlock()

	if m.DeleteBucketPolicyFunc == nil {
		panic("mocker: S3API.DeleteBucketPolicyFunc is nil but S3API.DeleteBucketPolicy was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketPolicyInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucketPolicy = append(m.calls.DeleteBucketPolicy, call)

	return m.DeleteBucketPolicyFunc(arg0)
}

// DeleteBucketPolicyCalled returns true if DeleteBucketPolicy was called at least once.
func (m *S3API) DeleteBucketPolicyCalled() bool {
	m.lockDeleteBucketPolicy.Lock()
	defer m.lockDeleteBucketPolicy.Unlock()

	return len(m.calls.DeleteBucketPolicy) > 0
}

// DeleteBucketPolicyCalls returns the calls made to DeleteBucketPolicy.
func (m *S3API) DeleteBucketPolicyCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketPolicyInput
} {
	m.lockDeleteBucketPolicy.Lock()
	defer m.lockDeleteBucketPolicy.Unlock()

	return m.calls.DeleteBucketPolicy
}

// DeleteBucketPolicyWithContext mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketPolicyWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketPolicyInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketPolicyOutput, error) {
	m.lockDeleteBucketPolicyWithContext.Lock()
	defer m.lockDeleteBucketPolicyWithContext.Unlock()

	if m.DeleteBucketPolicyWithContextFunc == nil {
		panic("mocker: S3API.DeleteBucketPolicyWithContextFunc is nil but S3API.DeleteBucketPolicyWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketPolicyInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.DeleteBucketPolicyWithContext = append(m.calls.DeleteBucketPolicyWithContext, call)

	return m.DeleteBucketPolicyWithContextFunc(arg0, arg1, arg2...)
}

// DeleteBucketPolicyWithContextCalled returns true if DeleteBucketPolicyWithContext was called at least once.
func (m *S3API) DeleteBucketPolicyWithContextCalled() bool {
	m.lockDeleteBucketPolicyWithContext.Lock()
	defer m.lockDeleteBucketPolicyWithContext.Unlock()

	return len(m.calls.DeleteBucketPolicyWithContext) > 0
}

// DeleteBucketPolicyWithContextCalls returns the calls made to DeleteBucketPolicyWithContext.
func (m *S3API) DeleteBucketPolicyWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketPolicyInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockDeleteBucketPolicyWithContext.Lock()
	defer m.lockDeleteBucketPolicyWithContext.Unlock()

	return m.calls.DeleteBucketPolicyWithContext
}

// DeleteBucketPolicyRequest mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketPolicyRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketPolicyInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketPolicyOutput) {
	m.lockDeleteBucketPolicyRequest.Lock()
	defer m.lockDeleteBucketPolicyRequest.Unlock()

	if m.DeleteBucketPolicyRequestFunc == nil {
		panic("mocker: S3API.DeleteBucketPolicyRequestFunc is nil but S3API.DeleteBucketPolicyRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketPolicyInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucketPolicyRequest = append(m.calls.DeleteBucketPolicyRequest, call)

	return m.DeleteBucketPolicyRequestFunc(arg0)
}

// DeleteBucketPolicyRequestCalled returns true if DeleteBucketPolicyRequest was called at least once.
func (m *S3API) DeleteBucketPolicyRequestCalled() bool {
	m.lockDeleteBucketPolicyRequest.Lock()
	defer m.lockDeleteBucketPolicyRequest.Unlock()

	return len(m.calls.DeleteBucketPolicyRequest) > 0
}

// DeleteBucketPolicyRequestCalls returns the calls made to DeleteBucketPolicyRequest.
func (m *S3API) DeleteBucketPolicyRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketPolicyInput
} {
	m.lockDeleteBucketPolicyRequest.Lock()
	defer m.lockDeleteBucketPolicyRequest.Unlock()

	return m.calls.DeleteBucketPolicyRequest
}

// DeleteBucketReplication mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketReplication(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketReplicationInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketReplicationOutput, error) {
	m.lockDeleteBucketReplication.Lock()
	defer m.lockDeleteBucketReplication.Unlock()

	if m.DeleteBucketReplicationFunc == nil {
		panic("mocker: S3API.DeleteBucketReplicationFunc is nil but S3API.DeleteBucketReplication was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketReplicationInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucketReplication = append(m.calls.DeleteBucketReplication, call)

	return m.DeleteBucketReplicationFunc(arg0)
}

// DeleteBucketReplicationCalled returns true if DeleteBucketReplication was called at least once.
func (m *S3API) DeleteBucketReplicationCalled() bool {
	m.lockDeleteBucketReplication.Lock()
	defer m.lockDeleteBucketReplication.Unlock()

	return len(m.calls.DeleteBucketReplication) > 0
}

// DeleteBucketReplicationCalls returns the calls made to DeleteBucketReplication.
func (m *S3API) DeleteBucketReplicationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketReplicationInput
} {
	m.lockDeleteBucketReplication.Lock()
	defer m.lockDeleteBucketReplication.Unlock()

	return m.calls.DeleteBucketReplication
}

// DeleteBucketReplicationWithContext mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketReplicationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketReplicationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketReplicationOutput, error) {
	m.lockDeleteBucketReplicationWithContext.Lock()
	defer m.lockDeleteBucketReplicationWithContext.Unlock()

	if m.DeleteBucketReplicationWithContextFunc == nil {
		panic("mocker: S3API.DeleteBucketReplicationWithContextFunc is nil but S3API.DeleteBucketReplicationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketReplicationInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.DeleteBucketReplicationWithContext = append(m.calls.DeleteBucketReplicationWithContext, call)

	return m.DeleteBucketReplicationWithContextFunc(arg0, arg1, arg2...)
}

// DeleteBucketReplicationWithContextCalled returns true if DeleteBucketReplicationWithContext was called at least once.
func (m *S3API) DeleteBucketReplicationWithContextCalled() bool {
	m.lockDeleteBucketReplicationWithContext.Lock()
	defer m.lockDeleteBucketReplicationWithContext.Unlock()

	return len(m.calls.DeleteBucketReplicationWithContext) > 0
}

// DeleteBucketReplicationWithContextCalls returns the calls made to DeleteBucketReplicationWithContext.
func (m *S3API) DeleteBucketReplicationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketReplicationInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockDeleteBucketReplicationWithContext.Lock()
	defer m.lockDeleteBucketReplicationWithContext.Unlock()

	return m.calls.DeleteBucketReplicationWithContext
}

// DeleteBucketReplicationRequest mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketReplicationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketReplicationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketReplicationOutput) {
	m.lockDeleteBucketReplicationRequest.Lock()
	defer m.lockDeleteBucketReplicationRequest.Unlock()

	if m.DeleteBucketReplicationRequestFunc == nil {
		panic("mocker: S3API.DeleteBucketReplicationRequestFunc is nil but S3API.DeleteBucketReplicationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketReplicationInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucketReplicationRequest = append(m.calls.DeleteBucketReplicationRequest, call)

	return m.DeleteBucketReplicationRequestFunc(arg0)
}

// DeleteBucketReplicationRequestCalled returns true if DeleteBucketReplicationRequest was called at least once.
func (m *S3API) DeleteBucketReplicationRequestCalled() bool {
	m.lockDeleteBucketReplicationRequest.Lock()
	defer m.lockDeleteBucketReplicationRequest.Unlock()

	return len(m.calls.DeleteBucketReplicationRequest) > 0
}

// DeleteBucketReplicationRequestCalls returns the calls made to DeleteBucketReplicationRequest.
func (m *S3API) DeleteBucketReplicationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketReplicationInput
} {
	m.lockDeleteBucketReplicationRequest.Lock()
	defer m.lockDeleteBucketReplicationRequest.Unlock()

	return m.calls.DeleteBucketReplicationRequest
}

// DeleteBucketTagging mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketTagging(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketTaggingInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketTaggingOutput, error) {
	m.lockDeleteBucketTagging.Lock()
	defer m.lockDeleteBucketTagging.Unlock()

	if m.DeleteBucketTaggingFunc == nil {
		panic("mocker: S3API.DeleteBucketTaggingFunc is nil but S3API.DeleteBucketTagging was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketTaggingInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucketTagging = append(m.calls.DeleteBucketTagging, call)

	return m.DeleteBucketTaggingFunc(arg0)
}

// DeleteBucketTaggingCalled returns true if DeleteBucketTagging was called at least once.
func (m *S3API) DeleteBucketTaggingCalled() bool {
	m.lockDeleteBucketTagging.Lock()
	defer m.lockDeleteBucketTagging.Unlock()

	return len(m.calls.DeleteBucketTagging) > 0
}

// DeleteBucketTaggingCalls returns the calls made to DeleteBucketTagging.
func (m *S3API) DeleteBucketTaggingCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketTaggingInput
} {
	m.lockDeleteBucketTagging.Lock()
	defer m.lockDeleteBucketTagging.Unlock()

	return m.calls.DeleteBucketTagging
}

// DeleteBucketTaggingWithContext mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketTaggingWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketTaggingInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketTaggingOutput, error) {
	m.lockDeleteBucketTaggingWithContext.Lock()
	defer m.lockDeleteBucketTaggingWithContext.Unlock()

	if m.DeleteBucketTaggingWithContextFunc == nil {
		panic("mocker: S3API.DeleteBucketTaggingWithContextFunc is nil but S3API.DeleteBucketTaggingWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketTaggingInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.DeleteBucketTaggingWithContext = append(m.calls.DeleteBucketTaggingWithContext, call)

	return m.DeleteBucketTaggingWithContextFunc(arg0, arg1, arg2...)
}

// DeleteBucketTaggingWithContextCalled returns true if DeleteBucketTaggingWithContext was called at least once.
func (m *S3API) DeleteBucketTaggingWithContextCalled() bool {
	m.lockDeleteBucketTaggingWithContext.Lock()
	defer m.lockDeleteBucketTaggingWithContext.Unlock()

	return len(m.calls.DeleteBucketTaggingWithContext) > 0
}

// DeleteBucketTaggingWithContextCalls returns the calls made to DeleteBucketTaggingWithContext.
func (m *S3API) DeleteBucketTaggingWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketTaggingInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockDeleteBucketTaggingWithContext.Lock()
	defer m.lockDeleteBucketTaggingWithContext.Unlock()

	return m.calls.DeleteBucketTaggingWithContext
}

// DeleteBucketTaggingRequest mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketTaggingRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketTaggingInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketTaggingOutput) {
	m.lockDeleteBucketTaggingRequest.Lock()
	defer m.lockDeleteBucketTaggingRequest.Unlock()

	if m.DeleteBucketTaggingRequestFunc == nil {
		panic("mocker: S3API.DeleteBucketTaggingRequestFunc is nil but S3API.DeleteBucketTaggingRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketTaggingInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucketTaggingRequest = append(m.calls.DeleteBucketTaggingRequest, call)

	return m.DeleteBucketTaggingRequestFunc(arg0)
}

// DeleteBucketTaggingRequestCalled returns true if DeleteBucketTaggingRequest was called at least once.
func (m *S3API) DeleteBucketTaggingRequestCalled() bool {
	m.lockDeleteBucketTaggingRequest.Lock()
	defer m.lockDeleteBucketTaggingRequest.Unlock()

	return len(m.calls.DeleteBucketTaggingRequest) > 0
}

// DeleteBucketTaggingRequestCalls returns the calls made to DeleteBucketTaggingRequest.
func (m *S3API) DeleteBucketTaggingRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketTaggingInput
} {
	m.lockDeleteBucketTaggingRequest.Lock()
	defer m.lockDeleteBucketTaggingRequest.Unlock()

	return m.calls.DeleteBucketTaggingRequest
}

// DeleteBucketWebsite mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketWebsite(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketWebsiteInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketWebsiteOutput, error) {
	m.lockDeleteBucketWebsite.Lock()
	defer m.lockDeleteBucketWebsite.Unlock()

	if m.DeleteBucketWebsiteFunc == nil {
		panic("mocker: S3API.DeleteBucketWebsiteFunc is nil but S3API.DeleteBucketWebsite was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketWebsiteInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucketWebsite = append(m.calls.DeleteBucketWebsite, call)

	return m.DeleteBucketWebsiteFunc(arg0)
}

// DeleteBucketWebsiteCalled returns true if DeleteBucketWebsite was called at least once.
func (m *S3API) DeleteBucketWebsiteCalled() bool {
	m.lockDeleteBucketWebsite.Lock()
	defer m.lockDeleteBucketWebsite.Unlock()

	return len(m.calls.DeleteBucketWebsite) > 0
}

// DeleteBucketWebsiteCalls returns the calls made to DeleteBucketWebsite.
func (m *S3API) DeleteBucketWebsiteCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketWebsiteInput
} {
	m.lockDeleteBucketWebsite.Lock()
	defer m.lockDeleteBucketWebsite.Unlock()

	return m.calls.DeleteBucketWebsite
}

// DeleteBucketWebsiteWithContext mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketWebsiteWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketWebsiteInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteBucketWebsiteOutput, error) {
	m.lockDeleteBucketWebsiteWithContext.Lock()
	defer m.lockDeleteBucketWebsiteWithContext.Unlock()

	if m.DeleteBucketWebsiteWithContextFunc == nil {
		panic("mocker: S3API.DeleteBucketWebsiteWithContextFunc is nil but S3API.DeleteBucketWebsiteWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketWebsiteInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.DeleteBucketWebsiteWithContext = append(m.calls.DeleteBucketWebsiteWithContext, call)

	return m.DeleteBucketWebsiteWithContextFunc(arg0, arg1, arg2...)
}

// DeleteBucketWebsiteWithContextCalled returns true if DeleteBucketWebsiteWithContext was called at least once.
func (m *S3API) DeleteBucketWebsiteWithContextCalled() bool {
	m.lockDeleteBucketWebsiteWithContext.Lock()
	defer m.lockDeleteBucketWebsiteWithContext.Unlock()

	return len(m.calls.DeleteBucketWebsiteWithContext) > 0
}

// DeleteBucketWebsiteWithContextCalls returns the calls made to DeleteBucketWebsiteWithContext.
func (m *S3API) DeleteBucketWebsiteWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketWebsiteInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockDeleteBucketWebsiteWithContext.Lock()
	defer m.lockDeleteBucketWebsiteWithContext.Unlock()

	return m.calls.DeleteBucketWebsiteWithContext
}

// DeleteBucketWebsiteRequest mocks base method by wrapping the associated func.
func (m *S3API) DeleteBucketWebsiteRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketWebsiteInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteBucketWebsiteOutput) {
	m.lockDeleteBucketWebsiteRequest.Lock()
	defer m.lockDeleteBucketWebsiteRequest.Unlock()

	if m.DeleteBucketWebsiteRequestFunc == nil {
		panic("mocker: S3API.DeleteBucketWebsiteRequestFunc is nil but S3API.DeleteBucketWebsiteRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketWebsiteInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteBucketWebsiteRequest = append(m.calls.DeleteBucketWebsiteRequest, call)

	return m.DeleteBucketWebsiteRequestFunc(arg0)
}

// DeleteBucketWebsiteRequestCalled returns true if DeleteBucketWebsiteRequest was called at least once.
func (m *S3API) DeleteBucketWebsiteRequestCalled() bool {
	m.lockDeleteBucketWebsiteRequest.Lock()
	defer m.lockDeleteBucketWebsiteRequest.Unlock()

	return len(m.calls.DeleteBucketWebsiteRequest) > 0
}

// DeleteBucketWebsiteRequestCalls returns the calls made to DeleteBucketWebsiteRequest.
func (m *S3API) DeleteBucketWebsiteRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteBucketWebsiteInput
} {
	m.lockDeleteBucketWebsiteRequest.Lock()
	defer m.lockDeleteBucketWebsiteRequest.Unlock()

	return m.calls.DeleteBucketWebsiteRequest
}

// DeleteObject mocks base method by wrapping the associated func.
func (m *S3API) DeleteObject(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteObjectOutput, error) {
	m.lockDeleteObject.Lock()
	defer m.lockDeleteObject.Unlock()

	if m.DeleteObjectFunc == nil {
		panic("mocker: S3API.DeleteObjectFunc is nil but S3API.DeleteObject was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteObject = append(m.calls.DeleteObject, call)

	return m.DeleteObjectFunc(arg0)
}

// DeleteObjectCalled returns true if DeleteObject was called at least once.
func (m *S3API) DeleteObjectCalled() bool {
	m.lockDeleteObject.Lock()
	defer m.lockDeleteObject.Unlock()

	return len(m.calls.DeleteObject) > 0
}

// DeleteObjectCalls returns the calls made to DeleteObject.
func (m *S3API) DeleteObjectCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectInput
} {
	m.lockDeleteObject.Lock()
	defer m.lockDeleteObject.Unlock()

	return m.calls.DeleteObject
}

// DeleteObjectWithContext mocks base method by wrapping the associated func.
func (m *S3API) DeleteObjectWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteObjectOutput, error) {
	m.lockDeleteObjectWithContext.Lock()
	defer m.lockDeleteObjectWithContext.Unlock()

	if m.DeleteObjectWithContextFunc == nil {
		panic("mocker: S3API.DeleteObjectWithContextFunc is nil but S3API.DeleteObjectWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.DeleteObjectWithContext = append(m.calls.DeleteObjectWithContext, call)

	return m.DeleteObjectWithContextFunc(arg0, arg1, arg2...)
}

// DeleteObjectWithContextCalled returns true if DeleteObjectWithContext was called at least once.
func (m *S3API) DeleteObjectWithContextCalled() bool {
	m.lockDeleteObjectWithContext.Lock()
	defer m.lockDeleteObjectWithContext.Unlock()

	return len(m.calls.DeleteObjectWithContext) > 0
}

// DeleteObjectWithContextCalls returns the calls made to DeleteObjectWithContext.
func (m *S3API) DeleteObjectWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockDeleteObjectWithContext.Lock()
	defer m.lockDeleteObjectWithContext.Unlock()

	return m.calls.DeleteObjectWithContext
}

// DeleteObjectRequest mocks base method by wrapping the associated func.
func (m *S3API) DeleteObjectRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteObjectOutput) {
	m.lockDeleteObjectRequest.Lock()
	defer m.lockDeleteObjectRequest.Unlock()

	if m.DeleteObjectRequestFunc == nil {
		panic("mocker: S3API.DeleteObjectRequestFunc is nil but S3API.DeleteObjectRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteObjectRequest = append(m.calls.DeleteObjectRequest, call)

	return m.DeleteObjectRequestFunc(arg0)
}

// DeleteObjectRequestCalled returns true if DeleteObjectRequest was called at least once.
func (m *S3API) DeleteObjectRequestCalled() bool {
	m.lockDeleteObjectRequest.Lock()
	defer m.lockDeleteObjectRequest.Unlock()

	return len(m.calls.DeleteObjectRequest) > 0
}

// DeleteObjectRequestCalls returns the calls made to DeleteObjectRequest.
func (m *S3API) DeleteObjectRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectInput
} {
	m.lockDeleteObjectRequest.Lock()
	defer m.lockDeleteObjectRequest.Unlock()

	return m.calls.DeleteObjectRequest
}

// DeleteObjectTagging mocks base method by wrapping the associated func.
func (m *S3API) DeleteObjectTagging(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectTaggingInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteObjectTaggingOutput, error) {
	m.lockDeleteObjectTagging.Lock()
	defer m.lockDeleteObjectTagging.Unlock()

	if m.DeleteObjectTaggingFunc == nil {
		panic("mocker: S3API.DeleteObjectTaggingFunc is nil but S3API.DeleteObjectTagging was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectTaggingInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteObjectTagging = append(m.calls.DeleteObjectTagging, call)

	return m.DeleteObjectTaggingFunc(arg0)
}

// DeleteObjectTaggingCalled returns true if DeleteObjectTagging was called at least once.
func (m *S3API) DeleteObjectTaggingCalled() bool {
	m.lockDeleteObjectTagging.Lock()
	defer m.lockDeleteObjectTagging.Unlock()

	return len(m.calls.DeleteObjectTagging) > 0
}

// DeleteObjectTaggingCalls returns the calls made to DeleteObjectTagging.
func (m *S3API) DeleteObjectTaggingCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectTaggingInput
} {
	m.lockDeleteObjectTagging.Lock()
	defer m.lockDeleteObjectTagging.Unlock()

	return m.calls.DeleteObjectTagging
}

// DeleteObjectTaggingWithContext mocks base method by wrapping the associated func.
func (m *S3API) DeleteObjectTaggingWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectTaggingInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteObjectTaggingOutput, error) {
	m.lockDeleteObjectTaggingWithContext.Lock()
	defer m.lockDeleteObjectTaggingWithContext.Unlock()

	if m.DeleteObjectTaggingWithContextFunc == nil {
		panic("mocker: S3API.DeleteObjectTaggingWithContextFunc is nil but S3API.DeleteObjectTaggingWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectTaggingInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.DeleteObjectTaggingWithContext = append(m.calls.DeleteObjectTaggingWithContext, call)

	return m.DeleteObjectTaggingWithContextFunc(arg0, arg1, arg2...)
}

// DeleteObjectTaggingWithContextCalled returns true if DeleteObjectTaggingWithContext was called at least once.
func (m *S3API) DeleteObjectTaggingWithContextCalled() bool {
	m.lockDeleteObjectTaggingWithContext.Lock()
	defer m.lockDeleteObjectTaggingWithContext.Unlock()

	return len(m.calls.DeleteObjectTaggingWithContext) > 0
}

// DeleteObjectTaggingWithContextCalls returns the calls made to DeleteObjectTaggingWithContext.
func (m *S3API) DeleteObjectTaggingWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectTaggingInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockDeleteObjectTaggingWithContext.Lock()
	defer m.lockDeleteObjectTaggingWithContext.Unlock()

	return m.calls.DeleteObjectTaggingWithContext
}

// DeleteObjectTaggingRequest mocks base method by wrapping the associated func.
func (m *S3API) DeleteObjectTaggingRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectTaggingInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteObjectTaggingOutput) {
	m.lockDeleteObjectTaggingRequest.Lock()
	defer m.lockDeleteObjectTaggingRequest.Unlock()

	if m.DeleteObjectTaggingRequestFunc == nil {
		panic("mocker: S3API.DeleteObjectTaggingRequestFunc is nil but S3API.DeleteObjectTaggingRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectTaggingInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteObjectTaggingRequest = append(m.calls.DeleteObjectTaggingRequest, call)

	return m.DeleteObjectTaggingRequestFunc(arg0)
}

// DeleteObjectTaggingRequestCalled returns true if DeleteObjectTaggingRequest was called at least once.
func (m *S3API) DeleteObjectTaggingRequestCalled() bool {
	m.lockDeleteObjectTaggingRequest.Lock()
	defer m.lockDeleteObjectTaggingRequest.Unlock()

	return len(m.calls.DeleteObjectTaggingRequest) > 0
}

// DeleteObjectTaggingRequestCalls returns the calls made to DeleteObjectTaggingRequest.
func (m *S3API) DeleteObjectTaggingRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectTaggingInput
} {
	m.lockDeleteObjectTaggingRequest.Lock()
	defer m.lockDeleteObjectTaggingRequest.Unlock()

	return m.calls.DeleteObjectTaggingRequest
}

// DeleteObjects mocks base method by wrapping the associated func.
func (m *S3API) DeleteObjects(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectsInput) (*github_com_aws_aws_sdk_go_service_s3.DeleteObjectsOutput, error) {
	m.lockDeleteObjects.Lock()
	defer m.lockDeleteObjects.Unlock()

	if m.DeleteObjectsFunc == nil {
		panic("mocker: S3API.DeleteObjectsFunc is nil but S3API.DeleteObjects was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectsInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteObjects = append(m.calls.DeleteObjects, call)

	return m.DeleteObjectsFunc(arg0)
}

// DeleteObjectsCalled returns true if DeleteObjects was called at least once.
func (m *S3API) DeleteObjectsCalled() bool {
	m.lockDeleteObjects.Lock()
	defer m.lockDeleteObjects.Unlock()

	return len(m.calls.DeleteObjects) > 0
}

// DeleteObjectsCalls returns the calls made to DeleteObjects.
func (m *S3API) DeleteObjectsCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectsInput
} {
	m.lockDeleteObjects.Lock()
	defer m.lockDeleteObjects.Unlock()

	return m.calls.DeleteObjects
}

// DeleteObjectsWithContext mocks base method by wrapping the associated func.
func (m *S3API) DeleteObjectsWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeleteObjectsOutput, error) {
	m.lockDeleteObjectsWithContext.Lock()
	defer m.lockDeleteObjectsWithContext.Unlock()

	if m.DeleteObjectsWithContextFunc == nil {
		panic("mocker: S3API.DeleteObjectsWithContextFunc is nil but S3API.DeleteObjectsWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectsInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.DeleteObjectsWithContext = append(m.calls.DeleteObjectsWithContext, call)

	return m.DeleteObjectsWithContextFunc(arg0, arg1, arg2...)
}

// DeleteObjectsWithContextCalled returns true if DeleteObjectsWithContext was called at least once.
func (m *S3API) DeleteObjectsWithContextCalled() bool {
	m.lockDeleteObjectsWithContext.Lock()
	defer m.lockDeleteObjectsWithContext.Unlock()

	return len(m.calls.DeleteObjectsWithContext) > 0
}

// DeleteObjectsWithContextCalls returns the calls made to DeleteObjectsWithContext.
func (m *S3API) DeleteObjectsWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectsInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockDeleteObjectsWithContext.Lock()
	defer m.lockDeleteObjectsWithContext.Unlock()

	return m.calls.DeleteObjectsWithContext
}

// DeleteObjectsRequest mocks base method by wrapping the associated func.
func (m *S3API) DeleteObjectsRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeleteObjectsOutput) {
	m.lockDeleteObjectsRequest.Lock()
	defer m.lockDeleteObjectsRequest.Unlock()

	if m.DeleteObjectsRequestFunc == nil {
		panic("mocker: S3API.DeleteObjectsRequestFunc is nil but S3API.DeleteObjectsRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectsInput
	}{
		Arg0: arg0,
	}

	m.calls.DeleteObjectsRequest = append(m.calls.DeleteObjectsRequest, call)

	return m.DeleteObjectsRequestFunc(arg0)
}

// DeleteObjectsRequestCalled returns true if DeleteObjectsRequest was called at least once.
func (m *S3API) DeleteObjectsRequestCalled() bool {
	m.lockDeleteObjectsRequest.Lock()
	defer m.lockDeleteObjectsRequest.Unlock()

	return len(m.calls.DeleteObjectsRequest) > 0
}

// DeleteObjectsRequestCalls returns the calls made to DeleteObjectsRequest.
func (m *S3API) DeleteObjectsRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeleteObjectsInput
} {
	m.lockDeleteObjectsRequest.Lock()
	defer m.lockDeleteObjectsRequest.Unlock()

	return m.calls.DeleteObjectsRequest
}

// DeletePublicAccessBlock mocks base method by wrapping the associated func.
func (m *S3API) DeletePublicAccessBlock(arg0 *github_com_aws_aws_sdk_go_service_s3.DeletePublicAccessBlockInput) (*github_com_aws_aws_sdk_go_service_s3.DeletePublicAccessBlockOutput, error) {
	m.lockDeletePublicAccessBlock.Lock()
	defer m.lockDeletePublicAccessBlock.Unlock()

	if m.DeletePublicAccessBlockFunc == nil {
		panic("mocker: S3API.DeletePublicAccessBlockFunc is nil but S3API.DeletePublicAccessBlock was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeletePublicAccessBlockInput
	}{
		Arg0: arg0,
	}

	m.calls.DeletePublicAccessBlock = append(m.calls.DeletePublicAccessBlock, call)

	return m.DeletePublicAccessBlockFunc(arg0)
}

// DeletePublicAccessBlockCalled returns true if DeletePublicAccessBlock was called at least once.
func (m *S3API) DeletePublicAccessBlockCalled() bool {
	m.lockDeletePublicAccessBlock.Lock()
	defer m.lockDeletePublicAccessBlock.Unlock()

	return len(m.calls.DeletePublicAccessBlock) > 0
}

// DeletePublicAccessBlockCalls returns the calls made to DeletePublicAccessBlock.
func (m *S3API) DeletePublicAccessBlockCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeletePublicAccessBlockInput
} {
	m.lockDeletePublicAccessBlock.Lock()
	defer m.lockDeletePublicAccessBlock.Unlock()

	return m.calls.DeletePublicAccessBlock
}

// DeletePublicAccessBlockWithContext mocks base method by wrapping the associated func.
func (m *S3API) DeletePublicAccessBlockWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.DeletePublicAccessBlockInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.DeletePublicAccessBlockOutput, error) {
	m.lockDeletePublicAccessBlockWithContext.Lock()
	defer m.lockDeletePublicAccessBlockWithContext.Unlock()

	if m.DeletePublicAccessBlockWithContextFunc == nil {
		panic("mocker: S3API.DeletePublicAccessBlockWithContextFunc is nil but S3API.DeletePublicAccessBlockWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.DeletePublicAccessBlockInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.DeletePublicAccessBlockWithContext = append(m.calls.DeletePublicAccessBlockWithContext, call)

	return m.DeletePublicAccessBlockWithContextFunc(arg0, arg1, arg2...)
}

// DeletePublicAccessBlockWithContextCalled returns true if DeletePublicAccessBlockWithContext was called at least once.
func (m *S3API) DeletePublicAccessBlockWithContextCalled() bool {
	m.lockDeletePublicAccessBlockWithContext.Lock()
	defer m.lockDeletePublicAccessBlockWithContext.Unlock()

	return len(m.calls.DeletePublicAccessBlockWithContext) > 0
}

// DeletePublicAccessBlockWithContextCalls returns the calls made to DeletePublicAccessBlockWithContext.
func (m *S3API) DeletePublicAccessBlockWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.DeletePublicAccessBlockInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockDeletePublicAccessBlockWithContext.Lock()
	defer m.lockDeletePublicAccessBlockWithContext.Unlock()

	return m.calls.DeletePublicAccessBlockWithContext
}

// DeletePublicAccessBlockRequest mocks base method by wrapping the associated func.
func (m *S3API) DeletePublicAccessBlockRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.DeletePublicAccessBlockInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.DeletePublicAccessBlockOutput) {
	m.lockDeletePublicAccessBlockRequest.Lock()
	defer m.lockDeletePublicAccessBlockRequest.Unlock()

	if m.DeletePublicAccessBlockRequestFunc == nil {
		panic("mocker: S3API.DeletePublicAccessBlockRequestFunc is nil but S3API.DeletePublicAccessBlockRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.DeletePublicAccessBlockInput
	}{
		Arg0: arg0,
	}

	m.calls.DeletePublicAccessBlockRequest = append(m.calls.DeletePublicAccessBlockRequest, call)

	return m.DeletePublicAccessBlockRequestFunc(arg0)
}

// DeletePublicAccessBlockRequestCalled returns true if DeletePublicAccessBlockRequest was called at least once.
func (m *S3API) DeletePublicAccessBlockRequestCalled() bool {
	m.lockDeletePublicAccessBlockRequest.Lock()
	defer m.lockDeletePublicAccessBlockRequest.Unlock()

	return len(m.calls.DeletePublicAccessBlockRequest) > 0
}

// DeletePublicAccessBlockRequestCalls returns the calls made to DeletePublicAccessBlockRequest.
func (m *S3API) DeletePublicAccessBlockRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.DeletePublicAccessBlockInput
} {
	m.lockDeletePublicAccessBlockRequest.Lock()
	defer m.lockDeletePublicAccessBlockRequest.Unlock()

	return m.calls.DeletePublicAccessBlockRequest
}

// GetBucketAccelerateConfiguration mocks base method by wrapping the associated func.
func (m *S3API) GetBucketAccelerateConfiguration(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAccelerateConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketAccelerateConfigurationOutput, error) {
	m.lockGetBucketAccelerateConfiguration.Lock()
	defer m.lockGetBucketAccelerateConfiguration.Unlock()

	if m.GetBucketAccelerateConfigurationFunc == nil {
		panic("mocker: S3API.GetBucketAccelerateConfigurationFunc is nil but S3API.GetBucketAccelerateConfiguration was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAccelerateConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketAccelerateConfiguration = append(m.calls.GetBucketAccelerateConfiguration, call)

	return m.GetBucketAccelerateConfigurationFunc(arg0)
}

// GetBucketAccelerateConfigurationCalled returns true if GetBucketAccelerateConfiguration was called at least once.
func (m *S3API) GetBucketAccelerateConfigurationCalled() bool {
	m.lockGetBucketAccelerateConfiguration.Lock()
	defer m.lockGetBucketAccelerateConfiguration.Unlock()

	return len(m.calls.GetBucketAccelerateConfiguration) > 0
}

// GetBucketAccelerateConfigurationCalls returns the calls made to GetBucketAccelerateConfiguration.
func (m *S3API) GetBucketAccelerateConfigurationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAccelerateConfigurationInput
} {
	m.lockGetBucketAccelerateConfiguration.Lock()
	defer m.lockGetBucketAccelerateConfiguration.Unlock()

	return m.calls.GetBucketAccelerateConfiguration
}

// GetBucketAccelerateConfigurationWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetBucketAccelerateConfigurationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketAccelerateConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketAccelerateConfigurationOutput, error) {
	m.lockGetBucketAccelerateConfigurationWithContext.Lock()
	defer m.lockGetBucketAccelerateConfigurationWithContext.Unlock()

	if m.GetBucketAccelerateConfigurationWithContextFunc == nil {
		panic("mocker: S3API.GetBucketAccelerateConfigurationWithContextFunc is nil but S3API.GetBucketAccelerateConfigurationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketAccelerateConfigurationInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetBucketAccelerateConfigurationWithContext = append(m.calls.GetBucketAccelerateConfigurationWithContext, call)

	return m.GetBucketAccelerateConfigurationWithContextFunc(arg0, arg1, arg2...)
}

// GetBucketAccelerateConfigurationWithContextCalled returns true if GetBucketAccelerateConfigurationWithContext was called at least once.
func (m *S3API) GetBucketAccelerateConfigurationWithContextCalled() bool {
	m.lockGetBucketAccelerateConfigurationWithContext.Lock()
	defer m.lockGetBucketAccelerateConfigurationWithContext.Unlock()

	return len(m.calls.GetBucketAccelerateConfigurationWithContext) > 0
}

// GetBucketAccelerateConfigurationWithContextCalls returns the calls made to GetBucketAccelerateConfigurationWithContext.
func (m *S3API) GetBucketAccelerateConfigurationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketAccelerateConfigurationInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetBucketAccelerateConfigurationWithContext.Lock()
	defer m.lockGetBucketAccelerateConfigurationWithContext.Unlock()

	return m.calls.GetBucketAccelerateConfigurationWithContext
}

// GetBucketAccelerateConfigurationRequest mocks base method by wrapping the associated func.
func (m *S3API) GetBucketAccelerateConfigurationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAccelerateConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketAccelerateConfigurationOutput) {
	m.lockGetBucketAccelerateConfigurationRequest.Lock()
	defer m.lockGetBucketAccelerateConfigurationRequest.Unlock()

	if m.GetBucketAccelerateConfigurationRequestFunc == nil {
		panic("mocker: S3API.GetBucketAccelerateConfigurationRequestFunc is nil but S3API.GetBucketAccelerateConfigurationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAccelerateConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketAccelerateConfigurationRequest = append(m.calls.GetBucketAccelerateConfigurationRequest, call)

	return m.GetBucketAccelerateConfigurationRequestFunc(arg0)
}

// GetBucketAccelerateConfigurationRequestCalled returns true if GetBucketAccelerateConfigurationRequest was called at least once.
func (m *S3API) GetBucketAccelerateConfigurationRequestCalled() bool {
	m.lockGetBucketAccelerateConfigurationRequest.Lock()
	defer m.lockGetBucketAccelerateConfigurationRequest.Unlock()

	return len(m.calls.GetBucketAccelerateConfigurationRequest) > 0
}

// GetBucketAccelerateConfigurationRequestCalls returns the calls made to GetBucketAccelerateConfigurationRequest.
func (m *S3API) GetBucketAccelerateConfigurationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAccelerateConfigurationInput
} {
	m.lockGetBucketAccelerateConfigurationRequest.Lock()
	defer m.lockGetBucketAccelerateConfigurationRequest.Unlock()

	return m.calls.GetBucketAccelerateConfigurationRequest
}

// GetBucketAcl mocks base method by wrapping the associated func.
func (m *S3API) GetBucketAcl(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAclInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketAclOutput, error) {
	m.lockGetBucketAcl.Lock()
	defer m.lockGetBucketAcl.Unlock()

	if m.GetBucketAclFunc == nil {
		panic("mocker: S3API.GetBucketAclFunc is nil but S3API.GetBucketAcl was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAclInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketAcl = append(m.calls.GetBucketAcl, call)

	return m.GetBucketAclFunc(arg0)
}

// GetBucketAclCalled returns true if GetBucketAcl was called at least once.
func (m *S3API) GetBucketAclCalled() bool {
	m.lockGetBucketAcl.Lock()
	defer m.lockGetBucketAcl.Unlock()

	return len(m.calls.GetBucketAcl) > 0
}

// GetBucketAclCalls returns the calls made to GetBucketAcl.
func (m *S3API) GetBucketAclCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAclInput
} {
	m.lockGetBucketAcl.Lock()
	defer m.lockGetBucketAcl.Unlock()

	return m.calls.GetBucketAcl
}

// GetBucketAclWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetBucketAclWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketAclInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketAclOutput, error) {
	m.lockGetBucketAclWithContext.Lock()
	defer m.lockGetBucketAclWithContext.Unlock()

	if m.GetBucketAclWithContextFunc == nil {
		panic("mocker: S3API.GetBucketAclWithContextFunc is nil but S3API.GetBucketAclWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketAclInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetBucketAclWithContext = append(m.calls.GetBucketAclWithContext, call)

	return m.GetBucketAclWithContextFunc(arg0, arg1, arg2...)
}

// GetBucketAclWithContextCalled returns true if GetBucketAclWithContext was called at least once.
func (m *S3API) GetBucketAclWithContextCalled() bool {
	m.lockGetBucketAclWithContext.Lock()
	defer m.lockGetBucketAclWithContext.Unlock()

	return len(m.calls.GetBucketAclWithContext) > 0
}

// GetBucketAclWithContextCalls returns the calls made to GetBucketAclWithContext.
func (m *S3API) GetBucketAclWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketAclInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetBucketAclWithContext.Lock()
	defer m.lockGetBucketAclWithContext.Unlock()

	return m.calls.GetBucketAclWithContext
}

// GetBucketAclRequest mocks base method by wrapping the associated func.
func (m *S3API) GetBucketAclRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAclInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketAclOutput) {
	m.lockGetBucketAclRequest.Lock()
	defer m.lockGetBucketAclRequest.Unlock()

	if m.GetBucketAclRequestFunc == nil {
		panic("mocker: S3API.GetBucketAclRequestFunc is nil but S3API.GetBucketAclRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAclInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketAclRequest = append(m.calls.GetBucketAclRequest, call)

	return m.GetBucketAclRequestFunc(arg0)
}

// GetBucketAclRequestCalled returns true if GetBucketAclRequest was called at least once.
func (m *S3API) GetBucketAclRequestCalled() bool {
	m.lockGetBucketAclRequest.Lock()
	defer m.lockGetBucketAclRequest.Unlock()

	return len(m.calls.GetBucketAclRequest) > 0
}

// GetBucketAclRequestCalls returns the calls made to GetBucketAclRequest.
func (m *S3API) GetBucketAclRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAclInput
} {
	m.lockGetBucketAclRequest.Lock()
	defer m.lockGetBucketAclRequest.Unlock()

	return m.calls.GetBucketAclRequest
}

// GetBucketAnalyticsConfiguration mocks base method by wrapping the associated func.
func (m *S3API) GetBucketAnalyticsConfiguration(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAnalyticsConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketAnalyticsConfigurationOutput, error) {
	m.lockGetBucketAnalyticsConfiguration.Lock()
	defer m.lockGetBucketAnalyticsConfiguration.Unlock()

	if m.GetBucketAnalyticsConfigurationFunc == nil {
		panic("mocker: S3API.GetBucketAnalyticsConfigurationFunc is nil but S3API.GetBucketAnalyticsConfiguration was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAnalyticsConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketAnalyticsConfiguration = append(m.calls.GetBucketAnalyticsConfiguration, call)

	return m.GetBucketAnalyticsConfigurationFunc(arg0)
}

// GetBucketAnalyticsConfigurationCalled returns true if GetBucketAnalyticsConfiguration was called at least once.
func (m *S3API) GetBucketAnalyticsConfigurationCalled() bool {
	m.lockGetBucketAnalyticsConfiguration.Lock()
	defer m.lockGetBucketAnalyticsConfiguration.Unlock()

	return len(m.calls.GetBucketAnalyticsConfiguration) > 0
}

// GetBucketAnalyticsConfigurationCalls returns the calls made to GetBucketAnalyticsConfiguration.
func (m *S3API) GetBucketAnalyticsConfigurationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAnalyticsConfigurationInput
} {
	m.lockGetBucketAnalyticsConfiguration.Lock()
	defer m.lockGetBucketAnalyticsConfiguration.Unlock()

	return m.calls.GetBucketAnalyticsConfiguration
}

// GetBucketAnalyticsConfigurationWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetBucketAnalyticsConfigurationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketAnalyticsConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketAnalyticsConfigurationOutput, error) {
	m.lockGetBucketAnalyticsConfigurationWithContext.Lock()
	defer m.lockGetBucketAnalyticsConfigurationWithContext.Unlock()

	if m.GetBucketAnalyticsConfigurationWithContextFunc == nil {
		panic("mocker: S3API.GetBucketAnalyticsConfigurationWithContextFunc is nil but S3API.GetBucketAnalyticsConfigurationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketAnalyticsConfigurationInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetBucketAnalyticsConfigurationWithContext = append(m.calls.GetBucketAnalyticsConfigurationWithContext, call)

	return m.GetBucketAnalyticsConfigurationWithContextFunc(arg0, arg1, arg2...)
}

// GetBucketAnalyticsConfigurationWithContextCalled returns true if GetBucketAnalyticsConfigurationWithContext was called at least once.
func (m *S3API) GetBucketAnalyticsConfigurationWithContextCalled() bool {
	m.lockGetBucketAnalyticsConfigurationWithContext.Lock()
	defer m.lockGetBucketAnalyticsConfigurationWithContext.Unlock()

	return len(m.calls.GetBucketAnalyticsConfigurationWithContext) > 0
}

// GetBucketAnalyticsConfigurationWithContextCalls returns the calls made to GetBucketAnalyticsConfigurationWithContext.
func (m *S3API) GetBucketAnalyticsConfigurationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketAnalyticsConfigurationInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetBucketAnalyticsConfigurationWithContext.Lock()
	defer m.lockGetBucketAnalyticsConfigurationWithContext.Unlock()

	return m.calls.GetBucketAnalyticsConfigurationWithContext
}

// GetBucketAnalyticsConfigurationRequest mocks base method by wrapping the associated func.
func (m *S3API) GetBucketAnalyticsConfigurationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAnalyticsConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketAnalyticsConfigurationOutput) {
	m.lockGetBucketAnalyticsConfigurationRequest.Lock()
	defer m.lockGetBucketAnalyticsConfigurationRequest.Unlock()

	if m.GetBucketAnalyticsConfigurationRequestFunc == nil {
		panic("mocker: S3API.GetBucketAnalyticsConfigurationRequestFunc is nil but S3API.GetBucketAnalyticsConfigurationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAnalyticsConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketAnalyticsConfigurationRequest = append(m.calls.GetBucketAnalyticsConfigurationRequest, call)

	return m.GetBucketAnalyticsConfigurationRequestFunc(arg0)
}

// GetBucketAnalyticsConfigurationRequestCalled returns true if GetBucketAnalyticsConfigurationRequest was called at least once.
func (m *S3API) GetBucketAnalyticsConfigurationRequestCalled() bool {
	m.lockGetBucketAnalyticsConfigurationRequest.Lock()
	defer m.lockGetBucketAnalyticsConfigurationRequest.Unlock()

	return len(m.calls.GetBucketAnalyticsConfigurationRequest) > 0
}

// GetBucketAnalyticsConfigurationRequestCalls returns the calls made to GetBucketAnalyticsConfigurationRequest.
func (m *S3API) GetBucketAnalyticsConfigurationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketAnalyticsConfigurationInput
} {
	m.lockGetBucketAnalyticsConfigurationRequest.Lock()
	defer m.lockGetBucketAnalyticsConfigurationRequest.Unlock()

	return m.calls.GetBucketAnalyticsConfigurationRequest
}

// GetBucketCors mocks base method by wrapping the associated func.
func (m *S3API) GetBucketCors(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketCorsInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketCorsOutput, error) {
	m.lockGetBucketCors.Lock()
	defer m.lockGetBucketCors.Unlock()

	if m.GetBucketCorsFunc == nil {
		panic("mocker: S3API.GetBucketCorsFunc is nil but S3API.GetBucketCors was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketCorsInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketCors = append(m.calls.GetBucketCors, call)

	return m.GetBucketCorsFunc(arg0)
}

// GetBucketCorsCalled returns true if GetBucketCors was called at least once.
func (m *S3API) GetBucketCorsCalled() bool {
	m.lockGetBucketCors.Lock()
	defer m.lockGetBucketCors.Unlock()

	return len(m.calls.GetBucketCors) > 0
}

// GetBucketCorsCalls returns the calls made to GetBucketCors.
func (m *S3API) GetBucketCorsCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketCorsInput
} {
	m.lockGetBucketCors.Lock()
	defer m.lockGetBucketCors.Unlock()

	return m.calls.GetBucketCors
}

// GetBucketCorsWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetBucketCorsWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketCorsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketCorsOutput, error) {
	m.lockGetBucketCorsWithContext.Lock()
	defer m.lockGetBucketCorsWithContext.Unlock()

	if m.GetBucketCorsWithContextFunc == nil {
		panic("mocker: S3API.GetBucketCorsWithContextFunc is nil but S3API.GetBucketCorsWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketCorsInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetBucketCorsWithContext = append(m.calls.GetBucketCorsWithContext, call)

	return m.GetBucketCorsWithContextFunc(arg0, arg1, arg2...)
}

// GetBucketCorsWithContextCalled returns true if GetBucketCorsWithContext was called at least once.
func (m *S3API) GetBucketCorsWithContextCalled() bool {
	m.lockGetBucketCorsWithContext.Lock()
	defer m.lockGetBucketCorsWithContext.Unlock()

	return len(m.calls.GetBucketCorsWithContext) > 0
}

// GetBucketCorsWithContextCalls returns the calls made to GetBucketCorsWithContext.
func (m *S3API) GetBucketCorsWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketCorsInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetBucketCorsWithContext.Lock()
	defer m.lockGetBucketCorsWithContext.Unlock()

	return m.calls.GetBucketCorsWithContext
}

// GetBucketCorsRequest mocks base method by wrapping the associated func.
func (m *S3API) GetBucketCorsRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketCorsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketCorsOutput) {
	m.lockGetBucketCorsRequest.Lock()
	defer m.lockGetBucketCorsRequest.Unlock()

	if m.GetBucketCorsRequestFunc == nil {
		panic("mocker: S3API.GetBucketCorsRequestFunc is nil but S3API.GetBucketCorsRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketCorsInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketCorsRequest = append(m.calls.GetBucketCorsRequest, call)

	return m.GetBucketCorsRequestFunc(arg0)
}

// GetBucketCorsRequestCalled returns true if GetBucketCorsRequest was called at least once.
func (m *S3API) GetBucketCorsRequestCalled() bool {
	m.lockGetBucketCorsRequest.Lock()
	defer m.lockGetBucketCorsRequest.Unlock()

	return len(m.calls.GetBucketCorsRequest) > 0
}

// GetBucketCorsRequestCalls returns the calls made to GetBucketCorsRequest.
func (m *S3API) GetBucketCorsRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketCorsInput
} {
	m.lockGetBucketCorsRequest.Lock()
	defer m.lockGetBucketCorsRequest.Unlock()

	return m.calls.GetBucketCorsRequest
}

// GetBucketEncryption mocks base method by wrapping the associated func.
func (m *S3API) GetBucketEncryption(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketEncryptionInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketEncryptionOutput, error) {
	m.lockGetBucketEncryption.Lock()
	defer m.lockGetBucketEncryption.Unlock()

	if m.GetBucketEncryptionFunc == nil {
		panic("mocker: S3API.GetBucketEncryptionFunc is nil but S3API.GetBucketEncryption was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketEncryptionInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketEncryption = append(m.calls.GetBucketEncryption, call)

	return m.GetBucketEncryptionFunc(arg0)
}

// GetBucketEncryptionCalled returns true if GetBucketEncryption was called at least once.
func (m *S3API) GetBucketEncryptionCalled() bool {
	m.lockGetBucketEncryption.Lock()
	defer m.lockGetBucketEncryption.Unlock()

	return len(m.calls.GetBucketEncryption) > 0
}

// GetBucketEncryptionCalls returns the calls made to GetBucketEncryption.
func (m *S3API) GetBucketEncryptionCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketEncryptionInput
} {
	m.lockGetBucketEncryption.Lock()
	defer m.lockGetBucketEncryption.Unlock()

	return m.calls.GetBucketEncryption
}

// GetBucketEncryptionWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetBucketEncryptionWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketEncryptionInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketEncryptionOutput, error) {
	m.lockGetBucketEncryptionWithContext.Lock()
	defer m.lockGetBucketEncryptionWithContext.Unlock()

	if m.GetBucketEncryptionWithContextFunc == nil {
		panic("mocker: S3API.GetBucketEncryptionWithContextFunc is nil but S3API.GetBucketEncryptionWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketEncryptionInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetBucketEncryptionWithContext = append(m.calls.GetBucketEncryptionWithContext, call)

	return m.GetBucketEncryptionWithContextFunc(arg0, arg1, arg2...)
}

// GetBucketEncryptionWithContextCalled returns true if GetBucketEncryptionWithContext was called at least once.
func (m *S3API) GetBucketEncryptionWithContextCalled() bool {
	m.lockGetBucketEncryptionWithContext.Lock()
	defer m.lockGetBucketEncryptionWithContext.Unlock()

	return len(m.calls.GetBucketEncryptionWithContext) > 0
}

// GetBucketEncryptionWithContextCalls returns the calls made to GetBucketEncryptionWithContext.
func (m *S3API) GetBucketEncryptionWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketEncryptionInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetBucketEncryptionWithContext.Lock()
	defer m.lockGetBucketEncryptionWithContext.Unlock()

	return m.calls.GetBucketEncryptionWithContext
}

// GetBucketEncryptionRequest mocks base method by wrapping the associated func.
func (m *S3API) GetBucketEncryptionRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketEncryptionInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketEncryptionOutput) {
	m.lockGetBucketEncryptionRequest.Lock()
	defer m.lockGetBucketEncryptionRequest.Unlock()

	if m.GetBucketEncryptionRequestFunc == nil {
		panic("mocker: S3API.GetBucketEncryptionRequestFunc is nil but S3API.GetBucketEncryptionRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketEncryptionInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketEncryptionRequest = append(m.calls.GetBucketEncryptionRequest, call)

	return m.GetBucketEncryptionRequestFunc(arg0)
}

// GetBucketEncryptionRequestCalled returns true if GetBucketEncryptionRequest was called at least once.
func (m *S3API) GetBucketEncryptionRequestCalled() bool {
	m.lockGetBucketEncryptionRequest.Lock()
	defer m.lockGetBucketEncryptionRequest.Unlock()

	return len(m.calls.GetBucketEncryptionRequest) > 0
}

// GetBucketEncryptionRequestCalls returns the calls made to GetBucketEncryptionRequest.
func (m *S3API) GetBucketEncryptionRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketEncryptionInput
} {
	m.lockGetBucketEncryptionRequest.Lock()
	defer m.lockGetBucketEncryptionRequest.Unlock()

	return m.calls.GetBucketEncryptionRequest
}

// GetBucketIntelligentTieringConfiguration mocks base method by wrapping the associated func.
func (m *S3API) GetBucketIntelligentTieringConfiguration(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketIntelligentTieringConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketIntelligentTieringConfigurationOutput, error) {
	m.lockGetBucketIntelligentTieringConfiguration.Lock()
	defer m.lockGetBucketIntelligentTieringConfiguration.Unlock()

	if m.GetBucketIntelligentTieringConfigurationFunc == nil {
		panic("mocker: S3API.GetBucketIntelligentTieringConfigurationFunc is nil but S3API.GetBucketIntelligentTieringConfiguration was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketIntelligentTieringConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketIntelligentTieringConfiguration = append(m.calls.GetBucketIntelligentTieringConfiguration, call)

	return m.GetBucketIntelligentTieringConfigurationFunc(arg0)
}

// GetBucketIntelligentTieringConfigurationCalled returns true if GetBucketIntelligentTieringConfiguration was called at least once.
func (m *S3API) GetBucketIntelligentTieringConfigurationCalled() bool {
	m.lockGetBucketIntelligentTieringConfiguration.Lock()
	defer m.lockGetBucketIntelligentTieringConfiguration.Unlock()

	return len(m.calls.GetBucketIntelligentTieringConfiguration) > 0
}

// GetBucketIntelligentTieringConfigurationCalls returns the calls made to GetBucketIntelligentTieringConfiguration.
func (m *S3API) GetBucketIntelligentTieringConfigurationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketIntelligentTieringConfigurationInput
} {
	m.lockGetBucketIntelligentTieringConfiguration.Lock()
	defer m.lockGetBucketIntelligentTieringConfiguration.Unlock()

	return m.calls.GetBucketIntelligentTieringConfiguration
}

// GetBucketIntelligentTieringConfigurationWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetBucketIntelligentTieringConfigurationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketIntelligentTieringConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketIntelligentTieringConfigurationOutput, error) {
	m.lockGetBucketIntelligentTieringConfigurationWithContext.Lock()
	defer m.lockGetBucketIntelligentTieringConfigurationWithContext.Unlock()

	if m.GetBucketIntelligentTieringConfigurationWithContextFunc == nil {
		panic("mocker: S3API.GetBucketIntelligentTieringConfigurationWithContextFunc is nil but S3API.GetBucketIntelligentTieringConfigurationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketIntelligentTieringConfigurationInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetBucketIntelligentTieringConfigurationWithContext = append(m.calls.GetBucketIntelligentTieringConfigurationWithContext, call)

	return m.GetBucketIntelligentTieringConfigurationWithContextFunc(arg0, arg1, arg2...)
}

// GetBucketIntelligentTieringConfigurationWithContextCalled returns true if GetBucketIntelligentTieringConfigurationWithContext was called at least once.
func (m *S3API) GetBucketIntelligentTieringConfigurationWithContextCalled() bool {
	m.lockGetBucketIntelligentTieringConfigurationWithContext.Lock()
	defer m.lockGetBucketIntelligentTieringConfigurationWithContext.Unlock()

	return len(m.calls.GetBucketIntelligentTieringConfigurationWithContext) > 0
}

// GetBucketIntelligentTieringConfigurationWithContextCalls returns the calls made to GetBucketIntelligentTieringConfigurationWithContext.
func (m *S3API) GetBucketIntelligentTieringConfigurationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketIntelligentTieringConfigurationInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetBucketIntelligentTieringConfigurationWithContext.Lock()
	defer m.lockGetBucketIntelligentTieringConfigurationWithContext.Unlock()

	return m.calls.GetBucketIntelligentTieringConfigurationWithContext
}

// GetBucketIntelligentTieringConfigurationRequest mocks base method by wrapping the associated func.
func (m *S3API) GetBucketIntelligentTieringConfigurationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketIntelligentTieringConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketIntelligentTieringConfigurationOutput) {
	m.lockGetBucketIntelligentTieringConfigurationRequest.Lock()
	defer m.lockGetBucketIntelligentTieringConfigurationRequest.Unlock()

	if m.GetBucketIntelligentTieringConfigurationRequestFunc == nil {
		panic("mocker: S3API.GetBucketIntelligentTieringConfigurationRequestFunc is nil but S3API.GetBucketIntelligentTieringConfigurationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketIntelligentTieringConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketIntelligentTieringConfigurationRequest = append(m.calls.GetBucketIntelligentTieringConfigurationRequest, call)

	return m.GetBucketIntelligentTieringConfigurationRequestFunc(arg0)
}

// GetBucketIntelligentTieringConfigurationRequestCalled returns true if GetBucketIntelligentTieringConfigurationRequest was called at least once.
func (m *S3API) GetBucketIntelligentTieringConfigurationRequestCalled() bool {
	m.lockGetBucketIntelligentTieringConfigurationRequest.Lock()
	defer m.lockGetBucketIntelligentTieringConfigurationRequest.Unlock()

	return len(m.calls.GetBucketIntelligentTieringConfigurationRequest) > 0
}

// GetBucketIntelligentTieringConfigurationRequestCalls returns the calls made to GetBucketIntelligentTieringConfigurationRequest.
func (m *S3API) GetBucketIntelligentTieringConfigurationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketIntelligentTieringConfigurationInput
} {
	m.lockGetBucketIntelligentTieringConfigurationRequest.Lock()
	defer m.lockGetBucketIntelligentTieringConfigurationRequest.Unlock()

	return m.calls.GetBucketIntelligentTieringConfigurationRequest
}

// GetBucketInventoryConfiguration mocks base method by wrapping the associated func.
func (m *S3API) GetBucketInventoryConfiguration(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketInventoryConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketInventoryConfigurationOutput, error) {
	m.lockGetBucketInventoryConfiguration.Lock()
	defer m.lockGetBucketInventoryConfiguration.Unlock()

	if m.GetBucketInventoryConfigurationFunc == nil {
		panic("mocker: S3API.GetBucketInventoryConfigurationFunc is nil but S3API.GetBucketInventoryConfiguration was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketInventoryConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketInventoryConfiguration = append(m.calls.GetBucketInventoryConfiguration, call)

	return m.GetBucketInventoryConfigurationFunc(arg0)
}

// GetBucketInventoryConfigurationCalled returns true if GetBucketInventoryConfiguration was called at least once.
func (m *S3API) GetBucketInventoryConfigurationCalled() bool {
	m.lockGetBucketInventoryConfiguration.Lock()
	defer m.lockGetBucketInventoryConfiguration.Unlock()

	return len(m.calls.GetBucketInventoryConfiguration) > 0
}

// GetBucketInventoryConfigurationCalls returns the calls made to GetBucketInventoryConfiguration.
func (m *S3API) GetBucketInventoryConfigurationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketInventoryConfigurationInput
} {
	m.lockGetBucketInventoryConfiguration.Lock()
	defer m.lockGetBucketInventoryConfiguration.Unlock()

	return m.calls.GetBucketInventoryConfiguration
}

// GetBucketInventoryConfigurationWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetBucketInventoryConfigurationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketInventoryConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketInventoryConfigurationOutput, error) {
	m.lockGetBucketInventoryConfigurationWithContext.Lock()
	defer m.lockGetBucketInventoryConfigurationWithContext.Unlock()

	if m.GetBucketInventoryConfigurationWithContextFunc == nil {
		panic("mocker: S3API.GetBucketInventoryConfigurationWithContextFunc is nil but S3API.GetBucketInventoryConfigurationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketInventoryConfigurationInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetBucketInventoryConfigurationWithContext = append(m.calls.GetBucketInventoryConfigurationWithContext, call)

	return m.GetBucketInventoryConfigurationWithContextFunc(arg0, arg1, arg2...)
}

// GetBucketInventoryConfigurationWithContextCalled returns true if GetBucketInventoryConfigurationWithContext was called at least once.
func (m *S3API) GetBucketInventoryConfigurationWithContextCalled() bool {
	m.lockGetBucketInventoryConfigurationWithContext.Lock()
	defer m.lockGetBucketInventoryConfigurationWithContext.Unlock()

	return len(m.calls.GetBucketInventoryConfigurationWithContext) > 0
}

// GetBucketInventoryConfigurationWithContextCalls returns the calls made to GetBucketInventoryConfigurationWithContext.
func (m *S3API) GetBucketInventoryConfigurationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketInventoryConfigurationInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetBucketInventoryConfigurationWithContext.Lock()
	defer m.lockGetBucketInventoryConfigurationWithContext.Unlock()

	return m.calls.GetBucketInventoryConfigurationWithContext
}

// GetBucketInventoryConfigurationRequest mocks base method by wrapping the associated func.
func (m *S3API) GetBucketInventoryConfigurationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketInventoryConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketInventoryConfigurationOutput) {
	m.lockGetBucketInventoryConfigurationRequest.Lock()
	defer m.lockGetBucketInventoryConfigurationRequest.Unlock()

	if m.GetBucketInventoryConfigurationRequestFunc == nil {
		panic("mocker: S3API.GetBucketInventoryConfigurationRequestFunc is nil but S3API.GetBucketInventoryConfigurationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketInventoryConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketInventoryConfigurationRequest = append(m.calls.GetBucketInventoryConfigurationRequest, call)

	return m.GetBucketInventoryConfigurationRequestFunc(arg0)
}

// GetBucketInventoryConfigurationRequestCalled returns true if GetBucketInventoryConfigurationRequest was called at least once.
func (m *S3API) GetBucketInventoryConfigurationRequestCalled() bool {
	m.lockGetBucketInventoryConfigurationRequest.Lock()
	defer m.lockGetBucketInventoryConfigurationRequest.Unlock()

	return len(m.calls.GetBucketInventoryConfigurationRequest) > 0
}

// GetBucketInventoryConfigurationRequestCalls returns the calls made to GetBucketInventoryConfigurationRequest.
func (m *S3API) GetBucketInventoryConfigurationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketInventoryConfigurationInput
} {
	m.lockGetBucketInventoryConfigurationRequest.Lock()
	defer m.lockGetBucketInventoryConfigurationRequest.Unlock()

	return m.calls.GetBucketInventoryConfigurationRequest
}

// GetBucketLifecycle mocks base method by wrapping the associated func.
func (m *S3API) GetBucketLifecycle(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleOutput, error) {
	m.lockGetBucketLifecycle.Lock()
	defer m.lockGetBucketLifecycle.Unlock()

	if m.GetBucketLifecycleFunc == nil {
		panic("mocker: S3API.GetBucketLifecycleFunc is nil but S3API.GetBucketLifecycle was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketLifecycle = append(m.calls.GetBucketLifecycle, call)

	return m.GetBucketLifecycleFunc(arg0)
}

// GetBucketLifecycleCalled returns true if GetBucketLifecycle was called at least once.
func (m *S3API) GetBucketLifecycleCalled() bool {
	m.lockGetBucketLifecycle.Lock()
	defer m.lockGetBucketLifecycle.Unlock()

	return len(m.calls.GetBucketLifecycle) > 0
}

// GetBucketLifecycleCalls returns the calls made to GetBucketLifecycle.
func (m *S3API) GetBucketLifecycleCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleInput
} {
	m.lockGetBucketLifecycle.Lock()
	defer m.lockGetBucketLifecycle.Unlock()

	return m.calls.GetBucketLifecycle
}

// GetBucketLifecycleWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetBucketLifecycleWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleOutput, error) {
	m.lockGetBucketLifecycleWithContext.Lock()
	defer m.lockGetBucketLifecycleWithContext.Unlock()

	if m.GetBucketLifecycleWithContextFunc == nil {
		panic("mocker: S3API.GetBucketLifecycleWithContextFunc is nil but S3API.GetBucketLifecycleWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetBucketLifecycleWithContext = append(m.calls.GetBucketLifecycleWithContext, call)

	return m.GetBucketLifecycleWithContextFunc(arg0, arg1, arg2...)
}

// GetBucketLifecycleWithContextCalled returns true if GetBucketLifecycleWithContext was called at least once.
func (m *S3API) GetBucketLifecycleWithContextCalled() bool {
	m.lockGetBucketLifecycleWithContext.Lock()
	defer m.lockGetBucketLifecycleWithContext.Unlock()

	return len(m.calls.GetBucketLifecycleWithContext) > 0
}

// GetBucketLifecycleWithContextCalls returns the calls made to GetBucketLifecycleWithContext.
func (m *S3API) GetBucketLifecycleWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetBucketLifecycleWithContext.Lock()
	defer m.lockGetBucketLifecycleWithContext.Unlock()

	return m.calls.GetBucketLifecycleWithContext
}

// GetBucketLifecycleRequest mocks base method by wrapping the associated func.
func (m *S3API) GetBucketLifecycleRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleOutput) {
	m.lockGetBucketLifecycleRequest.Lock()
	defer m.lockGetBucketLifecycleRequest.Unlock()

	if m.GetBucketLifecycleRequestFunc == nil {
		panic("mocker: S3API.GetBucketLifecycleRequestFunc is nil but S3API.GetBucketLifecycleRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketLifecycleRequest = append(m.calls.GetBucketLifecycleRequest, call)

	return m.GetBucketLifecycleRequestFunc(arg0)
}

// GetBucketLifecycleRequestCalled returns true if GetBucketLifecycleRequest was called at least once.
func (m *S3API) GetBucketLifecycleRequestCalled() bool {
	m.lockGetBucketLifecycleRequest.Lock()
	defer m.lockGetBucketLifecycleRequest.Unlock()

	return len(m.calls.GetBucketLifecycleRequest) > 0
}

// GetBucketLifecycleRequestCalls returns the calls made to GetBucketLifecycleRequest.
func (m *S3API) GetBucketLifecycleRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleInput
} {
	m.lockGetBucketLifecycleRequest.Lock()
	defer m.lockGetBucketLifecycleRequest.Unlock()

	return m.calls.GetBucketLifecycleRequest
}

// GetBucketLifecycleConfiguration mocks base method by wrapping the associated func.
func (m *S3API) GetBucketLifecycleConfiguration(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleConfigurationOutput, error) {
	m.lockGetBucketLifecycleConfiguration.Lock()
	defer m.lockGetBucketLifecycleConfiguration.Unlock()

	if m.GetBucketLifecycleConfigurationFunc == nil {
		panic("mocker: S3API.GetBucketLifecycleConfigurationFunc is nil but S3API.GetBucketLifecycleConfiguration was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketLifecycleConfiguration = append(m.calls.GetBucketLifecycleConfiguration, call)

	return m.GetBucketLifecycleConfigurationFunc(arg0)
}

// GetBucketLifecycleConfigurationCalled returns true if GetBucketLifecycleConfiguration was called at least once.
func (m *S3API) GetBucketLifecycleConfigurationCalled() bool {
	m.lockGetBucketLifecycleConfiguration.Lock()
	defer m.lockGetBucketLifecycleConfiguration.Unlock()

	return len(m.calls.GetBucketLifecycleConfiguration) > 0
}

// GetBucketLifecycleConfigurationCalls returns the calls made to GetBucketLifecycleConfiguration.
func (m *S3API) GetBucketLifecycleConfigurationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleConfigurationInput
} {
	m.lockGetBucketLifecycleConfiguration.Lock()
	defer m.lockGetBucketLifecycleConfiguration.Unlock()

	return m.calls.GetBucketLifecycleConfiguration
}

// GetBucketLifecycleConfigurationWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetBucketLifecycleConfigurationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleConfigurationOutput, error) {
	m.lockGetBucketLifecycleConfigurationWithContext.Lock()
	defer m.lockGetBucketLifecycleConfigurationWithContext.Unlock()

	if m.GetBucketLifecycleConfigurationWithContextFunc == nil {
		panic("mocker: S3API.GetBucketLifecycleConfigurationWithContextFunc is nil but S3API.GetBucketLifecycleConfigurationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleConfigurationInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetBucketLifecycleConfigurationWithContext = append(m.calls.GetBucketLifecycleConfigurationWithContext, call)

	return m.GetBucketLifecycleConfigurationWithContextFunc(arg0, arg1, arg2...)
}

// GetBucketLifecycleConfigurationWithContextCalled returns true if GetBucketLifecycleConfigurationWithContext was called at least once.
func (m *S3API) GetBucketLifecycleConfigurationWithContextCalled() bool {
	m.lockGetBucketLifecycleConfigurationWithContext.Lock()
	defer m.lockGetBucketLifecycleConfigurationWithContext.Unlock()

	return len(m.calls.GetBucketLifecycleConfigurationWithContext) > 0
}

// GetBucketLifecycleConfigurationWithContextCalls returns the calls made to GetBucketLifecycleConfigurationWithContext.
func (m *S3API) GetBucketLifecycleConfigurationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleConfigurationInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetBucketLifecycleConfigurationWithContext.Lock()
	defer m.lockGetBucketLifecycleConfigurationWithContext.Unlock()

	return m.calls.GetBucketLifecycleConfigurationWithContext
}

// GetBucketLifecycleConfigurationRequest mocks base method by wrapping the associated func.
func (m *S3API) GetBucketLifecycleConfigurationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleConfigurationOutput) {
	m.lockGetBucketLifecycleConfigurationRequest.Lock()
	defer m.lockGetBucketLifecycleConfigurationRequest.Unlock()

	if m.GetBucketLifecycleConfigurationRequestFunc == nil {
		panic("mocker: S3API.GetBucketLifecycleConfigurationRequestFunc is nil but S3API.GetBucketLifecycleConfigurationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketLifecycleConfigurationRequest = append(m.calls.GetBucketLifecycleConfigurationRequest, call)

	return m.GetBucketLifecycleConfigurationRequestFunc(arg0)
}

// GetBucketLifecycleConfigurationRequestCalled returns true if GetBucketLifecycleConfigurationRequest was called at least once.
func (m *S3API) GetBucketLifecycleConfigurationRequestCalled() bool {
	m.lockGetBucketLifecycleConfigurationRequest.Lock()
	defer m.lockGetBucketLifecycleConfigurationRequest.Unlock()

	return len(m.calls.GetBucketLifecycleConfigurationRequest) > 0
}

// GetBucketLifecycleConfigurationRequestCalls returns the calls made to GetBucketLifecycleConfigurationRequest.
func (m *S3API) GetBucketLifecycleConfigurationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLifecycleConfigurationInput
} {
	m.lockGetBucketLifecycleConfigurationRequest.Lock()
	defer m.lockGetBucketLifecycleConfigurationRequest.Unlock()

	return m.calls.GetBucketLifecycleConfigurationRequest
}

// GetBucketLocation mocks base method by wrapping the associated func.
func (m *S3API) GetBucketLocation(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLocationInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketLocationOutput, error) {
	m.lockGetBucketLocation.Lock()
	defer m.lockGetBucketLocation.Unlock()

	if m.GetBucketLocationFunc == nil {
		panic("mocker: S3API.GetBucketLocationFunc is nil but S3API.GetBucketLocation was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLocationInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketLocation = append(m.calls.GetBucketLocation, call)

	return m.GetBucketLocationFunc(arg0)
}

// GetBucketLocationCalled returns true if GetBucketLocation was called at least once.
func (m *S3API) GetBucketLocationCalled() bool {
	m.lockGetBucketLocation.Lock()
	defer m.lockGetBucketLocation.Unlock()

	return len(m.calls.GetBucketLocation) > 0
}

// GetBucketLocationCalls returns the calls made to GetBucketLocation.
func (m *S3API) GetBucketLocationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLocationInput
} {
	m.lockGetBucketLocation.Lock()
	defer m.lockGetBucketLocation.Unlock()

	return m.calls.GetBucketLocation
}

// GetBucketLocationWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetBucketLocationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketLocationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketLocationOutput, error) {
	m.lockGetBucketLocationWithContext.Lock()
	defer m.lockGetBucketLocationWithContext.Unlock()

	if m.GetBucketLocationWithContextFunc == nil {
		panic("mocker: S3API.GetBucketLocationWithContextFunc is nil but S3API.GetBucketLocationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketLocationInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetBucketLocationWithContext = append(m.calls.GetBucketLocationWithContext, call)

	return m.GetBucketLocationWithContextFunc(arg0, arg1, arg2...)
}

// GetBucketLocationWithContextCalled returns true if GetBucketLocationWithContext was called at least once.
func (m *S3API) GetBucketLocationWithContextCalled() bool {
	m.lockGetBucketLocationWithContext.Lock()
	defer m.lockGetBucketLocationWithContext.Unlock()

	return len(m.calls.GetBucketLocationWithContext) > 0
}

// GetBucketLocationWithContextCalls returns the calls made to GetBucketLocationWithContext.
func (m *S3API) GetBucketLocationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketLocationInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetBucketLocationWithContext.Lock()
	defer m.lockGetBucketLocationWithContext.Unlock()

	return m.calls.GetBucketLocationWithContext
}

// GetBucketLocationRequest mocks base method by wrapping the associated func.
func (m *S3API) GetBucketLocationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLocationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketLocationOutput) {
	m.lockGetBucketLocationRequest.Lock()
	defer m.lockGetBucketLocationRequest.Unlock()

	if m.GetBucketLocationRequestFunc == nil {
		panic("mocker: S3API.GetBucketLocationRequestFunc is nil but S3API.GetBucketLocationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLocationInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketLocationRequest = append(m.calls.GetBucketLocationRequest, call)

	return m.GetBucketLocationRequestFunc(arg0)
}

// GetBucketLocationRequestCalled returns true if GetBucketLocationRequest was called at least once.
func (m *S3API) GetBucketLocationRequestCalled() bool {
	m.lockGetBucketLocationRequest.Lock()
	defer m.lockGetBucketLocationRequest.Unlock()

	return len(m.calls.GetBucketLocationRequest) > 0
}

// GetBucketLocationRequestCalls returns the calls made to GetBucketLocationRequest.
func (m *S3API) GetBucketLocationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLocationInput
} {
	m.lockGetBucketLocationRequest.Lock()
	defer m.lockGetBucketLocationRequest.Unlock()

	return m.calls.GetBucketLocationRequest
}

// GetBucketLogging mocks base method by wrapping the associated func.
func (m *S3API) GetBucketLogging(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLoggingInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketLoggingOutput, error) {
	m.lockGetBucketLogging.Lock()
	defer m.lockGetBucketLogging.Unlock()

	if m.GetBucketLoggingFunc == nil {
		panic("mocker: S3API.GetBucketLoggingFunc is nil but S3API.GetBucketLogging was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLoggingInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketLogging = append(m.calls.GetBucketLogging, call)

	return m.GetBucketLoggingFunc(arg0)
}

// GetBucketLoggingCalled returns true if GetBucketLogging was called at least once.
func (m *S3API) GetBucketLoggingCalled() bool {
	m.lockGetBucketLogging.Lock()
	defer m.lockGetBucketLogging.Unlock()

	return len(m.calls.GetBucketLogging) > 0
}

// GetBucketLoggingCalls returns the calls made to GetBucketLogging.
func (m *S3API) GetBucketLoggingCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLoggingInput
} {
	m.lockGetBucketLogging.Lock()
	defer m.lockGetBucketLogging.Unlock()

	return m.calls.GetBucketLogging
}

// GetBucketLoggingWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetBucketLoggingWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketLoggingInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketLoggingOutput, error) {
	m.lockGetBucketLoggingWithContext.Lock()
	defer m.lockGetBucketLoggingWithContext.Unlock()

	if m.GetBucketLoggingWithContextFunc == nil {
		panic("mocker: S3API.GetBucketLoggingWithContextFunc is nil but S3API.GetBucketLoggingWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketLoggingInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetBucketLoggingWithContext = append(m.calls.GetBucketLoggingWithContext, call)

	return m.GetBucketLoggingWithContextFunc(arg0, arg1, arg2...)
}

// GetBucketLoggingWithContextCalled returns true if GetBucketLoggingWithContext was called at least once.
func (m *S3API) GetBucketLoggingWithContextCalled() bool {
	m.lockGetBucketLoggingWithContext.Lock()
	defer m.lockGetBucketLoggingWithContext.Unlock()

	return len(m.calls.GetBucketLoggingWithContext) > 0
}

// GetBucketLoggingWithContextCalls returns the calls made to GetBucketLoggingWithContext.
func (m *S3API) GetBucketLoggingWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketLoggingInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetBucketLoggingWithContext.Lock()
	defer m.lockGetBucketLoggingWithContext.Unlock()

	return m.calls.GetBucketLoggingWithContext
}

// GetBucketLoggingRequest mocks base method by wrapping the associated func.
func (m *S3API) GetBucketLoggingRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLoggingInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketLoggingOutput) {
	m.lockGetBucketLoggingRequest.Lock()
	defer m.lockGetBucketLoggingRequest.Unlock()

	if m.GetBucketLoggingRequestFunc == nil {
		panic("mocker: S3API.GetBucketLoggingRequestFunc is nil but S3API.GetBucketLoggingRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLoggingInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketLoggingRequest = append(m.calls.GetBucketLoggingRequest, call)

	return m.GetBucketLoggingRequestFunc(arg0)
}

// GetBucketLoggingRequestCalled returns true if GetBucketLoggingRequest was called at least once.
func (m *S3API) GetBucketLoggingRequestCalled() bool {
	m.lockGetBucketLoggingRequest.Lock()
	defer m.lockGetBucketLoggingRequest.Unlock()

	return len(m.calls.GetBucketLoggingRequest) > 0
}

// GetBucketLoggingRequestCalls returns the calls made to GetBucketLoggingRequest.
func (m *S3API) GetBucketLoggingRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketLoggingInput
} {
	m.lockGetBucketLoggingRequest.Lock()
	defer m.lockGetBucketLoggingRequest.Unlock()

	return m.calls.GetBucketLoggingRequest
}

// GetBucketMetricsConfiguration mocks base method by wrapping the associated func.
func (m *S3API) GetBucketMetricsConfiguration(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketMetricsConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketMetricsConfigurationOutput, error) {
	m.lockGetBucketMetricsConfiguration.Lock()
	defer m.lockGetBucketMetricsConfiguration.Unlock()

	if m.GetBucketMetricsConfigurationFunc == nil {
		panic("mocker: S3API.GetBucketMetricsConfigurationFunc is nil but S3API.GetBucketMetricsConfiguration was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketMetricsConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketMetricsConfiguration = append(m.calls.GetBucketMetricsConfiguration, call)

	return m.GetBucketMetricsConfigurationFunc(arg0)
}

// GetBucketMetricsConfigurationCalled returns true if GetBucketMetricsConfiguration was called at least once.
func (m *S3API) GetBucketMetricsConfigurationCalled() bool {
	m.lockGetBucketMetricsConfiguration.Lock()
	defer m.lockGetBucketMetricsConfiguration.Unlock()

	return len(m.calls.GetBucketMetricsConfiguration) > 0
}

// GetBucketMetricsConfigurationCalls returns the calls made to GetBucketMetricsConfiguration.
func (m *S3API) GetBucketMetricsConfigurationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketMetricsConfigurationInput
} {
	m.lockGetBucketMetricsConfiguration.Lock()
	defer m.lockGetBucketMetricsConfiguration.Unlock()

	return m.calls.GetBucketMetricsConfiguration
}

// GetBucketMetricsConfigurationWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetBucketMetricsConfigurationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketMetricsConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketMetricsConfigurationOutput, error) {
	m.lockGetBucketMetricsConfigurationWithContext.Lock()
	defer m.lockGetBucketMetricsConfigurationWithContext.Unlock()

	if m.GetBucketMetricsConfigurationWithContextFunc == nil {
		panic("mocker: S3API.GetBucketMetricsConfigurationWithContextFunc is nil but S3API.GetBucketMetricsConfigurationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketMetricsConfigurationInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetBucketMetricsConfigurationWithContext = append(m.calls.GetBucketMetricsConfigurationWithContext, call)

	return m.GetBucketMetricsConfigurationWithContextFunc(arg0, arg1, arg2...)
}

// GetBucketMetricsConfigurationWithContextCalled returns true if GetBucketMetricsConfigurationWithContext was called at least once.
func (m *S3API) GetBucketMetricsConfigurationWithContextCalled() bool {
	m.lockGetBucketMetricsConfigurationWithContext.Lock()
	defer m.lockGetBucketMetricsConfigurationWithContext.Unlock()

	return len(m.calls.GetBucketMetricsConfigurationWithContext) > 0
}

// GetBucketMetricsConfigurationWithContextCalls returns the calls made to GetBucketMetricsConfigurationWithContext.
func (m *S3API) GetBucketMetricsConfigurationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketMetricsConfigurationInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetBucketMetricsConfigurationWithContext.Lock()
	defer m.lockGetBucketMetricsConfigurationWithContext.Unlock()

	return m.calls.GetBucketMetricsConfigurationWithContext
}

// GetBucketMetricsConfigurationRequest mocks base method by wrapping the associated func.
func (m *S3API) GetBucketMetricsConfigurationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketMetricsConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketMetricsConfigurationOutput) {
	m.lockGetBucketMetricsConfigurationRequest.Lock()
	defer m.lockGetBucketMetricsConfigurationRequest.Unlock()

	if m.GetBucketMetricsConfigurationRequestFunc == nil {
		panic("mocker: S3API.GetBucketMetricsConfigurationRequestFunc is nil but S3API.GetBucketMetricsConfigurationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketMetricsConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketMetricsConfigurationRequest = append(m.calls.GetBucketMetricsConfigurationRequest, call)

	return m.GetBucketMetricsConfigurationRequestFunc(arg0)
}

// GetBucketMetricsConfigurationRequestCalled returns true if GetBucketMetricsConfigurationRequest was called at least once.
func (m *S3API) GetBucketMetricsConfigurationRequestCalled() bool {
	m.lockGetBucketMetricsConfigurationRequest.Lock()
	defer m.lockGetBucketMetricsConfigurationRequest.Unlock()

	return len(m.calls.GetBucketMetricsConfigurationRequest) > 0
}

// GetBucketMetricsConfigurationRequestCalls returns the calls made to GetBucketMetricsConfigurationRequest.
func (m *S3API) GetBucketMetricsConfigurationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketMetricsConfigurationInput
} {
	m.lockGetBucketMetricsConfigurationRequest.Lock()
	defer m.lockGetBucketMetricsConfigurationRequest.Unlock()

	return m.calls.GetBucketMetricsConfigurationRequest
}

// GetBucketNotification mocks base method by wrapping the associated func.
func (m *S3API) GetBucketNotification(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest) (*github_com_aws_aws_sdk_go_service_s3.NotificationConfigurationDeprecated, error) {
	m.lockGetBucketNotification.Lock()
	defer m.lockGetBucketNotification.Unlock()

	if m.GetBucketNotificationFunc == nil {
		panic("mocker: S3API.GetBucketNotificationFunc is nil but S3API.GetBucketNotification was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketNotification = append(m.calls.GetBucketNotification, call)

	return m.GetBucketNotificationFunc(arg0)
}

// GetBucketNotificationCalled returns true if GetBucketNotification was called at least once.
func (m *S3API) GetBucketNotificationCalled() bool {
	m.lockGetBucketNotification.Lock()
	defer m.lockGetBucketNotification.Unlock()

	return len(m.calls.GetBucketNotification) > 0
}

// GetBucketNotificationCalls returns the calls made to GetBucketNotification.
func (m *S3API) GetBucketNotificationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest
} {
	m.lockGetBucketNotification.Lock()
	defer m.lockGetBucketNotification.Unlock()

	return m.calls.GetBucketNotification
}

// GetBucketNotificationWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetBucketNotificationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.NotificationConfigurationDeprecated, error) {
	m.lockGetBucketNotificationWithContext.Lock()
	defer m.lockGetBucketNotificationWithContext.Unlock()

	if m.GetBucketNotificationWithContextFunc == nil {
		panic("mocker: S3API.GetBucketNotificationWithContextFunc is nil but S3API.GetBucketNotificationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetBucketNotificationWithContext = append(m.calls.GetBucketNotificationWithContext, call)

	return m.GetBucketNotificationWithContextFunc(arg0, arg1, arg2...)
}

// GetBucketNotificationWithContextCalled returns true if GetBucketNotificationWithContext was called at least once.
func (m *S3API) GetBucketNotificationWithContextCalled() bool {
	m.lockGetBucketNotificationWithContext.Lock()
	defer m.lockGetBucketNotificationWithContext.Unlock()

	return len(m.calls.GetBucketNotificationWithContext) > 0
}

// GetBucketNotificationWithContextCalls returns the calls made to GetBucketNotificationWithContext.
func (m *S3API) GetBucketNotificationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetBucketNotificationWithContext.Lock()
	defer m.lockGetBucketNotificationWithContext.Unlock()

	return m.calls.GetBucketNotificationWithContext
}

// GetBucketNotificationRequest mocks base method by wrapping the associated func.
func (m *S3API) GetBucketNotificationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.NotificationConfigurationDeprecated) {
	m.lockGetBucketNotificationRequest.Lock()
	defer m.lockGetBucketNotificationRequest.Unlock()

	if m.GetBucketNotificationRequestFunc == nil {
		panic("mocker: S3API.GetBucketNotificationRequestFunc is nil but S3API.GetBucketNotificationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketNotificationRequest = append(m.calls.GetBucketNotificationRequest, call)

	return m.GetBucketNotificationRequestFunc(arg0)
}

// GetBucketNotificationRequestCalled returns true if GetBucketNotificationRequest was called at least once.
func (m *S3API) GetBucketNotificationRequestCalled() bool {
	m.lockGetBucketNotificationRequest.Lock()
	defer m.lockGetBucketNotificationRequest.Unlock()

	return len(m.calls.GetBucketNotificationRequest) > 0
}

// GetBucketNotificationRequestCalls returns the calls made to GetBucketNotificationRequest.
func (m *S3API) GetBucketNotificationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest
} {
	m.lockGetBucketNotificationRequest.Lock()
	defer m.lockGetBucketNotificationRequest.Unlock()

	return m.calls.GetBucketNotificationRequest
}

// GetBucketNotificationConfiguration mocks base method by wrapping the associated func.
func (m *S3API) GetBucketNotificationConfiguration(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest) (*github_com_aws_aws_sdk_go_service_s3.NotificationConfiguration, error) {
	m.lockGetBucketNotificationConfiguration.Lock()
	defer m.lockGetBucketNotificationConfiguration.Unlock()

	if m.GetBucketNotificationConfigurationFunc == nil {
		panic("mocker: S3API.GetBucketNotificationConfigurationFunc is nil but S3API.GetBucketNotificationConfiguration was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketNotificationConfiguration = append(m.calls.GetBucketNotificationConfiguration, call)

	return m.GetBucketNotificationConfigurationFunc(arg0)
}

// GetBucketNotificationConfigurationCalled returns true if GetBucketNotificationConfiguration was called at least once.
func (m *S3API) GetBucketNotificationConfigurationCalled() bool {
	m.lockGetBucketNotificationConfiguration.Lock()
	defer m.lockGetBucketNotificationConfiguration.Unlock()

	return len(m.calls.GetBucketNotificationConfiguration) > 0
}

// GetBucketNotificationConfigurationCalls returns the calls made to GetBucketNotificationConfiguration.
func (m *S3API) GetBucketNotificationConfigurationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest
} {
	m.lockGetBucketNotificationConfiguration.Lock()
	defer m.lockGetBucketNotificationConfiguration.Unlock()

	return m.calls.GetBucketNotificationConfiguration
}

// GetBucketNotificationConfigurationWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetBucketNotificationConfigurationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.NotificationConfiguration, error) {
	m.lockGetBucketNotificationConfigurationWithContext.Lock()
	defer m.lockGetBucketNotificationConfigurationWithContext.Unlock()

	if m.GetBucketNotificationConfigurationWithContextFunc == nil {
		panic("mocker: S3API.GetBucketNotificationConfigurationWithContextFunc is nil but S3API.GetBucketNotificationConfigurationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetBucketNotificationConfigurationWithContext = append(m.calls.GetBucketNotificationConfigurationWithContext, call)

	return m.GetBucketNotificationConfigurationWithContextFunc(arg0, arg1, arg2...)
}

// GetBucketNotificationConfigurationWithContextCalled returns true if GetBucketNotificationConfigurationWithContext was called at least once.
func (m *S3API) GetBucketNotificationConfigurationWithContextCalled() bool {
	m.lockGetBucketNotificationConfigurationWithContext.Lock()
	defer m.lockGetBucketNotificationConfigurationWithContext.Unlock()

	return len(m.calls.GetBucketNotificationConfigurationWithContext) > 0
}

// GetBucketNotificationConfigurationWithContextCalls returns the calls made to GetBucketNotificationConfigurationWithContext.
func (m *S3API) GetBucketNotificationConfigurationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetBucketNotificationConfigurationWithContext.Lock()
	defer m.lockGetBucketNotificationConfigurationWithContext.Unlock()

	return m.calls.GetBucketNotificationConfigurationWithContext
}

// GetBucketNotificationConfigurationRequest mocks base method by wrapping the associated func.
func (m *S3API) GetBucketNotificationConfigurationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.NotificationConfiguration) {
	m.lockGetBucketNotificationConfigurationRequest.Lock()
	defer m.lockGetBucketNotificationConfigurationRequest.Unlock()

	if m.GetBucketNotificationConfigurationRequestFunc == nil {
		panic("mocker: S3API.GetBucketNotificationConfigurationRequestFunc is nil but S3API.GetBucketNotificationConfigurationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketNotificationConfigurationRequest = append(m.calls.GetBucketNotificationConfigurationRequest, call)

	return m.GetBucketNotificationConfigurationRequestFunc(arg0)
}

// GetBucketNotificationConfigurationRequestCalled returns true if GetBucketNotificationConfigurationRequest was called at least once.
func (m *S3API) GetBucketNotificationConfigurationRequestCalled() bool {
	m.lockGetBucketNotificationConfigurationRequest.Lock()
	defer m.lockGetBucketNotificationConfigurationRequest.Unlock()

	return len(m.calls.GetBucketNotificationConfigurationRequest) > 0
}

// GetBucketNotificationConfigurationRequestCalls returns the calls made to GetBucketNotificationConfigurationRequest.
func (m *S3API) GetBucketNotificationConfigurationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketNotificationConfigurationRequest
} {
	m.lockGetBucketNotificationConfigurationRequest.Lock()
	defer m.lockGetBucketNotificationConfigurationRequest.Unlock()

	return m.calls.GetBucketNotificationConfigurationRequest
}

// GetBucketOwnershipControls mocks base method by wrapping the associated func.
func (m *S3API) GetBucketOwnershipControls(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketOwnershipControlsInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketOwnershipControlsOutput, error) {
	m.lockGetBucketOwnershipControls.Lock()
	defer m.lockGetBucketOwnershipControls.Unlock()

	if m.GetBucketOwnershipControlsFunc == nil {
		panic("mocker: S3API.GetBucketOwnershipControlsFunc is nil but S3API.GetBucketOwnershipControls was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketOwnershipControlsInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketOwnershipControls = append(m.calls.GetBucketOwnershipControls, call)

	return m.GetBucketOwnershipControlsFunc(arg0)
}

// GetBucketOwnershipControlsCalled returns true if GetBucketOwnershipControls was called at least once.
func (m *S3API) GetBucketOwnershipControlsCalled() bool {
	m.lockGetBucketOwnershipControls.Lock()
	defer m.lockGetBucketOwnershipControls.Unlock()

	return len(m.calls.GetBucketOwnershipControls) > 0
}

// GetBucketOwnershipControlsCalls returns the calls made to GetBucketOwnershipControls.
func (m *S3API) GetBucketOwnershipControlsCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketOwnershipControlsInput
} {
	m.lockGetBucketOwnershipControls.Lock()
	defer m.lockGetBucketOwnershipControls.Unlock()

	return m.calls.GetBucketOwnershipControls
}

// GetBucketOwnershipControlsWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetBucketOwnershipControlsWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketOwnershipControlsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketOwnershipControlsOutput, error) {
	m.lockGetBucketOwnershipControlsWithContext.Lock()
	defer m.lockGetBucketOwnershipControlsWithContext.Unlock()

	if m.GetBucketOwnershipControlsWithContextFunc == nil {
		panic("mocker: S3API.GetBucketOwnershipControlsWithContextFunc is nil but S3API.GetBucketOwnershipControlsWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketOwnershipControlsInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetBucketOwnershipControlsWithContext = append(m.calls.GetBucketOwnershipControlsWithContext, call)

	return m.GetBucketOwnershipControlsWithContextFunc(arg0, arg1, arg2...)
}

// GetBucketOwnershipControlsWithContextCalled returns true if GetBucketOwnershipControlsWithContext was called at least once.
func (m *S3API) GetBucketOwnershipControlsWithContextCalled() bool {
	m.lockGetBucketOwnershipControlsWithContext.Lock()
	defer m.lockGetBucketOwnershipControlsWithContext.Unlock()

	return len(m.calls.GetBucketOwnershipControlsWithContext) > 0
}

// GetBucketOwnershipControlsWithContextCalls returns the calls made to GetBucketOwnershipControlsWithContext.
func (m *S3API) GetBucketOwnershipControlsWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketOwnershipControlsInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetBucketOwnershipControlsWithContext.Lock()
	defer m.lockGetBucketOwnershipControlsWithContext.Unlock()

	return m.calls.GetBucketOwnershipControlsWithContext
}

// GetBucketOwnershipControlsRequest mocks base method by wrapping the associated func.
func (m *S3API) GetBucketOwnershipControlsRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketOwnershipControlsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketOwnershipControlsOutput) {
	m.lockGetBucketOwnershipControlsRequest.Lock()
	defer m.lockGetBucketOwnershipControlsRequest.Unlock()

	if m.GetBucketOwnershipControlsRequestFunc == nil {
		panic("mocker: S3API.GetBucketOwnershipControlsRequestFunc is nil but S3API.GetBucketOwnershipControlsRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketOwnershipControlsInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketOwnershipControlsRequest = append(m.calls.GetBucketOwnershipControlsRequest, call)

	return m.GetBucketOwnershipControlsRequestFunc(arg0)
}

// GetBucketOwnershipControlsRequestCalled returns true if GetBucketOwnershipControlsRequest was called at least once.
func (m *S3API) GetBucketOwnershipControlsRequestCalled() bool {
	m.lockGetBucketOwnershipControlsRequest.Lock()
	defer m.lockGetBucketOwnershipControlsRequest.Unlock()

	return len(m.calls.GetBucketOwnershipControlsRequest) > 0
}

// GetBucketOwnershipControlsRequestCalls returns the calls made to GetBucketOwnershipControlsRequest.
func (m *S3API) GetBucketOwnershipControlsRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketOwnershipControlsInput
} {
	m.lockGetBucketOwnershipControlsRequest.Lock()
	defer m.lockGetBucketOwnershipControlsRequest.Unlock()

	return m.calls.GetBucketOwnershipControlsRequest
}

// GetBucketPolicy mocks base method by wrapping the associated func.
func (m *S3API) GetBucketPolicy(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyOutput, error) {
	m.lockGetBucketPolicy.Lock()
	defer m.lockGetBucketPolicy.Unlock()

	if m.GetBucketPolicyFunc == nil {
		panic("mocker: S3API.GetBucketPolicyFunc is nil but S3API.GetBucketPolicy was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketPolicy = append(m.calls.GetBucketPolicy, call)

	return m.GetBucketPolicyFunc(arg0)
}

// GetBucketPolicyCalled returns true if GetBucketPolicy was called at least once.
func (m *S3API) GetBucketPolicyCalled() bool {
	m.lockGetBucketPolicy.Lock()
	defer m.lockGetBucketPolicy.Unlock()

	return len(m.calls.GetBucketPolicy) > 0
}

// GetBucketPolicyCalls returns the calls made to GetBucketPolicy.
func (m *S3API) GetBucketPolicyCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyInput
} {
	m.lockGetBucketPolicy.Lock()
	defer m.lockGetBucketPolicy.Unlock()

	return m.calls.GetBucketPolicy
}

// GetBucketPolicyWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetBucketPolicyWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyOutput, error) {
	m.lockGetBucketPolicyWithContext.Lock()
	defer m.lockGetBucketPolicyWithContext.Unlock()

	if m.GetBucketPolicyWithContextFunc == nil {
		panic("mocker: S3API.GetBucketPolicyWithContextFunc is nil but S3API.GetBucketPolicyWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetBucketPolicyWithContext = append(m.calls.GetBucketPolicyWithContext, call)

	return m.GetBucketPolicyWithContextFunc(arg0, arg1, arg2...)
}

// GetBucketPolicyWithContextCalled returns true if GetBucketPolicyWithContext was called at least once.
func (m *S3API) GetBucketPolicyWithContextCalled() bool {
	m.lockGetBucketPolicyWithContext.Lock()
	defer m.lockGetBucketPolicyWithContext.Unlock()

	return len(m.calls.GetBucketPolicyWithContext) > 0
}

// GetBucketPolicyWithContextCalls returns the calls made to GetBucketPolicyWithContext.
func (m *S3API) GetBucketPolicyWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetBucketPolicyWithContext.Lock()
	defer m.lockGetBucketPolicyWithContext.Unlock()

	return m.calls.GetBucketPolicyWithContext
}

// GetBucketPolicyRequest mocks base method by wrapping the associated func.
func (m *S3API) GetBucketPolicyRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyOutput) {
	m.lockGetBucketPolicyRequest.Lock()
	defer m.lockGetBucketPolicyRequest.Unlock()

	if m.GetBucketPolicyRequestFunc == nil {
		panic("mocker: S3API.GetBucketPolicyRequestFunc is nil but S3API.GetBucketPolicyRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketPolicyRequest = append(m.calls.GetBucketPolicyRequest, call)

	return m.GetBucketPolicyRequestFunc(arg0)
}

// GetBucketPolicyRequestCalled returns true if GetBucketPolicyRequest was called at least once.
func (m *S3API) GetBucketPolicyRequestCalled() bool {
	m.lockGetBucketPolicyRequest.Lock()
	defer m.lockGetBucketPolicyRequest.Unlock()

	return len(m.calls.GetBucketPolicyRequest) > 0
}

// GetBucketPolicyRequestCalls returns the calls made to GetBucketPolicyRequest.
func (m *S3API) GetBucketPolicyRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyInput
} {
	m.lockGetBucketPolicyRequest.Lock()
	defer m.lockGetBucketPolicyRequest.Unlock()

	return m.calls.GetBucketPolicyRequest
}

// GetBucketPolicyStatus mocks base method by wrapping the associated func.
func (m *S3API) GetBucketPolicyStatus(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyStatusInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyStatusOutput, error) {
	m.lockGetBucketPolicyStatus.Lock()
	defer m.lockGetBucketPolicyStatus.Unlock()

	if m.GetBucketPolicyStatusFunc == nil {
		panic("mocker: S3API.GetBucketPolicyStatusFunc is nil but S3API.GetBucketPolicyStatus was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyStatusInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketPolicyStatus = append(m.calls.GetBucketPolicyStatus, call)

	return m.GetBucketPolicyStatusFunc(arg0)
}

// GetBucketPolicyStatusCalled returns true if GetBucketPolicyStatus was called at least once.
func (m *S3API) GetBucketPolicyStatusCalled() bool {
	m.lockGetBucketPolicyStatus.Lock()
	defer m.lockGetBucketPolicyStatus.Unlock()

	return len(m.calls.GetBucketPolicyStatus) > 0
}

// GetBucketPolicyStatusCalls returns the calls made to GetBucketPolicyStatus.
func (m *S3API) GetBucketPolicyStatusCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyStatusInput
} {
	m.lockGetBucketPolicyStatus.Lock()
	defer m.lockGetBucketPolicyStatus.Unlock()

	return m.calls.GetBucketPolicyStatus
}

// GetBucketPolicyStatusWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetBucketPolicyStatusWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyStatusInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyStatusOutput, error) {
	m.lockGetBucketPolicyStatusWithContext.Lock()
	defer m.lockGetBucketPolicyStatusWithContext.Unlock()

	if m.GetBucketPolicyStatusWithContextFunc == nil {
		panic("mocker: S3API.GetBucketPolicyStatusWithContextFunc is nil but S3API.GetBucketPolicyStatusWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyStatusInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetBucketPolicyStatusWithContext = append(m.calls.GetBucketPolicyStatusWithContext, call)

	return m.GetBucketPolicyStatusWithContextFunc(arg0, arg1, arg2...)
}

// GetBucketPolicyStatusWithContextCalled returns true if GetBucketPolicyStatusWithContext was called at least once.
func (m *S3API) GetBucketPolicyStatusWithContextCalled() bool {
	m.lockGetBucketPolicyStatusWithContext.Lock()
	defer m.lockGetBucketPolicyStatusWithContext.Unlock()

	return len(m.calls.GetBucketPolicyStatusWithContext) > 0
}

// GetBucketPolicyStatusWithContextCalls returns the calls made to GetBucketPolicyStatusWithContext.
func (m *S3API) GetBucketPolicyStatusWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyStatusInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetBucketPolicyStatusWithContext.Lock()
	defer m.lockGetBucketPolicyStatusWithContext.Unlock()

	return m.calls.GetBucketPolicyStatusWithContext
}

// GetBucketPolicyStatusRequest mocks base method by wrapping the associated func.
func (m *S3API) GetBucketPolicyStatusRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyStatusInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyStatusOutput) {
	m.lockGetBucketPolicyStatusRequest.Lock()
	defer m.lockGetBucketPolicyStatusRequest.Unlock()

	if m.GetBucketPolicyStatusRequestFunc == nil {
		panic("mocker: S3API.GetBucketPolicyStatusRequestFunc is nil but S3API.GetBucketPolicyStatusRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyStatusInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketPolicyStatusRequest = append(m.calls.GetBucketPolicyStatusRequest, call)

	return m.GetBucketPolicyStatusRequestFunc(arg0)
}

// GetBucketPolicyStatusRequestCalled returns true if GetBucketPolicyStatusRequest was called at least once.
func (m *S3API) GetBucketPolicyStatusRequestCalled() bool {
	m.lockGetBucketPolicyStatusRequest.Lock()
	defer m.lockGetBucketPolicyStatusRequest.Unlock()

	return len(m.calls.GetBucketPolicyStatusRequest) > 0
}

// GetBucketPolicyStatusRequestCalls returns the calls made to GetBucketPolicyStatusRequest.
func (m *S3API) GetBucketPolicyStatusRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketPolicyStatusInput
} {
	m.lockGetBucketPolicyStatusRequest.Lock()
	defer m.lockGetBucketPolicyStatusRequest.Unlock()

	return m.calls.GetBucketPolicyStatusRequest
}

// GetBucketReplication mocks base method by wrapping the associated func.
func (m *S3API) GetBucketReplication(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketReplicationInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketReplicationOutput, error) {
	m.lockGetBucketReplication.Lock()
	defer m.lockGetBucketReplication.Unlock()

	if m.GetBucketReplicationFunc == nil {
		panic("mocker: S3API.GetBucketReplicationFunc is nil but S3API.GetBucketReplication was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketReplicationInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketReplication = append(m.calls.GetBucketReplication, call)

	return m.GetBucketReplicationFunc(arg0)
}

// GetBucketReplicationCalled returns true if GetBucketReplication was called at least once.
func (m *S3API) GetBucketReplicationCalled() bool {
	m.lockGetBucketReplication.Lock()
	defer m.lockGetBucketReplication.Unlock()

	return len(m.calls.GetBucketReplication) > 0
}

// GetBucketReplicationCalls returns the calls made to GetBucketReplication.
func (m *S3API) GetBucketReplicationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketReplicationInput
} {
	m.lockGetBucketReplication.Lock()
	defer m.lockGetBucketReplication.Unlock()

	return m.calls.GetBucketReplication
}

// GetBucketReplicationWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetBucketReplicationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketReplicationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketReplicationOutput, error) {
	m.lockGetBucketReplicationWithContext.Lock()
	defer m.lockGetBucketReplicationWithContext.Unlock()

	if m.GetBucketReplicationWithContextFunc == nil {
		panic("mocker: S3API.GetBucketReplicationWithContextFunc is nil but S3API.GetBucketReplicationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketReplicationInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetBucketReplicationWithContext = append(m.calls.GetBucketReplicationWithContext, call)

	return m.GetBucketReplicationWithContextFunc(arg0, arg1, arg2...)
}

// GetBucketReplicationWithContextCalled returns true if GetBucketReplicationWithContext was called at least once.
func (m *S3API) GetBucketReplicationWithContextCalled() bool {
	m.lockGetBucketReplicationWithContext.Lock()
	defer m.lockGetBucketReplicationWithContext.Unlock()

	return len(m.calls.GetBucketReplicationWithContext) > 0
}

// GetBucketReplicationWithContextCalls returns the calls made to GetBucketReplicationWithContext.
func (m *S3API) GetBucketReplicationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketReplicationInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetBucketReplicationWithContext.Lock()
	defer m.lockGetBucketReplicationWithContext.Unlock()

	return m.calls.GetBucketReplicationWithContext
}

// GetBucketReplicationRequest mocks base method by wrapping the associated func.
func (m *S3API) GetBucketReplicationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketReplicationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketReplicationOutput) {
	m.lockGetBucketReplicationRequest.Lock()
	defer m.lockGetBucketReplicationRequest.Unlock()

	if m.GetBucketReplicationRequestFunc == nil {
		panic("mocker: S3API.GetBucketReplicationRequestFunc is nil but S3API.GetBucketReplicationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketReplicationInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketReplicationRequest = append(m.calls.GetBucketReplicationRequest, call)

	return m.GetBucketReplicationRequestFunc(arg0)
}

// GetBucketReplicationRequestCalled returns true if GetBucketReplicationRequest was called at least once.
func (m *S3API) GetBucketReplicationRequestCalled() bool {
	m.lockGetBucketReplicationRequest.Lock()
	defer m.lockGetBucketReplicationRequest.Unlock()

	return len(m.calls.GetBucketReplicationRequest) > 0
}

// GetBucketReplicationRequestCalls returns the calls made to GetBucketReplicationRequest.
func (m *S3API) GetBucketReplicationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketReplicationInput
} {
	m.lockGetBucketReplicationRequest.Lock()
	defer m.lockGetBucketReplicationRequest.Unlock()

	return m.calls.GetBucketReplicationRequest
}

// GetBucketRequestPayment mocks base method by wrapping the associated func.
func (m *S3API) GetBucketRequestPayment(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketRequestPaymentInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketRequestPaymentOutput, error) {
	m.lockGetBucketRequestPayment.Lock()
	defer m.lockGetBucketRequestPayment.Unlock()

	if m.GetBucketRequestPaymentFunc == nil {
		panic("mocker: S3API.GetBucketRequestPaymentFunc is nil but S3API.GetBucketRequestPayment was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketRequestPaymentInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketRequestPayment = append(m.calls.GetBucketRequestPayment, call)

	return m.GetBucketRequestPaymentFunc(arg0)
}

// GetBucketRequestPaymentCalled returns true if GetBucketRequestPayment was called at least once.
func (m *S3API) GetBucketRequestPaymentCalled() bool {
	m.lockGetBucketRequestPayment.Lock()
	defer m.lockGetBucketRequestPayment.Unlock()

	return len(m.calls.GetBucketRequestPayment) > 0
}

// GetBucketRequestPaymentCalls returns the calls made to GetBucketRequestPayment.
func (m *S3API) GetBucketRequestPaymentCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketRequestPaymentInput
} {
	m.lockGetBucketRequestPayment.Lock()
	defer m.lockGetBucketRequestPayment.Unlock()

	return m.calls.GetBucketRequestPayment
}

// GetBucketRequestPaymentWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetBucketRequestPaymentWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketRequestPaymentInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketRequestPaymentOutput, error) {
	m.lockGetBucketRequestPaymentWithContext.Lock()
	defer m.lockGetBucketRequestPaymentWithContext.Unlock()

	if m.GetBucketRequestPaymentWithContextFunc == nil {
		panic("mocker: S3API.GetBucketRequestPaymentWithContextFunc is nil but S3API.GetBucketRequestPaymentWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketRequestPaymentInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetBucketRequestPaymentWithContext = append(m.calls.GetBucketRequestPaymentWithContext, call)

	return m.GetBucketRequestPaymentWithContextFunc(arg0, arg1, arg2...)
}

// GetBucketRequestPaymentWithContextCalled returns true if GetBucketRequestPaymentWithContext was called at least once.
func (m *S3API) GetBucketRequestPaymentWithContextCalled() bool {
	m.lockGetBucketRequestPaymentWithContext.Lock()
	defer m.lockGetBucketRequestPaymentWithContext.Unlock()

	return len(m.calls.GetBucketRequestPaymentWithContext) > 0
}

// GetBucketRequestPaymentWithContextCalls returns the calls made to GetBucketRequestPaymentWithContext.
func (m *S3API) GetBucketRequestPaymentWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketRequestPaymentInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetBucketRequestPaymentWithContext.Lock()
	defer m.lockGetBucketRequestPaymentWithContext.Unlock()

	return m.calls.GetBucketRequestPaymentWithContext
}

// GetBucketRequestPaymentRequest mocks base method by wrapping the associated func.
func (m *S3API) GetBucketRequestPaymentRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketRequestPaymentInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketRequestPaymentOutput) {
	m.lockGetBucketRequestPaymentRequest.Lock()
	defer m.lockGetBucketRequestPaymentRequest.Unlock()

	if m.GetBucketRequestPaymentRequestFunc == nil {
		panic("mocker: S3API.GetBucketRequestPaymentRequestFunc is nil but S3API.GetBucketRequestPaymentRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketRequestPaymentInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketRequestPaymentRequest = append(m.calls.GetBucketRequestPaymentRequest, call)

	return m.GetBucketRequestPaymentRequestFunc(arg0)
}

// GetBucketRequestPaymentRequestCalled returns true if GetBucketRequestPaymentRequest was called at least once.
func (m *S3API) GetBucketRequestPaymentRequestCalled() bool {
	m.lockGetBucketRequestPaymentRequest.Lock()
	defer m.lockGetBucketRequestPaymentRequest.Unlock()

	return len(m.calls.GetBucketRequestPaymentRequest) > 0
}

// GetBucketRequestPaymentRequestCalls returns the calls made to GetBucketRequestPaymentRequest.
func (m *S3API) GetBucketRequestPaymentRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketRequestPaymentInput
} {
	m.lockGetBucketRequestPaymentRequest.Lock()
	defer m.lockGetBucketRequestPaymentRequest.Unlock()

	return m.calls.GetBucketRequestPaymentRequest
}

// GetBucketTagging mocks base method by wrapping the associated func.
func (m *S3API) GetBucketTagging(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketTaggingInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketTaggingOutput, error) {
	m.lockGetBucketTagging.Lock()
	defer m.lockGetBucketTagging.Unlock()

	if m.GetBucketTaggingFunc == nil {
		panic("mocker: S3API.GetBucketTaggingFunc is nil but S3API.GetBucketTagging was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketTaggingInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketTagging = append(m.calls.GetBucketTagging, call)

	return m.GetBucketTaggingFunc(arg0)
}

// GetBucketTaggingCalled returns true if GetBucketTagging was called at least once.
func (m *S3API) GetBucketTaggingCalled() bool {
	m.lockGetBucketTagging.Lock()
	defer m.lockGetBucketTagging.Unlock()

	return len(m.calls.GetBucketTagging) > 0
}

// GetBucketTaggingCalls returns the calls made to GetBucketTagging.
func (m *S3API) GetBucketTaggingCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketTaggingInput
} {
	m.lockGetBucketTagging.Lock()
	defer m.lockGetBucketTagging.Unlock()

	return m.calls.GetBucketTagging
}

// GetBucketTaggingWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetBucketTaggingWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketTaggingInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketTaggingOutput, error) {
	m.lockGetBucketTaggingWithContext.Lock()
	defer m.lockGetBucketTaggingWithContext.Unlock()

	if m.GetBucketTaggingWithContextFunc == nil {
		panic("mocker: S3API.GetBucketTaggingWithContextFunc is nil but S3API.GetBucketTaggingWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketTaggingInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetBucketTaggingWithContext = append(m.calls.GetBucketTaggingWithContext, call)

	return m.GetBucketTaggingWithContextFunc(arg0, arg1, arg2...)
}

// GetBucketTaggingWithContextCalled returns true if GetBucketTaggingWithContext was called at least once.
func (m *S3API) GetBucketTaggingWithContextCalled() bool {
	m.lockGetBucketTaggingWithContext.Lock()
	defer m.lockGetBucketTaggingWithContext.Unlock()

	return len(m.calls.GetBucketTaggingWithContext) > 0
}

// GetBucketTaggingWithContextCalls returns the calls made to GetBucketTaggingWithContext.
func (m *S3API) GetBucketTaggingWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketTaggingInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetBucketTaggingWithContext.Lock()
	defer m.lockGetBucketTaggingWithContext.Unlock()

	return m.calls.GetBucketTaggingWithContext
}

// GetBucketTaggingRequest mocks base method by wrapping the associated func.
func (m *S3API) GetBucketTaggingRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketTaggingInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketTaggingOutput) {
	m.lockGetBucketTaggingRequest.Lock()
	defer m.lockGetBucketTaggingRequest.Unlock()

	if m.GetBucketTaggingRequestFunc == nil {
		panic("mocker: S3API.GetBucketTaggingRequestFunc is nil but S3API.GetBucketTaggingRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketTaggingInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketTaggingRequest = append(m.calls.GetBucketTaggingRequest, call)

	return m.GetBucketTaggingRequestFunc(arg0)
}

// GetBucketTaggingRequestCalled returns true if GetBucketTaggingRequest was called at least once.
func (m *S3API) GetBucketTaggingRequestCalled() bool {
	m.lockGetBucketTaggingRequest.Lock()
	defer m.lockGetBucketTaggingRequest.Unlock()

	return len(m.calls.GetBucketTaggingRequest) > 0
}

// GetBucketTaggingRequestCalls returns the calls made to GetBucketTaggingRequest.
func (m *S3API) GetBucketTaggingRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketTaggingInput
} {
	m.lockGetBucketTaggingRequest.Lock()
	defer m.lockGetBucketTaggingRequest.Unlock()

	return m.calls.GetBucketTaggingRequest
}

// GetBucketVersioning mocks base method by wrapping the associated func.
func (m *S3API) GetBucketVersioning(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketVersioningInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketVersioningOutput, error) {
	m.lockGetBucketVersioning.Lock()
	defer m.lockGetBucketVersioning.Unlock()

	if m.GetBucketVersioningFunc == nil {
		panic("mocker: S3API.GetBucketVersioningFunc is nil but S3API.GetBucketVersioning was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketVersioningInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketVersioning = append(m.calls.GetBucketVersioning, call)

	return m.GetBucketVersioningFunc(arg0)
}

// GetBucketVersioningCalled returns true if GetBucketVersioning was called at least once.
func (m *S3API) GetBucketVersioningCalled() bool {
	m.lockGetBucketVersioning.Lock()
	defer m.lockGetBucketVersioning.Unlock()

	return len(m.calls.GetBucketVersioning) > 0
}

// GetBucketVersioningCalls returns the calls made to GetBucketVersioning.
func (m *S3API) GetBucketVersioningCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketVersioningInput
} {
	m.lockGetBucketVersioning.Lock()
	defer m.lockGetBucketVersioning.Unlock()

	return m.calls.GetBucketVersioning
}

// GetBucketVersioningWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetBucketVersioningWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketVersioningInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketVersioningOutput, error) {
	m.lockGetBucketVersioningWithContext.Lock()
	defer m.lockGetBucketVersioningWithContext.Unlock()

	if m.GetBucketVersioningWithContextFunc == nil {
		panic("mocker: S3API.GetBucketVersioningWithContextFunc is nil but S3API.GetBucketVersioningWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketVersioningInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetBucketVersioningWithContext = append(m.calls.GetBucketVersioningWithContext, call)

	return m.GetBucketVersioningWithContextFunc(arg0, arg1, arg2...)
}

// GetBucketVersioningWithContextCalled returns true if GetBucketVersioningWithContext was called at least once.
func (m *S3API) GetBucketVersioningWithContextCalled() bool {
	m.lockGetBucketVersioningWithContext.Lock()
	defer m.lockGetBucketVersioningWithContext.Unlock()

	return len(m.calls.GetBucketVersioningWithContext) > 0
}

// GetBucketVersioningWithContextCalls returns the calls made to GetBucketVersioningWithContext.
func (m *S3API) GetBucketVersioningWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketVersioningInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetBucketVersioningWithContext.Lock()
	defer m.lockGetBucketVersioningWithContext.Unlock()

	return m.calls.GetBucketVersioningWithContext
}

// GetBucketVersioningRequest mocks base method by wrapping the associated func.
func (m *S3API) GetBucketVersioningRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketVersioningInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketVersioningOutput) {
	m.lockGetBucketVersioningRequest.Lock()
	defer m.lockGetBucketVersioningRequest.Unlock()

	if m.GetBucketVersioningRequestFunc == nil {
		panic("mocker: S3API.GetBucketVersioningRequestFunc is nil but S3API.GetBucketVersioningRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketVersioningInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketVersioningRequest = append(m.calls.GetBucketVersioningRequest, call)

	return m.GetBucketVersioningRequestFunc(arg0)
}

// GetBucketVersioningRequestCalled returns true if GetBucketVersioningRequest was called at least once.
func (m *S3API) GetBucketVersioningRequestCalled() bool {
	m.lockGetBucketVersioningRequest.Lock()
	defer m.lockGetBucketVersioningRequest.Unlock()

	return len(m.calls.GetBucketVersioningRequest) > 0
}

// GetBucketVersioningRequestCalls returns the calls made to GetBucketVersioningRequest.
func (m *S3API) GetBucketVersioningRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketVersioningInput
} {
	m.lockGetBucketVersioningRequest.Lock()
	defer m.lockGetBucketVersioningRequest.Unlock()

	return m.calls.GetBucketVersioningRequest
}

// GetBucketWebsite mocks base method by wrapping the associated func.
func (m *S3API) GetBucketWebsite(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketWebsiteInput) (*github_com_aws_aws_sdk_go_service_s3.GetBucketWebsiteOutput, error) {
	m.lockGetBucketWebsite.Lock()
	defer m.lockGetBucketWebsite.Unlock()

	if m.GetBucketWebsiteFunc == nil {
		panic("mocker: S3API.GetBucketWebsiteFunc is nil but S3API.GetBucketWebsite was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketWebsiteInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketWebsite = append(m.calls.GetBucketWebsite, call)

	return m.GetBucketWebsiteFunc(arg0)
}

// GetBucketWebsiteCalled returns true if GetBucketWebsite was called at least once.
func (m *S3API) GetBucketWebsiteCalled() bool {
	m.lockGetBucketWebsite.Lock()
	defer m.lockGetBucketWebsite.Unlock()

	return len(m.calls.GetBucketWebsite) > 0
}

// GetBucketWebsiteCalls returns the calls made to GetBucketWebsite.
func (m *S3API) GetBucketWebsiteCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketWebsiteInput
} {
	m.lockGetBucketWebsite.Lock()
	defer m.lockGetBucketWebsite.Unlock()

	return m.calls.GetBucketWebsite
}

// GetBucketWebsiteWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetBucketWebsiteWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketWebsiteInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetBucketWebsiteOutput, error) {
	m.lockGetBucketWebsiteWithContext.Lock()
	defer m.lockGetBucketWebsiteWithContext.Unlock()

	if m.GetBucketWebsiteWithContextFunc == nil {
		panic("mocker: S3API.GetBucketWebsiteWithContextFunc is nil but S3API.GetBucketWebsiteWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketWebsiteInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetBucketWebsiteWithContext = append(m.calls.GetBucketWebsiteWithContext, call)

	return m.GetBucketWebsiteWithContextFunc(arg0, arg1, arg2...)
}

// GetBucketWebsiteWithContextCalled returns true if GetBucketWebsiteWithContext was called at least once.
func (m *S3API) GetBucketWebsiteWithContextCalled() bool {
	m.lockGetBucketWebsiteWithContext.Lock()
	defer m.lockGetBucketWebsiteWithContext.Unlock()

	return len(m.calls.GetBucketWebsiteWithContext) > 0
}

// GetBucketWebsiteWithContextCalls returns the calls made to GetBucketWebsiteWithContext.
func (m *S3API) GetBucketWebsiteWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetBucketWebsiteInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetBucketWebsiteWithContext.Lock()
	defer m.lockGetBucketWebsiteWithContext.Unlock()

	return m.calls.GetBucketWebsiteWithContext
}

// GetBucketWebsiteRequest mocks base method by wrapping the associated func.
func (m *S3API) GetBucketWebsiteRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketWebsiteInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetBucketWebsiteOutput) {
	m.lockGetBucketWebsiteRequest.Lock()
	defer m.lockGetBucketWebsiteRequest.Unlock()

	if m.GetBucketWebsiteRequestFunc == nil {
		panic("mocker: S3API.GetBucketWebsiteRequestFunc is nil but S3API.GetBucketWebsiteRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketWebsiteInput
	}{
		Arg0: arg0,
	}

	m.calls.GetBucketWebsiteRequest = append(m.calls.GetBucketWebsiteRequest, call)

	return m.GetBucketWebsiteRequestFunc(arg0)
}

// GetBucketWebsiteRequestCalled returns true if GetBucketWebsiteRequest was called at least once.
func (m *S3API) GetBucketWebsiteRequestCalled() bool {
	m.lockGetBucketWebsiteRequest.Lock()
	defer m.lockGetBucketWebsiteRequest.Unlock()

	return len(m.calls.GetBucketWebsiteRequest) > 0
}

// GetBucketWebsiteRequestCalls returns the calls made to GetBucketWebsiteRequest.
func (m *S3API) GetBucketWebsiteRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetBucketWebsiteInput
} {
	m.lockGetBucketWebsiteRequest.Lock()
	defer m.lockGetBucketWebsiteRequest.Unlock()

	return m.calls.GetBucketWebsiteRequest
}

// GetObject mocks base method by wrapping the associated func.
func (m *S3API) GetObject(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectInput) (*github_com_aws_aws_sdk_go_service_s3.GetObjectOutput, error) {
	m.lockGetObject.Lock()
	defer m.lockGetObject.Unlock()

	if m.GetObjectFunc == nil {
		panic("mocker: S3API.GetObjectFunc is nil but S3API.GetObject was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectInput
	}{
		Arg0: arg0,
	}

	m.calls.GetObject = append(m.calls.GetObject, call)

	return m.GetObjectFunc(arg0)
}

// GetObjectCalled returns true if GetObject was called at least once.
func (m *S3API) GetObjectCalled() bool {
	m.lockGetObject.Lock()
	defer m.lockGetObject.Unlock()

	return len(m.calls.GetObject) > 0
}

// GetObjectCalls returns the calls made to GetObject.
func (m *S3API) GetObjectCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectInput
} {
	m.lockGetObject.Lock()
	defer m.lockGetObject.Unlock()

	return m.calls.GetObject
}

// GetObjectWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetObjectWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetObjectOutput, error) {
	m.lockGetObjectWithContext.Lock()
	defer m.lockGetObjectWithContext.Unlock()

	if m.GetObjectWithContextFunc == nil {
		panic("mocker: S3API.GetObjectWithContextFunc is nil but S3API.GetObjectWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetObjectWithContext = append(m.calls.GetObjectWithContext, call)

	return m.GetObjectWithContextFunc(arg0, arg1, arg2...)
}

// GetObjectWithContextCalled returns true if GetObjectWithContext was called at least once.
func (m *S3API) GetObjectWithContextCalled() bool {
	m.lockGetObjectWithContext.Lock()
	defer m.lockGetObjectWithContext.Unlock()

	return len(m.calls.GetObjectWithContext) > 0
}

// GetObjectWithContextCalls returns the calls made to GetObjectWithContext.
func (m *S3API) GetObjectWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetObjectWithContext.Lock()
	defer m.lockGetObjectWithContext.Unlock()

	return m.calls.GetObjectWithContext
}

// GetObjectRequest mocks base method by wrapping the associated func.
func (m *S3API) GetObjectRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetObjectOutput) {
	m.lockGetObjectRequest.Lock()
	defer m.lockGetObjectRequest.Unlock()

	if m.GetObjectRequestFunc == nil {
		panic("mocker: S3API.GetObjectRequestFunc is nil but S3API.GetObjectRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectInput
	}{
		Arg0: arg0,
	}

	m.calls.GetObjectRequest = append(m.calls.GetObjectRequest, call)

	return m.GetObjectRequestFunc(arg0)
}

// GetObjectRequestCalled returns true if GetObjectRequest was called at least once.
func (m *S3API) GetObjectRequestCalled() bool {
	m.lockGetObjectRequest.Lock()
	defer m.lockGetObjectRequest.Unlock()

	return len(m.calls.GetObjectRequest) > 0
}

// GetObjectRequestCalls returns the calls made to GetObjectRequest.
func (m *S3API) GetObjectRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectInput
} {
	m.lockGetObjectRequest.Lock()
	defer m.lockGetObjectRequest.Unlock()

	return m.calls.GetObjectRequest
}

// GetObjectAcl mocks base method by wrapping the associated func.
func (m *S3API) GetObjectAcl(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectAclInput) (*github_com_aws_aws_sdk_go_service_s3.GetObjectAclOutput, error) {
	m.lockGetObjectAcl.Lock()
	defer m.lockGetObjectAcl.Unlock()

	if m.GetObjectAclFunc == nil {
		panic("mocker: S3API.GetObjectAclFunc is nil but S3API.GetObjectAcl was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectAclInput
	}{
		Arg0: arg0,
	}

	m.calls.GetObjectAcl = append(m.calls.GetObjectAcl, call)

	return m.GetObjectAclFunc(arg0)
}

// GetObjectAclCalled returns true if GetObjectAcl was called at least once.
func (m *S3API) GetObjectAclCalled() bool {
	m.lockGetObjectAcl.Lock()
	defer m.lockGetObjectAcl.Unlock()

	return len(m.calls.GetObjectAcl) > 0
}

// GetObjectAclCalls returns the calls made to GetObjectAcl.
func (m *S3API) GetObjectAclCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectAclInput
} {
	m.lockGetObjectAcl.Lock()
	defer m.lockGetObjectAcl.Unlock()

	return m.calls.GetObjectAcl
}

// GetObjectAclWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetObjectAclWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectAclInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetObjectAclOutput, error) {
	m.lockGetObjectAclWithContext.Lock()
	defer m.lockGetObjectAclWithContext.Unlock()

	if m.GetObjectAclWithContextFunc == nil {
		panic("mocker: S3API.GetObjectAclWithContextFunc is nil but S3API.GetObjectAclWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectAclInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetObjectAclWithContext = append(m.calls.GetObjectAclWithContext, call)

	return m.GetObjectAclWithContextFunc(arg0, arg1, arg2...)
}

// GetObjectAclWithContextCalled returns true if GetObjectAclWithContext was called at least once.
func (m *S3API) GetObjectAclWithContextCalled() bool {
	m.lockGetObjectAclWithContext.Lock()
	defer m.lockGetObjectAclWithContext.Unlock()

	return len(m.calls.GetObjectAclWithContext) > 0
}

// GetObjectAclWithContextCalls returns the calls made to GetObjectAclWithContext.
func (m *S3API) GetObjectAclWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectAclInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetObjectAclWithContext.Lock()
	defer m.lockGetObjectAclWithContext.Unlock()

	return m.calls.GetObjectAclWithContext
}

// GetObjectAclRequest mocks base method by wrapping the associated func.
func (m *S3API) GetObjectAclRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectAclInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetObjectAclOutput) {
	m.lockGetObjectAclRequest.Lock()
	defer m.lockGetObjectAclRequest.Unlock()

	if m.GetObjectAclRequestFunc == nil {
		panic("mocker: S3API.GetObjectAclRequestFunc is nil but S3API.GetObjectAclRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectAclInput
	}{
		Arg0: arg0,
	}

	m.calls.GetObjectAclRequest = append(m.calls.GetObjectAclRequest, call)

	return m.GetObjectAclRequestFunc(arg0)
}

// GetObjectAclRequestCalled returns true if GetObjectAclRequest was called at least once.
func (m *S3API) GetObjectAclRequestCalled() bool {
	m.lockGetObjectAclRequest.Lock()
	defer m.lockGetObjectAclRequest.Unlock()

	return len(m.calls.GetObjectAclRequest) > 0
}

// GetObjectAclRequestCalls returns the calls made to GetObjectAclRequest.
func (m *S3API) GetObjectAclRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectAclInput
} {
	m.lockGetObjectAclRequest.Lock()
	defer m.lockGetObjectAclRequest.Unlock()

	return m.calls.GetObjectAclRequest
}

// GetObjectLegalHold mocks base method by wrapping the associated func.
func (m *S3API) GetObjectLegalHold(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectLegalHoldInput) (*github_com_aws_aws_sdk_go_service_s3.GetObjectLegalHoldOutput, error) {
	m.lockGetObjectLegalHold.Lock()
	defer m.lockGetObjectLegalHold.Unlock()

	if m.GetObjectLegalHoldFunc == nil {
		panic("mocker: S3API.GetObjectLegalHoldFunc is nil but S3API.GetObjectLegalHold was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectLegalHoldInput
	}{
		Arg0: arg0,
	}

	m.calls.GetObjectLegalHold = append(m.calls.GetObjectLegalHold, call)

	return m.GetObjectLegalHoldFunc(arg0)
}

// GetObjectLegalHoldCalled returns true if GetObjectLegalHold was called at least once.
func (m *S3API) GetObjectLegalHoldCalled() bool {
	m.lockGetObjectLegalHold.Lock()
	defer m.lockGetObjectLegalHold.Unlock()

	return len(m.calls.GetObjectLegalHold) > 0
}

// GetObjectLegalHoldCalls returns the calls made to GetObjectLegalHold.
func (m *S3API) GetObjectLegalHoldCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectLegalHoldInput
} {
	m.lockGetObjectLegalHold.Lock()
	defer m.lockGetObjectLegalHold.Unlock()

	return m.calls.GetObjectLegalHold
}

// GetObjectLegalHoldWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetObjectLegalHoldWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectLegalHoldInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetObjectLegalHoldOutput, error) {
	m.lockGetObjectLegalHoldWithContext.Lock()
	defer m.lockGetObjectLegalHoldWithContext.Unlock()

	if m.GetObjectLegalHoldWithContextFunc == nil {
		panic("mocker: S3API.GetObjectLegalHoldWithContextFunc is nil but S3API.GetObjectLegalHoldWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectLegalHoldInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetObjectLegalHoldWithContext = append(m.calls.GetObjectLegalHoldWithContext, call)

	return m.GetObjectLegalHoldWithContextFunc(arg0, arg1, arg2...)
}

// GetObjectLegalHoldWithContextCalled returns true if GetObjectLegalHoldWithContext was called at least once.
func (m *S3API) GetObjectLegalHoldWithContextCalled() bool {
	m.lockGetObjectLegalHoldWithContext.Lock()
	defer m.lockGetObjectLegalHoldWithContext.Unlock()

	return len(m.calls.GetObjectLegalHoldWithContext) > 0
}

// GetObjectLegalHoldWithContextCalls returns the calls made to GetObjectLegalHoldWithContext.
func (m *S3API) GetObjectLegalHoldWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectLegalHoldInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetObjectLegalHoldWithContext.Lock()
	defer m.lockGetObjectLegalHoldWithContext.Unlock()

	return m.calls.GetObjectLegalHoldWithContext
}

// GetObjectLegalHoldRequest mocks base method by wrapping the associated func.
func (m *S3API) GetObjectLegalHoldRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectLegalHoldInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetObjectLegalHoldOutput) {
	m.lockGetObjectLegalHoldRequest.Lock()
	defer m.lockGetObjectLegalHoldRequest.Unlock()

	if m.GetObjectLegalHoldRequestFunc == nil {
		panic("mocker: S3API.GetObjectLegalHoldRequestFunc is nil but S3API.GetObjectLegalHoldRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectLegalHoldInput
	}{
		Arg0: arg0,
	}

	m.calls.GetObjectLegalHoldRequest = append(m.calls.GetObjectLegalHoldRequest, call)

	return m.GetObjectLegalHoldRequestFunc(arg0)
}

// GetObjectLegalHoldRequestCalled returns true if GetObjectLegalHoldRequest was called at least once.
func (m *S3API) GetObjectLegalHoldRequestCalled() bool {
	m.lockGetObjectLegalHoldRequest.Lock()
	defer m.lockGetObjectLegalHoldRequest.Unlock()

	return len(m.calls.GetObjectLegalHoldRequest) > 0
}

// GetObjectLegalHoldRequestCalls returns the calls made to GetObjectLegalHoldRequest.
func (m *S3API) GetObjectLegalHoldRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectLegalHoldInput
} {
	m.lockGetObjectLegalHoldRequest.Lock()
	defer m.lockGetObjectLegalHoldRequest.Unlock()

	return m.calls.GetObjectLegalHoldRequest
}

// GetObjectLockConfiguration mocks base method by wrapping the associated func.
func (m *S3API) GetObjectLockConfiguration(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectLockConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.GetObjectLockConfigurationOutput, error) {
	m.lockGetObjectLockConfiguration.Lock()
	defer m.lockGetObjectLockConfiguration.Unlock()

	if m.GetObjectLockConfigurationFunc == nil {
		panic("mocker: S3API.GetObjectLockConfigurationFunc is nil but S3API.GetObjectLockConfiguration was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectLockConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.GetObjectLockConfiguration = append(m.calls.GetObjectLockConfiguration, call)

	return m.GetObjectLockConfigurationFunc(arg0)
}

// GetObjectLockConfigurationCalled returns true if GetObjectLockConfiguration was called at least once.
func (m *S3API) GetObjectLockConfigurationCalled() bool {
	m.lockGetObjectLockConfiguration.Lock()
	defer m.lockGetObjectLockConfiguration.Unlock()

	return len(m.calls.GetObjectLockConfiguration) > 0
}

// GetObjectLockConfigurationCalls returns the calls made to GetObjectLockConfiguration.
func (m *S3API) GetObjectLockConfigurationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectLockConfigurationInput
} {
	m.lockGetObjectLockConfiguration.Lock()
	defer m.lockGetObjectLockConfiguration.Unlock()

	return m.calls.GetObjectLockConfiguration
}

// GetObjectLockConfigurationWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetObjectLockConfigurationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectLockConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetObjectLockConfigurationOutput, error) {
	m.lockGetObjectLockConfigurationWithContext.Lock()
	defer m.lockGetObjectLockConfigurationWithContext.Unlock()

	if m.GetObjectLockConfigurationWithContextFunc == nil {
		panic("mocker: S3API.GetObjectLockConfigurationWithContextFunc is nil but S3API.GetObjectLockConfigurationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectLockConfigurationInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetObjectLockConfigurationWithContext = append(m.calls.GetObjectLockConfigurationWithContext, call)

	return m.GetObjectLockConfigurationWithContextFunc(arg0, arg1, arg2...)
}

// GetObjectLockConfigurationWithContextCalled returns true if GetObjectLockConfigurationWithContext was called at least once.
func (m *S3API) GetObjectLockConfigurationWithContextCalled() bool {
	m.lockGetObjectLockConfigurationWithContext.Lock()
	defer m.lockGetObjectLockConfigurationWithContext.Unlock()

	return len(m.calls.GetObjectLockConfigurationWithContext) > 0
}

// GetObjectLockConfigurationWithContextCalls returns the calls made to GetObjectLockConfigurationWithContext.
func (m *S3API) GetObjectLockConfigurationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectLockConfigurationInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetObjectLockConfigurationWithContext.Lock()
	defer m.lockGetObjectLockConfigurationWithContext.Unlock()

	return m.calls.GetObjectLockConfigurationWithContext
}

// GetObjectLockConfigurationRequest mocks base method by wrapping the associated func.
func (m *S3API) GetObjectLockConfigurationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectLockConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetObjectLockConfigurationOutput) {
	m.lockGetObjectLockConfigurationRequest.Lock()
	defer m.lockGetObjectLockConfigurationRequest.Unlock()

	if m.GetObjectLockConfigurationRequestFunc == nil {
		panic("mocker: S3API.GetObjectLockConfigurationRequestFunc is nil but S3API.GetObjectLockConfigurationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectLockConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.GetObjectLockConfigurationRequest = append(m.calls.GetObjectLockConfigurationRequest, call)

	return m.GetObjectLockConfigurationRequestFunc(arg0)
}

// GetObjectLockConfigurationRequestCalled returns true if GetObjectLockConfigurationRequest was called at least once.
func (m *S3API) GetObjectLockConfigurationRequestCalled() bool {
	m.lockGetObjectLockConfigurationRequest.Lock()
	defer m.lockGetObjectLockConfigurationRequest.Unlock()

	return len(m.calls.GetObjectLockConfigurationRequest) > 0
}

// GetObjectLockConfigurationRequestCalls returns the calls made to GetObjectLockConfigurationRequest.
func (m *S3API) GetObjectLockConfigurationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectLockConfigurationInput
} {
	m.lockGetObjectLockConfigurationRequest.Lock()
	defer m.lockGetObjectLockConfigurationRequest.Unlock()

	return m.calls.GetObjectLockConfigurationRequest
}

// GetObjectRetention mocks base method by wrapping the associated func.
func (m *S3API) GetObjectRetention(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectRetentionInput) (*github_com_aws_aws_sdk_go_service_s3.GetObjectRetentionOutput, error) {
	m.lockGetObjectRetention.Lock()
	defer m.lockGetObjectRetention.Unlock()

	if m.GetObjectRetentionFunc == nil {
		panic("mocker: S3API.GetObjectRetentionFunc is nil but S3API.GetObjectRetention was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectRetentionInput
	}{
		Arg0: arg0,
	}

	m.calls.GetObjectRetention = append(m.calls.GetObjectRetention, call)

	return m.GetObjectRetentionFunc(arg0)
}

// GetObjectRetentionCalled returns true if GetObjectRetention was called at least once.
func (m *S3API) GetObjectRetentionCalled() bool {
	m.lockGetObjectRetention.Lock()
	defer m.lockGetObjectRetention.Unlock()

	return len(m.calls.GetObjectRetention) > 0
}

// GetObjectRetentionCalls returns the calls made to GetObjectRetention.
func (m *S3API) GetObjectRetentionCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectRetentionInput
} {
	m.lockGetObjectRetention.Lock()
	defer m.lockGetObjectRetention.Unlock()

	return m.calls.GetObjectRetention
}

// GetObjectRetentionWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetObjectRetentionWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectRetentionInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetObjectRetentionOutput, error) {
	m.lockGetObjectRetentionWithContext.Lock()
	defer m.lockGetObjectRetentionWithContext.Unlock()

	if m.GetObjectRetentionWithContextFunc == nil {
		panic("mocker: S3API.GetObjectRetentionWithContextFunc is nil but S3API.GetObjectRetentionWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectRetentionInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetObjectRetentionWithContext = append(m.calls.GetObjectRetentionWithContext, call)

	return m.GetObjectRetentionWithContextFunc(arg0, arg1, arg2...)
}

// GetObjectRetentionWithContextCalled returns true if GetObjectRetentionWithContext was called at least once.
func (m *S3API) GetObjectRetentionWithContextCalled() bool {
	m.lockGetObjectRetentionWithContext.Lock()
	defer m.lockGetObjectRetentionWithContext.Unlock()

	return len(m.calls.GetObjectRetentionWithContext) > 0
}

// GetObjectRetentionWithContextCalls returns the calls made to GetObjectRetentionWithContext.
func (m *S3API) GetObjectRetentionWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectRetentionInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetObjectRetentionWithContext.Lock()
	defer m.lockGetObjectRetentionWithContext.Unlock()

	return m.calls.GetObjectRetentionWithContext
}

// GetObjectRetentionRequest mocks base method by wrapping the associated func.
func (m *S3API) GetObjectRetentionRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectRetentionInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetObjectRetentionOutput) {
	m.lockGetObjectRetentionRequest.Lock()
	defer m.lockGetObjectRetentionRequest.Unlock()

	if m.GetObjectRetentionRequestFunc == nil {
		panic("mocker: S3API.GetObjectRetentionRequestFunc is nil but S3API.GetObjectRetentionRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectRetentionInput
	}{
		Arg0: arg0,
	}

	m.calls.GetObjectRetentionRequest = append(m.calls.GetObjectRetentionRequest, call)

	return m.GetObjectRetentionRequestFunc(arg0)
}

// GetObjectRetentionRequestCalled returns true if GetObjectRetentionRequest was called at least once.
func (m *S3API) GetObjectRetentionRequestCalled() bool {
	m.lockGetObjectRetentionRequest.Lock()
	defer m.lockGetObjectRetentionRequest.Unlock()

	return len(m.calls.GetObjectRetentionRequest) > 0
}

// GetObjectRetentionRequestCalls returns the calls made to GetObjectRetentionRequest.
func (m *S3API) GetObjectRetentionRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectRetentionInput
} {
	m.lockGetObjectRetentionRequest.Lock()
	defer m.lockGetObjectRetentionRequest.Unlock()

	return m.calls.GetObjectRetentionRequest
}

// GetObjectTagging mocks base method by wrapping the associated func.
func (m *S3API) GetObjectTagging(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectTaggingInput) (*github_com_aws_aws_sdk_go_service_s3.GetObjectTaggingOutput, error) {
	m.lockGetObjectTagging.Lock()
	defer m.lockGetObjectTagging.Unlock()

	if m.GetObjectTaggingFunc == nil {
		panic("mocker: S3API.GetObjectTaggingFunc is nil but S3API.GetObjectTagging was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectTaggingInput
	}{
		Arg0: arg0,
	}

	m.calls.GetObjectTagging = append(m.calls.GetObjectTagging, call)

	return m.GetObjectTaggingFunc(arg0)
}

// GetObjectTaggingCalled returns true if GetObjectTagging was called at least once.
func (m *S3API) GetObjectTaggingCalled() bool {
	m.lockGetObjectTagging.Lock()
	defer m.lockGetObjectTagging.Unlock()

	return len(m.calls.GetObjectTagging) > 0
}

// GetObjectTaggingCalls returns the calls made to GetObjectTagging.
func (m *S3API) GetObjectTaggingCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectTaggingInput
} {
	m.lockGetObjectTagging.Lock()
	defer m.lockGetObjectTagging.Unlock()

	return m.calls.GetObjectTagging
}

// GetObjectTaggingWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetObjectTaggingWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectTaggingInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetObjectTaggingOutput, error) {
	m.lockGetObjectTaggingWithContext.Lock()
	defer m.lockGetObjectTaggingWithContext.Unlock()

	if m.GetObjectTaggingWithContextFunc == nil {
		panic("mocker: S3API.GetObjectTaggingWithContextFunc is nil but S3API.GetObjectTaggingWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectTaggingInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetObjectTaggingWithContext = append(m.calls.GetObjectTaggingWithContext, call)

	return m.GetObjectTaggingWithContextFunc(arg0, arg1, arg2...)
}

// GetObjectTaggingWithContextCalled returns true if GetObjectTaggingWithContext was called at least once.
func (m *S3API) GetObjectTaggingWithContextCalled() bool {
	m.lockGetObjectTaggingWithContext.Lock()
	defer m.lockGetObjectTaggingWithContext.Unlock()

	return len(m.calls.GetObjectTaggingWithContext) > 0
}

// GetObjectTaggingWithContextCalls returns the calls made to GetObjectTaggingWithContext.
func (m *S3API) GetObjectTaggingWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectTaggingInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetObjectTaggingWithContext.Lock()
	defer m.lockGetObjectTaggingWithContext.Unlock()

	return m.calls.GetObjectTaggingWithContext
}

// GetObjectTaggingRequest mocks base method by wrapping the associated func.
func (m *S3API) GetObjectTaggingRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectTaggingInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetObjectTaggingOutput) {
	m.lockGetObjectTaggingRequest.Lock()
	defer m.lockGetObjectTaggingRequest.Unlock()

	if m.GetObjectTaggingRequestFunc == nil {
		panic("mocker: S3API.GetObjectTaggingRequestFunc is nil but S3API.GetObjectTaggingRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectTaggingInput
	}{
		Arg0: arg0,
	}

	m.calls.GetObjectTaggingRequest = append(m.calls.GetObjectTaggingRequest, call)

	return m.GetObjectTaggingRequestFunc(arg0)
}

// GetObjectTaggingRequestCalled returns true if GetObjectTaggingRequest was called at least once.
func (m *S3API) GetObjectTaggingRequestCalled() bool {
	m.lockGetObjectTaggingRequest.Lock()
	defer m.lockGetObjectTaggingRequest.Unlock()

	return len(m.calls.GetObjectTaggingRequest) > 0
}

// GetObjectTaggingRequestCalls returns the calls made to GetObjectTaggingRequest.
func (m *S3API) GetObjectTaggingRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectTaggingInput
} {
	m.lockGetObjectTaggingRequest.Lock()
	defer m.lockGetObjectTaggingRequest.Unlock()

	return m.calls.GetObjectTaggingRequest
}

// GetObjectTorrent mocks base method by wrapping the associated func.
func (m *S3API) GetObjectTorrent(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectTorrentInput) (*github_com_aws_aws_sdk_go_service_s3.GetObjectTorrentOutput, error) {
	m.lockGetObjectTorrent.Lock()
	defer m.lockGetObjectTorrent.Unlock()

	if m.GetObjectTorrentFunc == nil {
		panic("mocker: S3API.GetObjectTorrentFunc is nil but S3API.GetObjectTorrent was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectTorrentInput
	}{
		Arg0: arg0,
	}

	m.calls.GetObjectTorrent = append(m.calls.GetObjectTorrent, call)

	return m.GetObjectTorrentFunc(arg0)
}

// GetObjectTorrentCalled returns true if GetObjectTorrent was called at least once.
func (m *S3API) GetObjectTorrentCalled() bool {
	m.lockGetObjectTorrent.Lock()
	defer m.lockGetObjectTorrent.Unlock()

	return len(m.calls.GetObjectTorrent) > 0
}

// GetObjectTorrentCalls returns the calls made to GetObjectTorrent.
func (m *S3API) GetObjectTorrentCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectTorrentInput
} {
	m.lockGetObjectTorrent.Lock()
	defer m.lockGetObjectTorrent.Unlock()

	return m.calls.GetObjectTorrent
}

// GetObjectTorrentWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetObjectTorrentWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectTorrentInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetObjectTorrentOutput, error) {
	m.lockGetObjectTorrentWithContext.Lock()
	defer m.lockGetObjectTorrentWithContext.Unlock()

	if m.GetObjectTorrentWithContextFunc == nil {
		panic("mocker: S3API.GetObjectTorrentWithContextFunc is nil but S3API.GetObjectTorrentWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectTorrentInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetObjectTorrentWithContext = append(m.calls.GetObjectTorrentWithContext, call)

	return m.GetObjectTorrentWithContextFunc(arg0, arg1, arg2...)
}

// GetObjectTorrentWithContextCalled returns true if GetObjectTorrentWithContext was called at least once.
func (m *S3API) GetObjectTorrentWithContextCalled() bool {
	m.lockGetObjectTorrentWithContext.Lock()
	defer m.lockGetObjectTorrentWithContext.Unlock()

	return len(m.calls.GetObjectTorrentWithContext) > 0
}

// GetObjectTorrentWithContextCalls returns the calls made to GetObjectTorrentWithContext.
func (m *S3API) GetObjectTorrentWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetObjectTorrentInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetObjectTorrentWithContext.Lock()
	defer m.lockGetObjectTorrentWithContext.Unlock()

	return m.calls.GetObjectTorrentWithContext
}

// GetObjectTorrentRequest mocks base method by wrapping the associated func.
func (m *S3API) GetObjectTorrentRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectTorrentInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetObjectTorrentOutput) {
	m.lockGetObjectTorrentRequest.Lock()
	defer m.lockGetObjectTorrentRequest.Unlock()

	if m.GetObjectTorrentRequestFunc == nil {
		panic("mocker: S3API.GetObjectTorrentRequestFunc is nil but S3API.GetObjectTorrentRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectTorrentInput
	}{
		Arg0: arg0,
	}

	m.calls.GetObjectTorrentRequest = append(m.calls.GetObjectTorrentRequest, call)

	return m.GetObjectTorrentRequestFunc(arg0)
}

// GetObjectTorrentRequestCalled returns true if GetObjectTorrentRequest was called at least once.
func (m *S3API) GetObjectTorrentRequestCalled() bool {
	m.lockGetObjectTorrentRequest.Lock()
	defer m.lockGetObjectTorrentRequest.Unlock()

	return len(m.calls.GetObjectTorrentRequest) > 0
}

// GetObjectTorrentRequestCalls returns the calls made to GetObjectTorrentRequest.
func (m *S3API) GetObjectTorrentRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetObjectTorrentInput
} {
	m.lockGetObjectTorrentRequest.Lock()
	defer m.lockGetObjectTorrentRequest.Unlock()

	return m.calls.GetObjectTorrentRequest
}

// GetPublicAccessBlock mocks base method by wrapping the associated func.
func (m *S3API) GetPublicAccessBlock(arg0 *github_com_aws_aws_sdk_go_service_s3.GetPublicAccessBlockInput) (*github_com_aws_aws_sdk_go_service_s3.GetPublicAccessBlockOutput, error) {
	m.lockGetPublicAccessBlock.Lock()
	defer m.lockGetPublicAccessBlock.Unlock()

	if m.GetPublicAccessBlockFunc == nil {
		panic("mocker: S3API.GetPublicAccessBlockFunc is nil but S3API.GetPublicAccessBlock was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetPublicAccessBlockInput
	}{
		Arg0: arg0,
	}

	m.calls.GetPublicAccessBlock = append(m.calls.GetPublicAccessBlock, call)

	return m.GetPublicAccessBlockFunc(arg0)
}

// GetPublicAccessBlockCalled returns true if GetPublicAccessBlock was called at least once.
func (m *S3API) GetPublicAccessBlockCalled() bool {
	m.lockGetPublicAccessBlock.Lock()
	defer m.lockGetPublicAccessBlock.Unlock()

	return len(m.calls.GetPublicAccessBlock) > 0
}

// GetPublicAccessBlockCalls returns the calls made to GetPublicAccessBlock.
func (m *S3API) GetPublicAccessBlockCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetPublicAccessBlockInput
} {
	m.lockGetPublicAccessBlock.Lock()
	defer m.lockGetPublicAccessBlock.Unlock()

	return m.calls.GetPublicAccessBlock
}

// GetPublicAccessBlockWithContext mocks base method by wrapping the associated func.
func (m *S3API) GetPublicAccessBlockWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.GetPublicAccessBlockInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.GetPublicAccessBlockOutput, error) {
	m.lockGetPublicAccessBlockWithContext.Lock()
	defer m.lockGetPublicAccessBlockWithContext.Unlock()

	if m.GetPublicAccessBlockWithContextFunc == nil {
		panic("mocker: S3API.GetPublicAccessBlockWithContextFunc is nil but S3API.GetPublicAccessBlockWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.GetPublicAccessBlockInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.GetPublicAccessBlockWithContext = append(m.calls.GetPublicAccessBlockWithContext, call)

	return m.GetPublicAccessBlockWithContextFunc(arg0, arg1, arg2...)
}

// GetPublicAccessBlockWithContextCalled returns true if GetPublicAccessBlockWithContext was called at least once.
func (m *S3API) GetPublicAccessBlockWithContextCalled() bool {
	m.lockGetPublicAccessBlockWithContext.Lock()
	defer m.lockGetPublicAccessBlockWithContext.Unlock()

	return len(m.calls.GetPublicAccessBlockWithContext) > 0
}

// GetPublicAccessBlockWithContextCalls returns the calls made to GetPublicAccessBlockWithContext.
func (m *S3API) GetPublicAccessBlockWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.GetPublicAccessBlockInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockGetPublicAccessBlockWithContext.Lock()
	defer m.lockGetPublicAccessBlockWithContext.Unlock()

	return m.calls.GetPublicAccessBlockWithContext
}

// GetPublicAccessBlockRequest mocks base method by wrapping the associated func.
func (m *S3API) GetPublicAccessBlockRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.GetPublicAccessBlockInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.GetPublicAccessBlockOutput) {
	m.lockGetPublicAccessBlockRequest.Lock()
	defer m.lockGetPublicAccessBlockRequest.Unlock()

	if m.GetPublicAccessBlockRequestFunc == nil {
		panic("mocker: S3API.GetPublicAccessBlockRequestFunc is nil but S3API.GetPublicAccessBlockRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.GetPublicAccessBlockInput
	}{
		Arg0: arg0,
	}

	m.calls.GetPublicAccessBlockRequest = append(m.calls.GetPublicAccessBlockRequest, call)

	return m.GetPublicAccessBlockRequestFunc(arg0)
}

// GetPublicAccessBlockRequestCalled returns true if GetPublicAccessBlockRequest was called at least once.
func (m *S3API) GetPublicAccessBlockRequestCalled() bool {
	m.lockGetPublicAccessBlockRequest.Lock()
	defer m.lockGetPublicAccessBlockRequest.Unlock()

	return len(m.calls.GetPublicAccessBlockRequest) > 0
}

// GetPublicAccessBlockRequestCalls returns the calls made to GetPublicAccessBlockRequest.
func (m *S3API) GetPublicAccessBlockRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.GetPublicAccessBlockInput
} {
	m.lockGetPublicAccessBlockRequest.Lock()
	defer m.lockGetPublicAccessBlockRequest.Unlock()

	return m.calls.GetPublicAccessBlockRequest
}

// HeadBucket mocks base method by wrapping the associated func.
func (m *S3API) HeadBucket(arg0 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput) (*github_com_aws_aws_sdk_go_service_s3.HeadBucketOutput, error) {
	m.lockHeadBucket.Lock()
	defer m.lockHeadBucket.Unlock()

	if m.HeadBucketFunc == nil {
		panic("mocker: S3API.HeadBucketFunc is nil but S3API.HeadBucket was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput
	}{
		Arg0: arg0,
	}

	m.calls.HeadBucket = append(m.calls.HeadBucket, call)

	return m.HeadBucketFunc(arg0)
}

// HeadBucketCalled returns true if HeadBucket was called at least once.
func (m *S3API) HeadBucketCalled() bool {
	m.lockHeadBucket.Lock()
	defer m.lockHeadBucket.Unlock()

	return len(m.calls.HeadBucket) > 0
}

// HeadBucketCalls returns the calls made to HeadBucket.
func (m *S3API) HeadBucketCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput
} {
	m.lockHeadBucket.Lock()
	defer m.lockHeadBucket.Unlock()

	return m.calls.HeadBucket
}

// HeadBucketWithContext mocks base method by wrapping the associated func.
func (m *S3API) HeadBucketWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.HeadBucketOutput, error) {
	m.lockHeadBucketWithContext.Lock()
	defer m.lockHeadBucketWithContext.Unlock()

	if m.HeadBucketWithContextFunc == nil {
		panic("mocker: S3API.HeadBucketWithContextFunc is nil but S3API.HeadBucketWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.HeadBucketWithContext = append(m.calls.HeadBucketWithContext, call)

	return m.HeadBucketWithContextFunc(arg0, arg1, arg2...)
}

// HeadBucketWithContextCalled returns true if HeadBucketWithContext was called at least once.
func (m *S3API) HeadBucketWithContextCalled() bool {
	m.lockHeadBucketWithContext.Lock()
	defer m.lockHeadBucketWithContext.Unlock()

	return len(m.calls.HeadBucketWithContext) > 0
}

// HeadBucketWithContextCalls returns the calls made to HeadBucketWithContext.
func (m *S3API) HeadBucketWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockHeadBucketWithContext.Lock()
	defer m.lockHeadBucketWithContext.Unlock()

	return m.calls.HeadBucketWithContext
}

// HeadBucketRequest mocks base method by wrapping the associated func.
func (m *S3API) HeadBucketRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.HeadBucketOutput) {
	m.lockHeadBucketRequest.Lock()
	defer m.lockHeadBucketRequest.Unlock()

	if m.HeadBucketRequestFunc == nil {
		panic("mocker: S3API.HeadBucketRequestFunc is nil but S3API.HeadBucketRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput
	}{
		Arg0: arg0,
	}

	m.calls.HeadBucketRequest = append(m.calls.HeadBucketRequest, call)

	return m.HeadBucketRequestFunc(arg0)
}

// HeadBucketRequestCalled returns true if HeadBucketRequest was called at least once.
func (m *S3API) HeadBucketRequestCalled() bool {
	m.lockHeadBucketRequest.Lock()
	defer m.lockHeadBucketRequest.Unlock()

	return len(m.calls.HeadBucketRequest) > 0
}

// HeadBucketRequestCalls returns the calls made to HeadBucketRequest.
func (m *S3API) HeadBucketRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput
} {
	m.lockHeadBucketRequest.Lock()
	defer m.lockHeadBucketRequest.Unlock()

	return m.calls.HeadBucketRequest
}

// HeadObject mocks base method by wrapping the associated func.
func (m *S3API) HeadObject(arg0 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput) (*github_com_aws_aws_sdk_go_service_s3.HeadObjectOutput, error) {
	m.lockHeadObject.Lock()
	defer m.lockHeadObject.Unlock()

	if m.HeadObjectFunc == nil {
		panic("mocker: S3API.HeadObjectFunc is nil but S3API.HeadObject was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput
	}{
		Arg0: arg0,
	}

	m.calls.HeadObject = append(m.calls.HeadObject, call)

	return m.HeadObjectFunc(arg0)
}

// HeadObjectCalled returns true if HeadObject was called at least once.
func (m *S3API) HeadObjectCalled() bool {
	m.lockHeadObject.Lock()
	defer m.lockHeadObject.Unlock()

	return len(m.calls.HeadObject) > 0
}

// HeadObjectCalls returns the calls made to HeadObject.
func (m *S3API) HeadObjectCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput
} {
	m.lockHeadObject.Lock()
	defer m.lockHeadObject.Unlock()

	return m.calls.HeadObject
}

// HeadObjectWithContext mocks base method by wrapping the associated func.
func (m *S3API) HeadObjectWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.HeadObjectOutput, error) {
	m.lockHeadObjectWithContext.Lock()
	defer m.lockHeadObjectWithContext.Unlock()

	if m.HeadObjectWithContextFunc == nil {
		panic("mocker: S3API.HeadObjectWithContextFunc is nil but S3API.HeadObjectWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.HeadObjectWithContext = append(m.calls.HeadObjectWithContext, call)

	return m.HeadObjectWithContextFunc(arg0, arg1, arg2...)
}

// HeadObjectWithContextCalled returns true if HeadObjectWithContext was called at least once.
func (m *S3API) HeadObjectWithContextCalled() bool {
	m.lockHeadObjectWithContext.Lock()
	defer m.lockHeadObjectWithContext.Unlock()

	return len(m.calls.HeadObjectWithContext) > 0
}

// HeadObjectWithContextCalls returns the calls made to HeadObjectWithContext.
func (m *S3API) HeadObjectWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockHeadObjectWithContext.Lock()
	defer m.lockHeadObjectWithContext.Unlock()

	return m.calls.HeadObjectWithContext
}

// HeadObjectRequest mocks base method by wrapping the associated func.
func (m *S3API) HeadObjectRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.HeadObjectOutput) {
	m.lockHeadObjectRequest.Lock()
	defer m.lockHeadObjectRequest.Unlock()

	if m.HeadObjectRequestFunc == nil {
		panic("mocker: S3API.HeadObjectRequestFunc is nil but S3API.HeadObjectRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput
	}{
		Arg0: arg0,
	}

	m.calls.HeadObjectRequest = append(m.calls.HeadObjectRequest, call)

	return m.HeadObjectRequestFunc(arg0)
}

// HeadObjectRequestCalled returns true if HeadObjectRequest was called at least once.
func (m *S3API) HeadObjectRequestCalled() bool {
	m.lockHeadObjectRequest.Lock()
	defer m.lockHeadObjectRequest.Unlock()

	return len(m.calls.HeadObjectRequest) > 0
}

// HeadObjectRequestCalls returns the calls made to HeadObjectRequest.
func (m *S3API) HeadObjectRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput
} {
	m.lockHeadObjectRequest.Lock()
	defer m.lockHeadObjectRequest.Unlock()

	return m.calls.HeadObjectRequest
}

// ListBucketAnalyticsConfigurations mocks base method by wrapping the associated func.
func (m *S3API) ListBucketAnalyticsConfigurations(arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketAnalyticsConfigurationsInput) (*github_com_aws_aws_sdk_go_service_s3.ListBucketAnalyticsConfigurationsOutput, error) {
	m.lockListBucketAnalyticsConfigurations.Lock()
	defer m.lockListBucketAnalyticsConfigurations.Unlock()

	if m.ListBucketAnalyticsConfigurationsFunc == nil {
		panic("mocker: S3API.ListBucketAnalyticsConfigurationsFunc is nil but S3API.ListBucketAnalyticsConfigurations was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketAnalyticsConfigurationsInput
	}{
		Arg0: arg0,
	}

	m.calls.ListBucketAnalyticsConfigurations = append(m.calls.ListBucketAnalyticsConfigurations, call)

	return m.ListBucketAnalyticsConfigurationsFunc(arg0)
}

// ListBucketAnalyticsConfigurationsCalled returns true if ListBucketAnalyticsConfigurations was called at least once.
func (m *S3API) ListBucketAnalyticsConfigurationsCalled() bool {
	m.lockListBucketAnalyticsConfigurations.Lock()
	defer m.lockListBucketAnalyticsConfigurations.Unlock()

	return len(m.calls.ListBucketAnalyticsConfigurations) > 0
}

// ListBucketAnalyticsConfigurationsCalls returns the calls made to ListBucketAnalyticsConfigurations.
func (m *S3API) ListBucketAnalyticsConfigurationsCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketAnalyticsConfigurationsInput
} {
	m.lockListBucketAnalyticsConfigurations.Lock()
	defer m.lockListBucketAnalyticsConfigurations.Unlock()

	return m.calls.ListBucketAnalyticsConfigurations
}

// ListBucketAnalyticsConfigurationsWithContext mocks base method by wrapping the associated func.
func (m *S3API) ListBucketAnalyticsConfigurationsWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListBucketAnalyticsConfigurationsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.ListBucketAnalyticsConfigurationsOutput, error) {
	m.lockListBucketAnalyticsConfigurationsWithContext.Lock()
	defer m.lockListBucketAnalyticsConfigurationsWithContext.Unlock()

	if m.ListBucketAnalyticsConfigurationsWithContextFunc == nil {
		panic("mocker: S3API.ListBucketAnalyticsConfigurationsWithContextFunc is nil but S3API.ListBucketAnalyticsConfigurationsWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.ListBucketAnalyticsConfigurationsInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.ListBucketAnalyticsConfigurationsWithContext = append(m.calls.ListBucketAnalyticsConfigurationsWithContext, call)

	return m.ListBucketAnalyticsConfigurationsWithContextFunc(arg0, arg1, arg2...)
}

// ListBucketAnalyticsConfigurationsWithContextCalled returns true if ListBucketAnalyticsConfigurationsWithContext was called at least once.
func (m *S3API) ListBucketAnalyticsConfigurationsWithContextCalled() bool {
	m.lockListBucketAnalyticsConfigurationsWithContext.Lock()
	defer m.lockListBucketAnalyticsConfigurationsWithContext.Unlock()

	return len(m.calls.ListBucketAnalyticsConfigurationsWithContext) > 0
}

// ListBucketAnalyticsConfigurationsWithContextCalls returns the calls made to ListBucketAnalyticsConfigurationsWithContext.
func (m *S3API) ListBucketAnalyticsConfigurationsWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.ListBucketAnalyticsConfigurationsInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockListBucketAnalyticsConfigurationsWithContext.Lock()
	defer m.lockListBucketAnalyticsConfigurationsWithContext.Unlock()

	return m.calls.ListBucketAnalyticsConfigurationsWithContext
}

// ListBucketAnalyticsConfigurationsRequest mocks base method by wrapping the associated func.
func (m *S3API) ListBucketAnalyticsConfigurationsRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketAnalyticsConfigurationsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.ListBucketAnalyticsConfigurationsOutput) {
	m.lockListBucketAnalyticsConfigurationsRequest.Lock()
	defer m.lockListBucketAnalyticsConfigurationsRequest.Unlock()

	if m.ListBucketAnalyticsConfigurationsRequestFunc == nil {
		panic("mocker: S3API.ListBucketAnalyticsConfigurationsRequestFunc is nil but S3API.ListBucketAnalyticsConfigurationsRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketAnalyticsConfigurationsInput
	}{
		Arg0: arg0,
	}

	m.calls.ListBucketAnalyticsConfigurationsRequest = append(m.calls.ListBucketAnalyticsConfigurationsRequest, call)

	return m.ListBucketAnalyticsConfigurationsRequestFunc(arg0)
}

// ListBucketAnalyticsConfigurationsRequestCalled returns true if ListBucketAnalyticsConfigurationsRequest was called at least once.
func (m *S3API) ListBucketAnalyticsConfigurationsRequestCalled() bool {
	m.lockListBucketAnalyticsConfigurationsRequest.Lock()
	defer m.lockListBucketAnalyticsConfigurationsRequest.Unlock()

	return len(m.calls.ListBucketAnalyticsConfigurationsRequest) > 0
}

// ListBucketAnalyticsConfigurationsRequestCalls returns the calls made to ListBucketAnalyticsConfigurationsRequest.
func (m *S3API) ListBucketAnalyticsConfigurationsRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketAnalyticsConfigurationsInput
} {
	m.lockListBucketAnalyticsConfigurationsRequest.Lock()
	defer m.lockListBucketAnalyticsConfigurationsRequest.Unlock()

	return m.calls.ListBucketAnalyticsConfigurationsRequest
}

// ListBucketIntelligentTieringConfigurations mocks base method by wrapping the associated func.
func (m *S3API) ListBucketIntelligentTieringConfigurations(arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketIntelligentTieringConfigurationsInput) (*github_com_aws_aws_sdk_go_service_s3.ListBucketIntelligentTieringConfigurationsOutput, error) {
	m.lockListBucketIntelligentTieringConfigurations.Lock()
	defer m.lockListBucketIntelligentTieringConfigurations.Unlock()

	if m.ListBucketIntelligentTieringConfigurationsFunc == nil {
		panic("mocker: S3API.ListBucketIntelligentTieringConfigurationsFunc is nil but S3API.ListBucketIntelligentTieringConfigurations was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketIntelligentTieringConfigurationsInput
	}{
		Arg0: arg0,
	}

	m.calls.ListBucketIntelligentTieringConfigurations = append(m.calls.ListBucketIntelligentTieringConfigurations, call)

	return m.ListBucketIntelligentTieringConfigurationsFunc(arg0)
}

// ListBucketIntelligentTieringConfigurationsCalled returns true if ListBucketIntelligentTieringConfigurations was called at least once.
func (m *S3API) ListBucketIntelligentTieringConfigurationsCalled() bool {
	m.lockListBucketIntelligentTieringConfigurations.Lock()
	defer m.lockListBucketIntelligentTieringConfigurations.Unlock()

	return len(m.calls.ListBucketIntelligentTieringConfigurations) > 0
}

// ListBucketIntelligentTieringConfigurationsCalls returns the calls made to ListBucketIntelligentTieringConfigurations.
func (m *S3API) ListBucketIntelligentTieringConfigurationsCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketIntelligentTieringConfigurationsInput
} {
	m.lockListBucketIntelligentTieringConfigurations.Lock()
	defer m.lockListBucketIntelligentTieringConfigurations.Unlock()

	return m.calls.ListBucketIntelligentTieringConfigurations
}

// ListBucketIntelligentTieringConfigurationsWithContext mocks base method by wrapping the associated func.
func (m *S3API) ListBucketIntelligentTieringConfigurationsWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListBucketIntelligentTieringConfigurationsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.ListBucketIntelligentTieringConfigurationsOutput, error) {
	m.lockListBucketIntelligentTieringConfigurationsWithContext.Lock()
	defer m.lockListBucketIntelligentTieringConfigurationsWithContext.Unlock()

	if m.ListBucketIntelligentTieringConfigurationsWithContextFunc == nil {
		panic("mocker: S3API.ListBucketIntelligentTieringConfigurationsWithContextFunc is nil but S3API.ListBucketIntelligentTieringConfigurationsWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.ListBucketIntelligentTieringConfigurationsInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.ListBucketIntelligentTieringConfigurationsWithContext = append(m.calls.ListBucketIntelligentTieringConfigurationsWithContext, call)

	return m.ListBucketIntelligentTieringConfigurationsWithContextFunc(arg0, arg1, arg2...)
}

// ListBucketIntelligentTieringConfigurationsWithContextCalled returns true if ListBucketIntelligentTieringConfigurationsWithContext was called at least once.
func (m *S3API) ListBucketIntelligentTieringConfigurationsWithContextCalled() bool {
	m.lockListBucketIntelligentTieringConfigurationsWithContext.Lock()
	defer m.lockListBucketIntelligentTieringConfigurationsWithContext.Unlock()

	return len(m.calls.ListBucketIntelligentTieringConfigurationsWithContext) > 0
}

// ListBucketIntelligentTieringConfigurationsWithContextCalls returns the calls made to ListBucketIntelligentTieringConfigurationsWithContext.
func (m *S3API) ListBucketIntelligentTieringConfigurationsWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.ListBucketIntelligentTieringConfigurationsInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockListBucketIntelligentTieringConfigurationsWithContext.Lock()
	defer m.lockListBucketIntelligentTieringConfigurationsWithContext.Unlock()

	return m.calls.ListBucketIntelligentTieringConfigurationsWithContext
}

// ListBucketIntelligentTieringConfigurationsRequest mocks base method by wrapping the associated func.
func (m *S3API) ListBucketIntelligentTieringConfigurationsRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketIntelligentTieringConfigurationsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.ListBucketIntelligentTieringConfigurationsOutput) {
	m.lockListBucketIntelligentTieringConfigurationsRequest.Lock()
	defer m.lockListBucketIntelligentTieringConfigurationsRequest.Unlock()

	if m.ListBucketIntelligentTieringConfigurationsRequestFunc == nil {
		panic("mocker: S3API.ListBucketIntelligentTieringConfigurationsRequestFunc is nil but S3API.ListBucketIntelligentTieringConfigurationsRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketIntelligentTieringConfigurationsInput
	}{
		Arg0: arg0,
	}

	m.calls.ListBucketIntelligentTieringConfigurationsRequest = append(m.calls.ListBucketIntelligentTieringConfigurationsRequest, call)

	return m.ListBucketIntelligentTieringConfigurationsRequestFunc(arg0)
}

// ListBucketIntelligentTieringConfigurationsRequestCalled returns true if ListBucketIntelligentTieringConfigurationsRequest was called at least once.
func (m *S3API) ListBucketIntelligentTieringConfigurationsRequestCalled() bool {
	m.lockListBucketIntelligentTieringConfigurationsRequest.Lock()
	defer m.lockListBucketIntelligentTieringConfigurationsRequest.Unlock()

	return len(m.calls.ListBucketIntelligentTieringConfigurationsRequest) > 0
}

// ListBucketIntelligentTieringConfigurationsRequestCalls returns the calls made to ListBucketIntelligentTieringConfigurationsRequest.
func (m *S3API) ListBucketIntelligentTieringConfigurationsRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketIntelligentTieringConfigurationsInput
} {
	m.lockListBucketIntelligentTieringConfigurationsRequest.Lock()
	defer m.lockListBucketIntelligentTieringConfigurationsRequest.Unlock()

	return m.calls.ListBucketIntelligentTieringConfigurationsRequest
}

// ListBucketInventoryConfigurations mocks base method by wrapping the associated func.
func (m *S3API) ListBucketInventoryConfigurations(arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketInventoryConfigurationsInput) (*github_com_aws_aws_sdk_go_service_s3.ListBucketInventoryConfigurationsOutput, error) {
	m.lockListBucketInventoryConfigurations.Lock()
	defer m.lockListBucketInventoryConfigurations.Unlock()

	if m.ListBucketInventoryConfigurationsFunc == nil {
		panic("mocker: S3API.ListBucketInventoryConfigurationsFunc is nil but S3API.ListBucketInventoryConfigurations was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketInventoryConfigurationsInput
	}{
		Arg0: arg0,
	}

	m.calls.ListBucketInventoryConfigurations = append(m.calls.ListBucketInventoryConfigurations, call)

	return m.ListBucketInventoryConfigurationsFunc(arg0)
}

// ListBucketInventoryConfigurationsCalled returns true if ListBucketInventoryConfigurations was called at least once.
func (m *S3API) ListBucketInventoryConfigurationsCalled() bool {
	m.lockListBucketInventoryConfigurations.Lock()
	defer m.lockListBucketInventoryConfigurations.Unlock()

	return len(m.calls.ListBucketInventoryConfigurations) > 0
}

// ListBucketInventoryConfigurationsCalls returns the calls made to ListBucketInventoryConfigurations.
func (m *S3API) ListBucketInventoryConfigurationsCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketInventoryConfigurationsInput
} {
	m.lockListBucketInventoryConfigurations.Lock()
	defer m.lockListBucketInventoryConfigurations.Unlock()

	return m.calls.ListBucketInventoryConfigurations
}

// ListBucketInventoryConfigurationsWithContext mocks base method by wrapping the associated func.
func (m *S3API) ListBucketInventoryConfigurationsWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListBucketInventoryConfigurationsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.ListBucketInventoryConfigurationsOutput, error) {
	m.lockListBucketInventoryConfigurationsWithContext.Lock()
	defer m.lockListBucketInventoryConfigurationsWithContext.Unlock()

	if m.ListBucketInventoryConfigurationsWithContextFunc == nil {
		panic("mocker: S3API.ListBucketInventoryConfigurationsWithContextFunc is nil but S3API.ListBucketInventoryConfigurationsWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.ListBucketInventoryConfigurationsInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.ListBucketInventoryConfigurationsWithContext = append(m.calls.ListBucketInventoryConfigurationsWithContext, call)

	return m.ListBucketInventoryConfigurationsWithContextFunc(arg0, arg1, arg2...)
}

// ListBucketInventoryConfigurationsWithContextCalled returns true if ListBucketInventoryConfigurationsWithContext was called at least once.
func (m *S3API) ListBucketInventoryConfigurationsWithContextCalled() bool {
	m.lockListBucketInventoryConfigurationsWithContext.Lock()
	defer m.lockListBucketInventoryConfigurationsWithContext.Unlock()

	return len(m.calls.ListBucketInventoryConfigurationsWithContext) > 0
}

// ListBucketInventoryConfigurationsWithContextCalls returns the calls made to ListBucketInventoryConfigurationsWithContext.
func (m *S3API) ListBucketInventoryConfigurationsWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.ListBucketInventoryConfigurationsInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockListBucketInventoryConfigurationsWithContext.Lock()
	defer m.lockListBucketInventoryConfigurationsWithContext.Unlock()

	return m.calls.ListBucketInventoryConfigurationsWithContext
}

// ListBucketInventoryConfigurationsRequest mocks base method by wrapping the associated func.
func (m *S3API) ListBucketInventoryConfigurationsRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketInventoryConfigurationsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.ListBucketInventoryConfigurationsOutput) {
	m.lockListBucketInventoryConfigurationsRequest.Lock()
	defer m.lockListBucketInventoryConfigurationsRequest.Unlock()

	if m.ListBucketInventoryConfigurationsRequestFunc == nil {
		panic("mocker: S3API.ListBucketInventoryConfigurationsRequestFunc is nil but S3API.ListBucketInventoryConfigurationsRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketInventoryConfigurationsInput
	}{
		Arg0: arg0,
	}

	m.calls.ListBucketInventoryConfigurationsRequest = append(m.calls.ListBucketInventoryConfigurationsRequest, call)

	return m.ListBucketInventoryConfigurationsRequestFunc(arg0)
}

// ListBucketInventoryConfigurationsRequestCalled returns true if ListBucketInventoryConfigurationsRequest was called at least once.
func (m *S3API) ListBucketInventoryConfigurationsRequestCalled() bool {
	m.lockListBucketInventoryConfigurationsRequest.Lock()
	defer m.lockListBucketInventoryConfigurationsRequest.Unlock()

	return len(m.calls.ListBucketInventoryConfigurationsRequest) > 0
}

// ListBucketInventoryConfigurationsRequestCalls returns the calls made to ListBucketInventoryConfigurationsRequest.
func (m *S3API) ListBucketInventoryConfigurationsRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketInventoryConfigurationsInput
} {
	m.lockListBucketInventoryConfigurationsRequest.Lock()
	defer m.lockListBucketInventoryConfigurationsRequest.Unlock()

	return m.calls.ListBucketInventoryConfigurationsRequest
}

// ListBucketMetricsConfigurations mocks base method by wrapping the associated func.
func (m *S3API) ListBucketMetricsConfigurations(arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketMetricsConfigurationsInput) (*github_com_aws_aws_sdk_go_service_s3.ListBucketMetricsConfigurationsOutput, error) {
	m.lockListBucketMetricsConfigurations.Lock()
	defer m.lockListBucketMetricsConfigurations.Unlock()

	if m.ListBucketMetricsConfigurationsFunc == nil {
		panic("mocker: S3API.ListBucketMetricsConfigurationsFunc is nil but S3API.ListBucketMetricsConfigurations was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketMetricsConfigurationsInput
	}{
		Arg0: arg0,
	}

	m.calls.ListBucketMetricsConfigurations = append(m.calls.ListBucketMetricsConfigurations, call)

	return m.ListBucketMetricsConfigurationsFunc(arg0)
}

// ListBucketMetricsConfigurationsCalled returns true if ListBucketMetricsConfigurations was called at least once.
func (m *S3API) ListBucketMetricsConfigurationsCalled() bool {
	m.lockListBucketMetricsConfigurations.Lock()
	defer m.lockListBucketMetricsConfigurations.Unlock()

	return len(m.calls.ListBucketMetricsConfigurations) > 0
}

// ListBucketMetricsConfigurationsCalls returns the calls made to ListBucketMetricsConfigurations.
func (m *S3API) ListBucketMetricsConfigurationsCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketMetricsConfigurationsInput
} {
	m.lockListBucketMetricsConfigurations.Lock()
	defer m.lockListBucketMetricsConfigurations.Unlock()

	return m.calls.ListBucketMetricsConfigurations
}

// ListBucketMetricsConfigurationsWithContext mocks base method by wrapping the associated func.
func (m *S3API) ListBucketMetricsConfigurationsWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListBucketMetricsConfigurationsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.ListBucketMetricsConfigurationsOutput, error) {
	m.lockListBucketMetricsConfigurationsWithContext.Lock()
	defer m.lockListBucketMetricsConfigurationsWithContext.Unlock()

	if m.ListBucketMetricsConfigurationsWithContextFunc == nil {
		panic("mocker: S3API.ListBucketMetricsConfigurationsWithContextFunc is nil but S3API.ListBucketMetricsConfigurationsWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.ListBucketMetricsConfigurationsInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.ListBucketMetricsConfigurationsWithContext = append(m.calls.ListBucketMetricsConfigurationsWithContext, call)

	return m.ListBucketMetricsConfigurationsWithContextFunc(arg0, arg1, arg2...)
}

// ListBucketMetricsConfigurationsWithContextCalled returns true if ListBucketMetricsConfigurationsWithContext was called at least once.
func (m *S3API) ListBucketMetricsConfigurationsWithContextCalled() bool {
	m.lockListBucketMetricsConfigurationsWithContext.Lock()
	defer m.lockListBucketMetricsConfigurationsWithContext.Unlock()

	return len(m.calls.ListBucketMetricsConfigurationsWithContext) > 0
}

// ListBucketMetricsConfigurationsWithContextCalls returns the calls made to ListBucketMetricsConfigurationsWithContext.
func (m *S3API) ListBucketMetricsConfigurationsWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.ListBucketMetricsConfigurationsInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockListBucketMetricsConfigurationsWithContext.Lock()
	defer m.lockListBucketMetricsConfigurationsWithContext.Unlock()

	return m.calls.ListBucketMetricsConfigurationsWithContext
}

// ListBucketMetricsConfigurationsRequest mocks base method by wrapping the associated func.
func (m *S3API) ListBucketMetricsConfigurationsRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketMetricsConfigurationsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.ListBucketMetricsConfigurationsOutput) {
	m.lockListBucketMetricsConfigurationsRequest.Lock()
	defer m.lockListBucketMetricsConfigurationsRequest.Unlock()

	if m.ListBucketMetricsConfigurationsRequestFunc == nil {
		panic("mocker: S3API.ListBucketMetricsConfigurationsRequestFunc is nil but S3API.ListBucketMetricsConfigurationsRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketMetricsConfigurationsInput
	}{
		Arg0: arg0,
	}

	m.calls.ListBucketMetricsConfigurationsRequest = append(m.calls.ListBucketMetricsConfigurationsRequest, call)

	return m.ListBucketMetricsConfigurationsRequestFunc(arg0)
}

// ListBucketMetricsConfigurationsRequestCalled returns true if ListBucketMetricsConfigurationsRequest was called at least once.
func (m *S3API) ListBucketMetricsConfigurationsRequestCalled() bool {
	m.lockListBucketMetricsConfigurationsRequest.Lock()
	defer m.lockListBucketMetricsConfigurationsRequest.Unlock()

	return len(m.calls.ListBucketMetricsConfigurationsRequest) > 0
}

// ListBucketMetricsConfigurationsRequestCalls returns the calls made to ListBucketMetricsConfigurationsRequest.
func (m *S3API) ListBucketMetricsConfigurationsRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketMetricsConfigurationsInput
} {
	m.lockListBucketMetricsConfigurationsRequest.Lock()
	defer m.lockListBucketMetricsConfigurationsRequest.Unlock()

	return m.calls.ListBucketMetricsConfigurationsRequest
}

// ListBuckets mocks base method by wrapping the associated func.
func (m *S3API) ListBuckets(arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketsInput) (*github_com_aws_aws_sdk_go_service_s3.ListBucketsOutput, error) {
	m.lockListBuckets.Lock()
	defer m.lockListBuckets.Unlock()

	if m.ListBucketsFunc == nil {
		panic("mocker: S3API.ListBucketsFunc is nil but S3API.ListBuckets was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketsInput
	}{
		Arg0: arg0,
	}

	m.calls.ListBuckets = append(m.calls.ListBuckets, call)

	return m.ListBucketsFunc(arg0)
}

// ListBucketsCalled returns true if ListBuckets was called at least once.
func (m *S3API) ListBucketsCalled() bool {
	m.lockListBuckets.Lock()
	defer m.lockListBuckets.Unlock()

	return len(m.calls.ListBuckets) > 0
}

// ListBucketsCalls returns the calls made to ListBuckets.
func (m *S3API) ListBucketsCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketsInput
} {
	m.lockListBuckets.Lock()
	defer m.lockListBuckets.Unlock()

	return m.calls.ListBuckets
}

// ListBucketsWithContext mocks base method by wrapping the associated func.
func (m *S3API) ListBucketsWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListBucketsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.ListBucketsOutput, error) {
	m.lockListBucketsWithContext.Lock()
	defer m.lockListBucketsWithContext.Unlock()

	if m.ListBucketsWithContextFunc == nil {
		panic("mocker: S3API.ListBucketsWithContextFunc is nil but S3API.ListBucketsWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.ListBucketsInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.ListBucketsWithContext = append(m.calls.ListBucketsWithContext, call)

	return m.ListBucketsWithContextFunc(arg0, arg1, arg2...)
}

// ListBucketsWithContextCalled returns true if ListBucketsWithContext was called at least once.
func (m *S3API) ListBucketsWithContextCalled() bool {
	m.lockListBucketsWithContext.Lock()
	defer m.lockListBucketsWithContext.Unlock()

	return len(m.calls.ListBucketsWithContext) > 0
}

// ListBucketsWithContextCalls returns the calls made to ListBucketsWithContext.
func (m *S3API) ListBucketsWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.ListBucketsInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockListBucketsWithContext.Lock()
	defer m.lockListBucketsWithContext.Unlock()

	return m.calls.ListBucketsWithContext
}

// ListBucketsRequest mocks base method by wrapping the associated func.
func (m *S3API) ListBucketsRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.ListBucketsOutput) {
	m.lockListBucketsRequest.Lock()
	defer m.lockListBucketsRequest.Unlock()

	if m.ListBucketsRequestFunc == nil {
		panic("mocker: S3API.ListBucketsRequestFunc is nil but S3API.ListBucketsRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketsInput
	}{
		Arg0: arg0,
	}

	m.calls.ListBucketsRequest = append(m.calls.ListBucketsRequest, call)

	return m.ListBucketsRequestFunc(arg0)
}

// ListBucketsRequestCalled returns true if ListBucketsRequest was called at least once.
func (m *S3API) ListBucketsRequestCalled() bool {
	m.lockListBucketsRequest.Lock()
	defer m.lockListBucketsRequest.Unlock()

	return len(m.calls.ListBucketsRequest) > 0
}

// ListBucketsRequestCalls returns the calls made to ListBucketsRequest.
func (m *S3API) ListBucketsRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.ListBucketsInput
} {
	m.lockListBucketsRequest.Lock()
	defer m.lockListBucketsRequest.Unlock()

	return m.calls.ListBucketsRequest
}

// ListMultipartUploads mocks base method by wrapping the associated func.
func (m *S3API) ListMultipartUploads(arg0 *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsInput) (*github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsOutput, error) {
	m.lockListMultipartUploads.Lock()
	defer m.lockListMultipartUploads.Unlock()

	if m.ListMultipartUploadsFunc == nil {
		panic("mocker: S3API.ListMultipartUploadsFunc is nil but S3API.ListMultipartUploads was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsInput
	}{
		Arg0: arg0,
	}

	m.calls.ListMultipartUploads = append(m.calls.ListMultipartUploads, call)

	return m.ListMultipartUploadsFunc(arg0)
}

// ListMultipartUploadsCalled returns true if ListMultipartUploads was called at least once.
func (m *S3API) ListMultipartUploadsCalled() bool {
	m.lockListMultipartUploads.Lock()
	defer m.lockListMultipartUploads.Unlock()

	return len(m.calls.ListMultipartUploads) > 0
}

// ListMultipartUploadsCalls returns the calls made to ListMultipartUploads.
func (m *S3API) ListMultipartUploadsCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsInput
} {
	m.lockListMultipartUploads.Lock()
	defer m.lockListMultipartUploads.Unlock()

	return m.calls.ListMultipartUploads
}

// ListMultipartUploadsWithContext mocks base method by wrapping the associated func.
func (m *S3API) ListMultipartUploadsWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsOutput, error) {
	m.lockListMultipartUploadsWithContext.Lock()
	defer m.lockListMultipartUploadsWithContext.Unlock()

	if m.ListMultipartUploadsWithContextFunc == nil {
		panic("mocker: S3API.ListMultipartUploadsWithContextFunc is nil but S3API.ListMultipartUploadsWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.ListMultipartUploadsWithContext = append(m.calls.ListMultipartUploadsWithContext, call)

	return m.ListMultipartUploadsWithContextFunc(arg0, arg1, arg2...)
}

// ListMultipartUploadsWithContextCalled returns true if ListMultipartUploadsWithContext was called at least once.
func (m *S3API) ListMultipartUploadsWithContextCalled() bool {
	m.lockListMultipartUploadsWithContext.Lock()
	defer m.lockListMultipartUploadsWithContext.Unlock()

	return len(m.calls.ListMultipartUploadsWithContext) > 0
}

// ListMultipartUploadsWithContextCalls returns the calls made to ListMultipartUploadsWithContext.
func (m *S3API) ListMultipartUploadsWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockListMultipartUploadsWithContext.Lock()
	defer m.lockListMultipartUploadsWithContext.Unlock()

	return m.calls.ListMultipartUploadsWithContext
}

// ListMultipartUploadsRequest mocks base method by wrapping the associated func.
func (m *S3API) ListMultipartUploadsRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsOutput) {
	m.lockListMultipartUploadsRequest.Lock()
	defer m.lockListMultipartUploadsRequest.Unlock()

	if m.ListMultipartUploadsRequestFunc == nil {
		panic("mocker: S3API.ListMultipartUploadsRequestFunc is nil but S3API.ListMultipartUploadsRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsInput
	}{
		Arg0: arg0,
	}

	m.calls.ListMultipartUploadsRequest = append(m.calls.ListMultipartUploadsRequest, call)

	return m.ListMultipartUploadsRequestFunc(arg0)
}

// ListMultipartUploadsRequestCalled returns true if ListMultipartUploadsRequest was called at least once.
func (m *S3API) ListMultipartUploadsRequestCalled() bool {
	m.lockListMultipartUploadsRequest.Lock()
	defer m.lockListMultipartUploadsRequest.Unlock()

	return len(m.calls.ListMultipartUploadsRequest) > 0
}

// ListMultipartUploadsRequestCalls returns the calls made to ListMultipartUploadsRequest.
func (m *S3API) ListMultipartUploadsRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsInput
} {
	m.lockListMultipartUploadsRequest.Lock()
	defer m.lockListMultipartUploadsRequest.Unlock()

	return m.calls.ListMultipartUploadsRequest
}

// ListMultipartUploadsPages mocks base method by wrapping the associated func.
func (m *S3API) ListMultipartUploadsPages(arg0 *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsInput, arg1 func(*github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsOutput, bool) bool) error {
	m.lockListMultipartUploadsPages.Lock()
	defer m.lockListMultipartUploadsPages.Unlock()

	if m.ListMultipartUploadsPagesFunc == nil {
		panic("mocker: S3API.ListMultipartUploadsPagesFunc is nil but S3API.ListMultipartUploadsPages was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsInput
		Arg1 func(*github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsOutput, bool) bool
	}{
		Arg0: arg0,
		Arg1: arg1,
	}

	m.calls.ListMultipartUploadsPages = append(m.calls.ListMultipartUploadsPages, call)

	return m.ListMultipartUploadsPagesFunc(arg0, arg1)
}

// ListMultipartUploadsPagesCalled returns true if ListMultipartUploadsPages was called at least once.
func (m *S3API) ListMultipartUploadsPagesCalled() bool {
	m.lockListMultipartUploadsPages.Lock()
	defer m.lockListMultipartUploadsPages.Unlock()

	return len(m.calls.ListMultipartUploadsPages) > 0
}

// ListMultipartUploadsPagesCalls returns the calls made to ListMultipartUploadsPages.
func (m *S3API) ListMultipartUploadsPagesCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsInput
	Arg1 func(*github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsOutput, bool) bool
} {
	m.lockListMultipartUploadsPages.Lock()
	defer m.lockListMultipartUploadsPages.Unlock()

	return m.calls.ListMultipartUploadsPages
}

// ListMultipartUploadsPagesWithContext mocks base method by wrapping the associated func.
func (m *S3API) ListMultipartUploadsPagesWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsInput, arg2 func(*github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsOutput, bool) bool, arg3 ...github_com_aws_aws_sdk_go_aws_request.Option) error {
	m.lockListMultipartUploadsPagesWithContext.Lock()
	defer m.lockListMultipartUploadsPagesWithContext.Unlock()

	if m.ListMultipartUploadsPagesWithContextFunc == nil {
		panic("mocker: S3API.ListMultipartUploadsPagesWithContextFunc is nil but S3API.ListMultipartUploadsPagesWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsInput
		Arg2 func(*github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsOutput, bool) bool
		Arg3 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
		Arg3: arg3,
	}

	m.calls.ListMultipartUploadsPagesWithContext = append(m.calls.ListMultipartUploadsPagesWithContext, call)

	return m.ListMultipartUploadsPagesWithContextFunc(arg0, arg1, arg2, arg3...)
}

// ListMultipartUploadsPagesWithContextCalled returns true if ListMultipartUploadsPagesWithContext was called at least once.
func (m *S3API) ListMultipartUploadsPagesWithContextCalled() bool {
	m.lockListMultipartUploadsPagesWithContext.Lock()
	defer m.lockListMultipartUploadsPagesWithContext.Unlock()

	return len(m.calls.ListMultipartUploadsPagesWithContext) > 0
}

// ListMultipartUploadsPagesWithContextCalls returns the calls made to ListMultipartUploadsPagesWithContext.
func (m *S3API) ListMultipartUploadsPagesWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsInput
	Arg2 func(*github_com_aws_aws_sdk_go_service_s3.ListMultipartUploadsOutput, bool) bool
	Arg3 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockListMultipartUploadsPagesWithContext.Lock()
	defer m.lockListMultipartUploadsPagesWithContext.Unlock()

	return m.calls.ListMultipartUploadsPagesWithContext
}

// ListObjectVersions mocks base method by wrapping the associated func.
func (m *S3API) ListObjectVersions(arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsInput) (*github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsOutput, error) {
	m.lockListObjectVersions.Lock()
	defer m.lockListObjectVersions.Unlock()

	if m.ListObjectVersionsFunc == nil {
		panic("mocker: S3API.ListObjectVersionsFunc is nil but S3API.ListObjectVersions was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsInput
	}{
		Arg0: arg0,
	}

	m.calls.ListObjectVersions = append(m.calls.ListObjectVersions, call)

	return m.ListObjectVersionsFunc(arg0)
}

// ListObjectVersionsCalled returns true if ListObjectVersions was called at least once.
func (m *S3API) ListObjectVersionsCalled() bool {
	m.lockListObjectVersions.Lock()
	defer m.lockListObjectVersions.Unlock()

	return len(m.calls.ListObjectVersions) > 0
}

// ListObjectVersionsCalls returns the calls made to ListObjectVersions.
func (m *S3API) ListObjectVersionsCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsInput
} {
	m.lockListObjectVersions.Lock()
	defer m.lockListObjectVersions.Unlock()

	return m.calls.ListObjectVersions
}

// ListObjectVersionsWithContext mocks base method by wrapping the associated func.
func (m *S3API) ListObjectVersionsWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsOutput, error) {
	m.lockListObjectVersionsWithContext.Lock()
	defer m.lockListObjectVersionsWithContext.Unlock()

	if m.ListObjectVersionsWithContextFunc == nil {
		panic("mocker: S3API.ListObjectVersionsWithContextFunc is nil but S3API.ListObjectVersionsWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.ListObjectVersionsWithContext = append(m.calls.ListObjectVersionsWithContext, call)

	return m.ListObjectVersionsWithContextFunc(arg0, arg1, arg2...)
}

// ListObjectVersionsWithContextCalled returns true if ListObjectVersionsWithContext was called at least once.
func (m *S3API) ListObjectVersionsWithContextCalled() bool {
	m.lockListObjectVersionsWithContext.Lock()
	defer m.lockListObjectVersionsWithContext.Unlock()

	return len(m.calls.ListObjectVersionsWithContext) > 0
}

// ListObjectVersionsWithContextCalls returns the calls made to ListObjectVersionsWithContext.
func (m *S3API) ListObjectVersionsWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockListObjectVersionsWithContext.Lock()
	defer m.lockListObjectVersionsWithContext.Unlock()

	return m.calls.ListObjectVersionsWithContext
}

// ListObjectVersionsRequest mocks base method by wrapping the associated func.
func (m *S3API) ListObjectVersionsRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsOutput) {
	m.lockListObjectVersionsRequest.Lock()
	defer m.lockListObjectVersionsRequest.Unlock()

	if m.ListObjectVersionsRequestFunc == nil {
		panic("mocker: S3API.ListObjectVersionsRequestFunc is nil but S3API.ListObjectVersionsRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsInput
	}{
		Arg0: arg0,
	}

	m.calls.ListObjectVersionsRequest = append(m.calls.ListObjectVersionsRequest, call)

	return m.ListObjectVersionsRequestFunc(arg0)
}

// ListObjectVersionsRequestCalled returns true if ListObjectVersionsRequest was called at least once.
func (m *S3API) ListObjectVersionsRequestCalled() bool {
	m.lockListObjectVersionsRequest.Lock()
	defer m.lockListObjectVersionsRequest.Unlock()

	return len(m.calls.ListObjectVersionsRequest) > 0
}

// ListObjectVersionsRequestCalls returns the calls made to ListObjectVersionsRequest.
func (m *S3API) ListObjectVersionsRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsInput
} {
	m.lockListObjectVersionsRequest.Lock()
	defer m.lockListObjectVersionsRequest.Unlock()

	return m.calls.ListObjectVersionsRequest
}

// ListObjectVersionsPages mocks base method by wrapping the associated func.
func (m *S3API) ListObjectVersionsPages(arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsInput, arg1 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsOutput, bool) bool) error {
	m.lockListObjectVersionsPages.Lock()
	defer m.lockListObjectVersionsPages.Unlock()

	if m.ListObjectVersionsPagesFunc == nil {
		panic("mocker: S3API.ListObjectVersionsPagesFunc is nil but S3API.ListObjectVersionsPages was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsInput
		Arg1 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsOutput, bool) bool
	}{
		Arg0: arg0,
		Arg1: arg1,
	}

	m.calls.ListObjectVersionsPages = append(m.calls.ListObjectVersionsPages, call)

	return m.ListObjectVersionsPagesFunc(arg0, arg1)
}

// ListObjectVersionsPagesCalled returns true if ListObjectVersionsPages was called at least once.
func (m *S3API) ListObjectVersionsPagesCalled() bool {
	m.lockListObjectVersionsPages.Lock()
	defer m.lockListObjectVersionsPages.Unlock()

	return len(m.calls.ListObjectVersionsPages) > 0
}

// ListObjectVersionsPagesCalls returns the calls made to ListObjectVersionsPages.
func (m *S3API) ListObjectVersionsPagesCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsInput
	Arg1 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsOutput, bool) bool
} {
	m.lockListObjectVersionsPages.Lock()
	defer m.lockListObjectVersionsPages.Unlock()

	return m.calls.ListObjectVersionsPages
}

// ListObjectVersionsPagesWithContext mocks base method by wrapping the associated func.
func (m *S3API) ListObjectVersionsPagesWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsInput, arg2 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsOutput, bool) bool, arg3 ...github_com_aws_aws_sdk_go_aws_request.Option) error {
	m.lockListObjectVersionsPagesWithContext.Lock()
	defer m.lockListObjectVersionsPagesWithContext.Unlock()

	if m.ListObjectVersionsPagesWithContextFunc == nil {
		panic("mocker: S3API.ListObjectVersionsPagesWithContextFunc is nil but S3API.ListObjectVersionsPagesWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsInput
		Arg2 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsOutput, bool) bool
		Arg3 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
		Arg3: arg3,
	}

	m.calls.ListObjectVersionsPagesWithContext = append(m.calls.ListObjectVersionsPagesWithContext, call)

	return m.ListObjectVersionsPagesWithContextFunc(arg0, arg1, arg2, arg3...)
}

// ListObjectVersionsPagesWithContextCalled returns true if ListObjectVersionsPagesWithContext was called at least once.
func (m *S3API) ListObjectVersionsPagesWithContextCalled() bool {
	m.lockListObjectVersionsPagesWithContext.Lock()
	defer m.lockListObjectVersionsPagesWithContext.Unlock()

	return len(m.calls.ListObjectVersionsPagesWithContext) > 0
}

// ListObjectVersionsPagesWithContextCalls returns the calls made to ListObjectVersionsPagesWithContext.
func (m *S3API) ListObjectVersionsPagesWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsInput
	Arg2 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectVersionsOutput, bool) bool
	Arg3 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockListObjectVersionsPagesWithContext.Lock()
	defer m.lockListObjectVersionsPagesWithContext.Unlock()

	return m.calls.ListObjectVersionsPagesWithContext
}

// ListObjects mocks base method by wrapping the associated func.
func (m *S3API) ListObjects(arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsInput) (*github_com_aws_aws_sdk_go_service_s3.ListObjectsOutput, error) {
	m.lockListObjects.Lock()
	defer m.lockListObjects.Unlock()

	if m.ListObjectsFunc == nil {
		panic("mocker: S3API.ListObjectsFunc is nil but S3API.ListObjects was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsInput
	}{
		Arg0: arg0,
	}

	m.calls.ListObjects = append(m.calls.ListObjects, call)

	return m.ListObjectsFunc(arg0)
}

// ListObjectsCalled returns true if ListObjects was called at least once.
func (m *S3API) ListObjectsCalled() bool {
	m.lockListObjects.Lock()
	defer m.lockListObjects.Unlock()

	return len(m.calls.ListObjects) > 0
}

// ListObjectsCalls returns the calls made to ListObjects.
func (m *S3API) ListObjectsCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsInput
} {
	m.lockListObjects.Lock()
	defer m.lockListObjects.Unlock()

	return m.calls.ListObjects
}

// ListObjectsWithContext mocks base method by wrapping the associated func.
func (m *S3API) ListObjectsWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.ListObjectsOutput, error) {
	m.lockListObjectsWithContext.Lock()
	defer m.lockListObjectsWithContext.Unlock()

	if m.ListObjectsWithContextFunc == nil {
		panic("mocker: S3API.ListObjectsWithContextFunc is nil but S3API.ListObjectsWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectsInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.ListObjectsWithContext = append(m.calls.ListObjectsWithContext, call)

	return m.ListObjectsWithContextFunc(arg0, arg1, arg2...)
}

// ListObjectsWithContextCalled returns true if ListObjectsWithContext was called at least once.
func (m *S3API) ListObjectsWithContextCalled() bool {
	m.lockListObjectsWithContext.Lock()
	defer m.lockListObjectsWithContext.Unlock()

	return len(m.calls.ListObjectsWithContext) > 0
}

// ListObjectsWithContextCalls returns the calls made to ListObjectsWithContext.
func (m *S3API) ListObjectsWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectsInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockListObjectsWithContext.Lock()
	defer m.lockListObjectsWithContext.Unlock()

	return m.calls.ListObjectsWithContext
}

// ListObjectsRequest mocks base method by wrapping the associated func.
func (m *S3API) ListObjectsRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.ListObjectsOutput) {
	m.lockListObjectsRequest.Lock()
	defer m.lockListObjectsRequest.Unlock()

	if m.ListObjectsRequestFunc == nil {
		panic("mocker: S3API.ListObjectsRequestFunc is nil but S3API.ListObjectsRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsInput
	}{
		Arg0: arg0,
	}

	m.calls.ListObjectsRequest = append(m.calls.ListObjectsRequest, call)

	return m.ListObjectsRequestFunc(arg0)
}

// ListObjectsRequestCalled returns true if ListObjectsRequest was called at least once.
func (m *S3API) ListObjectsRequestCalled() bool {
	m.lockListObjectsRequest.Lock()
	defer m.lockListObjectsRequest.Unlock()

	return len(m.calls.ListObjectsRequest) > 0
}

// ListObjectsRequestCalls returns the calls made to ListObjectsRequest.
func (m *S3API) ListObjectsRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsInput
} {
	m.lockListObjectsRequest.Lock()
	defer m.lockListObjectsRequest.Unlock()

	return m.calls.ListObjectsRequest
}

// ListObjectsPages mocks base method by wrapping the associated func.
func (m *S3API) ListObjectsPages(arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsInput, arg1 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectsOutput, bool) bool) error {
	m.lockListObjectsPages.Lock()
	defer m.lockListObjectsPages.Unlock()

	if m.ListObjectsPagesFunc == nil {
		panic("mocker: S3API.ListObjectsPagesFunc is nil but S3API.ListObjectsPages was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsInput
		Arg1 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectsOutput, bool) bool
	}{
		Arg0: arg0,
		Arg1: arg1,
	}

	m.calls.ListObjectsPages = append(m.calls.ListObjectsPages, call)

	return m.ListObjectsPagesFunc(arg0, arg1)
}

// ListObjectsPagesCalled returns true if ListObjectsPages was called at least once.
func (m *S3API) ListObjectsPagesCalled() bool {
	m.lockListObjectsPages.Lock()
	defer m.lockListObjectsPages.Unlock()

	return len(m.calls.ListObjectsPages) > 0
}

// ListObjectsPagesCalls returns the calls made to ListObjectsPages.
func (m *S3API) ListObjectsPagesCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsInput
	Arg1 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectsOutput, bool) bool
} {
	m.lockListObjectsPages.Lock()
	defer m.lockListObjectsPages.Unlock()

	return m.calls.ListObjectsPages
}

// ListObjectsPagesWithContext mocks base method by wrapping the associated func.
func (m *S3API) ListObjectsPagesWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectsInput, arg2 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectsOutput, bool) bool, arg3 ...github_com_aws_aws_sdk_go_aws_request.Option) error {
	m.lockListObjectsPagesWithContext.Lock()
	defer m.lockListObjectsPagesWithContext.Unlock()

	if m.ListObjectsPagesWithContextFunc == nil {
		panic("mocker: S3API.ListObjectsPagesWithContextFunc is nil but S3API.ListObjectsPagesWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectsInput
		Arg2 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectsOutput, bool) bool
		Arg3 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
		Arg3: arg3,
	}

	m.calls.ListObjectsPagesWithContext = append(m.calls.ListObjectsPagesWithContext, call)

	return m.ListObjectsPagesWithContextFunc(arg0, arg1, arg2, arg3...)
}

// ListObjectsPagesWithContextCalled returns true if ListObjectsPagesWithContext was called at least once.
func (m *S3API) ListObjectsPagesWithContextCalled() bool {
	m.lockListObjectsPagesWithContext.Lock()
	defer m.lockListObjectsPagesWithContext.Unlock()

	return len(m.calls.ListObjectsPagesWithContext) > 0
}

// ListObjectsPagesWithContextCalls returns the calls made to ListObjectsPagesWithContext.
func (m *S3API) ListObjectsPagesWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectsInput
	Arg2 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectsOutput, bool) bool
	Arg3 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockListObjectsPagesWithContext.Lock()
	defer m.lockListObjectsPagesWithContext.Unlock()

	return m.calls.ListObjectsPagesWithContext
}

// ListObjectsV2 mocks base method by wrapping the associated func.
func (m *S3API) ListObjectsV2(arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Input) (*github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Output, error) {
	m.lockListObjectsV2.Lock()
	defer m.lockListObjectsV2.Unlock()

	if m.ListObjectsV2Func == nil {
		panic("mocker: S3API.ListObjectsV2Func is nil but S3API.ListObjectsV2 was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Input
	}{
		Arg0: arg0,
	}

	m.calls.ListObjectsV2 = append(m.calls.ListObjectsV2, call)

	return m.ListObjectsV2Func(arg0)
}

// ListObjectsV2Called returns true if ListObjectsV2 was called at least once.
func (m *S3API) ListObjectsV2Called() bool {
	m.lockListObjectsV2.Lock()
	defer m.lockListObjectsV2.Unlock()

	return len(m.calls.ListObjectsV2) > 0
}

// ListObjectsV2Calls returns the calls made to ListObjectsV2.
func (m *S3API) ListObjectsV2Calls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Input
} {
	m.lockListObjectsV2.Lock()
	defer m.lockListObjectsV2.Unlock()

	return m.calls.ListObjectsV2
}

// ListObjectsV2WithContext mocks base method by wrapping the associated func.
func (m *S3API) ListObjectsV2WithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Input, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Output, error) {
	m.lockListObjectsV2WithContext.Lock()
	defer m.lockListObjectsV2WithContext.Unlock()

	if m.ListObjectsV2WithContextFunc == nil {
		panic("mocker: S3API.ListObjectsV2WithContextFunc is nil but S3API.ListObjectsV2WithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Input
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.ListObjectsV2WithContext = append(m.calls.ListObjectsV2WithContext, call)

	return m.ListObjectsV2WithContextFunc(arg0, arg1, arg2...)
}

// ListObjectsV2WithContextCalled returns true if ListObjectsV2WithContext was called at least once.
func (m *S3API) ListObjectsV2WithContextCalled() bool {
	m.lockListObjectsV2WithContext.Lock()
	defer m.lockListObjectsV2WithContext.Unlock()

	return len(m.calls.ListObjectsV2WithContext) > 0
}

// ListObjectsV2WithContextCalls returns the calls made to ListObjectsV2WithContext.
func (m *S3API) ListObjectsV2WithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Input
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockListObjectsV2WithContext.Lock()
	defer m.lockListObjectsV2WithContext.Unlock()

	return m.calls.ListObjectsV2WithContext
}

// ListObjectsV2Request mocks base method by wrapping the associated func.
func (m *S3API) ListObjectsV2Request(arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Input) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Output) {
	m.lockListObjectsV2Request.Lock()
	defer m.lockListObjectsV2Request.Unlock()

	if m.ListObjectsV2RequestFunc == nil {
		panic("mocker: S3API.ListObjectsV2RequestFunc is nil but S3API.ListObjectsV2Request was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Input
	}{
		Arg0: arg0,
	}

	m.calls.ListObjectsV2Request = append(m.calls.ListObjectsV2Request, call)

	return m.ListObjectsV2RequestFunc(arg0)
}

// ListObjectsV2RequestCalled returns true if ListObjectsV2Request was called at least once.
func (m *S3API) ListObjectsV2RequestCalled() bool {
	m.lockListObjectsV2Request.Lock()
	defer m.lockListObjectsV2Request.Unlock()

	return len(m.calls.ListObjectsV2Request) > 0
}

// ListObjectsV2RequestCalls returns the calls made to ListObjectsV2Request.
func (m *S3API) ListObjectsV2RequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Input
} {
	m.lockListObjectsV2Request.Lock()
	defer m.lockListObjectsV2Request.Unlock()

	return m.calls.ListObjectsV2Request
}

// ListObjectsV2Pages mocks base method by wrapping the associated func.
func (m *S3API) ListObjectsV2Pages(arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Input, arg1 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Output, bool) bool) error {
	m.lockListObjectsV2Pages.Lock()
	defer m.lockListObjectsV2Pages.Unlock()

	if m.ListObjectsV2PagesFunc == nil {
		panic("mocker: S3API.ListObjectsV2PagesFunc is nil but S3API.ListObjectsV2Pages was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Input
		Arg1 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Output, bool) bool
	}{
		Arg0: arg0,
		Arg1: arg1,
	}

	m.calls.ListObjectsV2Pages = append(m.calls.ListObjectsV2Pages, call)

	return m.ListObjectsV2PagesFunc(arg0, arg1)
}

// ListObjectsV2PagesCalled returns true if ListObjectsV2Pages was called at least once.
func (m *S3API) ListObjectsV2PagesCalled() bool {
	m.lockListObjectsV2Pages.Lock()
	defer m.lockListObjectsV2Pages.Unlock()

	return len(m.calls.ListObjectsV2Pages) > 0
}

// ListObjectsV2PagesCalls returns the calls made to ListObjectsV2Pages.
func (m *S3API) ListObjectsV2PagesCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Input
	Arg1 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Output, bool) bool
} {
	m.lockListObjectsV2Pages.Lock()
	defer m.lockListObjectsV2Pages.Unlock()

	return m.calls.ListObjectsV2Pages
}

// ListObjectsV2PagesWithContext mocks base method by wrapping the associated func.
func (m *S3API) ListObjectsV2PagesWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Input, arg2 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Output, bool) bool, arg3 ...github_com_aws_aws_sdk_go_aws_request.Option) error {
	m.lockListObjectsV2PagesWithContext.Lock()
	defer m.lockListObjectsV2PagesWithContext.Unlock()

	if m.ListObjectsV2PagesWithContextFunc == nil {
		panic("mocker: S3API.ListObjectsV2PagesWithContextFunc is nil but S3API.ListObjectsV2PagesWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Input
		Arg2 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Output, bool) bool
		Arg3 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
		Arg3: arg3,
	}

	m.calls.ListObjectsV2PagesWithContext = append(m.calls.ListObjectsV2PagesWithContext, call)

	return m.ListObjectsV2PagesWithContextFunc(arg0, arg1, arg2, arg3...)
}

// ListObjectsV2PagesWithContextCalled returns true if ListObjectsV2PagesWithContext was called at least once.
func (m *S3API) ListObjectsV2PagesWithContextCalled() bool {
	m.lockListObjectsV2PagesWithContext.Lock()
	defer m.lockListObjectsV2PagesWithContext.Unlock()

	return len(m.calls.ListObjectsV2PagesWithContext) > 0
}

// ListObjectsV2PagesWithContextCalls returns the calls made to ListObjectsV2PagesWithContext.
func (m *S3API) ListObjectsV2PagesWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Input
	Arg2 func(*github_com_aws_aws_sdk_go_service_s3.ListObjectsV2Output, bool) bool
	Arg3 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockListObjectsV2PagesWithContext.Lock()
	defer m.lockListObjectsV2PagesWithContext.Unlock()

	return m.calls.ListObjectsV2PagesWithContext
}

// ListParts mocks base method by wrapping the associated func.
func (m *S3API) ListParts(arg0 *github_com_aws_aws_sdk_go_service_s3.ListPartsInput) (*github_com_aws_aws_sdk_go_service_s3.ListPartsOutput, error) {
	m.lockListParts.Lock()
	defer m.lockListParts.Unlock()

	if m.ListPartsFunc == nil {
		panic("mocker: S3API.ListPartsFunc is nil but S3API.ListParts was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.ListPartsInput
	}{
		Arg0: arg0,
	}

	m.calls.ListParts = append(m.calls.ListParts, call)

	return m.ListPartsFunc(arg0)
}

// ListPartsCalled returns true if ListParts was called at least once.
func (m *S3API) ListPartsCalled() bool {
	m.lockListParts.Lock()
	defer m.lockListParts.Unlock()

	return len(m.calls.ListParts) > 0
}

// ListPartsCalls returns the calls made to ListParts.
func (m *S3API) ListPartsCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.ListPartsInput
} {
	m.lockListParts.Lock()
	defer m.lockListParts.Unlock()

	return m.calls.ListParts
}

// ListPartsWithContext mocks base method by wrapping the associated func.
func (m *S3API) ListPartsWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListPartsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.ListPartsOutput, error) {
	m.lockListPartsWithContext.Lock()
	defer m.lockListPartsWithContext.Unlock()

	if m.ListPartsWithContextFunc == nil {
		panic("mocker: S3API.ListPartsWithContextFunc is nil but S3API.ListPartsWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.ListPartsInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.ListPartsWithContext = append(m.calls.ListPartsWithContext, call)

	return m.ListPartsWithContextFunc(arg0, arg1, arg2...)
}

// ListPartsWithContextCalled returns true if ListPartsWithContext was called at least once.
func (m *S3API) ListPartsWithContextCalled() bool {
	m.lockListPartsWithContext.Lock()
	defer m.lockListPartsWithContext.Unlock()

	return len(m.calls.ListPartsWithContext) > 0
}

// ListPartsWithContextCalls returns the calls made to ListPartsWithContext.
func (m *S3API) ListPartsWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.ListPartsInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockListPartsWithContext.Lock()
	defer m.lockListPartsWithContext.Unlock()

	return m.calls.ListPartsWithContext
}

// ListPartsRequest mocks base method by wrapping the associated func.
func (m *S3API) ListPartsRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.ListPartsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.ListPartsOutput) {
	m.lockListPartsRequest.Lock()
	defer m.lockListPartsRequest.Unlock()

	if m.ListPartsRequestFunc == nil {
		panic("mocker: S3API.ListPartsRequestFunc is nil but S3API.ListPartsRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.ListPartsInput
	}{
		Arg0: arg0,
	}

	m.calls.ListPartsRequest = append(m.calls.ListPartsRequest, call)

	return m.ListPartsRequestFunc(arg0)
}

// ListPartsRequestCalled returns true if ListPartsRequest was called at least once.
func (m *S3API) ListPartsRequestCalled() bool {
	m.lockListPartsRequest.Lock()
	defer m.lockListPartsRequest.Unlock()

	return len(m.calls.ListPartsRequest) > 0
}

// ListPartsRequestCalls returns the calls made to ListPartsRequest.
func (m *S3API) ListPartsRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.ListPartsInput
} {
	m.lockListPartsRequest.Lock()
	defer m.lockListPartsRequest.Unlock()

	return m.calls.ListPartsRequest
}

// ListPartsPages mocks base method by wrapping the associated func.
func (m *S3API) ListPartsPages(arg0 *github_com_aws_aws_sdk_go_service_s3.ListPartsInput, arg1 func(*github_com_aws_aws_sdk_go_service_s3.ListPartsOutput, bool) bool) error {
	m.lockListPartsPages.Lock()
	defer m.lockListPartsPages.Unlock()

	if m.ListPartsPagesFunc == nil {
		panic("mocker: S3API.ListPartsPagesFunc is nil but S3API.ListPartsPages was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.ListPartsInput
		Arg1 func(*github_com_aws_aws_sdk_go_service_s3.ListPartsOutput, bool) bool
	}{
		Arg0: arg0,
		Arg1: arg1,
	}

	m.calls.ListPartsPages = append(m.calls.ListPartsPages, call)

	return m.ListPartsPagesFunc(arg0, arg1)
}

// ListPartsPagesCalled returns true if ListPartsPages was called at least once.
func (m *S3API) ListPartsPagesCalled() bool {
	m.lockListPartsPages.Lock()
	defer m.lockListPartsPages.Unlock()

	return len(m.calls.ListPartsPages) > 0
}

// ListPartsPagesCalls returns the calls made to ListPartsPages.
func (m *S3API) ListPartsPagesCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.ListPartsInput
	Arg1 func(*github_com_aws_aws_sdk_go_service_s3.ListPartsOutput, bool) bool
} {
	m.lockListPartsPages.Lock()
	defer m.lockListPartsPages.Unlock()

	return m.calls.ListPartsPages
}

// ListPartsPagesWithContext mocks base method by wrapping the associated func.
func (m *S3API) ListPartsPagesWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.ListPartsInput, arg2 func(*github_com_aws_aws_sdk_go_service_s3.ListPartsOutput, bool) bool, arg3 ...github_com_aws_aws_sdk_go_aws_request.Option) error {
	m.lockListPartsPagesWithContext.Lock()
	defer m.lockListPartsPagesWithContext.Unlock()

	if m.ListPartsPagesWithContextFunc == nil {
		panic("mocker: S3API.ListPartsPagesWithContextFunc is nil but S3API.ListPartsPagesWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.ListPartsInput
		Arg2 func(*github_com_aws_aws_sdk_go_service_s3.ListPartsOutput, bool) bool
		Arg3 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
		Arg3: arg3,
	}

	m.calls.ListPartsPagesWithContext = append(m.calls.ListPartsPagesWithContext, call)

	return m.ListPartsPagesWithContextFunc(arg0, arg1, arg2, arg3...)
}

// ListPartsPagesWithContextCalled returns true if ListPartsPagesWithContext was called at least once.
func (m *S3API) ListPartsPagesWithContextCalled() bool {
	m.lockListPartsPagesWithContext.Lock()
	defer m.lockListPartsPagesWithContext.Unlock()

	return len(m.calls.ListPartsPagesWithContext) > 0
}

// ListPartsPagesWithContextCalls returns the calls made to ListPartsPagesWithContext.
func (m *S3API) ListPartsPagesWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.ListPartsInput
	Arg2 func(*github_com_aws_aws_sdk_go_service_s3.ListPartsOutput, bool) bool
	Arg3 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockListPartsPagesWithContext.Lock()
	defer m.lockListPartsPagesWithContext.Unlock()

	return m.calls.ListPartsPagesWithContext
}

// PutBucketAccelerateConfiguration mocks base method by wrapping the associated func.
func (m *S3API) PutBucketAccelerateConfiguration(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAccelerateConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketAccelerateConfigurationOutput, error) {
	m.lockPutBucketAccelerateConfiguration.Lock()
	defer m.lockPutBucketAccelerateConfiguration.Unlock()

	if m.PutBucketAccelerateConfigurationFunc == nil {
		panic("mocker: S3API.PutBucketAccelerateConfigurationFunc is nil but S3API.PutBucketAccelerateConfiguration was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAccelerateConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketAccelerateConfiguration = append(m.calls.PutBucketAccelerateConfiguration, call)

	return m.PutBucketAccelerateConfigurationFunc(arg0)
}

// PutBucketAccelerateConfigurationCalled returns true if PutBucketAccelerateConfiguration was called at least once.
func (m *S3API) PutBucketAccelerateConfigurationCalled() bool {
	m.lockPutBucketAccelerateConfiguration.Lock()
	defer m.lockPutBucketAccelerateConfiguration.Unlock()

	return len(m.calls.PutBucketAccelerateConfiguration) > 0
}

// PutBucketAccelerateConfigurationCalls returns the calls made to PutBucketAccelerateConfiguration.
func (m *S3API) PutBucketAccelerateConfigurationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAccelerateConfigurationInput
} {
	m.lockPutBucketAccelerateConfiguration.Lock()
	defer m.lockPutBucketAccelerateConfiguration.Unlock()

	return m.calls.PutBucketAccelerateConfiguration
}

// PutBucketAccelerateConfigurationWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutBucketAccelerateConfigurationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketAccelerateConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketAccelerateConfigurationOutput, error) {
	m.lockPutBucketAccelerateConfigurationWithContext.Lock()
	defer m.lockPutBucketAccelerateConfigurationWithContext.Unlock()

	if m.PutBucketAccelerateConfigurationWithContextFunc == nil {
		panic("mocker: S3API.PutBucketAccelerateConfigurationWithContextFunc is nil but S3API.PutBucketAccelerateConfigurationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketAccelerateConfigurationInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutBucketAccelerateConfigurationWithContext = append(m.calls.PutBucketAccelerateConfigurationWithContext, call)

	return m.PutBucketAccelerateConfigurationWithContextFunc(arg0, arg1, arg2...)
}

// PutBucketAccelerateConfigurationWithContextCalled returns true if PutBucketAccelerateConfigurationWithContext was called at least once.
func (m *S3API) PutBucketAccelerateConfigurationWithContextCalled() bool {
	m.lockPutBucketAccelerateConfigurationWithContext.Lock()
	defer m.lockPutBucketAccelerateConfigurationWithContext.Unlock()

	return len(m.calls.PutBucketAccelerateConfigurationWithContext) > 0
}

// PutBucketAccelerateConfigurationWithContextCalls returns the calls made to PutBucketAccelerateConfigurationWithContext.
func (m *S3API) PutBucketAccelerateConfigurationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketAccelerateConfigurationInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutBucketAccelerateConfigurationWithContext.Lock()
	defer m.lockPutBucketAccelerateConfigurationWithContext.Unlock()

	return m.calls.PutBucketAccelerateConfigurationWithContext
}

// PutBucketAccelerateConfigurationRequest mocks base method by wrapping the associated func.
func (m *S3API) PutBucketAccelerateConfigurationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAccelerateConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketAccelerateConfigurationOutput) {
	m.lockPutBucketAccelerateConfigurationRequest.Lock()
	defer m.lockPutBucketAccelerateConfigurationRequest.Unlock()

	if m.PutBucketAccelerateConfigurationRequestFunc == nil {
		panic("mocker: S3API.PutBucketAccelerateConfigurationRequestFunc is nil but S3API.PutBucketAccelerateConfigurationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAccelerateConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketAccelerateConfigurationRequest = append(m.calls.PutBucketAccelerateConfigurationRequest, call)

	return m.PutBucketAccelerateConfigurationRequestFunc(arg0)
}

// PutBucketAccelerateConfigurationRequestCalled returns true if PutBucketAccelerateConfigurationRequest was called at least once.
func (m *S3API) PutBucketAccelerateConfigurationRequestCalled() bool {
	m.lockPutBucketAccelerateConfigurationRequest.Lock()
	defer m.lockPutBucketAccelerateConfigurationRequest.Unlock()

	return len(m.calls.PutBucketAccelerateConfigurationRequest) > 0
}

// PutBucketAccelerateConfigurationRequestCalls returns the calls made to PutBucketAccelerateConfigurationRequest.
func (m *S3API) PutBucketAccelerateConfigurationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAccelerateConfigurationInput
} {
	m.lockPutBucketAccelerateConfigurationRequest.Lock()
	defer m.lockPutBucketAccelerateConfigurationRequest.Unlock()

	return m.calls.PutBucketAccelerateConfigurationRequest
}

// PutBucketAcl mocks base method by wrapping the associated func.
func (m *S3API) PutBucketAcl(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAclInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketAclOutput, error) {
	m.lockPutBucketAcl.Lock()
	defer m.lockPutBucketAcl.Unlock()

	if m.PutBucketAclFunc == nil {
		panic("mocker: S3API.PutBucketAclFunc is nil but S3API.PutBucketAcl was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAclInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketAcl = append(m.calls.PutBucketAcl, call)

	return m.PutBucketAclFunc(arg0)
}

// PutBucketAclCalled returns true if PutBucketAcl was called at least once.
func (m *S3API) PutBucketAclCalled() bool {
	m.lockPutBucketAcl.Lock()
	defer m.lockPutBucketAcl.Unlock()

	return len(m.calls.PutBucketAcl) > 0
}

// PutBucketAclCalls returns the calls made to PutBucketAcl.
func (m *S3API) PutBucketAclCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAclInput
} {
	m.lockPutBucketAcl.Lock()
	defer m.lockPutBucketAcl.Unlock()

	return m.calls.PutBucketAcl
}

// PutBucketAclWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutBucketAclWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketAclInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketAclOutput, error) {
	m.lockPutBucketAclWithContext.Lock()
	defer m.lockPutBucketAclWithContext.Unlock()

	if m.PutBucketAclWithContextFunc == nil {
		panic("mocker: S3API.PutBucketAclWithContextFunc is nil but S3API.PutBucketAclWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketAclInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutBucketAclWithContext = append(m.calls.PutBucketAclWithContext, call)

	return m.PutBucketAclWithContextFunc(arg0, arg1, arg2...)
}

// PutBucketAclWithContextCalled returns true if PutBucketAclWithContext was called at least once.
func (m *S3API) PutBucketAclWithContextCalled() bool {
	m.lockPutBucketAclWithContext.Lock()
	defer m.lockPutBucketAclWithContext.Unlock()

	return len(m.calls.PutBucketAclWithContext) > 0
}

// PutBucketAclWithContextCalls returns the calls made to PutBucketAclWithContext.
func (m *S3API) PutBucketAclWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketAclInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutBucketAclWithContext.Lock()
	defer m.lockPutBucketAclWithContext.Unlock()

	return m.calls.PutBucketAclWithContext
}

// PutBucketAclRequest mocks base method by wrapping the associated func.
func (m *S3API) PutBucketAclRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAclInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketAclOutput) {
	m.lockPutBucketAclRequest.Lock()
	defer m.lockPutBucketAclRequest.Unlock()

	if m.PutBucketAclRequestFunc == nil {
		panic("mocker: S3API.PutBucketAclRequestFunc is nil but S3API.PutBucketAclRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAclInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketAclRequest = append(m.calls.PutBucketAclRequest, call)

	return m.PutBucketAclRequestFunc(arg0)
}

// PutBucketAclRequestCalled returns true if PutBucketAclRequest was called at least once.
func (m *S3API) PutBucketAclRequestCalled() bool {
	m.lockPutBucketAclRequest.Lock()
	defer m.lockPutBucketAclRequest.Unlock()

	return len(m.calls.PutBucketAclRequest) > 0
}

// PutBucketAclRequestCalls returns the calls made to PutBucketAclRequest.
func (m *S3API) PutBucketAclRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAclInput
} {
	m.lockPutBucketAclRequest.Lock()
	defer m.lockPutBucketAclRequest.Unlock()

	return m.calls.PutBucketAclRequest
}

// PutBucketAnalyticsConfiguration mocks base method by wrapping the associated func.
func (m *S3API) PutBucketAnalyticsConfiguration(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAnalyticsConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketAnalyticsConfigurationOutput, error) {
	m.lockPutBucketAnalyticsConfiguration.Lock()
	defer m.lockPutBucketAnalyticsConfiguration.Unlock()

	if m.PutBucketAnalyticsConfigurationFunc == nil {
		panic("mocker: S3API.PutBucketAnalyticsConfigurationFunc is nil but S3API.PutBucketAnalyticsConfiguration was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAnalyticsConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketAnalyticsConfiguration = append(m.calls.PutBucketAnalyticsConfiguration, call)

	return m.PutBucketAnalyticsConfigurationFunc(arg0)
}

// PutBucketAnalyticsConfigurationCalled returns true if PutBucketAnalyticsConfiguration was called at least once.
func (m *S3API) PutBucketAnalyticsConfigurationCalled() bool {
	m.lockPutBucketAnalyticsConfiguration.Lock()
	defer m.lockPutBucketAnalyticsConfiguration.Unlock()

	return len(m.calls.PutBucketAnalyticsConfiguration) > 0
}

// PutBucketAnalyticsConfigurationCalls returns the calls made to PutBucketAnalyticsConfiguration.
func (m *S3API) PutBucketAnalyticsConfigurationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAnalyticsConfigurationInput
} {
	m.lockPutBucketAnalyticsConfiguration.Lock()
	defer m.lockPutBucketAnalyticsConfiguration.Unlock()

	return m.calls.PutBucketAnalyticsConfiguration
}

// PutBucketAnalyticsConfigurationWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutBucketAnalyticsConfigurationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketAnalyticsConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketAnalyticsConfigurationOutput, error) {
	m.lockPutBucketAnalyticsConfigurationWithContext.Lock()
	defer m.lockPutBucketAnalyticsConfigurationWithContext.Unlock()

	if m.PutBucketAnalyticsConfigurationWithContextFunc == nil {
		panic("mocker: S3API.PutBucketAnalyticsConfigurationWithContextFunc is nil but S3API.PutBucketAnalyticsConfigurationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketAnalyticsConfigurationInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutBucketAnalyticsConfigurationWithContext = append(m.calls.PutBucketAnalyticsConfigurationWithContext, call)

	return m.PutBucketAnalyticsConfigurationWithContextFunc(arg0, arg1, arg2...)
}

// PutBucketAnalyticsConfigurationWithContextCalled returns true if PutBucketAnalyticsConfigurationWithContext was called at least once.
func (m *S3API) PutBucketAnalyticsConfigurationWithContextCalled() bool {
	m.lockPutBucketAnalyticsConfigurationWithContext.Lock()
	defer m.lockPutBucketAnalyticsConfigurationWithContext.Unlock()

	return len(m.calls.PutBucketAnalyticsConfigurationWithContext) > 0
}

// PutBucketAnalyticsConfigurationWithContextCalls returns the calls made to PutBucketAnalyticsConfigurationWithContext.
func (m *S3API) PutBucketAnalyticsConfigurationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketAnalyticsConfigurationInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutBucketAnalyticsConfigurationWithContext.Lock()
	defer m.lockPutBucketAnalyticsConfigurationWithContext.Unlock()

	return m.calls.PutBucketAnalyticsConfigurationWithContext
}

// PutBucketAnalyticsConfigurationRequest mocks base method by wrapping the associated func.
func (m *S3API) PutBucketAnalyticsConfigurationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAnalyticsConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketAnalyticsConfigurationOutput) {
	m.lockPutBucketAnalyticsConfigurationRequest.Lock()
	defer m.lockPutBucketAnalyticsConfigurationRequest.Unlock()

	if m.PutBucketAnalyticsConfigurationRequestFunc == nil {
		panic("mocker: S3API.PutBucketAnalyticsConfigurationRequestFunc is nil but S3API.PutBucketAnalyticsConfigurationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAnalyticsConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketAnalyticsConfigurationRequest = append(m.calls.PutBucketAnalyticsConfigurationRequest, call)

	return m.PutBucketAnalyticsConfigurationRequestFunc(arg0)
}

// PutBucketAnalyticsConfigurationRequestCalled returns true if PutBucketAnalyticsConfigurationRequest was called at least once.
func (m *S3API) PutBucketAnalyticsConfigurationRequestCalled() bool {
	m.lockPutBucketAnalyticsConfigurationRequest.Lock()
	defer m.lockPutBucketAnalyticsConfigurationRequest.Unlock()

	return len(m.calls.PutBucketAnalyticsConfigurationRequest) > 0
}

// PutBucketAnalyticsConfigurationRequestCalls returns the calls made to PutBucketAnalyticsConfigurationRequest.
func (m *S3API) PutBucketAnalyticsConfigurationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketAnalyticsConfigurationInput
} {
	m.lockPutBucketAnalyticsConfigurationRequest.Lock()
	defer m.lockPutBucketAnalyticsConfigurationRequest.Unlock()

	return m.calls.PutBucketAnalyticsConfigurationRequest
}

// PutBucketCors mocks base method by wrapping the associated func.
func (m *S3API) PutBucketCors(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketCorsInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketCorsOutput, error) {
	m.lockPutBucketCors.Lock()
	defer m.lockPutBucketCors.Unlock()

	if m.PutBucketCorsFunc == nil {
		panic("mocker: S3API.PutBucketCorsFunc is nil but S3API.PutBucketCors was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketCorsInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketCors = append(m.calls.PutBucketCors, call)

	return m.PutBucketCorsFunc(arg0)
}

// PutBucketCorsCalled returns true if PutBucketCors was called at least once.
func (m *S3API) PutBucketCorsCalled() bool {
	m.lockPutBucketCors.Lock()
	defer m.lockPutBucketCors.Unlock()

	return len(m.calls.PutBucketCors) > 0
}

// PutBucketCorsCalls returns the calls made to PutBucketCors.
func (m *S3API) PutBucketCorsCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketCorsInput
} {
	m.lockPutBucketCors.Lock()
	defer m.lockPutBucketCors.Unlock()

	return m.calls.PutBucketCors
}

// PutBucketCorsWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutBucketCorsWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketCorsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketCorsOutput, error) {
	m.lockPutBucketCorsWithContext.Lock()
	defer m.lockPutBucketCorsWithContext.Unlock()

	if m.PutBucketCorsWithContextFunc == nil {
		panic("mocker: S3API.PutBucketCorsWithContextFunc is nil but S3API.PutBucketCorsWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketCorsInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutBucketCorsWithContext = append(m.calls.PutBucketCorsWithContext, call)

	return m.PutBucketCorsWithContextFunc(arg0, arg1, arg2...)
}

// PutBucketCorsWithContextCalled returns true if PutBucketCorsWithContext was called at least once.
func (m *S3API) PutBucketCorsWithContextCalled() bool {
	m.lockPutBucketCorsWithContext.Lock()
	defer m.lockPutBucketCorsWithContext.Unlock()

	return len(m.calls.PutBucketCorsWithContext) > 0
}

// PutBucketCorsWithContextCalls returns the calls made to PutBucketCorsWithContext.
func (m *S3API) PutBucketCorsWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketCorsInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutBucketCorsWithContext.Lock()
	defer m.lockPutBucketCorsWithContext.Unlock()

	return m.calls.PutBucketCorsWithContext
}

// PutBucketCorsRequest mocks base method by wrapping the associated func.
func (m *S3API) PutBucketCorsRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketCorsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketCorsOutput) {
	m.lockPutBucketCorsRequest.Lock()
	defer m.lockPutBucketCorsRequest.Unlock()

	if m.PutBucketCorsRequestFunc == nil {
		panic("mocker: S3API.PutBucketCorsRequestFunc is nil but S3API.PutBucketCorsRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketCorsInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketCorsRequest = append(m.calls.PutBucketCorsRequest, call)

	return m.PutBucketCorsRequestFunc(arg0)
}

// PutBucketCorsRequestCalled returns true if PutBucketCorsRequest was called at least once.
func (m *S3API) PutBucketCorsRequestCalled() bool {
	m.lockPutBucketCorsRequest.Lock()
	defer m.lockPutBucketCorsRequest.Unlock()

	return len(m.calls.PutBucketCorsRequest) > 0
}

// PutBucketCorsRequestCalls returns the calls made to PutBucketCorsRequest.
func (m *S3API) PutBucketCorsRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketCorsInput
} {
	m.lockPutBucketCorsRequest.Lock()
	defer m.lockPutBucketCorsRequest.Unlock()

	return m.calls.PutBucketCorsRequest
}

// PutBucketEncryption mocks base method by wrapping the associated func.
func (m *S3API) PutBucketEncryption(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketEncryptionInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketEncryptionOutput, error) {
	m.lockPutBucketEncryption.Lock()
	defer m.lockPutBucketEncryption.Unlock()

	if m.PutBucketEncryptionFunc == nil {
		panic("mocker: S3API.PutBucketEncryptionFunc is nil but S3API.PutBucketEncryption was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketEncryptionInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketEncryption = append(m.calls.PutBucketEncryption, call)

	return m.PutBucketEncryptionFunc(arg0)
}

// PutBucketEncryptionCalled returns true if PutBucketEncryption was called at least once.
func (m *S3API) PutBucketEncryptionCalled() bool {
	m.lockPutBucketEncryption.Lock()
	defer m.lockPutBucketEncryption.Unlock()

	return len(m.calls.PutBucketEncryption) > 0
}

// PutBucketEncryptionCalls returns the calls made to PutBucketEncryption.
func (m *S3API) PutBucketEncryptionCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketEncryptionInput
} {
	m.lockPutBucketEncryption.Lock()
	defer m.lockPutBucketEncryption.Unlock()

	return m.calls.PutBucketEncryption
}

// PutBucketEncryptionWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutBucketEncryptionWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketEncryptionInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketEncryptionOutput, error) {
	m.lockPutBucketEncryptionWithContext.Lock()
	defer m.lockPutBucketEncryptionWithContext.Unlock()

	if m.PutBucketEncryptionWithContextFunc == nil {
		panic("mocker: S3API.PutBucketEncryptionWithContextFunc is nil but S3API.PutBucketEncryptionWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketEncryptionInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutBucketEncryptionWithContext = append(m.calls.PutBucketEncryptionWithContext, call)

	return m.PutBucketEncryptionWithContextFunc(arg0, arg1, arg2...)
}

// PutBucketEncryptionWithContextCalled returns true if PutBucketEncryptionWithContext was called at least once.
func (m *S3API) PutBucketEncryptionWithContextCalled() bool {
	m.lockPutBucketEncryptionWithContext.Lock()
	defer m.lockPutBucketEncryptionWithContext.Unlock()

	return len(m.calls.PutBucketEncryptionWithContext) > 0
}

// PutBucketEncryptionWithContextCalls returns the calls made to PutBucketEncryptionWithContext.
func (m *S3API) PutBucketEncryptionWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketEncryptionInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutBucketEncryptionWithContext.Lock()
	defer m.lockPutBucketEncryptionWithContext.Unlock()

	return m.calls.PutBucketEncryptionWithContext
}

// PutBucketEncryptionRequest mocks base method by wrapping the associated func.
func (m *S3API) PutBucketEncryptionRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketEncryptionInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketEncryptionOutput) {
	m.lockPutBucketEncryptionRequest.Lock()
	defer m.lockPutBucketEncryptionRequest.Unlock()

	if m.PutBucketEncryptionRequestFunc == nil {
		panic("mocker: S3API.PutBucketEncryptionRequestFunc is nil but S3API.PutBucketEncryptionRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketEncryptionInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketEncryptionRequest = append(m.calls.PutBucketEncryptionRequest, call)

	return m.PutBucketEncryptionRequestFunc(arg0)
}

// PutBucketEncryptionRequestCalled returns true if PutBucketEncryptionRequest was called at least once.
func (m *S3API) PutBucketEncryptionRequestCalled() bool {
	m.lockPutBucketEncryptionRequest.Lock()
	defer m.lockPutBucketEncryptionRequest.Unlock()

	return len(m.calls.PutBucketEncryptionRequest) > 0
}

// PutBucketEncryptionRequestCalls returns the calls made to PutBucketEncryptionRequest.
func (m *S3API) PutBucketEncryptionRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketEncryptionInput
} {
	m.lockPutBucketEncryptionRequest.Lock()
	defer m.lockPutBucketEncryptionRequest.Unlock()

	return m.calls.PutBucketEncryptionRequest
}

// PutBucketIntelligentTieringConfiguration mocks base method by wrapping the associated func.
func (m *S3API) PutBucketIntelligentTieringConfiguration(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketIntelligentTieringConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketIntelligentTieringConfigurationOutput, error) {
	m.lockPutBucketIntelligentTieringConfiguration.Lock()
	defer m.lockPutBucketIntelligentTieringConfiguration.Unlock()

	if m.PutBucketIntelligentTieringConfigurationFunc == nil {
		panic("mocker: S3API.PutBucketIntelligentTieringConfigurationFunc is nil but S3API.PutBucketIntelligentTieringConfiguration was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketIntelligentTieringConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketIntelligentTieringConfiguration = append(m.calls.PutBucketIntelligentTieringConfiguration, call)

	return m.PutBucketIntelligentTieringConfigurationFunc(arg0)
}

// PutBucketIntelligentTieringConfigurationCalled returns true if PutBucketIntelligentTieringConfiguration was called at least once.
func (m *S3API) PutBucketIntelligentTieringConfigurationCalled() bool {
	m.lockPutBucketIntelligentTieringConfiguration.Lock()
	defer m.lockPutBucketIntelligentTieringConfiguration.Unlock()

	return len(m.calls.PutBucketIntelligentTieringConfiguration) > 0
}

// PutBucketIntelligentTieringConfigurationCalls returns the calls made to PutBucketIntelligentTieringConfiguration.
func (m *S3API) PutBucketIntelligentTieringConfigurationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketIntelligentTieringConfigurationInput
} {
	m.lockPutBucketIntelligentTieringConfiguration.Lock()
	defer m.lockPutBucketIntelligentTieringConfiguration.Unlock()

	return m.calls.PutBucketIntelligentTieringConfiguration
}

// PutBucketIntelligentTieringConfigurationWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutBucketIntelligentTieringConfigurationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketIntelligentTieringConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketIntelligentTieringConfigurationOutput, error) {
	m.lockPutBucketIntelligentTieringConfigurationWithContext.Lock()
	defer m.lockPutBucketIntelligentTieringConfigurationWithContext.Unlock()

	if m.PutBucketIntelligentTieringConfigurationWithContextFunc == nil {
		panic("mocker: S3API.PutBucketIntelligentTieringConfigurationWithContextFunc is nil but S3API.PutBucketIntelligentTieringConfigurationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketIntelligentTieringConfigurationInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutBucketIntelligentTieringConfigurationWithContext = append(m.calls.PutBucketIntelligentTieringConfigurationWithContext, call)

	return m.PutBucketIntelligentTieringConfigurationWithContextFunc(arg0, arg1, arg2...)
}

// PutBucketIntelligentTieringConfigurationWithContextCalled returns true if PutBucketIntelligentTieringConfigurationWithContext was called at least once.
func (m *S3API) PutBucketIntelligentTieringConfigurationWithContextCalled() bool {
	m.lockPutBucketIntelligentTieringConfigurationWithContext.Lock()
	defer m.lockPutBucketIntelligentTieringConfigurationWithContext.Unlock()

	return len(m.calls.PutBucketIntelligentTieringConfigurationWithContext) > 0
}

// PutBucketIntelligentTieringConfigurationWithContextCalls returns the calls made to PutBucketIntelligentTieringConfigurationWithContext.
func (m *S3API) PutBucketIntelligentTieringConfigurationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketIntelligentTieringConfigurationInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutBucketIntelligentTieringConfigurationWithContext.Lock()
	defer m.lockPutBucketIntelligentTieringConfigurationWithContext.Unlock()

	return m.calls.PutBucketIntelligentTieringConfigurationWithContext
}

// PutBucketIntelligentTieringConfigurationRequest mocks base method by wrapping the associated func.
func (m *S3API) PutBucketIntelligentTieringConfigurationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketIntelligentTieringConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketIntelligentTieringConfigurationOutput) {
	m.lockPutBucketIntelligentTieringConfigurationRequest.Lock()
	defer m.lockPutBucketIntelligentTieringConfigurationRequest.Unlock()

	if m.PutBucketIntelligentTieringConfigurationRequestFunc == nil {
		panic("mocker: S3API.PutBucketIntelligentTieringConfigurationRequestFunc is nil but S3API.PutBucketIntelligentTieringConfigurationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketIntelligentTieringConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketIntelligentTieringConfigurationRequest = append(m.calls.PutBucketIntelligentTieringConfigurationRequest, call)

	return m.PutBucketIntelligentTieringConfigurationRequestFunc(arg0)
}

// PutBucketIntelligentTieringConfigurationRequestCalled returns true if PutBucketIntelligentTieringConfigurationRequest was called at least once.
func (m *S3API) PutBucketIntelligentTieringConfigurationRequestCalled() bool {
	m.lockPutBucketIntelligentTieringConfigurationRequest.Lock()
	defer m.lockPutBucketIntelligentTieringConfigurationRequest.Unlock()

	return len(m.calls.PutBucketIntelligentTieringConfigurationRequest) > 0
}

// PutBucketIntelligentTieringConfigurationRequestCalls returns the calls made to PutBucketIntelligentTieringConfigurationRequest.
func (m *S3API) PutBucketIntelligentTieringConfigurationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketIntelligentTieringConfigurationInput
} {
	m.lockPutBucketIntelligentTieringConfigurationRequest.Lock()
	defer m.lockPutBucketIntelligentTieringConfigurationRequest.Unlock()

	return m.calls.PutBucketIntelligentTieringConfigurationRequest
}

// PutBucketInventoryConfiguration mocks base method by wrapping the associated func.
func (m *S3API) PutBucketInventoryConfiguration(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketInventoryConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketInventoryConfigurationOutput, error) {
	m.lockPutBucketInventoryConfiguration.Lock()
	defer m.lockPutBucketInventoryConfiguration.Unlock()

	if m.PutBucketInventoryConfigurationFunc == nil {
		panic("mocker: S3API.PutBucketInventoryConfigurationFunc is nil but S3API.PutBucketInventoryConfiguration was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketInventoryConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketInventoryConfiguration = append(m.calls.PutBucketInventoryConfiguration, call)

	return m.PutBucketInventoryConfigurationFunc(arg0)
}

// PutBucketInventoryConfigurationCalled returns true if PutBucketInventoryConfiguration was called at least once.
func (m *S3API) PutBucketInventoryConfigurationCalled() bool {
	m.lockPutBucketInventoryConfiguration.Lock()
	defer m.lockPutBucketInventoryConfiguration.Unlock()

	return len(m.calls.PutBucketInventoryConfiguration) > 0
}

// PutBucketInventoryConfigurationCalls returns the calls made to PutBucketInventoryConfiguration.
func (m *S3API) PutBucketInventoryConfigurationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketInventoryConfigurationInput
} {
	m.lockPutBucketInventoryConfiguration.Lock()
	defer m.lockPutBucketInventoryConfiguration.Unlock()

	return m.calls.PutBucketInventoryConfiguration
}

// PutBucketInventoryConfigurationWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutBucketInventoryConfigurationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketInventoryConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketInventoryConfigurationOutput, error) {
	m.lockPutBucketInventoryConfigurationWithContext.Lock()
	defer m.lockPutBucketInventoryConfigurationWithContext.Unlock()

	if m.PutBucketInventoryConfigurationWithContextFunc == nil {
		panic("mocker: S3API.PutBucketInventoryConfigurationWithContextFunc is nil but S3API.PutBucketInventoryConfigurationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketInventoryConfigurationInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutBucketInventoryConfigurationWithContext = append(m.calls.PutBucketInventoryConfigurationWithContext, call)

	return m.PutBucketInventoryConfigurationWithContextFunc(arg0, arg1, arg2...)
}

// PutBucketInventoryConfigurationWithContextCalled returns true if PutBucketInventoryConfigurationWithContext was called at least once.
func (m *S3API) PutBucketInventoryConfigurationWithContextCalled() bool {
	m.lockPutBucketInventoryConfigurationWithContext.Lock()
	defer m.lockPutBucketInventoryConfigurationWithContext.Unlock()

	return len(m.calls.PutBucketInventoryConfigurationWithContext) > 0
}

// PutBucketInventoryConfigurationWithContextCalls returns the calls made to PutBucketInventoryConfigurationWithContext.
func (m *S3API) PutBucketInventoryConfigurationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketInventoryConfigurationInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutBucketInventoryConfigurationWithContext.Lock()
	defer m.lockPutBucketInventoryConfigurationWithContext.Unlock()

	return m.calls.PutBucketInventoryConfigurationWithContext
}

// PutBucketInventoryConfigurationRequest mocks base method by wrapping the associated func.
func (m *S3API) PutBucketInventoryConfigurationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketInventoryConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketInventoryConfigurationOutput) {
	m.lockPutBucketInventoryConfigurationRequest.Lock()
	defer m.lockPutBucketInventoryConfigurationRequest.Unlock()

	if m.PutBucketInventoryConfigurationRequestFunc == nil {
		panic("mocker: S3API.PutBucketInventoryConfigurationRequestFunc is nil but S3API.PutBucketInventoryConfigurationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketInventoryConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketInventoryConfigurationRequest = append(m.calls.PutBucketInventoryConfigurationRequest, call)

	return m.PutBucketInventoryConfigurationRequestFunc(arg0)
}

// PutBucketInventoryConfigurationRequestCalled returns true if PutBucketInventoryConfigurationRequest was called at least once.
func (m *S3API) PutBucketInventoryConfigurationRequestCalled() bool {
	m.lockPutBucketInventoryConfigurationRequest.Lock()
	defer m.lockPutBucketInventoryConfigurationRequest.Unlock()

	return len(m.calls.PutBucketInventoryConfigurationRequest) > 0
}

// PutBucketInventoryConfigurationRequestCalls returns the calls made to PutBucketInventoryConfigurationRequest.
func (m *S3API) PutBucketInventoryConfigurationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketInventoryConfigurationInput
} {
	m.lockPutBucketInventoryConfigurationRequest.Lock()
	defer m.lockPutBucketInventoryConfigurationRequest.Unlock()

	return m.calls.PutBucketInventoryConfigurationRequest
}

// PutBucketLifecycle mocks base method by wrapping the associated func.
func (m *S3API) PutBucketLifecycle(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleOutput, error) {
	m.lockPutBucketLifecycle.Lock()
	defer m.lockPutBucketLifecycle.Unlock()

	if m.PutBucketLifecycleFunc == nil {
		panic("mocker: S3API.PutBucketLifecycleFunc is nil but S3API.PutBucketLifecycle was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketLifecycle = append(m.calls.PutBucketLifecycle, call)

	return m.PutBucketLifecycleFunc(arg0)
}

// PutBucketLifecycleCalled returns true if PutBucketLifecycle was called at least once.
func (m *S3API) PutBucketLifecycleCalled() bool {
	m.lockPutBucketLifecycle.Lock()
	defer m.lockPutBucketLifecycle.Unlock()

	return len(m.calls.PutBucketLifecycle) > 0
}

// PutBucketLifecycleCalls returns the calls made to PutBucketLifecycle.
func (m *S3API) PutBucketLifecycleCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleInput
} {
	m.lockPutBucketLifecycle.Lock()
	defer m.lockPutBucketLifecycle.Unlock()

	return m.calls.PutBucketLifecycle
}

// PutBucketLifecycleWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutBucketLifecycleWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleOutput, error) {
	m.lockPutBucketLifecycleWithContext.Lock()
	defer m.lockPutBucketLifecycleWithContext.Unlock()

	if m.PutBucketLifecycleWithContextFunc == nil {
		panic("mocker: S3API.PutBucketLifecycleWithContextFunc is nil but S3API.PutBucketLifecycleWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutBucketLifecycleWithContext = append(m.calls.PutBucketLifecycleWithContext, call)

	return m.PutBucketLifecycleWithContextFunc(arg0, arg1, arg2...)
}

// PutBucketLifecycleWithContextCalled returns true if PutBucketLifecycleWithContext was called at least once.
func (m *S3API) PutBucketLifecycleWithContextCalled() bool {
	m.lockPutBucketLifecycleWithContext.Lock()
	defer m.lockPutBucketLifecycleWithContext.Unlock()

	return len(m.calls.PutBucketLifecycleWithContext) > 0
}

// PutBucketLifecycleWithContextCalls returns the calls made to PutBucketLifecycleWithContext.
func (m *S3API) PutBucketLifecycleWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutBucketLifecycleWithContext.Lock()
	defer m.lockPutBucketLifecycleWithContext.Unlock()

	return m.calls.PutBucketLifecycleWithContext
}

// PutBucketLifecycleRequest mocks base method by wrapping the associated func.
func (m *S3API) PutBucketLifecycleRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleOutput) {
	m.lockPutBucketLifecycleRequest.Lock()
	defer m.lockPutBucketLifecycleRequest.Unlock()

	if m.PutBucketLifecycleRequestFunc == nil {
		panic("mocker: S3API.PutBucketLifecycleRequestFunc is nil but S3API.PutBucketLifecycleRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketLifecycleRequest = append(m.calls.PutBucketLifecycleRequest, call)

	return m.PutBucketLifecycleRequestFunc(arg0)
}

// PutBucketLifecycleRequestCalled returns true if PutBucketLifecycleRequest was called at least once.
func (m *S3API) PutBucketLifecycleRequestCalled() bool {
	m.lockPutBucketLifecycleRequest.Lock()
	defer m.lockPutBucketLifecycleRequest.Unlock()

	return len(m.calls.PutBucketLifecycleRequest) > 0
}

// PutBucketLifecycleRequestCalls returns the calls made to PutBucketLifecycleRequest.
func (m *S3API) PutBucketLifecycleRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleInput
} {
	m.lockPutBucketLifecycleRequest.Lock()
	defer m.lockPutBucketLifecycleRequest.Unlock()

	return m.calls.PutBucketLifecycleRequest
}

// PutBucketLifecycleConfiguration mocks base method by wrapping the associated func.
func (m *S3API) PutBucketLifecycleConfiguration(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleConfigurationOutput, error) {
	m.lockPutBucketLifecycleConfiguration.Lock()
	defer m.lockPutBucketLifecycleConfiguration.Unlock()

	if m.PutBucketLifecycleConfigurationFunc == nil {
		panic("mocker: S3API.PutBucketLifecycleConfigurationFunc is nil but S3API.PutBucketLifecycleConfiguration was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketLifecycleConfiguration = append(m.calls.PutBucketLifecycleConfiguration, call)

	return m.PutBucketLifecycleConfigurationFunc(arg0)
}

// PutBucketLifecycleConfigurationCalled returns true if PutBucketLifecycleConfiguration was called at least once.
func (m *S3API) PutBucketLifecycleConfigurationCalled() bool {
	m.lockPutBucketLifecycleConfiguration.Lock()
	defer m.lockPutBucketLifecycleConfiguration.Unlock()

	return len(m.calls.PutBucketLifecycleConfiguration) > 0
}

// PutBucketLifecycleConfigurationCalls returns the calls made to PutBucketLifecycleConfiguration.
func (m *S3API) PutBucketLifecycleConfigurationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleConfigurationInput
} {
	m.lockPutBucketLifecycleConfiguration.Lock()
	defer m.lockPutBucketLifecycleConfiguration.Unlock()

	return m.calls.PutBucketLifecycleConfiguration
}

// PutBucketLifecycleConfigurationWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutBucketLifecycleConfigurationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleConfigurationOutput, error) {
	m.lockPutBucketLifecycleConfigurationWithContext.Lock()
	defer m.lockPutBucketLifecycleConfigurationWithContext.Unlock()

	if m.PutBucketLifecycleConfigurationWithContextFunc == nil {
		panic("mocker: S3API.PutBucketLifecycleConfigurationWithContextFunc is nil but S3API.PutBucketLifecycleConfigurationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleConfigurationInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutBucketLifecycleConfigurationWithContext = append(m.calls.PutBucketLifecycleConfigurationWithContext, call)

	return m.PutBucketLifecycleConfigurationWithContextFunc(arg0, arg1, arg2...)
}

// PutBucketLifecycleConfigurationWithContextCalled returns true if PutBucketLifecycleConfigurationWithContext was called at least once.
func (m *S3API) PutBucketLifecycleConfigurationWithContextCalled() bool {
	m.lockPutBucketLifecycleConfigurationWithContext.Lock()
	defer m.lockPutBucketLifecycleConfigurationWithContext.Unlock()

	return len(m.calls.PutBucketLifecycleConfigurationWithContext) > 0
}

// PutBucketLifecycleConfigurationWithContextCalls returns the calls made to PutBucketLifecycleConfigurationWithContext.
func (m *S3API) PutBucketLifecycleConfigurationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleConfigurationInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutBucketLifecycleConfigurationWithContext.Lock()
	defer m.lockPutBucketLifecycleConfigurationWithContext.Unlock()

	return m.calls.PutBucketLifecycleConfigurationWithContext
}

// PutBucketLifecycleConfigurationRequest mocks base method by wrapping the associated func.
func (m *S3API) PutBucketLifecycleConfigurationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleConfigurationOutput) {
	m.lockPutBucketLifecycleConfigurationRequest.Lock()
	defer m.lockPutBucketLifecycleConfigurationRequest.Unlock()

	if m.PutBucketLifecycleConfigurationRequestFunc == nil {
		panic("mocker: S3API.PutBucketLifecycleConfigurationRequestFunc is nil but S3API.PutBucketLifecycleConfigurationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketLifecycleConfigurationRequest = append(m.calls.PutBucketLifecycleConfigurationRequest, call)

	return m.PutBucketLifecycleConfigurationRequestFunc(arg0)
}

// PutBucketLifecycleConfigurationRequestCalled returns true if PutBucketLifecycleConfigurationRequest was called at least once.
func (m *S3API) PutBucketLifecycleConfigurationRequestCalled() bool {
	m.lockPutBucketLifecycleConfigurationRequest.Lock()
	defer m.lockPutBucketLifecycleConfigurationRequest.Unlock()

	return len(m.calls.PutBucketLifecycleConfigurationRequest) > 0
}

// PutBucketLifecycleConfigurationRequestCalls returns the calls made to PutBucketLifecycleConfigurationRequest.
func (m *S3API) PutBucketLifecycleConfigurationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLifecycleConfigurationInput
} {
	m.lockPutBucketLifecycleConfigurationRequest.Lock()
	defer m.lockPutBucketLifecycleConfigurationRequest.Unlock()

	return m.calls.PutBucketLifecycleConfigurationRequest
}

// PutBucketLogging mocks base method by wrapping the associated func.
func (m *S3API) PutBucketLogging(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLoggingInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketLoggingOutput, error) {
	m.lockPutBucketLogging.Lock()
	defer m.lockPutBucketLogging.Unlock()

	if m.PutBucketLoggingFunc == nil {
		panic("mocker: S3API.PutBucketLoggingFunc is nil but S3API.PutBucketLogging was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLoggingInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketLogging = append(m.calls.PutBucketLogging, call)

	return m.PutBucketLoggingFunc(arg0)
}

// PutBucketLoggingCalled returns true if PutBucketLogging was called at least once.
func (m *S3API) PutBucketLoggingCalled() bool {
	m.lockPutBucketLogging.Lock()
	defer m.lockPutBucketLogging.Unlock()

	return len(m.calls.PutBucketLogging) > 0
}

// PutBucketLoggingCalls returns the calls made to PutBucketLogging.
func (m *S3API) PutBucketLoggingCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLoggingInput
} {
	m.lockPutBucketLogging.Lock()
	defer m.lockPutBucketLogging.Unlock()

	return m.calls.PutBucketLogging
}

// PutBucketLoggingWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutBucketLoggingWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketLoggingInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketLoggingOutput, error) {
	m.lockPutBucketLoggingWithContext.Lock()
	defer m.lockPutBucketLoggingWithContext.Unlock()

	if m.PutBucketLoggingWithContextFunc == nil {
		panic("mocker: S3API.PutBucketLoggingWithContextFunc is nil but S3API.PutBucketLoggingWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketLoggingInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutBucketLoggingWithContext = append(m.calls.PutBucketLoggingWithContext, call)

	return m.PutBucketLoggingWithContextFunc(arg0, arg1, arg2...)
}

// PutBucketLoggingWithContextCalled returns true if PutBucketLoggingWithContext was called at least once.
func (m *S3API) PutBucketLoggingWithContextCalled() bool {
	m.lockPutBucketLoggingWithContext.Lock()
	defer m.lockPutBucketLoggingWithContext.Unlock()

	return len(m.calls.PutBucketLoggingWithContext) > 0
}

// PutBucketLoggingWithContextCalls returns the calls made to PutBucketLoggingWithContext.
func (m *S3API) PutBucketLoggingWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketLoggingInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutBucketLoggingWithContext.Lock()
	defer m.lockPutBucketLoggingWithContext.Unlock()

	return m.calls.PutBucketLoggingWithContext
}

// PutBucketLoggingRequest mocks base method by wrapping the associated func.
func (m *S3API) PutBucketLoggingRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLoggingInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketLoggingOutput) {
	m.lockPutBucketLoggingRequest.Lock()
	defer m.lockPutBucketLoggingRequest.Unlock()

	if m.PutBucketLoggingRequestFunc == nil {
		panic("mocker: S3API.PutBucketLoggingRequestFunc is nil but S3API.PutBucketLoggingRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLoggingInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketLoggingRequest = append(m.calls.PutBucketLoggingRequest, call)

	return m.PutBucketLoggingRequestFunc(arg0)
}

// PutBucketLoggingRequestCalled returns true if PutBucketLoggingRequest was called at least once.
func (m *S3API) PutBucketLoggingRequestCalled() bool {
	m.lockPutBucketLoggingRequest.Lock()
	defer m.lockPutBucketLoggingRequest.Unlock()

	return len(m.calls.PutBucketLoggingRequest) > 0
}

// PutBucketLoggingRequestCalls returns the calls made to PutBucketLoggingRequest.
func (m *S3API) PutBucketLoggingRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketLoggingInput
} {
	m.lockPutBucketLoggingRequest.Lock()
	defer m.lockPutBucketLoggingRequest.Unlock()

	return m.calls.PutBucketLoggingRequest
}

// PutBucketMetricsConfiguration mocks base method by wrapping the associated func.
func (m *S3API) PutBucketMetricsConfiguration(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketMetricsConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketMetricsConfigurationOutput, error) {
	m.lockPutBucketMetricsConfiguration.Lock()
	defer m.lockPutBucketMetricsConfiguration.Unlock()

	if m.PutBucketMetricsConfigurationFunc == nil {
		panic("mocker: S3API.PutBucketMetricsConfigurationFunc is nil but S3API.PutBucketMetricsConfiguration was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketMetricsConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketMetricsConfiguration = append(m.calls.PutBucketMetricsConfiguration, call)

	return m.PutBucketMetricsConfigurationFunc(arg0)
}

// PutBucketMetricsConfigurationCalled returns true if PutBucketMetricsConfiguration was called at least once.
func (m *S3API) PutBucketMetricsConfigurationCalled() bool {
	m.lockPutBucketMetricsConfiguration.Lock()
	defer m.lockPutBucketMetricsConfiguration.Unlock()

	return len(m.calls.PutBucketMetricsConfiguration) > 0
}

// PutBucketMetricsConfigurationCalls returns the calls made to PutBucketMetricsConfiguration.
func (m *S3API) PutBucketMetricsConfigurationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketMetricsConfigurationInput
} {
	m.lockPutBucketMetricsConfiguration.Lock()
	defer m.lockPutBucketMetricsConfiguration.Unlock()

	return m.calls.PutBucketMetricsConfiguration
}

// PutBucketMetricsConfigurationWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutBucketMetricsConfigurationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketMetricsConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketMetricsConfigurationOutput, error) {
	m.lockPutBucketMetricsConfigurationWithContext.Lock()
	defer m.lockPutBucketMetricsConfigurationWithContext.Unlock()

	if m.PutBucketMetricsConfigurationWithContextFunc == nil {
		panic("mocker: S3API.PutBucketMetricsConfigurationWithContextFunc is nil but S3API.PutBucketMetricsConfigurationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketMetricsConfigurationInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutBucketMetricsConfigurationWithContext = append(m.calls.PutBucketMetricsConfigurationWithContext, call)

	return m.PutBucketMetricsConfigurationWithContextFunc(arg0, arg1, arg2...)
}

// PutBucketMetricsConfigurationWithContextCalled returns true if PutBucketMetricsConfigurationWithContext was called at least once.
func (m *S3API) PutBucketMetricsConfigurationWithContextCalled() bool {
	m.lockPutBucketMetricsConfigurationWithContext.Lock()
	defer m.lockPutBucketMetricsConfigurationWithContext.Unlock()

	return len(m.calls.PutBucketMetricsConfigurationWithContext) > 0
}

// PutBucketMetricsConfigurationWithContextCalls returns the calls made to PutBucketMetricsConfigurationWithContext.
func (m *S3API) PutBucketMetricsConfigurationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketMetricsConfigurationInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutBucketMetricsConfigurationWithContext.Lock()
	defer m.lockPutBucketMetricsConfigurationWithContext.Unlock()

	return m.calls.PutBucketMetricsConfigurationWithContext
}

// PutBucketMetricsConfigurationRequest mocks base method by wrapping the associated func.
func (m *S3API) PutBucketMetricsConfigurationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketMetricsConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketMetricsConfigurationOutput) {
	m.lockPutBucketMetricsConfigurationRequest.Lock()
	defer m.lockPutBucketMetricsConfigurationRequest.Unlock()

	if m.PutBucketMetricsConfigurationRequestFunc == nil {
		panic("mocker: S3API.PutBucketMetricsConfigurationRequestFunc is nil but S3API.PutBucketMetricsConfigurationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketMetricsConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketMetricsConfigurationRequest = append(m.calls.PutBucketMetricsConfigurationRequest, call)

	return m.PutBucketMetricsConfigurationRequestFunc(arg0)
}

// PutBucketMetricsConfigurationRequestCalled returns true if PutBucketMetricsConfigurationRequest was called at least once.
func (m *S3API) PutBucketMetricsConfigurationRequestCalled() bool {
	m.lockPutBucketMetricsConfigurationRequest.Lock()
	defer m.lockPutBucketMetricsConfigurationRequest.Unlock()

	return len(m.calls.PutBucketMetricsConfigurationRequest) > 0
}

// PutBucketMetricsConfigurationRequestCalls returns the calls made to PutBucketMetricsConfigurationRequest.
func (m *S3API) PutBucketMetricsConfigurationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketMetricsConfigurationInput
} {
	m.lockPutBucketMetricsConfigurationRequest.Lock()
	defer m.lockPutBucketMetricsConfigurationRequest.Unlock()

	return m.calls.PutBucketMetricsConfigurationRequest
}

// PutBucketNotification mocks base method by wrapping the associated func.
func (m *S3API) PutBucketNotification(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationOutput, error) {
	m.lockPutBucketNotification.Lock()
	defer m.lockPutBucketNotification.Unlock()

	if m.PutBucketNotificationFunc == nil {
		panic("mocker: S3API.PutBucketNotificationFunc is nil but S3API.PutBucketNotification was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketNotification = append(m.calls.PutBucketNotification, call)

	return m.PutBucketNotificationFunc(arg0)
}

// PutBucketNotificationCalled returns true if PutBucketNotification was called at least once.
func (m *S3API) PutBucketNotificationCalled() bool {
	m.lockPutBucketNotification.Lock()
	defer m.lockPutBucketNotification.Unlock()

	return len(m.calls.PutBucketNotification) > 0
}

// PutBucketNotificationCalls returns the calls made to PutBucketNotification.
func (m *S3API) PutBucketNotificationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationInput
} {
	m.lockPutBucketNotification.Lock()
	defer m.lockPutBucketNotification.Unlock()

	return m.calls.PutBucketNotification
}

// PutBucketNotificationWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutBucketNotificationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationOutput, error) {
	m.lockPutBucketNotificationWithContext.Lock()
	defer m.lockPutBucketNotificationWithContext.Unlock()

	if m.PutBucketNotificationWithContextFunc == nil {
		panic("mocker: S3API.PutBucketNotificationWithContextFunc is nil but S3API.PutBucketNotificationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutBucketNotificationWithContext = append(m.calls.PutBucketNotificationWithContext, call)

	return m.PutBucketNotificationWithContextFunc(arg0, arg1, arg2...)
}

// PutBucketNotificationWithContextCalled returns true if PutBucketNotificationWithContext was called at least once.
func (m *S3API) PutBucketNotificationWithContextCalled() bool {
	m.lockPutBucketNotificationWithContext.Lock()
	defer m.lockPutBucketNotificationWithContext.Unlock()

	return len(m.calls.PutBucketNotificationWithContext) > 0
}

// PutBucketNotificationWithContextCalls returns the calls made to PutBucketNotificationWithContext.
func (m *S3API) PutBucketNotificationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutBucketNotificationWithContext.Lock()
	defer m.lockPutBucketNotificationWithContext.Unlock()

	return m.calls.PutBucketNotificationWithContext
}

// PutBucketNotificationRequest mocks base method by wrapping the associated func.
func (m *S3API) PutBucketNotificationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationOutput) {
	m.lockPutBucketNotificationRequest.Lock()
	defer m.lockPutBucketNotificationRequest.Unlock()

	if m.PutBucketNotificationRequestFunc == nil {
		panic("mocker: S3API.PutBucketNotificationRequestFunc is nil but S3API.PutBucketNotificationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketNotificationRequest = append(m.calls.PutBucketNotificationRequest, call)

	return m.PutBucketNotificationRequestFunc(arg0)
}

// PutBucketNotificationRequestCalled returns true if PutBucketNotificationRequest was called at least once.
func (m *S3API) PutBucketNotificationRequestCalled() bool {
	m.lockPutBucketNotificationRequest.Lock()
	defer m.lockPutBucketNotificationRequest.Unlock()

	return len(m.calls.PutBucketNotificationRequest) > 0
}

// PutBucketNotificationRequestCalls returns the calls made to PutBucketNotificationRequest.
func (m *S3API) PutBucketNotificationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationInput
} {
	m.lockPutBucketNotificationRequest.Lock()
	defer m.lockPutBucketNotificationRequest.Unlock()

	return m.calls.PutBucketNotificationRequest
}

// PutBucketNotificationConfiguration mocks base method by wrapping the associated func.
func (m *S3API) PutBucketNotificationConfiguration(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationConfigurationOutput, error) {
	m.lockPutBucketNotificationConfiguration.Lock()
	defer m.lockPutBucketNotificationConfiguration.Unlock()

	if m.PutBucketNotificationConfigurationFunc == nil {
		panic("mocker: S3API.PutBucketNotificationConfigurationFunc is nil but S3API.PutBucketNotificationConfiguration was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketNotificationConfiguration = append(m.calls.PutBucketNotificationConfiguration, call)

	return m.PutBucketNotificationConfigurationFunc(arg0)
}

// PutBucketNotificationConfigurationCalled returns true if PutBucketNotificationConfiguration was called at least once.
func (m *S3API) PutBucketNotificationConfigurationCalled() bool {
	m.lockPutBucketNotificationConfiguration.Lock()
	defer m.lockPutBucketNotificationConfiguration.Unlock()

	return len(m.calls.PutBucketNotificationConfiguration) > 0
}

// PutBucketNotificationConfigurationCalls returns the calls made to PutBucketNotificationConfiguration.
func (m *S3API) PutBucketNotificationConfigurationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationConfigurationInput
} {
	m.lockPutBucketNotificationConfiguration.Lock()
	defer m.lockPutBucketNotificationConfiguration.Unlock()

	return m.calls.PutBucketNotificationConfiguration
}

// PutBucketNotificationConfigurationWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutBucketNotificationConfigurationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationConfigurationOutput, error) {
	m.lockPutBucketNotificationConfigurationWithContext.Lock()
	defer m.lockPutBucketNotificationConfigurationWithContext.Unlock()

	if m.PutBucketNotificationConfigurationWithContextFunc == nil {
		panic("mocker: S3API.PutBucketNotificationConfigurationWithContextFunc is nil but S3API.PutBucketNotificationConfigurationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationConfigurationInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutBucketNotificationConfigurationWithContext = append(m.calls.PutBucketNotificationConfigurationWithContext, call)

	return m.PutBucketNotificationConfigurationWithContextFunc(arg0, arg1, arg2...)
}

// PutBucketNotificationConfigurationWithContextCalled returns true if PutBucketNotificationConfigurationWithContext was called at least once.
func (m *S3API) PutBucketNotificationConfigurationWithContextCalled() bool {
	m.lockPutBucketNotificationConfigurationWithContext.Lock()
	defer m.lockPutBucketNotificationConfigurationWithContext.Unlock()

	return len(m.calls.PutBucketNotificationConfigurationWithContext) > 0
}

// PutBucketNotificationConfigurationWithContextCalls returns the calls made to PutBucketNotificationConfigurationWithContext.
func (m *S3API) PutBucketNotificationConfigurationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationConfigurationInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutBucketNotificationConfigurationWithContext.Lock()
	defer m.lockPutBucketNotificationConfigurationWithContext.Unlock()

	return m.calls.PutBucketNotificationConfigurationWithContext
}

// PutBucketNotificationConfigurationRequest mocks base method by wrapping the associated func.
func (m *S3API) PutBucketNotificationConfigurationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationConfigurationOutput) {
	m.lockPutBucketNotificationConfigurationRequest.Lock()
	defer m.lockPutBucketNotificationConfigurationRequest.Unlock()

	if m.PutBucketNotificationConfigurationRequestFunc == nil {
		panic("mocker: S3API.PutBucketNotificationConfigurationRequestFunc is nil but S3API.PutBucketNotificationConfigurationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketNotificationConfigurationRequest = append(m.calls.PutBucketNotificationConfigurationRequest, call)

	return m.PutBucketNotificationConfigurationRequestFunc(arg0)
}

// PutBucketNotificationConfigurationRequestCalled returns true if PutBucketNotificationConfigurationRequest was called at least once.
func (m *S3API) PutBucketNotificationConfigurationRequestCalled() bool {
	m.lockPutBucketNotificationConfigurationRequest.Lock()
	defer m.lockPutBucketNotificationConfigurationRequest.Unlock()

	return len(m.calls.PutBucketNotificationConfigurationRequest) > 0
}

// PutBucketNotificationConfigurationRequestCalls returns the calls made to PutBucketNotificationConfigurationRequest.
func (m *S3API) PutBucketNotificationConfigurationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketNotificationConfigurationInput
} {
	m.lockPutBucketNotificationConfigurationRequest.Lock()
	defer m.lockPutBucketNotificationConfigurationRequest.Unlock()

	return m.calls.PutBucketNotificationConfigurationRequest
}

// PutBucketOwnershipControls mocks base method by wrapping the associated func.
func (m *S3API) PutBucketOwnershipControls(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketOwnershipControlsInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketOwnershipControlsOutput, error) {
	m.lockPutBucketOwnershipControls.Lock()
	defer m.lockPutBucketOwnershipControls.Unlock()

	if m.PutBucketOwnershipControlsFunc == nil {
		panic("mocker: S3API.PutBucketOwnershipControlsFunc is nil but S3API.PutBucketOwnershipControls was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketOwnershipControlsInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketOwnershipControls = append(m.calls.PutBucketOwnershipControls, call)

	return m.PutBucketOwnershipControlsFunc(arg0)
}

// PutBucketOwnershipControlsCalled returns true if PutBucketOwnershipControls was called at least once.
func (m *S3API) PutBucketOwnershipControlsCalled() bool {
	m.lockPutBucketOwnershipControls.Lock()
	defer m.lockPutBucketOwnershipControls.Unlock()

	return len(m.calls.PutBucketOwnershipControls) > 0
}

// PutBucketOwnershipControlsCalls returns the calls made to PutBucketOwnershipControls.
func (m *S3API) PutBucketOwnershipControlsCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketOwnershipControlsInput
} {
	m.lockPutBucketOwnershipControls.Lock()
	defer m.lockPutBucketOwnershipControls.Unlock()

	return m.calls.PutBucketOwnershipControls
}

// PutBucketOwnershipControlsWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutBucketOwnershipControlsWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketOwnershipControlsInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketOwnershipControlsOutput, error) {
	m.lockPutBucketOwnershipControlsWithContext.Lock()
	defer m.lockPutBucketOwnershipControlsWithContext.Unlock()

	if m.PutBucketOwnershipControlsWithContextFunc == nil {
		panic("mocker: S3API.PutBucketOwnershipControlsWithContextFunc is nil but S3API.PutBucketOwnershipControlsWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketOwnershipControlsInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutBucketOwnershipControlsWithContext = append(m.calls.PutBucketOwnershipControlsWithContext, call)

	return m.PutBucketOwnershipControlsWithContextFunc(arg0, arg1, arg2...)
}

// PutBucketOwnershipControlsWithContextCalled returns true if PutBucketOwnershipControlsWithContext was called at least once.
func (m *S3API) PutBucketOwnershipControlsWithContextCalled() bool {
	m.lockPutBucketOwnershipControlsWithContext.Lock()
	defer m.lockPutBucketOwnershipControlsWithContext.Unlock()

	return len(m.calls.PutBucketOwnershipControlsWithContext) > 0
}

// PutBucketOwnershipControlsWithContextCalls returns the calls made to PutBucketOwnershipControlsWithContext.
func (m *S3API) PutBucketOwnershipControlsWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketOwnershipControlsInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutBucketOwnershipControlsWithContext.Lock()
	defer m.lockPutBucketOwnershipControlsWithContext.Unlock()

	return m.calls.PutBucketOwnershipControlsWithContext
}

// PutBucketOwnershipControlsRequest mocks base method by wrapping the associated func.
func (m *S3API) PutBucketOwnershipControlsRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketOwnershipControlsInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketOwnershipControlsOutput) {
	m.lockPutBucketOwnershipControlsRequest.Lock()
	defer m.lockPutBucketOwnershipControlsRequest.Unlock()

	if m.PutBucketOwnershipControlsRequestFunc == nil {
		panic("mocker: S3API.PutBucketOwnershipControlsRequestFunc is nil but S3API.PutBucketOwnershipControlsRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketOwnershipControlsInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketOwnershipControlsRequest = append(m.calls.PutBucketOwnershipControlsRequest, call)

	return m.PutBucketOwnershipControlsRequestFunc(arg0)
}

// PutBucketOwnershipControlsRequestCalled returns true if PutBucketOwnershipControlsRequest was called at least once.
func (m *S3API) PutBucketOwnershipControlsRequestCalled() bool {
	m.lockPutBucketOwnershipControlsRequest.Lock()
	defer m.lockPutBucketOwnershipControlsRequest.Unlock()

	return len(m.calls.PutBucketOwnershipControlsRequest) > 0
}

// PutBucketOwnershipControlsRequestCalls returns the calls made to PutBucketOwnershipControlsRequest.
func (m *S3API) PutBucketOwnershipControlsRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketOwnershipControlsInput
} {
	m.lockPutBucketOwnershipControlsRequest.Lock()
	defer m.lockPutBucketOwnershipControlsRequest.Unlock()

	return m.calls.PutBucketOwnershipControlsRequest
}

// PutBucketPolicy mocks base method by wrapping the associated func.
func (m *S3API) PutBucketPolicy(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketPolicyInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketPolicyOutput, error) {
	m.lockPutBucketPolicy.Lock()
	defer m.lockPutBucketPolicy.Unlock()

	if m.PutBucketPolicyFunc == nil {
		panic("mocker: S3API.PutBucketPolicyFunc is nil but S3API.PutBucketPolicy was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketPolicyInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketPolicy = append(m.calls.PutBucketPolicy, call)

	return m.PutBucketPolicyFunc(arg0)
}

// PutBucketPolicyCalled returns true if PutBucketPolicy was called at least once.
func (m *S3API) PutBucketPolicyCalled() bool {
	m.lockPutBucketPolicy.Lock()
	defer m.lockPutBucketPolicy.Unlock()

	return len(m.calls.PutBucketPolicy) > 0
}

// PutBucketPolicyCalls returns the calls made to PutBucketPolicy.
func (m *S3API) PutBucketPolicyCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketPolicyInput
} {
	m.lockPutBucketPolicy.Lock()
	defer m.lockPutBucketPolicy.Unlock()

	return m.calls.PutBucketPolicy
}

// PutBucketPolicyWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutBucketPolicyWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketPolicyInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketPolicyOutput, error) {
	m.lockPutBucketPolicyWithContext.Lock()
	defer m.lockPutBucketPolicyWithContext.Unlock()

	if m.PutBucketPolicyWithContextFunc == nil {
		panic("mocker: S3API.PutBucketPolicyWithContextFunc is nil but S3API.PutBucketPolicyWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketPolicyInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutBucketPolicyWithContext = append(m.calls.PutBucketPolicyWithContext, call)

	return m.PutBucketPolicyWithContextFunc(arg0, arg1, arg2...)
}

// PutBucketPolicyWithContextCalled returns true if PutBucketPolicyWithContext was called at least once.
func (m *S3API) PutBucketPolicyWithContextCalled() bool {
	m.lockPutBucketPolicyWithContext.Lock()
	defer m.lockPutBucketPolicyWithContext.Unlock()

	return len(m.calls.PutBucketPolicyWithContext) > 0
}

// PutBucketPolicyWithContextCalls returns the calls made to PutBucketPolicyWithContext.
func (m *S3API) PutBucketPolicyWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketPolicyInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutBucketPolicyWithContext.Lock()
	defer m.lockPutBucketPolicyWithContext.Unlock()

	return m.calls.PutBucketPolicyWithContext
}

// PutBucketPolicyRequest mocks base method by wrapping the associated func.
func (m *S3API) PutBucketPolicyRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketPolicyInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketPolicyOutput) {
	m.lockPutBucketPolicyRequest.Lock()
	defer m.lockPutBucketPolicyRequest.Unlock()

	if m.PutBucketPolicyRequestFunc == nil {
		panic("mocker: S3API.PutBucketPolicyRequestFunc is nil but S3API.PutBucketPolicyRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketPolicyInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketPolicyRequest = append(m.calls.PutBucketPolicyRequest, call)

	return m.PutBucketPolicyRequestFunc(arg0)
}

// PutBucketPolicyRequestCalled returns true if PutBucketPolicyRequest was called at least once.
func (m *S3API) PutBucketPolicyRequestCalled() bool {
	m.lockPutBucketPolicyRequest.Lock()
	defer m.lockPutBucketPolicyRequest.Unlock()

	return len(m.calls.PutBucketPolicyRequest) > 0
}

// PutBucketPolicyRequestCalls returns the calls made to PutBucketPolicyRequest.
func (m *S3API) PutBucketPolicyRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketPolicyInput
} {
	m.lockPutBucketPolicyRequest.Lock()
	defer m.lockPutBucketPolicyRequest.Unlock()

	return m.calls.PutBucketPolicyRequest
}

// PutBucketReplication mocks base method by wrapping the associated func.
func (m *S3API) PutBucketReplication(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketReplicationInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketReplicationOutput, error) {
	m.lockPutBucketReplication.Lock()
	defer m.lockPutBucketReplication.Unlock()

	if m.PutBucketReplicationFunc == nil {
		panic("mocker: S3API.PutBucketReplicationFunc is nil but S3API.PutBucketReplication was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketReplicationInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketReplication = append(m.calls.PutBucketReplication, call)

	return m.PutBucketReplicationFunc(arg0)
}

// PutBucketReplicationCalled returns true if PutBucketReplication was called at least once.
func (m *S3API) PutBucketReplicationCalled() bool {
	m.lockPutBucketReplication.Lock()
	defer m.lockPutBucketReplication.Unlock()

	return len(m.calls.PutBucketReplication) > 0
}

// PutBucketReplicationCalls returns the calls made to PutBucketReplication.
func (m *S3API) PutBucketReplicationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketReplicationInput
} {
	m.lockPutBucketReplication.Lock()
	defer m.lockPutBucketReplication.Unlock()

	return m.calls.PutBucketReplication
}

// PutBucketReplicationWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutBucketReplicationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketReplicationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketReplicationOutput, error) {
	m.lockPutBucketReplicationWithContext.Lock()
	defer m.lockPutBucketReplicationWithContext.Unlock()

	if m.PutBucketReplicationWithContextFunc == nil {
		panic("mocker: S3API.PutBucketReplicationWithContextFunc is nil but S3API.PutBucketReplicationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketReplicationInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutBucketReplicationWithContext = append(m.calls.PutBucketReplicationWithContext, call)

	return m.PutBucketReplicationWithContextFunc(arg0, arg1, arg2...)
}

// PutBucketReplicationWithContextCalled returns true if PutBucketReplicationWithContext was called at least once.
func (m *S3API) PutBucketReplicationWithContextCalled() bool {
	m.lockPutBucketReplicationWithContext.Lock()
	defer m.lockPutBucketReplicationWithContext.Unlock()

	return len(m.calls.PutBucketReplicationWithContext) > 0
}

// PutBucketReplicationWithContextCalls returns the calls made to PutBucketReplicationWithContext.
func (m *S3API) PutBucketReplicationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketReplicationInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutBucketReplicationWithContext.Lock()
	defer m.lockPutBucketReplicationWithContext.Unlock()

	return m.calls.PutBucketReplicationWithContext
}

// PutBucketReplicationRequest mocks base method by wrapping the associated func.
func (m *S3API) PutBucketReplicationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketReplicationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketReplicationOutput) {
	m.lockPutBucketReplicationRequest.Lock()
	defer m.lockPutBucketReplicationRequest.Unlock()

	if m.PutBucketReplicationRequestFunc == nil {
		panic("mocker: S3API.PutBucketReplicationRequestFunc is nil but S3API.PutBucketReplicationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketReplicationInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketReplicationRequest = append(m.calls.PutBucketReplicationRequest, call)

	return m.PutBucketReplicationRequestFunc(arg0)
}

// PutBucketReplicationRequestCalled returns true if PutBucketReplicationRequest was called at least once.
func (m *S3API) PutBucketReplicationRequestCalled() bool {
	m.lockPutBucketReplicationRequest.Lock()
	defer m.lockPutBucketReplicationRequest.Unlock()

	return len(m.calls.PutBucketReplicationRequest) > 0
}

// PutBucketReplicationRequestCalls returns the calls made to PutBucketReplicationRequest.
func (m *S3API) PutBucketReplicationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketReplicationInput
} {
	m.lockPutBucketReplicationRequest.Lock()
	defer m.lockPutBucketReplicationRequest.Unlock()

	return m.calls.PutBucketReplicationRequest
}

// PutBucketRequestPayment mocks base method by wrapping the associated func.
func (m *S3API) PutBucketRequestPayment(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketRequestPaymentInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketRequestPaymentOutput, error) {
	m.lockPutBucketRequestPayment.Lock()
	defer m.lockPutBucketRequestPayment.Unlock()

	if m.PutBucketRequestPaymentFunc == nil {
		panic("mocker: S3API.PutBucketRequestPaymentFunc is nil but S3API.PutBucketRequestPayment was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketRequestPaymentInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketRequestPayment = append(m.calls.PutBucketRequestPayment, call)

	return m.PutBucketRequestPaymentFunc(arg0)
}

// PutBucketRequestPaymentCalled returns true if PutBucketRequestPayment was called at least once.
func (m *S3API) PutBucketRequestPaymentCalled() bool {
	m.lockPutBucketRequestPayment.Lock()
	defer m.lockPutBucketRequestPayment.Unlock()

	return len(m.calls.PutBucketRequestPayment) > 0
}

// PutBucketRequestPaymentCalls returns the calls made to PutBucketRequestPayment.
func (m *S3API) PutBucketRequestPaymentCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketRequestPaymentInput
} {
	m.lockPutBucketRequestPayment.Lock()
	defer m.lockPutBucketRequestPayment.Unlock()

	return m.calls.PutBucketRequestPayment
}

// PutBucketRequestPaymentWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutBucketRequestPaymentWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketRequestPaymentInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketRequestPaymentOutput, error) {
	m.lockPutBucketRequestPaymentWithContext.Lock()
	defer m.lockPutBucketRequestPaymentWithContext.Unlock()

	if m.PutBucketRequestPaymentWithContextFunc == nil {
		panic("mocker: S3API.PutBucketRequestPaymentWithContextFunc is nil but S3API.PutBucketRequestPaymentWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketRequestPaymentInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutBucketRequestPaymentWithContext = append(m.calls.PutBucketRequestPaymentWithContext, call)

	return m.PutBucketRequestPaymentWithContextFunc(arg0, arg1, arg2...)
}

// PutBucketRequestPaymentWithContextCalled returns true if PutBucketRequestPaymentWithContext was called at least once.
func (m *S3API) PutBucketRequestPaymentWithContextCalled() bool {
	m.lockPutBucketRequestPaymentWithContext.Lock()
	defer m.lockPutBucketRequestPaymentWithContext.Unlock()

	return len(m.calls.PutBucketRequestPaymentWithContext) > 0
}

// PutBucketRequestPaymentWithContextCalls returns the calls made to PutBucketRequestPaymentWithContext.
func (m *S3API) PutBucketRequestPaymentWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketRequestPaymentInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutBucketRequestPaymentWithContext.Lock()
	defer m.lockPutBucketRequestPaymentWithContext.Unlock()

	return m.calls.PutBucketRequestPaymentWithContext
}

// PutBucketRequestPaymentRequest mocks base method by wrapping the associated func.
func (m *S3API) PutBucketRequestPaymentRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketRequestPaymentInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketRequestPaymentOutput) {
	m.lockPutBucketRequestPaymentRequest.Lock()
	defer m.lockPutBucketRequestPaymentRequest.Unlock()

	if m.PutBucketRequestPaymentRequestFunc == nil {
		panic("mocker: S3API.PutBucketRequestPaymentRequestFunc is nil but S3API.PutBucketRequestPaymentRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketRequestPaymentInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketRequestPaymentRequest = append(m.calls.PutBucketRequestPaymentRequest, call)

	return m.PutBucketRequestPaymentRequestFunc(arg0)
}

// PutBucketRequestPaymentRequestCalled returns true if PutBucketRequestPaymentRequest was called at least once.
func (m *S3API) PutBucketRequestPaymentRequestCalled() bool {
	m.lockPutBucketRequestPaymentRequest.Lock()
	defer m.lockPutBucketRequestPaymentRequest.Unlock()

	return len(m.calls.PutBucketRequestPaymentRequest) > 0
}

// PutBucketRequestPaymentRequestCalls returns the calls made to PutBucketRequestPaymentRequest.
func (m *S3API) PutBucketRequestPaymentRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketRequestPaymentInput
} {
	m.lockPutBucketRequestPaymentRequest.Lock()
	defer m.lockPutBucketRequestPaymentRequest.Unlock()

	return m.calls.PutBucketRequestPaymentRequest
}

// PutBucketTagging mocks base method by wrapping the associated func.
func (m *S3API) PutBucketTagging(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketTaggingInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketTaggingOutput, error) {
	m.lockPutBucketTagging.Lock()
	defer m.lockPutBucketTagging.Unlock()

	if m.PutBucketTaggingFunc == nil {
		panic("mocker: S3API.PutBucketTaggingFunc is nil but S3API.PutBucketTagging was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketTaggingInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketTagging = append(m.calls.PutBucketTagging, call)

	return m.PutBucketTaggingFunc(arg0)
}

// PutBucketTaggingCalled returns true if PutBucketTagging was called at least once.
func (m *S3API) PutBucketTaggingCalled() bool {
	m.lockPutBucketTagging.Lock()
	defer m.lockPutBucketTagging.Unlock()

	return len(m.calls.PutBucketTagging) > 0
}

// PutBucketTaggingCalls returns the calls made to PutBucketTagging.
func (m *S3API) PutBucketTaggingCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketTaggingInput
} {
	m.lockPutBucketTagging.Lock()
	defer m.lockPutBucketTagging.Unlock()

	return m.calls.PutBucketTagging
}

// PutBucketTaggingWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutBucketTaggingWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketTaggingInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketTaggingOutput, error) {
	m.lockPutBucketTaggingWithContext.Lock()
	defer m.lockPutBucketTaggingWithContext.Unlock()

	if m.PutBucketTaggingWithContextFunc == nil {
		panic("mocker: S3API.PutBucketTaggingWithContextFunc is nil but S3API.PutBucketTaggingWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketTaggingInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutBucketTaggingWithContext = append(m.calls.PutBucketTaggingWithContext, call)

	return m.PutBucketTaggingWithContextFunc(arg0, arg1, arg2...)
}

// PutBucketTaggingWithContextCalled returns true if PutBucketTaggingWithContext was called at least once.
func (m *S3API) PutBucketTaggingWithContextCalled() bool {
	m.lockPutBucketTaggingWithContext.Lock()
	defer m.lockPutBucketTaggingWithContext.Unlock()

	return len(m.calls.PutBucketTaggingWithContext) > 0
}

// PutBucketTaggingWithContextCalls returns the calls made to PutBucketTaggingWithContext.
func (m *S3API) PutBucketTaggingWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketTaggingInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutBucketTaggingWithContext.Lock()
	defer m.lockPutBucketTaggingWithContext.Unlock()

	return m.calls.PutBucketTaggingWithContext
}

// PutBucketTaggingRequest mocks base method by wrapping the associated func.
func (m *S3API) PutBucketTaggingRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketTaggingInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketTaggingOutput) {
	m.lockPutBucketTaggingRequest.Lock()
	defer m.lockPutBucketTaggingRequest.Unlock()

	if m.PutBucketTaggingRequestFunc == nil {
		panic("mocker: S3API.PutBucketTaggingRequestFunc is nil but S3API.PutBucketTaggingRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketTaggingInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketTaggingRequest = append(m.calls.PutBucketTaggingRequest, call)

	return m.PutBucketTaggingRequestFunc(arg0)
}

// PutBucketTaggingRequestCalled returns true if PutBucketTaggingRequest was called at least once.
func (m *S3API) PutBucketTaggingRequestCalled() bool {
	m.lockPutBucketTaggingRequest.Lock()
	defer m.lockPutBucketTaggingRequest.Unlock()

	return len(m.calls.PutBucketTaggingRequest) > 0
}

// PutBucketTaggingRequestCalls returns the calls made to PutBucketTaggingRequest.
func (m *S3API) PutBucketTaggingRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketTaggingInput
} {
	m.lockPutBucketTaggingRequest.Lock()
	defer m.lockPutBucketTaggingRequest.Unlock()

	return m.calls.PutBucketTaggingRequest
}

// PutBucketVersioning mocks base method by wrapping the associated func.
func (m *S3API) PutBucketVersioning(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketVersioningInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketVersioningOutput, error) {
	m.lockPutBucketVersioning.Lock()
	defer m.lockPutBucketVersioning.Unlock()

	if m.PutBucketVersioningFunc == nil {
		panic("mocker: S3API.PutBucketVersioningFunc is nil but S3API.PutBucketVersioning was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketVersioningInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketVersioning = append(m.calls.PutBucketVersioning, call)

	return m.PutBucketVersioningFunc(arg0)
}

// PutBucketVersioningCalled returns true if PutBucketVersioning was called at least once.
func (m *S3API) PutBucketVersioningCalled() bool {
	m.lockPutBucketVersioning.Lock()
	defer m.lockPutBucketVersioning.Unlock()

	return len(m.calls.PutBucketVersioning) > 0
}

// PutBucketVersioningCalls returns the calls made to PutBucketVersioning.
func (m *S3API) PutBucketVersioningCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketVersioningInput
} {
	m.lockPutBucketVersioning.Lock()
	defer m.lockPutBucketVersioning.Unlock()

	return m.calls.PutBucketVersioning
}

// PutBucketVersioningWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutBucketVersioningWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketVersioningInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketVersioningOutput, error) {
	m.lockPutBucketVersioningWithContext.Lock()
	defer m.lockPutBucketVersioningWithContext.Unlock()

	if m.PutBucketVersioningWithContextFunc == nil {
		panic("mocker: S3API.PutBucketVersioningWithContextFunc is nil but S3API.PutBucketVersioningWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketVersioningInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutBucketVersioningWithContext = append(m.calls.PutBucketVersioningWithContext, call)

	return m.PutBucketVersioningWithContextFunc(arg0, arg1, arg2...)
}

// PutBucketVersioningWithContextCalled returns true if PutBucketVersioningWithContext was called at least once.
func (m *S3API) PutBucketVersioningWithContextCalled() bool {
	m.lockPutBucketVersioningWithContext.Lock()
	defer m.lockPutBucketVersioningWithContext.Unlock()

	return len(m.calls.PutBucketVersioningWithContext) > 0
}

// PutBucketVersioningWithContextCalls returns the calls made to PutBucketVersioningWithContext.
func (m *S3API) PutBucketVersioningWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketVersioningInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutBucketVersioningWithContext.Lock()
	defer m.lockPutBucketVersioningWithContext.Unlock()

	return m.calls.PutBucketVersioningWithContext
}

// PutBucketVersioningRequest mocks base method by wrapping the associated func.
func (m *S3API) PutBucketVersioningRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketVersioningInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketVersioningOutput) {
	m.lockPutBucketVersioningRequest.Lock()
	defer m.lockPutBucketVersioningRequest.Unlock()

	if m.PutBucketVersioningRequestFunc == nil {
		panic("mocker: S3API.PutBucketVersioningRequestFunc is nil but S3API.PutBucketVersioningRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketVersioningInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketVersioningRequest = append(m.calls.PutBucketVersioningRequest, call)

	return m.PutBucketVersioningRequestFunc(arg0)
}

// PutBucketVersioningRequestCalled returns true if PutBucketVersioningRequest was called at least once.
func (m *S3API) PutBucketVersioningRequestCalled() bool {
	m.lockPutBucketVersioningRequest.Lock()
	defer m.lockPutBucketVersioningRequest.Unlock()

	return len(m.calls.PutBucketVersioningRequest) > 0
}

// PutBucketVersioningRequestCalls returns the calls made to PutBucketVersioningRequest.
func (m *S3API) PutBucketVersioningRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketVersioningInput
} {
	m.lockPutBucketVersioningRequest.Lock()
	defer m.lockPutBucketVersioningRequest.Unlock()

	return m.calls.PutBucketVersioningRequest
}

// PutBucketWebsite mocks base method by wrapping the associated func.
func (m *S3API) PutBucketWebsite(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketWebsiteInput) (*github_com_aws_aws_sdk_go_service_s3.PutBucketWebsiteOutput, error) {
	m.lockPutBucketWebsite.Lock()
	defer m.lockPutBucketWebsite.Unlock()

	if m.PutBucketWebsiteFunc == nil {
		panic("mocker: S3API.PutBucketWebsiteFunc is nil but S3API.PutBucketWebsite was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketWebsiteInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketWebsite = append(m.calls.PutBucketWebsite, call)

	return m.PutBucketWebsiteFunc(arg0)
}

// PutBucketWebsiteCalled returns true if PutBucketWebsite was called at least once.
func (m *S3API) PutBucketWebsiteCalled() bool {
	m.lockPutBucketWebsite.Lock()
	defer m.lockPutBucketWebsite.Unlock()

	return len(m.calls.PutBucketWebsite) > 0
}

// PutBucketWebsiteCalls returns the calls made to PutBucketWebsite.
func (m *S3API) PutBucketWebsiteCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketWebsiteInput
} {
	m.lockPutBucketWebsite.Lock()
	defer m.lockPutBucketWebsite.Unlock()

	return m.calls.PutBucketWebsite
}

// PutBucketWebsiteWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutBucketWebsiteWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketWebsiteInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutBucketWebsiteOutput, error) {
	m.lockPutBucketWebsiteWithContext.Lock()
	defer m.lockPutBucketWebsiteWithContext.Unlock()

	if m.PutBucketWebsiteWithContextFunc == nil {
		panic("mocker: S3API.PutBucketWebsiteWithContextFunc is nil but S3API.PutBucketWebsiteWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketWebsiteInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutBucketWebsiteWithContext = append(m.calls.PutBucketWebsiteWithContext, call)

	return m.PutBucketWebsiteWithContextFunc(arg0, arg1, arg2...)
}

// PutBucketWebsiteWithContextCalled returns true if PutBucketWebsiteWithContext was called at least once.
func (m *S3API) PutBucketWebsiteWithContextCalled() bool {
	m.lockPutBucketWebsiteWithContext.Lock()
	defer m.lockPutBucketWebsiteWithContext.Unlock()

	return len(m.calls.PutBucketWebsiteWithContext) > 0
}

// PutBucketWebsiteWithContextCalls returns the calls made to PutBucketWebsiteWithContext.
func (m *S3API) PutBucketWebsiteWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutBucketWebsiteInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutBucketWebsiteWithContext.Lock()
	defer m.lockPutBucketWebsiteWithContext.Unlock()

	return m.calls.PutBucketWebsiteWithContext
}

// PutBucketWebsiteRequest mocks base method by wrapping the associated func.
func (m *S3API) PutBucketWebsiteRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketWebsiteInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutBucketWebsiteOutput) {
	m.lockPutBucketWebsiteRequest.Lock()
	defer m.lockPutBucketWebsiteRequest.Unlock()

	if m.PutBucketWebsiteRequestFunc == nil {
		panic("mocker: S3API.PutBucketWebsiteRequestFunc is nil but S3API.PutBucketWebsiteRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketWebsiteInput
	}{
		Arg0: arg0,
	}

	m.calls.PutBucketWebsiteRequest = append(m.calls.PutBucketWebsiteRequest, call)

	return m.PutBucketWebsiteRequestFunc(arg0)
}

// PutBucketWebsiteRequestCalled returns true if PutBucketWebsiteRequest was called at least once.
func (m *S3API) PutBucketWebsiteRequestCalled() bool {
	m.lockPutBucketWebsiteRequest.Lock()
	defer m.lockPutBucketWebsiteRequest.Unlock()

	return len(m.calls.PutBucketWebsiteRequest) > 0
}

// PutBucketWebsiteRequestCalls returns the calls made to PutBucketWebsiteRequest.
func (m *S3API) PutBucketWebsiteRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutBucketWebsiteInput
} {
	m.lockPutBucketWebsiteRequest.Lock()
	defer m.lockPutBucketWebsiteRequest.Unlock()

	return m.calls.PutBucketWebsiteRequest
}

// PutObject mocks base method by wrapping the associated func.
func (m *S3API) PutObject(arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectInput) (*github_com_aws_aws_sdk_go_service_s3.PutObjectOutput, error) {
	m.lockPutObject.Lock()
	defer m.lockPutObject.Unlock()

	if m.PutObjectFunc == nil {
		panic("mocker: S3API.PutObjectFunc is nil but S3API.PutObject was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectInput
	}{
		Arg0: arg0,
	}

	m.calls.PutObject = append(m.calls.PutObject, call)

	return m.PutObjectFunc(arg0)
}

// PutObjectCalled returns true if PutObject was called at least once.
func (m *S3API) PutObjectCalled() bool {
	m.lockPutObject.Lock()
	defer m.lockPutObject.Unlock()

	return len(m.calls.PutObject) > 0
}

// PutObjectCalls returns the calls made to PutObject.
func (m *S3API) PutObjectCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectInput
} {
	m.lockPutObject.Lock()
	defer m.lockPutObject.Unlock()

	return m.calls.PutObject
}

// PutObjectWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutObjectWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutObjectOutput, error) {
	m.lockPutObjectWithContext.Lock()
	defer m.lockPutObjectWithContext.Unlock()

	if m.PutObjectWithContextFunc == nil {
		panic("mocker: S3API.PutObjectWithContextFunc is nil but S3API.PutObjectWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutObjectWithContext = append(m.calls.PutObjectWithContext, call)

	return m.PutObjectWithContextFunc(arg0, arg1, arg2...)
}

// PutObjectWithContextCalled returns true if PutObjectWithContext was called at least once.
func (m *S3API) PutObjectWithContextCalled() bool {
	m.lockPutObjectWithContext.Lock()
	defer m.lockPutObjectWithContext.Unlock()

	return len(m.calls.PutObjectWithContext) > 0
}

// PutObjectWithContextCalls returns the calls made to PutObjectWithContext.
func (m *S3API) PutObjectWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutObjectWithContext.Lock()
	defer m.lockPutObjectWithContext.Unlock()

	return m.calls.PutObjectWithContext
}

// PutObjectRequest mocks base method by wrapping the associated func.
func (m *S3API) PutObjectRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutObjectOutput) {
	m.lockPutObjectRequest.Lock()
	defer m.lockPutObjectRequest.Unlock()

	if m.PutObjectRequestFunc == nil {
		panic("mocker: S3API.PutObjectRequestFunc is nil but S3API.PutObjectRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectInput
	}{
		Arg0: arg0,
	}

	m.calls.PutObjectRequest = append(m.calls.PutObjectRequest, call)

	return m.PutObjectRequestFunc(arg0)
}

// PutObjectRequestCalled returns true if PutObjectRequest was called at least once.
func (m *S3API) PutObjectRequestCalled() bool {
	m.lockPutObjectRequest.Lock()
	defer m.lockPutObjectRequest.Unlock()

	return len(m.calls.PutObjectRequest) > 0
}

// PutObjectRequestCalls returns the calls made to PutObjectRequest.
func (m *S3API) PutObjectRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectInput
} {
	m.lockPutObjectRequest.Lock()
	defer m.lockPutObjectRequest.Unlock()

	return m.calls.PutObjectRequest
}

// PutObjectAcl mocks base method by wrapping the associated func.
func (m *S3API) PutObjectAcl(arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectAclInput) (*github_com_aws_aws_sdk_go_service_s3.PutObjectAclOutput, error) {
	m.lockPutObjectAcl.Lock()
	defer m.lockPutObjectAcl.Unlock()

	if m.PutObjectAclFunc == nil {
		panic("mocker: S3API.PutObjectAclFunc is nil but S3API.PutObjectAcl was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectAclInput
	}{
		Arg0: arg0,
	}

	m.calls.PutObjectAcl = append(m.calls.PutObjectAcl, call)

	return m.PutObjectAclFunc(arg0)
}

// PutObjectAclCalled returns true if PutObjectAcl was called at least once.
func (m *S3API) PutObjectAclCalled() bool {
	m.lockPutObjectAcl.Lock()
	defer m.lockPutObjectAcl.Unlock()

	return len(m.calls.PutObjectAcl) > 0
}

// PutObjectAclCalls returns the calls made to PutObjectAcl.
func (m *S3API) PutObjectAclCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectAclInput
} {
	m.lockPutObjectAcl.Lock()
	defer m.lockPutObjectAcl.Unlock()

	return m.calls.PutObjectAcl
}

// PutObjectAclWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutObjectAclWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectAclInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutObjectAclOutput, error) {
	m.lockPutObjectAclWithContext.Lock()
	defer m.lockPutObjectAclWithContext.Unlock()

	if m.PutObjectAclWithContextFunc == nil {
		panic("mocker: S3API.PutObjectAclWithContextFunc is nil but S3API.PutObjectAclWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectAclInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutObjectAclWithContext = append(m.calls.PutObjectAclWithContext, call)

	return m.PutObjectAclWithContextFunc(arg0, arg1, arg2...)
}

// PutObjectAclWithContextCalled returns true if PutObjectAclWithContext was called at least once.
func (m *S3API) PutObjectAclWithContextCalled() bool {
	m.lockPutObjectAclWithContext.Lock()
	defer m.lockPutObjectAclWithContext.Unlock()

	return len(m.calls.PutObjectAclWithContext) > 0
}

// PutObjectAclWithContextCalls returns the calls made to PutObjectAclWithContext.
func (m *S3API) PutObjectAclWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectAclInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutObjectAclWithContext.Lock()
	defer m.lockPutObjectAclWithContext.Unlock()

	return m.calls.PutObjectAclWithContext
}

// PutObjectAclRequest mocks base method by wrapping the associated func.
func (m *S3API) PutObjectAclRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectAclInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutObjectAclOutput) {
	m.lockPutObjectAclRequest.Lock()
	defer m.lockPutObjectAclRequest.Unlock()

	if m.PutObjectAclRequestFunc == nil {
		panic("mocker: S3API.PutObjectAclRequestFunc is nil but S3API.PutObjectAclRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectAclInput
	}{
		Arg0: arg0,
	}

	m.calls.PutObjectAclRequest = append(m.calls.PutObjectAclRequest, call)

	return m.PutObjectAclRequestFunc(arg0)
}

// PutObjectAclRequestCalled returns true if PutObjectAclRequest was called at least once.
func (m *S3API) PutObjectAclRequestCalled() bool {
	m.lockPutObjectAclRequest.Lock()
	defer m.lockPutObjectAclRequest.Unlock()

	return len(m.calls.PutObjectAclRequest) > 0
}

// PutObjectAclRequestCalls returns the calls made to PutObjectAclRequest.
func (m *S3API) PutObjectAclRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectAclInput
} {
	m.lockPutObjectAclRequest.Lock()
	defer m.lockPutObjectAclRequest.Unlock()

	return m.calls.PutObjectAclRequest
}

// PutObjectLegalHold mocks base method by wrapping the associated func.
func (m *S3API) PutObjectLegalHold(arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectLegalHoldInput) (*github_com_aws_aws_sdk_go_service_s3.PutObjectLegalHoldOutput, error) {
	m.lockPutObjectLegalHold.Lock()
	defer m.lockPutObjectLegalHold.Unlock()

	if m.PutObjectLegalHoldFunc == nil {
		panic("mocker: S3API.PutObjectLegalHoldFunc is nil but S3API.PutObjectLegalHold was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectLegalHoldInput
	}{
		Arg0: arg0,
	}

	m.calls.PutObjectLegalHold = append(m.calls.PutObjectLegalHold, call)

	return m.PutObjectLegalHoldFunc(arg0)
}

// PutObjectLegalHoldCalled returns true if PutObjectLegalHold was called at least once.
func (m *S3API) PutObjectLegalHoldCalled() bool {
	m.lockPutObjectLegalHold.Lock()
	defer m.lockPutObjectLegalHold.Unlock()

	return len(m.calls.PutObjectLegalHold) > 0
}

// PutObjectLegalHoldCalls returns the calls made to PutObjectLegalHold.
func (m *S3API) PutObjectLegalHoldCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectLegalHoldInput
} {
	m.lockPutObjectLegalHold.Lock()
	defer m.lockPutObjectLegalHold.Unlock()

	return m.calls.PutObjectLegalHold
}

// PutObjectLegalHoldWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutObjectLegalHoldWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectLegalHoldInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutObjectLegalHoldOutput, error) {
	m.lockPutObjectLegalHoldWithContext.Lock()
	defer m.lockPutObjectLegalHoldWithContext.Unlock()

	if m.PutObjectLegalHoldWithContextFunc == nil {
		panic("mocker: S3API.PutObjectLegalHoldWithContextFunc is nil but S3API.PutObjectLegalHoldWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectLegalHoldInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutObjectLegalHoldWithContext = append(m.calls.PutObjectLegalHoldWithContext, call)

	return m.PutObjectLegalHoldWithContextFunc(arg0, arg1, arg2...)
}

// PutObjectLegalHoldWithContextCalled returns true if PutObjectLegalHoldWithContext was called at least once.
func (m *S3API) PutObjectLegalHoldWithContextCalled() bool {
	m.lockPutObjectLegalHoldWithContext.Lock()
	defer m.lockPutObjectLegalHoldWithContext.Unlock()

	return len(m.calls.PutObjectLegalHoldWithContext) > 0
}

// PutObjectLegalHoldWithContextCalls returns the calls made to PutObjectLegalHoldWithContext.
func (m *S3API) PutObjectLegalHoldWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectLegalHoldInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutObjectLegalHoldWithContext.Lock()
	defer m.lockPutObjectLegalHoldWithContext.Unlock()

	return m.calls.PutObjectLegalHoldWithContext
}

// PutObjectLegalHoldRequest mocks base method by wrapping the associated func.
func (m *S3API) PutObjectLegalHoldRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectLegalHoldInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutObjectLegalHoldOutput) {
	m.lockPutObjectLegalHoldRequest.Lock()
	defer m.lockPutObjectLegalHoldRequest.Unlock()

	if m.PutObjectLegalHoldRequestFunc == nil {
		panic("mocker: S3API.PutObjectLegalHoldRequestFunc is nil but S3API.PutObjectLegalHoldRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectLegalHoldInput
	}{
		Arg0: arg0,
	}

	m.calls.PutObjectLegalHoldRequest = append(m.calls.PutObjectLegalHoldRequest, call)

	return m.PutObjectLegalHoldRequestFunc(arg0)
}

// PutObjectLegalHoldRequestCalled returns true if PutObjectLegalHoldRequest was called at least once.
func (m *S3API) PutObjectLegalHoldRequestCalled() bool {
	m.lockPutObjectLegalHoldRequest.Lock()
	defer m.lockPutObjectLegalHoldRequest.Unlock()

	return len(m.calls.PutObjectLegalHoldRequest) > 0
}

// PutObjectLegalHoldRequestCalls returns the calls made to PutObjectLegalHoldRequest.
func (m *S3API) PutObjectLegalHoldRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectLegalHoldInput
} {
	m.lockPutObjectLegalHoldRequest.Lock()
	defer m.lockPutObjectLegalHoldRequest.Unlock()

	return m.calls.PutObjectLegalHoldRequest
}

// PutObjectLockConfiguration mocks base method by wrapping the associated func.
func (m *S3API) PutObjectLockConfiguration(arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectLockConfigurationInput) (*github_com_aws_aws_sdk_go_service_s3.PutObjectLockConfigurationOutput, error) {
	m.lockPutObjectLockConfiguration.Lock()
	defer m.lockPutObjectLockConfiguration.Unlock()

	if m.PutObjectLockConfigurationFunc == nil {
		panic("mocker: S3API.PutObjectLockConfigurationFunc is nil but S3API.PutObjectLockConfiguration was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectLockConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.PutObjectLockConfiguration = append(m.calls.PutObjectLockConfiguration, call)

	return m.PutObjectLockConfigurationFunc(arg0)
}

// PutObjectLockConfigurationCalled returns true if PutObjectLockConfiguration was called at least once.
func (m *S3API) PutObjectLockConfigurationCalled() bool {
	m.lockPutObjectLockConfiguration.Lock()
	defer m.lockPutObjectLockConfiguration.Unlock()

	return len(m.calls.PutObjectLockConfiguration) > 0
}

// PutObjectLockConfigurationCalls returns the calls made to PutObjectLockConfiguration.
func (m *S3API) PutObjectLockConfigurationCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectLockConfigurationInput
} {
	m.lockPutObjectLockConfiguration.Lock()
	defer m.lockPutObjectLockConfiguration.Unlock()

	return m.calls.PutObjectLockConfiguration
}

// PutObjectLockConfigurationWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutObjectLockConfigurationWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectLockConfigurationInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutObjectLockConfigurationOutput, error) {
	m.lockPutObjectLockConfigurationWithContext.Lock()
	defer m.lockPutObjectLockConfigurationWithContext.Unlock()

	if m.PutObjectLockConfigurationWithContextFunc == nil {
		panic("mocker: S3API.PutObjectLockConfigurationWithContextFunc is nil but S3API.PutObjectLockConfigurationWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectLockConfigurationInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutObjectLockConfigurationWithContext = append(m.calls.PutObjectLockConfigurationWithContext, call)

	return m.PutObjectLockConfigurationWithContextFunc(arg0, arg1, arg2...)
}

// PutObjectLockConfigurationWithContextCalled returns true if PutObjectLockConfigurationWithContext was called at least once.
func (m *S3API) PutObjectLockConfigurationWithContextCalled() bool {
	m.lockPutObjectLockConfigurationWithContext.Lock()
	defer m.lockPutObjectLockConfigurationWithContext.Unlock()

	return len(m.calls.PutObjectLockConfigurationWithContext) > 0
}

// PutObjectLockConfigurationWithContextCalls returns the calls made to PutObjectLockConfigurationWithContext.
func (m *S3API) PutObjectLockConfigurationWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectLockConfigurationInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutObjectLockConfigurationWithContext.Lock()
	defer m.lockPutObjectLockConfigurationWithContext.Unlock()

	return m.calls.PutObjectLockConfigurationWithContext
}

// PutObjectLockConfigurationRequest mocks base method by wrapping the associated func.
func (m *S3API) PutObjectLockConfigurationRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectLockConfigurationInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutObjectLockConfigurationOutput) {
	m.lockPutObjectLockConfigurationRequest.Lock()
	defer m.lockPutObjectLockConfigurationRequest.Unlock()

	if m.PutObjectLockConfigurationRequestFunc == nil {
		panic("mocker: S3API.PutObjectLockConfigurationRequestFunc is nil but S3API.PutObjectLockConfigurationRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectLockConfigurationInput
	}{
		Arg0: arg0,
	}

	m.calls.PutObjectLockConfigurationRequest = append(m.calls.PutObjectLockConfigurationRequest, call)

	return m.PutObjectLockConfigurationRequestFunc(arg0)
}

// PutObjectLockConfigurationRequestCalled returns true if PutObjectLockConfigurationRequest was called at least once.
func (m *S3API) PutObjectLockConfigurationRequestCalled() bool {
	m.lockPutObjectLockConfigurationRequest.Lock()
	defer m.lockPutObjectLockConfigurationRequest.Unlock()

	return len(m.calls.PutObjectLockConfigurationRequest) > 0
}

// PutObjectLockConfigurationRequestCalls returns the calls made to PutObjectLockConfigurationRequest.
func (m *S3API) PutObjectLockConfigurationRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectLockConfigurationInput
} {
	m.lockPutObjectLockConfigurationRequest.Lock()
	defer m.lockPutObjectLockConfigurationRequest.Unlock()

	return m.calls.PutObjectLockConfigurationRequest
}

// PutObjectRetention mocks base method by wrapping the associated func.
func (m *S3API) PutObjectRetention(arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectRetentionInput) (*github_com_aws_aws_sdk_go_service_s3.PutObjectRetentionOutput, error) {
	m.lockPutObjectRetention.Lock()
	defer m.lockPutObjectRetention.Unlock()

	if m.PutObjectRetentionFunc == nil {
		panic("mocker: S3API.PutObjectRetentionFunc is nil but S3API.PutObjectRetention was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectRetentionInput
	}{
		Arg0: arg0,
	}

	m.calls.PutObjectRetention = append(m.calls.PutObjectRetention, call)

	return m.PutObjectRetentionFunc(arg0)
}

// PutObjectRetentionCalled returns true if PutObjectRetention was called at least once.
func (m *S3API) PutObjectRetentionCalled() bool {
	m.lockPutObjectRetention.Lock()
	defer m.lockPutObjectRetention.Unlock()

	return len(m.calls.PutObjectRetention) > 0
}

// PutObjectRetentionCalls returns the calls made to PutObjectRetention.
func (m *S3API) PutObjectRetentionCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectRetentionInput
} {
	m.lockPutObjectRetention.Lock()
	defer m.lockPutObjectRetention.Unlock()

	return m.calls.PutObjectRetention
}

// PutObjectRetentionWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutObjectRetentionWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectRetentionInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutObjectRetentionOutput, error) {
	m.lockPutObjectRetentionWithContext.Lock()
	defer m.lockPutObjectRetentionWithContext.Unlock()

	if m.PutObjectRetentionWithContextFunc == nil {
		panic("mocker: S3API.PutObjectRetentionWithContextFunc is nil but S3API.PutObjectRetentionWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectRetentionInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutObjectRetentionWithContext = append(m.calls.PutObjectRetentionWithContext, call)

	return m.PutObjectRetentionWithContextFunc(arg0, arg1, arg2...)
}

// PutObjectRetentionWithContextCalled returns true if PutObjectRetentionWithContext was called at least once.
func (m *S3API) PutObjectRetentionWithContextCalled() bool {
	m.lockPutObjectRetentionWithContext.Lock()
	defer m.lockPutObjectRetentionWithContext.Unlock()

	return len(m.calls.PutObjectRetentionWithContext) > 0
}

// PutObjectRetentionWithContextCalls returns the calls made to PutObjectRetentionWithContext.
func (m *S3API) PutObjectRetentionWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectRetentionInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutObjectRetentionWithContext.Lock()
	defer m.lockPutObjectRetentionWithContext.Unlock()

	return m.calls.PutObjectRetentionWithContext
}

// PutObjectRetentionRequest mocks base method by wrapping the associated func.
func (m *S3API) PutObjectRetentionRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectRetentionInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutObjectRetentionOutput) {
	m.lockPutObjectRetentionRequest.Lock()
	defer m.lockPutObjectRetentionRequest.Unlock()

	if m.PutObjectRetentionRequestFunc == nil {
		panic("mocker: S3API.PutObjectRetentionRequestFunc is nil but S3API.PutObjectRetentionRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectRetentionInput
	}{
		Arg0: arg0,
	}

	m.calls.PutObjectRetentionRequest = append(m.calls.PutObjectRetentionRequest, call)

	return m.PutObjectRetentionRequestFunc(arg0)
}

// PutObjectRetentionRequestCalled returns true if PutObjectRetentionRequest was called at least once.
func (m *S3API) PutObjectRetentionRequestCalled() bool {
	m.lockPutObjectRetentionRequest.Lock()
	defer m.lockPutObjectRetentionRequest.Unlock()

	return len(m.calls.PutObjectRetentionRequest) > 0
}

// PutObjectRetentionRequestCalls returns the calls made to PutObjectRetentionRequest.
func (m *S3API) PutObjectRetentionRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectRetentionInput
} {
	m.lockPutObjectRetentionRequest.Lock()
	defer m.lockPutObjectRetentionRequest.Unlock()

	return m.calls.PutObjectRetentionRequest
}

// PutObjectTagging mocks base method by wrapping the associated func.
func (m *S3API) PutObjectTagging(arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectTaggingInput) (*github_com_aws_aws_sdk_go_service_s3.PutObjectTaggingOutput, error) {
	m.lockPutObjectTagging.Lock()
	defer m.lockPutObjectTagging.Unlock()

	if m.PutObjectTaggingFunc == nil {
		panic("mocker: S3API.PutObjectTaggingFunc is nil but S3API.PutObjectTagging was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectTaggingInput
	}{
		Arg0: arg0,
	}

	m.calls.PutObjectTagging = append(m.calls.PutObjectTagging, call)

	return m.PutObjectTaggingFunc(arg0)
}

// PutObjectTaggingCalled returns true if PutObjectTagging was called at least once.
func (m *S3API) PutObjectTaggingCalled() bool {
	m.lockPutObjectTagging.Lock()
	defer m.lockPutObjectTagging.Unlock()

	return len(m.calls.PutObjectTagging) > 0
}

// PutObjectTaggingCalls returns the calls made to PutObjectTagging.
func (m *S3API) PutObjectTaggingCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectTaggingInput
} {
	m.lockPutObjectTagging.Lock()
	defer m.lockPutObjectTagging.Unlock()

	return m.calls.PutObjectTagging
}

// PutObjectTaggingWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutObjectTaggingWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectTaggingInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutObjectTaggingOutput, error) {
	m.lockPutObjectTaggingWithContext.Lock()
	defer m.lockPutObjectTaggingWithContext.Unlock()

	if m.PutObjectTaggingWithContextFunc == nil {
		panic("mocker: S3API.PutObjectTaggingWithContextFunc is nil but S3API.PutObjectTaggingWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectTaggingInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutObjectTaggingWithContext = append(m.calls.PutObjectTaggingWithContext, call)

	return m.PutObjectTaggingWithContextFunc(arg0, arg1, arg2...)
}

// PutObjectTaggingWithContextCalled returns true if PutObjectTaggingWithContext was called at least once.
func (m *S3API) PutObjectTaggingWithContextCalled() bool {
	m.lockPutObjectTaggingWithContext.Lock()
	defer m.lockPutObjectTaggingWithContext.Unlock()

	return len(m.calls.PutObjectTaggingWithContext) > 0
}

// PutObjectTaggingWithContextCalls returns the calls made to PutObjectTaggingWithContext.
func (m *S3API) PutObjectTaggingWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutObjectTaggingInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutObjectTaggingWithContext.Lock()
	defer m.lockPutObjectTaggingWithContext.Unlock()

	return m.calls.PutObjectTaggingWithContext
}

// PutObjectTaggingRequest mocks base method by wrapping the associated func.
func (m *S3API) PutObjectTaggingRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectTaggingInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutObjectTaggingOutput) {
	m.lockPutObjectTaggingRequest.Lock()
	defer m.lockPutObjectTaggingRequest.Unlock()

	if m.PutObjectTaggingRequestFunc == nil {
		panic("mocker: S3API.PutObjectTaggingRequestFunc is nil but S3API.PutObjectTaggingRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectTaggingInput
	}{
		Arg0: arg0,
	}

	m.calls.PutObjectTaggingRequest = append(m.calls.PutObjectTaggingRequest, call)

	return m.PutObjectTaggingRequestFunc(arg0)
}

// PutObjectTaggingRequestCalled returns true if PutObjectTaggingRequest was called at least once.
func (m *S3API) PutObjectTaggingRequestCalled() bool {
	m.lockPutObjectTaggingRequest.Lock()
	defer m.lockPutObjectTaggingRequest.Unlock()

	return len(m.calls.PutObjectTaggingRequest) > 0
}

// PutObjectTaggingRequestCalls returns the calls made to PutObjectTaggingRequest.
func (m *S3API) PutObjectTaggingRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutObjectTaggingInput
} {
	m.lockPutObjectTaggingRequest.Lock()
	defer m.lockPutObjectTaggingRequest.Unlock()

	return m.calls.PutObjectTaggingRequest
}

// PutPublicAccessBlock mocks base method by wrapping the associated func.
func (m *S3API) PutPublicAccessBlock(arg0 *github_com_aws_aws_sdk_go_service_s3.PutPublicAccessBlockInput) (*github_com_aws_aws_sdk_go_service_s3.PutPublicAccessBlockOutput, error) {
	m.lockPutPublicAccessBlock.Lock()
	defer m.lockPutPublicAccessBlock.Unlock()

	if m.PutPublicAccessBlockFunc == nil {
		panic("mocker: S3API.PutPublicAccessBlockFunc is nil but S3API.PutPublicAccessBlock was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutPublicAccessBlockInput
	}{
		Arg0: arg0,
	}

	m.calls.PutPublicAccessBlock = append(m.calls.PutPublicAccessBlock, call)

	return m.PutPublicAccessBlockFunc(arg0)
}

// PutPublicAccessBlockCalled returns true if PutPublicAccessBlock was called at least once.
func (m *S3API) PutPublicAccessBlockCalled() bool {
	m.lockPutPublicAccessBlock.Lock()
	defer m.lockPutPublicAccessBlock.Unlock()

	return len(m.calls.PutPublicAccessBlock) > 0
}

// PutPublicAccessBlockCalls returns the calls made to PutPublicAccessBlock.
func (m *S3API) PutPublicAccessBlockCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutPublicAccessBlockInput
} {
	m.lockPutPublicAccessBlock.Lock()
	defer m.lockPutPublicAccessBlock.Unlock()

	return m.calls.PutPublicAccessBlock
}

// PutPublicAccessBlockWithContext mocks base method by wrapping the associated func.
func (m *S3API) PutPublicAccessBlockWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.PutPublicAccessBlockInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.PutPublicAccessBlockOutput, error) {
	m.lockPutPublicAccessBlockWithContext.Lock()
	defer m.lockPutPublicAccessBlockWithContext.Unlock()

	if m.PutPublicAccessBlockWithContextFunc == nil {
		panic("mocker: S3API.PutPublicAccessBlockWithContextFunc is nil but S3API.PutPublicAccessBlockWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.PutPublicAccessBlockInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.PutPublicAccessBlockWithContext = append(m.calls.PutPublicAccessBlockWithContext, call)

	return m.PutPublicAccessBlockWithContextFunc(arg0, arg1, arg2...)
}

// PutPublicAccessBlockWithContextCalled returns true if PutPublicAccessBlockWithContext was called at least once.
func (m *S3API) PutPublicAccessBlockWithContextCalled() bool {
	m.lockPutPublicAccessBlockWithContext.Lock()
	defer m.lockPutPublicAccessBlockWithContext.Unlock()

	return len(m.calls.PutPublicAccessBlockWithContext) > 0
}

// PutPublicAccessBlockWithContextCalls returns the calls made to PutPublicAccessBlockWithContext.
func (m *S3API) PutPublicAccessBlockWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.PutPublicAccessBlockInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockPutPublicAccessBlockWithContext.Lock()
	defer m.lockPutPublicAccessBlockWithContext.Unlock()

	return m.calls.PutPublicAccessBlockWithContext
}

// PutPublicAccessBlockRequest mocks base method by wrapping the associated func.
func (m *S3API) PutPublicAccessBlockRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.PutPublicAccessBlockInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.PutPublicAccessBlockOutput) {
	m.lockPutPublicAccessBlockRequest.Lock()
	defer m.lockPutPublicAccessBlockRequest.Unlock()

	if m.PutPublicAccessBlockRequestFunc == nil {
		panic("mocker: S3API.PutPublicAccessBlockRequestFunc is nil but S3API.PutPublicAccessBlockRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.PutPublicAccessBlockInput
	}{
		Arg0: arg0,
	}

	m.calls.PutPublicAccessBlockRequest = append(m.calls.PutPublicAccessBlockRequest, call)

	return m.PutPublicAccessBlockRequestFunc(arg0)
}

// PutPublicAccessBlockRequestCalled returns true if PutPublicAccessBlockRequest was called at least once.
func (m *S3API) PutPublicAccessBlockRequestCalled() bool {
	m.lockPutPublicAccessBlockRequest.Lock()
	defer m.lockPutPublicAccessBlockRequest.Unlock()

	return len(m.calls.PutPublicAccessBlockRequest) > 0
}

// PutPublicAccessBlockRequestCalls returns the calls made to PutPublicAccessBlockRequest.
func (m *S3API) PutPublicAccessBlockRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.PutPublicAccessBlockInput
} {
	m.lockPutPublicAccessBlockRequest.Lock()
	defer m.lockPutPublicAccessBlockRequest.Unlock()

	return m.calls.PutPublicAccessBlockRequest
}

// RestoreObject mocks base method by wrapping the associated func.
func (m *S3API) RestoreObject(arg0 *github_com_aws_aws_sdk_go_service_s3.RestoreObjectInput) (*github_com_aws_aws_sdk_go_service_s3.RestoreObjectOutput, error) {
	m.lockRestoreObject.Lock()
	defer m.lockRestoreObject.Unlock()

	if m.RestoreObjectFunc == nil {
		panic("mocker: S3API.RestoreObjectFunc is nil but S3API.RestoreObject was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.RestoreObjectInput
	}{
		Arg0: arg0,
	}

	m.calls.RestoreObject = append(m.calls.RestoreObject, call)

	return m.RestoreObjectFunc(arg0)
}

// RestoreObjectCalled returns true if RestoreObject was called at least once.
func (m *S3API) RestoreObjectCalled() bool {
	m.lockRestoreObject.Lock()
	defer m.lockRestoreObject.Unlock()

	return len(m.calls.RestoreObject) > 0
}

// RestoreObjectCalls returns the calls made to RestoreObject.
func (m *S3API) RestoreObjectCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.RestoreObjectInput
} {
	m.lockRestoreObject.Lock()
	defer m.lockRestoreObject.Unlock()

	return m.calls.RestoreObject
}

// RestoreObjectWithContext mocks base method by wrapping the associated func.
func (m *S3API) RestoreObjectWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.RestoreObjectInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.RestoreObjectOutput, error) {
	m.lockRestoreObjectWithContext.Lock()
	defer m.lockRestoreObjectWithContext.Unlock()

	if m.RestoreObjectWithContextFunc == nil {
		panic("mocker: S3API.RestoreObjectWithContextFunc is nil but S3API.RestoreObjectWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.RestoreObjectInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.RestoreObjectWithContext = append(m.calls.RestoreObjectWithContext, call)

	return m.RestoreObjectWithContextFunc(arg0, arg1, arg2...)
}

// RestoreObjectWithContextCalled returns true if RestoreObjectWithContext was called at least once.
func (m *S3API) RestoreObjectWithContextCalled() bool {
	m.lockRestoreObjectWithContext.Lock()
	defer m.lockRestoreObjectWithContext.Unlock()

	return len(m.calls.RestoreObjectWithContext) > 0
}

// RestoreObjectWithContextCalls returns the calls made to RestoreObjectWithContext.
func (m *S3API) RestoreObjectWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.RestoreObjectInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockRestoreObjectWithContext.Lock()
	defer m.lockRestoreObjectWithContext.Unlock()

	return m.calls.RestoreObjectWithContext
}

// RestoreObjectRequest mocks base method by wrapping the associated func.
func (m *S3API) RestoreObjectRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.RestoreObjectInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.RestoreObjectOutput) {
	m.lockRestoreObjectRequest.Lock()
	defer m.lockRestoreObjectRequest.Unlock()

	if m.RestoreObjectRequestFunc == nil {
		panic("mocker: S3API.RestoreObjectRequestFunc is nil but S3API.RestoreObjectRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.RestoreObjectInput
	}{
		Arg0: arg0,
	}

	m.calls.RestoreObjectRequest = append(m.calls.RestoreObjectRequest, call)

	return m.RestoreObjectRequestFunc(arg0)
}

// RestoreObjectRequestCalled returns true if RestoreObjectRequest was called at least once.
func (m *S3API) RestoreObjectRequestCalled() bool {
	m.lockRestoreObjectRequest.Lock()
	defer m.lockRestoreObjectRequest.Unlock()

	return len(m.calls.RestoreObjectRequest) > 0
}

// RestoreObjectRequestCalls returns the calls made to RestoreObjectRequest.
func (m *S3API) RestoreObjectRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.RestoreObjectInput
} {
	m.lockRestoreObjectRequest.Lock()
	defer m.lockRestoreObjectRequest.Unlock()

	return m.calls.RestoreObjectRequest
}

// SelectObjectContent mocks base method by wrapping the associated func.
func (m *S3API) SelectObjectContent(arg0 *github_com_aws_aws_sdk_go_service_s3.SelectObjectContentInput) (*github_com_aws_aws_sdk_go_service_s3.SelectObjectContentOutput, error) {
	m.lockSelectObjectContent.Lock()
	defer m.lockSelectObjectContent.Unlock()

	if m.SelectObjectContentFunc == nil {
		panic("mocker: S3API.SelectObjectContentFunc is nil but S3API.SelectObjectContent was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.SelectObjectContentInput
	}{
		Arg0: arg0,
	}

	m.calls.SelectObjectContent = append(m.calls.SelectObjectContent, call)

	return m.SelectObjectContentFunc(arg0)
}

// SelectObjectContentCalled returns true if SelectObjectContent was called at least once.
func (m *S3API) SelectObjectContentCalled() bool {
	m.lockSelectObjectContent.Lock()
	defer m.lockSelectObjectContent.Unlock()

	return len(m.calls.SelectObjectContent) > 0
}

// SelectObjectContentCalls returns the calls made to SelectObjectContent.
func (m *S3API) SelectObjectContentCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.SelectObjectContentInput
} {
	m.lockSelectObjectContent.Lock()
	defer m.lockSelectObjectContent.Unlock()

	return m.calls.SelectObjectContent
}

// SelectObjectContentWithContext mocks base method by wrapping the associated func.
func (m *S3API) SelectObjectContentWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.SelectObjectContentInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.SelectObjectContentOutput, error) {
	m.lockSelectObjectContentWithContext.Lock()
	defer m.lockSelectObjectContentWithContext.Unlock()

	if m.SelectObjectContentWithContextFunc == nil {
		panic("mocker: S3API.SelectObjectContentWithContextFunc is nil but S3API.SelectObjectContentWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.SelectObjectContentInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.SelectObjectContentWithContext = append(m.calls.SelectObjectContentWithContext, call)

	return m.SelectObjectContentWithContextFunc(arg0, arg1, arg2...)
}

// SelectObjectContentWithContextCalled returns true if SelectObjectContentWithContext was called at least once.
func (m *S3API) SelectObjectContentWithContextCalled() bool {
	m.lockSelectObjectContentWithContext.Lock()
	defer m.lockSelectObjectContentWithContext.Unlock()

	return len(m.calls.SelectObjectContentWithContext) > 0
}

// SelectObjectContentWithContextCalls returns the calls made to SelectObjectContentWithContext.
func (m *S3API) SelectObjectContentWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.SelectObjectContentInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockSelectObjectContentWithContext.Lock()
	defer m.lockSelectObjectContentWithContext.Unlock()

	return m.calls.SelectObjectContentWithContext
}

// SelectObjectContentRequest mocks base method by wrapping the associated func.
func (m *S3API) SelectObjectContentRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.SelectObjectContentInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.SelectObjectContentOutput) {
	m.lockSelectObjectContentRequest.Lock()
	defer m.lockSelectObjectContentRequest.Unlock()

	if m.SelectObjectContentRequestFunc == nil {
		panic("mocker: S3API.SelectObjectContentRequestFunc is nil but S3API.SelectObjectContentRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.SelectObjectContentInput
	}{
		Arg0: arg0,
	}

	m.calls.SelectObjectContentRequest = append(m.calls.SelectObjectContentRequest, call)

	return m.SelectObjectContentRequestFunc(arg0)
}

// SelectObjectContentRequestCalled returns true if SelectObjectContentRequest was called at least once.
func (m *S3API) SelectObjectContentRequestCalled() bool {
	m.lockSelectObjectContentRequest.Lock()
	defer m.lockSelectObjectContentRequest.Unlock()

	return len(m.calls.SelectObjectContentRequest) > 0
}

// SelectObjectContentRequestCalls returns the calls made to SelectObjectContentRequest.
func (m *S3API) SelectObjectContentRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.SelectObjectContentInput
} {
	m.lockSelectObjectContentRequest.Lock()
	defer m.lockSelectObjectContentRequest.Unlock()

	return m.calls.SelectObjectContentRequest
}

// UploadPart mocks base method by wrapping the associated func.
func (m *S3API) UploadPart(arg0 *github_com_aws_aws_sdk_go_service_s3.UploadPartInput) (*github_com_aws_aws_sdk_go_service_s3.UploadPartOutput, error) {
	m.lockUploadPart.Lock()
	defer m.lockUploadPart.Unlock()

	if m.UploadPartFunc == nil {
		panic("mocker: S3API.UploadPartFunc is nil but S3API.UploadPart was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.UploadPartInput
	}{
		Arg0: arg0,
	}

	m.calls.UploadPart = append(m.calls.UploadPart, call)

	return m.UploadPartFunc(arg0)
}

// UploadPartCalled returns true if UploadPart was called at least once.
func (m *S3API) UploadPartCalled() bool {
	m.lockUploadPart.Lock()
	defer m.lockUploadPart.Unlock()

	return len(m.calls.UploadPart) > 0
}

// UploadPartCalls returns the calls made to UploadPart.
func (m *S3API) UploadPartCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.UploadPartInput
} {
	m.lockUploadPart.Lock()
	defer m.lockUploadPart.Unlock()

	return m.calls.UploadPart
}

// UploadPartWithContext mocks base method by wrapping the associated func.
func (m *S3API) UploadPartWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.UploadPartInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.UploadPartOutput, error) {
	m.lockUploadPartWithContext.Lock()
	defer m.lockUploadPartWithContext.Unlock()

	if m.UploadPartWithContextFunc == nil {
		panic("mocker: S3API.UploadPartWithContextFunc is nil but S3API.UploadPartWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.UploadPartInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.UploadPartWithContext = append(m.calls.UploadPartWithContext, call)

	return m.UploadPartWithContextFunc(arg0, arg1, arg2...)
}

// UploadPartWithContextCalled returns true if UploadPartWithContext was called at least once.
func (m *S3API) UploadPartWithContextCalled() bool {
	m.lockUploadPartWithContext.Lock()
	defer m.lockUploadPartWithContext.Unlock()

	return len(m.calls.UploadPartWithContext) > 0
}

// UploadPartWithContextCalls returns the calls made to UploadPartWithContext.
func (m *S3API) UploadPartWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.UploadPartInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockUploadPartWithContext.Lock()
	defer m.lockUploadPartWithContext.Unlock()

	return m.calls.UploadPartWithContext
}

// UploadPartRequest mocks base method by wrapping the associated func.
func (m *S3API) UploadPartRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.UploadPartInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.UploadPartOutput) {
	m.lockUploadPartRequest.Lock()
	defer m.lockUploadPartRequest.Unlock()

	if m.UploadPartRequestFunc == nil {
		panic("mocker: S3API.UploadPartRequestFunc is nil but S3API.UploadPartRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.UploadPartInput
	}{
		Arg0: arg0,
	}

	m.calls.UploadPartRequest = append(m.calls.UploadPartRequest, call)

	return m.UploadPartRequestFunc(arg0)
}

// UploadPartRequestCalled returns true if UploadPartRequest was called at least once.
func (m *S3API) UploadPartRequestCalled() bool {
	m.lockUploadPartRequest.Lock()
	defer m.lockUploadPartRequest.Unlock()

	return len(m.calls.UploadPartRequest) > 0
}

// UploadPartRequestCalls returns the calls made to UploadPartRequest.
func (m *S3API) UploadPartRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.UploadPartInput
} {
	m.lockUploadPartRequest.Lock()
	defer m.lockUploadPartRequest.Unlock()

	return m.calls.UploadPartRequest
}

// UploadPartCopy mocks base method by wrapping the associated func.
func (m *S3API) UploadPartCopy(arg0 *github_com_aws_aws_sdk_go_service_s3.UploadPartCopyInput) (*github_com_aws_aws_sdk_go_service_s3.UploadPartCopyOutput, error) {
	m.lockUploadPartCopy.Lock()
	defer m.lockUploadPartCopy.Unlock()

	if m.UploadPartCopyFunc == nil {
		panic("mocker: S3API.UploadPartCopyFunc is nil but S3API.UploadPartCopy was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.UploadPartCopyInput
	}{
		Arg0: arg0,
	}

	m.calls.UploadPartCopy = append(m.calls.UploadPartCopy, call)

	return m.UploadPartCopyFunc(arg0)
}

// UploadPartCopyCalled returns true if UploadPartCopy was called at least once.
func (m *S3API) UploadPartCopyCalled() bool {
	m.lockUploadPartCopy.Lock()
	defer m.lockUploadPartCopy.Unlock()

	return len(m.calls.UploadPartCopy) > 0
}

// UploadPartCopyCalls returns the calls made to UploadPartCopy.
func (m *S3API) UploadPartCopyCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.UploadPartCopyInput
} {
	m.lockUploadPartCopy.Lock()
	defer m.lockUploadPartCopy.Unlock()

	return m.calls.UploadPartCopy
}

// UploadPartCopyWithContext mocks base method by wrapping the associated func.
func (m *S3API) UploadPartCopyWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.UploadPartCopyInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.UploadPartCopyOutput, error) {
	m.lockUploadPartCopyWithContext.Lock()
	defer m.lockUploadPartCopyWithContext.Unlock()

	if m.UploadPartCopyWithContextFunc == nil {
		panic("mocker: S3API.UploadPartCopyWithContextFunc is nil but S3API.UploadPartCopyWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.UploadPartCopyInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.UploadPartCopyWithContext = append(m.calls.UploadPartCopyWithContext, call)

	return m.UploadPartCopyWithContextFunc(arg0, arg1, arg2...)
}

// UploadPartCopyWithContextCalled returns true if UploadPartCopyWithContext was called at least once.
func (m *S3API) UploadPartCopyWithContextCalled() bool {
	m.lockUploadPartCopyWithContext.Lock()
	defer m.lockUploadPartCopyWithContext.Unlock()

	return len(m.calls.UploadPartCopyWithContext) > 0
}

// UploadPartCopyWithContextCalls returns the calls made to UploadPartCopyWithContext.
func (m *S3API) UploadPartCopyWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.UploadPartCopyInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockUploadPartCopyWithContext.Lock()
	defer m.lockUploadPartCopyWithContext.Unlock()

	return m.calls.UploadPartCopyWithContext
}

// UploadPartCopyRequest mocks base method by wrapping the associated func.
func (m *S3API) UploadPartCopyRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.UploadPartCopyInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.UploadPartCopyOutput) {
	m.lockUploadPartCopyRequest.Lock()
	defer m.lockUploadPartCopyRequest.Unlock()

	if m.UploadPartCopyRequestFunc == nil {
		panic("mocker: S3API.UploadPartCopyRequestFunc is nil but S3API.UploadPartCopyRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.UploadPartCopyInput
	}{
		Arg0: arg0,
	}

	m.calls.UploadPartCopyRequest = append(m.calls.UploadPartCopyRequest, call)

	return m.UploadPartCopyRequestFunc(arg0)
}

// UploadPartCopyRequestCalled returns true if UploadPartCopyRequest was called at least once.
func (m *S3API) UploadPartCopyRequestCalled() bool {
	m.lockUploadPartCopyRequest.Lock()
	defer m.lockUploadPartCopyRequest.Unlock()

	return len(m.calls.UploadPartCopyRequest) > 0
}

// UploadPartCopyRequestCalls returns the calls made to UploadPartCopyRequest.
func (m *S3API) UploadPartCopyRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.UploadPartCopyInput
} {
	m.lockUploadPartCopyRequest.Lock()
	defer m.lockUploadPartCopyRequest.Unlock()

	return m.calls.UploadPartCopyRequest
}

// WriteGetObjectResponse mocks base method by wrapping the associated func.
func (m *S3API) WriteGetObjectResponse(arg0 *github_com_aws_aws_sdk_go_service_s3.WriteGetObjectResponseInput) (*github_com_aws_aws_sdk_go_service_s3.WriteGetObjectResponseOutput, error) {
	m.lockWriteGetObjectResponse.Lock()
	defer m.lockWriteGetObjectResponse.Unlock()

	if m.WriteGetObjectResponseFunc == nil {
		panic("mocker: S3API.WriteGetObjectResponseFunc is nil but S3API.WriteGetObjectResponse was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.WriteGetObjectResponseInput
	}{
		Arg0: arg0,
	}

	m.calls.WriteGetObjectResponse = append(m.calls.WriteGetObjectResponse, call)

	return m.WriteGetObjectResponseFunc(arg0)
}

// WriteGetObjectResponseCalled returns true if WriteGetObjectResponse was called at least once.
func (m *S3API) WriteGetObjectResponseCalled() bool {
	m.lockWriteGetObjectResponse.Lock()
	defer m.lockWriteGetObjectResponse.Unlock()

	return len(m.calls.WriteGetObjectResponse) > 0
}

// WriteGetObjectResponseCalls returns the calls made to WriteGetObjectResponse.
func (m *S3API) WriteGetObjectResponseCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.WriteGetObjectResponseInput
} {
	m.lockWriteGetObjectResponse.Lock()
	defer m.lockWriteGetObjectResponse.Unlock()

	return m.calls.WriteGetObjectResponse
}

// WriteGetObjectResponseWithContext mocks base method by wrapping the associated func.
func (m *S3API) WriteGetObjectResponseWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.WriteGetObjectResponseInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.Option) (*github_com_aws_aws_sdk_go_service_s3.WriteGetObjectResponseOutput, error) {
	m.lockWriteGetObjectResponseWithContext.Lock()
	defer m.lockWriteGetObjectResponseWithContext.Unlock()

	if m.WriteGetObjectResponseWithContextFunc == nil {
		panic("mocker: S3API.WriteGetObjectResponseWithContextFunc is nil but S3API.WriteGetObjectResponseWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.WriteGetObjectResponseInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.WriteGetObjectResponseWithContext = append(m.calls.WriteGetObjectResponseWithContext, call)

	return m.WriteGetObjectResponseWithContextFunc(arg0, arg1, arg2...)
}

// WriteGetObjectResponseWithContextCalled returns true if WriteGetObjectResponseWithContext was called at least once.
func (m *S3API) WriteGetObjectResponseWithContextCalled() bool {
	m.lockWriteGetObjectResponseWithContext.Lock()
	defer m.lockWriteGetObjectResponseWithContext.Unlock()

	return len(m.calls.WriteGetObjectResponseWithContext) > 0
}

// WriteGetObjectResponseWithContextCalls returns the calls made to WriteGetObjectResponseWithContext.
func (m *S3API) WriteGetObjectResponseWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.WriteGetObjectResponseInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.Option
} {
	m.lockWriteGetObjectResponseWithContext.Lock()
	defer m.lockWriteGetObjectResponseWithContext.Unlock()

	return m.calls.WriteGetObjectResponseWithContext
}

// WriteGetObjectResponseRequest mocks base method by wrapping the associated func.
func (m *S3API) WriteGetObjectResponseRequest(arg0 *github_com_aws_aws_sdk_go_service_s3.WriteGetObjectResponseInput) (*github_com_aws_aws_sdk_go_aws_request.Request, *github_com_aws_aws_sdk_go_service_s3.WriteGetObjectResponseOutput) {
	m.lockWriteGetObjectResponseRequest.Lock()
	defer m.lockWriteGetObjectResponseRequest.Unlock()

	if m.WriteGetObjectResponseRequestFunc == nil {
		panic("mocker: S3API.WriteGetObjectResponseRequestFunc is nil but S3API.WriteGetObjectResponseRequest was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.WriteGetObjectResponseInput
	}{
		Arg0: arg0,
	}

	m.calls.WriteGetObjectResponseRequest = append(m.calls.WriteGetObjectResponseRequest, call)

	return m.WriteGetObjectResponseRequestFunc(arg0)
}

// WriteGetObjectResponseRequestCalled returns true if WriteGetObjectResponseRequest was called at least once.
func (m *S3API) WriteGetObjectResponseRequestCalled() bool {
	m.lockWriteGetObjectResponseRequest.Lock()
	defer m.lockWriteGetObjectResponseRequest.Unlock()

	return len(m.calls.WriteGetObjectResponseRequest) > 0
}

// WriteGetObjectResponseRequestCalls returns the calls made to WriteGetObjectResponseRequest.
func (m *S3API) WriteGetObjectResponseRequestCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.WriteGetObjectResponseInput
} {
	m.lockWriteGetObjectResponseRequest.Lock()
	defer m.lockWriteGetObjectResponseRequest.Unlock()

	return m.calls.WriteGetObjectResponseRequest
}

// WaitUntilBucketExists mocks base method by wrapping the associated func.
func (m *S3API) WaitUntilBucketExists(arg0 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput) error {
	m.lockWaitUntilBucketExists.Lock()
	defer m.lockWaitUntilBucketExists.Unlock()

	if m.WaitUntilBucketExistsFunc == nil {
		panic("mocker: S3API.WaitUntilBucketExistsFunc is nil but S3API.WaitUntilBucketExists was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput
	}{
		Arg0: arg0,
	}

	m.calls.WaitUntilBucketExists = append(m.calls.WaitUntilBucketExists, call)

	return m.WaitUntilBucketExistsFunc(arg0)
}

// WaitUntilBucketExistsCalled returns true if WaitUntilBucketExists was called at least once.
func (m *S3API) WaitUntilBucketExistsCalled() bool {
	m.lockWaitUntilBucketExists.Lock()
	defer m.lockWaitUntilBucketExists.Unlock()

	return len(m.calls.WaitUntilBucketExists) > 0
}

// WaitUntilBucketExistsCalls returns the calls made to WaitUntilBucketExists.
func (m *S3API) WaitUntilBucketExistsCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput
} {
	m.lockWaitUntilBucketExists.Lock()
	defer m.lockWaitUntilBucketExists.Unlock()

	return m.calls.WaitUntilBucketExists
}

// WaitUntilBucketExistsWithContext mocks base method by wrapping the associated func.
func (m *S3API) WaitUntilBucketExistsWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.WaiterOption) error {
	m.lockWaitUntilBucketExistsWithContext.Lock()
	defer m.lockWaitUntilBucketExistsWithContext.Unlock()

	if m.WaitUntilBucketExistsWithContextFunc == nil {
		panic("mocker: S3API.WaitUntilBucketExistsWithContextFunc is nil but S3API.WaitUntilBucketExistsWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.WaiterOption
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.WaitUntilBucketExistsWithContext = append(m.calls.WaitUntilBucketExistsWithContext, call)

	return m.WaitUntilBucketExistsWithContextFunc(arg0, arg1, arg2...)
}

// WaitUntilBucketExistsWithContextCalled returns true if WaitUntilBucketExistsWithContext was called at least once.
func (m *S3API) WaitUntilBucketExistsWithContextCalled() bool {
	m.lockWaitUntilBucketExistsWithContext.Lock()
	defer m.lockWaitUntilBucketExistsWithContext.Unlock()

	return len(m.calls.WaitUntilBucketExistsWithContext) > 0
}

// WaitUntilBucketExistsWithContextCalls returns the calls made to WaitUntilBucketExistsWithContext.
func (m *S3API) WaitUntilBucketExistsWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.WaiterOption
} {
	m.lockWaitUntilBucketExistsWithContext.Lock()
	defer m.lockWaitUntilBucketExistsWithContext.Unlock()

	return m.calls.WaitUntilBucketExistsWithContext
}

// WaitUntilBucketNotExists mocks base method by wrapping the associated func.
func (m *S3API) WaitUntilBucketNotExists(arg0 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput) error {
	m.lockWaitUntilBucketNotExists.Lock()
	defer m.lockWaitUntilBucketNotExists.Unlock()

	if m.WaitUntilBucketNotExistsFunc == nil {
		panic("mocker: S3API.WaitUntilBucketNotExistsFunc is nil but S3API.WaitUntilBucketNotExists was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput
	}{
		Arg0: arg0,
	}

	m.calls.WaitUntilBucketNotExists = append(m.calls.WaitUntilBucketNotExists, call)

	return m.WaitUntilBucketNotExistsFunc(arg0)
}

// WaitUntilBucketNotExistsCalled returns true if WaitUntilBucketNotExists was called at least once.
func (m *S3API) WaitUntilBucketNotExistsCalled() bool {
	m.lockWaitUntilBucketNotExists.Lock()
	defer m.lockWaitUntilBucketNotExists.Unlock()

	return len(m.calls.WaitUntilBucketNotExists) > 0
}

// WaitUntilBucketNotExistsCalls returns the calls made to WaitUntilBucketNotExists.
func (m *S3API) WaitUntilBucketNotExistsCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput
} {
	m.lockWaitUntilBucketNotExists.Lock()
	defer m.lockWaitUntilBucketNotExists.Unlock()

	return m.calls.WaitUntilBucketNotExists
}

// WaitUntilBucketNotExistsWithContext mocks base method by wrapping the associated func.
func (m *S3API) WaitUntilBucketNotExistsWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.WaiterOption) error {
	m.lockWaitUntilBucketNotExistsWithContext.Lock()
	defer m.lockWaitUntilBucketNotExistsWithContext.Unlock()

	if m.WaitUntilBucketNotExistsWithContextFunc == nil {
		panic("mocker: S3API.WaitUntilBucketNotExistsWithContextFunc is nil but S3API.WaitUntilBucketNotExistsWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.WaiterOption
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.WaitUntilBucketNotExistsWithContext = append(m.calls.WaitUntilBucketNotExistsWithContext, call)

	return m.WaitUntilBucketNotExistsWithContextFunc(arg0, arg1, arg2...)
}

// WaitUntilBucketNotExistsWithContextCalled returns true if WaitUntilBucketNotExistsWithContext was called at least once.
func (m *S3API) WaitUntilBucketNotExistsWithContextCalled() bool {
	m.lockWaitUntilBucketNotExistsWithContext.Lock()
	defer m.lockWaitUntilBucketNotExistsWithContext.Unlock()

	return len(m.calls.WaitUntilBucketNotExistsWithContext) > 0
}

// WaitUntilBucketNotExistsWithContextCalls returns the calls made to WaitUntilBucketNotExistsWithContext.
func (m *S3API) WaitUntilBucketNotExistsWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.HeadBucketInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.WaiterOption
} {
	m.lockWaitUntilBucketNotExistsWithContext.Lock()
	defer m.lockWaitUntilBucketNotExistsWithContext.Unlock()

	return m.calls.WaitUntilBucketNotExistsWithContext
}

// WaitUntilObjectExists mocks base method by wrapping the associated func.
func (m *S3API) WaitUntilObjectExists(arg0 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput) error {
	m.lockWaitUntilObjectExists.Lock()
	defer m.lockWaitUntilObjectExists.Unlock()

	if m.WaitUntilObjectExistsFunc == nil {
		panic("mocker: S3API.WaitUntilObjectExistsFunc is nil but S3API.WaitUntilObjectExists was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput
	}{
		Arg0: arg0,
	}

	m.calls.WaitUntilObjectExists = append(m.calls.WaitUntilObjectExists, call)

	return m.WaitUntilObjectExistsFunc(arg0)
}

// WaitUntilObjectExistsCalled returns true if WaitUntilObjectExists was called at least once.
func (m *S3API) WaitUntilObjectExistsCalled() bool {
	m.lockWaitUntilObjectExists.Lock()
	defer m.lockWaitUntilObjectExists.Unlock()

	return len(m.calls.WaitUntilObjectExists) > 0
}

// WaitUntilObjectExistsCalls returns the calls made to WaitUntilObjectExists.
func (m *S3API) WaitUntilObjectExistsCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput
} {
	m.lockWaitUntilObjectExists.Lock()
	defer m.lockWaitUntilObjectExists.Unlock()

	return m.calls.WaitUntilObjectExists
}

// WaitUntilObjectExistsWithContext mocks base method by wrapping the associated func.
func (m *S3API) WaitUntilObjectExistsWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.WaiterOption) error {
	m.lockWaitUntilObjectExistsWithContext.Lock()
	defer m.lockWaitUntilObjectExistsWithContext.Unlock()

	if m.WaitUntilObjectExistsWithContextFunc == nil {
		panic("mocker: S3API.WaitUntilObjectExistsWithContextFunc is nil but S3API.WaitUntilObjectExistsWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.WaiterOption
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.WaitUntilObjectExistsWithContext = append(m.calls.WaitUntilObjectExistsWithContext, call)

	return m.WaitUntilObjectExistsWithContextFunc(arg0, arg1, arg2...)
}

// WaitUntilObjectExistsWithContextCalled returns true if WaitUntilObjectExistsWithContext was called at least once.
func (m *S3API) WaitUntilObjectExistsWithContextCalled() bool {
	m.lockWaitUntilObjectExistsWithContext.Lock()
	defer m.lockWaitUntilObjectExistsWithContext.Unlock()

	return len(m.calls.WaitUntilObjectExistsWithContext) > 0
}

// WaitUntilObjectExistsWithContextCalls returns the calls made to WaitUntilObjectExistsWithContext.
func (m *S3API) WaitUntilObjectExistsWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.WaiterOption
} {
	m.lockWaitUntilObjectExistsWithContext.Lock()
	defer m.lockWaitUntilObjectExistsWithContext.Unlock()

	return m.calls.WaitUntilObjectExistsWithContext
}

// WaitUntilObjectNotExists mocks base method by wrapping the associated func.
func (m *S3API) WaitUntilObjectNotExists(arg0 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput) error {
	m.lockWaitUntilObjectNotExists.Lock()
	defer m.lockWaitUntilObjectNotExists.Unlock()

	if m.WaitUntilObjectNotExistsFunc == nil {
		panic("mocker: S3API.WaitUntilObjectNotExistsFunc is nil but S3API.WaitUntilObjectNotExists was called.")
	}

	call := struct {
		Arg0 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput
	}{
		Arg0: arg0,
	}

	m.calls.WaitUntilObjectNotExists = append(m.calls.WaitUntilObjectNotExists, call)

	return m.WaitUntilObjectNotExistsFunc(arg0)
}

// WaitUntilObjectNotExistsCalled returns true if WaitUntilObjectNotExists was called at least once.
func (m *S3API) WaitUntilObjectNotExistsCalled() bool {
	m.lockWaitUntilObjectNotExists.Lock()
	defer m.lockWaitUntilObjectNotExists.Unlock()

	return len(m.calls.WaitUntilObjectNotExists) > 0
}

// WaitUntilObjectNotExistsCalls returns the calls made to WaitUntilObjectNotExists.
func (m *S3API) WaitUntilObjectNotExistsCalls() []struct {
	Arg0 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput
} {
	m.lockWaitUntilObjectNotExists.Lock()
	defer m.lockWaitUntilObjectNotExists.Unlock()

	return m.calls.WaitUntilObjectNotExists
}

// WaitUntilObjectNotExistsWithContext mocks base method by wrapping the associated func.
func (m *S3API) WaitUntilObjectNotExistsWithContext(arg0 github_com_aws_aws_sdk_go_aws.Context, arg1 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput, arg2 ...github_com_aws_aws_sdk_go_aws_request.WaiterOption) error {
	m.lockWaitUntilObjectNotExistsWithContext.Lock()
	defer m.lockWaitUntilObjectNotExistsWithContext.Unlock()

	if m.WaitUntilObjectNotExistsWithContextFunc == nil {
		panic("mocker: S3API.WaitUntilObjectNotExistsWithContextFunc is nil but S3API.WaitUntilObjectNotExistsWithContext was called.")
	}

	call := struct {
		Arg0 github_com_aws_aws_sdk_go_aws.Context
		Arg1 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput
		Arg2 []github_com_aws_aws_sdk_go_aws_request.WaiterOption
	}{
		Arg0: arg0,
		Arg1: arg1,
		Arg2: arg2,
	}

	m.calls.WaitUntilObjectNotExistsWithContext = append(m.calls.WaitUntilObjectNotExistsWithContext, call)

	return m.WaitUntilObjectNotExistsWithContextFunc(arg0, arg1, arg2...)
}

// WaitUntilObjectNotExistsWithContextCalled returns true if WaitUntilObjectNotExistsWithContext was called at least once.
func (m *S3API) WaitUntilObjectNotExistsWithContextCalled() bool {
	m.lockWaitUntilObjectNotExistsWithContext.Lock()
	defer m.lockWaitUntilObjectNotExistsWithContext.Unlock()

	return len(m.calls.WaitUntilObjectNotExistsWithContext) > 0
}

// WaitUntilObjectNotExistsWithContextCalls returns the calls made to WaitUntilObjectNotExistsWithContext.
func (m *S3API) WaitUntilObjectNotExistsWithContextCalls() []struct {
	Arg0 github_com_aws_aws_sdk_go_aws.Context
	Arg1 *github_com_aws_aws_sdk_go_service_s3.HeadObjectInput
	Arg2 []github_com_aws_aws_sdk_go_aws_request.WaiterOption
} {
	m.lockWaitUntilObjectNotExistsWithContext.Lock()
	defer m.lockWaitUntilObjectNotExistsWithContext.Unlock()

	return m.calls.WaitUntilObjectNotExistsWithContext
}

// Reset resets the calls made to the mocked methods.
func (m *S3API) Reset() {
	m.lockAbortMultipartUpload.Lock()
	m.calls.AbortMultipartUpload = nil
	m.lockAbortMultipartUpload.Unlock()
	m.lockAbortMultipartUploadWithContext.Lock()
	m.calls.AbortMultipartUploadWithContext = nil
	m.lockAbortMultipartUploadWithContext.Unlock()
	m.lockAbortMultipartUploadRequest.Lock()
	m.calls.AbortMultipartUploadRequest = nil
	m.lockAbortMultipartUploadRequest.Unlock()
	m.lockCompleteMultipartUpload.Lock()
	m.calls.CompleteMultipartUpload = nil
	m.lockCompleteMultipartUpload.Unlock()
	m.lockCompleteMultipartUploadWithContext.Lock()
	m.calls.CompleteMultipartUploadWithContext = nil
	m.lockCompleteMultipartUploadWithContext.Unlock()
	m.lockCompleteMultipartUploadRequest.Lock()
	m.calls.CompleteMultipartUploadRequest = nil
	m.lockCompleteMultipartUploadRequest.Unlock()
	m.lockCopyObject.Lock()
	m.calls.CopyObject = nil
	m.lockCopyObject.Unlock()
	m.lockCopyObjectWithContext.Lock()
	m.calls.CopyObjectWithContext = nil
	m.lockCopyObjectWithContext.Unlock()
	m.lockCopyObjectRequest.Lock()
	m.calls.CopyObjectRequest = nil
	m.lockCopyObjectRequest.Unlock()
	m.lockCreateBucket.Lock()
	m.calls.CreateBucket = nil
	m.lockCreateBucket.Unlock()
	m.lockCreateBucketWithContext.Lock()
	m.calls.CreateBucketWithContext = nil
	m.lockCreateBucketWithContext.Unlock()
	m.lockCreateBucketRequest.Lock()
	m.calls.CreateBucketRequest = nil
	m.lockCreateBucketRequest.Unlock()
	m.lockCreateMultipartUpload.Lock()
	m.calls.CreateMultipartUpload = nil
	m.lockCreateMultipartUpload.Unlock()
	m.lockCreateMultipartUploadWithContext.Lock()
	m.calls.CreateMultipartUploadWithContext = nil
	m.lockCreateMultipartUploadWithContext.Unlock()
	m.lockCreateMultipartUploadRequest.Lock()
	m.calls.CreateMultipartUploadRequest = nil
	m.lockCreateMultipartUploadRequest.Unlock()
	m.lockDeleteBucket.Lock()
	m.calls.DeleteBucket = nil
	m.lockDeleteBucket.Unlock()
	m.lockDeleteBucketWithContext.Lock()
	m.calls.DeleteBucketWithContext = nil
	m.lockDeleteBucketWithContext.Unlock()
	m.lockDeleteBucketRequest.Lock()
	m.calls.DeleteBucketRequest = nil
	m.lockDeleteBucketRequest.Unlock()
	m.lockDeleteBucketAnalyticsConfiguration.Lock()
	m.calls.DeleteBucketAnalyticsConfiguration = nil
	m.lockDeleteBucketAnalyticsConfiguration.Unlock()
	m.lockDeleteBucketAnalyticsConfigurationWithContext.Lock()
	m.calls.DeleteBucketAnalyticsConfigurationWithContext = nil
	m.lockDeleteBucketAnalyticsConfigurationWithContext.Unlock()
	m.lockDeleteBucketAnalyticsConfigurationRequest.Lock()
	m.calls.DeleteBucketAnalyticsConfigurationRequest = nil
	m.lockDeleteBucketAnalyticsConfigurationRequest.Unlock()
	m.lockDeleteBucketCors.Lock()
	m.calls.DeleteBucketCors = nil
	m.lockDeleteBucketCors.Unlock()
	m.lockDeleteBucketCorsWithContext.Lock()
	m.calls.DeleteBucketCorsWithContext = nil
	m.lockDeleteBucketCorsWithContext.Unlock()
	m.lockDeleteBucketCorsRequest.Lock()
	m.calls.DeleteBucketCorsRequest = nil
	m.lockDeleteBucketCorsRequest.Unlock()
	m.lockDeleteBucketEncryption.Lock()
	m.calls.DeleteBucketEncryption = nil
	m.lockDeleteBucketEncryption.Unlock()
	m.lockDeleteBucketEncryptionWithContext.Lock()
	m.calls.DeleteBucketEncryptionWithContext = nil
	m.lockDeleteBucketEncryptionWithContext.Unlock()
	m.lockDeleteBucketEncryptionRequest.Lock()
	m.calls.DeleteBucketEncryptionRequest = nil
	m.lockDeleteBucketEncryptionRequest.Unlock()
	m.lockDeleteBucketIntelligentTieringConfiguration.Lock()
	m.calls.DeleteBucketIntelligentTieringConfiguration = nil
	m.lockDeleteBucketIntelligentTieringConfiguration.Unlock()
	m.lockDeleteBucketIntelligentTieringConfigurationWithContext.Lock()
	m.calls.DeleteBucketIntelligentTieringConfigurationWithContext = nil
	m.lockDeleteBucketIntelligentTieringConfigurationWithContext.Unlock()
	m.lockDeleteBucketIntelligentTieringConfigurationRequest.Lock()
	m.calls.DeleteBucketIntelligentTieringConfigurationRequest = nil
	m.lockDeleteBucketIntelligentTieringConfigurationRequest.Unlock()
	m.lockDeleteBucketInventoryConfiguration.Lock()
	m.calls.DeleteBucketInventoryConfiguration = nil
	m.lockDeleteBucketInventoryConfiguration.Unlock()
	m.lockDeleteBucketInventoryConfigurationWithContext.Lock()
	m.calls.DeleteBucketInventoryConfigurationWithContext = nil
	m.lockDeleteBucketInventoryConfigurationWithContext.Unlock()
	m.lockDeleteBucketInventoryConfigurationRequest.Lock()
	m.calls.DeleteBucketInventoryConfigurationRequest = nil
	m.lockDeleteBucketInventoryConfigurationRequest.Unlock()
	m.lockDeleteBucketLifecycle.Lock()
	m.calls.DeleteBucketLifecycle = nil
	m.lockDeleteBucketLifecycle.Unlock()
	m.lockDeleteBucketLifecycleWithContext.Lock()
	m.calls.DeleteBucketLifecycleWithContext = nil
	m.lockDeleteBucketLifecycleWithContext.Unlock()
	m.lockDeleteBucketLifecycleRequest.Lock()
	m.calls.DeleteBucketLifecycleRequest = nil
	m.lockDeleteBucketLifecycleRequest.Unlock()
	m.lockDeleteBucketMetricsConfiguration.Lock()
	m.calls.DeleteBucketMetricsConfiguration = nil
	m.lockDeleteBucketMetricsConfiguration.Unlock()
	m.lockDeleteBucketMetricsConfigurationWithContext.Lock()
	m.calls.DeleteBucketMetricsConfigurationWithContext = nil
	m.lockDeleteBucketMetricsConfigurationWithContext.Unlock()
	m.lockDeleteBucketMetricsConfigurationRequest.Lock()
	m.calls.DeleteBucketMetricsConfigurationRequest = nil
	m.lockDeleteBucketMetricsConfigurationRequest.Unlock()
	m.lockDeleteBucketOwnershipControls.Lock()
	m.calls.DeleteBucketOwnershipControls = nil
	m.lockDeleteBucketOwnershipControls.Unlock()
	m.lockDeleteBucketOwnershipControlsWithContext.Lock()
	m.calls.DeleteBucketOwnershipControlsWithContext = nil
	m.lockDeleteBucketOwnershipControlsWithContext.Unlock()
	m.lockDeleteBucketOwnershipControlsRequest.Lock()
	m.calls.DeleteBucketOwnershipControlsRequest = nil
	m.lockDeleteBucketOwnershipControlsRequest.Unlock()
	m.lockDeleteBucketPolicy.Lock()
	m.calls.DeleteBucketPolicy = nil
	m.lockDeleteBucketPolicy.Unlock()
	m.lockDeleteBucketPolicyWithContext.Lock()
	m.calls.DeleteBucketPolicyWithContext = nil
	m.lockDeleteBucketPolicyWithContext.Unlock()
	m.lockDeleteBucketPolicyRequest.Lock()
	m.calls.DeleteBucketPolicyRequest = nil
	m.lockDeleteBucketPolicyRequest.Unlock()
	m.lockDeleteBucketReplication.Lock()
	m.calls.DeleteBucketReplication = nil
	m.lockDeleteBucketReplication.Unlock()
	m.lockDeleteBucketReplicationWithContext.Lock()
	m.calls.DeleteBucketReplicationWithContext = nil
	m.lockDeleteBucketReplicationWithContext.Unlock()
	m.lockDeleteBucketReplicationRequest.Lock()
	m.calls.DeleteBucketReplicationRequest = nil
	m.lockDeleteBucketReplicationRequest.Unlock()
	m.lockDeleteBucketTagging.Lock()
	m.calls.DeleteBucketTagging = nil
	m.lockDeleteBucketTagging.Unlock()
	m.lockDeleteBucketTaggingWithContext.Lock()
	m.calls.DeleteBucketTaggingWithContext = nil
	m.lockDeleteBucketTaggingWithContext.Unlock()
	m.lockDeleteBucketTaggingRequest.Lock()
	m.calls.DeleteBucketTaggingRequest = nil
	m.lockDeleteBucketTaggingRequest.Unlock()
	m.lockDeleteBucketWebsite.Lock()
	m.calls.DeleteBucketWebsite = nil
	m.lockDeleteBucketWebsite.Unlock()
	m.lockDeleteBucketWebsiteWithContext.Lock()
	m.calls.DeleteBucketWebsiteWithContext = nil
	m.lockDeleteBucketWebsiteWithContext.Unlock()
	m.lockDeleteBucketWebsiteRequest.Lock()
	m.calls.DeleteBucketWebsiteRequest = nil
	m.lockDeleteBucketWebsiteRequest.Unlock()
	m.lockDeleteObject.Lock()
	m.calls.DeleteObject = nil
	m.lockDeleteObject.Unlock()
	m.lockDeleteObjectWithContext.Lock()
	m.calls.DeleteObjectWithContext = nil
	m.lockDeleteObjectWithContext.Unlock()
	m.lockDeleteObjectRequest.Lock()
	m.calls.DeleteObjectRequest = nil
	m.lockDeleteObjectRequest.Unlock()
	m.lockDeleteObjectTagging.Lock()
	m.calls.DeleteObjectTagging = nil
	m.lockDeleteObjectTagging.Unlock()
	m.lockDeleteObjectTaggingWithContext.Lock()
	m.calls.DeleteObjectTaggingWithContext = nil
	m.lockDeleteObjectTaggingWithContext.Unlock()
	m.lockDeleteObjectTaggingRequest.Lock()
	m.calls.DeleteObjectTaggingRequest = nil
	m.lockDeleteObjectTaggingRequest.Unlock()
	m.lockDeleteObjects.Lock()
	m.calls.DeleteObjects = nil
	m.lockDeleteObjects.Unlock()
	m.lockDeleteObjectsWithContext.Lock()
	m.calls.DeleteObjectsWithContext = nil
	m.lockDeleteObjectsWithContext.Unlock()
	m.lockDeleteObjectsRequest.Lock()
	m.calls.DeleteObjectsRequest = nil
	m.lockDeleteObjectsRequest.Unlock()
	m.lockDeletePublicAccessBlock.Lock()
	m.calls.DeletePublicAccessBlock = nil
	m.lockDeletePublicAccessBlock.Unlock()
	m.lockDeletePublicAccessBlockWithContext.Lock()
	m.calls.DeletePublicAccessBlockWithContext = nil
	m.lockDeletePublicAccessBlockWithContext.Unlock()
	m.lockDeletePublicAccessBlockRequest.Lock()
	m.calls.DeletePublicAccessBlockRequest = nil
	m.lockDeletePublicAccessBlockRequest.Unlock()
	m.lockGetBucketAccelerateConfiguration.Lock()
	m.calls.GetBucketAccelerateConfiguration = nil
	m.lockGetBucketAccelerateConfiguration.Unlock()
	m.lockGetBucketAccelerateConfigurationWithContext.Lock()
	m.calls.GetBucketAccelerateConfigurationWithContext = nil
	m.lockGetBucketAccelerateConfigurationWithContext.Unlock()
	m.lockGetBucketAccelerateConfigurationRequest.Lock()
	m.calls.GetBucketAccelerateConfigurationRequest = nil
	m.lockGetBucketAccelerateConfigurationRequest.Unlock()
	m.lockGetBucketAcl.Lock()
	m.calls.GetBucketAcl = nil
	m.lockGetBucketAcl.Unlock()
	m.lockGetBucketAclWithContext.Lock()
	m.calls.GetBucketAclWithContext = nil
	m.lockGetBucketAclWithContext.Unlock()
	m.lockGetBucketAclRequest.Lock()
	m.calls.GetBucketAclRequest = nil
	m.lockGetBucketAclRequest.Unlock()
	m.lockGetBucketAnalyticsConfiguration.Lock()
	m.calls.GetBucketAnalyticsConfiguration = nil
	m.lockGetBucketAnalyticsConfiguration.Unlock()
	m.lockGetBucketAnalyticsConfigurationWithContext.Lock()
	m.calls.GetBucketAnalyticsConfigurationWithContext = nil
	m.lockGetBucketAnalyticsConfigurationWithContext.Unlock()
	m.lockGetBucketAnalyticsConfigurationRequest.Lock()
	m.calls.GetBucketAnalyticsConfigurationRequest = nil
	m.lockGetBucketAnalyticsConfigurationRequest.Unlock()
	m.lockGetBucketCors.Lock()
	m.calls.GetBucketCors = nil
	m.lockGetBucketCors.Unlock()
	m.lockGetBucketCorsWithContext.Lock()
	m.calls.GetBucketCorsWithContext = nil
	m.lockGetBucketCorsWithContext.Unlock()
	m.lockGetBucketCorsRequest.Lock()
	m.calls.GetBucketCorsRequest = nil
	m.lockGetBucketCorsRequest.Unlock()
	m.lockGetBucketEncryption.Lock()
	m.calls.GetBucketEncryption = nil
	m.lockGetBucketEncryption.Unlock()
	m.lockGetBucketEncryptionWithContext.Lock()
	m.calls.GetBucketEncryptionWithContext = nil
	m.lockGetBucketEncryptionWithContext.Unlock()
	m.lockGetBucketEncryptionRequest.Lock()
	m.calls.GetBucketEncryptionRequest = nil
	m.lockGetBucketEncryptionRequest.Unlock()
	m.lockGetBucketIntelligentTieringConfiguration.Lock()
	m.calls.GetBucketIntelligentTieringConfiguration = nil
	m.lockGetBucketIntelligentTieringConfiguration.Unlock()
	m.lockGetBucketIntelligentTieringConfigurationWithContext.Lock()
	m.calls.GetBucketIntelligentTieringConfigurationWithContext = nil
	m.lockGetBucketIntelligentTieringConfigurationWithContext.Unlock()
	m.lockGetBucketIntelligentTieringConfigurationRequest.Lock()
	m.calls.GetBucketIntelligentTieringConfigurationRequest = nil
	m.lockGetBucketIntelligentTieringConfigurationRequest.Unlock()
	m.lockGetBucketInventoryConfiguration.Lock()
	m.calls.GetBucketInventoryConfiguration = nil
	m.lockGetBucketInventoryConfiguration.Unlock()
	m.lockGetBucketInventoryConfigurationWithContext.Lock()
	m.calls.GetBucketInventoryConfigurationWithContext = nil
	m.lockGetBucketInventoryConfigurationWithContext.Unlock()
	m.lockGetBucketInventoryConfigurationRequest.Lock()
	m.calls.GetBucketInventoryConfigurationRequest = nil
	m.lockGetBucketInventoryConfigurationRequest.Unlock()
	m.lockGetBucketLifecycle.Lock()
	m.calls.GetBucketLifecycle = nil
	m.lockGetBucketLifecycle.Unlock()
	m.lockGetBucketLifecycleWithContext.Lock()
	m.calls.GetBucketLifecycleWithContext = nil
	m.lockGetBucketLifecycleWithContext.Unlock()
	m.lockGetBucketLifecycleRequest.Lock()
	m.calls.GetBucketLifecycleRequest = nil
	m.lockGetBucketLifecycleRequest.Unlock()
	m.lockGetBucketLifecycleConfiguration.Lock()
	m.calls.GetBucketLifecycleConfiguration = nil
	m.lockGetBucketLifecycleConfiguration.Unlock()
	m.lockGetBucketLifecycleConfigurationWithContext.Lock()
	m.calls.GetBucketLifecycleConfigurationWithContext = nil
	m.lockGetBucketLifecycleConfigurationWithContext.Unlock()
	m.lockGetBucketLifecycleConfigurationRequest.Lock()
	m.calls.GetBucketLifecycleConfigurationRequest = nil
	m.lockGetBucketLifecycleConfigurationRequest.Unlock()
	m.lockGetBucketLocation.Lock()
	m.calls.GetBucketLocation = nil
	m.lockGetBucketLocation.Unlock()
	m.lockGetBucketLocationWithContext.Lock()
	m.calls.GetBucketLocationWithContext = nil
	m.lockGetBucketLocationWithContext.Unlock()
	m.lockGetBucketLocationRequest.Lock()
	m.calls.GetBucketLocationRequest = nil
	m.lockGetBucketLocationRequest.Unlock()
	m.lockGetBucketLogging.Lock()
	m.calls.GetBucketLogging = nil
	m.lockGetBucketLogging.Unlock()
	m.lockGetBucketLoggingWithContext.Lock()
	m.calls.GetBucketLoggingWithContext = nil
	m.lockGetBucketLoggingWithContext.Unlock()
	m.lockGetBucketLoggingRequest.Lock()
	m.calls.GetBucketLoggingRequest = nil
	m.lockGetBucketLoggingRequest.Unlock()
	m.lockGetBucketMetricsConfiguration.Lock()
	m.calls.GetBucketMetricsConfiguration = nil
	m.lockGetBucketMetricsConfiguration.Unlock()
	m.lockGetBucketMetricsConfigurationWithContext.Lock()
	m.calls.GetBucketMetricsConfigurationWithContext = nil
	m.lockGetBucketMetricsConfigurationWithContext.Unlock()
	m.lockGetBucketMetricsConfigurationRequest.Lock()
	m.calls.GetBucketMetricsConfigurationRequest = nil
	m.lockGetBucketMetricsConfigurationRequest.Unlock()
	m.lockGetBucketNotification.Lock()
	m.calls.GetBucketNotification = nil
	m.lockGetBucketNotification.Unlock()
	m.lockGetBucketNotificationWithContext.Lock()
	m.calls.GetBucketNotificationWithContext = nil
	m.lockGetBucketNotificationWithContext.Unlock()
	m.lockGetBucketNotificationRequest.Lock()
	m.calls.GetBucketNotificationRequest = nil
	m.lockGetBucketNotificationRequest.Unlock()
	m.lockGetBucketNotificationConfiguration.Lock()
	m.calls.GetBucketNotificationConfiguration = nil
	m.lockGetBucketNotificationConfiguration.Unlock()
	m.lockGetBucketNotificationConfigurationWithContext.Lock()
	m.calls.GetBucketNotificationConfigurationWithContext = nil
	m.lockGetBucketNotificationConfigurationWithContext.Unlock()
	m.lockGetBucketNotificationConfigurationRequest.Lock()
	m.calls.GetBucketNotificationConfigurationRequest = nil
	m.lockGetBucketNotificationConfigurationRequest.Unlock()
	m.lockGetBucketOwnershipControls.Lock()
	m.calls.GetBucketOwnershipControls = nil
	m.lockGetBucketOwnershipControls.Unlock()
	m.lockGetBucketOwnershipControlsWithContext.Lock()
	m.calls.GetBucketOwnershipControlsWithContext = nil
	m.lockGetBucketOwnershipControlsWithContext.Unlock()
	m.lockGetBucketOwnershipControlsRequest.Lock()
	m.calls.GetBucketOwnershipControlsRequest = nil
	m.lockGetBucketOwnershipControlsRequest.Unlock()
	m.lockGetBucketPolicy.Lock()
	m.calls.GetBucketPolicy = nil
	m.lockGetBucketPolicy.Unlock()
	m.lockGetBucketPolicyWithContext.Lock()
	m.calls.GetBucketPolicyWithContext = nil
	m.lockGetBucketPolicyWithContext.Unlock()
	m.lockGetBucketPolicyRequest.Lock()
	m.calls.GetBucketPolicyRequest = nil
	m.lockGetBucketPolicyRequest.Unlock()
	m.lockGetBucketPolicyStatus.Lock()
	m.calls.GetBucketPolicyStatus = nil
	m.lockGetBucketPolicyStatus.Unlock()
	m.lockGetBucketPolicyStatusWithContext.Lock()
	m.calls.GetBucketPolicyStatusWithContext = nil
	m.lockGetBucketPolicyStatusWithContext.Unlock()
	m.lockGetBucketPolicyStatusRequest.Lock()
	m.calls.GetBucketPolicyStatusRequest = nil
	m.lockGetBucketPolicyStatusRequest.Unlock()
	m.lockGetBucketReplication.Lock()
	m.calls.GetBucketReplication = nil
	m.lockGetBucketReplication.Unlock()
	m.lockGetBucketReplicationWithContext.Lock()
	m.calls.GetBucketReplicationWithContext = nil
	m.lockGetBucketReplicationWithContext.Unlock()
	m.lockGetBucketReplicationRequest.Lock()
	m.calls.GetBucketReplicationRequest = nil
	m.lockGetBucketReplicationRequest.Unlock()
	m.lockGetBucketRequestPayment.Lock()
	m.calls.GetBucketRequestPayment = nil
	m.lockGetBucketRequestPayment.Unlock()
	m.lockGetBucketRequestPaymentWithContext.Lock()
	m.calls.GetBucketRequestPaymentWithContext = nil
	m.lockGetBucketRequestPaymentWithContext.Unlock()
	m.lockGetBucketRequestPaymentRequest.Lock()
	m.calls.GetBucketRequestPaymentRequest = nil
	m.lockGetBucketRequestPaymentRequest.Unlock()
	m.lockGetBucketTagging.Lock()
	m.calls.GetBucketTagging = nil
	m.lockGetBucketTagging.Unlock()
	m.lockGetBucketTaggingWithContext.Lock()
	m.calls.GetBucketTaggingWithContext = nil
	m.lockGetBucketTaggingWithContext.Unlock()
	m.lockGetBucketTaggingRequest.Lock()
	m.calls.GetBucketTaggingRequest = nil
	m.lockGetBucketTaggingRequest.Unlock()
	m.lockGetBucketVersioning.Lock()
	m.calls.GetBucketVersioning = nil
	m.lockGetBucketVersioning.Unlock()
	m.lockGetBucketVersioningWithContext.Lock()
	m.calls.GetBucketVersioningWithContext = nil
	m.lockGetBucketVersioningWithContext.Unlock()
	m.lockGetBucketVersioningRequest.Lock()
	m.calls.GetBucketVersioningRequest = nil
	m.lockGetBucketVersioningRequest.Unlock()
	m.lockGetBucketWebsite.Lock()
	m.calls.GetBucketWebsite = nil
	m.lockGetBucketWebsite.Unlock()
	m.lockGetBucketWebsiteWithContext.Lock()
	m.calls.GetBucketWebsiteWithContext = nil
	m.lockGetBucketWebsiteWithContext.Unlock()
	m.lockGetBucketWebsiteRequest.Lock()
	m.calls.GetBucketWebsiteRequest = nil
	m.lockGetBucketWebsiteRequest.Unlock()
	m.lockGetObject.Lock()
	m.calls.GetObject = nil
	m.lockGetObject.Unlock()
	m.lockGetObjectWithContext.Lock()
	m.calls.GetObjectWithContext = nil
	m.lockGetObjectWithContext.Unlock()
	m.lockGetObjectRequest.Lock()
	m.calls.GetObjectRequest = nil
	m.lockGetObjectRequest.Unlock()
	m.lockGetObjectAcl.Lock()
	m.calls.GetObjectAcl = nil
	m.lockGetObjectAcl.Unlock()
	m.lockGetObjectAclWithContext.Lock()
	m.calls.GetObjectAclWithContext = nil
	m.lockGetObjectAclWithContext.Unlock()
	m.lockGetObjectAclRequest.Lock()
	m.calls.GetObjectAclRequest = nil
	m.lockGetObjectAclRequest.Unlock()
	m.lockGetObjectLegalHold.Lock()
	m.calls.GetObjectLegalHold = nil
	m.lockGetObjectLegalHold.Unlock()
	m.lockGetObjectLegalHoldWithContext.Lock()
	m.calls.GetObjectLegalHoldWithContext = nil
	m.lockGetObjectLegalHoldWithContext.Unlock()
	m.lockGetObjectLegalHoldRequest.Lock()
	m.calls.GetObjectLegalHoldRequest = nil
	m.lockGetObjectLegalHoldRequest.Unlock()
	m.lockGetObjectLockConfiguration.Lock()
	m.calls.GetObjectLockConfiguration = nil
	m.lockGetObjectLockConfiguration.Unlock()
	m.lockGetObjectLockConfigurationWithContext.Lock()
	m.calls.GetObjectLockConfigurationWithContext = nil
	m.lockGetObjectLockConfigurationWithContext.Unlock()
	m.lockGetObjectLockConfigurationRequest.Lock()
	m.calls.GetObjectLockConfigurationRequest = nil
	m.lockGetObjectLockConfigurationRequest.Unlock()
	m.lockGetObjectRetention.Lock()
	m.calls.GetObjectRetention = nil
	m.lockGetObjectRetention.Unlock()
	m.lockGetObjectRetentionWithContext.Lock()
	m.calls.GetObjectRetentionWithContext = nil
	m.lockGetObjectRetentionWithContext.Unlock()
	m.lockGetObjectRetentionRequest.Lock()
	m.calls.GetObjectRetentionRequest = nil
	m.lockGetObjectRetentionRequest.Unlock()
	m.lockGetObjectTagging.Lock()
	m.calls.GetObjectTagging = nil
	m.lockGetObjectTagging.Unlock()
	m.lockGetObjectTaggingWithContext.Lock()
	m.calls.GetObjectTaggingWithContext = nil
	m.lockGetObjectTaggingWithContext.Unlock()
	m.lockGetObjectTaggingRequest.Lock()
	m.calls.GetObjectTaggingRequest = nil
	m.lockGetObjectTaggingRequest.Unlock()
	m.lockGetObjectTorrent.Lock()
	m.calls.GetObjectTorrent = nil
	m.lockGetObjectTorrent.Unlock()
	m.lockGetObjectTorrentWithContext.Lock()
	m.calls.GetObjectTorrentWithContext = nil
	m.lockGetObjectTorrentWithContext.Unlock()
	m.lockGetObjectTorrentRequest.Lock()
	m.calls.GetObjectTorrentRequest = nil
	m.lockGetObjectTorrentRequest.Unlock()
	m.lockGetPublicAccessBlock.Lock()
	m.calls.GetPublicAccessBlock = nil
	m.lockGetPublicAccessBlock.Unlock()
	m.lockGetPublicAccessBlockWithContext.Lock()
	m.calls.GetPublicAccessBlockWithContext = nil
	m.lockGetPublicAccessBlockWithContext.Unlock()
	m.lockGetPublicAccessBlockRequest.Lock()
	m.calls.GetPublicAccessBlockRequest = nil
	m.lockGetPublicAccessBlockRequest.Unlock()
	m.lockHeadBucket.Lock()
	m.calls.HeadBucket = nil
	m.lockHeadBucket.Unlock()
	m.lockHeadBucketWithContext.Lock()
	m.calls.HeadBucketWithContext = nil
	m.lockHeadBucketWithContext.Unlock()
	m.lockHeadBucketRequest.Lock()
	m.calls.HeadBucketRequest = nil
	m.lockHeadBucketRequest.Unlock()
	m.lockHeadObject.Lock()
	m.calls.HeadObject = nil
	m.lockHeadObject.Unlock()
	m.lockHeadObjectWithContext.Lock()
	m.calls.HeadObjectWithContext = nil
	m.lockHeadObjectWithContext.Unlock()
	m.lockHeadObjectRequest.Lock()
	m.calls.HeadObjectRequest = nil
	m.lockHeadObjectRequest.Unlock()
	m.lockListBucketAnalyticsConfigurations.Lock()
	m.calls.ListBucketAnalyticsConfigurations = nil
	m.lockListBucketAnalyticsConfigurations.Unlock()
	m.lockListBucketAnalyticsConfigurationsWithContext.Lock()
	m.calls.ListBucketAnalyticsConfigurationsWithContext = nil
	m.lockListBucketAnalyticsConfigurationsWithContext.Unlock()
	m.lockListBucketAnalyticsConfigurationsRequest.Lock()
	m.calls.ListBucketAnalyticsConfigurationsRequest = nil
	m.lockListBucketAnalyticsConfigurationsRequest.Unlock()
	m.lockListBucketIntelligentTieringConfigurations.Lock()
	m.calls.ListBucketIntelligentTieringConfigurations = nil
	m.lockListBucketIntelligentTieringConfigurations.Unlock()
	m.lockListBucketIntelligentTieringConfigurationsWithContext.Lock()
	m.calls.ListBucketIntelligentTieringConfigurationsWithContext = nil
	m.lockListBucketIntelligentTieringConfigurationsWithContext.Unlock()
	m.lockListBucketIntelligentTieringConfigurationsRequest.Lock()
	m.calls.ListBucketIntelligentTieringConfigurationsRequest = nil
	m.lockListBucketIntelligentTieringConfigurationsRequest.Unlock()
	m.lockListBucketInventoryConfigurations.Lock()
	m.calls.ListBucketInventoryConfigurations = nil
	m.lockListBucketInventoryConfigurations.Unlock()
	m.lockListBucketInventoryConfigurationsWithContext.Lock()
	m.calls.ListBucketInventoryConfigurationsWithContext = nil
	m.lockListBucketInventoryConfigurationsWithContext.Unlock()
	m.lockListBucketInventoryConfigurationsRequest.Lock()
	m.calls.ListBucketInventoryConfigurationsRequest = nil
	m.lockListBucketInventoryConfigurationsRequest.Unlock()
	m.lockListBucketMetricsConfigurations.Lock()
	m.calls.ListBucketMetricsConfigurations = nil
	m.lockListBucketMetricsConfigurations.Unlock()
	m.lockListBucketMetricsConfigurationsWithContext.Lock()
	m.calls.ListBucketMetricsConfigurationsWithContext = nil
	m.lockListBucketMetricsConfigurationsWithContext.Unlock()
	m.lockListBucketMetricsConfigurationsRequest.Lock()
	m.calls.ListBucketMetricsConfigurationsRequest = nil
	m.lockListBucketMetricsConfigurationsRequest.Unlock()
	m.lockListBuckets.Lock()
	m.calls.ListBuckets = nil
	m.lockListBuckets.Unlock()
	m.lockListBucketsWithContext.Lock()
	m.calls.ListBucketsWithContext = nil
	m.lockListBucketsWithContext.Unlock()
	m.lockListBucketsRequest.Lock()
	m.calls.ListBucketsRequest = nil
	m.lockListBucketsRequest.Unlock()
	m.lockListMultipartUploads.Lock()
	m.calls.ListMultipartUploads = nil
	m.lockListMultipartUploads.Unlock()
	m.lockListMultipartUploadsWithContext.Lock()
	m.calls.ListMultipartUploadsWithContext = nil
	m.lockListMultipartUploadsWithContext.Unlock()
	m.lockListMultipartUploadsRequest.Lock()
	m.calls.ListMultipartUploadsRequest = nil
	m.lockListMultipartUploadsRequest.Unlock()
	m.lockListMultipartUploadsPages.Lock()
	m.calls.ListMultipartUploadsPages = nil
	m.lockListMultipartUploadsPages.Unlock()
	m.lockListMultipartUploadsPagesWithContext.Lock()
	m.calls.ListMultipartUploadsPagesWithContext = nil
	m.lockListMultipartUploadsPagesWithContext.Unlock()
	m.lockListObjectVersions.Lock()
	m.calls.ListObjectVersions = nil
	m.lockListObjectVersions.Unlock()
	m.lockListObjectVersionsWithContext.Lock()
	m.calls.ListObjectVersionsWithContext = nil
	m.lockListObjectVersionsWithContext.Unlock()
	m.lockListObjectVersionsRequest.Lock()
	m.calls.ListObjectVersionsRequest = nil
	m.lockListObjectVersionsRequest.Unlock()
	m.lockListObjectVersionsPages.Lock()
	m.calls.ListObjectVersionsPages = nil
	m.lockListObjectVersionsPages.Unlock()
	m.lockListObjectVersionsPagesWithContext.Lock()
	m.calls.ListObjectVersionsPagesWithContext = nil
	m.lockListObjectVersionsPagesWithContext.Unlock()
	m.lockListObjects.Lock()
	m.calls.ListObjects = nil
	m.lockListObjects.Unlock()
	m.lockListObjectsWithContext.Lock()
	m.calls.ListObjectsWithContext = nil
	m.lockListObjectsWithContext.Unlock()
	m.lockListObjectsRequest.Lock()
	m.calls.ListObjectsRequest = nil
	m.lockListObjectsRequest.Unlock()
	m.lockListObjectsPages.Lock()
	m.calls.ListObjectsPages = nil
	m.lockListObjectsPages.Unlock()
	m.lockListObjectsPagesWithContext.Lock()
	m.calls.ListObjectsPagesWithContext = nil
	m.lockListObjectsPagesWithContext.Unlock()
	m.lockListObjectsV2.Lock()
	m.calls.ListObjectsV2 = nil
	m.lockListObjectsV2.Unlock()
	m.lockListObjectsV2WithContext.Lock()
	m.calls.ListObjectsV2WithContext = nil
	m.lockListObjectsV2WithContext.Unlock()
	m.lockListObjectsV2Request.Lock()
	m.calls.ListObjectsV2Request = nil
	m.lockListObjectsV2Request.Unlock()
	m.lockListObjectsV2Pages.Lock()
	m.calls.ListObjectsV2Pages = nil
	m.lockListObjectsV2Pages.Unlock()
	m.lockListObjectsV2PagesWithContext.Lock()
	m.calls.ListObjectsV2PagesWithContext = nil
	m.lockListObjectsV2PagesWithContext.Unlock()
	m.lockListParts.Lock()
	m.calls.ListParts = nil
	m.lockListParts.Unlock()
	m.lockListPartsWithContext.Lock()
	m.calls.ListPartsWithContext = nil
	m.lockListPartsWithContext.Unlock()
	m.lockListPartsRequest.Lock()
	m.calls.ListPartsRequest = nil
	m.lockListPartsRequest.Unlock()
	m.lockListPartsPages.Lock()
	m.calls.ListPartsPages = nil
	m.lockListPartsPages.Unlock()
	m.lockListPartsPagesWithContext.Lock()
	m.calls.ListPartsPagesWithContext = nil
	m.lockListPartsPagesWithContext.Unlock()
	m.lockPutBucketAccelerateConfiguration.Lock()
	m.calls.PutBucketAccelerateConfiguration = nil
	m.lockPutBucketAccelerateConfiguration.Unlock()
	m.lockPutBucketAccelerateConfigurationWithContext.Lock()
	m.calls.PutBucketAccelerateConfigurationWithContext = nil
	m.lockPutBucketAccelerateConfigurationWithContext.Unlock()
	m.lockPutBucketAccelerateConfigurationRequest.Lock()
	m.calls.PutBucketAccelerateConfigurationRequest = nil
	m.lockPutBucketAccelerateConfigurationRequest.Unlock()
	m.lockPutBucketAcl.Lock()
	m.calls.PutBucketAcl = nil
	m.lockPutBucketAcl.Unlock()
	m.lockPutBucketAclWithContext.Lock()
	m.calls.PutBucketAclWithContext = nil
	m.lockPutBucketAclWithContext.Unlock()
	m.lockPutBucketAclRequest.Lock()
	m.calls.PutBucketAclRequest = nil
	m.lockPutBucketAclRequest.Unlock()
	m.lockPutBucketAnalyticsConfiguration.Lock()
	m.calls.PutBucketAnalyticsConfiguration = nil
	m.lockPutBucketAnalyticsConfiguration.Unlock()
	m.lockPutBucketAnalyticsConfigurationWithContext.Lock()
	m.calls.PutBucketAnalyticsConfigurationWithContext = nil
	m.lockPutBucketAnalyticsConfigurationWithContext.Unlock()
	m.lockPutBucketAnalyticsConfigurationRequest.Lock()
	m.calls.PutBucketAnalyticsConfigurationRequest = nil
	m.lockPutBucketAnalyticsConfigurationRequest.Unlock()
	m.lockPutBucketCors.Lock()
	m.calls.PutBucketCors = nil
	m.lockPutBucketCors.Unlock()
	m.lockPutBucketCorsWithContext.Lock()
	m.calls.PutBucketCorsWithContext = nil
	m.lockPutBucketCorsWithContext.Unlock()
	m.lockPutBucketCorsRequest.Lock()
	m.calls.PutBucketCorsRequest = nil
	m.lockPutBucketCorsRequest.Unlock()
	m.lockPutBucketEncryption.Lock()
	m.calls.PutBucketEncryption = nil
	m.lockPutBucketEncryption.Unlock()
	m.lockPutBucketEncryptionWithContext.Lock()
	m.calls.PutBucketEncryptionWithContext = nil
	m.lockPutBucketEncryptionWithContext.Unlock()
	m.lockPutBucketEncryptionRequest.Lock()
	m.calls.PutBucketEncryptionRequest = nil
	m.lockPutBucketEncryptionRequest.Unlock()
	m.lockPutBucketIntelligentTieringConfiguration.Lock()
	m.calls.PutBucketIntelligentTieringConfiguration = nil
	m.lockPutBucketIntelligentTieringConfiguration.Unlock()
	m.lockPutBucketIntelligentTieringConfigurationWithContext.Lock()
	m.calls.PutBucketIntelligentTieringConfigurationWithContext = nil
	m.lockPutBucketIntelligentTieringConfigurationWithContext.Unlock()
	m.lockPutBucketIntelligentTieringConfigurationRequest.Lock()
	m.calls.PutBucketIntelligentTieringConfigurationRequest = nil
	m.lockPutBucketIntelligentTieringConfigurationRequest.Unlock()
	m.lockPutBucketInventoryConfiguration.Lock()
	m.calls.PutBucketInventoryConfiguration = nil
	m.lockPutBucketInventoryConfiguration.Unlock()
	m.lockPutBucketInventoryConfigurationWithContext.Lock()
	m.calls.PutBucketInventoryConfigurationWithContext = nil
	m.lockPutBucketInventoryConfigurationWithContext.Unlock()
	m.lockPutBucketInventoryConfigurationRequest.Lock()
	m.calls.PutBucketInventoryConfigurationRequest = nil
	m.lockPutBucketInventoryConfigurationRequest.Unlock()
	m.lockPutBucketLifecycle.Lock()
	m.calls.PutBucketLifecycle = nil
	m.lockPutBucketLifecycle.Unlock()
	m.lockPutBucketLifecycleWithContext.Lock()
	m.calls.PutBucketLifecycleWithContext = nil
	m.lockPutBucketLifecycleWithContext.Unlock()
	m.lockPutBucketLifecycleRequest.Lock()
	m.calls.PutBucketLifecycleRequest = nil
	m.lockPutBucketLifecycleRequest.Unlock()
	m.lockPutBucketLifecycleConfiguration.Lock()
	m.calls.PutBucketLifecycleConfiguration = nil
	m.lockPutBucketLifecycleConfiguration.Unlock()
	m.lockPutBucketLifecycleConfigurationWithContext.Lock()
	m.calls.PutBucketLifecycleConfigurationWithContext = nil
	m.lockPutBucketLifecycleConfigurationWithContext.Unlock()
	m.lockPutBucketLifecycleConfigurationRequest.Lock()
	m.calls.PutBucketLifecycleConfigurationRequest = nil
	m.lockPutBucketLifecycleConfigurationRequest.Unlock()
	m.lockPutBucketLogging.Lock()
	m.calls.PutBucketLogging = nil
	m.lockPutBucketLogging.Unlock()
	m.lockPutBucketLoggingWithContext.Lock()
	m.calls.PutBucketLoggingWithContext = nil
	m.lockPutBucketLoggingWithContext.Unlock()
	m.lockPutBucketLoggingRequest.Lock()
	m.calls.PutBucketLoggingRequest = nil
	m.lockPutBucketLoggingRequest.Unlock()
	m.lockPutBucketMetricsConfiguration.Lock()
	m.calls.PutBucketMetricsConfiguration = nil
	m.lockPutBucketMetricsConfiguration.Unlock()
	m.lockPutBucketMetricsConfigurationWithContext.Lock()
	m.calls.PutBucketMetricsConfigurationWithContext = nil
	m.lockPutBucketMetricsConfigurationWithContext.Unlock()
	m.lockPutBucketMetricsConfigurationRequest.Lock()
	m.calls.PutBucketMetricsConfigurationRequest = nil
	m.lockPutBucketMetricsConfigurationRequest.Unlock()
	m.lockPutBucketNotification.Lock()
	m.calls.PutBucketNotification = nil
	m.lockPutBucketNotification.Unlock()
	m.lockPutBucketNotificationWithContext.Lock()
	m.calls.PutBucketNotificationWithContext = nil
	m.lockPutBucketNotificationWithContext.Unlock()
	m.lockPutBucketNotificationRequest.Lock()
	m.calls.PutBucketNotificationRequest = nil
	m.lockPutBucketNotificationRequest.Unlock()
	m.lockPutBucketNotificationConfiguration.Lock()
	m.calls.PutBucketNotificationConfiguration = nil
	m.lockPutBucketNotificationConfiguration.Unlock()
	m.lockPutBucketNotificationConfigurationWithContext.Lock()
	m.calls.PutBucketNotificationConfigurationWithContext = nil
	m.lockPutBucketNotificationConfigurationWithContext.Unlock()
	m.lockPutBucketNotificationConfigurationRequest.Lock()
	m.calls.PutBucketNotificationConfigurationRequest = nil
	m.lockPutBucketNotificationConfigurationRequest.Unlock()
	m.lockPutBucketOwnershipControls.Lock()
	m.calls.PutBucketOwnershipControls = nil
	m.lockPutBucketOwnershipControls.Unlock()
	m.lockPutBucketOwnershipControlsWithContext.Lock()
	m.calls.PutBucketOwnershipControlsWithContext = nil
	m.lockPutBucketOwnershipControlsWithContext.Unlock()
	m.lockPutBucketOwnershipControlsRequest.Lock()
	m.calls.PutBucketOwnershipControlsRequest = nil
	m.lockPutBucketOwnershipControlsRequest.Unlock()
	m.lockPutBucketPolicy.Lock()
	m.calls.PutBucketPolicy = nil
	m.lockPutBucketPolicy.Unlock()
	m.lockPutBucketPolicyWithContext.Lock()
	m.calls.PutBucketPolicyWithContext = nil
	m.lockPutBucketPolicyWithContext.Unlock()
	m.lockPutBucketPolicyRequest.Lock()
	m.calls.PutBucketPolicyRequest = nil
	m.lockPutBucketPolicyRequest.Unlock()
	m.lockPutBucketReplication.Lock()
	m.calls.PutBucketReplication = nil
	m.lockPutBucketReplication.Unlock()
	m.lockPutBucketReplicationWithContext.Lock()
	m.calls.PutBucketReplicationWithContext = nil
	m.lockPutBucketReplicationWithContext.Unlock()
	m.lockPutBucketReplicationRequest.Lock()
	m.calls.PutBucketReplicationRequest = nil
	m.lockPutBucketReplicationRequest.Unlock()
	m.lockPutBucketRequestPayment.Lock()
	m.calls.PutBucketRequestPayment = nil
	m.lockPutBucketRequestPayment.Unlock()
	m.lockPutBucketRequestPaymentWithContext.Lock()
	m.calls.PutBucketRequestPaymentWithContext = nil
	m.lockPutBucketRequestPaymentWithContext.Unlock()
	m.lockPutBucketRequestPaymentRequest.Lock()
	m.calls.PutBucketRequestPaymentRequest = nil
	m.lockPutBucketRequestPaymentRequest.Unlock()
	m.lockPutBucketTagging.Lock()
	m.calls.PutBucketTagging = nil
	m.lockPutBucketTagging.Unlock()
	m.lockPutBucketTaggingWithContext.Lock()
	m.calls.PutBucketTaggingWithContext = nil
	m.lockPutBucketTaggingWithContext.Unlock()
	m.lockPutBucketTaggingRequest.Lock()
	m.calls.PutBucketTaggingRequest = nil
	m.lockPutBucketTaggingRequest.Unlock()
	m.lockPutBucketVersioning.Lock()
	m.calls.PutBucketVersioning = nil
	m.lockPutBucketVersioning.Unlock()
	m.lockPutBucketVersioningWithContext.Lock()
	m.calls.PutBucketVersioningWithContext = nil
	m.lockPutBucketVersioningWithContext.Unlock()
	m.lockPutBucketVersioningRequest.Lock()
	m.calls.PutBucketVersioningRequest = nil
	m.lockPutBucketVersioningRequest.Unlock()
	m.lockPutBucketWebsite.Lock()
	m.calls.PutBucketWebsite = nil
	m.lockPutBucketWebsite.Unlock()
	m.lockPutBucketWebsiteWithContext.Lock()
	m.calls.PutBucketWebsiteWithContext = nil
	m.lockPutBucketWebsiteWithContext.Unlock()
	m.lockPutBucketWebsiteRequest.Lock()
	m.calls.PutBucketWebsiteRequest = nil
	m.lockPutBucketWebsiteRequest.Unlock()
	m.lockPutObject.Lock()
	m.calls.PutObject = nil
	m.lockPutObject.Unlock()
	m.lockPutObjectWithContext.Lock()
	m.calls.PutObjectWithContext = nil
	m.lockPutObjectWithContext.Unlock()
	m.lockPutObjectRequest.Lock()
	m.calls.PutObjectRequest = nil
	m.lockPutObjectRequest.Unlock()
	m.lockPutObjectAcl.Lock()
	m.calls.PutObjectAcl = nil
	m.lockPutObjectAcl.Unlock()
	m.lockPutObjectAclWithContext.Lock()
	m.calls.PutObjectAclWithContext = nil
	m.lockPutObjectAclWithContext.Unlock()
	m.lockPutObjectAclRequest.Lock()
	m.calls.PutObjectAclRequest = nil
	m.lockPutObjectAclRequest.Unlock()
	m.lockPutObjectLegalHold.Lock()
	m.calls.PutObjectLegalHold = nil
	m.lockPutObjectLegalHold.Unlock()
	m.lockPutObjectLegalHoldWithContext.Lock()
	m.calls.PutObjectLegalHoldWithContext = nil
	m.lockPutObjectLegalHoldWithContext.Unlock()
	m.lockPutObjectLegalHoldRequest.Lock()
	m.calls.PutObjectLegalHoldRequest = nil
	m.lockPutObjectLegalHoldRequest.Unlock()
	m.lockPutObjectLockConfiguration.Lock()
	m.calls.PutObjectLockConfiguration = nil
	m.lockPutObjectLockConfiguration.Unlock()
	m.lockPutObjectLockConfigurationWithContext.Lock()
	m.calls.PutObjectLockConfigurationWithContext = nil
	m.lockPutObjectLockConfigurationWithContext.Unlock()
	m.lockPutObjectLockConfigurationRequest.Lock()
	m.calls.PutObjectLockConfigurationRequest = nil
	m.lockPutObjectLockConfigurationRequest.Unlock()
	m.lockPutObjectRetention.Lock()
	m.calls.PutObjectRetention = nil
	m.lockPutObjectRetention.Unlock()
	m.lockPutObjectRetentionWithContext.Lock()
	m.calls.PutObjectRetentionWithContext = nil
	m.lockPutObjectRetentionWithContext.Unlock()
	m.lockPutObjectRetentionRequest.Lock()
	m.calls.PutObjectRetentionRequest = nil
	m.lockPutObjectRetentionRequest.Unlock()
	m.lockPutObjectTagging.Lock()
	m.calls.PutObjectTagging = nil
	m.lockPutObjectTagging.Unlock()
	m.lockPutObjectTaggingWithContext.Lock()
	m.calls.PutObjectTaggingWithContext = nil
	m.lockPutObjectTaggingWithContext.Unlock()
	m.lockPutObjectTaggingRequest.Lock()
	m.calls.PutObjectTaggingRequest = nil
	m.lockPutObjectTaggingRequest.Unlock()
	m.lockPutPublicAccessBlock.Lock()
	m.calls.PutPublicAccessBlock = nil
	m.lockPutPublicAccessBlock.Unlock()
	m.lockPutPublicAccessBlockWithContext.Lock()
	m.calls.PutPublicAccessBlockWithContext = nil
	m.lockPutPublicAccessBlockWithContext.Unlock()
	m.lockPutPublicAccessBlockRequest.Lock()
	m.calls.PutPublicAccessBlockRequest = nil
	m.lockPutPublicAccessBlockRequest.Unlock()
	m.lockRestoreObject.Lock()
	m.calls.RestoreObject = nil
	m.lockRestoreObject.Unlock()
	m.lockRestoreObjectWithContext.Lock()
	m.calls.RestoreObjectWithContext = nil
	m.lockRestoreObjectWithContext.Unlock()
	m.lockRestoreObjectRequest.Lock()
	m.calls.RestoreObjectRequest = nil
	m.lockRestoreObjectRequest.Unlock()
	m.lockSelectObjectContent.Lock()
	m.calls.SelectObjectContent = nil
	m.lockSelectObjectContent.Unlock()
	m.lockSelectObjectContentWithContext.Lock()
	m.calls.SelectObjectContentWithContext = nil
	m.lockSelectObjectContentWithContext.Unlock()
	m.lockSelectObjectContentRequest.Lock()
	m.calls.SelectObjectContentRequest = nil
	m.lockSelectObjectContentRequest.Unlock()
	m.lockUploadPart.Lock()
	m.calls.UploadPart = nil
	m.lockUploadPart.Unlock()
	m.lockUploadPartWithContext.Lock()
	m.calls.UploadPartWithContext = nil
	m.lockUploadPartWithContext.Unlock()
	m.lockUploadPartRequest.Lock()
	m.calls.UploadPartRequest = nil
	m.lockUploadPartRequest.Unlock()
	m.lockUploadPartCopy.Lock()
	m.calls.UploadPartCopy = nil
	m.lockUploadPartCopy.Unlock()
	m.lockUploadPartCopyWithContext.Lock()
	m.calls.UploadPartCopyWithContext = nil
	m.lockUploadPartCopyWithContext.Unlock()
	m.lockUploadPartCopyRequest.Lock()
	m.calls.UploadPartCopyRequest = nil
	m.lockUploadPartCopyRequest.Unlock()
	m.lockWriteGetObjectResponse.Lock()
	m.calls.WriteGetObjectResponse = nil
	m.lockWriteGetObjectResponse.Unlock()
	m.lockWriteGetObjectResponseWithContext.Lock()
	m.calls.WriteGetObjectResponseWithContext = nil
	m.lockWriteGetObjectResponseWithContext.Unlock()
	m.lockWriteGetObjectResponseRequest.Lock()
	m.calls.WriteGetObjectResponseRequest = nil
	m.lockWriteGetObjectResponseRequest.Unlock()
	m.lockWaitUntilBucketExists.Lock()
	m.calls.WaitUntilBucketExists = nil
	m.lockWaitUntilBucketExists.Unlock()
	m.lockWaitUntilBucketExistsWithContext.Lock()
	m.calls.WaitUntilBucketExistsWithContext = nil
	m.lockWaitUntilBucketExistsWithContext.Unlock()
	m.lockWaitUntilBucketNotExists.Lock()
	m.calls.WaitUntilBucketNotExists = nil
	m.lockWaitUntilBucketNotExists.Unlock()
	m.lockWaitUntilBucketNotExistsWithContext.Lock()
	m.calls.WaitUntilBucketNotExistsWithContext = nil
	m.lockWaitUntilBucketNotExistsWithContext.Unlock()
	m.lockWaitUntilObjectExists.Lock()
	m.calls.WaitUntilObjectExists = nil
	m.lockWaitUntilObjectExists.Unlock()
	m.lockWaitUntilObjectExistsWithContext.Lock()
	m.calls.WaitUntilObjectExistsWithContext = nil
	m.lockWaitUntilObjectExistsWithContext.Unlock()
	m.lockWaitUntilObjectNotExists.Lock()
	m.calls.WaitUntilObjectNotExists = nil
	m.lockWaitUntilObjectNotExists.Unlock()
	m.lockWaitUntilObjectNotExistsWithContext.Lock()
	m.calls.WaitUntilObjectNotExistsWithContext = nil
	m.lockWaitUntilObjectNotExistsWithContext.Unlock()
}
