aws-sdk-s3 1.85.0 → 1.86.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -45,6 +45,7 @@ module Aws::S3
45
45
  BucketAlreadyExists = Shapes::StructureShape.new(name: 'BucketAlreadyExists')
46
46
  BucketAlreadyOwnedByYou = Shapes::StructureShape.new(name: 'BucketAlreadyOwnedByYou')
47
47
  BucketCannedACL = Shapes::StringShape.new(name: 'BucketCannedACL')
48
+ BucketKeyEnabled = Shapes::BooleanShape.new(name: 'BucketKeyEnabled')
48
49
  BucketLifecycleConfiguration = Shapes::StructureShape.new(name: 'BucketLifecycleConfiguration')
49
50
  BucketLocationConstraint = Shapes::StringShape.new(name: 'BucketLocationConstraint')
50
51
  BucketLoggingStatus = Shapes::StructureShape.new(name: 'BucketLoggingStatus')
@@ -458,6 +459,8 @@ module Aws::S3
458
459
  ReplaceKeyPrefixWith = Shapes::StringShape.new(name: 'ReplaceKeyPrefixWith')
459
460
  ReplaceKeyWith = Shapes::StringShape.new(name: 'ReplaceKeyWith')
460
461
  ReplicaKmsKeyID = Shapes::StringShape.new(name: 'ReplicaKmsKeyID')
462
+ ReplicaModifications = Shapes::StructureShape.new(name: 'ReplicaModifications')
463
+ ReplicaModificationsStatus = Shapes::StringShape.new(name: 'ReplicaModificationsStatus')
461
464
  ReplicationConfiguration = Shapes::StructureShape.new(name: 'ReplicationConfiguration')
462
465
  ReplicationRule = Shapes::StructureShape.new(name: 'ReplicationRule')
463
466
  ReplicationRuleAndOperator = Shapes::StructureShape.new(name: 'ReplicationRuleAndOperator')
@@ -676,6 +679,7 @@ module Aws::S3
676
679
  CompleteMultipartUploadOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
677
680
  CompleteMultipartUploadOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
678
681
  CompleteMultipartUploadOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
682
+ CompleteMultipartUploadOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
679
683
  CompleteMultipartUploadOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
680
684
  CompleteMultipartUploadOutput.struct_class = Types::CompleteMultipartUploadOutput
681
685
 
@@ -713,6 +717,7 @@ module Aws::S3
713
717
  CopyObjectOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
714
718
  CopyObjectOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
715
719
  CopyObjectOutput.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
720
+ CopyObjectOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
716
721
  CopyObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
717
722
  CopyObjectOutput.struct_class = Types::CopyObjectOutput
718
723
  CopyObjectOutput[:payload] = :copy_object_result
@@ -747,6 +752,7 @@ module Aws::S3
747
752
  CopyObjectRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
748
753
  CopyObjectRequest.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
749
754
  CopyObjectRequest.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
755
+ CopyObjectRequest.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
750
756
  CopyObjectRequest.add_member(:copy_source_sse_customer_algorithm, Shapes::ShapeRef.new(shape: CopySourceSSECustomerAlgorithm, location: "header", location_name: "x-amz-copy-source-server-side-encryption-customer-algorithm"))
751
757
  CopyObjectRequest.add_member(:copy_source_sse_customer_key, Shapes::ShapeRef.new(shape: CopySourceSSECustomerKey, location: "header", location_name: "x-amz-copy-source-server-side-encryption-customer-key"))
752
758
  CopyObjectRequest.add_member(:copy_source_sse_customer_key_md5, Shapes::ShapeRef.new(shape: CopySourceSSECustomerKeyMD5, location: "header", location_name: "x-amz-copy-source-server-side-encryption-customer-key-MD5"))
@@ -796,6 +802,7 @@ module Aws::S3
796
802
  CreateMultipartUploadOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
797
803
  CreateMultipartUploadOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
798
804
  CreateMultipartUploadOutput.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
805
+ CreateMultipartUploadOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
799
806
  CreateMultipartUploadOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
800
807
  CreateMultipartUploadOutput.struct_class = Types::CreateMultipartUploadOutput
801
808
 
@@ -821,6 +828,7 @@ module Aws::S3
821
828
  CreateMultipartUploadRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
822
829
  CreateMultipartUploadRequest.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
823
830
  CreateMultipartUploadRequest.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
831
+ CreateMultipartUploadRequest.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
824
832
  CreateMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
825
833
  CreateMultipartUploadRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: TaggingHeader, location: "header", location_name: "x-amz-tagging"))
826
834
  CreateMultipartUploadRequest.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-object-lock-mode"))
@@ -1225,6 +1233,7 @@ module Aws::S3
1225
1233
  GetObjectOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1226
1234
  GetObjectOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1227
1235
  GetObjectOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
1236
+ GetObjectOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
1228
1237
  GetObjectOutput.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location: "header", location_name: "x-amz-storage-class"))
1229
1238
  GetObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1230
1239
  GetObjectOutput.add_member(:replication_status, Shapes::ShapeRef.new(shape: ReplicationStatus, location: "header", location_name: "x-amz-replication-status"))
@@ -1345,6 +1354,7 @@ module Aws::S3
1345
1354
  HeadObjectOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1346
1355
  HeadObjectOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1347
1356
  HeadObjectOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
1357
+ HeadObjectOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
1348
1358
  HeadObjectOutput.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location: "header", location_name: "x-amz-storage-class"))
