s3

package
v1.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 14, 2025 License: Apache-2.0 Imports: 29 Imported by: 37

Documentation

Overview

Package s3 provides a client for Amazon Simple Storage Service.

Index

Constants

View Source
const (
	DefaultTaskNum int64 = 3

	MaxPartNum int64 = 10000

	MaxPartSize int64 = 5 * 1024 * 1024 * 1024

	MinPartSize int64 = 100 * 1024

	DefaultPartSize int64 = 5 * 1024 * 1024

	FilePermMode = os.FileMode(0664)

	DirPermMode = os.FileMode(0755)

	CheckpointFileSuffixUploader = ".ucp"

	CheckpointFileSuffixDownloader = ".dcp"

	CheckpointFileSuffixCopier = ".ccp"

	TempFileSuffix = ".temp"

	CheckpointMagic = "B62CAE41-F268-4EC5-839D-FBE475E3FA02"
)
View Source
const (
	HTTPHeaderAcceptEncoding            string = "Accept-Encoding"
	HTTPHeaderAuthorization                    = "Authorization"
	HTTPHeaderCacheControl                     = "Cache-Control"
	HTTPHeaderContentDisposition               = "Content-Disposition"
	HTTPHeaderContentEncoding                  = "Content-Encoding"
	HTTPHeaderContentLength                    = "Content-Length"
	HTTPHeaderContentMD5                       = "Content-MD5"
	HTTPHeaderContentType                      = "Content-Type"
	HTTPHeaderContentLanguage                  = "Content-Language"
	HTTPHeaderLastModified                     = "Last-Modified"
	HTTPHeaderDate                             = "Date"
	HTTPHeaderEtag                             = "Etag"
	HTTPHeaderExpires                          = "Expires"
	HTTPHeaderHost                             = "Host"
	HTTPHeaderAmzACL                           = "X-Amz-Acl"
	HTTPHeaderAmzChecksumCrc64ecma             = "X-Amz-Checksum-Crc64ecma"
	HTTPHeaderAmzStorageClass                  = "X-Amz-Storage-Class"
	HTTPHeaderAmzDataRedundancyType            = "X-Amz-Data-Redundancy-Type"
	HTTPHeaderAmzZRSSwitchEnable               = "X-Amz-Zrs-Switch-Enable"
	HTTPHeaderAmzAllowSameActionOverlap        = "X-Amz-Allow-Same-Action-Overlap"
	HTTPHeaderAmzBucketType                    = "X-Amz-Bucket-Type"
	HTTPHeaderAmzBucketVisitType               = "X-Amz-Bucket-Visit-Type"
)

HTTP headers

View Source
const (
	ACLPrivate         string = "private"
	ACLPublicRead      string = "public-read"
	ACLPublicReadWrite string = "public-read-write"
)

ACL

View Source
const (
	StorageClassExtremePL3      string = "EXTREME_PL3"
	StorageClassExtremePL2      string = "EXTREME_PL2"
	StorageClassExtremePL1      string = "EXTREME_PL1"
	StorageClassStandard        string = "STANDARD"
	StorageClassIA              string = "STANDARD_IA"
	StorageClassDeepIA          string = "DEEP_IA"
	StorageClassArchive         string = "ARCHIVE"
	StorageClassDeepColdArchive string = "DEEP_COLD_ARCHIVE"
)

StorageClass

View Source
const (
	BucketTypeExtremePL3 string = "EXTREME_PL3"
	BucketTypeExtremePL2 string = "EXTREME_PL2"
	BucketTypeExtremePL1 string = "EXTREME_PL1"
	BucketTypeNormal     string = "NORMAL"
	BucketTypeIA         string = "IA"
	BucketTypeDeepIA     string = "DEEP_IA"
	BucketTypeArchive    string = "ARCHIVE"
)

BucketType

View Source
const (
	BucketVisitTypeNormal       string = "NORMAL"
	BucketVisitTypeFrequentList string = "FREQUENTLIST"
)
View Source
const (
	AllUsersUri = "http://acs.amazonaws.com/groups/global/AllUsers"
	MetaPrefix  = "x-amz-meta-"
)
View Source
const (
	DataRedundancyTypeLRS string = "LRS"
	DataRedundancyTypeZRS string = "ZRS"
)
View Source
const (
	StorageMediumNormal  string = "Normal"
	StorageMediumExtreme string = "Extreme"
)
View Source
const (
	AlgorithmAES256 string = "AES256"
	AlgorithmSM4    string = "SM4"
)
View Source
const (
	StatusEnabled  string = "Enabled"
	StatusDisabled string = "Disabled"
)
View Source
const (

	// ErrCodeBucketAlreadyExists for service response error code
	// "BucketAlreadyExists".
	//
	// The requested bucket name is not available. The bucket namespace is shared
	// by all users of the system. Select a different name and try again.
	ErrCodeBucketAlreadyExists = "BucketAlreadyExists"

	// ErrCodeBucketAlreadyOwnedByYou for service response error code
	// "BucketAlreadyOwnedByYou".
	//
	// The bucket you tried to create already exists, and you own it. Amazon S3
	// returns this error in all AWS Regions except in the North Virginia Region.
	// For legacy compatibility, if you re-create an existing bucket that you already
	// own in the North Virginia Region, Amazon S3 returns 200 OK and resets the
	// bucket access control lists (ACLs).
	ErrCodeBucketAlreadyOwnedByYou = "BucketAlreadyOwnedByYou"

	// ErrCodeInvalidObjectState for service response error code
	// "InvalidObjectState".
	//
	// Object is archived and inaccessible until restored.
	ErrCodeInvalidObjectState = "InvalidObjectState"

	// ErrCodeNoSuchBucket for service response error code
	// "NoSuchBucket".
	//
	// The specified bucket does not exist.
	ErrCodeNoSuchBucket = "NoSuchBucket"

	// ErrCodeNoSuchKey for service response error code
	// "NoSuchKey".
	//
	// The specified key does not exist.
	ErrCodeNoSuchKey = "NoSuchKey"

	// ErrCodeNoSuchUpload for service response error code
	// "NoSuchUpload".
	//
	// The specified multipart upload does not exist.
	ErrCodeNoSuchUpload = "NoSuchUpload"

	// ErrCodeObjectAlreadyInActiveTierError for service response error code
	// "ObjectAlreadyInActiveTierError".
	//
	// This action is not allowed against this storage tier.
	ErrCodeObjectAlreadyInActiveTierError = "ObjectAlreadyInActiveTierError"

	// ErrCodeObjectNotInActiveTierError for service response error code
	// "ObjectNotInActiveTierError".
	//
	// The source object of the COPY action is not in the active tier and is only
	// stored in Amazon S3 Glacier.
	ErrCodeObjectNotInActiveTierError = "ObjectNotInActiveTierError"
)

Variables

View Source
var MaxRetries = 10

MaxRetries is the maximum number of retries before bailing.

Functions

func BuildCopySource added in v1.5.0

func BuildCopySource(bucket *string, key *string) string

BuildCopySource 构建拷贝源

func CheckDownloadCrc64 added in v1.3.0

func CheckDownloadCrc64(s3 *S3, res *GetObjectOutput, crc hash.Hash64) error

func CheckUploadCrc64 added in v1.3.0

func CheckUploadCrc64(r *aws.Request)

func DirExists added in v1.6.0

func DirExists(dir string) bool

DirExists returns whether the given directory exists or not

func Do added in v1.0.4

func Do(fn Func) error

Do keeps trying the function until the second argument returns false, or no error is returned.

func FileExists added in v1.6.0

func FileExists(filename string) bool

FileExists returns whether the given file exists or not

func GetBase64FileMD5Str added in v1.5.0

func GetBase64FileMD5Str(filePath string) (string, error)

GetBase64FileMD5Str 计算Base64格式文件的MD5值

func GetBase64MD5Str added in v1.5.0

func GetBase64MD5Str(str string) string

GetBase64MD5Str 计算Base64格式字符串的MD5值

func GetBase64Str added in v1.5.0

func GetBase64Str(str string) string

GetBase64Str 计算Base64格式字符串

func GetCannedACL added in v1.6.0

func GetCannedACL(Grants []*Grant) string

GetCannedACL 获取访问控制权限

func IsMaxRetries added in v1.0.4

func IsMaxRetries(err error) bool

IsMaxRetries checks whether the error is due to hitting the maximum number of retries or not.

func IsV4Signature added in v1.7.0

func IsV4Signature(signer string) bool

IsV4Signature checks if the signer is V4 or V4_UNSIGNED_PAYLOAD_SIGNER

func Min added in v1.6.0

func Min(a, b int64) int64

Min returns the smaller of two integers

Types

type AbortIncompleteMultipartUpload added in v1.4.0

type AbortIncompleteMultipartUpload struct {
	// Relative expiration time: The expiration time in days after the last modified time
	DaysAfterInitiation *int64 `type:"integer"`
	// objects created before the date will be expired
	Date *string `type:"string"`
}

type AbortMultipartUploadInput

type AbortMultipartUploadInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	// Confirms that the requester knows that she or he will be charged for the
	// request. Bucket owners need not specify this parameter in their requests.
	// Documentation on downloading objects from requester pays buckets can be found
	// at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
	RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string"`

	UploadID *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type AbortMultipartUploadOutput

type AbortMultipartUploadOutput struct {
	// If present, indicates that the requester was successfully charged for the request.
	RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type AccessControlPolicy

type AccessControlPolicy struct {
	// A list of grants.
	Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"`

	Owner *Owner `type:"structure"`
	// contains filtered or unexported fields
}

type AccessMonitorConfiguration added in v1.8.0

type AccessMonitorConfiguration struct {
	// Specifies whether to enable access tracking for the bucket. The value range is as follows:
	// Enabled: After the bucket enables access tracking, the access tracking enable time is used as the default
	// last access time for all objects in the bucket.
	// Disabled: The access tracking status of the bucket can be changed to Disabled only when the bucket does not
	// have a lifecycle rule based on the last access time matching rule.
	Status *string `locationName:"Status" type:"string" required:"true"`
}

type And added in v1.0.8

type And struct {
	Prefix *string `type:"string"`
	Tags   []*Tag  `locationName:"Tag" type:"list" flattened:"true"`
}

type AppendObjectInput added in v1.3.0

type AppendObjectInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// The name of the object.
	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	// The starting position of the AppendObject operation.
	// When the AppendObject operation is successful, the x-kss-next-append-position header describes the starting position of the next operation.
	Position *int64 `location:"querystring" locationName:"position" type:"integer" required:"true"`

	// The readable body payload to send to KS3.
	Body io.Reader `type:"blob"`

	// The canned ACL to apply to the object.
	ACL *string `location:"header" locationName:"x-amz-acl" type:"string"`

	// Specifies caching behavior along the request/reply chain.
	CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`

	// Specifies presentational information for the object.
	ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`

	// Specifies what content encodings have been applied to the object and thus
	// what decoding mechanisms must be applied to obtain the media-type referenced
	// by the Content-Type header field.
	ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`

	// Size of the body in bytes. This parameter is useful when the size of the
	// body cannot be determined automatically.
	ContentLength *int64 `location:"header" locationName:"Content-Length" type:"integer"`

	// Calculate MD5 value for message content (excluding header)
	ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"`

	// A standard MIME type describing the format of the object data.
	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// When using Expect: 100-continue, the client will only send the request body after receiving confirmation from the server.
	// If the information in the request header is rejected, the client will not send the request body.
	Expect *string `location:"header" locationName:"Expect" type:"string"`

	// The date and time at which the object is no longer cacheable.
	Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp" timestampFormat:"rfc822"`

	// A map of metadata to store with the object in S3.
	Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`

	// The type of storage to use for the object. Defaults to 'STANDARD'.
	StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string"`

	// Set the maximum allowed size for a single addition of content
	ContentMaxLength *int64 `location:"header" locationName:"x-amz-content-maxlength" type:"integer"`

	// Specifies the object tag of the object. Multiple tags can be set at the same time, such as: TagA=A&TagB=B.
	// Note: Key and Value need to be URL-encoded first. If an item does not have "=", the Value is considered to be an empty string.
	Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`

	// Allows grantee to read the object data and its metadata.
	GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`

	// Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
	GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`

	// The Server-side encryption algorithm used when storing this object in KS3, eg: AES256.
	ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string"`

	// Specifies the algorithm to use to when encrypting the object, eg: AES256.
	SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`

	// Specifies the customer-provided encryption key for KS3 to use in encrypting data.
	SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`

	// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
	SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`

	// Progress callback function
	ProgressFn aws.ProgressFunc `location:"function"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type AppendObjectOutput added in v1.3.0

type AppendObjectOutput struct {
	// Entity tag for the uploaded object.
	ETag *string `location:"header" locationName:"ETag" type:"string"`

	// The position that should be provided for the next request, which is the size of the current object.
	NextAppendPosition *int64 `location:"header" locationName:"x-amz-next-append-position" type:"integer"`

	// The type of Object.
	ObjectType *string `location:"header" locationName:"x-amz-object-type" type:"string"`

	// The Server-side encryption algorithm used when storing this object in KS3, eg: AES256.
	ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string"`

	// If server-side encryption with a customer-provided encryption key was requested,
	// the response will include this header confirming the encryption algorithm used.
	SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`

	// If server-side encryption with a customer-provided encryption key was requested,
	// the response will include this header to provide round trip message integrity
	// verification of the customer-provided encryption key.
	SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type ApplyServerSideEncryptionByDefault added in v1.8.0

type ApplyServerSideEncryptionByDefault struct {
	// The server-side encryption algorithm to be used by the bucket's default encryption configuration.
	SSEAlgorithm *string `locationName:"SSEAlgorithm" type:"string" required:"true"`
}

type AsyncMirrorRule added in v1.0.9

type AsyncMirrorRule struct {
	MirrorUrls    []*string      `json:"mirror_urls,omitempty" required:"true" locationName:"mirror_urls"`
	SavingSetting *SavingSetting `json:"saving_setting,omitempty" required:"true" locationName:"saving_setting"`
	MirrorType    *string        `json:"mirror_type,omitempty" locationName:"mirror_type"`
}

type Body added in v1.6.0

type Body struct {
	io.ReadCloser
}

func (*Body) Seek added in v1.6.0

func (b *Body) Seek(offset int64, whence int) (int64, error)

type Bucket

type Bucket struct {
	// Date the bucket was created.
	CreationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`

	// The name of the bucket.
	Name *string `type:"string"`

	Region *string `type:"string"`

	Type *string `type:"string"`

	// Bucket visit type, NORMAL is the standard type, FREQUENTLIST is the high-frequency enumeration type.
	VisitType *string `type:"string"`

	// The bucket data redundancy type.
	DataRedundancyType *string `type:"string"`
	// contains filtered or unexported fields
}

type BucketAllowAccess added in v1.8.0

type BucketAllowAccess struct {
	// List of Bucket names that are allowed to be accessed.
	Names []string `locationName:"Name" type:"list" flattened:"true"`
}

type BucketDecompressPolicy added in v1.4.0

type BucketDecompressPolicy struct {
	Rules []*DecompressPolicyRule `json:"rules,omitempty" type:"list" locationName:"rules" required:"true"`
}

type BucketEncryptionRule added in v1.8.0

type BucketEncryptionRule struct {
	// The child element of the default encryption configuration for the bucket.
	ApplyServerSideEncryptionByDefault *ApplyServerSideEncryptionByDefault `locationName:"ApplyServerSideEncryptionByDefault" type:"structure" required:"true"`
}

type BucketLoggingStatus

type BucketLoggingStatus struct {
	LoggingEnabled *LoggingEnabled `type:"structure"`
	// contains filtered or unexported fields
}

type BucketMirror added in v1.0.9

type BucketMirror struct {
	Version          *string            `json:"version" type:"string" locationName:"version"`
	UseDefaultRobots *bool              `json:"use_default_robots" locationName:"use_default_robots"`
	AsyncMirrorRule  *AsyncMirrorRule   `json:"async_mirror_rule,omitempty" type:"structure" locationName:"async_mirror_rule"`
	SyncMirrorRules  []*SyncMirrorRules `json:"sync_mirror_rules,omitempty" type:"list" locationName:"sync_mirror_rules"`
	CreatedTime      *string            `json:"created_time,omitempty" type:"string" locationName:"created_time"`
	LastModifiedTime *string            `json:"last_modified_time,omitempty" type:"string" locationName:"last_modified_time"`
}

type BucketQosConfiguration added in v1.6.2

type BucketQosConfiguration struct {
	// Set the bucket flow control quota.
	Quotas []*BucketQosQuota `locationName:"Quota" type:"list" flattened:"true" required:"true"`
}

type BucketQosQuota added in v1.6.2

type BucketQosQuota struct {
	// Specify the storage medium type that needs flow control. Options: Extreme/Normal (default)
	// Extreme: SSD type storage medium
	// Normal (default): HDD type storage medium
	StorageMedium *string `locationName:"StorageMedium" type:"string"`

	// External network upload bandwidth, in Gbps, the value must be a positive integer.
	ExtranetUploadBandwidth *int64 `locationName:"ExtranetUploadBandwidth" type:"integer"`

	// Intranet network upload bandwidth, in Gbps, the value must be a positive integer.
	IntranetUploadBandwidth *int64 `locationName:"IntranetUploadBandwidth" type:"integer"`

	// External network download bandwidth, in Gbps, the value must be a positive integer.
	ExtranetDownloadBandwidth *int64 `locationName:"ExtranetDownloadBandwidth" type:"integer"`

	// Intranet network download bandwidth, in Gbps, the value must be a positive integer.
	IntranetDownloadBandwidth *int64 `locationName:"IntranetDownloadBandwidth" type:"integer"`
}

type BucketRetentionConfiguration added in v1.5.0

type BucketRetentionConfiguration struct {
	// Whether to enable multiple versions in the recycle bin. When the request does not carry this parameter,
	// multiple versions are enabled by default.
	EnableMultipleVersion *bool `locationName:"EnableMultipleVersion" type:"boolean"`

	// A container that contains a specific rule for the recycle bin.
	Rule *RetentionRule `locationName:"Rule" type:"structure" required:"true"`
}

type CORSConfiguration

type CORSConfiguration struct {
	Rules []*CORSRule `locationName:"CORSRule" type:"list" flattened:"true"`

	// Whether non-cross-domain requests return the Vary: Origin header.
	NonCrossOriginResponseVary *bool `locationName:"NonCrossOriginResponseVary" type:"boolean" xml:"NonCrossOriginResponseVary"`
}

type CORSRule

type CORSRule struct {
	AllowedHeaders []string `locationName:"AllowedHeader" type:"list" flattened:"true"`
	AllowedMethods []string `locationName:"AllowedMethod" type:"list" flattened:"true"`
	AllowedOrigins []string `locationName:"AllowedOrigin" type:"list" flattened:"true"`
	ExposeHeaders  []string `locationName:"ExposeHeader" type:"list" flattened:"true"`
	MaxAgeSeconds  *int64   `locationName:"MaxAgeSeconds"`
}

type ClearObjectInput added in v1.5.0

type ClearObjectInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// The key of the object.
	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	// Specify the deletion ID of the deleted object.
	RetentionId *string `location:"header" locationName:"x-kss-retention-id" type:"string" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type ClearObjectOutput added in v1.5.0

type ClearObjectOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type CloudFunctionConfiguration

type CloudFunctionConfiguration struct {
	CloudFunction *string `type:"string"`

	// Bucket event for which to send notifications.
	Event *string `type:"string"`

	Events []*string `locationName:"Event" type:"list" flattened:"true"`

	// Optional unique identifier for configurations in a notification configuration.
	// If you don't provide one, Amazon S3 will assign an ID.
	ID *string `locationName:"Id" type:"string"`

	InvocationRole *string `type:"string"`
	// contains filtered or unexported fields
}

type CommonPrefix

type CommonPrefix struct {
	Prefix *string `type:"string"`
	// contains filtered or unexported fields
}

type CompleteMultipartUploadInput

type CompleteMultipartUploadInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	MultipartUpload *CompletedMultipartUpload `locationName:"CompleteMultipartUpload" type:"structure"`

	// Confirms that the requester knows that she or he will be charged for the
	// request. Bucket owners need not specify this parameter in their requests.
	// Documentation on downloading objects from requester pays buckets can be found
	// at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
	RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string"`

	UploadID *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Specifies whether the object is forbidden to overwrite.
	ForbidOverwrite *bool `location:"header" locationName:"x-amz-forbid-overwrite" type:"boolean"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type CompleteMultipartUploadOutput

type CompleteMultipartUploadOutput struct {
	Bucket *string `type:"string"`

	// Entity tag of the object.
	ETag *string `type:"string"`

	// If the object expiration is configured, this will contain the expiration
	// date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.
	Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`

	Key *string `type:"string"`

	Location *string `type:"string"`

	ChecksumCRC64ECMA *string `type:"string"`

	// If present, indicates that the requester was successfully charged for the
	// request.
	RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string"`

	// If present, specifies the ID of the AWS Key Management Service (KMS) master
	// encryption key that was used for the object.
	SSEKMSKeyID *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`

	// The Server-side encryption algorithm used when storing this object in KS3, eg: AES256.
	ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string"`

	// If server-side encryption with a customer-provided encryption key was requested,
	// the response will include this header confirming the encryption algorithm used.
	SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`

	// If server-side encryption with a customer-provided encryption key was requested,
	// the response will include this header to provide round trip message integrity
	// verification of the customer-provided encryption key.
	SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`

	// Version of the object.
	VersionID *string `location:"header" locationName:"x-amz-version-id" type:"string"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type CompletedMultipartUpload

type CompletedMultipartUpload struct {
	Parts []*CompletedPart `locationName:"Part" type:"list" flattened:"true"`
	// contains filtered or unexported fields
}

type CompletedPart

type CompletedPart struct {
	// Entity tag returned when the part was uploaded.
	ETag *string `type:"string"`

	// Part number that identifies the part.
	PartNumber *int64 `type:"integer"`

	// CRC64 value of a single part
	ChecksumCRC64ECMA *string `type:"string"`
	// contains filtered or unexported fields
}

type CompletedParts added in v1.6.0

type CompletedParts []*CompletedPart

func (CompletedParts) Len added in v1.6.0

func (cp CompletedParts) Len() int

func (CompletedParts) Less added in v1.6.0

func (cp CompletedParts) Less(i, j int) bool

func (CompletedParts) Swap added in v1.6.0

func (cp CompletedParts) Swap(i, j int)

type Condition

type Condition struct {
	// The HTTP error code when the redirect is applied. In the event of an error,
	// if the error code equals this value, then the specified redirect is applied.
	// Required when parent element Condition is specified and sibling KeyPrefixEquals
	// is not specified. If both are specified, then both must be true for the redirect
	// to be applied.
	HTTPErrorCodeReturnedEquals *string `locationName:"HttpErrorCodeReturnedEquals" type:"string"`

	// The object key name prefix when the redirect is applied. For example, to
	// redirect requests for ExamplePage.html, the key prefix will be ExamplePage.html.
	// To redirect request for all pages with the prefix docs/, the key prefix will
	// be /docs, which identifies all objects in the docs/ folder. Required when
	// the parent element Condition is specified and sibling HttpErrorCodeReturnedEquals
	// is not specified. If both conditions are specified, both must be true for
	// the redirect to be applied.
	KeyPrefixEquals *string `type:"string"`
	// contains filtered or unexported fields
}

type Copier added in v1.6.0

type Copier struct {
	CompletedSize int64
	// contains filtered or unexported fields
}

type CopyCheckpoint added in v1.6.0

type CopyCheckpoint struct {
	Magic                 string
	MD5                   string
	CpFilePath            string           // checkpoint file full path
	BucketName            string           // Bucket name
	ObjectKey             string           // Object key
	SrcBucketName         string           // Source bucket name
	SrcObjectKey          string           // Source object key
	SrcObjectSize         int64            // Source object size
	SrcObjectLastModified string           // Source object last modified time
	PartSize              int64            // Part size
	UploadId              string           // Upload ID
	PartETagList          []*CompletedPart // Completed parts
}

type CopyFileInput added in v1.6.0

type CopyFileInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Object key of the object.
	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	// The name of the source bucket.
	SourceBucket *string `location:"uri" locationName:"SourceBucket" type:"string" required:"true"`

	// Object key of the source object.
	SourceKey *string `location:"uri" locationName:"SourceKey" type:"string" required:"true"`

	// The size of each part.
	PartSize *int64 `type:"integer"`

	// The number of tasks to upload the file.
	TaskNum *int64 `type:"integer"`

	// Whether to enable checkpoint.
	EnableCheckpoint *bool `type:"boolean"`

	// The directory to store the checkpoint file.
	CheckpointDir *string `type:"string"`

	// The checkpoint file path.
	CheckpointFile *string `type:"string"`

	// The canned ACL to apply to the object.
	ACL *string `location:"header" locationName:"x-amz-acl" type:"string"`

	// Specifies caching behavior along the request/reply chain.
	CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`

	// Specifies presentational information for the object.
	ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`

	// Specifies what content encodings have been applied to the object and thus
	// what decoding mechanisms must be applied to obtain the media-type referenced
	// by the Content-Type header field.
	ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`

	// A standard MIME type describing the format of the object data.
	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// The date and time at which the object is no longer cacheable.
	Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp" timestampFormat:"rfc822"`

	// A map of metadata to store with the object in S3.
	Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`

	// Specifies whether the metadata is copied from the source object or replaced
	// with metadata provided in the request.
	MetadataDirective *string `location:"header" locationName:"x-amz-metadata-directive" type:"string"`

	// The type of storage to use for the object. Defaults to 'STANDARD'.
	StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string"`

	// Specifies the object tag of the object. Multiple tags can be set at the same time, such as: TagA=A&TagB=B.
	// Note: Key and Value need to be URL-encoded first. If an item does not have "=", the Value is considered to be an empty string.
	Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`

	// Specifies how to set the object tag of the target object.
	// Default value: COPY
	// Valid values:
	// COPY (default value): Copies the object tag of the source object to the target object.
	// REPLACE: Ignores the object tag of the source object and directly uses the object tag specified in the request.
	TaggingDirective *string `location:"header" locationName:"x-amz-tagging-directive" type:"string"`

	// Specifies whether the object is forbidden to overwrite.
	ForbidOverwrite *bool `location:"header" locationName:"x-amz-forbid-overwrite" type:"boolean"`

	// Allows grantee to read the object data and its metadata.
	GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`

	// Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
	GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`

	// Copies the object if its entity tag (ETag) matches the specified tag.
	CopySourceIfMatch *string `location:"header" locationName:"x-amz-copy-source-if-match" type:"string"`

	// Copies the object if it has been modified since the specified time.
	CopySourceIfModifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-modified-since" type:"timestamp" timestampFormat:"rfc822"`

	// Copies the object if its entity tag (ETag) is different from the specified ETag.
	CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"`

	// Copies the object if it hasn't been modified since the specified time.
	CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp" timestampFormat:"rfc822"`

	// Specifies the decryption algorithm used to decrypt the data source object. Valid value: AES256.
	CopySourceSSECustomerAlgorithm *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-algorithm" type:"string"`

	// The base64-encoded encryption key used for KS3 decryption specified by the user.
	// Its value must be the same as the key used when the data source object was created.
	CopySourceSSECustomerKey *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string"`

	// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
	// If the server encrypted with a user-provided encryption key, when decryption is requested,
	// the response will include this header to provide data consistency verification information
	// for the user-provided encryption key.
	CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"`

	// The Server-side encryption algorithm used when storing this object in KS3, eg: AES256.
	ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string"`

	// Specifies the algorithm to use to when encrypting the object, eg: AES256.
	SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`

	// Specifies the customer-provided encryption key for KS3 to use in encrypting data.
	SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`

	// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
	SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`

	// Progress callback function
	ProgressFn aws.ProgressFunc `location:"function"`
}

type CopyFileOutput added in v1.6.0

type CopyFileOutput struct {
	Bucket *string

	Key *string

	ETag *string

	ChecksumCRC64ECMA *string
}

type CopyObjectInput

type CopyObjectInput struct {
	// The canned ACL to apply to the object.
	ACL *string `location:"header" locationName:"x-amz-acl" type:"string"`

	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	SourceBucket *string `location:"uri" locationName:"sourceBucket" type:"string"`

	SourceKey *string `location:"uri" locationName:"sourceKey" type:"string"`

	// Specifies caching behavior along the request/reply chain.
	CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`

	// Specifies presentational information for the object.
	ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`

	// Specifies what content encodings have been applied to the object and thus
	// what decoding mechanisms must be applied to obtain the media-type referenced
	// by the Content-Type header field.
	ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`

	// The language the content is in.
	ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`

	// A standard MIME type describing the format of the object data.
	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// The name of the source bucket and key name of the source object, separated
	// by a slash (/). Must be URL-encoded.
	CopySource *string `location:"header" locationName:"x-amz-copy-source" type:"string" required:"true"`

	// Copies the object if its entity tag (ETag) matches the specified tag.
	CopySourceIfMatch *string `location:"header" locationName:"x-amz-copy-source-if-match" type:"string"`

	// Copies the object if it has been modified since the specified time.
	CopySourceIfModifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-modified-since" type:"timestamp" timestampFormat:"rfc822"`

	// Copies the object if its entity tag (ETag) is different from the specified ETag.
	CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"`

	// Copies the object if it hasn't been modified since the specified time.
	CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp" timestampFormat:"rfc822"`

	// Specifies the algorithm to use when decrypting the source object (e.g., AES256).
	CopySourceSSECustomerAlgorithm *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-algorithm" type:"string"`

	// Specifies the customer-provided encryption key for Amazon S3 to use to decrypt
	// the source object. The encryption key provided in this header must be one
	// that was used when the source object was created.
	CopySourceSSECustomerKey *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string"`

	// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
	// Amazon S3 uses this header for a message integrity check to ensure the encryption
	// key was transmitted without error.
	CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"`

	// The date and time at which the object is no longer cacheable.
	Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp" timestampFormat:"rfc822"`

	// Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
	GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`

	// Allows grantee to read the object data and its metadata.
	GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`

	// Allows grantee to read the object ACL.
	GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`

	// Allows grantee to write the ACL for the applicable object.
	GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`

	// A map of metadata to store with the object in S3.
	Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`

	// Specifies whether the metadata is copied from the source object or replaced
	// with metadata provided in the request.
	MetadataDirective *string `location:"header" locationName:"x-amz-metadata-directive" type:"string"`

	// Confirms that the requester knows that she or he will be charged for the
	// request. Bucket owners need not specify this parameter in their requests.
	// Documentation on downloading objects from requester pays buckets can be found
	// at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
	RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string"`

	// Specifies the algorithm to use to when encrypting the object (e.g., AES256,
	// aws:kms).
	SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`

	// Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
	// data. This value is used to store the object and then it is discarded; Amazon
	// does not store the encryption key. The key must be appropriate for use with
	// the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
	// header.
	SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`

	// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
	// Amazon S3 uses this header for a message integrity check to ensure the encryption
	// key was transmitted without error.
	SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`

	// Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
	// requests for an object protected by AWS KMS will fail if not made via SSL
	// or using SigV4. Documentation on configuring any of the officially supported
	// AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
	SSEKMSKeyID *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`

	// The Server-side encryption algorithm used when storing this object in S3
	// (e.g., AES256, aws:kms).
	ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string"`

	// The type of storage to use for the object. Defaults to 'STANDARD'.
	StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string"`

	// If the bucket is configured as a website, redirects requests for this object
	// to another object in the same bucket or to an external URL. Amazon S3 stores
	// the value of this header in the object metadata.
	WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`

	// Specifies the object tag of the object. Multiple tags can be set at the same time, such as: TagA=A&TagB=B.
	// Note: Key and Value need to be URL-encoded first. If an item does not have "=", the Value is considered to be an empty string.
	Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`

	// Specifies how to set the object tag of the target object.
	// Default value: COPY
	// Valid values:
	// COPY (default value): Copies the object tag of the source object to the target object.
	// REPLACE: Ignores the object tag of the source object and directly uses the object tag specified in the request.
	TaggingDirective *string `location:"header" locationName:"x-amz-tagging-directive" type:"string"`

	// Specifies whether the object is forbidden to overwrite.
	ForbidOverwrite *bool `location:"header" locationName:"x-amz-forbid-overwrite" type:"boolean"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type CopyObjectOutput

type CopyObjectOutput struct {
	CopyObjectResult *CopyObjectResult `type:"structure"`

	CopySourceVersionID *string `location:"header" locationName:"x-amz-copy-source-version-id" type:"string"`

	// If the object expiration is configured, the response includes this header.
	Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`

	// If present, indicates that the requester was successfully charged for the
	// request.
	RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string"`

	// If server-side encryption with a customer-provided encryption key was requested,
	// the response will include this header confirming the encryption algorithm
	// used.
	SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`

	// If server-side encryption with a customer-provided encryption key was requested,
	// the response will include this header to provide round trip message integrity
	// verification of the customer-provided encryption key.
	SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`

	// If present, specifies the ID of the AWS Key Management Service (KMS) master
	// encryption key that was used for the object.
	SSEKMSKeyID *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`

	// The Server-side encryption algorithm used when storing this object in S3
	// (e.g., AES256, aws:kms).
	ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type CopyObjectResult

type CopyObjectResult struct {
	ETag *string `type:"string"`

	LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"`

	// CRC64 value of a single part
	ChecksumCRC64ECMA *string `type:"string"`
	// contains filtered or unexported fields
}

