aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/github.com/aws/aws-sdk-go/service/s3/api.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/aws/aws-sdk-go/service/s3/api.go')
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/s3/api.go590
1 files changed, 402 insertions, 188 deletions
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/api.go b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go
index 83a42d2..139c27d 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/s3/api.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go
@@ -545,6 +545,10 @@ func (c *S3) DeleteBucketAnalyticsConfigurationRequest(input *DeleteBucketAnalyt
545// Deletes an analytics configuration for the bucket (specified by the analytics 545// Deletes an analytics configuration for the bucket (specified by the analytics
546// configuration ID). 546// configuration ID).
547// 547//
548// To use this operation, you must have permissions to perform the s3:PutAnalyticsConfiguration
549// action. The bucket owner has this permission by default. The bucket owner
550// can grant this permission to others.
551//
548// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 552// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
549// with awserr.Error's Code and Message methods to get detailed information about 553// with awserr.Error's Code and Message methods to get detailed information about
550// the error. 554// the error.
@@ -1071,7 +1075,7 @@ func (c *S3) DeleteBucketReplicationRequest(input *DeleteBucketReplicationInput)
1071// DeleteBucketReplication API operation for Amazon Simple Storage Service. 1075// DeleteBucketReplication API operation for Amazon Simple Storage Service.
1072// 1076//
1073// Deletes the replication configuration from the bucket. For information about 1077// Deletes the replication configuration from the bucket. For information about
1074// replication configuration, see Cross-Region Replication (CRR) ( https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) 1078// replication configuration, see Cross-Region Replication (CRR) (https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html)
1075// in the Amazon S3 Developer Guide. 1079// in the Amazon S3 Developer Guide.
1076// 1080//
1077// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1081// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -3335,8 +3339,8 @@ func (c *S3) GetObjectLockConfigurationRequest(input *GetObjectLockConfiguration
3335 3339
3336// GetObjectLockConfiguration API operation for Amazon Simple Storage Service. 3340// GetObjectLockConfiguration API operation for Amazon Simple Storage Service.
3337// 3341//
3338// Gets the Object Lock configuration for a bucket. The rule specified in the 3342// Gets the object lock configuration for a bucket. The rule specified in the
3339// Object Lock configuration will be applied by default to every new object 3343// object lock configuration will be applied by default to every new object
3340// placed in the specified bucket. 3344// placed in the specified bucket.
3341// 3345//
3342// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3346// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -4210,7 +4214,7 @@ func (c *S3) ListMultipartUploadsWithContext(ctx aws.Context, input *ListMultipa
4210// // Example iterating over at most 3 pages of a ListMultipartUploads operation. 4214// // Example iterating over at most 3 pages of a ListMultipartUploads operation.
4211// pageNum := 0 4215// pageNum := 0
4212// err := client.ListMultipartUploadsPages(params, 4216// err := client.ListMultipartUploadsPages(params,
4213// func(page *ListMultipartUploadsOutput, lastPage bool) bool { 4217// func(page *s3.ListMultipartUploadsOutput, lastPage bool) bool {
4214// pageNum++ 4218// pageNum++
4215// fmt.Println(page) 4219// fmt.Println(page)
4216// return pageNum <= 3 4220// return pageNum <= 3
@@ -4340,7 +4344,7 @@ func (c *S3) ListObjectVersionsWithContext(ctx aws.Context, input *ListObjectVer
4340// // Example iterating over at most 3 pages of a ListObjectVersions operation. 4344// // Example iterating over at most 3 pages of a ListObjectVersions operation.
4341// pageNum := 0 4345// pageNum := 0
4342// err := client.ListObjectVersionsPages(params, 4346// err := client.ListObjectVersionsPages(params,
4343// func(page *ListObjectVersionsOutput, lastPage bool) bool { 4347// func(page *s3.ListObjectVersionsOutput, lastPage bool) bool {
4344// pageNum++ 4348// pageNum++
4345// fmt.Println(page) 4349// fmt.Println(page)
4346// return pageNum <= 3 4350// return pageNum <= 3
@@ -4477,7 +4481,7 @@ func (c *S3) ListObjectsWithContext(ctx aws.Context, input *ListObjectsInput, op
4477// // Example iterating over at most 3 pages of a ListObjects operation. 4481// // Example iterating over at most 3 pages of a ListObjects operation.
4478// pageNum := 0 4482// pageNum := 0
4479// err := client.ListObjectsPages(params, 4483// err := client.ListObjectsPages(params,
4480// func(page *ListObjectsOutput, lastPage bool) bool { 4484// func(page *s3.ListObjectsOutput, lastPage bool) bool {
4481// pageNum++ 4485// pageNum++
4482// fmt.Println(page) 4486// fmt.Println(page)
4483// return pageNum <= 3 4487// return pageNum <= 3
@@ -4615,7 +4619,7 @@ func (c *S3) ListObjectsV2WithContext(ctx aws.Context, input *ListObjectsV2Input
4615// // Example iterating over at most 3 pages of a ListObjectsV2 operation. 4619// // Example iterating over at most 3 pages of a ListObjectsV2 operation.
4616// pageNum := 0 4620// pageNum := 0
4617// err := client.ListObjectsV2Pages(params, 4621// err := client.ListObjectsV2Pages(params,
4618// func(page *ListObjectsV2Output, lastPage bool) bool { 4622// func(page *s3.ListObjectsV2Output, lastPage bool) bool {
4619// pageNum++ 4623// pageNum++
4620// fmt.Println(page) 4624// fmt.Println(page)
4621// return pageNum <= 3 4625// return pageNum <= 3
@@ -4745,7 +4749,7 @@ func (c *S3) ListPartsWithContext(ctx aws.Context, input *ListPartsInput, opts .
4745// // Example iterating over at most 3 pages of a ListParts operation. 4749// // Example iterating over at most 3 pages of a ListParts operation.
4746// pageNum := 0 4750// pageNum := 0
4747// err := client.ListPartsPages(params, 4751// err := client.ListPartsPages(params,
4748// func(page *ListPartsOutput, lastPage bool) bool { 4752// func(page *s3.ListPartsOutput, lastPage bool) bool {
4749// pageNum++ 4753// pageNum++
4750// fmt.Println(page) 4754// fmt.Println(page)
4751// return pageNum <= 3 4755// return pageNum <= 3
@@ -5754,8 +5758,7 @@ func (c *S3) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *request.R
5754 5758
5755// PutBucketPolicy API operation for Amazon Simple Storage Service. 5759// PutBucketPolicy API operation for Amazon Simple Storage Service.
5756// 5760//
5757// Replaces a policy on a bucket. If the bucket already has a policy, the one 5761// Applies an Amazon S3 bucket policy to an Amazon S3 bucket.
5758// in this request completely replaces it.
5759// 5762//
5760// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5763// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5761// with awserr.Error's Code and Message methods to get detailed information about 5764// with awserr.Error's Code and Message methods to get detailed information about
@@ -5831,7 +5834,7 @@ func (c *S3) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req
5831// PutBucketReplication API operation for Amazon Simple Storage Service. 5834// PutBucketReplication API operation for Amazon Simple Storage Service.
5832// 5835//
5833// Creates a replication configuration or replaces an existing one. For more 5836// Creates a replication configuration or replaces an existing one. For more
5834// information, see Cross-Region Replication (CRR) ( https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) 5837// information, see Cross-Region Replication (CRR) (https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html)
5835// in the Amazon S3 Developer Guide. 5838// in the Amazon S3 Developer Guide.
5836// 5839//
5837// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5840// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -6439,8 +6442,8 @@ func (c *S3) PutObjectLockConfigurationRequest(input *PutObjectLockConfiguration
6439 6442
6440// PutObjectLockConfiguration API operation for Amazon Simple Storage Service. 6443// PutObjectLockConfiguration API operation for Amazon Simple Storage Service.
6441// 6444//
6442// Places an Object Lock configuration on the specified bucket. The rule specified 6445// Places an object lock configuration on the specified bucket. The rule specified
6443// in the Object Lock configuration will be applied by default to every new 6446// in the object lock configuration will be applied by default to every new
6444// object placed in the specified bucket. 6447// object placed in the specified bucket.
6445// 6448//
6446// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -7010,13 +7013,16 @@ func (c *S3) UploadPartCopyWithContext(ctx aws.Context, input *UploadPartCopyInp
7010 return out, req.Send() 7013 return out, req.Send()
7011} 7014}
7012 7015
7013// Specifies the days since the initiation of an Incomplete Multipart Upload 7016// Specifies the days since the initiation of an incomplete multipart upload
7014// that Lifecycle will wait before permanently removing all parts of the upload. 7017// that Amazon S3 will wait before permanently removing all parts of the upload.
7018// For more information, see Aborting Incomplete Multipart Uploads Using a Bucket
7019// Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config)
7020// in the Amazon Simple Storage Service Developer Guide.
7015type AbortIncompleteMultipartUpload struct { 7021type AbortIncompleteMultipartUpload struct {
7016 _ struct{} `type:"structure"` 7022 _ struct{} `type:"structure"`
7017 7023
7018 // Indicates the number of days that must pass since initiation for Lifecycle 7024 // Specifies the number of days after which Amazon S3 aborts an incomplete multipart
7019 // to abort an Incomplete Multipart Upload. 7025 // upload.
7020 DaysAfterInitiation *int64 `type:"integer"` 7026 DaysAfterInitiation *int64 `type:"integer"`
7021} 7027}
7022 7028
@@ -7039,9 +7045,13 @@ func (s *AbortIncompleteMultipartUpload) SetDaysAfterInitiation(v int64) *AbortI
7039type AbortMultipartUploadInput struct { 7045type AbortMultipartUploadInput struct {
7040 _ struct{} `type:"structure"` 7046 _ struct{} `type:"structure"`
7041 7047
7048 // Name of the bucket to which the multipart upload was initiated.
7049 //
7042 // Bucket is a required field 7050 // Bucket is a required field
7043 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 7051 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
7044 7052
7053 // Key of the object for which the multipart upload was initiated.
7054 //
7045 // Key is a required field 7055 // Key is a required field
7046 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 7056 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
7047 7057
@@ -7051,6 +7061,8 @@ type AbortMultipartUploadInput struct {
7051 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 7061 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
7052 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 7062 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
7053 7063
7064 // Upload ID that identifies the multipart upload.
7065 //
7054 // UploadId is a required field 7066 // UploadId is a required field
7055 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"` 7067 UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"`
7056} 7068}
@@ -7145,10 +7157,13 @@ func (s *AbortMultipartUploadOutput) SetRequestCharged(v string) *AbortMultipart
7145 return s 7157 return s
7146} 7158}
7147 7159
7160// Configures the transfer acceleration state for an Amazon S3 bucket. For more
7161// information, see Amazon S3 Transfer Acceleration (https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html)
7162// in the Amazon Simple Storage Service Developer Guide.
7148type AccelerateConfiguration struct { 7163type AccelerateConfiguration struct {
7149 _ struct{} `type:"structure"` 7164 _ struct{} `type:"structure"`
7150 7165
7151 // The accelerate configuration of the bucket. 7166 // Specifies the transfer acceleration status of the bucket.
7152 Status *string `type:"string" enum:"BucketAccelerateStatus"` 7167 Status *string `type:"string" enum:"BucketAccelerateStatus"`
7153} 7168}
7154 7169
@@ -7168,12 +7183,14 @@ func (s *AccelerateConfiguration) SetStatus(v string) *AccelerateConfiguration {
7168 return s 7183 return s
7169} 7184}
7170 7185
7186// Contains the elements that set the ACL permissions for an object per grantee.
7171type AccessControlPolicy struct { 7187type AccessControlPolicy struct {
7172 _ struct{} `type:"structure"` 7188 _ struct{} `type:"structure"`
7173 7189
7174 // A list of grants. 7190 // A list of grants.
7175 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"` 7191 Grants []*Grant `locationName:"AccessControlList" locationNameList:"Grant" type:"list"`
7176 7192
7193 // Container for the bucket owner's display name and ID.
7177 Owner *Owner `type:"structure"` 7194 Owner *Owner `type:"structure"`
7178} 7195}
7179 7196
@@ -7223,7 +7240,9 @@ func (s *AccessControlPolicy) SetOwner(v *Owner) *AccessControlPolicy {
7223type AccessControlTranslation struct { 7240type AccessControlTranslation struct {
7224 _ struct{} `type:"structure"` 7241 _ struct{} `type:"structure"`
7225 7242
7226 // The override value for the owner of the replica object. 7243 // Specifies the replica ownership. For default and valid values, see PUT bucket
7244 // replication (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html)
7245 // in the Amazon Simple Storage Service API Reference.
7227 // 7246 //
7228 // Owner is a required field 7247 // Owner is a required field
7229 Owner *string `type:"string" required:"true" enum:"OwnerOverride"` 7248 Owner *string `type:"string" required:"true" enum:"OwnerOverride"`
@@ -7258,10 +7277,14 @@ func (s *AccessControlTranslation) SetOwner(v string) *AccessControlTranslation
7258 return s 7277 return s
7259} 7278}
7260 7279
7280// A conjunction (logical AND) of predicates, which is used in evaluating a
7281// metrics filter. The operator must have at least two predicates in any combination,
7282// and an object must match all of the predicates for the filter to apply.
7261type AnalyticsAndOperator struct { 7283type AnalyticsAndOperator struct {
7262 _ struct{} `type:"structure"` 7284 _ struct{} `type:"structure"`
7263 7285
7264 // The prefix to use when evaluating an AND predicate. 7286 // The prefix to use when evaluating an AND predicate: The prefix that an object
7287 // must have to be included in the metrics results.
7265 Prefix *string `type:"string"` 7288 Prefix *string `type:"string"`
7266 7289
7267 // The list of tags to use when evaluating an AND predicate. 7290 // The list of tags to use when evaluating an AND predicate.
@@ -7310,6 +7333,11 @@ func (s *AnalyticsAndOperator) SetTags(v []*Tag) *AnalyticsAndOperator {
7310 return s 7333 return s
7311} 7334}
7312 7335
7336// Specifies the configuration and any analyses for the analytics filter of
7337// an Amazon S3 bucket.
7338//
7339// For more information, see GET Bucket analytics (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETAnalyticsConfig.html)
7340// in the Amazon Simple Storage Service API Reference.
7313type AnalyticsConfiguration struct { 7341type AnalyticsConfiguration struct {
7314 _ struct{} `type:"structure"` 7342 _ struct{} `type:"structure"`
7315 7343
@@ -7318,13 +7346,13 @@ type AnalyticsConfiguration struct {
7318 // If no filter is provided, all objects will be considered in any analysis. 7346 // If no filter is provided, all objects will be considered in any analysis.
7319 Filter *AnalyticsFilter `type:"structure"` 7347 Filter *AnalyticsFilter `type:"structure"`
7320 7348
7321 // The identifier used to represent an analytics configuration. 7349 // The ID that identifies the analytics configuration.
7322 // 7350 //
7323 // Id is a required field 7351 // Id is a required field
7324 Id *string `type:"string" required:"true"` 7352 Id *string `type:"string" required:"true"`
7325 7353
7326 // If present, it indicates that data related to access patterns will be collected 7354 // Contains data related to access patterns to be collected and made available
7327 // and made available to analyze the tradeoffs between different storage classes. 7355 // to analyze the tradeoffs between different storage classes.
7328 // 7356 //
7329 // StorageClassAnalysis is a required field 7357 // StorageClassAnalysis is a required field
7330 StorageClassAnalysis *StorageClassAnalysis `type:"structure" required:"true"` 7358 StorageClassAnalysis *StorageClassAnalysis `type:"structure" required:"true"`
@@ -7384,6 +7412,7 @@ func (s *AnalyticsConfiguration) SetStorageClassAnalysis(v *StorageClassAnalysis
7384 return s 7412 return s
7385} 7413}
7386 7414
7415// Where to publish the analytics results.
7387type AnalyticsExportDestination struct { 7416type AnalyticsExportDestination struct {
7388 _ struct{} `type:"structure"` 7417 _ struct{} `type:"structure"`
7389 7418
@@ -7492,7 +7521,7 @@ func (s *AnalyticsFilter) SetTag(v *Tag) *AnalyticsFilter {
7492type AnalyticsS3BucketDestination struct { 7521type AnalyticsS3BucketDestination struct {
7493 _ struct{} `type:"structure"` 7522 _ struct{} `type:"structure"`
7494 7523
7495 // The Amazon resource name (ARN) of the bucket to which data is exported. 7524 // The Amazon Resource Name (ARN) of the bucket to which data is exported.
7496 // 7525 //
7497 // Bucket is a required field 7526 // Bucket is a required field
7498 Bucket *string `type:"string" required:"true"` 7527 Bucket *string `type:"string" required:"true"`
@@ -7501,13 +7530,12 @@ type AnalyticsS3BucketDestination struct {
7501 // the owner will not be validated prior to exporting data. 7530 // the owner will not be validated prior to exporting data.
7502 BucketAccountId *string `type:"string"` 7531 BucketAccountId *string `type:"string"`
7503 7532
7504 // The file format used when exporting data to Amazon S3. 7533 // Specifies the file format used when exporting data to Amazon S3.
7505 // 7534 //
7506 // Format is a required field 7535 // Format is a required field
7507 Format *string `type:"string" required:"true" enum:"AnalyticsS3ExportFileFormat"` 7536 Format *string `type:"string" required:"true" enum:"AnalyticsS3ExportFileFormat"`
7508 7537
7509 // The prefix to use when exporting data. The exported data begins with this 7538 // The prefix to use when exporting data. The prefix is prepended to all results.
7510 // prefix.
7511 Prefix *string `type:"string"` 7539 Prefix *string `type:"string"`
7512} 7540}
7513 7541
@@ -7600,9 +7628,14 @@ func (s *Bucket) SetName(v string) *Bucket {
7600 return s 7628 return s
7601} 7629}
7602 7630
7631// Specifies the lifecycle configuration for objects in an Amazon S3 bucket.
7632// For more information, see Object Lifecycle Management (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html)
7633// in the Amazon Simple Storage Service Developer Guide.
7603type BucketLifecycleConfiguration struct { 7634type BucketLifecycleConfiguration struct {
7604 _ struct{} `type:"structure"` 7635 _ struct{} `type:"structure"`
7605 7636
7637 // A lifecycle rule for individual objects in an Amazon S3 bucket.
7638 //
7606 // Rules is a required field 7639 // Rules is a required field
7607 Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true" required:"true"` 7640 Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
7608} 7641}
@@ -7649,9 +7682,10 @@ func (s *BucketLifecycleConfiguration) SetRules(v []*LifecycleRule) *BucketLifec
7649type BucketLoggingStatus struct { 7682type BucketLoggingStatus struct {
7650 _ struct{} `type:"structure"` 7683 _ struct{} `type:"structure"`
7651 7684
7652 // Container for logging information. Presence of this element indicates that 7685 // Describes where logs are stored and the prefix that Amazon S3 assigns to
7653 // logging is enabled. Parameters TargetBucket and TargetPrefix are required 7686 // all log object keys for a bucket. For more information, see PUT Bucket logging
7654 // in this case. 7687 // (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html)
7688 // in the Amazon Simple Storage Service API Reference.
7655 LoggingEnabled *LoggingEnabled `type:"structure"` 7689 LoggingEnabled *LoggingEnabled `type:"structure"`
7656} 7690}
7657 7691
@@ -7686,9 +7720,15 @@ func (s *BucketLoggingStatus) SetLoggingEnabled(v *LoggingEnabled) *BucketLoggin
7686 return s 7720 return s
7687} 7721}
7688 7722
7723// Describes the cross-origin access configuration for objects in an Amazon
7724// S3 bucket. For more information, see Enabling Cross-Origin Resource Sharing
7725// (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the Amazon
7726// Simple Storage Service Developer Guide.
7689type CORSConfiguration struct { 7727type CORSConfiguration struct {
7690 _ struct{} `type:"structure"` 7728 _ struct{} `type:"structure"`
7691 7729
7730 // A set of allowed origins and methods.
7731 //
7692 // CORSRules is a required field 7732 // CORSRules is a required field
7693 CORSRules []*CORSRule `locationName:"CORSRule" type:"list" flattened:"true" required:"true"` 7733 CORSRules []*CORSRule `locationName:"CORSRule" type:"list" flattened:"true" required:"true"`
7694} 7734}
@@ -7732,14 +7772,18 @@ func (s *CORSConfiguration) SetCORSRules(v []*CORSRule) *CORSConfiguration {
7732 return s 7772 return s
7733} 7773}
7734 7774
7775// Specifies a cross-origin access rule for an Amazon S3 bucket.
7735type CORSRule struct { 7776type CORSRule struct {
7736 _ struct{} `type:"structure"` 7777 _ struct{} `type:"structure"`
7737 7778
7738 // Specifies which headers are allowed in a pre-flight OPTIONS request. 7779 // Headers that are specified in the Access-Control-Request-Headers header.
7780 // These headers are allowed in a preflight OPTIONS request. In response to
7781 // any preflight OPTIONS request, Amazon S3 returns any requested headers that
7782 // are allowed.
7739 AllowedHeaders []*string `locationName:"AllowedHeader" type:"list" flattened:"true"` 7783 AllowedHeaders []*string `locationName:"AllowedHeader" type:"list" flattened:"true"`
7740 7784
7741 // Identifies HTTP methods that the domain/origin specified in the rule is allowed 7785 // An HTTP method that you allow the origin to execute. Valid values are GET,
7742 // to execute. 7786 // PUT, HEAD, POST, and DELETE.
7743 // 7787 //
7744 // AllowedMethods is a required field 7788 // AllowedMethods is a required field
7745 AllowedMethods []*string `locationName:"AllowedMethod" type:"list" flattened:"true" required:"true"` 7789 AllowedMethods []*string `locationName:"AllowedMethod" type:"list" flattened:"true" required:"true"`
@@ -8290,6 +8334,7 @@ func (s *CompletedPart) SetPartNumber(v int64) *CompletedPart {
8290 return s 8334 return s
8291} 8335}
8292 8336
8337// Specifies a condition that must be met for a redirect to apply.
8293type Condition struct { 8338type Condition struct {
8294 _ struct{} `type:"structure"` 8339 _ struct{} `type:"structure"`
8295 8340
@@ -8409,7 +8454,7 @@ type CopyObjectInput struct {
8409 // Specifies the customer-provided encryption key for Amazon S3 to use to decrypt 8454 // Specifies the customer-provided encryption key for Amazon S3 to use to decrypt
8410 // the source object. The encryption key provided in this header must be one 8455 // the source object. The encryption key provided in this header must be one
8411 // that was used when the source object was created. 8456 // that was used when the source object was created.
8412 CopySourceSSECustomerKey *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string" sensitive:"true"` 8457 CopySourceSSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string" sensitive:"true"`
8413 8458
8414 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 8459 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
8415 // Amazon S3 uses this header for a message integrity check to ensure the encryption 8460 // Amazon S3 uses this header for a message integrity check to ensure the encryption
@@ -8444,10 +8489,10 @@ type CopyObjectInput struct {
8444 // Specifies whether you want to apply a Legal Hold to the copied object. 8489 // Specifies whether you want to apply a Legal Hold to the copied object.
8445 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"` 8490 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
8446 8491
8447 // The Object Lock mode that you want to apply to the copied object. 8492 // The object lock mode that you want to apply to the copied object.
8448 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"` 8493 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
8449 8494
8450 // The date and time when you want the copied object's Object Lock to expire. 8495 // The date and time when you want the copied object's object lock to expire.
8451 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"` 8496 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
8452 8497
8453 // Confirms that the requester knows that she or he will be charged for the 8498 // Confirms that the requester knows that she or he will be charged for the
@@ -8464,13 +8509,18 @@ type CopyObjectInput struct {
8464 // does not store the encryption key. The key must be appropriate for use with 8509 // does not store the encryption key. The key must be appropriate for use with
8465 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm 8510 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
8466 // header. 8511 // header.
8467 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` 8512 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
8468 8513
8469 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 8514 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
8470 // Amazon S3 uses this header for a message integrity check to ensure the encryption 8515 // Amazon S3 uses this header for a message integrity check to ensure the encryption
8471 // key was transmitted without error. 8516 // key was transmitted without error.
8472 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 8517 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
8473 8518
8519 // Specifies the AWS KMS Encryption Context to use for object encryption. The
8520 // value of this header is a base64-encoded UTF-8 string holding JSON with the
8521 // encryption context key-value pairs.
8522 SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"`
8523
8474 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT 8524 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
8475 // requests for an object protected by AWS KMS will fail if not made via SSL 8525 // requests for an object protected by AWS KMS will fail if not made via SSL
8476 // or using SigV4. Documentation on configuring any of the officially supported 8526 // or using SigV4. Documentation on configuring any of the officially supported
@@ -8735,6 +8785,12 @@ func (s *CopyObjectInput) SetSSECustomerKeyMD5(v string) *CopyObjectInput {
8735 return s 8785 return s
8736} 8786}
8737 8787
8788// SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value.
8789func (s *CopyObjectInput) SetSSEKMSEncryptionContext(v string) *CopyObjectInput {
8790 s.SSEKMSEncryptionContext = &v
8791 return s
8792}
8793
8738// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 8794// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
8739func (s *CopyObjectInput) SetSSEKMSKeyId(v string) *CopyObjectInput { 8795func (s *CopyObjectInput) SetSSEKMSKeyId(v string) *CopyObjectInput {
8740 s.SSEKMSKeyId = &v 8796 s.SSEKMSKeyId = &v
@@ -8795,6 +8851,11 @@ type CopyObjectOutput struct {
8795 // verification of the customer-provided encryption key. 8851 // verification of the customer-provided encryption key.
8796 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 8852 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
8797 8853
8854 // If present, specifies the AWS KMS Encryption Context to use for object encryption.
8855 // The value of this header is a base64-encoded UTF-8 string holding JSON with
8856 // the encryption context key-value pairs.
8857 SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"`
8858
8798 // If present, specifies the ID of the AWS Key Management Service (KMS) master 8859 // If present, specifies the ID of the AWS Key Management Service (KMS) master
8799 // encryption key that was used for the object. 8860 // encryption key that was used for the object.
8800 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"` 8861 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
@@ -8853,6 +8914,12 @@ func (s *CopyObjectOutput) SetSSECustomerKeyMD5(v string) *CopyObjectOutput {
8853 return s 8914 return s
8854} 8915}
8855 8916
8917// SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value.
8918func (s *CopyObjectOutput) SetSSEKMSEncryptionContext(v string) *CopyObjectOutput {
8919 s.SSEKMSEncryptionContext = &v
8920 return s
8921}
8922
8856// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 8923// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
8857func (s *CopyObjectOutput) SetSSEKMSKeyId(v string) *CopyObjectOutput { 8924func (s *CopyObjectOutput) SetSSEKMSKeyId(v string) *CopyObjectOutput {
8858 s.SSEKMSKeyId = &v 8925 s.SSEKMSKeyId = &v
@@ -8984,7 +9051,8 @@ type CreateBucketInput struct {
8984 // Allows grantee to write the ACL for the applicable bucket. 9051 // Allows grantee to write the ACL for the applicable bucket.
8985 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` 9052 GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
8986 9053
8987 // Specifies whether you want S3 Object Lock to be enabled for the new bucket. 9054 // Specifies whether you want Amazon S3 object lock to be enabled for the new
9055 // bucket.
8988 ObjectLockEnabledForBucket *bool `location:"header" locationName:"x-amz-bucket-object-lock-enabled" type:"boolean"` 9056 ObjectLockEnabledForBucket *bool `location:"header" locationName:"x-amz-bucket-object-lock-enabled" type:"boolean"`
8989} 9057}
8990 9058
@@ -9147,10 +9215,10 @@ type CreateMultipartUploadInput struct {
9147 // Specifies whether you want to apply a Legal Hold to the uploaded object. 9215 // Specifies whether you want to apply a Legal Hold to the uploaded object.
9148 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"` 9216 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
9149 9217
9150 // Specifies the Object Lock mode that you want to apply to the uploaded object. 9218 // Specifies the object lock mode that you want to apply to the uploaded object.
9151 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"` 9219 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
9152 9220
9153 // Specifies the date and time when you want the Object Lock to expire. 9221 // Specifies the date and time when you want the object lock to expire.
9154 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"` 9222 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
9155 9223
9156 // Confirms that the requester knows that she or he will be charged for the 9224 // Confirms that the requester knows that she or he will be charged for the
@@ -9167,13 +9235,18 @@ type CreateMultipartUploadInput struct {
9167 // does not store the encryption key. The key must be appropriate for use with 9235 // does not store the encryption key. The key must be appropriate for use with
9168 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm 9236 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
9169 // header. 9237 // header.
9170 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` 9238 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
9171 9239
9172 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 9240 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
9173 // Amazon S3 uses this header for a message integrity check to ensure the encryption 9241 // Amazon S3 uses this header for a message integrity check to ensure the encryption
9174 // key was transmitted without error. 9242 // key was transmitted without error.
9175 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 9243 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
9176 9244
9245 // Specifies the AWS KMS Encryption Context to use for object encryption. The
9246 // value of this header is a base64-encoded UTF-8 string holding JSON with the
9247 // encryption context key-value pairs.
9248 SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"`
9249
9177 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT 9250 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
9178 // requests for an object protected by AWS KMS will fail if not made via SSL 9251 // requests for an object protected by AWS KMS will fail if not made via SSL
9179 // or using SigV4. Documentation on configuring any of the officially supported 9252 // or using SigV4. Documentation on configuring any of the officially supported
@@ -9368,6 +9441,12 @@ func (s *CreateMultipartUploadInput) SetSSECustomerKeyMD5(v string) *CreateMulti
9368 return s 9441 return s
9369} 9442}
9370 9443
9444// SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value.
9445func (s *CreateMultipartUploadInput) SetSSEKMSEncryptionContext(v string) *CreateMultipartUploadInput {
9446 s.SSEKMSEncryptionContext = &v
9447 return s
9448}
9449
9371// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 9450// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
9372func (s *CreateMultipartUploadInput) SetSSEKMSKeyId(v string) *CreateMultipartUploadInput { 9451func (s *CreateMultipartUploadInput) SetSSEKMSKeyId(v string) *CreateMultipartUploadInput {
9373 s.SSEKMSKeyId = &v 9452 s.SSEKMSKeyId = &v
@@ -9428,6 +9507,11 @@ type CreateMultipartUploadOutput struct {
9428 // verification of the customer-provided encryption key. 9507 // verification of the customer-provided encryption key.
9429 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 9508 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
9430 9509
9510 // If present, specifies the AWS KMS Encryption Context to use for object encryption.
9511 // The value of this header is a base64-encoded UTF-8 string holding JSON with
9512 // the encryption context key-value pairs.
9513 SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"`
9514
9431 // If present, specifies the ID of the AWS Key Management Service (KMS) master 9515 // If present, specifies the ID of the AWS Key Management Service (KMS) master
9432 // encryption key that was used for the object. 9516 // encryption key that was used for the object.
9433 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"` 9517 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
@@ -9499,6 +9583,12 @@ func (s *CreateMultipartUploadOutput) SetSSECustomerKeyMD5(v string) *CreateMult
9499 return s 9583 return s
9500} 9584}
9501 9585
9586// SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value.
9587func (s *CreateMultipartUploadOutput) SetSSEKMSEncryptionContext(v string) *CreateMultipartUploadOutput {
9588 s.SSEKMSEncryptionContext = &v
9589 return s
9590}
9591
9502// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 9592// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
9503func (s *CreateMultipartUploadOutput) SetSSEKMSKeyId(v string) *CreateMultipartUploadOutput { 9593func (s *CreateMultipartUploadOutput) SetSSEKMSKeyId(v string) *CreateMultipartUploadOutput {
9504 s.SSEKMSKeyId = &v 9594 s.SSEKMSKeyId = &v
@@ -9517,7 +9607,7 @@ func (s *CreateMultipartUploadOutput) SetUploadId(v string) *CreateMultipartUplo
9517 return s 9607 return s
9518} 9608}
9519 9609
9520// The container element for specifying the default Object Lock retention settings 9610// The container element for specifying the default object lock retention settings
9521// for new objects placed in the specified bucket. 9611// for new objects placed in the specified bucket.
9522type DefaultRetention struct { 9612type DefaultRetention struct {
9523 _ struct{} `type:"structure"` 9613 _ struct{} `type:"structure"`
@@ -9525,7 +9615,7 @@ type DefaultRetention struct {
9525 // The number of days that you want to specify for the default retention period. 9615 // The number of days that you want to specify for the default retention period.
9526 Days *int64 `type:"integer"` 9616 Days *int64 `type:"integer"`
9527 9617
9528 // The default Object Lock retention mode you want to apply to new objects placed 9618 // The default object lock retention mode you want to apply to new objects placed
9529 // in the specified bucket. 9619 // in the specified bucket.
9530 Mode *string `type:"string" enum:"ObjectLockRetentionMode"` 9620 Mode *string `type:"string" enum:"ObjectLockRetentionMode"`
9531 9621
@@ -9625,7 +9715,7 @@ type DeleteBucketAnalyticsConfigurationInput struct {
9625 // Bucket is a required field 9715 // Bucket is a required field
9626 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 9716 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9627 9717
9628 // The identifier used to represent an analytics configuration. 9718 // The ID that identifies the analytics configuration.
9629 // 9719 //
9630 // Id is a required field 9720 // Id is a required field
9631 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"` 9721 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
@@ -10425,7 +10515,7 @@ type DeleteObjectInput struct {
10425 // Bucket is a required field 10515 // Bucket is a required field
10426 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 10516 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10427 10517
10428 // Indicates whether S3 Object Lock should bypass Governance-mode restrictions 10518 // Indicates whether Amazon S3 object lock should bypass governance-mode restrictions
10429 // to process this operation. 10519 // to process this operation.
10430 BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"` 10520 BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"`
10431 10521
@@ -10665,7 +10755,7 @@ type DeleteObjectsInput struct {
10665 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 10755 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10666 10756
10667 // Specifies whether you want to delete this object even if it has a Governance-type 10757 // Specifies whether you want to delete this object even if it has a Governance-type
10668 // Object Lock in place. You must have sufficient permissions to perform this 10758 // object lock in place. You must have sufficient permissions to perform this
10669 // operation. 10759 // operation.
10670 BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"` 10760 BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"`
10671 10761
@@ -10902,33 +10992,33 @@ func (s *DeletedObject) SetVersionId(v string) *DeletedObject {
10902 return s 10992 return s
10903} 10993}
10904 10994
10905// A container for information about the replication destination. 10995// Specifies information about where to publish analysis or configuration results
10996// for an Amazon S3 bucket.
10906type Destination struct { 10997type Destination struct {
10907 _ struct{} `type:"structure"` 10998 _ struct{} `type:"structure"`
10908 10999
10909 // A container for information about access control for replicas. 11000 // Specify this only in a cross-account scenario (where source and destination
10910 // 11001 // bucket owners are not the same), and you want to change replica ownership
10911 // Use this element only in a cross-account scenario where source and destination 11002 // to the AWS account that owns the destination bucket. If this is not specified
10912 // bucket owners are not the same to change replica ownership to the AWS account 11003 // in the replication configuration, the replicas are owned by same AWS account
10913 // that owns the destination bucket. If you don't add this element to the replication 11004 // that owns the source object.
10914 // configuration, the replicas are owned by same AWS account that owns the source
10915 // object.
10916 AccessControlTranslation *AccessControlTranslation `type:"structure"` 11005 AccessControlTranslation *AccessControlTranslation `type:"structure"`
10917 11006
10918 // The account ID of the destination bucket. Currently, Amazon S3 verifies this 11007 // Destination bucket owner account ID. In a cross-account scenario, if you
10919 // value only if Access Control Translation is enabled. 11008 // direct Amazon S3 to change replica ownership to the AWS account that owns
10920 // 11009 // the destination bucket by specifying the AccessControlTranslation property,
10921 // In a cross-account scenario, if you change replica ownership to the AWS account 11010 // this is the account ID of the destination bucket owner. For more information,
10922 // that owns the destination bucket by adding the AccessControlTranslation element, 11011 // see Cross-Region Replication Additional Configuration: Change Replica Owner
10923 // this is the account ID of the owner of the destination bucket. 11012 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-change-owner.html) in
11013 // the Amazon Simple Storage Service Developer Guide.
10924 Account *string `type:"string"` 11014 Account *string `type:"string"`
10925 11015
10926 // The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to 11016 // The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to
10927 // store replicas of the object identified by the rule. 11017 // store replicas of the object identified by the rule.
10928 // 11018 //
10929 // If there are multiple rules in your replication configuration, all rules 11019 // A replication configuration can replicate objects to only one destination
10930 // must specify the same bucket as the destination. A replication configuration 11020 // bucket. If there are multiple rules in your replication configuration, all
10931 // can replicate objects to only one destination bucket. 11021 // rules must specify the same destination bucket.
10932 // 11022 //
10933 // Bucket is a required field 11023 // Bucket is a required field
10934 Bucket *string `type:"string" required:"true"` 11024 Bucket *string `type:"string" required:"true"`
@@ -10937,8 +11027,13 @@ type Destination struct {
10937 // is specified, you must specify this element. 11027 // is specified, you must specify this element.
10938 EncryptionConfiguration *EncryptionConfiguration `type:"structure"` 11028 EncryptionConfiguration *EncryptionConfiguration `type:"structure"`
10939 11029
10940 // The class of storage used to store the object. By default Amazon S3 uses 11030 // The storage class to use when replicating objects, such as standard or reduced
10941 // storage class of the source object when creating a replica. 11031 // redundancy. By default, Amazon S3 uses the storage class of the source object
11032 // to create the object replica.
11033 //
11034 // For valid values, see the StorageClass element of the PUT Bucket replication
11035 // (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html)
11036 // action in the Amazon Simple Storage Service API Reference.
10942 StorageClass *string `type:"string" enum:"StorageClass"` 11037 StorageClass *string `type:"string" enum:"StorageClass"`
10943} 11038}
10944 11039
@@ -11068,13 +11163,13 @@ func (s *Encryption) SetKMSKeyId(v string) *Encryption {
11068 return s 11163 return s
11069} 11164}
11070 11165
11071// A container for information about the encryption-based configuration for 11166// Specifies encryption-related information for an Amazon S3 bucket that is
11072// replicas. 11167// a destination for replicated objects.
11073type EncryptionConfiguration struct { 11168type EncryptionConfiguration struct {
11074 _ struct{} `type:"structure"` 11169 _ struct{} `type:"structure"`
11075 11170
11076 // The ID of the AWS KMS key for the AWS Region where the destination bucket 11171 // Specifies the AWS KMS Key ID (Key ARN or Alias ARN) for the destination bucket.
11077 // resides. Amazon S3 uses this key to encrypt the replica object. 11172 // Amazon S3 uses this key to encrypt replica objects.
11078 ReplicaKmsKeyID *string `type:"string"` 11173 ReplicaKmsKeyID *string `type:"string"`
11079} 11174}
11080 11175
@@ -11207,18 +11302,19 @@ func (s *ErrorDocument) SetKey(v string) *ErrorDocument {
11207 return s 11302 return s
11208} 11303}
11209 11304
11210// A container for a key value pair that defines the criteria for the filter 11305// Specifies the Amazon S3 object key name to filter on and whether to filter
11211// rule. 11306// on the suffix or prefix of the key name.
11212type FilterRule struct { 11307type FilterRule struct {
11213 _ struct{} `type:"structure"` 11308 _ struct{} `type:"structure"`
11214 11309
11215 // The object key name prefix or suffix identifying one or more objects to which 11310 // The object key name prefix or suffix identifying one or more objects to which
11216 // the filtering rule applies. The maximum prefix length is 1,024 characters. 11311 // the filtering rule applies. The maximum length is 1,024 characters. Overlapping
11217 // Overlapping prefixes and suffixes are not supported. For more information, 11312 // prefixes and suffixes are not supported. For more information, see Configuring
11218 // see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) 11313 // Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
11219 // in the Amazon Simple Storage Service Developer Guide. 11314 // in the Amazon Simple Storage Service Developer Guide.
11220 Name *string `type:"string" enum:"FilterRuleName"` 11315 Name *string `type:"string" enum:"FilterRuleName"`
11221 11316
11317 // The value that the filter searches for in object key names.
11222 Value *string `type:"string"` 11318 Value *string `type:"string"`
11223} 11319}
11224 11320
@@ -11400,7 +11496,7 @@ type GetBucketAnalyticsConfigurationInput struct {
11400 // Bucket is a required field 11496 // Bucket is a required field
11401 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 11497 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
11402 11498
11403 // The identifier used to represent an analytics configuration. 11499 // The ID that identifies the analytics configuration.
11404 // 11500 //
11405 // Id is a required field 11501 // Id is a required field
11406 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"` 11502 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
@@ -11597,8 +11693,7 @@ func (s *GetBucketEncryptionInput) getBucket() (v string) {
11597type GetBucketEncryptionOutput struct { 11693type GetBucketEncryptionOutput struct {
11598 _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"` 11694 _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"`
11599 11695
11600 // Container for server-side encryption configuration rules. Currently S3 supports 11696 // Specifies the default server-side-encryption configuration.
11601 // one rule only.
11602 ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `type:"structure"` 11697 ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `type:"structure"`
11603} 11698}
11604 11699
@@ -11956,9 +12051,10 @@ func (s *GetBucketLoggingInput) getBucket() (v string) {
11956type GetBucketLoggingOutput struct { 12051type GetBucketLoggingOutput struct {
11957 _ struct{} `type:"structure"` 12052 _ struct{} `type:"structure"`
11958 12053
11959 // Container for logging information. Presence of this element indicates that 12054 // Describes where logs are stored and the prefix that Amazon S3 assigns to
11960 // logging is enabled. Parameters TargetBucket and TargetPrefix are required 12055 // all log object keys for a bucket. For more information, see PUT Bucket logging
11961 // in this case. 12056 // (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html)
12057 // in the Amazon Simple Storage Service API Reference.
11962 LoggingEnabled *LoggingEnabled `type:"structure"` 12058 LoggingEnabled *LoggingEnabled `type:"structure"`
11963} 12059}
11964 12060
@@ -12592,6 +12688,8 @@ type GetBucketWebsiteOutput struct {
12592 12688
12593 IndexDocument *IndexDocument `type:"structure"` 12689 IndexDocument *IndexDocument `type:"structure"`
12594 12690
12691 // Specifies the redirect behavior of all requests to a website endpoint of
12692 // an Amazon S3 bucket.
12595 RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"` 12693 RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"`
12596 12694
12597 RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"` 12695 RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"`
@@ -12820,7 +12918,7 @@ type GetObjectInput struct {
12820 // does not store the encryption key. The key must be appropriate for use with 12918 // does not store the encryption key. The key must be appropriate for use with
12821 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm 12919 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
12822 // header. 12920 // header.
12823 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` 12921 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
12824 12922
12825 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 12923 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
12826 // Amazon S3 uses this header for a message integrity check to ensure the encryption 12924 // Amazon S3 uses this header for a message integrity check to ensure the encryption
@@ -13103,7 +13201,7 @@ func (s *GetObjectLegalHoldOutput) SetLegalHold(v *ObjectLockLegalHold) *GetObje
13103type GetObjectLockConfigurationInput struct { 13201type GetObjectLockConfigurationInput struct {
13104 _ struct{} `type:"structure"` 13202 _ struct{} `type:"structure"`
13105 13203
13106 // The bucket whose Object Lock configuration you want to retrieve. 13204 // The bucket whose object lock configuration you want to retrieve.
13107 // 13205 //
13108 // Bucket is a required field 13206 // Bucket is a required field
13109 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 13207 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -13151,7 +13249,7 @@ func (s *GetObjectLockConfigurationInput) getBucket() (v string) {
13151type GetObjectLockConfigurationOutput struct { 13249type GetObjectLockConfigurationOutput struct {
13152 _ struct{} `type:"structure" payload:"ObjectLockConfiguration"` 13250 _ struct{} `type:"structure" payload:"ObjectLockConfiguration"`
13153 13251
13154 // The specified bucket's Object Lock configuration. 13252 // The specified bucket's object lock configuration.
13155 ObjectLockConfiguration *ObjectLockConfiguration `type:"structure"` 13253 ObjectLockConfiguration *ObjectLockConfiguration `type:"structure"`
13156} 13254}
13157 13255
@@ -13235,10 +13333,10 @@ type GetObjectOutput struct {
13235 // returned if you have permission to view an object's legal hold status. 13333 // returned if you have permission to view an object's legal hold status.
13236 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"` 13334 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
13237 13335
13238 // The Object Lock mode currently in place for this object. 13336 // The object lock mode currently in place for this object.
13239 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"` 13337 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
13240 13338
13241 // The date and time when this object's Object Lock will expire. 13339 // The date and time when this object's object lock will expire.
13242 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"` 13340 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
13243 13341
13244 // The count of parts this object has. 13342 // The count of parts this object has.
@@ -14136,7 +14234,7 @@ type HeadObjectInput struct {
14136 // does not store the encryption key. The key must be appropriate for use with 14234 // does not store the encryption key. The key must be appropriate for use with
14137 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm 14235 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
14138 // header. 14236 // header.
14139 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` 14237 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
14140 14238
14141 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 14239 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
14142 // Amazon S3 uses this header for a message integrity check to ensure the encryption 14240 // Amazon S3 uses this header for a message integrity check to ensure the encryption
@@ -14328,10 +14426,10 @@ type HeadObjectOutput struct {
14328 // The Legal Hold status for the specified object. 14426 // The Legal Hold status for the specified object.
14329 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"` 14427 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
14330 14428
14331 // The Object Lock mode currently in place for this object. 14429 // The object lock mode currently in place for this object.
14332 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"` 14430 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
14333 14431
14334 // The date and time when this object's Object Lock will expire. 14432 // The date and time when this object's object lock expires.
14335 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"` 14433 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
14336 14434
14337 // The count of parts this object has. 14435 // The count of parts this object has.
@@ -14680,6 +14778,9 @@ func (s *InputSerialization) SetParquet(v *ParquetInput) *InputSerialization {
14680 return s 14778 return s
14681} 14779}
14682 14780
14781// Specifies the inventory configuration for an Amazon S3 bucket. For more information,
14782// see GET Bucket inventory (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html)
14783// in the Amazon Simple Storage Service API Reference.
14683type InventoryConfiguration struct { 14784type InventoryConfiguration struct {
14684 _ struct{} `type:"structure"` 14785 _ struct{} `type:"structure"`
14685 14786
@@ -14697,12 +14798,16 @@ type InventoryConfiguration struct {
14697 // Id is a required field 14798 // Id is a required field
14698 Id *string `type:"string" required:"true"` 14799 Id *string `type:"string" required:"true"`
14699 14800
14700 // Specifies which object version(s) to included in the inventory results. 14801 // Object versions to include in the inventory list. If set to All, the list
14802 // includes all the object versions, which adds the version-related fields VersionId,
14803 // IsLatest, and DeleteMarker to the list. If set to Current, the list does
14804 // not contain these version-related fields.
14701 // 14805 //
14702 // IncludedObjectVersions is a required field 14806 // IncludedObjectVersions is a required field
14703 IncludedObjectVersions *string `type:"string" required:"true" enum:"InventoryIncludedObjectVersions"` 14807 IncludedObjectVersions *string `type:"string" required:"true" enum:"InventoryIncludedObjectVersions"`
14704 14808
14705 // Specifies whether the inventory is enabled or disabled. 14809 // Specifies whether the inventory is enabled or disabled. If set to True, an
14810 // inventory list is generated. If set to False, no inventory list is generated.
14706 // 14811 //
14707 // IsEnabled is a required field 14812 // IsEnabled is a required field
14708 IsEnabled *bool `type:"boolean" required:"true"` 14813 IsEnabled *bool `type:"boolean" required:"true"`
@@ -15145,11 +15250,15 @@ func (s *KeyFilter) SetFilterRules(v []*FilterRule) *KeyFilter {
15145type LambdaFunctionConfiguration struct { 15250type LambdaFunctionConfiguration struct {
15146 _ struct{} `type:"structure"` 15251 _ struct{} `type:"structure"`
15147 15252
15253 // The Amazon S3 bucket event for which to invoke the AWS Lambda function. For
15254 // more information, see Supported Event Types (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
15255 // in the Amazon Simple Storage Service Developer Guide.
15256 //
15148 // Events is a required field 15257 // Events is a required field
15149 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"` 15258 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
15150 15259
15151 // A container for object key name filtering rules. For information about key 15260 // Specifies object key name filtering rules. For information about key name
15152 // name filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) 15261 // filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
15153 // in the Amazon Simple Storage Service Developer Guide. 15262 // in the Amazon Simple Storage Service Developer Guide.
15154 Filter *NotificationConfigurationFilter `type:"structure"` 15263 Filter *NotificationConfigurationFilter `type:"structure"`
15155 15264
@@ -15157,8 +15266,8 @@ type LambdaFunctionConfiguration struct {
15157 // If you don't provide one, Amazon S3 will assign an ID. 15266 // If you don't provide one, Amazon S3 will assign an ID.
15158 Id *string `type:"string"` 15267 Id *string `type:"string"`
15159 15268
15160 // The Amazon Resource Name (ARN) of the Lambda cloud function that Amazon S3 15269 // The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3
15161 // can invoke when it detects events of the specified type. 15270 // invokes when the specified event type occurs.
15162 // 15271 //
15163 // LambdaFunctionArn is a required field 15272 // LambdaFunctionArn is a required field
15164 LambdaFunctionArn *string `locationName:"CloudFunction" type:"string" required:"true"` 15273 LambdaFunctionArn *string `locationName:"CloudFunction" type:"string" required:"true"`
@@ -15309,8 +15418,11 @@ func (s *LifecycleExpiration) SetExpiredObjectDeleteMarker(v bool) *LifecycleExp
15309type LifecycleRule struct { 15418type LifecycleRule struct {
15310 _ struct{} `type:"structure"` 15419 _ struct{} `type:"structure"`
15311 15420
15312 // Specifies the days since the initiation of an Incomplete Multipart Upload 15421 // Specifies the days since the initiation of an incomplete multipart upload
15313 // that Lifecycle will wait before permanently removing all parts of the upload. 15422 // that Amazon S3 will wait before permanently removing all parts of the upload.
15423 // For more information, see Aborting Incomplete Multipart Uploads Using a Bucket
15424 // Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config)
15425 // in the Amazon Simple Storage Service Developer Guide.
15314 AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"` 15426 AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"`
15315 15427
15316 Expiration *LifecycleExpiration `type:"structure"` 15428 Expiration *LifecycleExpiration `type:"structure"`
@@ -17267,9 +17379,10 @@ func (s *Location) SetUserMetadata(v []*MetadataEntry) *Location {
17267 return s 17379 return s
17268} 17380}
17269 17381
17270// Container for logging information. Presence of this element indicates that 17382// Describes where logs are stored and the prefix that Amazon S3 assigns to
17271// logging is enabled. Parameters TargetBucket and TargetPrefix are required 17383// all log object keys for a bucket. For more information, see PUT Bucket logging
17272// in this case. 17384// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html)
17385// in the Amazon Simple Storage Service API Reference.
17273type LoggingEnabled struct { 17386type LoggingEnabled struct {
17274 _ struct{} `type:"structure"` 17387 _ struct{} `type:"structure"`
17275 17388
@@ -17285,8 +17398,9 @@ type LoggingEnabled struct {
17285 17398
17286 TargetGrants []*TargetGrant `locationNameList:"Grant" type:"list"` 17399 TargetGrants []*TargetGrant `locationNameList:"Grant" type:"list"`
17287 17400
17288 // This element lets you specify a prefix for the keys that the log files will 17401 // A prefix for all log object keys. If you store log files from multiple Amazon
17289 // be stored under. 17402 // S3 buckets in a single bucket, you can use a prefix to distinguish which
17403 // log files came from which bucket.
17290 // 17404 //
17291 // TargetPrefix is a required field 17405 // TargetPrefix is a required field
17292 TargetPrefix *string `type:"string" required:"true"` 17406 TargetPrefix *string `type:"string" required:"true"`
@@ -17429,6 +17543,13 @@ func (s *MetricsAndOperator) SetTags(v []*Tag) *MetricsAndOperator {
17429 return s 17543 return s
17430} 17544}
17431 17545
17546// Specifies a metrics configuration for the CloudWatch request metrics (specified
17547// by the metrics configuration ID) from an Amazon S3 bucket. If you're updating
17548// an existing metrics configuration, note that this is a full replacement of
17549// the existing metrics configuration. If you don't include the elements you
17550// want to keep, they are erased. For more information, see PUT Bucket metrics
17551// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html)
17552// in the Amazon Simple Storage Service API Reference.
17432type MetricsConfiguration struct { 17553type MetricsConfiguration struct {
17433 _ struct{} `type:"structure"` 17554 _ struct{} `type:"structure"`
17434 17555
@@ -17624,7 +17745,7 @@ type NoncurrentVersionExpiration struct {
17624 // Specifies the number of days an object is noncurrent before Amazon S3 can 17745 // Specifies the number of days an object is noncurrent before Amazon S3 can
17625 // perform the associated action. For information about the noncurrent days 17746 // perform the associated action. For information about the noncurrent days
17626 // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent 17747 // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent
17627 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) 17748 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations)
17628 // in the Amazon Simple Storage Service Developer Guide. 17749 // in the Amazon Simple Storage Service Developer Guide.
17629 NoncurrentDays *int64 `type:"integer"` 17750 NoncurrentDays *int64 `type:"integer"`
17630} 17751}
@@ -17646,11 +17767,11 @@ func (s *NoncurrentVersionExpiration) SetNoncurrentDays(v int64) *NoncurrentVers
17646} 17767}
17647 17768
17648// Container for the transition rule that describes when noncurrent objects 17769// Container for the transition rule that describes when noncurrent objects
17649// transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER or 17770// transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER,
17650// DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning 17771// or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning
17651// is suspended), you can set this action to request that Amazon S3 transition 17772// is suspended), you can set this action to request that Amazon S3 transition
17652// noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, 17773// noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING,
17653// GLACIER or DEEP_ARCHIVE storage class at a specific period in the object's 17774// GLACIER, or DEEP_ARCHIVE storage class at a specific period in the object's
17654// lifetime. 17775// lifetime.
17655type NoncurrentVersionTransition struct { 17776type NoncurrentVersionTransition struct {
17656 _ struct{} `type:"structure"` 17777 _ struct{} `type:"structure"`
@@ -17693,10 +17814,16 @@ func (s *NoncurrentVersionTransition) SetStorageClass(v string) *NoncurrentVersi
17693type NotificationConfiguration struct { 17814type NotificationConfiguration struct {
17694 _ struct{} `type:"structure"` 17815 _ struct{} `type:"structure"`
17695 17816
17817 // Describes the AWS Lambda functions to invoke and the events for which to
17818 // invoke them.
17696 LambdaFunctionConfigurations []*LambdaFunctionConfiguration `locationName:"CloudFunctionConfiguration" type:"list" flattened:"true"` 17819 LambdaFunctionConfigurations []*LambdaFunctionConfiguration `locationName:"CloudFunctionConfiguration" type:"list" flattened:"true"`
17697 17820
17821 // The Amazon Simple Queue Service queues to publish messages to and the events
17822 // for which to publish messages.
17698 QueueConfigurations []*QueueConfiguration `locationName:"QueueConfiguration" type:"list" flattened:"true"` 17823 QueueConfigurations []*QueueConfiguration `locationName:"QueueConfiguration" type:"list" flattened:"true"`
17699 17824
17825 // The topic to which notifications are sent and the events for which notifications
17826 // are generated.
17700 TopicConfigurations []*TopicConfiguration `locationName:"TopicConfiguration" type:"list" flattened:"true"` 17827 TopicConfigurations []*TopicConfiguration `locationName:"TopicConfiguration" type:"list" flattened:"true"`
17701} 17828}
17702 17829
@@ -17806,8 +17933,8 @@ func (s *NotificationConfigurationDeprecated) SetTopicConfiguration(v *TopicConf
17806 return s 17933 return s
17807} 17934}
17808 17935
17809// A container for object key name filtering rules. For information about key 17936// Specifies object key name filtering rules. For information about key name
17810// name filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) 17937// filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
17811// in the Amazon Simple Storage Service Developer Guide. 17938// in the Amazon Simple Storage Service Developer Guide.
17812type NotificationConfigurationFilter struct { 17939type NotificationConfigurationFilter struct {
17813 _ struct{} `type:"structure"` 17940 _ struct{} `type:"structure"`
@@ -17945,14 +18072,14 @@ func (s *ObjectIdentifier) SetVersionId(v string) *ObjectIdentifier {
17945 return s 18072 return s
17946} 18073}
17947 18074
17948// The container element for Object Lock configuration parameters. 18075// The container element for object lock configuration parameters.
17949type ObjectLockConfiguration struct { 18076type ObjectLockConfiguration struct {
17950 _ struct{} `type:"structure"` 18077 _ struct{} `type:"structure"`
17951 18078
17952 // Indicates whether this bucket has an Object Lock configuration enabled. 18079 // Indicates whether this bucket has an object lock configuration enabled.
17953 ObjectLockEnabled *string `type:"string" enum:"ObjectLockEnabled"` 18080 ObjectLockEnabled *string `type:"string" enum:"ObjectLockEnabled"`
17954 18081
17955 // The Object Lock rule in place for the specified object. 18082 // The object lock rule in place for the specified object.
17956 Rule *ObjectLockRule `type:"structure"` 18083 Rule *ObjectLockRule `type:"structure"`
17957} 18084}
17958 18085
@@ -18009,7 +18136,7 @@ type ObjectLockRetention struct {
18009 // Indicates the Retention mode for the specified object. 18136 // Indicates the Retention mode for the specified object.
18010 Mode *string `type:"string" enum:"ObjectLockRetentionMode"` 18137 Mode *string `type:"string" enum:"ObjectLockRetentionMode"`
18011 18138
18012 // The date on which this Object Lock Retention will expire. 18139 // The date on which this object lock retention expires.
18013 RetainUntilDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` 18140 RetainUntilDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
18014} 18141}
18015 18142
@@ -18035,7 +18162,7 @@ func (s *ObjectLockRetention) SetRetainUntilDate(v time.Time) *ObjectLockRetenti
18035 return s 18162 return s
18036} 18163}
18037 18164
18038// The container element for an Object Lock rule. 18165// The container element for an object lock rule.
18039type ObjectLockRule struct { 18166type ObjectLockRule struct {
18040 _ struct{} `type:"structure"` 18167 _ struct{} `type:"structure"`
18041 18168
@@ -18418,6 +18545,7 @@ func (s *ProgressEvent) UnmarshalEvent(
18418 return nil 18545 return nil
18419} 18546}
18420 18547
18548// Specifies the Block Public Access configuration for an Amazon S3 bucket.
18421type PublicAccessBlockConfiguration struct { 18549type PublicAccessBlockConfiguration struct {
18422 _ struct{} `type:"structure"` 18550 _ struct{} `type:"structure"`
18423 18551
@@ -18575,6 +18703,7 @@ type PutBucketAclInput struct {
18575 // The canned ACL to apply to the bucket. 18703 // The canned ACL to apply to the bucket.
18576 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"` 18704 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"`
18577 18705
18706 // Contains the elements that set the ACL permissions for an object per grantee.
18578 AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 18707 AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
18579 18708
18580 // Bucket is a required field 18709 // Bucket is a required field
@@ -18710,7 +18839,7 @@ type PutBucketAnalyticsConfigurationInput struct {
18710 // Bucket is a required field 18839 // Bucket is a required field
18711 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 18840 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18712 18841
18713 // The identifier used to represent an analytics configuration. 18842 // The ID that identifies the analytics configuration.
18714 // 18843 //
18715 // Id is a required field 18844 // Id is a required field
18716 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"` 18845 Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
@@ -18798,6 +18927,11 @@ type PutBucketCorsInput struct {
18798 // Bucket is a required field 18927 // Bucket is a required field
18799 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 18928 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18800 18929
18930 // Describes the cross-origin access configuration for objects in an Amazon
18931 // S3 bucket. For more information, see Enabling Cross-Origin Resource Sharing
18932 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the Amazon
18933 // Simple Storage Service Developer Guide.
18934 //
18801 // CORSConfiguration is a required field 18935 // CORSConfiguration is a required field
18802 CORSConfiguration *CORSConfiguration `locationName:"CORSConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 18936 CORSConfiguration *CORSConfiguration `locationName:"CORSConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
18803} 18937}
@@ -18872,14 +19006,16 @@ func (s PutBucketCorsOutput) GoString() string {
18872type PutBucketEncryptionInput struct { 19006type PutBucketEncryptionInput struct {
18873 _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"` 19007 _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"`
18874 19008
18875 // The name of the bucket for which the server-side encryption configuration 19009 // Specifies default encryption for a bucket using server-side encryption with
18876 // is set. 19010 // Amazon S3-managed keys (SSE-S3) or AWS KMS-managed keys (SSE-KMS). For information
19011 // about the Amazon S3 default encryption feature, see Amazon S3 Default Bucket
19012 // Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html)
19013 // in the Amazon Simple Storage Service Developer Guide.
18877 // 19014 //
18878 // Bucket is a required field 19015 // Bucket is a required field
18879 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 19016 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
18880 19017
18881 // Container for server-side encryption configuration rules. Currently S3 supports 19018 // Specifies the default server-side-encryption configuration.
18882 // one rule only.
18883 // 19019 //
18884 // ServerSideEncryptionConfiguration is a required field 19020 // ServerSideEncryptionConfiguration is a required field
18885 ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `locationName:"ServerSideEncryptionConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 19021 ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `locationName:"ServerSideEncryptionConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
@@ -19053,6 +19189,9 @@ type PutBucketLifecycleConfigurationInput struct {
19053 // Bucket is a required field 19189 // Bucket is a required field
19054 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 19190 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19055 19191
19192 // Specifies the lifecycle configuration for objects in an Amazon S3 bucket.
19193 // For more information, see Object Lifecycle Management (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html)
19194 // in the Amazon Simple Storage Service Developer Guide.
19056 LifecycleConfiguration *BucketLifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 19195 LifecycleConfiguration *BucketLifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19057} 19196}
19058 19197
@@ -19612,6 +19751,9 @@ type PutBucketReplicationInput struct {
19612 // 19751 //
19613 // ReplicationConfiguration is a required field 19752 // ReplicationConfiguration is a required field
19614 ReplicationConfiguration *ReplicationConfiguration `locationName:"ReplicationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 19753 ReplicationConfiguration *ReplicationConfiguration `locationName:"ReplicationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19754
19755 // A token that allows Amazon S3 object lock to be enabled for an existing bucket.
19756 Token *string `location:"header" locationName:"x-amz-bucket-object-lock-token" type:"string"`
19615} 19757}
19616 19758
19617// String returns the string representation 19759// String returns the string representation
@@ -19667,6 +19809,12 @@ func (s *PutBucketReplicationInput) SetReplicationConfiguration(v *ReplicationCo
19667 return s 19809 return s
19668} 19810}
19669 19811
19812// SetToken sets the Token field's value.
19813func (s *PutBucketReplicationInput) SetToken(v string) *PutBucketReplicationInput {
19814 s.Token = &v
19815 return s
19816}
19817
19670type PutBucketReplicationOutput struct { 19818type PutBucketReplicationOutput struct {
19671 _ struct{} `type:"structure"` 19819 _ struct{} `type:"structure"`
19672} 19820}
@@ -19845,6 +19993,10 @@ type PutBucketVersioningInput struct {
19845 // and the value that is displayed on your authentication device. 19993 // and the value that is displayed on your authentication device.
19846 MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"` 19994 MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`
19847 19995
19996 // Describes the versioning state of an Amazon S3 bucket. For more information,
19997 // see PUT Bucket versioning (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html)
19998 // in the Amazon Simple Storage Service API Reference.
19999 //
19848 // VersioningConfiguration is a required field 20000 // VersioningConfiguration is a required field
19849 VersioningConfiguration *VersioningConfiguration `locationName:"VersioningConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 20001 VersioningConfiguration *VersioningConfiguration `locationName:"VersioningConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19850} 20002}
@@ -19923,6 +20075,8 @@ type PutBucketWebsiteInput struct {
19923 // Bucket is a required field 20075 // Bucket is a required field
19924 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 20076 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19925 20077
20078 // Specifies website configuration parameters for an Amazon S3 bucket.
20079 //
19926 // WebsiteConfiguration is a required field 20080 // WebsiteConfiguration is a required field
19927 WebsiteConfiguration *WebsiteConfiguration `locationName:"WebsiteConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 20081 WebsiteConfiguration *WebsiteConfiguration `locationName:"WebsiteConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19928} 20082}
@@ -20000,6 +20154,7 @@ type PutObjectAclInput struct {
20000 // The canned ACL to apply to the object. 20154 // The canned ACL to apply to the object.
20001 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"` 20155 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
20002 20156
20157 // Contains the elements that set the ACL permissions for an object per grantee.
20003 AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 20158 AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
20004 20159
20005 // Bucket is a required field 20160 // Bucket is a required field
@@ -20201,7 +20356,8 @@ type PutObjectInput struct {
20201 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` 20356 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
20202 20357
20203 // The base64-encoded 128-bit MD5 digest of the part data. This parameter is 20358 // The base64-encoded 128-bit MD5 digest of the part data. This parameter is
20204 // auto-populated when using the command from the CLI 20359 // auto-populated when using the command from the CLI. This parameted is required
20360 // if object lock parameters are specified.
20205 ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"` 20361 ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"`
20206 20362
20207 // A standard MIME type describing the format of the object data. 20363 // A standard MIME type describing the format of the object data.
@@ -20233,10 +20389,10 @@ type PutObjectInput struct {
20233 // The Legal Hold status that you want to apply to the specified object. 20389 // The Legal Hold status that you want to apply to the specified object.
20234 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"` 20390 ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
20235 20391
20236 // The Object Lock mode that you want to apply to this object. 20392 // The object lock mode that you want to apply to this object.
20237 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"` 20393 ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
20238 20394
20239 // The date and time when you want this object's Object Lock to expire. 20395 // The date and time when you want this object's object lock to expire.
20240 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"` 20396 ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
20241 20397
20242 // Confirms that the requester knows that she or he will be charged for the 20398 // Confirms that the requester knows that she or he will be charged for the
@@ -20253,13 +20409,18 @@ type PutObjectInput struct {
20253 // does not store the encryption key. The key must be appropriate for use with 20409 // does not store the encryption key. The key must be appropriate for use with
20254 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm 20410 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
20255 // header. 20411 // header.
20256 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` 20412 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
20257 20413
20258 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 20414 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
20259 // Amazon S3 uses this header for a message integrity check to ensure the encryption 20415 // Amazon S3 uses this header for a message integrity check to ensure the encryption
20260 // key was transmitted without error. 20416 // key was transmitted without error.
20261 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 20417 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
20262 20418
20419 // Specifies the AWS KMS Encryption Context to use for object encryption. The
20420 // value of this header is a base64-encoded UTF-8 string holding JSON with the
20421 // encryption context key-value pairs.
20422 SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"`
20423
20263 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT 20424 // Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
20264 // requests for an object protected by AWS KMS will fail if not made via SSL 20425 // requests for an object protected by AWS KMS will fail if not made via SSL
20265 // or using SigV4. Documentation on configuring any of the officially supported 20426 // or using SigV4. Documentation on configuring any of the officially supported
@@ -20473,6 +20634,12 @@ func (s *PutObjectInput) SetSSECustomerKeyMD5(v string) *PutObjectInput {
20473 return s 20634 return s
20474} 20635}
20475 20636
20637// SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value.
20638func (s *PutObjectInput) SetSSEKMSEncryptionContext(v string) *PutObjectInput {
20639 s.SSEKMSEncryptionContext = &v
20640 return s
20641}
20642
20476// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 20643// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
20477func (s *PutObjectInput) SetSSEKMSKeyId(v string) *PutObjectInput { 20644func (s *PutObjectInput) SetSSEKMSKeyId(v string) *PutObjectInput {
20478 s.SSEKMSKeyId = &v 20645 s.SSEKMSKeyId = &v
@@ -20626,12 +20793,12 @@ func (s *PutObjectLegalHoldOutput) SetRequestCharged(v string) *PutObjectLegalHo
20626type PutObjectLockConfigurationInput struct { 20793type PutObjectLockConfigurationInput struct {
20627 _ struct{} `type:"structure" payload:"ObjectLockConfiguration"` 20794 _ struct{} `type:"structure" payload:"ObjectLockConfiguration"`
20628 20795
20629 // The bucket whose Object Lock configuration you want to create or replace. 20796 // The bucket whose object lock configuration you want to create or replace.
20630 // 20797 //
20631 // Bucket is a required field 20798 // Bucket is a required field
20632 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 20799 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
20633 20800
20634 // The Object Lock configuration that you want to apply to the specified bucket. 20801 // The object lock configuration that you want to apply to the specified bucket.
20635 ObjectLockConfiguration *ObjectLockConfiguration `locationName:"ObjectLockConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` 20802 ObjectLockConfiguration *ObjectLockConfiguration `locationName:"ObjectLockConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
20636 20803
20637 // Confirms that the requester knows that she or he will be charged for the 20804 // Confirms that the requester knows that she or he will be charged for the
@@ -20640,7 +20807,7 @@ type PutObjectLockConfigurationInput struct {
20640 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 20807 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
20641 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 20808 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
20642 20809
20643 // A token to allow Object Lock to be enabled for an existing bucket. 20810 // A token to allow Amazon S3 object lock to be enabled for an existing bucket.
20644 Token *string `location:"header" locationName:"x-amz-bucket-object-lock-token" type:"string"` 20811 Token *string `location:"header" locationName:"x-amz-bucket-object-lock-token" type:"string"`
20645} 20812}
20646 20813
@@ -20749,6 +20916,11 @@ type PutObjectOutput struct {
20749 // verification of the customer-provided encryption key. 20916 // verification of the customer-provided encryption key.
20750 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 20917 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
20751 20918
20919 // If present, specifies the AWS KMS Encryption Context to use for object encryption.
20920 // The value of this header is a base64-encoded UTF-8 string holding JSON with
20921 // the encryption context key-value pairs.
20922 SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"`
20923
20752 // If present, specifies the ID of the AWS Key Management Service (KMS) master 20924 // If present, specifies the ID of the AWS Key Management Service (KMS) master
20753 // encryption key that was used for the object. 20925 // encryption key that was used for the object.
20754 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"` 20926 SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
@@ -20801,6 +20973,12 @@ func (s *PutObjectOutput) SetSSECustomerKeyMD5(v string) *PutObjectOutput {
20801 return s 20973 return s
20802} 20974}
20803 20975
20976// SetSSEKMSEncryptionContext sets the SSEKMSEncryptionContext field's value.
20977func (s *PutObjectOutput) SetSSEKMSEncryptionContext(v string) *PutObjectOutput {
20978 s.SSEKMSEncryptionContext = &v
20979 return s
20980}
20981
20804// SetSSEKMSKeyId sets the SSEKMSKeyId field's value. 20982// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
20805func (s *PutObjectOutput) SetSSEKMSKeyId(v string) *PutObjectOutput { 20983func (s *PutObjectOutput) SetSSEKMSKeyId(v string) *PutObjectOutput {
20806 s.SSEKMSKeyId = &v 20984 s.SSEKMSKeyId = &v
@@ -21139,17 +21317,16 @@ func (s PutPublicAccessBlockOutput) GoString() string {
21139 return s.String() 21317 return s.String()
21140} 21318}
21141 21319
21142// A container for specifying the configuration for publication of messages 21320// Specifies the configuration for publishing messages to an Amazon Simple Queue
21143// to an Amazon Simple Queue Service (Amazon SQS) queue.when Amazon S3 detects 21321// Service (Amazon SQS) queue when Amazon S3 detects specified events.
21144// specified events.
21145type QueueConfiguration struct { 21322type QueueConfiguration struct {
21146 _ struct{} `type:"structure"` 21323 _ struct{} `type:"structure"`
21147 21324
21148 // Events is a required field 21325 // Events is a required field
21149 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"` 21326 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
21150 21327
21151 // A container for object key name filtering rules. For information about key 21328 // Specifies object key name filtering rules. For information about key name
21152 // name filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) 21329 // filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
21153 // in the Amazon Simple Storage Service Developer Guide. 21330 // in the Amazon Simple Storage Service Developer Guide.
21154 Filter *NotificationConfigurationFilter `type:"structure"` 21331 Filter *NotificationConfigurationFilter `type:"structure"`
21155 21332
@@ -21158,7 +21335,7 @@ type QueueConfiguration struct {
21158 Id *string `type:"string"` 21335 Id *string `type:"string"`
21159 21336
21160 // The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 21337 // The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3
21161 // will publish a message when it detects events of the specified type. 21338 // publishes a message when it detects events of the specified type.
21162 // 21339 //
21163 // QueueArn is a required field 21340 // QueueArn is a required field
21164 QueueArn *string `locationName:"Queue" type:"string" required:"true"` 21341 QueueArn *string `locationName:"Queue" type:"string" required:"true"`
@@ -21304,6 +21481,8 @@ func (s *RecordsEvent) UnmarshalEvent(
21304 return nil 21481 return nil
21305} 21482}
21306 21483
21484// Specifies how requests are redirected. In the event of an error, you can
21485// specify a different error code to return.
21307type Redirect struct { 21486type Redirect struct {
21308 _ struct{} `type:"structure"` 21487 _ struct{} `type:"structure"`
21309 21488
@@ -21314,8 +21493,8 @@ type Redirect struct {
21314 // siblings is present. 21493 // siblings is present.
21315 HttpRedirectCode *string `type:"string"` 21494 HttpRedirectCode *string `type:"string"`
21316 21495
21317 // Protocol to use (http, https) when redirecting requests. The default is the 21496 // Protocol to use when redirecting requests. The default is the protocol that
21318 // protocol that is used in the original request. 21497 // is used in the original request.
21319 Protocol *string `type:"string" enum:"Protocol"` 21498 Protocol *string `type:"string" enum:"Protocol"`
21320 21499
21321 // The object key prefix to use in the redirect request. For example, to redirect 21500 // The object key prefix to use in the redirect request. For example, to redirect
@@ -21327,7 +21506,7 @@ type Redirect struct {
21327 ReplaceKeyPrefixWith *string `type:"string"` 21506 ReplaceKeyPrefixWith *string `type:"string"`
21328 21507
21329 // The specific object key to use in the redirect request. For example, redirect 21508 // The specific object key to use in the redirect request. For example, redirect
21330 // request to error.html. Not required if one of the sibling is present. Can 21509 // request to error.html. Not required if one of the siblings is present. Can
21331 // be present only if ReplaceKeyPrefixWith is not provided. 21510 // be present only if ReplaceKeyPrefixWith is not provided.
21332 ReplaceKeyWith *string `type:"string"` 21511 ReplaceKeyWith *string `type:"string"`
21333} 21512}
@@ -21372,16 +21551,18 @@ func (s *Redirect) SetReplaceKeyWith(v string) *Redirect {
21372 return s 21551 return s
21373} 21552}
21374 21553
21554// Specifies the redirect behavior of all requests to a website endpoint of
21555// an Amazon S3 bucket.
21375type RedirectAllRequestsTo struct { 21556type RedirectAllRequestsTo struct {
21376 _ struct{} `type:"structure"` 21557 _ struct{} `type:"structure"`
21377 21558
21378 // Name of the host where requests will be redirected. 21559 // Name of the host where requests are redirected.
21379 // 21560 //
21380 // HostName is a required field 21561 // HostName is a required field
21381 HostName *string `type:"string" required:"true"` 21562 HostName *string `type:"string" required:"true"`
21382 21563
21383 // Protocol to use (http, https) when redirecting requests. The default is the 21564 // Protocol to use when redirecting requests. The default is the protocol that
21384 // protocol that is used in the original request. 21565 // is used in the original request.
21385 Protocol *string `type:"string" enum:"Protocol"` 21566 Protocol *string `type:"string" enum:"Protocol"`
21386} 21567}
21387 21568
@@ -21426,7 +21607,9 @@ type ReplicationConfiguration struct {
21426 _ struct{} `type:"structure"` 21607 _ struct{} `type:"structure"`
21427 21608
21428 // The Amazon Resource Name (ARN) of the AWS Identity and Access Management 21609 // The Amazon Resource Name (ARN) of the AWS Identity and Access Management
21429 // (IAM) role that Amazon S3 can assume when replicating the objects. 21610 // (IAM) role that Amazon S3 assumes when replicating objects. For more information,
21611 // see How to Set Up Cross-Region Replication (https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-how-setup.html)
21612 // in the Amazon Simple Storage Service Developer Guide.
21430 // 21613 //
21431 // Role is a required field 21614 // Role is a required field
21432 Role *string `type:"string" required:"true"` 21615 Role *string `type:"string" required:"true"`
@@ -21486,7 +21669,7 @@ func (s *ReplicationConfiguration) SetRules(v []*ReplicationRule) *ReplicationCo
21486 return s 21669 return s
21487} 21670}
21488 21671
21489// A container for information about a specific replication rule. 21672// Specifies which Amazon S3 objects to replicate and where to store the replicas.
21490type ReplicationRule struct { 21673type ReplicationRule struct {
21491 _ struct{} `type:"structure"` 21674 _ struct{} `type:"structure"`
21492 21675
@@ -21506,7 +21689,8 @@ type ReplicationRule struct {
21506 ID *string `type:"string"` 21689 ID *string `type:"string"`
21507 21690
21508 // An object keyname prefix that identifies the object or objects to which the 21691 // An object keyname prefix that identifies the object or objects to which the
21509 // rule applies. The maximum prefix length is 1,024 characters. 21692 // rule applies. The maximum prefix length is 1,024 characters. To include all
21693 // objects in a bucket, specify an empty string.
21510 // 21694 //
21511 // Deprecated: Prefix has been deprecated 21695 // Deprecated: Prefix has been deprecated
21512 Prefix *string `deprecated:"true" type:"string"` 21696 Prefix *string `deprecated:"true" type:"string"`
@@ -21522,7 +21706,7 @@ type ReplicationRule struct {
21522 // * Same object qualify tag based filter criteria specified in multiple 21706 // * Same object qualify tag based filter criteria specified in multiple
21523 // rules 21707 // rules
21524 // 21708 //
21525 // For more information, see Cross-Region Replication (CRR) ( https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) 21709 // For more information, see Cross-Region Replication (CRR) (https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html)
21526 // in the Amazon S3 Developer Guide. 21710 // in the Amazon S3 Developer Guide.
21527 Priority *int64 `type:"integer"` 21711 Priority *int64 `type:"integer"`
21528 21712
@@ -21531,12 +21715,9 @@ type ReplicationRule struct {
21531 // replication of these objects. Currently, Amazon S3 supports only the filter 21715 // replication of these objects. Currently, Amazon S3 supports only the filter
21532 // that you can specify for objects created with server-side encryption using 21716 // that you can specify for objects created with server-side encryption using
21533 // an AWS KMS-Managed Key (SSE-KMS). 21717 // an AWS KMS-Managed Key (SSE-KMS).
21534 //
21535 // If you want Amazon S3 to replicate objects created with server-side encryption
21536 // using AWS KMS-Managed Keys.
21537 SourceSelectionCriteria *SourceSelectionCriteria `type:"structure"` 21718 SourceSelectionCriteria *SourceSelectionCriteria `type:"structure"`
21538 21719
21539 // If status isn't enabled, the rule is ignored. 21720 // Specifies whether the rule is enabled.
21540 // 21721 //
21541 // Status is a required field 21722 // Status is a required field
21542 Status *string `type:"string" required:"true" enum:"ReplicationRuleStatus"` 21723 Status *string `type:"string" required:"true" enum:"ReplicationRuleStatus"`
@@ -22051,6 +22232,7 @@ func (s *RestoreRequest) SetType(v string) *RestoreRequest {
22051 return s 22232 return s
22052} 22233}
22053 22234
22235// Specifies the redirect behavior and when a redirect is applied.
22054type RoutingRule struct { 22236type RoutingRule struct {
22055 _ struct{} `type:"structure"` 22237 _ struct{} `type:"structure"`
22056 22238
@@ -22103,16 +22285,22 @@ func (s *RoutingRule) SetRedirect(v *Redirect) *RoutingRule {
22103 return s 22285 return s
22104} 22286}
22105 22287
22288// Specifies lifecycle rules for an Amazon S3 bucket. For more information,
22289// see PUT Bucket lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html)
22290// in the Amazon Simple Storage Service API Reference.
22106type Rule struct { 22291type Rule struct {
22107 _ struct{} `type:"structure"` 22292 _ struct{} `type:"structure"`
22108 22293
22109 // Specifies the days since the initiation of an Incomplete Multipart Upload 22294 // Specifies the days since the initiation of an incomplete multipart upload
22110 // that Lifecycle will wait before permanently removing all parts of the upload. 22295 // that Amazon S3 will wait before permanently removing all parts of the upload.
22296 // For more information, see Aborting Incomplete Multipart Uploads Using a Bucket
22297 // Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config)
22298 // in the Amazon Simple Storage Service Developer Guide.
22111 AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"` 22299 AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `type:"structure"`
22112 22300
22113 Expiration *LifecycleExpiration `type:"structure"` 22301 Expiration *LifecycleExpiration `type:"structure"`
22114 22302
22115 // Unique identifier for the rule. The value cannot be longer than 255 characters. 22303 // Unique identifier for the rule. The value can't be longer than 255 characters.
22116 ID *string `type:"string"` 22304 ID *string `type:"string"`
22117 22305
22118 // Specifies when noncurrent object versions expire. Upon expiration, Amazon 22306 // Specifies when noncurrent object versions expire. Upon expiration, Amazon
@@ -22123,25 +22311,27 @@ type Rule struct {
22123 NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"` 22311 NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"`
22124 22312
22125 // Container for the transition rule that describes when noncurrent objects 22313 // Container for the transition rule that describes when noncurrent objects
22126 // transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER or 22314 // transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER,
22127 // DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning 22315 // or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning
22128 // is suspended), you can set this action to request that Amazon S3 transition 22316 // is suspended), you can set this action to request that Amazon S3 transition
22129 // noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, 22317 // noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING,
22130 // GLACIER or DEEP_ARCHIVE storage class at a specific period in the object's 22318 // GLACIER, or DEEP_ARCHIVE storage class at a specific period in the object's
22131 // lifetime. 22319 // lifetime.
22132 NoncurrentVersionTransition *NoncurrentVersionTransition `type:"structure"` 22320 NoncurrentVersionTransition *NoncurrentVersionTransition `type:"structure"`
22133 22321
22134 // Prefix identifying one or more objects to which the rule applies. 22322 // Object key prefix that identifies one or more objects to which this rule
22323 // applies.
22135 // 22324 //
22136 // Prefix is a required field 22325 // Prefix is a required field
22137 Prefix *string `type:"string" required:"true"` 22326 Prefix *string `type:"string" required:"true"`
22138 22327
22139 // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule 22328 // If Enabled, the rule is currently being applied. If Disabled, the rule is
22140 // is not currently being applied. 22329 // not currently being applied.
22141 // 22330 //
22142 // Status is a required field 22331 // Status is a required field
22143 Status *string `type:"string" required:"true" enum:"ExpirationStatus"` 22332 Status *string `type:"string" required:"true" enum:"ExpirationStatus"`
22144 22333
22334 // Specifies when an object transitions to a specified storage class.
22145 Transition *Transition `type:"structure"` 22335 Transition *Transition `type:"structure"`
22146} 22336}
22147 22337
@@ -22537,15 +22727,15 @@ type SelectObjectContentInput struct {
22537 // Specifies if periodic request progress information should be enabled. 22727 // Specifies if periodic request progress information should be enabled.
22538 RequestProgress *RequestProgress `type:"structure"` 22728 RequestProgress *RequestProgress `type:"structure"`
22539 22729
22540 // The SSE Algorithm used to encrypt the object. For more information, see 22730 // The SSE Algorithm used to encrypt the object. For more information, see Server-Side
22541 // Server-Side Encryption (Using Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html). 22731 // Encryption (Using Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
22542 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 22732 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
22543 22733
22544 // The SSE Customer Key. For more information, see Server-Side Encryption (Using 22734 // The SSE Customer Key. For more information, see Server-Side Encryption (Using
22545 // Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html). 22735 // Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
22546 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` 22736 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
22547 22737
22548 // The SSE Customer Key MD5. For more information, see Server-Side Encryption 22738 // The SSE Customer Key MD5. For more information, see Server-Side Encryption
22549 // (Using Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html). 22739 // (Using Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
22550 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` 22740 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
22551} 22741}
@@ -22792,13 +22982,15 @@ func (s *SelectParameters) SetOutputSerialization(v *OutputSerialization) *Selec
22792} 22982}
22793 22983
22794// Describes the default server-side encryption to apply to new objects in the 22984// Describes the default server-side encryption to apply to new objects in the
22795// bucket. If Put Object request does not specify any server-side encryption, 22985// bucket. If a PUT Object request doesn't specify any server-side encryption,
22796// this default encryption will be applied. 22986// this default encryption will be applied. For more information, see PUT Bucket
22987// encryption (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html)
22988// in the Amazon Simple Storage Service API Reference.
22797type ServerSideEncryptionByDefault struct { 22989type ServerSideEncryptionByDefault struct {
22798 _ struct{} `type:"structure"` 22990 _ struct{} `type:"structure"`
22799 22991
22800 // KMS master key ID to use for the default encryption. This parameter is allowed 22992 // KMS master key ID to use for the default encryption. This parameter is allowed
22801 // if SSEAlgorithm is aws:kms. 22993 // if and only if SSEAlgorithm is set to aws:kms.
22802 KMSMasterKeyID *string `type:"string" sensitive:"true"` 22994 KMSMasterKeyID *string `type:"string" sensitive:"true"`
22803 22995
22804 // Server-side encryption algorithm to use for the default encryption. 22996 // Server-side encryption algorithm to use for the default encryption.
@@ -22842,8 +23034,7 @@ func (s *ServerSideEncryptionByDefault) SetSSEAlgorithm(v string) *ServerSideEnc
22842 return s 23034 return s
22843} 23035}
22844 23036
22845// Container for server-side encryption configuration rules. Currently S3 supports 23037// Specifies the default server-side-encryption configuration.
22846// one rule only.
22847type ServerSideEncryptionConfiguration struct { 23038type ServerSideEncryptionConfiguration struct {
22848 _ struct{} `type:"structure"` 23039 _ struct{} `type:"structure"`
22849 23040
@@ -22893,13 +23084,12 @@ func (s *ServerSideEncryptionConfiguration) SetRules(v []*ServerSideEncryptionRu
22893 return s 23084 return s
22894} 23085}
22895 23086
22896// Container for information about a particular server-side encryption configuration 23087// Specifies the default server-side encryption configuration.
22897// rule.
22898type ServerSideEncryptionRule struct { 23088type ServerSideEncryptionRule struct {
22899 _ struct{} `type:"structure"` 23089 _ struct{} `type:"structure"`
22900 23090
22901 // Describes the default server-side encryption to apply to new objects in the 23091 // Specifies the default server-side encryption to apply to new objects in the
22902 // bucket. If Put Object request does not specify any server-side encryption, 23092 // bucket. If a PUT Object request doesn't specify any server-side encryption,
22903 // this default encryption will be applied. 23093 // this default encryption will be applied.
22904 ApplyServerSideEncryptionByDefault *ServerSideEncryptionByDefault `type:"structure"` 23094 ApplyServerSideEncryptionByDefault *ServerSideEncryptionByDefault `type:"structure"`
22905} 23095}
@@ -22935,13 +23125,17 @@ func (s *ServerSideEncryptionRule) SetApplyServerSideEncryptionByDefault(v *Serv
22935 return s 23125 return s
22936} 23126}
22937 23127
22938// A container for filters that define which source objects should be replicated. 23128// A container that describes additional filters for identifying the source
23129// objects that you want to replicate. You can choose to enable or disable the
23130// replication of these objects. Currently, Amazon S3 supports only the filter
23131// that you can specify for objects created with server-side encryption using
23132// an AWS KMS-Managed Key (SSE-KMS).
22939type SourceSelectionCriteria struct { 23133type SourceSelectionCriteria struct {
22940 _ struct{} `type:"structure"` 23134 _ struct{} `type:"structure"`
22941 23135
22942 // A container for filter information for the selection of S3 objects encrypted 23136 // A container for filter information for the selection of Amazon S3 objects
22943 // with AWS KMS. If you include SourceSelectionCriteria in the replication configuration, 23137 // encrypted with AWS KMS. If you include SourceSelectionCriteria in the replication
22944 // this element is required. 23138 // configuration, this element is required.
22945 SseKmsEncryptedObjects *SseKmsEncryptedObjects `type:"structure"` 23139 SseKmsEncryptedObjects *SseKmsEncryptedObjects `type:"structure"`
22946} 23140}
22947 23141
@@ -22981,8 +23175,8 @@ func (s *SourceSelectionCriteria) SetSseKmsEncryptedObjects(v *SseKmsEncryptedOb
22981type SseKmsEncryptedObjects struct { 23175type SseKmsEncryptedObjects struct {
22982 _ struct{} `type:"structure"` 23176 _ struct{} `type:"structure"`
22983 23177
22984 // If the status is not Enabled, replication for S3 objects encrypted with AWS 23178 // Specifies whether Amazon S3 replicates objects created with server-side encryption
22985 // KMS is disabled. 23179 // using an AWS KMS-managed key.
22986 // 23180 //
22987 // Status is a required field 23181 // Status is a required field
22988 Status *string `type:"string" required:"true" enum:"SseKmsEncryptedObjectsStatus"` 23182 Status *string `type:"string" required:"true" enum:"SseKmsEncryptedObjectsStatus"`
@@ -23098,11 +23292,14 @@ func (s *StatsEvent) UnmarshalEvent(
23098 return nil 23292 return nil
23099} 23293}
23100 23294
23295// Specifies data related to access patterns to be collected and made available
23296// to analyze the tradeoffs between different storage classes for an Amazon
23297// S3 bucket.
23101type StorageClassAnalysis struct { 23298type StorageClassAnalysis struct {
23102 _ struct{} `type:"structure"` 23299 _ struct{} `type:"structure"`
23103 23300
23104 // A container used to describe how data related to the storage class analysis 23301 // Specifies how data related to the storage class analysis for an Amazon S3
23105 // should be exported. 23302 // bucket should be exported.
23106 DataExport *StorageClassAnalysisDataExport `type:"structure"` 23303 DataExport *StorageClassAnalysisDataExport `type:"structure"`
23107} 23304}
23108 23305
@@ -23342,16 +23539,20 @@ func (s *TargetGrant) SetPermission(v string) *TargetGrant {
23342} 23539}
23343 23540
23344// A container for specifying the configuration for publication of messages 23541// A container for specifying the configuration for publication of messages
23345// to an Amazon Simple Notification Service (Amazon SNS) topic.when Amazon S3 23542// to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3
23346// detects specified events. 23543// detects specified events.
23347type TopicConfiguration struct { 23544type TopicConfiguration struct {
23348 _ struct{} `type:"structure"` 23545 _ struct{} `type:"structure"`
23349 23546
23547 // The Amazon S3 bucket event about which to send notifications. For more information,
23548 // see Supported Event Types (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
23549 // in the Amazon Simple Storage Service Developer Guide.
23550 //
23350 // Events is a required field 23551 // Events is a required field
23351 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"` 23552 Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
23352 23553
23353 // A container for object key name filtering rules. For information about key 23554 // Specifies object key name filtering rules. For information about key name
23354 // name filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) 23555 // filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
23355 // in the Amazon Simple Storage Service Developer Guide. 23556 // in the Amazon Simple Storage Service Developer Guide.
23356 Filter *NotificationConfigurationFilter `type:"structure"` 23557 Filter *NotificationConfigurationFilter `type:"structure"`
23357 23558
@@ -23360,7 +23561,7 @@ type TopicConfiguration struct {
23360 Id *string `type:"string"` 23561 Id *string `type:"string"`
23361 23562
23362 // The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 23563 // The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3
23363 // will publish a message when it detects events of the specified type. 23564 // publishes a message when it detects events of the specified type.
23364 // 23565 //
23365 // TopicArn is a required field 23566 // TopicArn is a required field
23366 TopicArn *string `locationName:"Topic" type:"string" required:"true"` 23567 TopicArn *string `locationName:"Topic" type:"string" required:"true"`
@@ -23469,18 +23670,19 @@ func (s *TopicConfigurationDeprecated) SetTopic(v string) *TopicConfigurationDep
23469 return s 23670 return s
23470} 23671}
23471 23672
23673// Specifies when an object transitions to a specified storage class.
23472type Transition struct { 23674type Transition struct {
23473 _ struct{} `type:"structure"` 23675 _ struct{} `type:"structure"`
23474 23676
23475 // Indicates at what date the object is to be moved or deleted. Should be in 23677 // Indicates when objects are transitioned to the specified storage class. The
23476 // GMT ISO 8601 Format. 23678 // date value must be in ISO 8601 format. The time is always midnight UTC.
23477 Date *time.Time `type:"timestamp" timestampFormat:"iso8601"` 23679 Date *time.Time `type:"timestamp" timestampFormat:"iso8601"`
23478 23680
23479 // Indicates the lifetime, in days, of the objects that are subject to the rule. 23681 // Indicates the number of days after creation when objects are transitioned
23480 // The value must be a non-zero positive integer. 23682 // to the specified storage class. The value must be a positive integer.
23481 Days *int64 `type:"integer"` 23683 Days *int64 `type:"integer"`
23482 23684
23483 // The class of storage used to store the object. 23685 // The storage class to which you want the object to transition.
23484 StorageClass *string `type:"string" enum:"TransitionStorageClass"` 23686 StorageClass *string `type:"string" enum:"TransitionStorageClass"`
23485} 23687}
23486 23688
@@ -23550,7 +23752,7 @@ type UploadPartCopyInput struct {
23550 // Specifies the customer-provided encryption key for Amazon S3 to use to decrypt 23752 // Specifies the customer-provided encryption key for Amazon S3 to use to decrypt
23551 // the source object. The encryption key provided in this header must be one 23753 // the source object. The encryption key provided in this header must be one
23552 // that was used when the source object was created. 23754 // that was used when the source object was created.
23553 CopySourceSSECustomerKey *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string" sensitive:"true"` 23755 CopySourceSSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string" sensitive:"true"`
23554 23756
23555 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 23757 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
23556 // Amazon S3 uses this header for a message integrity check to ensure the encryption 23758 // Amazon S3 uses this header for a message integrity check to ensure the encryption
@@ -23581,7 +23783,7 @@ type UploadPartCopyInput struct {
23581 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm 23783 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
23582 // header. This must be the same encryption key specified in the initiate multipart 23784 // header. This must be the same encryption key specified in the initiate multipart
23583 // upload request. 23785 // upload request.
23584 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` 23786 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
23585 23787
23586 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 23788 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
23587 // Amazon S3 uses this header for a message integrity check to ensure the encryption 23789 // Amazon S3 uses this header for a message integrity check to ensure the encryption
@@ -23857,7 +24059,9 @@ type UploadPartInput struct {
23857 // body cannot be determined automatically. 24059 // body cannot be determined automatically.
23858 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` 24060 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
23859 24061
23860 // The base64-encoded 128-bit MD5 digest of the part data. 24062 // The base64-encoded 128-bit MD5 digest of the part data. This parameter is
24063 // auto-populated when using the command from the CLI. This parameted is required
24064 // if object lock parameters are specified.
23861 ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"` 24065 ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"`
23862 24066
23863 // Object key for which the multipart upload was initiated. 24067 // Object key for which the multipart upload was initiated.
@@ -23886,7 +24090,7 @@ type UploadPartInput struct {
23886 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm 24090 // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
23887 // header. This must be the same encryption key specified in the initiate multipart 24091 // header. This must be the same encryption key specified in the initiate multipart
23888 // upload request. 24092 // upload request.
23889 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` 24093 SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
23890 24094
23891 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. 24095 // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
23892 // Amazon S3 uses this header for a message integrity check to ensure the encryption 24096 // Amazon S3 uses this header for a message integrity check to ensure the encryption
@@ -24092,6 +24296,9 @@ func (s *UploadPartOutput) SetServerSideEncryption(v string) *UploadPartOutput {
24092 return s 24296 return s
24093} 24297}
24094 24298
24299// Describes the versioning state of an Amazon S3 bucket. For more information,
24300// see PUT Bucket versioning (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html)
24301// in the Amazon Simple Storage Service API Reference.
24095type VersioningConfiguration struct { 24302type VersioningConfiguration struct {
24096 _ struct{} `type:"structure"` 24303 _ struct{} `type:"structure"`
24097 24304
@@ -24126,15 +24333,22 @@ func (s *VersioningConfiguration) SetStatus(v string) *VersioningConfiguration {
24126 return s 24333 return s
24127} 24334}
24128 24335
24336// Specifies website configuration parameters for an Amazon S3 bucket.
24129type WebsiteConfiguration struct { 24337type WebsiteConfiguration struct {
24130 _ struct{} `type:"structure"` 24338 _ struct{} `type:"structure"`
24131 24339
24340 // The name of the error document for the website.
24132 ErrorDocument *ErrorDocument `type:"structure"` 24341 ErrorDocument *ErrorDocument `type:"structure"`
24133 24342
24343 // The name of the index document for the website.
24134 IndexDocument *IndexDocument `type:"structure"` 24344 IndexDocument *IndexDocument `type:"structure"`
24135 24345
24346 // The redirect behavior for every request to this bucket's website endpoint.
24347 //
24348 // If you specify this property, you can't specify any other property.
24136 RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"` 24349 RedirectAllRequestsTo *RedirectAllRequestsTo `type:"structure"`
24137 24350
24351 // Rules that define when a redirect is applied and the redirect behavior.
24138 RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"` 24352 RoutingRules []*RoutingRule `locationNameList:"RoutingRule" type:"list"`
24139} 24353}
24140 24354