1349
1359
  HeadObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1350
1360
  HeadObjectOutput.add_member(:replication_status, Shapes::ShapeRef.new(shape: ReplicationStatus, location: "header", location_name: "x-amz-replication-status"))
@@ -2031,6 +2041,7 @@ module Aws::S3
2031
2041
  PutObjectOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
2032
2042
  PutObjectOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
2033
2043
  PutObjectOutput.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
2044
+ PutObjectOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
2034
2045
  PutObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2035
2046
  PutObjectOutput.struct_class = Types::PutObjectOutput
2036
2047
 
@@ -2059,6 +2070,7 @@ module Aws::S3
2059
2070
  PutObjectRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
2060
2071
  PutObjectRequest.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
2061
2072
  PutObjectRequest.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
2073
+ PutObjectRequest.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
2062
2074
  PutObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2063
2075
  PutObjectRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: TaggingHeader, location: "header", location_name: "x-amz-tagging"))
2064
2076
  PutObjectRequest.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-object-lock-mode"))
@@ -2133,6 +2145,9 @@ module Aws::S3
2133
2145
  RedirectAllRequestsTo.add_member(:protocol, Shapes::ShapeRef.new(shape: Protocol, location_name: "Protocol"))
2134
2146
  RedirectAllRequestsTo.struct_class = Types::RedirectAllRequestsTo
2135
2147
 
2148
+ ReplicaModifications.add_member(:status, Shapes::ShapeRef.new(shape: ReplicaModificationsStatus, required: true, location_name: "Status"))
2149
+ ReplicaModifications.struct_class = Types::ReplicaModifications
2150
+
2136
2151
  ReplicationConfiguration.add_member(:role, Shapes::ShapeRef.new(shape: Role, required: true, location_name: "Role"))
2137
2152
  ReplicationConfiguration.add_member(:rules, Shapes::ShapeRef.new(shape: ReplicationRules, required: true, location_name: "Rule"))
2138
2153
  ReplicationConfiguration.struct_class = Types::ReplicationConfiguration
@@ -2275,11 +2290,13 @@ module Aws::S3
2275
2290
  ServerSideEncryptionConfiguration.struct_class = Types::ServerSideEncryptionConfiguration
2276
2291
 
2277
2292
  ServerSideEncryptionRule.add_member(:apply_server_side_encryption_by_default, Shapes::ShapeRef.new(shape: ServerSideEncryptionByDefault, location_name: "ApplyServerSideEncryptionByDefault"))
2293
+ ServerSideEncryptionRule.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location_name: "BucketKeyEnabled"))
2278
2294
  ServerSideEncryptionRule.struct_class = Types::ServerSideEncryptionRule
2279
2295
 
2280
2296
  ServerSideEncryptionRules.member = Shapes::ShapeRef.new(shape: ServerSideEncryptionRule)
2281
2297
 
2282
2298
  SourceSelectionCriteria.add_member(:sse_kms_encrypted_objects, Shapes::ShapeRef.new(shape: SseKmsEncryptedObjects, location_name: "SseKmsEncryptedObjects"))
2299
+ SourceSelectionCriteria.add_member(:replica_modifications, Shapes::ShapeRef.new(shape: ReplicaModifications, location_name: "ReplicaModifications"))
2283
2300
  SourceSelectionCriteria.struct_class = Types::SourceSelectionCriteria
2284
2301
 
2285
2302
  SseKmsEncryptedObjects.add_member(:status, Shapes::ShapeRef.new(shape: SseKmsEncryptedObjectsStatus, required: true, location_name: "Status"))
@@ -2348,6 +2365,7 @@ module Aws::S3
2348
2365
  UploadPartCopyOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
2349
2366
  UploadPartCopyOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
2350
2367
  UploadPartCopyOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
2368
+ UploadPartCopyOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
2351
2369
  UploadPartCopyOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2352
2370
  UploadPartCopyOutput.struct_class = Types::UploadPartCopyOutput
2353
2371
  UploadPartCopyOutput[:payload] = :copy_part_result
@@ -2379,6 +2397,7 @@ module Aws::S3
2379
2397
  UploadPartOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
2380
2398
  UploadPartOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
2381
2399
  UploadPartOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
2400
+ UploadPartOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
2382
2401
  UploadPartOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2383
2402
  UploadPartOutput.struct_class = Types::UploadPartOutput
2384
2403
 
@@ -224,6 +224,13 @@ module Aws::S3
224
224
  data[:ssekms_key_id]
225
225
  end
226
226
 
227
+ # Indicates whether the object uses an S3 Bucket Key for server-side
228
+ # encryption with AWS KMS (SSE-KMS).
229
+ # @return [Boolean]
230
+ def bucket_key_enabled
231
+ data[:bucket_key_enabled]
232
+ end
233
+
227
234
  # Provides storage class information of the object. Amazon S3 returns
228
235
  # this header for all objects except for S3 Standard storage class
229
236
  # objects.
@@ -246,12 +253,12 @@ module Aws::S3
246
253
  end
247
254
 
248
255
  # Amazon S3 can return this header if your request involves a bucket
249
- # that is either a source or destination in a replication rule.
256
+ # that is either a source or a destination in a replication rule.
250
257
  #
251
258
  # In replication, you have a source bucket on which you configure