type CopyPartResult

type CopyPartResult struct {
	// Entity tag of the object.
	ETag *string `type:"string"`

	// Date and time at which the object was uploaded.
	LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"`

	// CRC64 value of a single part
	ChecksumCRC64ECMA *string `type:"string"`
	// contains filtered or unexported fields
}

type CopyPartTask added in v1.6.0

type CopyPartTask struct {
	// contains filtered or unexported fields
}

type CreateBucketConfiguration

type CreateBucketConfiguration struct {
	// Specifies the region where the bucket will be created. If you don't specify
	// a region, the bucket will be created in US Standard.
	LocationConstraint *string `type:"string"`

	// The bucket data redundancy type.
	// Default value: LRS
	// Valid value: LRS丨ZRS
	// LRS: local redundancy storage
	// ZRS: zone redundancy storage
	DataRedundancyType *string `type:"string"`
	// contains filtered or unexported fields
}

type CreateBucketInput

type CreateBucketInput struct {
	// The canned ACL to apply to the bucket.
	ACL *string `location:"header" locationName:"x-amz-acl" type:"string"`

	ProjectId *string `location:"uri" locationName:"ProjectId" type:"string"`

	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	CreateBucketConfiguration *CreateBucketConfiguration `locationName:"CreateBucketConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`

	// Allows grantee the read, write, read ACP, and write ACP permissions on the
	// bucket.
	GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`

	// Allows grantee to list the objects in the bucket.
	GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`

	// Allows grantee to read the bucket ACL.
	GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`

	// Allows grantee to create, overwrite, and delete any object in the bucket.
	GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"`

	// Allows grantee to write the ACL for the applicable bucket.
	GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	BucketType *string `location:"header" locationName:"x-amz-bucket-type" type:"string"`

	// Specify the bucket visit type.
	BucketVisitType *string `location:"header" locationName:"x-amz-bucket-visit-type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`

	MetadataCreateBucketInput `json:"-" xml:"-"`
}

type CreateBucketOutput