252
- # replication and destination bucket where Amazon S3 stores object
253
- # replicas. When you request an object (`GetObject`) or object metadata
254
- # (`HeadObject`) from these buckets, Amazon S3 will return the
259
+ # replication and destination bucket or buckets where Amazon S3 stores
260
+ # object replicas. When you request an object (`GetObject`) or object
261
+ # metadata (`HeadObject`) from these buckets, Amazon S3 will return the
255
262
  # `x-amz-replication-status` header in the response as follows:
256
263
  #
257
264
  # * If requesting an object from the source bucket — Amazon S3 will
@@ -267,9 +274,18 @@ module Aws::S3
267
274
  # value PENDING, COMPLETED or FAILED indicating object replication
268
275
  # status.
269
276
  #
270
- # * If requesting an object from the destination bucket — Amazon S3 will
277
+ # * If requesting an object from a destination bucket — Amazon S3 will
271
278
  # return the `x-amz-replication-status` header with value REPLICA if
272
- # the object in your request is a replica that Amazon S3 created.
279
+ # the object in your request is a replica that Amazon S3 created and
280
+ # there is no replica modification replication in progress.
281
+ #
282
+ # * When replicating objects to multiple destination buckets the
283
+ # `x-amz-replication-status` header acts differently. The header of
284
+ # the source object will only return a value of COMPLETED when
285
+ # replication is successful to all destinations. The header will
286
+ # remain at value PENDING until replication has completed for all
287
+ # destinations. If one or more destinations fails replication the
288
+ # header will return FAILED.
273
289
  #
274
290
  # For more information, see [Replication][1].
275
291
  #
@@ -543,6 +559,7 @@ module Aws::S3
543
559
  # sse_customer_key_md5: "SSECustomerKeyMD5",
544
560
  # ssekms_key_id: "SSEKMSKeyId",
545
561
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
562
+ # bucket_key_enabled: false,
546
563
  # copy_source_sse_customer_algorithm: "CopySourceSSECustomerAlgorithm",
547
564
  # copy_source_sse_customer_key: "CopySourceSSECustomerKey",
548
565
  # copy_source_sse_customer_key_md5: "CopySourceSSECustomerKeyMD5",
@@ -699,6 +716,14 @@ module Aws::S3
699
716
  # Specifies the AWS KMS Encryption Context to use for object encryption.
700
717
  # The value of this header is a base64-encoded UTF-8 string holding JSON
701
718
  # with the encryption context key-value pairs.
719
+ # @option options [Boolean] :bucket_key_enabled
720
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
721
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
722
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
723
+ # for object encryption with SSE-KMS.
724
+ #
725
+ # Specifying this header with a COPY operation doesn’t affect
726
+ # bucket-level settings for S3 Bucket Key.
702
727
  # @option options [String] :copy_source_sse_customer_algorithm
703
728
  # Specifies the algorithm to use when decrypting the source object (for
704
729
  # example, AES256).
@@ -922,6 +947,7 @@ module Aws::S3
922
947
  # sse_customer_key_md5: "SSECustomerKeyMD5",
923
948
  # ssekms_key_id: "SSEKMSKeyId",
924
949
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
950
+ # bucket_key_enabled: false,
925
951
  # request_payer: "requester", # accepts requester
926
952
  # tagging: "TaggingHeader",
927
953
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
@@ -1013,6 +1039,14 @@ module Aws::S3
1013
1039
  # Specifies the AWS KMS Encryption Context to use for object encryption.
1014
1040
  # The value of this header is a base64-encoded UTF-8 string holding JSON
1015
1041
  # with the encryption context key-value pairs.
1042
+ # @option options [Boolean] :bucket_key_enabled
1043
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
1044
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
1045
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
1046
+ # for object encryption with SSE-KMS.
1047
+ #
1048
+ # Specifying this header with an object operation doesn’t affect
1049
+ # bucket-level settings for S3 Bucket Key.
1016
1050
  # @option options [String] :request_payer
1017
1051
  # Confirms that the requester knows that they will be charged for the
1018
1052
  # request. Bucket owners need not specify this parameter in their
@@ -1081,6 +1115,7 @@ module Aws::S3
1081
1115
  # sse_customer_key_md5: "SSECustomerKeyMD5",
1082
1116
  # ssekms_key_id: "SSEKMSKeyId",
1083
1117
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
1118
+ # bucket_key_enabled: false,
1084
1119
  # request_payer: "requester", # accepts requester
1085
1120
  # tagging: "TaggingHeader",
1086
1121
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
@@ -1250,6 +1285,14 @@ module Aws::S3
1250
1285
  # Specifies the AWS KMS Encryption Context to use for object encryption.
1251
1286
  # The value of this header is a base64-encoded UTF-8 string holding JSON
1252
1287
  # with the encryption context key-value pairs.
1288
+ # @option options [Boolean] :bucket_key_enabled
1289
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
1290
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
1291
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
1292
+ # for object encryption with SSE-KMS.
1293
+ #
1294
+ # Specifying this header with a PUT operation doesn’t affect
1295
+ # bucket-level settings for S3 Bucket Key.
1253
1296
  # @option options [String] :request_payer
1254
1297
  # Confirms that the requester knows that they will be charged for the
1255
1298
  # request. Bucket owners need not specify this parameter in their
@@ -302,6 +302,7 @@ module Aws::S3
302
302
  # sse_customer_key_md5: "SSECustomerKeyMD5",
303
303
  # ssekms_key_id: "SSEKMSKeyId",
304
304
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
305
+ # bucket_key_enabled: false,
305
306
  # copy_source_sse_customer_algorithm: "CopySourceSSECustomerAlgorithm",
306
307
  # copy_source_sse_customer_key: "CopySourceSSECustomerKey",
307
308
  # copy_source_sse_customer_key_md5: "CopySourceSSECustomerKeyMD5",
@@ -458,6 +459,14 @@ module Aws::S3
458
459
  # Specifies the AWS KMS Encryption Context to use for object encryption.
459
460
  # The value of this header is a base64-encoded UTF-8 string holding JSON
460
461
  # with the encryption context key-value pairs.
462
+ # @option options [Boolean] :bucket_key_enabled
463
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
464
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
465
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
466
+ # for object encryption with SSE-KMS.
467
+ #
468
+ # Specifying this header with a COPY operation doesn’t affect
469
+ # bucket-level settings for S3 Bucket Key.
461
470
  # @option options [String] :copy_source_sse_customer_algorithm
462
471
  # Specifies the algorithm to use when decrypting the source object (for
463
472
  # example, AES256).
@@ -681,6 +690,7 @@ module Aws::S3
681
690
  # sse_customer_key_md5: "SSECustomerKeyMD5",
682
691
  # ssekms_key_id: "SSEKMSKeyId",
683
692
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
693
+ # bucket_key_enabled: false,
684
694
  # request_payer: "requester", # accepts requester
685
695
  # tagging: "TaggingHeader",
686
696
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
@@ -772,6 +782,14 @@ module Aws::S3
772
782
  # Specifies the AWS KMS Encryption Context to use for object encryption.
773
783
  # The value of this header is a base64-encoded UTF-8 string holding JSON
774
784
  # with the encryption context key-value pairs.
785
+ # @option options [Boolean] :bucket_key_enabled
786
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
787
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
788
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
789
+ # for object encryption with SSE-KMS.
790
+ #
791
+ # Specifying this header with an object operation doesn’t affect
792
+ # bucket-level settings for S3 Bucket Key.
775
793
  # @option options [String] :request_payer
776
794
  # Confirms that the requester knows that they will be charged for the
777
795
  # request. Bucket owners need not specify this parameter in their
@@ -840,6 +858,7 @@ module Aws::S3
840
858
  # sse_customer_key_md5: "SSECustomerKeyMD5",
841
859
  # ssekms_key_id: "SSEKMSKeyId",
842
860
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
861
+ # bucket_key_enabled: false,
843
862
  # request_payer: "requester", # accepts requester
844
863
  # tagging: "TaggingHeader",
845
864
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
@@ -1009,6 +1028,14 @@ module Aws::S3
1009
1028
  # Specifies the AWS KMS Encryption Context to use for object encryption.
1010
1029
  # The value of this header is a base64-encoded UTF-8 string holding JSON
1011
1030
  # with the encryption context key-value pairs.
1031
+ # @option options [Boolean] :bucket_key_enabled
1032
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
1033
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
1034
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
1035
+ # for object encryption with SSE-KMS.
1036
+ #
1037
+ # Specifying this header with a PUT operation doesn’t affect
1038
+ # bucket-level settings for S3 Bucket Key.
1012
1039
  # @option options [String] :request_payer
1013
1040
  # Confirms that the requester knows that they will be charged for the
1014
1041
  # request. Bucket owners need not specify this parameter in their
@@ -459,7 +459,8 @@ module Aws::S3
459
459
  # @return [String]
460
460
  #
461
461
  # @!attribute [rw] creation_date
462
- # Date the bucket was created.
462
+ # Date the bucket was created. This date can change when making
463
+ # changes to your bucket, such as editing its bucket policy.
463
464
  # @return [Time]
464
465
  #
465
466
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Bucket AWS API Documentation
@@ -973,6 +974,11 @@ module Aws::S3
973
974
  # used for the object.
974
975
  # @return [String]
975
976
  #
977
+ # @!attribute [rw] bucket_key_enabled
978
+ # Indicates whether the multipart upload uses an S3 Bucket Key for
979
+ # server-side encryption with AWS KMS (SSE-KMS).
980
+ # @return [Boolean]
981
+ #
976
982
  # @!attribute [rw] request_charged
977
983
  # If present, indicates that the requester was successfully charged
978
984
  # for the request.
@@ -989,6 +995,7 @@ module Aws::S3
989
995
  :server_side_encryption,
990
996
  :version_id,
991
997
  :ssekms_key_id,
998
+ :bucket_key_enabled,
992
999
  :request_charged)
993
1000
  SENSITIVE = [:ssekms_key_id]
994
1001
  include Aws::Structure
@@ -1213,6 +1220,11 @@ module Aws::S3
1213
1220
  # pairs.
1214
1221
  # @return [String]
1215
1222
  #
1223
+ # @!attribute [rw] bucket_key_enabled
1224
+ # Indicates whether the copied object uses an S3 Bucket Key for
1225
+ # server-side encryption with AWS KMS (SSE-KMS).
1226
+ # @return [Boolean]
1227
+ #
1216
1228
  # @!attribute [rw] request_charged
1217
1229
  # If present, indicates that the requester was successfully charged
1218
1230
  # for the request.
@@ -1230,6 +1242,7 @@ module Aws::S3
1230
1242
  :sse_customer_key_md5,
1231
1243
  :ssekms_key_id,
1232
1244
  :ssekms_encryption_context,
1245
+ :bucket_key_enabled,
1233
1246
  :request_charged)
1234
1247
  SENSITIVE = [:ssekms_key_id, :ssekms_encryption_context]
1235
1248
  include Aws::Structure
@@ -1270,6 +1283,7 @@ module Aws::S3
1270
1283
  # sse_customer_key_md5: "SSECustomerKeyMD5",
1271
1284
  # ssekms_key_id: "SSEKMSKeyId",
1272
1285
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
1286
+ # bucket_key_enabled: false,
1273
1287
  # copy_source_sse_customer_algorithm: "CopySourceSSECustomerAlgorithm",
1274
1288
  # copy_source_sse_customer_key: "CopySourceSSECustomerKey",
1275
1289
  # copy_source_sse_customer_key_md5: "CopySourceSSECustomerKeyMD5",
@@ -1513,6 +1527,16 @@ module Aws::S3
1513
1527
  # string holding JSON with the encryption context key-value pairs.
1514
1528
  # @return [String]
1515
1529
  #
1530
+ # @!attribute [rw] bucket_key_enabled
1531
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
1532
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
1533
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket
1534
+ # Key for object encryption with SSE-KMS.
1535
+ #
1536
+ # Specifying this header with a COPY operation doesn’t affect
1537
+ # bucket-level settings for S3 Bucket Key.
1538
+ # @return [Boolean]
1539
+ #
1516
1540
  # @!attribute [rw] copy_source_sse_customer_algorithm
1517
1541
  # Specifies the algorithm to use when decrypting the source object
1518
1542
  # (for example, AES256).
@@ -1606,6 +1630,7 @@ module Aws::S3
1606
1630
  :sse_customer_key_md5,
1607
1631
  :ssekms_key_id,
1608
1632
  :ssekms_encryption_context,
1633
+ :bucket_key_enabled,
1609
1634
  :copy_source_sse_customer_algorithm,
1610
1635
  :copy_source_sse_customer_key,
1611
1636
  :copy_source_sse_customer_key_md5,
@@ -1859,6 +1884,11 @@ module Aws::S3
1859
1884
  # pairs.
1860
1885
  # @return [String]
1861
1886
  #
1887
+ # @!attribute [rw] bucket_key_enabled
1888
+ # Indicates whether the multipart upload uses an S3 Bucket Key for
1889
+ # server-side encryption with AWS KMS (SSE-KMS).
1890
+ # @return [Boolean]
1891
+ #
1862
1892
  # @!attribute [rw] request_charged
1863
1893
  # If present, indicates that the requester was successfully charged
1864
1894
  # for the request.
@@ -1877,6 +1907,7 @@ module Aws::S3
1877
1907
  :sse_customer_key_md5,
1878
1908
  :ssekms_key_id,
1879
1909
  :ssekms_encryption_context,
1910
+ :bucket_key_enabled,
1880
1911
  :request_charged)
1881
1912
  SENSITIVE = [:ssekms_key_id, :ssekms_encryption_context]
1882
1913
  include Aws::Structure
@@ -1910,6 +1941,7 @@ module Aws::S3
1910
1941
  # sse_customer_key_md5: "SSECustomerKeyMD5",
1911
1942
  # ssekms_key_id: "SSEKMSKeyId",
1912
1943
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
1944
+ # bucket_key_enabled: false,
1913
1945
  # request_payer: "requester", # accepts requester
1914
1946
  # tagging: "TaggingHeader",
1915
1947
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
@@ -2074,6 +2106,16 @@ module Aws::S3
2074
2106
  # string holding JSON with the encryption context key-value pairs.
2075
2107
  # @return [String]
2076
2108
  #
2109
+ # @!attribute [rw] bucket_key_enabled
2110
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
2111
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
2112
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket
2113
+ # Key for object encryption with SSE-KMS.
2114
+ #
2115
+ # Specifying this header with an object operation doesn’t affect
2116
+ # bucket-level settings for S3 Bucket Key.
2117
+ # @return [Boolean]
2118
+ #
2077
2119
  # @!attribute [rw] request_payer
2078
2120
  # Confirms that the requester knows that they will be charged for the
2079
2121
  # request. Bucket owners need not specify this parameter in their
@@ -2136,6 +2178,7 @@ module Aws::S3
2136
2178
  :sse_customer_key_md5,
2137
2179
  :ssekms_key_id,
2138
2180
  :ssekms_encryption_context,
2181
+ :bucket_key_enabled,
2139
2182
  :request_payer,
2140
2183
  :tagging,
2141
2184
  :object_lock_mode,
@@ -5370,6 +5413,11 @@ module Aws::S3
5370
5413
  # used for the object.
5371
5414
  # @return [String]
5372
5415
  #
5416
+ # @!attribute [rw] bucket_key_enabled
5417
+ # Indicates whether the object uses an S3 Bucket Key for server-side
5418
+ # encryption with AWS KMS (SSE-KMS).
5419
+ # @return [Boolean]
5420
+ #
5373
5421
  # @!attribute [rw] storage_class
5374
5422
  # Provides storage class information of the object. Amazon S3 returns
5375
5423
  # this header for all objects except for S3 Standard storage class
@@ -5435,6 +5483,7 @@ module Aws::S3
5435
5483
  :sse_customer_algorithm,
5436
5484
  :sse_customer_key_md5,
5437
5485
  :ssekms_key_id,
5486
+ :bucket_key_enabled,
5438
5487
  :storage_class,
5439
5488
  :request_charged,
5440
5489
  :replication_status,
@@ -6222,6 +6271,11 @@ module Aws::S3
6222
6271
  # used for the object.
6223
6272
  # @return [String]
6224
6273
  #
6274
+ # @!attribute [rw] bucket_key_enabled
6275
+ # Indicates whether the object uses an S3 Bucket Key for server-side
6276
+ # encryption with AWS KMS (SSE-KMS).
6277
+ # @return [Boolean]
6278
+ #
6225
6279
  # @!attribute [rw] storage_class
6226
6280
  # Provides storage class information of the object. Amazon S3 returns
6227
6281
  # this header for all objects except for S3 Standard storage class
@@ -6241,11 +6295,11 @@ module Aws::S3
6241
6295
  #
6242
6296
  # @!attribute [rw] replication_status
6243
6297
  # Amazon S3 can return this header if your request involves a bucket
6244
- # that is either a source or destination in a replication rule.
6298
+ # that is either a source or a destination in a replication rule.
6245
6299
  #
6246
6300
  # In replication, you have a source bucket on which you configure
6247
- # replication and destination bucket where Amazon S3 stores object
6248
- # replicas. When you request an object (`GetObject`) or object
6301
+ # replication and destination bucket or buckets where Amazon S3 stores
6302
+ # object replicas. When you request an object (`GetObject`) or object
6249
6303
  # metadata (`HeadObject`) from these buckets, Amazon S3 will return
6250
6304
  # the `x-amz-replication-status` header in the response as follows:
6251
6305
  #
@@ -6262,10 +6316,18 @@ module Aws::S3
6262
6316
  # header with value PENDING, COMPLETED or FAILED indicating object
6263
6317
  # replication status.
6264
6318
  #
6265
- # * If requesting an object from the destination bucket — Amazon S3
6266
- # will return the `x-amz-replication-status` header with value
6267
- # REPLICA if the object in your request is a replica that Amazon S3
6268
- # created.
6319
+ # * If requesting an object from a destination bucket — Amazon S3 will
6320
+ # return the `x-amz-replication-status` header with value REPLICA if
6321
+ # the object in your request is a replica that Amazon S3 created and
6322
+ # there is no replica modification replication in progress.
6323
+ #
6324
+ # * When replicating objects to multiple destination buckets the
6325
+ # `x-amz-replication-status` header acts differently. The header of
6326
+ # the source object will only return a value of COMPLETED when
6327
+ # replication is successful to all destinations. The header will
6328
+ # remain at value PENDING until replication has completed for all
6329
+ # destinations. If one or more destinations fails replication the
6330
+ # header will return FAILED.
6269
6331
  #
6270
6332
  # For more information, see [Replication][1].
6271
6333
  #
@@ -6334,6 +6396,7 @@ module Aws::S3
6334
6396
  :sse_customer_algorithm,
6335
6397
  :sse_customer_key_md5,
6336
6398
  :ssekms_key_id,
6399
+ :bucket_key_enabled,
6337
6400
  :storage_class,
6338
6401
  :request_charged,
6339
6402
  :replication_status,
@@ -10178,6 +10241,7 @@ module Aws::S3
10178
10241
  # sse_algorithm: "AES256", # required, accepts AES256, aws:kms
10179
10242
  # kms_master_key_id: "SSEKMSKeyId",
10180
10243
  # },
10244
+ # bucket_key_enabled: false,
10181
10245
  # },
10182
10246
  # ],
10183
10247
  # },
@@ -10894,6 +10958,9 @@ module Aws::S3
10894
10958
  # sse_kms_encrypted_objects: {
10895
10959
  # status: "Enabled", # required, accepts Enabled, Disabled
10896
10960
  # },
10961
+ # replica_modifications: {
10962
+ # status: "Enabled", # required, accepts Enabled, Disabled
10963
+ # },
10897
10964
  # },
10898
10965
  # existing_object_replication: {
10899
10966
  # status: "Enabled", # required, accepts Enabled, Disabled
@@ -11650,6 +11717,11 @@ module Aws::S3
11650
11717
  # pairs.
11651
11718
  # @return [String]
11652
11719
  #
11720
+ # @!attribute [rw] bucket_key_enabled
11721
+ # Indicates whether the uploaded object uses an S3 Bucket Key for
11722
+ # server-side encryption with AWS KMS (SSE-KMS).
11723
+ # @return [Boolean]
11724
+ #
11653
11725
  # @!attribute [rw] request_charged
11654
11726
  # If present, indicates that the requester was successfully charged
11655
11727
  # for the request.
@@ -11666,6 +11738,7 @@ module Aws::S3
11666
11738
  :sse_customer_key_md5,
11667
11739
  :ssekms_key_id,
11668
11740
  :ssekms_encryption_context,
11741
+ :bucket_key_enabled,
11669
11742
  :request_charged)
11670
11743
  SENSITIVE = [:ssekms_key_id, :ssekms_encryption_context]
11671
11744
  include Aws::Structure
@@ -11702,6 +11775,7 @@ module Aws::S3
11702
11775
  # sse_customer_key_md5: "SSECustomerKeyMD5",
11703
11776
  # ssekms_key_id: "SSEKMSKeyId",
11704
11777
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
11778
+ # bucket_key_enabled: false,
11705
11779
  # request_payer: "requester", # accepts requester
11706
11780
  # tagging: "TaggingHeader",
11707
11781
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
@@ -11951,6 +12025,16 @@ module Aws::S3
11951
12025
  # string holding JSON with the encryption context key-value pairs.
11952
12026
  # @return [String]
11953
12027
  #
12028
+ # @!attribute [rw] bucket_key_enabled
12029
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
12030
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
12031
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket
12032
+ # Key for object encryption with SSE-KMS.
12033
+ #
12034
+ # Specifying this header with a PUT operation doesn’t affect
12035
+ # bucket-level settings for S3 Bucket Key.
12036
+ # @return [Boolean]
12037
+ #
11954
12038
  # @!attribute [rw] request_payer
11955
12039
  # Confirms that the requester knows that they will be charged for the
11956
12040
  # request. Bucket owners need not specify this parameter in their
@@ -12020,6 +12104,7 @@ module Aws::S3
12020
12104
  :sse_customer_key_md5,
12021
12105
  :ssekms_key_id,
12022
12106
  :ssekms_encryption_context,
12107
+ :bucket_key_enabled,
12023
12108
  :request_payer,
12024
12109
  :tagging,
12025
12110
  :object_lock_mode,
@@ -12500,6 +12585,37 @@ module Aws::S3
12500
12585
  include Aws::Structure
12501
12586
  end
12502
12587
 
12588
+ # A filter that you can specify for selection for modifications on
12589
+ # replicas. Amazon S3 doesn't replicate replica modifications by
12590
+ # default. In the latest version of replication configuration (when
12591
+ # `Filter` is specified), you can specify this element and set the
12592
+ # status to `Enabled` to replicate modifications on replicas.
12593
+ #
12594
+ # <note markdown="1"> If you don't specify the `Filter` element, Amazon S3 assumes that the
12595
+ # replication configuration is the earlier version, V1. In the earlier
12596
+ # version, this element is not allowed.
12597
+ #
12598
+ # </note>
12599
+ #
12600
+ # @note When making an API call, you may pass ReplicaModifications
12601
+ # data as a hash:
12602
+ #
12603
+ # {
12604
+ # status: "Enabled", # required, accepts Enabled, Disabled
12605
+ # }
12606
+ #
12607
+ # @!attribute [rw] status
12608
+ # Specifies whether Amazon S3 replicates modifications on replicas.
12609
+ # @return [String]
12610
+ #
12611
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicaModifications AWS API Documentation
12612
+ #
12613
+ class ReplicaModifications < Struct.new(
12614
+ :status)
12615
+ SENSITIVE = []
12616
+ include Aws::Structure
12617
+ end
12618
+
12503
12619
  # A container for replication rules. You can add up to 1,000 rules. The
12504
12620
  # maximum size of a replication configuration is 2 MB.
12505
12621
  #
@@ -12534,6 +12650,9 @@ module Aws::S3
12534
12650
  # sse_kms_encrypted_objects: {
12535
12651
  # status: "Enabled", # required, accepts Enabled, Disabled
12536
12652
  # },
12653
+ # replica_modifications: {
12654
+ # status: "Enabled", # required, accepts Enabled, Disabled
12655
+ # },
12537
12656
  # },
12538
12657
  # existing_object_replication: {
12539
12658
  # status: "Enabled", # required, accepts Enabled, Disabled
@@ -12625,6 +12744,9 @@ module Aws::S3
12625
12744
  # sse_kms_encrypted_objects: {
12626
12745
  # status: "Enabled", # required, accepts Enabled, Disabled
12627
12746
  # },
12747
+ # replica_modifications: {
12748
+ # status: "Enabled", # required, accepts Enabled, Disabled
12749
+ # },
12628
12750
  # },
12629
12751
  # existing_object_replication: {
12630
12752
  # status: "Enabled", # required, accepts Enabled, Disabled
@@ -12663,17 +12785,12 @@ module Aws::S3
12663
12785
  # @return [String]
12664
12786
  #
12665
12787
  # @!attribute [rw] priority
12666
- # The priority associated with the rule. If you specify multiple rules
12667
- # in a replication configuration, Amazon S3 prioritizes the rules to
12668
- # prevent conflicts when filtering. If two or more rules identify the
12669
- # same object based on a specified filter, the rule with higher
12670
- # priority takes precedence. For example:
12671
- #
12672
- # * Same object quality prefix-based filter criteria if prefixes you
12673
- # specified in multiple rules overlap
12674
- #
12675
- # * Same object qualify tag-based filter criteria specified in
12676
- # multiple rules
12788
+ # The priority indicates which rule has precedence whenever two or
12789
+ # more replication rules conflict. Amazon S3 will attempt to replicate
12790
+ # objects according to all replication rules. However, if there are
12791
+ # two or more rules with the same destination bucket, then objects
12792
+ # will be replicated according to the rule with the highest priority.
12793
+ # The higher the number, the higher the priority.
12677
12794
  #
12678
12795
  # For more information, see [Replication][1] in the *Amazon Simple
12679
12796
  # Storage Service Developer Guide*.
@@ -13945,6 +14062,7 @@ module Aws::S3
13945
14062
  # sse_algorithm: "AES256", # required, accepts AES256, aws:kms
13946
14063
  # kms_master_key_id: "SSEKMSKeyId",
13947
14064
  # },
14065
+ # bucket_key_enabled: false,
13948
14066
  # },
13949
14067
  # ],
13950
14068
  # }
@@ -13972,6 +14090,7 @@ module Aws::S3
13972
14090
  # sse_algorithm: "AES256", # required, accepts AES256, aws:kms
13973
14091
  # kms_master_key_id: "SSEKMSKeyId",
13974
14092
  # },
14093
+ # bucket_key_enabled: false,
13975
14094
  # }
13976
14095
  #
13977
14096
  # @!attribute [rw] apply_server_side_encryption_by_default
@@ -13980,10 +14099,26 @@ module Aws::S3
13980
14099
  # server-side encryption, this default encryption will be applied.
13981
14100
  # @return [Types::ServerSideEncryptionByDefault]
13982
14101
  #
14102
+ # @!attribute [rw] bucket_key_enabled
14103
+ # Specifies whether Amazon S3 should use an S3 Bucket Key with
14104
+ # server-side encryption using KMS (SSE-KMS) for new objects in the
14105
+ # bucket. Existing objects are not affected. Setting the
14106
+ # `BucketKeyEnabled` element to `true` causes Amazon S3 to use an S3
14107
+ # Bucket Key. By default, S3 Bucket Key is not enabled.
14108
+ #
14109
+ # For more information, see [Amazon S3 Bucket Keys][1] in the *Amazon
14110
+ # Simple Storage Service Developer Guide*.
14111
+ #
14112
+ #
14113
+ #
14114
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
14115
+ # @return [Boolean]
14116
+ #
13983
14117
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ServerSideEncryptionRule AWS API Documentation
13984
14118
  #
13985
14119
  class ServerSideEncryptionRule < Struct.new(
13986
- :apply_server_side_encryption_by_default)
14120
+ :apply_server_side_encryption_by_default,
14121
+ :bucket_key_enabled)
13987
14122
  SENSITIVE = []
13988
14123
  include Aws::Structure
13989
14124
  end
@@ -14002,6 +14137,9 @@ module Aws::S3
14002
14137
  # sse_kms_encrypted_objects: {
14003
14138
  # status: "Enabled", # required, accepts Enabled, Disabled
14004
14139
  # },
14140
+ # replica_modifications: {
14141
+ # status: "Enabled", # required, accepts Enabled, Disabled
14142
+ # },
14005
14143
  # }
14006
14144
  #
14007
14145
  # @!attribute [rw] sse_kms_encrypted_objects
@@ -14011,10 +14149,25 @@ module Aws::S3
14011
14149
  # element is required.
14012
14150
  # @return [Types::SseKmsEncryptedObjects]
14013
14151
  #
14152
+ # @!attribute [rw] replica_modifications
14153
+ # A filter that you can specify for selections for modifications on
14154
+ # replicas. Amazon S3 doesn't replicate replica modifications by
14155
+ # default. In the latest version of replication configuration (when
14156
+ # `Filter` is specified), you can specify this element and set the
14157
+ # status to `Enabled` to replicate modifications on replicas.
14158
+ #
14159
+ # <note markdown="1"> If you don't specify the `Filter` element, Amazon S3 assumes that
14160
+ # the replication configuration is the earlier version, V1. In the
14161
+ # earlier version, this element is not allowed
14162
+ #
14163
+ # </note>
14164
+ # @return [Types::ReplicaModifications]
14165
+ #
14014
14166
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SourceSelectionCriteria AWS API Documentation
14015
14167
  #
14016
14168
  class SourceSelectionCriteria < Struct.new(
14017
- :sse_kms_encrypted_objects)
14169
+ :sse_kms_encrypted_objects,
14170
+ :replica_modifications)
14018
14171
  SENSITIVE = []
14019
14172
  include Aws::Structure
14020
14173
  end
@@ -14470,6 +14623,11 @@ module Aws::S3
14470
14623
  # used for the object.
14471
14624
  # @return [String]
14472
14625
  #
14626
+ # @!attribute [rw] bucket_key_enabled
14627
+ # Indicates whether the multipart upload uses an S3 Bucket Key for
14628
+ # server-side encryption with AWS KMS (SSE-KMS).
14629
+ # @return [Boolean]
14630
+ #
14473
14631
  # @!attribute [rw] request_charged
14474
14632
  # If present, indicates that the requester was successfully charged
14475
14633
  # for the request.
@@ -14484,6 +14642,7 @@ module Aws::S3
14484
14642
  :sse_customer_algorithm,
14485
14643
  :sse_customer_key_md5,
14486
14644
  :ssekms_key_id,
14645
+ :bucket_key_enabled,
14487
14646
  :request_charged)
14488
14647
  SENSITIVE = [:ssekms_key_id]
14489
14648
  include Aws::Structure
@@ -14745,6 +14904,11 @@ module Aws::S3
14745
14904
  # for the object.
14746
14905
  # @return [String]
14747
14906
  #
14907
+ # @!attribute [rw] bucket_key_enabled
14908
+ # Indicates whether the multipart upload uses an S3 Bucket Key for
14909
+ # server-side encryption with AWS KMS (SSE-KMS).
14910
+ # @return [Boolean]
14911
+ #
14748
14912
  # @!attribute [rw] request_charged
14749
14913
  # If present, indicates that the requester was successfully charged
14750
14914
  # for the request.
@@ -14758,6 +14922,7 @@ module Aws::S3
14758
14922
  :sse_customer_algorithm,
14759
14923
  :sse_customer_key_md5,
14760
14924
  :ssekms_key_id,
14925
+ :bucket_key_enabled,
14761
14926
  :request_charged)
14762
14927
  SENSITIVE = [:ssekms_key_id]
14763
14928
  include Aws::Structure