type CreateBucketOutput struct {
	Location *string `location:"header" locationName:"Location" type:"string"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type CreateMultipartUploadInput

type CreateMultipartUploadInput struct {
	// The canned ACL to apply to the object.
	ACL *string `location:"header" locationName:"x-amz-acl" type:"string"`

	// Specifies the object tag of the object. Multiple tags can be set at the same time, such as: TagA=A&TagB=B.
	// Note: Key and Value need to be URL-encoded first. If an item does not have "=", the Value is considered to be an empty string.
	Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`

	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Specifies caching behavior along the request/reply chain.
	CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`

	// Specifies presentational information for the object.
	ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`

	// Specifies what content encodings have been applied to the object and thus
	// what decoding mechanisms must be applied to obtain the media-type referenced
	// by the Content-Type header field.
	ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`

	// The language the content is in.
	ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`

	// A standard MIME type describing the format of the object data.
	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// The date and time at which the object is no longer cacheable.
	Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp" timestampFormat:"rfc822"`

	// Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
	GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`

	// Allows grantee to read the object data and its metadata.
	GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`

	// Allows grantee to read the object ACL.
	GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`

	// Allows grantee to write the ACL for the applicable object.
	GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`

	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	// A map of metadata to store with the object in S3.
	Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`

	// Confirms that the requester knows that she or he will be charged for the
	// request. Bucket owners need not specify this parameter in their requests.
	// Documentation on downloading objects from requester pays buckets can be found
	// at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
	RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string"`

	// Specifies the algorithm to use to when encrypting the object (e.g., AES256,
	// aws:kms).
	SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`

	// Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
	// data. This value is used to store the object and then it is discarded; Amazon
	// does not store the encryption key. The key must be appropriate for use with
	// the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
	// header.
	SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`

	// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
	// Amazon S3 uses this header for a message integrity check to ensure the encryption
	// key was transmitted without error.
	SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`

	// Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
	// requests for an object protected by AWS KMS will fail if not made via SSL
	// or using SigV4. Documentation on configuring any of the officially supported
	// AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
	SSEKMSKeyID *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`

	// The Server-side encryption algorithm used when storing this object in S3
	// (e.g., AES256, aws:kms).
	ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string"`

	// The type of storage to use for the object. Defaults to 'STANDARD'.
	StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string"`

	// If the bucket is configured as a website, redirects requests for this object
	// to another object in the same bucket or to an external URL. Amazon S3 stores
	// the value of this header in the object metadata.
	WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`

	// Specifies whether the object is forbidden to overwrite.
	ForbidOverwrite *bool `location:"header" locationName:"x-amz-forbid-overwrite" type:"boolean"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type CreateMultipartUploadOutput

type CreateMultipartUploadOutput struct {
	// Name of the bucket to which the multipart upload was initiated.
	Bucket *string `locationName:"Bucket" type:"string"`

	// Object key for which the multipart upload was initiated.
	Key *string `type:"string"`

	// If present, indicates that the requester was successfully charged for the
	// request.
	RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string"`

	// If server-side encryption with a customer-provided encryption key was requested,
	// the response will include this header confirming the encryption algorithm
	// used.
	SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`

	// If server-side encryption with a customer-provided encryption key was requested,
	// the response will include this header to provide round trip message integrity
	// verification of the customer-provided encryption key.
	SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`

	// If present, specifies the ID of the AWS Key Management Service (KMS) master
	// encryption key that was used for the object.
	SSEKMSKeyID *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`

	// The Server-side encryption algorithm used when storing this object in S3
	// (e.g., AES256, aws:kms).
	ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string"`

	// ID for the initiated multipart upload.
	UploadID *string `locationName:"UploadId" type:"string"`

	Metadata map[string]*string `location:"headers"  type:"map"`
	// contains filtered or unexported fields
}

type DataRedundancySwitch added in v1.6.1

type DataRedundancySwitch struct {
	// The bucket data redundancy type.
	DataRedundancyType *string `locationName:"DataRedundancyType" type:"string"`
	// Time when zone redundancy is enabled.
	SwitchTime *time.Time `locationName:"SwitchTime" type:"timestamp" timestampFormat:"iso8601"`
}

type DecompressPolicyRule added in v1.4.0

type DecompressPolicyRule struct {
	// The name of the decompression strategy and the unique identifier of the decompression rule configured by the bucket. Value range: [1, 256].
	// Description: The length is 1-256 characters and can only be composed of uppercase or lowercase English letters, numbers, underscores (_), and hyphens (-).
	Id *string `json:"id,omitempty" type:"string" locationName:"id" required:"true"`

	// ZIP online decompression trigger event, currently supports the following operations:
	// "ObjectCreated:*": represents all operations for creating objects, including Put, Post, Copy objects, and merging segmentation tasks;
	// "ObjectCreated:Put": Use the Put method to upload a ZIP package;
	// "ObjectCreated:Post": Use the Post method to upload a ZIP package;
	// "ObjectCreated:Copy": Use the Copy method to copy a ZIP package;
	// "ObjectCreated:CompleteMultipartUpload": Use merge to upload ZIP packages in chunks.
	Events *string `json:"events,omitempty" type:"string" locationName:"events" required:"true"`

	// Match rule prefix (ZIP package that matches the prefix).
	// If no prefix is specified, all ZIP packages uploaded will be matched by default.
	Prefix *string `json:"prefix,omitempty" type:"string" locationName:"prefix"`

	// Match rule suffix.
	// The default is. zip, and currently only supports ZIP package format.
	Suffix []*string `json:"suffix,omitempty" type:"list" locationName:"suffix" required:"true"`

	// The processing method for files with the same name after decompression is not to overwrite them by default
	// The parameter values are as follows:
	// 0 (default value): Do not overwrite skip, keep existing objects in the bucket, skip objects with the same name, do not decompress;
	// 1: Overwrite, preserve the extracted object, and delete any existing objects with the same name in the bucket.
	Overwrite *int64 `json:"overwrite,omitempty" type:"integer" locationName:"overwrite" required:"true"`

	// The address for task callback, URL address.
	Callback *string `json:"callback,omitempty" type:"string" locationName:"callback"`

	// Task callback format, JSON format (required if callback address is set).
	CallbackFormat *string `json:"callback_format,omitempty" type:"string" locationName:"callback_format"`

	// Specify the prefix of the output file in the target bucket after decompression. If it is not empty, it must end with a '/'.
	// If left blank, it will be saved by default in the root path of the storage bucket.
	PathPrefix *string `json:"path_prefix,omitempty" type:"string" locationName:"path_prefix"`

	// Specify whether the compressed file path requires a compressed file name, with the following parameter values:
	// 0 (default): Keep compressed file name
	// 1: Extract directly to the target directory
	PathPrefixReplaced *int64 `json:"path_prefix_replaced,omitempty" type:"integer" locationName:"path_prefix_replaced"`

	// Type of file decompression strategy.
	// Fixed value: decompress.
	PolicyType *string `json:"policy_type,omitempty" type:"string" locationName:"policy_type" required:"true"`
}

type Delete

type Delete struct {
	Objects []*ObjectIdentifier `locationName:"Object" type:"list" flattened:"true" required:"true"`

	// Element to enable quiet mode for the request. When you add this element,
	// you must set its value to true.
	Quiet *bool `type:"boolean"`
	// contains filtered or unexported fields
}

type DeleteBucketCORSInput

type DeleteBucketCORSInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type DeleteBucketCORSOutput

type DeleteBucketCORSOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type DeleteBucketDecompressPolicyInput added in v1.4.0

type DeleteBucketDecompressPolicyInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type DeleteBucketDecompressPolicyOutput added in v1.4.0

type DeleteBucketDecompressPolicyOutput struct {
	Metadata map[string]*string `location:"headers" type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type DeleteBucketEncryptionInput added in v1.8.0

type DeleteBucketEncryptionInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type DeleteBucketEncryptionOutput added in v1.8.0

type DeleteBucketEncryptionOutput struct {
	// The HTTP headers of the response.
	Metadata map[string]*string `location:"headers" type:"map"`

	// The HTTP status code of the response.
	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type DeleteBucketInput

type DeleteBucketInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type DeleteBucketInventoryInput added in v1.5.0

type DeleteBucketInventoryInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type DeleteBucketInventoryOutput added in v1.5.0

type DeleteBucketInventoryOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type DeleteBucketLifecycleInput

type DeleteBucketLifecycleInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type DeleteBucketLifecycleOutput

type DeleteBucketLifecycleOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type DeleteBucketMirrorInput added in v1.0.9

type DeleteBucketMirrorInput struct {
	Bucket      *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type DeleteBucketMirrorOutput added in v1.0.9

type DeleteBucketMirrorOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type DeleteBucketOutput

type DeleteBucketOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type DeleteBucketPolicyInput

type DeleteBucketPolicyInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type DeleteBucketPolicyOutput

type DeleteBucketPolicyOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type DeleteBucketPrefixInput added in v1.0.3

type DeleteBucketPrefixInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
	// Prefix of the object.
	Prefix *string `type:"string"  required:"true"`
	// The max number of each list.
	MaxKeys *int64 `type:"integer" required:"true"`
	// Is return the deletion result.
	IsReTurnResults *bool `type:"boolean" required:"true"`
}

type DeleteBucketQosInput added in v1.6.2

type DeleteBucketQosInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type DeleteBucketQosOutput added in v1.6.2

type DeleteBucketQosOutput struct {
	// The HTTP headers of the response.
	Metadata map[string]*string `location:"headers" type:"map"`

	// The HTTP status code of the response.
	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type DeleteBucketReplicationInput

type DeleteBucketReplicationInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type DeleteBucketReplicationOutput

type DeleteBucketReplicationOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type DeleteBucketTaggingInput

type DeleteBucketTaggingInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type DeleteBucketTaggingOutput

type DeleteBucketTaggingOutput struct {
	// The HTTP headers of the response.
	Metadata map[string]*string `location:"headers"  type:"map"`

	// The HTTP status code of the response.
	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type DeleteBucketWebsiteInput

type DeleteBucketWebsiteInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type DeleteBucketWebsiteOutput

type DeleteBucketWebsiteOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type DeleteMarkerEntry

type DeleteMarkerEntry struct {
	// Specifies whether the object is (true) or is not (false) the latest version
	// of an object.
	IsLatest *bool `type:"boolean"`

	// The object key.
	Key *string `type:"string"`

	// Date and time the object was last modified.
	LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"`

	Owner *Owner `type:"structure"`

	// Version ID of an object.
	VersionID *string `locationName:"VersionId" type:"string"`
	// contains filtered or unexported fields
}

type DeleteObjectInput

type DeleteObjectInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	// The concatenation of the authentication device's serial number, a space,
	// and the value that is displayed on your authentication device.
	MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`

	// Confirms that the requester knows that she or he will be charged for the
	// request. Bucket owners need not specify this parameter in their requests.
	// Documentation on downloading objects from requester pays buckets can be found
	// at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
	RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string"`

	// VersionId used to reference a specific version of the object.
	VersionID *string `location:"querystring" locationName:"versionId" type:"string"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type DeleteObjectOutput

type DeleteObjectOutput struct {
	// Specifies whether the versioned object that was permanently deleted was (true)
	// or was not (false) a delete marker.
	DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`

	// If present, indicates that the requester was successfully charged for the
	// request.
	RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string"`

	// Returns the version ID of the delete marker created as a result of the DELETE
	// operation.
	VersionID *string `location:"header" locationName:"x-amz-version-id" type:"string"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type DeleteObjectTaggingInput added in v1.0.8

type DeleteObjectTaggingInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type DeleteObjectTaggingOutput added in v1.0.8

type DeleteObjectTaggingOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type DeleteObjectsInput

type DeleteObjectsInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	Delete *Delete `locationName:"Delete" type:"structure" required:"true"`

	IsReTurnResults *bool `type:"boolean"  required:"true"`

	// The concatenation of the authentication device's serial number, a space,
	// and the value that is displayed on your authentication device.
	MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`

	// Confirms that the requester knows that she or he will be charged for the
	// request. Bucket owners need not specify this parameter in their requests.
	// Documentation on downloading objects from requester pays buckets can be found
	// at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
	RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type DeleteObjectsOutput

type DeleteObjectsOutput struct {
	Deleted []*DeletedObject `type:"list" flattened:"true"`

	Errors []*Error `locationName:"Error" type:"list" flattened:"true"`

	ErrorsCount *int64 `locationName:"ErrorsCount" type:"integer"`

	// If present, indicates that the requester was successfully charged for the
	// request.
	RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type DeleteRequesterQosInput added in v1.6.2

type DeleteRequesterQosInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type DeleteRequesterQosOutput added in v1.6.2

type DeleteRequesterQosOutput struct {
	// The HTTP headers of the response.
	Metadata map[string]*string `location:"headers" type:"map"`

	// The HTTP status code of the response.
	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type DeleteVpcAccessBlockInput added in v1.8.0

type DeleteVpcAccessBlockInput struct {
	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type DeleteVpcAccessBlockOutput added in v1.8.0

type DeleteVpcAccessBlockOutput struct {
	// The HTTP headers of the response.
	Metadata map[string]*string `location:"headers" type:"map"`

	// The HTTP status code of the response.
	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type DeletedObject

type DeletedObject struct {
	DeleteMarker *bool `type:"boolean"`

	DeleteMarkerVersionID *string `locationName:"DeleteMarkerVersionId" type:"string"`

	Key *string `type:"string"`

	VersionID *string `locationName:"VersionId" type:"string"`
	// contains filtered or unexported fields
}

type Destination

type Destination struct {
	// Bucket information stored after exporting the inventory results.
	KS3BucketDestination *KS3BucketDestination `locationName:"KS3BucketDestination" type:"structure" required:"true"`
}

type DownloadCheckpoint added in v1.6.0

type DownloadCheckpoint struct {
	Magic              string
	MD5                string
	CpFilePath         string           // checkpoint file full path
	DownloadFilePath   string           // Local file path
	BucketName         string           // Bucket name
	ObjectKey          string           // Object key
	ObjectSize         int64            // Object size
	ObjectLastModified string           // Object last modified
	PartSize           int64            // Part size
	PartETagList       []*CompletedPart // Completed parts
}

type DownloadFileInput added in v1.6.0

type DownloadFileInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Object key of the object.
	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	// The path of the file to be downloaded.
	DownloadFile *string `type:"string" locationName:"DownloadFile" required:"true"`

	// The size of each part.
	PartSize *int64 `type:"integer" locationName:"PartSize"`

	// The number of tasks to download the file.
	TaskNum *int64 `type:"integer" locationName:"TaskNum"`

	// Whether to enable checkpoint.
	EnableCheckpoint *bool `type:"boolean" locationName:"EnableCheckpoint"`

	// The directory to store the checkpoint file.
	CheckpointDir *string `type:"string" locationName:"CheckpointDir"`

	// The checkpoint file path.
	CheckpointFile *string `type:"string" locationName:"CheckpointFile"`

	// 下载的范围,range[0]为开始位置,range[1]为结束位置
	// range[0] 小于 0 时表示从文件头开始下载
	// range[1] 小于 0 时表示下载到文件末尾
	// range[0] 和 range[1] 都小于 0 时表示下载整个文件
	// range[0] 和 range[1] 都大于等于 0 时表示下载指定范围的文件
	// range[0] 大于 range[1] 且 range[1] 非负时表示下载整个文件
	// 例如:
	// range=[0, 99] 表示下载文件的前100个字节
	// range=[100, 199] 表示下载文件的第101个字节至第200个字节
	// range=[100, -1] 表示下载文件的第101个字节至文件末尾
	// range=[-1, 100] 表示下载文件的后100个字节
	// Downloads the specified range bytes of an object.
	Range []int64 `locationName:"Range" type:"list"`

	// Sets the Content-Type header of the response.
	ResponseContentType *string `location:"querystring" locationName:"response-content-type" type:"string"`

	// Sets the Content-Language header of the response.
	ResponseContentLanguage *string `location:"querystring" locationName:"response-content-language" type:"string"`

	// Sets the Expires header of the response.
	ResponseExpires *time.Time `location:"querystring" locationName:"response-expires" type:"timestamp" timestampFormat:"iso8601"`

	// Sets the Cache-Control header of the response.
	ResponseCacheControl *string `location:"querystring" locationName:"response-cache-control" type:"string"`

	// Sets the Content-Disposition header of the response
	ResponseContentDisposition *string `location:"querystring" locationName:"response-content-disposition" type:"string"`

	// Sets the Content-Encoding header of the response.
	ResponseContentEncoding *string `location:"querystring" locationName:"response-content-encoding" type:"string"`

	// Return the object only if it has been modified since the specified time,
	// otherwise return a 304 (not modified).
	IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp" timestampFormat:"rfc822"`

	// Return the object only if it has not been modified since the specified time,
	// otherwise return a 412 (precondition failed).
	IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp" timestampFormat:"rfc822"`

	// Return the object only if its entity tag (ETag) is the same as the one specified,
	// otherwise return a 412 (precondition failed).
	IfMatch *string `location:"header" locationName:"If-Match" type:"string"`

	// Return the object only if its entity tag (ETag) is different from the one
	// specified, otherwise return a 304 (not modified).
	IfNoneMatch *string `location:"header" locationName:"If-None-Match" type:"string"`

	// Specify the encoding type of the client.
	// If you want to compress and transmit the returned content using gzip,
	// you need to add a request header: Accept-Encoding:gzip。
	// KS3 will determine whether to return gzip compressed data based on the
	// Content-Type and Object size (not less than 1 KB) of the object.
	// Value: gzip、br、deflate
	AcceptEncoding *string `location:"header" locationName:"Accept-Encoding" type:"string"`

	// Specifies the algorithm to use to when encrypting the object, eg: AES256.
	SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`

	// Specifies the customer-provided encryption key for KS3 to use in encrypting data.
	SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`

	// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
	SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`

	// Progress callback function
	ProgressFn aws.ProgressFunc `location:"function"`
}

type DownloadFileOutput added in v1.6.0

type DownloadFileOutput struct {
	Bucket *string

	Key *string

	ETag *string

	ChecksumCRC64ECMA *string

	ObjectMeta map[string]*string
}

type DownloadPartTask added in v1.6.0

type DownloadPartTask struct {
	// contains filtered or unexported fields
}

type Downloader added in v1.6.0

type Downloader struct {
	CompletedSize int64
	// contains filtered or unexported fields
}

type Error

type Error struct {
	Code *string `type:"string"`

	Key *string `type:"string"`

	Message *string `type:"string"`

	VersionID *string `locationName:"VersionId" type:"string"`
	// contains filtered or unexported fields
}

type ErrorDocument

type ErrorDocument struct {
	// The object key name to use when a 4XX class error occurs.
	Key *string `type:"string" required:"true"`
	// contains filtered or unexported fields
}

type FetchObjectInput added in v1.0.8

type FetchObjectInput struct {
	// The canned ACL to apply to the object.
	ACL *string `location:"header" locationName:"x-kss-acl" type:"string"`

	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Specifies caching behavior along the request/reply chain.
	CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`

	// Specifies presentational information for the object.
	ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`

	// Specifies what content encodings have been applied to the object and thus
	// what decoding mechanisms must be applied to obtain the media-type referenced
	// by the Content-Type header field.
	ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`

	// The language the content is in.
	ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`

	// A standard MIME type describing the format of the object data.
	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// The name of the source bucket and key name of the source object, separated
	// by a slash (/). Must be URL-encoded.
	SourceUrl *string `location:"header" locationName:"x-kss-sourceurl" type:"string" required:"true"`

	CallbackUrl *string `location:"header" locationName:"x-kss-callbackurl" type:"string"`

	// The date and time at which the object is no longer cacheable.
	Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp" timestampFormat:"rfc822"`

	// Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
	GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`

	// Allows grantee to read the object data and its metadata.
	GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`

	// Allows grantee to read the object ACL.
	GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`

	// Allows grantee to write the ACL for the applicable object.
	GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`

	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	// A map of metadata to store with the object in S3.
	Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`

	// Specifies whether the metadata is copied from the source object or replaced
	// with metadata provided in the request.
	MetadataDirective *string `location:"header" locationName:"x-amz-metadata-directive" type:"string"`

	// Confirms that the requester knows that she or he will be charged for the
	// request. Bucket owners need not specify this parameter in their requests.
	// Documentation on downloading objects from requester pays buckets can be found
	// at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
	RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string"`

	// Specifies the algorithm to use to when encrypting the object (e.g., AES256,
	// aws:kms).
	SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`

	// Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
	// data. This value is used to store the object and then it is discarded; Amazon
	// does not store the encryption key. The key must be appropriate for use with
	// the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
	// header.
	SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`

	// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
	// Amazon S3 uses this header for a message integrity check to ensure the encryption
	// key was transmitted without error.
	SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`

	// Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
	// requests for an object protected by AWS KMS will fail if not made via SSL
	// or using SigV4. Documentation on configuring any of the officially supported
	// AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
	SSEKMSKeyID *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`

	// The Server-side encryption algorithm used when storing this object in S3
	// (e.g., AES256, aws:kms).
	ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string"`

	// The type of storage to use for the object. Defaults to 'STANDARD'.
	StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string"`

	// If the bucket is configured as a website, redirects requests for this object
	// to another object in the same bucket or to an external URL. Amazon S3 stores
	// the value of this header in the object metadata.
	WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`

	// Specifies the object tag of the object. Multiple tags can be set at the same time, such as: TagA=A&TagB=B.
	// Note: Key and Value need to be URL-encoded first. If an item does not have "=", the Value is considered to be an empty string.
	Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type FetchObjectOutput added in v1.0.8

type FetchObjectOutput struct {

	// If the object expiration is configured, the response includes this header.
	Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`

	// If present, indicates that the requester was successfully charged for the
	// request.
	RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string"`

	// If server-side encryption with a customer-provided encryption key was requested,
	// the response will include this header confirming the encryption algorithm
	// used.
	SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`

	// If server-side encryption with a customer-provided encryption key was requested,
	// the response will include this header to provide round trip message integrity
	// verification of the customer-provided encryption key.
	SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`

	// If present, specifies the ID of the AWS Key Management Service (KMS) master
	// encryption key that was used for the object.
	SSEKMSKeyID *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`

	// The Server-side encryption algorithm used when storing this object in S3
	// (e.g., AES256, aws:kms).
	ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type Fetcher added in v1.6.0

type Fetcher struct {
	// contains filtered or unexported fields
}

func (*Fetcher) Fetch added in v1.6.0

func (f *Fetcher) Fetch(objectRange []int64) (io.ReadSeeker, error)

type FilePartFetcher added in v1.6.0

type FilePartFetcher interface {
	Fetch(objectRange []int64) (io.ReadSeeker, error)
}

type Func added in v1.0.4

type Func func(attempt int) (retry bool, err error)

Func represents functions that can be retried.

type GeneratePresignedUrlInput added in v1.2.3

type GeneratePresignedUrlInput struct {

	// The canned ACL to apply to the object.
	ACL *string `location:"header" locationName:"x-amz-acl" type:"string"`

	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// A standard MIME type describing the format of the object data.
	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	ContentMd5 *string `location:"header" locationName:"Content-Md5" type:"string"`

	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	// A map of metadata to store with the object in S3.
	Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`

	TrafficLimit *int64 `location:"querystring" locationName:"x-kss-traffic-limit"  type:"integer"`

	HTTPMethod HTTPMethod `locationName:"HTTPMethod" type:"string" required:"true"`

	// The date and time at which the object is no longer cacheable.
	Expires int64 `locationName:"Expires" type:"integer" required:"true"`

	// Sets the Cache-Control header of the response.
	ResponseCacheControl *string `location:"querystring" locationName:"response-cache-control" type:"string"`

	// Sets the Content-Disposition header of the response
	ResponseContentDisposition *string `location:"querystring" locationName:"response-content-disposition" type:"string"`

	// Sets the Content-Encoding header of the response.
	ResponseContentEncoding *string `location:"querystring" locationName:"response-content-encoding" type:"string"`

	// Sets the Content-Language header of the response.
	ResponseContentLanguage *string `location:"querystring" locationName:"response-content-language" type:"string"`

	// Sets the Content-Type header of the response.
	ResponseContentType *string `location:"querystring" locationName:"response-content-type" type:"string"`

	// Sets the Expires header of the response.
	ResponseExpires *time.Time `location:"querystring" locationName:"response-expires" type:"timestamp" timestampFormat:"iso8601"`

	// Deprecated, use ExtendHeaders instead.
	Headers map[string]*string `location:"extendHeaders" type:"map"`

	// Deprecated, use ExtendQueryParams instead.
	Parameters map[string]*string `location:"extendQueryParams" type:"map"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type GeneratePresignedUrlOutput added in v1.2.3

type GeneratePresignedUrlOutput struct {
	// contains filtered or unexported fields
}

type GetBucketACLInput

type GetBucketACLInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type GetBucketACLOutput

type GetBucketACLOutput struct {
	// A list of grants.
	Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"`

	Owner *Owner `type:"structure"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type GetBucketAccessMonitorInput added in v1.8.0

type GetBucketAccessMonitorInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type GetBucketAccessMonitorOutput added in v1.8.0

type GetBucketAccessMonitorOutput struct {
	// Bucket access monitor configuration.
	AccessMonitorConfiguration *AccessMonitorConfiguration `locationName:"AccessMonitorConfiguration" type:"structure"`

	// The HTTP headers of the response.
	Metadata map[string]*string `location:"headers" type:"map"`

	// The HTTP status code of the response.
	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type GetBucketCORSInput

type GetBucketCORSInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type GetBucketCORSOutput

type GetBucketCORSOutput struct {
	CORSConfiguration *CORSConfiguration `locationName:"CORSConfiguration" type:"structure"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type GetBucketDataRedundancySwitchInput added in v1.6.1

type GetBucketDataRedundancySwitchInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type GetBucketDataRedundancySwitchOutput added in v1.6.1

type GetBucketDataRedundancySwitchOutput struct {
	// The bucket data redundancy switch configuration.
	DataRedundancySwitch *DataRedundancySwitch `locationName:"DataRedundancySwitch" type:"structure"`
	// The HTTP headers of the response.
	Metadata map[string]*string `location:"headers" type:"map"`
	// The HTTP status code of the response.
	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type GetBucketDecompressPolicyInput added in v1.4.0

type GetBucketDecompressPolicyInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type GetBucketDecompressPolicyOutput added in v1.4.0

type GetBucketDecompressPolicyOutput struct {
	BucketDecompressPolicy *BucketDecompressPolicy `locationName:"BucketDecompressPolicy" type:"structure"`

	Metadata map[string]*string `location:"headers" type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type GetBucketEncryptionInput added in v1.8.0

type GetBucketEncryptionInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type GetBucketEncryptionOutput added in v1.8.0

type GetBucketEncryptionOutput struct {
	// Bucket encryption configuration container.
	ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `locationName:"ServerSideEncryptionConfiguration" type:"structure"`

	// The HTTP headers of the response.
	Metadata map[string]*string `location:"headers" type:"map"`

	// The HTTP status code of the response.
	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type GetBucketInventoryInput added in v1.5.0

type GetBucketInventoryInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type GetBucketInventoryOutput added in v1.5.0

type GetBucketInventoryOutput struct {
	InventoryConfiguration *InventoryConfiguration `locationName:"Inventory" type:"structure"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type GetBucketLifecycleInput

type GetBucketLifecycleInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type GetBucketLifecycleOutput

type GetBucketLifecycleOutput struct {
	Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type GetBucketLocationInput

type GetBucketLocationInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type GetBucketLocationOutput

type GetBucketLocationOutput struct {
	LocationConstraint *string `type:"string"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type GetBucketLoggingInput

type GetBucketLoggingInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type GetBucketLoggingOutput

type GetBucketLoggingOutput struct {
	LoggingEnabled *LoggingEnabled `type:"structure"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type GetBucketMirrorInput added in v1.0.9

type GetBucketMirrorInput struct {
	Bucket      *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type GetBucketMirrorOutput added in v1.0.9

type GetBucketMirrorOutput struct {
	BucketMirror *BucketMirror `locationName:"BucketMirror" type:"structure"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type GetBucketNotificationConfigurationRequest

type GetBucketNotificationConfigurationRequest struct {
	// Name of the buket to get the notification configuration for.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
	// contains filtered or unexported fields
}

type GetBucketPolicyInput

type GetBucketPolicyInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type GetBucketPolicyOutput

type GetBucketPolicyOutput struct {
	// The bucket policy as a JSON document.
	Policy *string `type:"string"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type GetBucketQosInput added in v1.6.2

type GetBucketQosInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type GetBucketQosOutput added in v1.6.2

type GetBucketQosOutput struct {
	// Bucket flow control configuration container.
	BucketQosConfiguration *BucketQosConfiguration `locationName:"BucketQosConfiguration" type:"structure"`

	// The HTTP headers of the response.
	Metadata map[string]*string `location:"headers" type:"map"`

	// The HTTP status code of the response.
	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type GetBucketReplicationInput

type GetBucketReplicationInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type GetBucketReplicationOutput

type GetBucketReplicationOutput struct {
	ReplicationConfiguration *ReplicationConfiguration `locationName:"Replication" type:"structure"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type GetBucketRequestPaymentInput

type GetBucketRequestPaymentInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type GetBucketRequestPaymentOutput

type GetBucketRequestPaymentOutput struct {
	// Specifies who pays for the download and request fees.
	Payer *string `type:"string"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type GetBucketRetentionInput added in v1.5.0

type GetBucketRetentionInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type GetBucketRetentionOutput added in v1.5.0

type GetBucketRetentionOutput struct {
	RetentionConfiguration *BucketRetentionConfiguration `locationName:"RetentionConfiguration" type:"structure"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type GetBucketTaggingInput

type GetBucketTaggingInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type GetBucketTaggingOutput

type GetBucketTaggingOutput struct {
	// Bucket tagging configuration container.
	Tagging *Tagging `locationName:"Tagging" type:"structure"`

	// The HTTP headers of the response.
	Metadata map[string]*string `location:"headers"  type:"map"`

	// The HTTP status code of the response.
	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type GetBucketTransferAccelerationInput added in v1.8.0

type GetBucketTransferAccelerationInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type GetBucketTransferAccelerationOutput added in v1.8.0

type GetBucketTransferAccelerationOutput struct {
	// Bucket transfer acceleration configuration container.
	TransferAccelerationConfiguration *TransferAccelerationConfiguration `locationName:"TransferAccelerationConfiguration" type:"structure"`

	// The HTTP headers of the response.
	Metadata map[string]*string `location:"headers" type:"map"`

	// The HTTP status code of the response.
	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type GetBucketVersioningInput

type GetBucketVersioningInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type GetBucketVersioningOutput

type GetBucketVersioningOutput struct {
	// Specifies whether MFA delete is enabled in the bucket versioning configuration.
	// This element is only returned if the bucket has been configured with MFA
	// delete. If the bucket has never been so configured, this element is not returned.
	MFADelete *string `locationName:"MfaDelete" type:"string"`

	// The versioning state of the bucket.
	Status *string `type:"string"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type GetBucketWebsiteInput

type GetBucketWebsiteInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type GetBucketWebsiteOutput

type GetBucketWebsiteOutput struct {
	ErrorDocument *ErrorDocument `type:"structure"`

	IndexDocument *IndexDocument `type:"structure"`

	RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"`

	RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type GetObjectACLInput

type GetObjectACLInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	// Confirms that the requester knows that she or he will be charged for the
	// request. Bucket owners need not specify this parameter in their requests.
	// Documentation on downloading objects from requester pays buckets can be found
	// at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
	RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string"`

	// VersionId used to reference a specific version of the object.
	VersionID *string `location:"querystring" locationName:"versionId" type:"string"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type GetObjectACLOutput

type GetObjectACLOutput struct {
	// A list of grants.
	Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"`

	Owner *Owner `type:"structure"`

	// If present, indicates that the requester was successfully charged for the
	// request.
	RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type GetObjectInput

type GetObjectInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Return the object only if its entity tag (ETag) is the same as the one specified,
	// otherwise return a 412 (precondition failed).
	IfMatch *string `location:"header" locationName:"If-Match" type:"string"`

	// Return the object only if it has been modified since the specified time,
	// otherwise return a 304 (not modified).
	IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp" timestampFormat:"rfc822"`

	// Return the object only if its entity tag (ETag) is different from the one
	// specified, otherwise return a 304 (not modified).
	IfNoneMatch *string `location:"header" locationName:"If-None-Match" type:"string"`

	// Return the object only if it has not been modified since the specified time,
	// otherwise return a 412 (precondition failed).
	IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp" timestampFormat:"rfc822"`

	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	// Downloads the specified range bytes of an object. For more information about
	// the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.
	Range *string `location:"header" locationName:"Range" type:"string"`

	// Confirms that the requester knows that she or he will be charged for the
	// request. Bucket owners need not specify this parameter in their requests.
	// Documentation on downloading objects from requester pays buckets can be found
	// at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
	RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string"`

	// Sets the Cache-Control header of the response.
	ResponseCacheControl *string `location:"querystring" locationName:"response-cache-control" type:"string"`

	// Sets the Content-Disposition header of the response
	ResponseContentDisposition *string `location:"querystring" locationName:"response-content-disposition" type:"string"`

	// Sets the Content-Encoding header of the response.
	ResponseContentEncoding *string `location:"querystring" locationName:"response-content-encoding" type:"string"`

	// Sets the Content-Language header of the response.
	ResponseContentLanguage *string `location:"querystring" locationName:"response-content-language" type:"string"`

	// Sets the Content-Type header of the response.
	ResponseContentType *string `location:"querystring" locationName:"response-content-type" type:"string"`

	// Sets the Expires header of the response.
	ResponseExpires *time.Time `location:"querystring" locationName:"response-expires" type:"timestamp" timestampFormat:"iso8601"`

	// Specify the encoding type of the client.
	// If you want to compress and transmit the returned content using gzip,
	// you need to add a request header: Accept-Encoding:gzip。
	// KS3 will determine whether to return gzip compressed data based on the
	// Content-Type and Object size (not less than 1 KB) of the object.
	// Value: gzip、br、deflate
	AcceptEncoding *string `location:"header" locationName:"Accept-Encoding" type:"string"`

	// Specifies the algorithm to use to when encrypting the object (e.g., AES256,
	// aws:kms).
	SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`

	// Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
	// data. This value is used to store the object and then it is discarded; Amazon
	// does not store the encryption key. The key must be appropriate for use with
	// the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
	// header.
	SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`

	// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
	// Amazon S3 uses this header for a message integrity check to ensure the encryption
	// key was transmitted without error.
	SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`

	// VersionId used to reference a specific version of the object.
	VersionID *string `location:"querystring" locationName:"versionId" type:"string"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	TrafficLimit *int64 `location:"header" locationName:"x-kss-traffic-limit" type:"string"`

	// Progress callback function
	ProgressFn aws.ProgressFunc `location:"function"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type GetObjectOutput

type GetObjectOutput struct {
	AcceptRanges *string `location:"header" locationName:"accept-ranges" type:"string"`

	// Object data.
	Body io.ReadCloser `type:"blob"`

	// Specifies caching behavior along the request/reply chain.
	CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`

	// Specifies presentational information for the object.
	ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`

	// Specifies what content encodings have been applied to the object and thus
	// what decoding mechanisms must be applied to obtain the media-type referenced
	// by the Content-Type header field.
	ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`

	// The language the content is in.
	ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`

	// Size of the body in bytes.
	ContentLength *int64 `location:"header" locationName:"Content-Length" type:"integer"`

	// The portion of the object returned in the response.
	ContentRange *string `location:"header" locationName:"Content-Range" type:"string"`

	// A standard MIME type describing the format of the object data.
	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Specifies whether the object retrieved was (true) or was not (false) a Delete
	// Marker. If false, this response header does not appear in the response.
	DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`

	// An ETag is an opaque identifier assigned by a web server to a specific version
	// of a resource found at a URL
	ETag *string `location:"header" locationName:"ETag" type:"string"`

	// If the object expiration is configured (see PUT Bucket lifecycle), the response
	// includes this header. It includes the expiry-date and rule-id key value pairs
	// providing object expiration information. The value of the rule-id is URL
	// encoded.
	Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`

	// The date and time at which the object is no longer cacheable.
	Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp" timestampFormat:"rfc822"`

	// Last modified date of the object
	LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp" timestampFormat:"rfc822"`

	// This is set to the number of metadata entries not returned in x-amz-meta
	// headers. This can happen if you create metadata using an API like SOAP that
	// supports more flexible metadata than the REST API. For example, using SOAP,
	// you can create metadata whose values are not legal HTTP headers.
	MissingMeta *int64 `location:"header" locationName:"x-amz-missing-meta" type:"integer"`

	ReplicationStatus *string `location:"header" locationName:"x-amz-replication-status" type:"string"`

	// If present, indicates that the requester was successfully charged for the
	// request.
	RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string"`

	// Provides information about object restoration operation and expiration time
	// of the restored object copy.
	Restore *string `location:"header" locationName:"x-amz-restore" type:"string"`

	// If server-side encryption with a customer-provided encryption key was requested,
	// the response will include this header confirming the encryption algorithm
	// used.
	SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`

	// If server-side encryption with a customer-provided encryption key was requested,
	// the response will include this header to provide round trip message integrity
	// verification of the customer-provided encryption key.
	SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`

	// If present, specifies the ID of the AWS Key Management Service (KMS) master
	// encryption key that was used for the object.
	SSEKMSKeyID *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`

	// The Server-side encryption algorithm used when storing this object in S3
	// (e.g., AES256, aws:kms).
	ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string"`

	// Version of the object.
	VersionID *string `location:"header" locationName:"x-amz-version-id" type:"string"`

	// If the bucket is configured as a website, redirects requests for this object
	// to another object in the same bucket or to an external URL. Amazon S3 stores
	// the value of this header in the object metadata.
	WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type GetObjectTaggingInput added in v1.0.8

type GetObjectTaggingInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type GetObjectTaggingOutput added in v1.0.8

type GetObjectTaggingOutput struct {
	Tagging *Tagging `locationName:"Tagging" type:"structure"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type GetObjectTorrentInput

type GetObjectTorrentInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	// Confirms that the requester knows that she or he will be charged for the
	// request. Bucket owners need not specify this parameter in their requests.
	// Documentation on downloading objects from requester pays buckets can be found
	// at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
	RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type GetObjectTorrentOutput

type GetObjectTorrentOutput struct {
	Body io.ReadCloser `type:"blob"`

	// If present, indicates that the requester was successfully charged for the
	// request.
	RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type GetRequesterQosInput added in v1.6.2

type GetRequesterQosInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type GetRequesterQosOutput added in v1.6.2

type GetRequesterQosOutput struct {
	// Requester flow control configuration container.
	RequesterQosConfiguration *RequesterQosConfiguration `locationName:"RequesterQosConfiguration" type:"structure"`

	// The HTTP headers of the response.
	Metadata map[string]*string `location:"headers" type:"map"`

	// The HTTP status code of the response.
	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type GetVpcAccessBlockInput added in v1.8.0

type GetVpcAccessBlockInput struct {
	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type GetVpcAccessBlockOutput added in v1.8.0

type GetVpcAccessBlockOutput struct {
	// Vpc access block configuration container.
	VpcAccessBlockConfiguration *VpcAccessBlockConfiguration `locationName:"VpcAccessBlockConfiguration" type:"structure"`

	// The HTTP headers of the response.
	Metadata map[string]*string `location:"headers" type:"map"`

	// The HTTP status code of the response.
	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type Grant

type Grant struct {
	Grantee *Grantee `type:"structure"`

	// Specifies the permission given to the grantee.
	Permission *string `type:"string"`
	// contains filtered or unexported fields
}

type Grantee

type Grantee struct {
	// Screen name of the grantee.
	DisplayName *string `type:"string"`

	// Email address of the grantee.
	EmailAddress *string `type:"string"`

	// The canonical user ID of the grantee.
	ID *string `type:"string"`

	// Type of grantee
	Type *string `locationName:"xsi:type" type:"string" xmlAttribute:"true" required:"true"`

	// URI of the grantee group.
	URI *string `type:"string"`
	// contains filtered or unexported fields
}

type HTTPMethod added in v1.2.3

type HTTPMethod string
const (
	PUT    HTTPMethod = "PUT"
	GET    HTTPMethod = "GET"
	DELETE HTTPMethod = "DELETE"
	HEAD   HTTPMethod = "HEAD"
	POST   HTTPMethod = "POST"
)

type HeadBucketInput

type HeadBucketInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type HeadBucketOutput

type HeadBucketOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type HeadObjectInput

type HeadObjectInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Return the object only if its entity tag (ETag) is the same as the one specified,
	// otherwise return a 412 (precondition failed).
	IfMatch *string `location:"header" locationName:"If-Match" type:"string"`

	// Return the object only if it has been modified since the specified time,
	// otherwise return a 304 (not modified).
	IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp" timestampFormat:"rfc822"`

	// Return the object only if its entity tag (ETag) is different from the one
	// specified, otherwise return a 304 (not modified).
	IfNoneMatch *string `location:"header" locationName:"If-None-Match" type:"string"`

	// Return the object only if it has not been modified since the specified time,
	// otherwise return a 412 (precondition failed).
	IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp" timestampFormat:"rfc822"`

	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	// Downloads the specified range bytes of an object. For more information about
	// the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.
	Range *string `location:"header" locationName:"Range" type:"string"`

	// Confirms that the requester knows that she or he will be charged for the
	// request. Bucket owners need not specify this parameter in their requests.
	// Documentation on downloading objects from requester pays buckets can be found
	// at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
	RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string"`

	// Specifies the algorithm to use to when encrypting the object (e.g., AES256,
	// aws:kms).
	SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`

	// Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
	// data. This value is used to store the object and then it is discarded; Amazon
	// does not store the encryption key. The key must be appropriate for use with
	// the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
	// header.
	SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`

	// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
	// Amazon S3 uses this header for a message integrity check to ensure the encryption
	// key was transmitted without error.
	SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`

	// VersionId used to reference a specific version of the object.
	VersionID *string `location:"querystring" locationName:"versionId" type:"string"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type HeadObjectOutput

type HeadObjectOutput struct {
	AcceptRanges *string `location:"header" locationName:"accept-ranges" type:"string"`

	// Specifies caching behavior along the request/reply chain.
	CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`

	// Specifies presentational information for the object.
	ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`

	// Specifies what content encodings have been applied to the object and thus
	// what decoding mechanisms must be applied to obtain the media-type referenced
	// by the Content-Type header field.
	ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`

	// The language the content is in.
	ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`

	// Size of the body in bytes.
	ContentLength *int64 `location:"header" locationName:"Content-Length" type:"integer"`

	// A standard MIME type describing the format of the object data.
	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Specifies whether the object retrieved was (true) or was not (false) a Delete
	// Marker. If false, this response header does not appear in the response.
	DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`

	// An ETag is an opaque identifier assigned by a web server to a specific version
	// of a resource found at a URL
	ETag *string `location:"header" locationName:"ETag" type:"string"`

	// If the object expiration is configured (see PUT Bucket lifecycle), the response
	// includes this header. It includes the expiry-date and rule-id key value pairs
	// providing object expiration information. The value of the rule-id is URL
	// encoded.
	Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`

	// The date and time at which the object is no longer cacheable.
	Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp" timestampFormat:"rfc822"`

	// Last modified date of the object
	LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp" timestampFormat:"rfc822"`

	// This is set to the number of metadata entries not returned in x-amz-meta
	// headers. This can happen if you create metadata using an API like SOAP that
	// supports more flexible metadata than the REST API. For example, using SOAP,
	// you can create metadata whose values are not legal HTTP headers.
	MissingMeta *int64 `location:"header" locationName:"x-amz-missing-meta" type:"integer"`

	ReplicationStatus *string `location:"header" locationName:"x-amz-replication-status" type:"string"`

	// If present, indicates that the requester was successfully charged for the
	// request.
	RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string"`

	// Provides information about object restoration operation and expiration time
	// of the restored object copy.
	Restore *string `location:"header" locationName:"x-amz-restore" type:"string"`

	// If server-side encryption with a customer-provided encryption key was requested,
	// the response will include this header confirming the encryption algorithm
	// used.
	SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`

	// If server-side encryption with a customer-provided encryption key was requested,
	// the response will include this header to provide round trip message integrity
	// verification of the customer-provided encryption key.
	SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`

	// If present, specifies the ID of the AWS Key Management Service (KMS) master
	// encryption key that was used for the object.
	SSEKMSKeyID *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`

	// The Server-side encryption algorithm used when storing this object in S3
	// (e.g., AES256, aws:kms).
	ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string"`

	// Version of the object.
	VersionID *string `location:"header" locationName:"x-amz-version-id" type:"string"`

	// If the bucket is configured as a website, redirects requests for this object
	// to another object in the same bucket or to an external URL. Amazon S3 stores
	// the value of this header in the object metadata.
	WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type HeaderSetting added in v1.0.9

type HeaderSetting struct {
	SetHeaders    []*SetHeaders    `json:"set_headers,omitempty" locationName:"set_headers"`
	RemoveHeaders []*RemoveHeaders `json:"remove_headers,omitempty" locationName:"remove_headers"`
	PassAll       *bool            `json:"pass_all,omitempty" locationName:"pass_all"`
	PassHeaders   []*PassHeaders   `json:"pass_headers,omitempty" locationName:"pass_headers"`
}

type IndexDocument

type IndexDocument struct {
	// A suffix that is appended to a request that is for a directory on the website
	// endpoint (e.g. if the suffix is index.html and you make a request to samplebucket/images/
	// the data that is returned will be for the object with the key name images/index.html)
	// The suffix must not be empty and must not include a slash character.
	Suffix *string `type:"string" required:"true"`
	// contains filtered or unexported fields
}

type Initiator

type Initiator struct {
	// Name of the Principal.
	DisplayName *string `type:"string"`

	// If the principal is an AWS account, it provides the Canonical User ID. If
	// the principal is an IAM User, it provides a user ARN value.
	ID *string `type:"string"`
	// contains filtered or unexported fields
}

type InventoryConfiguration added in v1.5.0

type InventoryConfiguration struct {
	// The list name specified by the user is unique within a single bucket.
	Id *string `locationName:"Id" type:"string" required:"true"`

	// Is the inventory function enabled.
	IsEnabled *bool `locationName:"IsEnabled" type:"boolean" required:"true"`

	// Specify scanning prefix information.
	Filter *InventoryFilter `locationName:"Filter" type:"structure"`

	// Storage inventory results.
	Destination *Destination `locationName:"Destination" type:"structure" required:"true"`

	// Container for storing inventory export cycle information.
	Schedule *Schedule `locationName:"Schedule" type:"structure" required:"true"`

	// Set the configuration items included in the inventory results.
	OptionalFields *OptionalFields `locationName:"OptionalFields" type:"structure" required:"true"`
}

type InventoryFilter added in v1.5.0

type InventoryFilter struct {
	// The storage path prefix of the inventory file.
	Prefix *string `locationName:"Prefix" type:"string" required:"true"`

	// The starting timestamp of the last modification time of the filtered file, in seconds.
	LastModifyBeginTimeStamp *string `locationName:"LastModifyBeginTimeStamp" type:"string"`

	// End timestamp of the last modification time of the filtered file, in seconds.
	LastModifyEndTimeStamp *string `locationName:"LastModifyEndTimeStamp" type:"string"`
}

type KS3BucketDestination added in v1.5.0

type KS3BucketDestination struct {
	// The file format of the inventory file is a CSV file compressed using GZIP after exporting the manifest file.
	Format *string `locationName:"Format" type:"string" required:"true"`

	// Bucket owner's account ID.
	AccountId *string `locationName:"AccountId" type:"string"`

	// Bucket for storing exported inventory files.
	Bucket *string `locationName:"Bucket" type:"string" required:"true"`

	// The storage path prefix of the inventory file.
	Prefix *string `locationName:"Prefix" type:"string"`
}

type LambdaFunctionConfiguration

type LambdaFunctionConfiguration struct {
	Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`

	// Optional unique identifier for configurations in a notification configuration.
	// If you don't provide one, Amazon S3 will assign an ID.
	ID *string `locationName:"Id" type:"string"`

	// Lambda cloud function ARN that Amazon S3 can invoke when it detects events
	// of the specified type.
	LambdaFunctionARN *string `locationName:"CloudFunction" type:"string" required:"true"`
	// contains filtered or unexported fields
}

LambdaFunctionConfiguration Container for specifying the AWS Lambda notification configuration.

type LifecycleConfiguration

type LifecycleConfiguration struct {
	Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
}

type LifecycleExpiration

type LifecycleExpiration struct {
	// Indicates at what date the object is to be moved or deleted. Should be in
	// GMT ISO 8601 Format.
	Date *time.Time `type:"timestamp" timestampFormat:"iso8601"`

	// Indicates the lifetime, in days, of the objects that are subject to the rule.
	// The value must be a non-zero positive integer.
	Days *int64 `type:"integer"`
}

type LifecycleFilter

type LifecycleFilter struct {
	Prefix *string `type:"string"`
	And    *And    `locationName:"And" type:"structure"`
}

type LifecycleRule

type LifecycleRule struct {
	// Unique identifier for the rule. The value cannot be longer than 255 characters.
	ID *string `type:"string"`

	// If 'Enabled', the rule is currently being applied. If 'Disabled', the rule
	// is not currently being applied.
	Status *string `type:"string" required:"true"`

	// Specifies the prefix, each Rule can only have one Filter, and the prefixes of different
	// Rules cannot conflict.
	Filter *LifecycleFilter `type:"structure"`

	// Specifies the time when the object is deleted
	Expiration *LifecycleExpiration `type:"structure"`

	// Specifies when an object transitions to a specified storage class.
	Transitions []*Transition `locationName:"Transition" type:"list" flattened:"true"`

	// Specifies the expiration time for multipart uploads.
	AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"`
}

type ListBucketInventoryInput added in v1.5.0

type ListBucketInventoryInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type ListBucketInventoryOutput added in v1.5.0

type ListBucketInventoryOutput struct {
	InventoryConfigurationsResult *ListInventoryConfigurationsResult `locationName:"InventoryConfigurationsResult" type:"structure"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type ListBucketsInput

type ListBucketsInput struct {
	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type ListBucketsOutput

type ListBucketsOutput struct {
	Buckets []*Bucket `locationNameList:"Bucket" type:"list"`

	Owner *Owner `type:"structure"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type ListInventoryConfigurationsResult added in v1.5.0

type ListInventoryConfigurationsResult struct {
	InventoryConfigurations []*InventoryConfiguration `locationName:"InventoryConfiguration" type:"list" flattened:"true"`

	IsTruncated *bool `locationName:"IsTruncated" type:"boolean"`

	NextContinuationToken *string `locationName:"NextContinuationToken" type:"string"`
}

type ListMultipartUploadsInput

type ListMultipartUploadsInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Character you use to group keys.
	Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`

	// Requests Amazon S3 to encode the object keys in the response and specifies
	// the encoding method to use. An object key may contain any Unicode character;
	// however, XML 1.0 parser cannot parse some characters, such as characters
	// with an ASCII value from 0 to 10. For characters that are not supported in
	// XML 1.0, you can add this parameter to request that Amazon S3 encode the
	// keys in the response.
	EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string"`

	// Together with upload-id-marker, this parameter specifies the multipart upload
	// after which listing should begin.
	KeyMarker *string `location:"querystring" locationName:"key-marker" type:"string"`

	// Sets the maximum number of multipart uploads, from 1 to 1,000, to return
	// in the response body. 1,000 is the maximum number of uploads that can be
	// returned in a response.
	MaxUploads *int64 `location:"querystring" locationName:"max-uploads" type:"integer"`

	// Lists in-progress uploads only for those keys that begin with the specified
	// prefix.
	Prefix *string `location:"querystring" locationName:"prefix" type:"string"`

	// Together with key-marker, specifies the multipart upload after which listing
	// should begin. If key-marker is not specified, the upload-id-marker parameter
	// is ignored.
	UploadIDMarker *string `location:"querystring" locationName:"upload-id-marker" type:"string"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type ListMultipartUploadsOutput

type ListMultipartUploadsOutput struct {
	// Name of the bucket to which the multipart upload was initiated.
	Bucket *string `type:"string"`

	CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`

	Delimiter *string `type:"string"`

	// Encoding type used by Amazon S3 to encode object keys in the response.
	EncodingType *string `type:"string"`

	// Indicates whether the returned list of multipart uploads is truncated. A
	// value of true indicates that the list was truncated. The list can be truncated
	// if the number of multipart uploads exceeds the limit allowed or specified
	// by max uploads.
	IsTruncated *bool `type:"boolean"`

	// The key at or after which the listing began.
	KeyMarker *string `type:"string"`

	// Maximum number of multipart uploads that could have been included in the
	// response.
	MaxUploads *int64 `type:"integer"`

	// When a list is truncated, this element specifies the value that should be
	// used for the key-marker request parameter in a subsequent request.
	NextKeyMarker *string `type:"string"`

	// When a list is truncated, this element specifies the value that should be
	// used for the upload-id-marker request parameter in a subsequent request.
	NextUploadIDMarker *string `locationName:"NextUploadIdMarker" type:"string"`

	// When a prefix is provided in the request, this field contains the specified
	// prefix. The result contains only keys starting with the specified prefix.
	Prefix *string `type:"string"`

	// Upload ID after which listing began.
	UploadIDMarker *string `locationName:"UploadIdMarker" type:"string"`

	Uploads []*MultipartUpload `locationName:"Upload" type:"list" flattened:"true"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type ListObjectVersionsInput

type ListObjectVersionsInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// A delimiter is a character you use to group keys.
	Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`

	// Requests Amazon S3 to encode the object keys in the response and specifies
	// the encoding method to use. An object key may contain any Unicode character;
	// however, XML 1.0 parser cannot parse some characters, such as characters
	// with an ASCII value from 0 to 10. For characters that are not supported in
	// XML 1.0, you can add this parameter to request that Amazon S3 encode the
	// keys in the response.
	EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string"`

	// Specifies the key to start with when listing objects in a bucket.
	KeyMarker *string `location:"querystring" locationName:"key-marker" type:"string"`

	// Sets the maximum number of keys returned in the response. The response might
	// contain fewer keys but will never contain more.
	MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"`

	// Limits the response to keys that begin with the specified prefix.
	Prefix *string `location:"querystring" locationName:"prefix" type:"string"`

	// Specifies the object version you want to start listing from.
	VersionIDMarker *string `location:"querystring" locationName:"version-id-marker" type:"string"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type ListObjectVersionsOutput

type ListObjectVersionsOutput struct {
	CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`

	DeleteMarkers []*DeleteMarkerEntry `locationName:"DeleteMarker" type:"list" flattened:"true"`

	Delimiter *string `type:"string"`

	// Encoding type used by Amazon S3 to encode object keys in the response.
	EncodingType *string `type:"string"`

	// A flag that indicates whether or not Amazon S3 returned all of the results
	// that satisfied the search criteria. If your results were truncated, you can
	// make a follow-up paginated request using the NextKeyMarker and NextVersionIdMarker
	// response parameters as a starting place in another request to return the
	// rest of the results.
	IsTruncated *bool `type:"boolean"`

	// Marks the last Key returned in a truncated response.
	KeyMarker *string `type:"string"`

	MaxKeys *int64 `type:"integer"`

	Name *string `type:"string"`

	// Use this value for the key marker request parameter in a subsequent request.
	NextKeyMarker *string `type:"string"`

	// Use this value for the next version id marker parameter in a subsequent request.
	NextVersionIDMarker *string `locationName:"NextVersionIdMarker" type:"string"`

	Prefix *string `type:"string"`

	VersionIDMarker *string `locationName:"VersionIdMarker" type:"string"`

	Versions []*ObjectVersion `locationName:"Version" type:"list" flattened:"true"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type ListObjectsInput

type ListObjectsInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// A delimiter is a character you use to group keys.
	Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"`

	// Requests Amazon S3 to encode the object keys in the response and specifies
	// the encoding method to use. An object key may contain any Unicode character;
	// however, XML 1.0 parser cannot parse some characters, such as characters
	// with an ASCII value from 0 to 10. For characters that are not supported in
	// XML 1.0, you can add this parameter to request that Amazon S3 encode the
	// keys in the response.
	EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string"`

	// Specifies the key to start with when listing objects in a bucket.
	Marker *string `location:"querystring" locationName:"marker" type:"string"`

	// Sets the maximum number of keys returned in the response. The response might
	// contain fewer keys but will never contain more.
	MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"`

	// Limits the response to keys that begin with the specified prefix.
	Prefix *string `location:"querystring" locationName:"prefix" type:"string"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type ListObjectsOutput

type ListObjectsOutput struct {
	CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"`

	Contents []*Object `type:"list" flattened:"true"`

	Delimiter *string `type:"string"`

	// Encoding type used by Amazon S3 to encode object keys in the response.
	EncodingType *string `type:"string"`

	// A flag that indicates whether or not Amazon S3 returned all of the results
	// that satisfied the search criteria.
	IsTruncated *bool `type:"boolean"`

	Marker *string `type:"string"`

	MaxKeys *int64 `type:"integer"`

	Name *string `type:"string"`

	// When response is truncated (the IsTruncated element value in the response
	// is true), you can use the key name in this field as marker in the subsequent
	// request to get next set of objects. Amazon S3 lists objects in alphabetical
	// order Note: This element is returned only if you have delimiter request parameter
	// specified. If response does not include the NextMaker and it is truncated,
	// you can use the value of the last Key in the response as the marker in the
	// subsequent request to get the next set of object keys.
	NextMarker *string `type:"string"`

	Prefix *string `type:"string"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type ListPartsInput

type ListPartsInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	// Sets the maximum number of parts to return.
	MaxParts *int64 `location:"querystring" locationName:"max-parts" type:"integer"`

	// Specifies the part after which listing should begin. Only parts with higher
	// part numbers will be listed.
	PartNumberMarker *int64 `location:"querystring" locationName:"part-number-marker" type:"integer"`

	// Confirms that the requester knows that she or he will be charged for the
	// request. Bucket owners need not specify this parameter in their requests.
	// Documentation on downloading objects from requester pays buckets can be found
	// at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
	RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string"`

	// Upload ID identifying the multipart upload whose parts are being listed.
	UploadID *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type ListPartsOutput

type ListPartsOutput struct {
	// Name of the bucket to which the multipart upload was initiated.
	Bucket *string `type:"string"`

	// Identifies who initiated the multipart upload.
	Initiator *Initiator `type:"structure"`

	// Indicates whether the returned list of parts is truncated.
	IsTruncated *bool `type:"boolean"`

	// Object key for which the multipart upload was initiated.
	Key *string `type:"string"`

	// Maximum number of parts that were allowed in the response.
	MaxParts *int64 `type:"integer"`

	// When a list is truncated, this element specifies the last part in the list,
	// as well as the value to use for the part-number-marker request parameter
	// in a subsequent request.
	NextPartNumberMarker *int64 `type:"integer"`

	Owner *Owner `type:"structure"`

	// Part number after which listing begins.
	PartNumberMarker *int64 `type:"integer"`

	Parts []*Part `locationName:"Part" type:"list" flattened:"true"`

	// If present, indicates that the requester was successfully charged for the
	// request.
	RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string"`

	// The class of storage used to store the object.
	StorageClass *string `type:"string"`

	// Upload ID identifying the multipart upload whose parts are being listed.
	UploadID *string `locationName:"UploadId" type:"string"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type ListRetentionInput added in v1.5.0

type ListRetentionInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Specifies the key to start with when listing objects in a bucket.
	Marker *string `location:"querystring" locationName:"marker" type:"string"`

	// Sets the maximum number of keys returned in the response. The response might
	// contain fewer keys but will never contain more.
	MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"`

	// Limits the response to keys that begin with the specified prefix.
	Prefix *string `location:"querystring" locationName:"prefix" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type ListRetentionOutput added in v1.5.0

type ListRetentionOutput struct {
	// A container that lists information about the list of objects in the recycle bin.
	ListRetentionResult *ListRetentionResult `locationName:"ListRetentionResult" type:"structure"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type ListRetentionResult added in v1.5.0

type ListRetentionResult struct {
	// The name of the bucket.
	Name *string `type:"string"`

	// Specify the prefix of the Key when requesting this List.
	Prefix *string `type:"string"`

	// The maximum number of objects returned is 1000 by default.
	MaxKeys *int64 `type:"integer"`

	// Specify the starting position of the object in the target bucket.
	Marker *string `type:"string"`

	// The starting point for the next listed file. Users can use this value as a marker parameter
	// for the next List Retention.
	NextMarker *string `type:"string"`

	// Whether it has been truncated. If the number of records in the Object list exceeds the set
	// maximum value, it will be truncated.
	IsTruncated *bool `type:"boolean"`

	// The encoding method for Object names.
	EncodingType *string `type:"string"`

	// List of Objects Listed.
	Contents []*RetentionObject `type:"list" flattened:"true"`
}

type LoggingEnabled

type LoggingEnabled struct {
	// Specifies the bucket where you want Amazon S3 to store server access logs.
	// You can have your logs delivered to any bucket that you own, including the
	// same bucket that is being logged. You can also configure multiple buckets
	// to deliver their logs to the same target bucket. In this case you should
	// choose a different TargetPrefix for each source bucket so that the delivered
	// log files can be distinguished by key.
	TargetBucket *string `type:"string"`

	TargetGrants []*TargetGrant `locationNameList:"Grant" type:"list"`

	// This element lets you specify a prefix for the keys that the log files will
	// be stored under.
	TargetPrefix *string `type:"string"`
	// contains filtered or unexported fields
}

type MatchCondition added in v1.0.9

type MatchCondition struct {
	HTTPCodes   []*string `json:"http_codes" locationName:"http_codes"`
	KeyPrefixes []*string `json:"key_prefixes" locationName:"key_prefixes"`
}

type MetadataCreateBucketInput

type MetadataCreateBucketInput struct {
	SDKShapeTraits bool `type:"structure" payload:"CreateBucketConfiguration"`
}

type MirrorRequestSetting added in v1.0.9

type MirrorRequestSetting struct {
	PassQueryString *bool          `json:"pass_query_string,omitempty" locationName:"pass_query_string"`
	Follow3Xx       *bool          `json:"follow3xx,omitempty" locationName:"follow3xx"`
	HeaderSetting   *HeaderSetting `json:"header_setting,omitempty" locationName:"header_setting"`
}

type MultipartUpload

type MultipartUpload struct {
	// Date and time at which the multipart upload was initiated.
	Initiated *time.Time `type:"timestamp" timestampFormat:"iso8601"`

	// Identifies who initiated the multipart upload.
	Initiator *Initiator `type:"structure"`

	// Key of the object for which the multipart upload was initiated.
	Key *string `type:"string"`

	Owner *Owner `type:"structure"`

	// The class of storage used to store the object.
	StorageClass *string `type:"string"`

	// Upload ID that identifies the multipart upload.
	UploadID *string `locationName:"UploadId" type:"string"`
	// contains filtered or unexported fields
}

type NotificationConfiguration

type NotificationConfiguration struct {
	LambdaFunctionConfigurations []*LambdaFunctionConfiguration `locationName:"CloudFunctionConfiguration" type:"list" flattened:"true"`

	QueueConfigurations []*QueueConfiguration `locationName:"QueueConfiguration" type:"list" flattened:"true"`

	TopicConfigurations []*TopicConfiguration `locationName:"TopicConfiguration" type:"list" flattened:"true"`
	// contains filtered or unexported fields
}

NotificationConfiguration Container for specifying the notification configuration of the bucket. If this element is empty, notifications are turned off on the bucket.

type NotificationConfigurationDeprecated

type NotificationConfigurationDeprecated struct {
	CloudFunctionConfiguration *CloudFunctionConfiguration `type:"structure"`

	QueueConfiguration *QueueConfigurationDeprecated `type:"structure"`

	TopicConfiguration *TopicConfigurationDeprecated `type:"structure"`
	// contains filtered or unexported fields
}

type Object

type Object struct {
	ETag *string `type:"string"`

	Key *string `type:"string"`

	LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"`

	Owner *Owner `type:"structure"`

	Size *int64 `type:"integer"`

	// The class of storage used to store the object.
	StorageClass *string `type:"string"`

	// The redundancy type of the object.
	Redundancy *string `type:"string"`
	// contains filtered or unexported fields
}

type ObjectIdentifier

type ObjectIdentifier struct {
	// Key name of the object to delete.
	Key *string `type:"string" required:"true"`

	// VersionId for the specific version of the object to delete.
	VersionID *string `locationName:"VersionId" type:"string"`
	// contains filtered or unexported fields
}

type ObjectVersion

type ObjectVersion struct {
	ETag *string `type:"string"`

	// Specifies whether the object is (true) or is not (false) the latest version
	// of an object.
	IsLatest *bool `type:"boolean"`

	// The object key.
	Key *string `type:"string"`

	// Date and time the object was last modified.
	LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"`

	Owner *Owner `type:"structure"`

	// Size in bytes of the object.
	Size *int64 `type:"integer"`

	// The class of storage used to store the object.
	StorageClass *string `type:"string"`

	// Version ID of an object.
	VersionID *string `locationName:"VersionId" type:"string"`
	// contains filtered or unexported fields
}

type OptionalFields added in v1.5.0

type OptionalFields struct {
	// Configuration items included in the inventory results.
	// Valid values:
	// Size: The size of the object.
	// LastModifiedDate: The last modified time of an object.
	// ETag: The ETag value of an object, used to identify its contents.
	// StorageClass: The storage type of Object.
	// IsMultipartUploaded: Is it an object uploaded through shard upload method.
	// EncryptionStatus: Whether the object is encrypted. If the object is encrypted, the value of this field is True; otherwise, it is False.
	Field []*string `locationName:"Field" type:"list" flattened:"true"`
}

type Owner

type Owner struct {
	DisplayName *string `type:"string"`

	ID *string `type:"string"`
	// contains filtered or unexported fields
}

type Part

type Part struct {
	// Entity tag returned when the part was uploaded.
	ETag *string `type:"string"`

	// Date and time at which the part was uploaded.
	LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"`

	// Part number identifying the part.
	PartNumber *int64 `type:"integer"`

	// Size of the uploaded part data.
	Size *int64 `type:"integer"`
	// contains filtered or unexported fields
}

type PassHeaders added in v1.0.9

type PassHeaders struct {
	Key *string `json:"key,omitempty" locationName:"key"`
}

type PutBucketACLInput

type PutBucketACLInput struct {
	// The canned ACL to apply to the bucket.
	ACL *string `location:"header" locationName:"x-amz-acl" type:"string"`

	AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure"`

	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Allows grantee the read, write, read ACP, and write ACP permissions on the
	// bucket.
	GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`

	// Allows grantee to list the objects in the bucket.
	GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`

	// Allows grantee to read the bucket ACL.
	GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`

	// Allows grantee to create, overwrite, and delete any object in the bucket.
	GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"`

	// Allows grantee to write the ACL for the applicable bucket.
	GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutBucketACLOutput

type PutBucketACLOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type PutBucketAccessMonitorInput added in v1.8.0

type PutBucketAccessMonitorInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Bucket access monitor configuration.
	AccessMonitorConfiguration *AccessMonitorConfiguration `locationName:"AccessMonitorConfiguration" type:"structure" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutBucketAccessMonitorOutput added in v1.8.0

type PutBucketAccessMonitorOutput struct {
	// The HTTP headers of the response.
	Metadata map[string]*string `location:"headers" type:"map"`

	// The HTTP status code of the response.
	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type PutBucketCORSInput

type PutBucketCORSInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	CORSConfiguration *CORSConfiguration `locationName:"CORSConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/" `

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutBucketCORSOutput

type PutBucketCORSOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type PutBucketDataRedundancySwitchInput added in v1.6.1

type PutBucketDataRedundancySwitchInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
	// The bucket data redundancy type.
	// Valid value: LRS丨ZRS
	// LRS: local redundancy storage
	// ZRS: zone redundancy storage
	DataRedundancyType *string `location:"header" locationName:"x-amz-data-redundancy-type" type:"string" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type PutBucketDataRedundancySwitchOutput added in v1.6.1

type PutBucketDataRedundancySwitchOutput struct {
	// The HTTP headers of the response.
	Metadata map[string]*string `location:"headers" type:"map"`
	// The HTTP status code of the response.
	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type PutBucketDecompressPolicyInput added in v1.4.0

type PutBucketDecompressPolicyInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	BucketDecompressPolicy *BucketDecompressPolicy `locationName:"BucketDecompressPolicy" type:"structure"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutBucketDecompressPolicyOutput added in v1.4.0

type PutBucketDecompressPolicyOutput struct {
	Metadata map[string]*string `location:"headers" type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type PutBucketEncryptionInput added in v1.8.0

type PutBucketEncryptionInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Bucket encryption configuration container.
	ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `locationName:"ServerSideEncryptionConfiguration" type:"structure" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutBucketEncryptionOutput added in v1.8.0

type PutBucketEncryptionOutput struct {
	// The HTTP headers of the response.
	Metadata map[string]*string `location:"headers" type:"map"`

	// The HTTP status code of the response.
	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type PutBucketInventoryInput added in v1.5.0

type PutBucketInventoryInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`

	InventoryConfiguration *InventoryConfiguration `locationName:"InventoryConfiguration" type:"structure" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutBucketInventoryOutput added in v1.5.0

type PutBucketInventoryOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type PutBucketLifecycleInput

type PutBucketLifecycleInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	LifecycleConfiguration *LifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Specifies whether lifecycle rules allow prefix overlap.
	AllowSameActionOverlap *bool `location:"header" locationName:"x-amz-allow-same-action-overlap" type:"boolean"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutBucketLifecycleOutput

type PutBucketLifecycleOutput struct {
	// The HTTP headers of the response.
	Metadata map[string]*string `location:"headers" type:"map"`

	// The HTTP status code of the response.
	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type PutBucketLoggingInput

type PutBucketLoggingInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	BucketLoggingStatus *BucketLoggingStatus `locationName:"BucketLoggingStatus" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutBucketLoggingOutput

type PutBucketLoggingOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type PutBucketMirrorInput added in v1.0.9

type PutBucketMirrorInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	BucketMirror *BucketMirror `locationName:"BucketMirror" json:"-" type:"structure"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutBucketMirrorOutput added in v1.0.9

type PutBucketMirrorOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type PutBucketNotificationConfigurationInput

type PutBucketNotificationConfigurationInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Container for specifying the notification configuration of the bucket. If
	// this element is empty, notifications are turned off on the bucket.
	NotificationConfiguration *NotificationConfiguration `locationName:"NotificationConfiguration" type:"structure" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutBucketNotificationConfigurationOutput

type PutBucketNotificationConfigurationOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type PutBucketNotificationInput

type PutBucketNotificationInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	NotificationConfiguration *NotificationConfigurationDeprecated `locationName:"NotificationConfiguration" type:"structure" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutBucketNotificationOutput

type PutBucketNotificationOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type PutBucketPolicyInput

type PutBucketPolicyInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// The bucket policy as a JSON document.
	Policy *string `type:"string" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutBucketPolicyOutput

type PutBucketPolicyOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type PutBucketQosInput added in v1.6.2

type PutBucketQosInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Bucket flow control configuration container.
	BucketQosConfiguration *BucketQosConfiguration `locationName:"BucketQosConfiguration" type:"structure" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutBucketQosOutput added in v1.6.2

type PutBucketQosOutput struct {
	// The HTTP headers of the response.
	Metadata map[string]*string `location:"headers" type:"map"`

	// The HTTP status code of the response.
	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type PutBucketReplicationInput

type PutBucketReplicationInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	ReplicationConfiguration *ReplicationConfiguration `locationName:"Replication" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutBucketReplicationOutput

type PutBucketReplicationOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type PutBucketRequestPaymentInput

type PutBucketRequestPaymentInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	RequestPaymentConfiguration *RequestPaymentConfiguration `locationName:"RequestPaymentConfiguration" type:"structure" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutBucketRequestPaymentOutput

type PutBucketRequestPaymentOutput struct {
	// contains filtered or unexported fields
}

type PutBucketRetentionInput added in v1.5.0

type PutBucketRetentionInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	RetentionConfiguration *BucketRetentionConfiguration `locationName:"RetentionConfiguration" type:"structure"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutBucketRetentionOutput added in v1.5.0

type PutBucketRetentionOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type PutBucketTaggingInput

type PutBucketTaggingInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Bucket tagging configuration container.
	Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutBucketTaggingOutput

type PutBucketTaggingOutput struct {
	// The HTTP headers of the response.
	Metadata map[string]*string `location:"headers"  type:"map"`

	// The HTTP status code of the response.
	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type PutBucketTransferAccelerationInput added in v1.8.0

type PutBucketTransferAccelerationInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Bucket transfer acceleration configuration container.
	TransferAccelerationConfiguration *TransferAccelerationConfiguration `locationName:"TransferAccelerationConfiguration" type:"structure" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutBucketTransferAccelerationOutput added in v1.8.0

type PutBucketTransferAccelerationOutput struct {
	// The HTTP headers of the response.
	Metadata map[string]*string `location:"headers" type:"map"`

	// The HTTP status code of the response.
	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type PutBucketVersioningInput

type PutBucketVersioningInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// The concatenation of the authentication device's serial number, a space,
	// and the value that is displayed on your authentication device.
	MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`

	VersioningConfiguration *VersioningConfiguration `locationName:"VersioningConfiguration" type:"structure" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutBucketVersioningOutput

type PutBucketVersioningOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type PutBucketWebsiteInput

type PutBucketWebsiteInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	WebsiteConfiguration *WebsiteConfiguration `locationName:"WebsiteConfiguration" type:"structure" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutBucketWebsiteOutput

type PutBucketWebsiteOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type PutObjectACLInput

type PutObjectACLInput struct {
	// The canned ACL to apply to the object.
	ACL *string `location:"header" locationName:"x-amz-acl" type:"string"`

	AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure"`

	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Allows grantee the read, write, read ACP, and write ACP permissions on the
	// bucket.
	GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`

	// Allows grantee to list the objects in the bucket.
	GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`

	// Allows grantee to read the bucket ACL.
	GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`

	// Allows grantee to create, overwrite, and delete any object in the bucket.
	GrantWrite *string `location:"header" locationName:"x-amz-grant-write" type:"string"`

	// Allows grantee to write the ACL for the applicable bucket.
	GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`

	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	// Confirms that the requester knows that she or he will be charged for the
	// request. Bucket owners need not specify this parameter in their requests.
	// Documentation on downloading objects from requester pays buckets can be found
	// at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
	RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutObjectACLOutput

type PutObjectACLOutput struct {
	// If present, indicates that the requester was successfully charged for the
	// request.
	RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type PutObjectInput

type PutObjectInput struct {
	// The canned ACL to apply to the object.
	ACL *string `location:"header" locationName:"x-amz-acl" type:"string"`

	// Object data.
	Body io.ReadSeeker `type:"blob"`

	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Specifies caching behavior along the request/reply chain.
	CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`

	// Specifies presentational information for the object.
	ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`

	// Specifies what content encodings have been applied to the object and thus
	// what decoding mechanisms must be applied to obtain the media-type referenced
	// by the Content-Type header field.
	ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`

	// The language the content is in.
	ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`

	// Size of the body in bytes. This parameter is useful when the size of the
	// body cannot be determined automatically.
	ContentLength *int64 `location:"header" locationName:"Content-Length" type:"integer"`

	// A standard MIME type describing the format of the object data.
	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// The date and time at which the object is no longer cacheable.
	Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp" timestampFormat:"rfc822"`

	// Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
	GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`

	// Allows grantee to read the object data and its metadata.
	GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`

	// Allows grantee to read the object ACL.
	GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`

	// Allows grantee to write the ACL for the applicable object.
	GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`

	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	// A map of metadata to store with the object in S3.
	Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`

	// Specifies the object tag of the object. Multiple tags can be set at the same time, such as: TagA=A&TagB=B.
	// Note: Key and Value need to be URL-encoded first. If an item does not have "=", the Value is considered to be an empty string.
	Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`

	// Specifies whether the object is forbidden to overwrite.
	ForbidOverwrite *bool `location:"header" locationName:"x-amz-forbid-overwrite" type:"boolean"`

	// Confirms that the requester knows that she or he will be charged for the
	// request. Bucket owners need not specify this parameter in their requests.
	// Documentation on downloading objects from requester pays buckets can be found
	// at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
	RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string"`

	// Specifies the algorithm to use to when encrypting the object (e.g., AES256,
	// aws:kms).
	SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`

	// Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
	// data. This value is used to store the object and then it is discarded; Amazon
	// does not store the encryption key. The key must be appropriate for use with
	// the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
	// header.
	SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`

	// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
	// Amazon S3 uses this header for a message integrity check to ensure the encryption
	// key was transmitted without error.
	SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`

	// Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
	// requests for an object protected by AWS KMS will fail if not made via SSL
	// or using SigV4. Documentation on configuring any of the officially supported
	// AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
	SSEKMSKeyID *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`

	// The Server-side encryption algorithm used when storing this object in S3
	// (e.g., AES256, aws:kms).
	ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string"`

	// The type of storage to use for the object. Defaults to 'STANDARD'.
	StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string"`

	// If the bucket is configured as a website, redirects requests for this object
	// to another object in the same bucket or to an external URL. Amazon S3 stores
	// the value of this header in the object metadata.
	WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`

	ContentMaxLength *int64 `location:"header" locationName:"x-amz-content-maxlength" type:"integer"`

	CallbackUrl *string `location:"header" locationName:"x-kss-callbackurl" type:"string"`

	CallbackBody *string `location:"header" locationName:"x-kss-callbackbody" type:"string"`

	TrafficLimit *int64 `location:"header" locationName:"x-kss-traffic-limit" type:"integer"`

	ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"`

	// Progress callback function
	ProgressFn aws.ProgressFunc `location:"function"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutObjectOutput

type PutObjectOutput struct {
	// Entity tag for the uploaded object.
	ETag *string `location:"header" locationName:"ETag" type:"string"`

	// If the object expiration is configured, this will contain the expiration
	// date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.
	Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`

	// If present, indicates that the requester was successfully charged for the
	// request.
	RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string"`

	// If server-side encryption with a customer-provided encryption key was requested,
	// the response will include this header confirming the encryption algorithm
	// used.
	SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`

	// If server-side encryption with a customer-provided encryption key was requested,
	// the response will include this header to provide round trip message integrity
	// verification of the customer-provided encryption key.
	SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`

	// If present, specifies the ID of the AWS Key Management Service (KMS) master
	// encryption key that was used for the object.
	SSEKMSKeyID *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`

	// The Server-side encryption algorithm used when storing this object in S3
	// (e.g., AES256, aws:kms).
	ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string"`

	// Version of the object.
	VersionID *string `location:"header" locationName:"x-amz-version-id" type:"string"`

	NewFileName *string `location:"header" locationName:"newfilename" type:"string"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type PutObjectTaggingInput added in v1.0.8

type PutObjectTaggingInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	Tagging *Tagging `locationName:"Tagging" type:"structure"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutObjectTaggingOutput added in v1.0.8

type PutObjectTaggingOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type PutReaderInput added in v1.7.0

type PutReaderInput struct {
	// The canned ACL to apply to the object.
	ACL *string `location:"header" locationName:"x-amz-acl" type:"string"`

	// Object data.
	Body io.Reader `type:"blob"`

	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Specifies caching behavior along the request/reply chain.
	CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`

	// Specifies presentational information for the object.
	ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`

	// Specifies what content encodings have been applied to the object and thus
	// what decoding mechanisms must be applied to obtain the media-type referenced
	// by the Content-Type header field.
	ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`

	// The language the content is in.
	ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`

	// Size of the body in bytes. This parameter is useful when the size of the
	// body cannot be determined automatically.
	ContentLength *int64 `location:"header" locationName:"Content-Length" type:"integer"`

	// A standard MIME type describing the format of the object data.
	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// The date and time at which the object is no longer cacheable.
	Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp" timestampFormat:"rfc822"`

	// Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
	GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`

	// Allows grantee to read the object data and its metadata.
	GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`

	// Allows grantee to read the object ACL.
	GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`

	// Allows grantee to write the ACL for the applicable object.
	GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`

	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	// A map of metadata to store with the object in S3.
	Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`

	// Specifies the object tag of the object. Multiple tags can be set at the same time, such as: TagA=A&TagB=B.
	// Note: Key and Value need to be URL-encoded first. If an item does not have "=", the Value is considered to be an empty string.
	Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`

	// Specifies whether the object is forbidden to overwrite.
	ForbidOverwrite *bool `location:"header" locationName:"x-amz-forbid-overwrite" type:"boolean"`

	// Confirms that the requester knows that she or he will be charged for the
	// request. Bucket owners need not specify this parameter in their requests.
	// Documentation on downloading objects from requester pays buckets can be found
	// at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
	RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string"`

	// Specifies the algorithm to use to when encrypting the object (e.g., AES256,
	// aws:kms).
	SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`

	// Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
	// data. This value is used to store the object and then it is discarded; Amazon
	// does not store the encryption key. The key must be appropriate for use with
	// the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
	// header.
	SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`

	// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
	// Amazon S3 uses this header for a message integrity check to ensure the encryption
	// key was transmitted without error.
	SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`

	// Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
	// requests for an object protected by AWS KMS will fail if not made via SSL
	// or using SigV4. Documentation on configuring any of the officially supported
	// AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
	SSEKMSKeyID *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`

	// The Server-side encryption algorithm used when storing this object in S3
	// (e.g., AES256, aws:kms).
	ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string"`

	// The type of storage to use for the object. Defaults to 'STANDARD'.
	StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string"`

	// If the bucket is configured as a website, redirects requests for this object
	// to another object in the same bucket or to an external URL. Amazon S3 stores
	// the value of this header in the object metadata.
	WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`

	ContentMaxLength *int64 `location:"header" locationName:"x-amz-content-maxlength" type:"integer"`

	CallbackUrl *string `location:"header" locationName:"x-kss-callbackurl" type:"string"`

	CallbackBody *string `location:"header" locationName:"x-kss-callbackbody" type:"string"`

	TrafficLimit *int64 `location:"header" locationName:"x-kss-traffic-limit" type:"integer"`

	ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"`

	// Progress callback function
	ProgressFn aws.ProgressFunc `location:"function"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutRequesterQosInput added in v1.6.2

type PutRequesterQosInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Requester flow control configuration container.
	RequesterQosConfiguration *RequesterQosConfiguration `locationName:"RequesterQosConfiguration" type:"structure" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutRequesterQosOutput added in v1.6.2

type PutRequesterQosOutput struct {
	// The HTTP headers of the response.
	Metadata map[string]*string `location:"headers" type:"map"`

	// The HTTP status code of the response.
	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type PutVpcAccessBlockInput added in v1.8.0

type PutVpcAccessBlockInput struct {
	// Vpc access block configuration container.
	VpcAccessBlockConfiguration *VpcAccessBlockConfiguration `locationName:"VpcAccessBlockConfiguration" type:"structure" required:"true"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type PutVpcAccessBlockOutput added in v1.8.0

type PutVpcAccessBlockOutput struct {
	// The HTTP headers of the response.
	Metadata map[string]*string `location:"headers" type:"map"`

	// The HTTP status code of the response.
	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type QueueConfiguration

type QueueConfiguration struct {
	Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`

	// Optional unique identifier for configurations in a notification configuration.
	// If you don't provide one, Amazon S3 will assign an ID.
	ID *string `locationName:"Id" type:"string"`

	// Amazon SQS queue ARN to which Amazon S3 will publish a message when it detects
	// events of specified type.
	QueueARN *string `locationName:"Queue" type:"string" required:"true"`
	// contains filtered or unexported fields
}

QueueConfiguration Container for specifying an configuration when you want Amazon S3 to publish events to an Amazon Simple Queue Service (Amazon SQS) queue.

type QueueConfigurationDeprecated

type QueueConfigurationDeprecated struct {
	// Bucket event for which to send notifications.
	Event *string `type:"string"`

	Events []*string `locationName:"Event" type:"list" flattened:"true"`

	// Optional unique identifier for configurations in a notification configuration.
	// If you don't provide one, Amazon S3 will assign an ID.
	ID *string `locationName:"Id" type:"string"`

	Queue *string `type:"string"`
	// contains filtered or unexported fields
}

type RecoverObjectInput added in v1.5.0

type RecoverObjectInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// The key of the object.
	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	// Does it support overwriting when an object with the same name exists in the bucket after being
	// recovered from the recycle bin. When the value is true, it indicates overwriting, and the overwritten
	// objects in the bucket will enter the recycle bin.
	RetentionOverwrite *bool `location:"header" locationName:"x-kss-retention-overwrite" type:"boolean"`

	// Specify the deletion ID of the recovered object. When the request header is not included,
	// only the latest version is restored by default.
	RetentionId *string `location:"header" locationName:"x-kss-retention-id" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
}

type RecoverObjectOutput added in v1.5.0

type RecoverObjectOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type Redirect

type Redirect struct {
	// The HTTP redirect code to use on the response. Not required if one of the
	// siblings is present.
	HTTPRedirectCode *string `locationName:"HttpRedirectCode" type:"string"`

	// The host name to use in the redirect request.
	HostName *string `type:"string"`

	// Protocol to use (http, https) when redirecting requests. The default is the
	// protocol that is used in the original request.
	Protocol *string `type:"string"`

	// The object key prefix to use in the redirect request. For example, to redirect
	// requests for all pages with prefix docs/ (objects in the docs/ folder) to
	// documents/, you can set a condition block with KeyPrefixEquals set to docs/
	// and in the Redirect set ReplaceKeyPrefixWith to /documents. Not required
	// if one of the siblings is present. Can be present only if ReplaceKeyWith
	// is not provided.
	ReplaceKeyPrefixWith *string `type:"string"`

	// The specific object key to use in the redirect request. For example, redirect
	// request to error.html. Not required if one of the sibling is present. Can
	// be present only if ReplaceKeyPrefixWith is not provided.
	ReplaceKeyWith *string `type:"string"`
	// contains filtered or unexported fields
}

type RedirectAllRequestsTo

type RedirectAllRequestsTo struct {
	// Name of the host where requests will be redirected.
	HostName *string `type:"string" required:"true"`

	// Protocol to use (http, https) when redirecting requests. The default is the
	// protocol that is used in the original request.
	Protocol *string `type:"string"`
	// contains filtered or unexported fields
}

type RemoveHeaders added in v1.0.9

type RemoveHeaders struct {
	Key *string `json:"key,omitempty" locationName:"key"`
}

type ReplicationConfiguration

type ReplicationConfiguration struct {
	// Prefix matching, only objects that match prefix rules will be copied. Each copying rule
	// can add up to 10 prefix matching rules, and prefixes cannot overlap with each other.
	Prefix []*string `locationName:"prefix" type:"list" flattened:"true"`

	// Indicate whether to enable delete replication. If set to Enabled, it means enabled; if set to
	// Disabled or not, it means disabled. If set to delete replication, when the source bucket deletes
	// an object, the replica of that object in the target bucket will also be deleted.
	DeleteMarkerStatus *string `locationName:"DeleteMarkerStatus" type:"string" required:"true"`

	// Target bucket for copying rules.
	TargetBucket *string `locationName:"targetBucket" type:"string" required:"true"`

	// Specify whether to copy historical data. Whether to copy the data from the source bucket
	// to the target bucket before enabling data replication.
	// Enabled: Copy historical data to the target bucket (default value)
	// Disabled: Do not copy historical data, only copy new data after enabling the rule to the target bucket.
	HistoricalObjectReplication *string `locationName:"HistoricalObjectReplication" type:"string"`

	// Region of the target bucket.
	Region *string `locationName:"region" type:"string"`
}

type RequestPaymentConfiguration

type RequestPaymentConfiguration struct {
	// Specifies who pays for the download and request fees.
	Payer *string `type:"string" required:"true"`
	// contains filtered or unexported fields
}

type RequesterQosConfiguration added in v1.6.2

type RequesterQosConfiguration struct {
	// Set the requester flow control rules.
	Rules []*RequesterQosRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
}

type RequesterQosRule added in v1.6.2

type RequesterQosRule struct {
	// Specify the account type that needs flow control.
	// Optional values: User/Role.
	UserType *string `locationName:"UserType" type:"string" required:"true"`

	// Specify the account that needs flow control.
	// Format: accountId/userName、accountId/roleName.
	Krn *string `locationName:"Krn" type:"string" required:"true"`

	// Set access account flow control quota.
	Quotas []*BucketQosQuota `locationName:"Quota" type:"list" flattened:"true" required:"true"`
}

type RestoreObjectInput

type RestoreObjectInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	// Confirms that the requester knows that she or he will be charged for the
	// request. Bucket owners need not specify this parameter in their requests.
	// Documentation on downloading objects from requester pays buckets can be found
	// at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
	RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string"`

	RestoreRequest *RestoreRequest `locationName:"RestoreRequest" type:"structure"`

	VersionID *string `location:"querystring" locationName:"versionId" type:"string"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type RestoreObjectOutput

type RestoreObjectOutput struct {
	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
}

type RestoreRequest

type RestoreRequest struct {
	// Lifetime of the active copy in days
	Days *int64 `type:"integer" required:"true"`
	// contains filtered or unexported fields
}

type RetentionObject added in v1.5.0

type RetentionObject struct {
	// The key of the object.
	Key *string `type:"string"`

	// The size of the object is measured in bytes.
	Size *int64 `type:"integer"`

	// The entity label of an object, ETag, is generated when uploading an object to identify its content.
	ETag *string `type:"string"`

	// The last time the object was modified.
	LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"`

	// The owner information of this bucket.
	Owner *Owner `type:"structure"`

	// The class of storage used to store the object.
	StorageClass *string `type:"string"`

	// The version ID of the object.
	RetentionId *string `type:"string"`

	// The time when the object was moved to the recycle bin.
	RecycleTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`

	// The time when an object is completely deleted from the recycle bin.
	EstimatedClearTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
}

type RetentionRule added in v1.5.0

type RetentionRule struct {
	// The open status of the recycle bin is not case-sensitive.
	// Valid values: Enabled, Disabled. Enabled indicates enabling the recycle bin, Disabled indicates disabling the recycle bin.
	Status *string `locationName:"Status" type:"string" required:"true"`

	// Specify how many days after the object enters the recycle bin to be completely deleted.
	// When Days is not set, the object will be permanently retained in the recycle bin after deletion.
	// Value range: 1-365
	Days *int64 `locationName:"Days" type:"integer"`
}

type RoutingRule

type RoutingRule struct {
	// A container for describing a condition that must be met for the specified
	// redirect to apply. For example, 1. If request is for pages in the /docs folder,
	// redirect to the /documents folder. 2. If request results in HTTP error 4xx,
	// redirect request to another host where you might process the error.
	Condition *Condition `type:"structure"`

	// Container for redirect information. You can redirect requests to another
	// host, to another page, or with another protocol. In the event of an error,
	// you can can specify a different error code to return.
	Redirect *Redirect `type:"structure" required:"true"`
	// contains filtered or unexported fields
}

type S3

type S3 struct {
	*aws.Service
}

S3 is a client for Amazon S3.

func New

func New(config *aws.Config) *S3

New returns a new S3 client.

func (*S3) AbortMultipartUpload

func (c *S3) AbortMultipartUpload(input *AbortMultipartUploadInput) (*AbortMultipartUploadOutput, error)

AbortMultipartUpload Aborts a multipart upload.

To verify that all parts have been removed, so you don't get charged for the part storage, you should call the List Parts operation and ensure the parts list is empty.

func (*S3) AbortMultipartUploadRequest

func (c *S3) AbortMultipartUploadRequest(input *AbortMultipartUploadInput) (req *aws.Request, output *AbortMultipartUploadOutput)

AbortMultipartUploadRequest generates a request for the AbortMultipartUpload operation.

func (*S3) AbortMultipartUploadWithContext added in v1.2.9

func (c *S3) AbortMultipartUploadWithContext(ctx aws.Context, input *AbortMultipartUploadInput) (*AbortMultipartUploadOutput, error)

func (*S3) AppendObject added in v1.3.0

func (c *S3) AppendObject(input *AppendObjectInput) (*AppendObjectOutput, error)

AppendObject is used to append data to an Appendable object.

func (*S3) AppendObjectRequest added in v1.3.0

func (c *S3) AppendObjectRequest(input *AppendObjectInput) (req *aws.Request, output *AppendObjectOutput)

AppendObjectRequest generates a request for the AppendObject operation.

func (*S3) AppendObjectWithContext added in v1.3.0

func (c *S3) AppendObjectWithContext(ctx aws.Context, input *AppendObjectInput) (*AppendObjectOutput, error)

func (*S3) ClearObject added in v1.5.0

func (c *S3) ClearObject(input *ClearObjectInput) (*ClearObjectOutput, error)

ClearObject clears the object from the recycle bin.

func (*S3) ClearObjectRequest added in v1.5.0

func (c *S3) ClearObjectRequest(input *ClearObjectInput) (req *aws.Request, output *ClearObjectOutput)

ClearObjectRequest generates a request for the ClearObject operation.

func (*S3) ClearObjectWithContext added in v1.5.0

func (c *S3) ClearObjectWithContext(ctx aws.Context, input *ClearObjectInput) (*ClearObjectOutput, error)

func (*S3) CompleteMultipartUpload

func (c *S3) CompleteMultipartUpload(input *CompleteMultipartUploadInput) (*CompleteMultipartUploadOutput, error)

CompleteMultipartUpload Completes a multipart upload by assembling previously uploaded parts.

func (*S3) CompleteMultipartUploadRequest

func (c *S3) CompleteMultipartUploadRequest(input *CompleteMultipartUploadInput) (req *aws.Request, output *CompleteMultipartUploadOutput)

CompleteMultipartUploadRequest generates a request for the CompleteMultipartUpload operation.

func (*S3) CompleteMultipartUploadWithContext added in v1.2.9

func (c *S3) CompleteMultipartUploadWithContext(ctx aws.Context, input *CompleteMultipartUploadInput) (*CompleteMultipartUploadOutput, error)

func (*S3) CopyFile added in v1.6.0

func (c *S3) CopyFile(request *CopyFileInput) (*CopyFileOutput, error)

func (*S3) CopyFileAcrossRegion added in v1.6.0

func (c *S3) CopyFileAcrossRegion(request *CopyFileInput, dstClient *S3) (*UploadFileOutput, error)

func (*S3) CopyFileAcrossRegionWithContext added in v1.6.0

func (c *S3) CopyFileAcrossRegionWithContext(ctx context.Context, request *CopyFileInput, dstClient *S3) (*UploadFileOutput, error)

func (*S3) CopyFileWithContext added in v1.6.0

func (c *S3) CopyFileWithContext(ctx context.Context, request *CopyFileInput) (*CopyFileOutput, error)

func (*S3) CopyObject

func (c *S3) CopyObject(input *CopyObjectInput) (*CopyObjectOutput, error)

CopyObject Creates a copy of an object that is already stored in KS3.

func (*S3) CopyObjectRequest

func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *aws.Request, output *CopyObjectOutput)

CopyObjectRequest generates a request for the CopyObject operation.

func (*S3) CopyObjectWithContext added in v1.2.9

func (c *S3) CopyObjectWithContext(ctx aws.Context, input *CopyObjectInput) (*CopyObjectOutput, error)

func (*S3) CreateBucket

func (c *S3) CreateBucket(input *CreateBucketInput) (*CreateBucketOutput, error)

CreateBucket Creates a new bucket.

func (*S3) CreateBucketRequest

func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *aws.Request, output *CreateBucketOutput)

CreateBucketRequest generates a request for the CreateBucket operation.

func (*S3) CreateBucketWithContext added in v1.2.9

func (c *S3) CreateBucketWithContext(ctx aws.Context, input *CreateBucketInput) (*CreateBucketOutput, error)

func (*S3) CreateMultipartUpload

func (c *S3) CreateMultipartUpload(input *CreateMultipartUploadInput) (*CreateMultipartUploadOutput, error)

CreateMultipartUpload Initiates a multipart upload and returns an upload ID.

Note: After you initiate multipart upload and upload one or more parts, you must either complete or abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts storage.

func (*S3) CreateMultipartUploadRequest

func (c *S3) CreateMultipartUploadRequest(input *CreateMultipartUploadInput) (req *aws.Request, output *CreateMultipartUploadOutput)

CreateMultipartUploadRequest generates a request for the CreateMultipartUpload operation.

func (*S3) CreateMultipartUploadWithContext added in v1.2.9

func (c *S3) CreateMultipartUploadWithContext(ctx aws.Context, input *CreateMultipartUploadInput) (*CreateMultipartUploadOutput, error)

func (*S3) DeleteBucket

func (c *S3) DeleteBucket(input *DeleteBucketInput) (*DeleteBucketOutput, error)

DeleteBucket Deletes the bucket. All objects (including all object versions and Delete Markers) in the bucket must be deleted before the bucket itself can be deleted.

func (*S3) DeleteBucketCORS

func (c *S3) DeleteBucketCORS(input *DeleteBucketCORSInput) (*DeleteBucketCORSOutput, error)

DeleteBucketCORS Deletes the cors configuration information set for the bucket.

func (*S3) DeleteBucketCORSRequest

func (c *S3) DeleteBucketCORSRequest(input *DeleteBucketCORSInput) (req *aws.Request, output *DeleteBucketCORSOutput)

DeleteBucketCORSRequest generates a request for the DeleteBucketCORS operation.

func (*S3) DeleteBucketCORSWithContext added in v1.2.9

func (c *S3) DeleteBucketCORSWithContext(ctx aws.Context, input *DeleteBucketCORSInput) (*DeleteBucketCORSOutput, error)

func (*S3) DeleteBucketDecompressPolicy added in v1.4.0

func (c *S3) DeleteBucketDecompressPolicy(input *DeleteBucketDecompressPolicyInput) (*DeleteBucketDecompressPolicyOutput, error)

DeleteBucketDecompressPolicy deletes the decompression policy for the bucket.

func (*S3) DeleteBucketDecompressPolicyRequest added in v1.4.0

func (c *S3) DeleteBucketDecompressPolicyRequest(input *DeleteBucketDecompressPolicyInput) (req *aws.Request, output *DeleteBucketDecompressPolicyOutput)

DeleteBucketDecompressPolicyRequest generates a request for the DeleteBucketDecompressPolicy operation.

func (*S3) DeleteBucketDecompressPolicyWithContext added in v1.4.0

func (c *S3) DeleteBucketDecompressPolicyWithContext(ctx aws.Context, input *DeleteBucketDecompressPolicyInput) (*DeleteBucketDecompressPolicyOutput, error)

func (*S3) DeleteBucketEncryption added in v1.8.0

func (c *S3) DeleteBucketEncryption(input *DeleteBucketEncryptionInput) (*DeleteBucketEncryptionOutput, error)

DeleteBucketEncryption deletes bucket encryption configuration.

func (*S3) DeleteBucketEncryptionRequest added in v1.8.0

func (c *S3) DeleteBucketEncryptionRequest(input *DeleteBucketEncryptionInput) (req *aws.Request, output *DeleteBucketEncryptionOutput)

DeleteBucketEncryptionRequest generates a request for the DeleteBucketEncryption operation.

func (*S3) DeleteBucketEncryptionWithContext added in v1.8.0

func (c *S3) DeleteBucketEncryptionWithContext(ctx aws.Context, input *DeleteBucketEncryptionInput) (*DeleteBucketEncryptionOutput, error)

func (*S3) DeleteBucketInventory added in v1.5.0

func (c *S3) DeleteBucketInventory(input *DeleteBucketInventoryInput) (*DeleteBucketInventoryOutput, error)

DeleteBucketInventory deletes the inventory configuration for the bucket.

func (*S3) DeleteBucketInventoryRequest added in v1.5.0

func (c *S3) DeleteBucketInventoryRequest(input *DeleteBucketInventoryInput) (req *aws.Request, output *DeleteBucketInventoryOutput)

DeleteBucketInventoryRequest generates a request for the DeleteBucketInventory operation.

func (*S3) DeleteBucketInventoryWithContext added in v1.5.0

func (c *S3) DeleteBucketInventoryWithContext(ctx aws.Context, input *DeleteBucketInventoryInput) (*DeleteBucketInventoryOutput, error)

func (*S3) DeleteBucketLifecycle

func (c *S3) DeleteBucketLifecycle(input *DeleteBucketLifecycleInput) (*DeleteBucketLifecycleOutput, error)

DeleteBucketLifecycle Deletes the lifecycle configuration from the bucket.

func (*S3) DeleteBucketLifecycleRequest

func (c *S3) DeleteBucketLifecycleRequest(input *DeleteBucketLifecycleInput) (req *aws.Request, output *DeleteBucketLifecycleOutput)

DeleteBucketLifecycleRequest generates a request for the DeleteBucketLifecycle operation.

func (*S3) DeleteBucketLifecycleWithContext added in v1.2.9

func (c *S3) DeleteBucketLifecycleWithContext(ctx aws.Context, input *DeleteBucketLifecycleInput) (*DeleteBucketLifecycleOutput, error)

func (*S3) DeleteBucketMirror added in v1.0.9

func (c *S3) DeleteBucketMirror(input *DeleteBucketMirrorInput) (*DeleteBucketMirrorOutput, error)

func (*S3) DeleteBucketMirrorRequest added in v1.2.7

func (c *S3) DeleteBucketMirrorRequest(input *DeleteBucketMirrorInput) (req *aws.Request, output *DeleteBucketMirrorOutput)

func (*S3) DeleteBucketMirrorWithContext added in v1.2.9

func (c *S3) DeleteBucketMirrorWithContext(ctx aws.Context, input *DeleteBucketMirrorInput) (*DeleteBucketMirrorOutput, error)

func (*S3) DeleteBucketPolicy

func (c *S3) DeleteBucketPolicy(input *DeleteBucketPolicyInput) (*DeleteBucketPolicyOutput, error)

DeleteBucketPolicy Deletes the policy from the bucket.

func (*S3) DeleteBucketPolicyRequest

func (c *S3) DeleteBucketPolicyRequest(input *DeleteBucketPolicyInput) (req *aws.Request, output *DeleteBucketPolicyOutput)

DeleteBucketPolicyRequest generates a request for the DeleteBucketPolicy operation.

func (*S3) DeleteBucketPolicyWithContext added in v1.2.9

func (c *S3) DeleteBucketPolicyWithContext(ctx aws.Context, input *DeleteBucketPolicyInput) (*DeleteBucketPolicyOutput, error)

func (*S3) DeleteBucketPrefix added in v1.0.3

func (c *S3) DeleteBucketPrefix(input *DeleteBucketPrefixInput) (*DeleteObjectsOutput, error)

DeleteBucketPrefix deletes all objects with the specified prefix in the bucket.

func (*S3) DeleteBucketPrefixWithContext added in v1.2.9

func (c *S3) DeleteBucketPrefixWithContext(ctx aws.Context, input *DeleteBucketPrefixInput) (*DeleteObjectsOutput, error)

func (*S3) DeleteBucketQos added in v1.6.2

func (c *S3) DeleteBucketQos(input *DeleteBucketQosInput) (*DeleteBucketQosOutput, error)

DeleteBucketQos deletes bucket flow control configuration.

func (*S3) DeleteBucketQosRequest added in v1.6.2

func (c *S3) DeleteBucketQosRequest(input *DeleteBucketQosInput) (req *aws.Request, output *DeleteBucketQosOutput)

DeleteBucketQosRequest generates a request for the DeleteBucketQos operation.

func (*S3) DeleteBucketQosWithContext added in v1.6.2

func (c *S3) DeleteBucketQosWithContext(ctx aws.Context, input *DeleteBucketQosInput) (*DeleteBucketQosOutput, error)

func (*S3) DeleteBucketReplication

func (c *S3) DeleteBucketReplication(input *DeleteBucketReplicationInput) (*DeleteBucketReplicationOutput, error)

DeleteBucketReplication deletes the replication configuration for the bucket.

func (*S3) DeleteBucketReplicationRequest

func (c *S3) DeleteBucketReplicationRequest(input *DeleteBucketReplicationInput) (req *aws.Request, output *DeleteBucketReplicationOutput)

DeleteBucketReplicationRequest generates a request for the DeleteBucketReplication operation.

func (*S3) DeleteBucketReplicationWithContext added in v1.2.9

func (c *S3) DeleteBucketReplicationWithContext(ctx aws.Context, input *DeleteBucketReplicationInput) (*DeleteBucketReplicationOutput, error)

func (*S3) DeleteBucketRequest

func (c *S3) DeleteBucketRequest(input *DeleteBucketInput) (req *aws.Request, output *DeleteBucketOutput)

DeleteBucketRequest generates a request for the DeleteBucket operation.

func (*S3) DeleteBucketTagging

func (c *S3) DeleteBucketTagging(input *DeleteBucketTaggingInput) (*DeleteBucketTaggingOutput, error)

DeleteBucketTagging deletes bucket tagging configuration.

func (*S3) DeleteBucketTaggingRequest

func (c *S3) DeleteBucketTaggingRequest(input *DeleteBucketTaggingInput) (req *aws.Request, output *DeleteBucketTaggingOutput)

DeleteBucketTaggingRequest generates a request for the DeleteBucketTagging operation.

func (*S3) DeleteBucketTaggingWithContext added in v1.2.9

func (c *S3) DeleteBucketTaggingWithContext(ctx aws.Context, input *DeleteBucketTaggingInput) (*DeleteBucketTaggingOutput, error)

func (*S3) DeleteBucketWebsite

func (c *S3) DeleteBucketWebsite(input *DeleteBucketWebsiteInput) (*DeleteBucketWebsiteOutput, error)

DeleteBucketWebsite This operation removes the website configuration from the bucket.

func (*S3) DeleteBucketWebsiteRequest

func (c *S3) DeleteBucketWebsiteRequest(input *DeleteBucketWebsiteInput) (req *aws.Request, output *DeleteBucketWebsiteOutput)

DeleteBucketWebsiteRequest generates a request for the DeleteBucketWebsite operation.

func (*S3) DeleteBucketWebsiteWithContext added in v1.2.9

func (c *S3) DeleteBucketWebsiteWithContext(ctx aws.Context, input *DeleteBucketWebsiteInput) (*DeleteBucketWebsiteOutput, error)

func (*S3) DeleteBucketWithContext added in v1.2.9

func (c *S3) DeleteBucketWithContext(ctx aws.Context, input *DeleteBucketInput) (*DeleteBucketOutput, error)

func (*S3) DeleteObject

func (c *S3) DeleteObject(input *DeleteObjectInput) (*DeleteObjectOutput, error)

DeleteObject Removes the null version (if there is one) of an object and inserts a delete marker, which becomes the latest version of the object. If there isn't a null version, Amazon S3 does not remove any objects.

func (*S3) DeleteObjectRequest

func (c *S3) DeleteObjectRequest(input *DeleteObjectInput) (req *aws.Request, output *DeleteObjectOutput)

DeleteObjectRequest generates a request for the DeleteObject operation.

func (*S3) DeleteObjectTagging added in v1.0.8

func (c *S3) DeleteObjectTagging(input *DeleteObjectTaggingInput) (*DeleteObjectTaggingOutput, error)

func (*S3) DeleteObjectTaggingRequest added in v1.0.8

func (c *S3) DeleteObjectTaggingRequest(input *DeleteObjectTaggingInput) (req *aws.Request, output *DeleteObjectTaggingOutput)

func (*S3) DeleteObjectTaggingWithContext added in v1.2.9

func (c *S3) DeleteObjectTaggingWithContext(ctx aws.Context, input *DeleteObjectTaggingInput) (*DeleteObjectTaggingOutput, error)

func (*S3) DeleteObjectWithContext added in v1.2.9

func (c *S3) DeleteObjectWithContext(ctx aws.Context, input *DeleteObjectInput) (*DeleteObjectOutput, error)

func (*S3) DeleteObjects

func (c *S3) DeleteObjects(input *DeleteObjectsInput) (*DeleteObjectsOutput, error)

func (*S3) DeleteObjectsRequest

func (c *S3) DeleteObjectsRequest(input *DeleteObjectsInput) (req *aws.Request, output *DeleteObjectsOutput)

DeleteObjectsRequest generates a request for the DeleteObjects operation.

func (*S3) DeleteObjectsWithContext added in v1.2.9

func (c *S3) DeleteObjectsWithContext(ctx aws.Context, input *DeleteObjectsInput) (*DeleteObjectsOutput, error)

func (*S3) DeleteRequesterQos added in v1.6.2

func (c *S3) DeleteRequesterQos(input *DeleteRequesterQosInput) (*DeleteRequesterQosOutput, error)

DeleteRequesterQos deletes requester flow control configuration.

func (*S3) DeleteRequesterQosRequest added in v1.6.2

func (c *S3) DeleteRequesterQosRequest(input *DeleteRequesterQosInput) (req *aws.Request, output *DeleteRequesterQosOutput)

DeleteRequesterQosRequest generates a request for the DeleteRequesterQos operation.

func (*S3) DeleteRequesterQosWithContext added in v1.6.2

func (c *S3) DeleteRequesterQosWithContext(ctx aws.Context, input *DeleteRequesterQosInput) (*DeleteRequesterQosOutput, error)

func (*S3) DeleteVpcAccessBlock added in v1.8.0

func (c *S3) DeleteVpcAccessBlock(input *DeleteVpcAccessBlockInput) (*DeleteVpcAccessBlockOutput, error)

DeleteVpcAccessBlock deletes vpc access block configuration.

func (*S3) DeleteVpcAccessBlockRequest added in v1.8.0

func (c *S3) DeleteVpcAccessBlockRequest(input *DeleteVpcAccessBlockInput) (req *aws.Request, output *DeleteVpcAccessBlockOutput)

DeleteVpcAccessBlockRequest generates a request for the DeleteVpcAccessBlock operation.

func (*S3) DeleteVpcAccessBlockWithContext added in v1.8.0

func (c *S3) DeleteVpcAccessBlockWithContext(ctx aws.Context, input *DeleteVpcAccessBlockInput) (*DeleteVpcAccessBlockOutput, error)

func (*S3) DownloadFile added in v1.6.0

func (c *S3) DownloadFile(request *DownloadFileInput) (*DownloadFileOutput, error)

func (*S3) DownloadFileWithContext added in v1.6.0

func (c *S3) DownloadFileWithContext(ctx context.Context, request *DownloadFileInput) (*DownloadFileOutput, error)

func (*S3) FetchObject added in v1.0.8

func (c *S3) FetchObject(input *FetchObjectInput) (*FetchObjectOutput, error)

func (*S3) FetchObjectRequest added in v1.0.8

func (c *S3) FetchObjectRequest(input *FetchObjectInput) (req *aws.Request, output *FetchObjectOutput)

FetchObjectRequest generates a request for the FetchObject operation.

func (*S3) FetchObjectWithContext added in v1.2.9

func (c *S3) FetchObjectWithContext(ctx aws.Context, input *FetchObjectInput) (*FetchObjectOutput, error)

func (*S3) GeneratePresignedUrl added in v1.2.7

func (c *S3) GeneratePresignedUrl(input *GeneratePresignedUrlInput) (url string, err error)

GeneratePresignedUrl generates a presigned url for the object

func (*S3) GeneratePresignedUrlInput added in v1.2.3

func (c *S3) GeneratePresignedUrlInput(input *GeneratePresignedUrlInput) (url string)

GeneratePresignedUrlInput generates a presigned url for the object Deprecated: Use GeneratePresignedUrl instead.

func (*S3) GetBucketACL

func (c *S3) GetBucketACL(input *GetBucketACLInput) (*GetBucketACLOutput, error)

GetBucketACL Gets the access control policy for the bucket.

func (*S3) GetBucketACLRequest

func (c *S3) GetBucketACLRequest(input *GetBucketACLInput) (req *aws.Request, output *GetBucketACLOutput)

GetBucketACLRequest generates a request for the GetBucketACL operation.

func (*S3) GetBucketACLWithContext added in v1.2.9

func (c *S3) GetBucketACLWithContext(ctx aws.Context, input *GetBucketACLInput) (*GetBucketACLOutput, error)

func (*S3) GetBucketAccessMonitor added in v1.8.0

func (c *S3) GetBucketAccessMonitor(input *GetBucketAccessMonitorInput) (*GetBucketAccessMonitorOutput, error)

GetBucketAccessMonitor gets bucket access monitor configuration.

func (*S3) GetBucketAccessMonitorRequest added in v1.8.0

func (c *S3) GetBucketAccessMonitorRequest(input *GetBucketAccessMonitorInput) (req *aws.Request, output *GetBucketAccessMonitorOutput)

GetBucketAccessMonitorRequest generates a request for the GetBucketAccessMonitor operation.

func (*S3) GetBucketAccessMonitorWithContext added in v1.8.0

func (c *S3) GetBucketAccessMonitorWithContext(ctx aws.Context, input *GetBucketAccessMonitorInput) (*GetBucketAccessMonitorOutput, error)

func (*S3) GetBucketCORS

func (c *S3) GetBucketCORS(input *GetBucketCORSInput) (*GetBucketCORSOutput, error)

GetBucketCORS Returns the cors configuration for the bucket.

func (*S3) GetBucketCORSRequest

func (c *S3) GetBucketCORSRequest(input *GetBucketCORSInput) (req *aws.Request, output *GetBucketCORSOutput)

GetBucketCORSRequest generates a request for the GetBucketCORS operation.

func (*S3) GetBucketCORSWithContext added in v1.2.9

func (c *S3) GetBucketCORSWithContext(ctx aws.Context, input *GetBucketCORSInput) (*GetBucketCORSOutput, error)

func (*S3) GetBucketDataRedundancySwitch added in v1.6.1

func (c *S3) GetBucketDataRedundancySwitch(input *GetBucketDataRedundancySwitchInput) (*GetBucketDataRedundancySwitchOutput, error)

GetBucketDataRedundancySwitch gets the data redundancy switch configuration for the bucket.

func (*S3) GetBucketDataRedundancySwitchRequest added in v1.6.1

func (c *S3) GetBucketDataRedundancySwitchRequest(input *GetBucketDataRedundancySwitchInput) (req *aws.Request, output *GetBucketDataRedundancySwitchOutput)

GetBucketDataRedundancySwitchRequest generates a request for the GetBucketDataRedundancySwitch operation.

func (*S3) GetBucketDataRedundancySwitchWithContext added in v1.6.1

func (c *S3) GetBucketDataRedundancySwitchWithContext(ctx aws.Context, input *GetBucketDataRedundancySwitchInput) (*GetBucketDataRedundancySwitchOutput, error)

func (*S3) GetBucketDecompressPolicy added in v1.4.0

func (c *S3) GetBucketDecompressPolicy(input *GetBucketDecompressPolicyInput) (*GetBucketDecompressPolicyOutput, error)

GetBucketDecompressPolicy gets the decompression policy for the bucket.

func (*S3) GetBucketDecompressPolicyRequest added in v1.4.0

func (c *S3) GetBucketDecompressPolicyRequest(input *GetBucketDecompressPolicyInput) (req *aws.Request, output *GetBucketDecompressPolicyOutput)

GetBucketDecompressPolicyRequest generates a request for the GetBucketDecompressPolicy operation.

func (*S3) GetBucketDecompressPolicyWithContext added in v1.4.0

func (c *S3) GetBucketDecompressPolicyWithContext(ctx aws.Context, input *GetBucketDecompressPolicyInput) (*GetBucketDecompressPolicyOutput, error)

func (*S3) GetBucketEncryption added in v1.8.0

func (c *S3) GetBucketEncryption(input *GetBucketEncryptionInput) (*GetBucketEncryptionOutput, error)

GetBucketEncryption gets bucket encryption configuration.

func (*S3) GetBucketEncryptionRequest added in v1.8.0

func (c *S3) GetBucketEncryptionRequest(input *GetBucketEncryptionInput) (req *aws.Request, output *GetBucketEncryptionOutput)

GetBucketEncryptionRequest generates a request for the GetBucketEncryption operation.

func (*S3) GetBucketEncryptionWithContext added in v1.8.0

func (c *S3) GetBucketEncryptionWithContext(ctx aws.Context, input *GetBucketEncryptionInput) (*GetBucketEncryptionOutput, error)

func (*S3) GetBucketInventory added in v1.5.0

func (c *S3) GetBucketInventory(input *GetBucketInventoryInput) (*GetBucketInventoryOutput, error)

GetBucketInventory gets the inventory configuration for the bucket.

func (*S3) GetBucketInventoryRequest added in v1.5.0

func (c *S3) GetBucketInventoryRequest(input *GetBucketInventoryInput) (req *aws.Request, output *GetBucketInventoryOutput)

GetBucketInventoryRequest generates a request for the GetBucketInventory operation.

func (*S3) GetBucketInventoryWithContext added in v1.5.0

func (c *S3) GetBucketInventoryWithContext(ctx aws.Context, input *GetBucketInventoryInput) (*GetBucketInventoryOutput, error)

func (*S3) GetBucketLifecycle

func (c *S3) GetBucketLifecycle(input *GetBucketLifecycleInput) (*GetBucketLifecycleOutput, error)

GetBucketLifecycle Returns the lifecycle configuration information set on the bucket.

func (*S3) GetBucketLifecycleRequest

func (c *S3) GetBucketLifecycleRequest(input *GetBucketLifecycleInput) (req *aws.Request, output *GetBucketLifecycleOutput)

GetBucketLifecycleRequest generates a request for the GetBucketLifecycle operation.

func (*S3) GetBucketLifecycleWithContext added in v1.2.9

func (c *S3) GetBucketLifecycleWithContext(ctx aws.Context, input *GetBucketLifecycleInput) (*GetBucketLifecycleOutput, error)

func (*S3) GetBucketLocation

func (c *S3) GetBucketLocation(input *GetBucketLocationInput) (*GetBucketLocationOutput, error)

GetBucketLocation Returns the region the bucket resides in.

func (*S3) GetBucketLocationRequest

func (c *S3) GetBucketLocationRequest(input *GetBucketLocationInput) (req *aws.Request, output *GetBucketLocationOutput)

GetBucketLocationRequest generates a request for the GetBucketLocation operation.

func (*S3) GetBucketLocationWithContext added in v1.2.9

func (c *S3) GetBucketLocationWithContext(ctx aws.Context, input *GetBucketLocationInput) (*GetBucketLocationOutput, error)

func (*S3) GetBucketLogging

func (c *S3) GetBucketLogging(input *GetBucketLoggingInput) (*GetBucketLoggingOutput, error)

GetBucketLogging Returns the logging status of a bucket and the permissions users have to view and modify that status. To use GET, you must be the bucket owner.

func (*S3) GetBucketLoggingRequest

func (c *S3) GetBucketLoggingRequest(input *GetBucketLoggingInput) (req *aws.Request, output *GetBucketLoggingOutput)

GetBucketLoggingRequest generates a request for the GetBucketLogging operation.

func (*S3) GetBucketLoggingWithContext added in v1.2.9

func (c *S3) GetBucketLoggingWithContext(ctx aws.Context, input *GetBucketLoggingInput) (*GetBucketLoggingOutput, error)

func (*S3) GetBucketMirror added in v1.0.9

func (c *S3) GetBucketMirror(input *GetBucketMirrorInput) (*GetBucketMirrorOutput, error)

func (*S3) GetBucketMirrorRequest added in v1.2.7

func (c *S3) GetBucketMirrorRequest(input *GetBucketMirrorInput) (req *aws.Request, output *GetBucketMirrorOutput)

func (*S3) GetBucketMirrorWithContext added in v1.2.9

func (c *S3) GetBucketMirrorWithContext(ctx aws.Context, input *GetBucketMirrorInput) (*GetBucketMirrorOutput, error)

func (*S3) GetBucketNotification

GetBucketNotification Deprecated, see the GetBucketNotificationConfiguration operation.

func (*S3) GetBucketNotificationConfiguration

func (c *S3) GetBucketNotificationConfiguration(input *GetBucketNotificationConfigurationRequest) (*NotificationConfiguration, error)

GetBucketNotificationConfiguration Returns the notification configuration of a bucket.

func (*S3) GetBucketNotificationConfigurationRequest

func (c *S3) GetBucketNotificationConfigurationRequest(input *GetBucketNotificationConfigurationRequest) (req *aws.Request, output *NotificationConfiguration)

GetBucketNotificationConfigurationRequest generates a request for the GetBucketNotificationConfiguration operation.

func (*S3) GetBucketNotificationConfigurationWithContext added in v1.2.9

func (c *S3) GetBucketNotificationConfigurationWithContext(ctx aws.Context, input *GetBucketNotificationConfigurationRequest) (*NotificationConfiguration, error)

func (*S3) GetBucketNotificationRequest

func (c *S3) GetBucketNotificationRequest(input *GetBucketNotificationConfigurationRequest) (req *aws.Request, output *NotificationConfigurationDeprecated)

GetBucketNotificationRequest generates a request for the GetBucketNotification operation.

func (*S3) GetBucketNotificationWithContext added in v1.2.9

func (c *S3) GetBucketNotificationWithContext(ctx aws.Context, input *GetBucketNotificationConfigurationRequest) (*NotificationConfigurationDeprecated, error)

func (*S3) GetBucketPolicy

func (c *S3) GetBucketPolicy(input *GetBucketPolicyInput) (*GetBucketPolicyOutput, error)

GetBucketPolicy Returns the policy of a specified bucket.

func (*S3) GetBucketPolicyRequest

func (c *S3) GetBucketPolicyRequest(input *GetBucketPolicyInput) (req *aws.Request, output *GetBucketPolicyOutput)

GetBucketPolicyRequest generates a request for the GetBucketPolicy operation.

func (*S3) GetBucketPolicyWithContext added in v1.2.9

func (c *S3) GetBucketPolicyWithContext(ctx aws.Context, input *GetBucketPolicyInput) (*GetBucketPolicyOutput, error)

func (*S3) GetBucketQos added in v1.6.2

func (c *S3) GetBucketQos(input *GetBucketQosInput) (*GetBucketQosOutput, error)

GetBucketQos gets bucket flow control configuration.

func (*S3) GetBucketQosRequest added in v1.6.2

func (c *S3) GetBucketQosRequest(input *GetBucketQosInput) (req *aws.Request, output *GetBucketQosOutput)

GetBucketQosRequest generates a request for the GetBucketQos operation.

func (*S3) GetBucketQosWithContext added in v1.6.2

func (c *S3) GetBucketQosWithContext(ctx aws.Context, input *GetBucketQosInput) (*GetBucketQosOutput, error)

func (*S3) GetBucketReplication

func (c *S3) GetBucketReplication(input *GetBucketReplicationInput) (*GetBucketReplicationOutput, error)

GetBucketReplication gets the replication configuration for the bucket.

func (*S3) GetBucketReplicationRequest

func (c *S3) GetBucketReplicationRequest(input *GetBucketReplicationInput) (req *aws.Request, output *GetBucketReplicationOutput)

GetBucketReplicationRequest generates a request for the GetBucketReplication operation.

func (*S3) GetBucketReplicationWithContext added in v1.2.9

func (c *S3) GetBucketReplicationWithContext(ctx aws.Context, input *GetBucketReplicationInput) (*GetBucketReplicationOutput, error)

func (*S3) GetBucketRequestPayment

func (c *S3) GetBucketRequestPayment(input *GetBucketRequestPaymentInput) (*GetBucketRequestPaymentOutput, error)

GetBucketRequestPayment Returns the request payment configuration of a bucket.

func (*S3) GetBucketRequestPaymentRequest

func (c *S3) GetBucketRequestPaymentRequest(input *GetBucketRequestPaymentInput) (req *aws.Request, output *GetBucketRequestPaymentOutput)

GetBucketRequestPaymentRequest generates a request for the GetBucketRequestPayment operation.

func (*S3) GetBucketRequestPaymentWithContext added in v1.2.9

func (c *S3) GetBucketRequestPaymentWithContext(ctx aws.Context, input *GetBucketRequestPaymentInput) (*GetBucketRequestPaymentOutput, error)

func (*S3) GetBucketRetention added in v1.5.0

func (c *S3) GetBucketRetention(input *GetBucketRetentionInput) (*GetBucketRetentionOutput, error)

GetBucketRetention gets the retention configuration for the bucket.

func (*S3) GetBucketRetentionRequest added in v1.5.0

func (c *S3) GetBucketRetentionRequest(input *GetBucketRetentionInput) (req *aws.Request, output *GetBucketRetentionOutput)

GetBucketRetentionRequest generates a request for the GetBucketRetention operation.

func (*S3) GetBucketRetentionWithContext added in v1.5.0

func (c *S3) GetBucketRetentionWithContext(ctx aws.Context, input *GetBucketRetentionInput) (*GetBucketRetentionOutput, error)

func (*S3) GetBucketTagging

func (c *S3) GetBucketTagging(input *GetBucketTaggingInput) (*GetBucketTaggingOutput, error)

GetBucketTagging gets bucket tagging configuration.

func (*S3) GetBucketTaggingRequest

func (c *S3) GetBucketTaggingRequest(input *GetBucketTaggingInput) (req *aws.Request, output *GetBucketTaggingOutput)

GetBucketTaggingRequest generates a request for the GetBucketTagging operation.

func (*S3) GetBucketTaggingWithContext added in v1.2.9

func (c *S3) GetBucketTaggingWithContext(ctx aws.Context, input *GetBucketTaggingInput) (*GetBucketTaggingOutput, error)

func (*S3) GetBucketTransferAcceleration added in v1.8.0

func (c *S3) GetBucketTransferAcceleration(input *GetBucketTransferAccelerationInput) (*GetBucketTransferAccelerationOutput, error)

GetBucketTransferAcceleration gets bucket transfer acceleration configuration.

func (*S3) GetBucketTransferAccelerationRequest added in v1.8.0

func (c *S3) GetBucketTransferAccelerationRequest(input *GetBucketTransferAccelerationInput) (req *aws.Request, output *GetBucketTransferAccelerationOutput)

GetBucketTransferAccelerationRequest generates a request for the GetBucketTransferAcceleration operation.

func (*S3) GetBucketTransferAccelerationWithContext added in v1.8.0

func (c *S3) GetBucketTransferAccelerationWithContext(ctx aws.Context, input *GetBucketTransferAccelerationInput) (*GetBucketTransferAccelerationOutput, error)

func (*S3) GetBucketVersioning

func (c *S3) GetBucketVersioning(input *GetBucketVersioningInput) (*GetBucketVersioningOutput, error)

GetBucketVersioning Returns the versioning state of a bucket.

func (*S3) GetBucketVersioningRequest

func (c *S3) GetBucketVersioningRequest(input *GetBucketVersioningInput) (req *aws.Request, output *GetBucketVersioningOutput)

GetBucketVersioningRequest generates a request for the GetBucketVersioning operation.

func (*S3) GetBucketVersioningWithContext added in v1.2.9

func (c *S3) GetBucketVersioningWithContext(ctx aws.Context, input *GetBucketVersioningInput) (*GetBucketVersioningOutput, error)

func (*S3) GetBucketWebsite

func (c *S3) GetBucketWebsite(input *GetBucketWebsiteInput) (*GetBucketWebsiteOutput, error)

GetBucketWebsite Returns the website configuration for a bucket.

func (*S3) GetBucketWebsiteRequest

func (c *S3) GetBucketWebsiteRequest(input *GetBucketWebsiteInput) (req *aws.Request, output *GetBucketWebsiteOutput)

GetBucketWebsiteRequest generates a request for the GetBucketWebsite operation.

func (*S3) GetBucketWebsiteWithContext added in v1.2.9

func (c *S3) GetBucketWebsiteWithContext(ctx aws.Context, input *GetBucketWebsiteInput) (*GetBucketWebsiteOutput, error)

func (*S3) GetObject

func (c *S3) GetObject(input *GetObjectInput) (*GetObjectOutput, error)

GetObject Retrieves objects from KS3.

func (*S3) GetObjectACL

func (c *S3) GetObjectACL(input *GetObjectACLInput) (*GetObjectACLOutput, error)

GetObjectACL Returns the access control list (ACL) of an object.

func (*S3) GetObjectACLRequest

func (c *S3) GetObjectACLRequest(input *GetObjectACLInput) (req *aws.Request, output *GetObjectACLOutput)

GetObjectACLRequest generates a request for the GetObjectACL operation.

func (*S3) GetObjectACLWithContext added in v1.2.9

func (c *S3) GetObjectACLWithContext(ctx aws.Context, input *GetObjectACLInput) (*GetObjectACLOutput, error)

func (*S3) GetObjectRequest

func (c *S3) GetObjectRequest(input *GetObjectInput) (req *aws.Request, output *GetObjectOutput)

GetObjectRequest generates a request for the GetObject operation.

func (*S3) GetObjectTagging added in v1.0.8

func (c *S3) GetObjectTagging(input *GetObjectTaggingInput) (*GetObjectTaggingOutput, error)

GetObjectTagging gets the tagging configuration for an object.

func (*S3) GetObjectTaggingRequest added in v1.0.8

func (c *S3) GetObjectTaggingRequest(input *GetObjectTaggingInput) (req *aws.Request, output *GetObjectTaggingOutput)

GetObjectTaggingRequest generates a request for the GetObjectTagging operation.

func (*S3) GetObjectTaggingWithContext added in v1.2.9

func (c *S3) GetObjectTaggingWithContext(ctx aws.Context, input *GetObjectTaggingInput) (*GetObjectTaggingOutput, error)

func (*S3) GetObjectToFile added in v1.1.9

func (c *S3) GetObjectToFile(input *GetObjectInput, filePath string) error

func (*S3) GetObjectToFileWithContext added in v1.2.9

func (c *S3) GetObjectToFileWithContext(ctx aws.Context, input *GetObjectInput, filePath string) error

func (*S3) GetObjectTorrent

func (c *S3) GetObjectTorrent(input *GetObjectTorrentInput) (*GetObjectTorrentOutput, error)

GetObjectTorrent Return torrent files from a bucket.

func (*S3) GetObjectTorrentRequest

func (c *S3) GetObjectTorrentRequest(input *GetObjectTorrentInput) (req *aws.Request, output *GetObjectTorrentOutput)

GetObjectTorrentRequest generates a request for the GetObjectTorrent operation.

func (*S3) GetObjectTorrentWithContext added in v1.2.9

func (c *S3) GetObjectTorrentWithContext(ctx aws.Context, input *GetObjectTorrentInput) (*GetObjectTorrentOutput, error)

func (*S3) GetObjectWithContext added in v1.2.9

func (c *S3) GetObjectWithContext(ctx aws.Context, input *GetObjectInput) (*GetObjectOutput, error)

func (*S3) GetRequesterQos added in v1.6.2

func (c *S3) GetRequesterQos(input *GetRequesterQosInput) (*GetRequesterQosOutput, error)

GetRequesterQos gets requester flow control configuration.

func (*S3) GetRequesterQosRequest added in v1.6.2

func (c *S3) GetRequesterQosRequest(input *GetRequesterQosInput) (req *aws.Request, output *GetRequesterQosOutput)

GetRequesterQosRequest generates a request for the GetRequesterQos operation.

func (*S3) GetRequesterQosWithContext added in v1.6.2

func (c *S3) GetRequesterQosWithContext(ctx aws.Context, input *GetRequesterQosInput) (*GetRequesterQosOutput, error)

func (*S3) GetVpcAccessBlock added in v1.8.0

func (c *S3) GetVpcAccessBlock(input *GetVpcAccessBlockInput) (*GetVpcAccessBlockOutput, error)

GetVpcAccessBlock gets vpc access block configuration.

func (*S3) GetVpcAccessBlockRequest added in v1.8.0

func (c *S3) GetVpcAccessBlockRequest(input *GetVpcAccessBlockInput) (req *aws.Request, output *GetVpcAccessBlockOutput)

GetVpcAccessBlockRequest generates a request for the GetVpcAccessBlock operation.

func (*S3) GetVpcAccessBlockWithContext added in v1.8.0

func (c *S3) GetVpcAccessBlockWithContext(ctx aws.Context, input *GetVpcAccessBlockInput) (*GetVpcAccessBlockOutput, error)

func (*S3) HeadBucket

func (c *S3) HeadBucket(input *HeadBucketInput) (*HeadBucketOutput, error)

HeadBucket This operation is useful to determine if a bucket exists and you have permission to access it.

func (*S3) HeadBucketExist added in v1.2.5

func (c *S3) HeadBucketExist(bucket string) (bool, error)

HeadBucketExist checks if the bucket exists.

func (*S3) HeadBucketExistWithContext added in v1.2.9

func (c *S3) HeadBucketExistWithContext(ctx aws.Context, bucket string) (bool, error)

func (*S3) HeadBucketRequest

func (c *S3) HeadBucketRequest(input *HeadBucketInput) (req *aws.Request, output *HeadBucketOutput)

HeadBucketRequest generates a request for the HeadBucket operation.

func (*S3) HeadBucketWithContext added in v1.2.9

func (c *S3) HeadBucketWithContext(ctx aws.Context, input *HeadBucketInput) (*HeadBucketOutput, error)

func (*S3) HeadObject

func (c *S3) HeadObject(input *HeadObjectInput) (*HeadObjectOutput, error)

HeadObject The HEAD operation retrieves metadata from an object without returning the object itself. This operation is useful if you're only interested in an object's metadata. To use HEAD, you must have READ access to the object.

func (*S3) HeadObjectRequest

func (c *S3) HeadObjectRequest(input *HeadObjectInput) (req *aws.Request, output *HeadObjectOutput)

HeadObjectRequest generates a request for the HeadObject operation.

func (*S3) HeadObjectWithContext added in v1.2.9

func (c *S3) HeadObjectWithContext(ctx aws.Context, input *HeadObjectInput) (*HeadObjectOutput, error)

func (*S3) ListBucketInventory added in v1.5.0

func (c *S3) ListBucketInventory(input *ListBucketInventoryInput) (*ListBucketInventoryOutput, error)

ListBucketInventory lists the inventory configurations for the bucket.

func (*S3) ListBucketInventoryRequest added in v1.5.0

func (c *S3) ListBucketInventoryRequest(input *ListBucketInventoryInput) (req *aws.Request, output *ListBucketInventoryOutput)

ListBucketInventoryRequest generates a request for the ListBucketInventory operation.

func (*S3) ListBucketInventoryWithContext added in v1.5.0

func (c *S3) ListBucketInventoryWithContext(ctx aws.Context, input *ListBucketInventoryInput) (*ListBucketInventoryOutput, error)

func (*S3) ListBuckets

func (c *S3) ListBuckets(input *ListBucketsInput) (*ListBucketsOutput, error)

ListBuckets Returns a list of all buckets owned by the authenticated sender of the request.

func (*S3) ListBucketsRequest

func (c *S3) ListBucketsRequest(input *ListBucketsInput) (req *aws.Request, output *ListBucketsOutput)

ListBucketsRequest generates a request for the ListBuckets operation.

func (*S3) ListBucketsWithContext added in v1.2.9

func (c *S3) ListBucketsWithContext(ctx aws.Context, input *ListBucketsInput) (*ListBucketsOutput, error)

func (*S3) ListMultipartUploads

func (c *S3) ListMultipartUploads(input *ListMultipartUploadsInput) (*ListMultipartUploadsOutput, error)

ListMultipartUploads This operation lists in-progress multipart uploads.

func (*S3) ListMultipartUploadsPages

func (c *S3) ListMultipartUploadsPages(input *ListMultipartUploadsInput, fn func(p *ListMultipartUploadsOutput, lastPage bool) (shouldContinue bool)) error

func (*S3) ListMultipartUploadsRequest

func (c *S3) ListMultipartUploadsRequest(input *ListMultipartUploadsInput) (req *aws.Request, output *ListMultipartUploadsOutput)

ListMultipartUploadsRequest generates a request for the ListMultipartUploads operation.

func (*S3) ListMultipartUploadsWithContext added in v1.2.9

func (c *S3) ListMultipartUploadsWithContext(ctx aws.Context, input *ListMultipartUploadsInput) (*ListMultipartUploadsOutput, error)

func (*S3) ListObjectVersions

func (c *S3) ListObjectVersions(input *ListObjectVersionsInput) (*ListObjectVersionsOutput, error)

ListObjectVersions Returns metadata about all the versions of objects in a bucket.

func (*S3) ListObjectVersionsPages

func (c *S3) ListObjectVersionsPages(input *ListObjectVersionsInput, fn func(p *ListObjectVersionsOutput, lastPage bool) (shouldContinue bool)) error

func (*S3) ListObjectVersionsRequest

func (c *S3) ListObjectVersionsRequest(input *ListObjectVersionsInput) (req *aws.Request, output *ListObjectVersionsOutput)

ListObjectVersionsRequest generates a request for the ListObjectVersions operation.

func (*S3) ListObjectVersionsWithContext added in v1.2.9

func (c *S3) ListObjectVersionsWithContext(ctx aws.Context, input *ListObjectVersionsInput) (*ListObjectVersionsOutput, error)

func (*S3) ListObjects

func (c *S3) ListObjects(input *ListObjectsInput) (*ListObjectsOutput, error)

ListObjects Returns some or all (up to 1000) of the objects in a bucket. You can use the request parameters as selection criteria to return a subset of the objects in a bucket.

func (*S3) ListObjectsPages

func (c *S3) ListObjectsPages(input *ListObjectsInput, fn func(p *ListObjectsOutput, lastPage bool) (shouldContinue bool)) error

func (*S3) ListObjectsRequest

func (c *S3) ListObjectsRequest(input *ListObjectsInput) (req *aws.Request, output *ListObjectsOutput)

ListObjectsRequest generates a request for the ListObjects operation.

func (*S3) ListObjectsWithContext added in v1.2.9

func (c *S3) ListObjectsWithContext(ctx aws.Context, input *ListObjectsInput) (*ListObjectsOutput, error)

func (*S3) ListParts

func (c *S3) ListParts(input *ListPartsInput) (*ListPartsOutput, error)

ListParts Lists the parts that have been uploaded for a specific multipart upload.

func (*S3) ListPartsPages

func (c *S3) ListPartsPages(input *ListPartsInput, fn func(p *ListPartsOutput, lastPage bool) (shouldContinue bool)) error

func (*S3) ListPartsRequest

func (c *S3) ListPartsRequest(input *ListPartsInput) (req *aws.Request, output *ListPartsOutput)

ListPartsRequest generates a request for the ListParts operation.

func (*S3) ListPartsWithContext added in v1.2.9

func (c *S3) ListPartsWithContext(ctx aws.Context, input *ListPartsInput) (*ListPartsOutput, error)

func (*S3) ListRetention added in v1.5.0

func (c *S3) ListRetention(input *ListRetentionInput) (*ListRetentionOutput, error)

ListRetention lists the objects in the recycle bin.

func (*S3) ListRetentionRequest added in v1.5.0

func (c *S3) ListRetentionRequest(input *ListRetentionInput) (req *aws.Request, output *ListRetentionOutput)

ListRetentionRequest generates a request for the ListRetention operation.

func (*S3) ListRetentionWithContext added in v1.5.0

func (c *S3) ListRetentionWithContext(ctx aws.Context, input *ListRetentionInput) (*ListRetentionOutput, error)

func (*S3) PutBucketACL

func (c *S3) PutBucketACL(input *PutBucketACLInput) (*PutBucketACLOutput, error)

PutBucketACL Sets the permissions on a bucket using access control lists (ACL).

func (*S3) PutBucketACLRequest

func (c *S3) PutBucketACLRequest(input *PutBucketACLInput) (req *aws.Request, output *PutBucketACLOutput)

PutBucketACLRequest generates a request for the PutBucketACL operation.

func (*S3) PutBucketACLWithContext added in v1.2.9

func (c *S3) PutBucketACLWithContext(ctx aws.Context, input *PutBucketACLInput) (*PutBucketACLOutput, error)

func (*S3) PutBucketAccessMonitor added in v1.8.0

func (c *S3) PutBucketAccessMonitor(input *PutBucketAccessMonitorInput) (*PutBucketAccessMonitorOutput, error)

PutBucketAccessMonitor sets bucket access monitor configuration.

func (*S3) PutBucketAccessMonitorRequest added in v1.8.0

func (c *S3) PutBucketAccessMonitorRequest(input *PutBucketAccessMonitorInput) (req *aws.Request, output *PutBucketAccessMonitorOutput)

PutBucketAccessMonitorRequest generates a request for the PutBucketAccessMonitor operation.

func (*S3) PutBucketAccessMonitorWithContext added in v1.8.0

func (c *S3) PutBucketAccessMonitorWithContext(ctx aws.Context, input *PutBucketAccessMonitorInput) (*PutBucketAccessMonitorOutput, error)

func (*S3) PutBucketCORS

func (c *S3) PutBucketCORS(input *PutBucketCORSInput) (*PutBucketCORSOutput, error)

PutBucketCORS Sets the cors configuration for a bucket.

func (*S3) PutBucketCORSRequest

func (c *S3) PutBucketCORSRequest(input *PutBucketCORSInput) (req *aws.Request, output *PutBucketCORSOutput)

PutBucketCORSRequest generates a request for the PutBucketCORS operation.

func (*S3) PutBucketCORSWithContext added in v1.2.9

func (c *S3) PutBucketCORSWithContext(ctx aws.Context, input *PutBucketCORSInput) (*PutBucketCORSOutput, error)

func (*S3) PutBucketDataRedundancySwitch added in v1.6.1

func (c *S3) PutBucketDataRedundancySwitch(input *PutBucketDataRedundancySwitchInput) (*PutBucketDataRedundancySwitchOutput, error)

PutBucketDataRedundancySwitch sets the data redundancy type for the bucket.

func (*S3) PutBucketDataRedundancySwitchRequest added in v1.6.1

func (c *S3) PutBucketDataRedundancySwitchRequest(input *PutBucketDataRedundancySwitchInput) (req *aws.Request, output *PutBucketDataRedundancySwitchOutput)

PutBucketDataRedundancySwitchRequest generates a request for the PutBucketDataRedundancySwitch operation.

func (*S3) PutBucketDataRedundancySwitchWithContext added in v1.6.1

func (c *S3) PutBucketDataRedundancySwitchWithContext(ctx aws.Context, input *PutBucketDataRedundancySwitchInput) (*PutBucketDataRedundancySwitchOutput, error)

func (*S3) PutBucketDecompressPolicy added in v1.4.0

func (c *S3) PutBucketDecompressPolicy(input *PutBucketDecompressPolicyInput) (*PutBucketDecompressPolicyOutput, error)

PutBucketDecompressPolicy sets the decompression policy for the bucket.

func (*S3) PutBucketDecompressPolicyRequest added in v1.4.0

func (c *S3) PutBucketDecompressPolicyRequest(input *PutBucketDecompressPolicyInput) (req *aws.Request, output *PutBucketDecompressPolicyOutput)

PutBucketDecompressPolicyRequest generates a request for the PutBucketDecompressPolicy operation.

func (*S3) PutBucketDecompressPolicyWithContext added in v1.4.0

func (c *S3) PutBucketDecompressPolicyWithContext(ctx aws.Context, input *PutBucketDecompressPolicyInput) (*PutBucketDecompressPolicyOutput, error)

func (*S3) PutBucketEncryption added in v1.8.0

func (c *S3) PutBucketEncryption(input *PutBucketEncryptionInput) (*PutBucketEncryptionOutput, error)

PutBucketEncryption sets bucket encryption configuration.

func (*S3) PutBucketEncryptionRequest added in v1.8.0

func (c *S3) PutBucketEncryptionRequest(input *PutBucketEncryptionInput) (req *aws.Request, output *PutBucketEncryptionOutput)

PutBucketEncryptionRequest generates a request for the PutBucketEncryption operation.

func (*S3) PutBucketEncryptionWithContext added in v1.8.0

func (c *S3) PutBucketEncryptionWithContext(ctx aws.Context, input *PutBucketEncryptionInput) (*PutBucketEncryptionOutput, error)

func (*S3) PutBucketInventory added in v1.5.0

func (c *S3) PutBucketInventory(input *PutBucketInventoryInput) (*PutBucketInventoryOutput, error)

PutBucketInventory creates a new inventory configuration.

func (*S3) PutBucketInventoryRequest added in v1.5.0

func (c *S3) PutBucketInventoryRequest(input *PutBucketInventoryInput) (req *aws.Request, output *PutBucketInventoryOutput)

PutBucketInventoryRequest generates a request for the PutBucketInventory operation.

func (*S3) PutBucketInventoryWithContext added in v1.5.0

func (c *S3) PutBucketInventoryWithContext(ctx aws.Context, input *PutBucketInventoryInput) (*PutBucketInventoryOutput, error)

func (*S3) PutBucketLifecycle

func (c *S3) PutBucketLifecycle(input *PutBucketLifecycleInput) (*PutBucketLifecycleOutput, error)

PutBucketLifecycle Sets lifecycle configuration for your bucket. If a lifecycle configuration exists, it replaces it.

func (*S3) PutBucketLifecycleRequest

func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *aws.Request, output *PutBucketLifecycleOutput)

PutBucketLifecycleRequest generates a request for the PutBucketLifecycle operation.

func (*S3) PutBucketLifecycleWithContext added in v1.2.9

func (c *S3) PutBucketLifecycleWithContext(ctx aws.Context, input *PutBucketLifecycleInput) (*PutBucketLifecycleOutput, error)

func (*S3) PutBucketLogging

func (c *S3) PutBucketLogging(input *PutBucketLoggingInput) (*PutBucketLoggingOutput, error)

PutBucketLogging Set the logging parameters for a bucket and to specify permissions for who can view and modify the logging parameters. To set the logging status of a bucket, you must be the bucket owner.

func (*S3) PutBucketLoggingRequest

func (c *S3) PutBucketLoggingRequest(input *PutBucketLoggingInput) (req *aws.Request, output *PutBucketLoggingOutput)

PutBucketLoggingRequest generates a request for the PutBucketLogging operation.

func (*S3) PutBucketLoggingWithContext added in v1.2.9

func (c *S3) PutBucketLoggingWithContext(ctx aws.Context, input *PutBucketLoggingInput) (*PutBucketLoggingOutput, error)

func (*S3) PutBucketMirror added in v1.0.9

func (c *S3) PutBucketMirror(input *PutBucketMirrorInput) (*PutBucketMirrorOutput, error)

func (*S3) PutBucketMirrorRequest added in v1.2.7

func (c *S3) PutBucketMirrorRequest(input *PutBucketMirrorInput) (req *aws.Request, output *PutBucketMirrorOutput)

func (*S3) PutBucketMirrorWithContext added in v1.2.9

func (c *S3) PutBucketMirrorWithContext(ctx aws.Context, input *PutBucketMirrorInput) (*PutBucketMirrorOutput, error)

func (*S3) PutBucketNotification

func (c *S3) PutBucketNotification(input *PutBucketNotificationInput) (*PutBucketNotificationOutput, error)

PutBucketNotification Deprecated, see the PutBucketNotificationConfiguraiton operation.

func (*S3) PutBucketNotificationConfiguration

func (c *S3) PutBucketNotificationConfiguration(input *PutBucketNotificationConfigurationInput) (*PutBucketNotificationConfigurationOutput, error)

PutBucketNotificationConfiguration Enables notifications of specified events for a bucket.

func (*S3) PutBucketNotificationConfigurationRequest

func (c *S3) PutBucketNotificationConfigurationRequest(input *PutBucketNotificationConfigurationInput) (req *aws.Request, output *PutBucketNotificationConfigurationOutput)

PutBucketNotificationConfigurationRequest generates a request for the PutBucketNotificationConfiguration operation.

func (*S3) PutBucketNotificationConfigurationWithContext added in v1.2.9

func (c *S3) PutBucketNotificationConfigurationWithContext(ctx aws.Context, input *PutBucketNotificationConfigurationInput) (*PutBucketNotificationConfigurationOutput, error)

func (*S3) PutBucketNotificationRequest

func (c *S3) PutBucketNotificationRequest(input *PutBucketNotificationInput) (req *aws.Request, output *PutBucketNotificationOutput)

PutBucketNotificationRequest generates a request for the PutBucketNotification operation.

func (*S3) PutBucketNotificationWithContext added in v1.2.9

func (c *S3) PutBucketNotificationWithContext(ctx aws.Context, input *PutBucketNotificationInput) (*PutBucketNotificationOutput, error)

func (*S3) PutBucketPolicy

func (c *S3) PutBucketPolicy(input *PutBucketPolicyInput) (*PutBucketPolicyOutput, error)

PutBucketPolicy Replaces a policy on a bucket. If the bucket already has a policy, the one in this request completely replaces it.

func (*S3) PutBucketPolicyRequest

func (c *S3) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *aws.Request, output *PutBucketPolicyOutput)

PutBucketPolicyRequest generates a request for the PutBucketPolicy operation.

func (*S3) PutBucketPolicyWithContext added in v1.2.9

func (c *S3) PutBucketPolicyWithContext(ctx aws.Context, input *PutBucketPolicyInput) (*PutBucketPolicyOutput, error)

func (*S3) PutBucketQos added in v1.6.2

func (c *S3) PutBucketQos(input *PutBucketQosInput) (*PutBucketQosOutput, error)

PutBucketQos sets bucket flow control configuration.

func (*S3) PutBucketQosRequest added in v1.6.2

func (c *S3) PutBucketQosRequest(input *PutBucketQosInput) (req *aws.Request, output *PutBucketQosOutput)

PutBucketQosRequest generates a request for the PutBucketQos operation.

func (*S3) PutBucketQosWithContext added in v1.6.2

func (c *S3) PutBucketQosWithContext(ctx aws.Context, input *PutBucketQosInput) (*PutBucketQosOutput, error)

func (*S3) PutBucketReplication

func (c *S3) PutBucketReplication(input *PutBucketReplicationInput) (*PutBucketReplicationOutput, error)

PutBucketReplication creates a new replication configuration.

func (*S3) PutBucketReplicationRequest

func (c *S3) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req *aws.Request, output *PutBucketReplicationOutput)

PutBucketReplicationRequest generates a request for the PutBucketReplication operation.

func (*S3) PutBucketReplicationWithContext added in v1.2.9

func (c *S3) PutBucketReplicationWithContext(ctx aws.Context, input *PutBucketReplicationInput) (*PutBucketReplicationOutput, error)

func (*S3) PutBucketRequestPayment

func (c *S3) PutBucketRequestPayment(input *PutBucketRequestPaymentInput) (*PutBucketRequestPaymentOutput, error)

PutBucketRequestPayment Sets the request payment configuration for a bucket. By default, the bucket owner pays for downloads from the bucket. This configuration parameter enables the bucket owner (only) to specify that the person requesting the download will be charged for the download.

func (*S3) PutBucketRequestPaymentRequest

func (c *S3) PutBucketRequestPaymentRequest(input *PutBucketRequestPaymentInput) (req *aws.Request, output *PutBucketRequestPaymentOutput)

PutBucketRequestPaymentRequest generates a request for the PutBucketRequestPayment operation.

func (*S3) PutBucketRequestPaymentWithContext added in v1.2.9

func (c *S3) PutBucketRequestPaymentWithContext(ctx aws.Context, input *PutBucketRequestPaymentInput) (*PutBucketRequestPaymentOutput, error)

func (*S3) PutBucketRetention added in v1.5.0

func (c *S3) PutBucketRetention(input *PutBucketRetentionInput) (*PutBucketRetentionOutput, error)

PutBucketRetention sets the retention configuration on a bucket.

func (*S3) PutBucketRetentionRequest added in v1.5.0

func (c *S3) PutBucketRetentionRequest(input *PutBucketRetentionInput) (req *aws.Request, output *PutBucketRetentionOutput)

PutBucketRetentionRequest generates a request for the PutBucketRetention operation.

func (*S3) PutBucketRetentionWithContext added in v1.5.0

func (c *S3) PutBucketRetentionWithContext(ctx aws.Context, input *PutBucketRetentionInput) (*PutBucketRetentionOutput, error)

func (*S3) PutBucketTagging

func (c *S3) PutBucketTagging(input *PutBucketTaggingInput) (*PutBucketTaggingOutput, error)

PutBucketTagging sets bucket tagging configuration.

func (*S3) PutBucketTaggingRequest

func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *aws.Request, output *PutBucketTaggingOutput)

PutBucketTaggingRequest generates a request for the PutBucketTagging operation.

func (*S3) PutBucketTaggingWithContext added in v1.2.9

func (c *S3) PutBucketTaggingWithContext(ctx aws.Context, input *PutBucketTaggingInput) (*PutBucketTaggingOutput, error)

func (*S3) PutBucketTransferAcceleration added in v1.8.0

func (c *S3) PutBucketTransferAcceleration(input *PutBucketTransferAccelerationInput) (*PutBucketTransferAccelerationOutput, error)

PutBucketTransferAcceleration sets bucket transfer acceleration configuration.

func (*S3) PutBucketTransferAccelerationRequest added in v1.8.0

func (c *S3) PutBucketTransferAccelerationRequest(input *PutBucketTransferAccelerationInput) (req *aws.Request, output *PutBucketTransferAccelerationOutput)

PutBucketTransferAccelerationRequest generates a request for the PutBucketTransferAcceleration operation.

func (*S3) PutBucketTransferAccelerationWithContext added in v1.8.0

func (c *S3) PutBucketTransferAccelerationWithContext(ctx aws.Context, input *PutBucketTransferAccelerationInput) (*PutBucketTransferAccelerationOutput, error)

func (*S3) PutBucketVersioning

func (c *S3) PutBucketVersioning(input *PutBucketVersioningInput) (*PutBucketVersioningOutput, error)

PutBucketVersioning Sets the versioning state of an existing bucket. To set the versioning state, you must be the bucket owner.

func (*S3) PutBucketVersioningRequest

func (c *S3) PutBucketVersioningRequest(input *PutBucketVersioningInput) (req *aws.Request, output *PutBucketVersioningOutput)

PutBucketVersioningRequest generates a request for the PutBucketVersioning operation.

func (*S3) PutBucketVersioningWithContext added in v1.2.9

func (c *S3) PutBucketVersioningWithContext(ctx aws.Context, input *PutBucketVersioningInput) (*PutBucketVersioningOutput, error)

func (*S3) PutBucketWebsite

func (c *S3) PutBucketWebsite(input *PutBucketWebsiteInput) (*PutBucketWebsiteOutput, error)

PutBucketWebsite Set the website configuration for a bucket.

func (*S3) PutBucketWebsiteRequest

func (c *S3) PutBucketWebsiteRequest(input *PutBucketWebsiteInput) (req *aws.Request, output *PutBucketWebsiteOutput)

PutBucketWebsiteRequest generates a request for the PutBucketWebsite operation.

func (*S3) PutBucketWebsiteWithContext added in v1.2.9

func (c *S3) PutBucketWebsiteWithContext(ctx aws.Context, input *PutBucketWebsiteInput) (*PutBucketWebsiteOutput, error)

func (*S3) PutObject

func (c *S3) PutObject(input *PutObjectInput) (*PutObjectOutput, error)

PutObject Adds an object to a bucket.

func (*S3) PutObjectACL

func (c *S3) PutObjectACL(input *PutObjectACLInput) (*PutObjectACLOutput, error)

PutObjectACL uses the acl subresource to set the access control list (ACL) permissions for an object that already exists in a bucket

func (*S3) PutObjectACLRequest

func (c *S3) PutObjectACLRequest(input *PutObjectACLInput) (req *aws.Request, output *PutObjectACLOutput)

PutObjectACLRequest generates a request for the PutObjectACL operation.

func (*S3) PutObjectACLWithContext added in v1.2.9

func (c *S3) PutObjectACLWithContext(ctx aws.Context, input *PutObjectACLInput) (*PutObjectACLOutput, error)

func (*S3) PutObjectPreassignedInput added in v1.1.6

func (c *S3) PutObjectPreassignedInput(input *PutObjectInput) (*http.Request, error)

func (*S3) PutObjectRequest

func (c *S3) PutObjectRequest(input *PutObjectInput) (req *aws.Request, output *PutObjectOutput)

PutObjectRequest generates a request for the PutObject operation.

func (*S3) PutObjectTagging added in v1.0.8

func (c *S3) PutObjectTagging(input *PutObjectTaggingInput) (*PutObjectTaggingOutput, error)

PutObjectTagging sets the tagging configuration for an object.

func (*S3) PutObjectTaggingRequest added in v1.0.8

func (c *S3) PutObjectTaggingRequest(input *PutObjectTaggingInput) (req *aws.Request, output *PutObjectTaggingOutput)

PutObjectTaggingRequest generates a request for the PutObjectTagging operation.

func (*S3) PutObjectTaggingWithContext added in v1.2.9

func (c *S3) PutObjectTaggingWithContext(ctx aws.Context, input *PutObjectTaggingInput) (*PutObjectTaggingOutput, error)

func (*S3) PutObjectWithContext added in v1.2.9

func (c *S3) PutObjectWithContext(ctx aws.Context, input *PutObjectInput) (*PutObjectOutput, error)

func (*S3) PutReader added in v1.0.5

func (c *S3) PutReader(input *PutReaderInput) (*PutObjectOutput, error)

PutReader Adds an object to a bucket.

func (*S3) PutReaderRequest added in v1.2.9

func (c *S3) PutReaderRequest(input *PutReaderInput) (req *aws.Request, output *PutObjectOutput)

func (*S3) PutReaderWithContext added in v1.2.9

func (c *S3) PutReaderWithContext(ctx aws.Context, input *PutReaderInput) (*PutObjectOutput, error)

func (*S3) PutRequesterQos added in v1.6.2

func (c *S3) PutRequesterQos(input *PutRequesterQosInput) (*PutRequesterQosOutput, error)

PutRequesterQos sets requester flow control configuration.

func (*S3) PutRequesterQosRequest added in v1.6.2

func (c *S3) PutRequesterQosRequest(input *PutRequesterQosInput) (req *aws.Request, output *PutRequesterQosOutput)

PutRequesterQosRequest generates a request for the PutRequesterQos operation.

func (*S3) PutRequesterQosWithContext added in v1.6.2

func (c *S3) PutRequesterQosWithContext(ctx aws.Context, input *PutRequesterQosInput) (*PutRequesterQosOutput, error)

func (*S3) PutVpcAccessBlock added in v1.8.0

func (c *S3) PutVpcAccessBlock(input *PutVpcAccessBlockInput) (*PutVpcAccessBlockOutput, error)

PutVpcAccessBlock sets vpc access block configuration.

func (*S3) PutVpcAccessBlockRequest added in v1.8.0

func (c *S3) PutVpcAccessBlockRequest(input *PutVpcAccessBlockInput) (req *aws.Request, output *PutVpcAccessBlockOutput)

PutVpcAccessBlockRequest generates a request for the PutVpcAccessBlock operation.

func (*S3) PutVpcAccessBlockWithContext added in v1.8.0

func (c *S3) PutVpcAccessBlockWithContext(ctx aws.Context, input *PutVpcAccessBlockInput) (*PutVpcAccessBlockOutput, error)

func (*S3) RecoverObject added in v1.5.0

func (c *S3) RecoverObject(input *RecoverObjectInput) (*RecoverObjectOutput, error)

RecoverObject recovers the object from the recycle bin.

func (*S3) RecoverObjectRequest added in v1.5.0

func (c *S3) RecoverObjectRequest(input *RecoverObjectInput) (req *aws.Request, output *RecoverObjectOutput)

RecoverObjectRequest generates a request for the RecoverObject operation.

func (*S3) RecoverObjectWithContext added in v1.5.0

func (c *S3) RecoverObjectWithContext(ctx aws.Context, input *RecoverObjectInput) (*RecoverObjectOutput, error)

func (*S3) RestoreObject

func (c *S3) RestoreObject(input *RestoreObjectInput) (*RestoreObjectOutput, error)

func (*S3) RestoreObjectRequest

func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *aws.Request, output *RestoreObjectOutput)

RestoreObjectRequest generates a request for the RestoreObject operation.

func (*S3) RestoreObjectWithContext added in v1.2.9

func (c *S3) RestoreObjectWithContext(ctx aws.Context, input *RestoreObjectInput) (*RestoreObjectOutput, error)

func (*S3) SaveObjectToFile added in v1.3.0

func (c *S3) SaveObjectToFile(filePath string, input *GetObjectInput, res *GetObjectOutput) error

func (*S3) TryDeleteBucketPrefix added in v1.0.4

func (c *S3) TryDeleteBucketPrefix(input *DeleteBucketPrefixInput) (*DeleteObjectsOutput, error)

TryDeleteBucketPrefix deletes all objects with the specified prefix in the bucket, and retries at most 3 times.

func (*S3) TryDeleteBucketPrefixWithContext added in v1.2.9

func (c *S3) TryDeleteBucketPrefixWithContext(ctx aws.Context, input *DeleteBucketPrefixInput) (*DeleteObjectsOutput, error)

func (*S3) UploadFile added in v1.6.0

func (c *S3) UploadFile(request *UploadFileInput) (*UploadFileOutput, error)

func (*S3) UploadFileWithContext added in v1.6.0

func (c *S3) UploadFileWithContext(ctx context.Context, request *UploadFileInput) (*UploadFileOutput, error)

func (*S3) UploadPart

func (c *S3) UploadPart(input *UploadPartInput) (*UploadPartOutput, error)

UploadPart Uploads a part in a multipart upload.

Note: After you initiate multipart upload and upload one or more parts, you must either complete or abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts storage.

func (*S3) UploadPartCopy

func (c *S3) UploadPartCopy(input *UploadPartCopyInput) (*UploadPartCopyOutput, error)

UploadPartCopy Uploads a part by copying data from an existing object as data source.

func (*S3) UploadPartCopyRequest

func (c *S3) UploadPartCopyRequest(input *UploadPartCopyInput) (req *aws.Request, output *UploadPartCopyOutput)

UploadPartCopyRequest generates a request for the UploadPartCopy operation.

func (*S3) UploadPartCopyWithContext added in v1.2.9

func (c *S3) UploadPartCopyWithContext(ctx aws.Context, input *UploadPartCopyInput) (*UploadPartCopyOutput, error)

func (*S3) UploadPartRequest

func (c *S3) UploadPartRequest(input *UploadPartInput) (req *aws.Request, output *UploadPartOutput)

UploadPartRequest generates a request for the UploadPart operation.

func (*S3) UploadPartWithContext added in v1.2.9

func (c *S3) UploadPartWithContext(ctx aws.Context, input *UploadPartInput) (*UploadPartOutput, error)

type SavingSetting added in v1.0.9

type SavingSetting struct {
	ACL *string `json:"acl,omitempty"  required:"true" locationName:"acl"`
}

type Schedule added in v1.5.0

type Schedule struct {
	// Cycle of exporting inventory files.
	Frequency *string `locationName:"Frequency" type:"string" required:"true"`
}

type ServerSideEncryptionConfiguration added in v1.8.0

type ServerSideEncryptionConfiguration struct {
	// Default encryption rule for bucket.
	Rule *BucketEncryptionRule `locationName:"Rule" type:"structure" required:"true"`
}

type SetHeaders added in v1.0.9

type SetHeaders struct {
	Key   *string `json:"key,omitempty" locationName:"key"`
	Value *string `json:"value,omitempty" locationName:"value"`
}

type SyncMirrorRules added in v1.0.9

type SyncMirrorRules struct {
	MatchCondition       MatchCondition        `json:"match_condition" locationName:"match_condition"`
	MirrorURL            *string               `json:"mirror_url,omitempty" locationName:"mirror_url"`
	MirrorRequestSetting *MirrorRequestSetting `json:"mirror_request_setting,omitempty" locationName:"mirror_request_setting"`
	SavingSetting        *SavingSetting        `json:"saving_setting,omitempty" locationName:"saving_setting"`
	MirrorType           *string               `json:"mirror_type,omitempty" locationName:"mirror_type"`
}

type Tag

type Tag struct {
	// Name of the tag.
	Key *string `type:"string" required:"true"`

	// Value of the tag.
	Value *string `type:"string" required:"true"`
	// contains filtered or unexported fields
}

type Tagging

type Tagging struct {
	TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"`
	// contains filtered or unexported fields
}

func (*Tagging) ToString added in v1.6.0

func (t *Tagging) ToString() string

type TargetGrant

type TargetGrant struct {
	Grantee *Grantee `type:"structure"`

	// Logging permissions assigned to the Grantee for the bucket.
	Permission *string `type:"string"`
	// contains filtered or unexported fields
}

type TopicConfiguration

type TopicConfiguration struct {
	Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`

	// Optional unique identifier for configurations in a notification configuration.
	// If you don't provide one, Amazon S3 will assign an ID.
	ID *string `locationName:"Id" type:"string"`

	// Amazon SNS topic ARN to which Amazon S3 will publish a message when it detects
	// events of specified type.
	TopicARN *string `locationName:"Topic" type:"string" required:"true"`
	// contains filtered or unexported fields
}

TopicConfiguration Container for specifying the configuration when you want Amazon S3 to publish events to an Amazon Simple Notification Service (Amazon SNS) topic.

type TopicConfigurationDeprecated

type TopicConfigurationDeprecated struct {
	// Bucket event for which to send notifications.
	Event *string `type:"string"`

	Events []*string `locationName:"Event" type:"list" flattened:"true"`

	// Optional unique identifier for configurations in a notification configuration.
	// If you don't provide one, Amazon S3 will assign an ID.
	ID *string `locationName:"Id" type:"string"`

	// Amazon SNS topic to which Amazon S3 will publish a message to report the
	// specified events for the bucket.
	Topic *string `type:"string"`
	// contains filtered or unexported fields
}

type TransferAccelerationConfiguration added in v1.8.0

type TransferAccelerationConfiguration struct {
	// Whether the target bucket has enabled transfer acceleration.
	Enabled *bool `locationName:"Enabled" type:"boolean" required:"true"`
}

type Transition

type Transition struct {
	// Indicates at what date the object is to be moved or deleted. Should be in
	// GMT ISO 8601 Format.
	Date *time.Time `type:"timestamp" timestampFormat:"iso8601"`

	// Specifies the number of days after the object is last modified or accessed that the lifecycle rule takes effect.
	// When the value of IsAccessTime in the request is true, this parameter indicates that the lifecycle rule takes
	// effect based on the last access time of the object. When IsAccessTime is not set in the request or is set to false,
	// this parameter indicates that the lifecycle rule takes effect based on the last modification time of the object.
	// This parameter is mutually exclusive with Date.
	Days *int64 `type:"integer"`

	// The class of storage used to store the object.
	StorageClass *string `type:"string"`

	// Specifies whether to use the last access time matching rule.
	// true: indicates that the last access time of the object is used for matching.
	// false: indicates that the last modification time of the object is used for matching.
	IsAccessTime *bool `type:"boolean"`

	// Specifies whether to convert the object to the source storage type when accessed again after the object is
	// converted to another storage type. This is only valid when IsAccessTime is set to true.
	// true: Indicates that the object is converted to the source storage type when accessed again.
	// false: Indicates that the object is still the target storage type when accessed again.
	ReturnToStdWhenVisit *bool `type:"boolean"`
}

type UploadCheckpoint added in v1.6.0

type UploadCheckpoint struct {
	Magic                  string
	MD5                    string
	CpFilePath             string           // checkpoint file full path
	UploadFilePath         string           // Local file path
	UploadFileSize         int64            // Local file size
	UploadFileLastModified string           // Local file last modified time
	BucketName             string           // Bucket name
	ObjectKey              string           // Object key
	PartSize               int64            // Part size
	UploadId               string           // Upload ID
	PartETagList           []*CompletedPart // Completed parts
}

type UploadFileInput added in v1.6.0

type UploadFileInput struct {
	// The name of the bucket.
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Object key of the object.
	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	// The path of the file to be uploaded.
	UploadFile *string `type:"string" required:"true"`

	// The size of the file to be uploaded.
	FileSize *int64 `type:"integer"`

	// The file part fetcher.
	FilePartFetcher *FilePartFetcher `type:"structure"`

	// The object metadata.
	ObjectMeta map[string]*string `type:"structure"`

	// The size of each part.
	PartSize *int64 `type:"integer"`

	// The number of tasks to upload the file.
	TaskNum *int64 `type:"integer"`

	// Whether to enable checkpoint.
	EnableCheckpoint *bool `type:"boolean"`

	// The directory to store the checkpoint file.
	CheckpointDir *string `type:"string"`

	// The checkpoint file path.
	CheckpointFile *string `type:"string"`

	// The canned ACL to apply to the object.
	ACL *string `location:"header" locationName:"x-amz-acl" type:"string"`

	// Specifies caching behavior along the request/reply chain.
	CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`

	// Specifies presentational information for the object.
	ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`

	// Specifies what content encodings have been applied to the object and thus
	// what decoding mechanisms must be applied to obtain the media-type referenced
	// by the Content-Type header field.
	ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`

	// A standard MIME type describing the format of the object data.
	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// The date and time at which the object is no longer cacheable.
	Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp" timestampFormat:"rfc822"`

	// A map of metadata to store with the object in S3.
	Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`

	// The type of storage to use for the object. Defaults to 'STANDARD'.
	StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string"`

	// Specifies the object tag of the object. Multiple tags can be set at the same time, such as: TagA=A&TagB=B.
	// Note: Key and Value need to be URL-encoded first. If an item does not have "=", the Value is considered to be an empty string.
	Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`

	// Specifies whether the object is forbidden to overwrite.
	ForbidOverwrite *bool `location:"header" locationName:"x-amz-forbid-overwrite" type:"boolean"`

	// Allows grantee to read the object data and its metadata.
	GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`

	// Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
	GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`

	// The Server-side encryption algorithm used when storing this object in KS3, eg: AES256.
	ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string"`

	// Specifies the algorithm to use to when encrypting the object, eg: AES256.
	SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`

	// Specifies the customer-provided encryption key for KS3 to use in encrypting data.
	SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`

	// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
	SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`

	// Progress callback function
	ProgressFn aws.ProgressFunc `location:"function"`
}

type UploadFileOutput added in v1.6.0

type UploadFileOutput struct {
	Bucket *string

	Key *string

	ETag *string

	ChecksumCRC64ECMA *string
}

type UploadPartCopyInput

type UploadPartCopyInput struct {
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	SourceBucket *string `location:"uri" locationName:"sourceBucket" type:"string"`

	SourceKey *string `location:"uri" locationName:"sourceKey" type:"string"`

	// The name of the source bucket and key name of the source object, separated
	// by a slash (/). Must be URL-encoded.
	CopySource *string `location:"header" locationName:"x-amz-copy-source" type:"string" required:"true"`

	// Copies the object if its entity tag (ETag) matches the specified tag.
	CopySourceIfMatch *string `location:"header" locationName:"x-amz-copy-source-if-match" type:"string"`

	// Copies the object if it has been modified since the specified time.
	CopySourceIfModifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-modified-since" type:"timestamp" timestampFormat:"rfc822"`

	// Copies the object if its entity tag (ETag) is different than the specified
	// ETag.
	CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"`

	// Copies the object if it hasn't been modified since the specified time.
	CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp" timestampFormat:"rfc822"`

	// The range of bytes to copy from the source object. The range value must use
	// the form bytes=first-last, where the first and last are the zero-based byte
	// offsets to copy. For example, bytes=0-9 indicates that you want to copy the
	// first ten bytes of the source. You can copy a range only if the source object
	// is greater than 5 GB.
	CopySourceRange *string `location:"header" locationName:"x-amz-copy-source-range" type:"string"`

	// Specifies the algorithm to use when decrypting the source object (e.g., AES256).
	CopySourceSSECustomerAlgorithm *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-algorithm" type:"string"`

	// Specifies the customer-provided encryption key for Amazon S3 to use to decrypt
	// the source object. The encryption key provided in this header must be one
	// that was used when the source object was created.
	CopySourceSSECustomerKey *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string"`

	// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
	// Amazon S3 uses this header for a message integrity check to ensure the encryption
	// key was transmitted without error.
	CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"`

	// Part number of part being copied.
	PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"`

	// Confirms that the requester knows that she or he will be charged for the
	// request. Bucket owners need not specify this parameter in their requests.
	// Documentation on downloading objects from requester pays buckets can be found
	// at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
	RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string"`

	// Specifies the algorithm to use to when encrypting the object (e.g., AES256,
	// aws:kms).
	SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`

	// Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
	// data. This value is used to store the object and then it is discarded; Amazon
	// does not store the encryption key. The key must be appropriate for use with
	// the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
	// header. This must be the same encryption key specified in the initiate multipart
	// upload request.
	SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`

	// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
	// Amazon S3 uses this header for a message integrity check to ensure the encryption
	// key was transmitted without error.
	SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`

	// Upload ID identifying the multipart upload whose part is being copied.
	UploadID *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type UploadPartCopyOutput

type UploadPartCopyOutput struct {
	CopyPartResult *CopyPartResult `type:"structure"`

	// The version of the source object that was copied, if you have enabled versioning
	// on the source bucket.
	CopySourceVersionID *string `location:"header" locationName:"x-amz-copy-source-version-id" type:"string"`

	// If present, indicates that the requester was successfully charged for the
	// request.
	RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string"`

	// If server-side encryption with a customer-provided encryption key was requested,
	// the response will include this header confirming the encryption algorithm
	// used.
	SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`

	// If server-side encryption with a customer-provided encryption key was requested,
	// the response will include this header to provide round trip message integrity
	// verification of the customer-provided encryption key.
	SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`

	// If present, specifies the ID of the AWS Key Management Service (KMS) master
	// encryption key that was used for the object.
	SSEKMSKeyID *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`

	// The Server-side encryption algorithm used when storing this object in S3
	// (e.g., AES256, aws:kms).
	ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type UploadPartInput

type UploadPartInput struct {
	Body io.ReadSeeker `type:"blob"`

	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`

	// Size of the body in bytes. This parameter is useful when the size of the
	// body cannot be determined automatically.
	ContentLength *int64 `location:"header" locationName:"Content-Length" type:"integer"`

	Key *string `location:"uri" locationName:"Key" type:"string" required:"true"`

	// Part number of part being uploaded.
	PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"`

	// Confirms that the requester knows that she or he will be charged for the
	// request. Bucket owners need not specify this parameter in their requests.
	// Documentation on downloading objects from requester pays buckets can be found
	// at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
	RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string"`

	// Specifies the algorithm to use to when encrypting the object (e.g., AES256,
	// aws:kms).
	SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`

	// Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
	// data. This value is used to store the object and then it is discarded; Amazon
	// does not store the encryption key. The key must be appropriate for use with
	// the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
	// header. This must be the same encryption key specified in the initiate multipart
	// upload request.
	SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`

	// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
	// Amazon S3 uses this header for a message integrity check to ensure the encryption
	// key was transmitted without error.
	SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`

	// Upload ID identifying the multipart upload whose part is being uploaded.
	UploadID *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`

	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`

	TrafficLimit *int64 `location:"header" locationName:"x-kss-traffic-limit" type:"string"`

	ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"`

	// Progress callback function
	ProgressFn aws.ProgressFunc `location:"function"`

	// Set extend request headers. If the existing fields do not support setting the request header you need, you can set it through this field.
	ExtendHeaders map[string]*string `location:"extendHeaders" type:"map"`

	// Set extend query params. If the existing fields do not support setting the query param you need, you can set it through this field.
	ExtendQueryParams map[string]*string `location:"extendQueryParams" type:"map"`
	// contains filtered or unexported fields
}

type UploadPartOutput

type UploadPartOutput struct {
	// Entity tag for the uploaded object.
	ETag *string `location:"header" locationName:"ETag" type:"string"`

	// CRC64 value of a single part.
	ChecksumCRC64ECMA *string `location:"header" locationName:"x-amz-checksum-crc64ecma" type:"string"`

	// If present, indicates that the requester was successfully charged for the
	// request.
	RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string"`

	// If server-side encryption with a customer-provided encryption key was requested,
	// the response will include this header confirming the encryption algorithm
	// used.
	SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`

	// If server-side encryption with a customer-provided encryption key was requested,
	// the response will include this header to provide round trip message integrity
	// verification of the customer-provided encryption key.
	SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`

	// If present, specifies the ID of the AWS Key Management Service (KMS) master
	// encryption key that was used for the object.
	SSEKMSKeyID *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string"`

	// The Server-side encryption algorithm used when storing this object in S3
	// (e.g., AES256, aws:kms).
	ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string"`

	Metadata map[string]*string `location:"headers"  type:"map"`

	StatusCode *int64 `location:"statusCode" type:"integer"`
	// contains filtered or unexported fields
}

type UploadPartTask added in v1.6.0

type UploadPartTask struct {
	// contains filtered or unexported fields
}

type Uploader added in v1.6.0

type Uploader struct {
	CompletedSize int64
	// contains filtered or unexported fields
}

type VPC added in v1.8.0

type VPC struct {
	// List of VPC IDs that are not allowed to access resources in this Region.
	IDs []string `locationName:"ID" type:"list" flattened:"true"`
}

type VersioningConfiguration

type VersioningConfiguration struct {
	// Specifies whether MFA delete is enabled in the bucket versioning configuration.
	// This element is only returned if the bucket has been configured with MFA
	// delete. If the bucket has never been so configured, this element is not returned.
	MFADelete *string `locationName:"MfaDelete" type:"string"`

	// The versioning state of the bucket.
	Status *string `type:"string"`
	// contains filtered or unexported fields
}

type VpcAccessBlockConfiguration added in v1.8.0

type VpcAccessBlockConfiguration struct {
	// Set up VPC to access the KS3 public Region rules container.
	Rules []*VpcAccessBlockRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
}

type VpcAccessBlockRule added in v1.8.0

type VpcAccessBlockRule struct {
	// The unique identifier of a Rule. The ID cannot be repeated in a rule.
	RuleID *string `locationName:"RuleID" type:"string" required:"true"`

	// Region to which the VPC belongs.
	Region *string `locationName:"Region" type:"string" required:"true"`

	// Set the VPC ID of the container.
	VPC *VPC `locationName:"VPC" type:"structure"`

	// Set the bucket's container.
	BucketAllowAccess *BucketAllowAccess `locationName:"BucketAllowAccess" type:"structure"`

	// Whether to enable this rule.
	Status *string `locationName:"Status" type:"string" required:"true"`

	// Creation time.
	CreationDate *time.Time `locationName:"CreationDate" type:"timestamp" timestampFormat:"iso8601"`
}

type WebsiteConfiguration

type WebsiteConfiguration struct {
	ErrorDocument *ErrorDocument `type:"structure"`

	IndexDocument *IndexDocument `type:"structure"`

	RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"`

	RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"`
	// contains filtered or unexported fields
}

Directories

Path Synopsis
Package s3iface provides an interface for the Amazon Simple Storage Service.
Package s3iface provides an interface for the Amazon Simple Storage Service.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL