aws-sdk-s3 1.5.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -19,6 +19,7 @@ module Aws::S3
19
19
  AccelerateConfiguration = Shapes::StructureShape.new(name: 'AccelerateConfiguration')
20
20
  AcceptRanges = Shapes::StringShape.new(name: 'AcceptRanges')
21
21
  AccessControlPolicy = Shapes::StructureShape.new(name: 'AccessControlPolicy')
22
+ AccessControlTranslation = Shapes::StructureShape.new(name: 'AccessControlTranslation')
22
23
  AccountId = Shapes::StringShape.new(name: 'AccountId')
23
24
  AllowedHeader = Shapes::StringShape.new(name: 'AllowedHeader')
24
25
  AllowedHeaders = Shapes::ListShape.new(name: 'AllowedHeaders', flattened: true)
@@ -63,6 +64,7 @@ module Aws::S3
63
64
  CompletedPart = Shapes::StructureShape.new(name: 'CompletedPart')
64
65
  CompletedPartList = Shapes::ListShape.new(name: 'CompletedPartList', flattened: true)
65
66
  Condition = Shapes::StructureShape.new(name: 'Condition')
67
+ ConfirmRemoveSelfBucketAccess = Shapes::BooleanShape.new(name: 'ConfirmRemoveSelfBucketAccess')
66
68
  ContentDisposition = Shapes::StringShape.new(name: 'ContentDisposition')
67
69
  ContentEncoding = Shapes::StringShape.new(name: 'ContentEncoding')
68
70
  ContentLanguage = Shapes::StringShape.new(name: 'ContentLanguage')
@@ -96,6 +98,7 @@ module Aws::S3
96
98
  Delete = Shapes::StructureShape.new(name: 'Delete')
97
99
  DeleteBucketAnalyticsConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketAnalyticsConfigurationRequest')
98
100
  DeleteBucketCorsRequest = Shapes::StructureShape.new(name: 'DeleteBucketCorsRequest')
101
+ DeleteBucketEncryptionRequest = Shapes::StructureShape.new(name: 'DeleteBucketEncryptionRequest')
99
102
  DeleteBucketInventoryConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketInventoryConfigurationRequest')
100
103
  DeleteBucketLifecycleRequest = Shapes::StructureShape.new(name: 'DeleteBucketLifecycleRequest')
101
104
  DeleteBucketMetricsConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketMetricsConfigurationRequest')
@@ -122,6 +125,7 @@ module Aws::S3
122
125
  ETag = Shapes::StringShape.new(name: 'ETag')
123
126
  EmailAddress = Shapes::StringShape.new(name: 'EmailAddress')
124
127
  EncodingType = Shapes::StringShape.new(name: 'EncodingType')
128
+ EncryptionConfiguration = Shapes::StructureShape.new(name: 'EncryptionConfiguration')
125
129
  Error = Shapes::StructureShape.new(name: 'Error')
126
130
  ErrorDocument = Shapes::StructureShape.new(name: 'ErrorDocument')
127
131
  Errors = Shapes::ListShape.new(name: 'Errors', flattened: true)
@@ -147,6 +151,8 @@ module Aws::S3
147
151
  GetBucketAnalyticsConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketAnalyticsConfigurationRequest')
148
152
  GetBucketCorsOutput = Shapes::StructureShape.new(name: 'GetBucketCorsOutput')
149
153
  GetBucketCorsRequest = Shapes::StructureShape.new(name: 'GetBucketCorsRequest')
154
+ GetBucketEncryptionOutput = Shapes::StructureShape.new(name: 'GetBucketEncryptionOutput')
155
+ GetBucketEncryptionRequest = Shapes::StructureShape.new(name: 'GetBucketEncryptionRequest')
150
156
  GetBucketInventoryConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketInventoryConfigurationOutput')
151
157
  GetBucketInventoryConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketInventoryConfigurationRequest')
152
158
  GetBucketLifecycleConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketLifecycleConfigurationOutput')
@@ -206,6 +212,7 @@ module Aws::S3
206
212
  InventoryConfiguration = Shapes::StructureShape.new(name: 'InventoryConfiguration')
207
213
  InventoryConfigurationList = Shapes::ListShape.new(name: 'InventoryConfigurationList', flattened: true)
208
214
  InventoryDestination = Shapes::StructureShape.new(name: 'InventoryDestination')
215
+ InventoryEncryption = Shapes::StructureShape.new(name: 'InventoryEncryption')
209
216
  InventoryFilter = Shapes::StructureShape.new(name: 'InventoryFilter')
210
217
  InventoryFormat = Shapes::StringShape.new(name: 'InventoryFormat')
211
218
  InventoryFrequency = Shapes::StringShape.new(name: 'InventoryFrequency')
@@ -302,6 +309,7 @@ module Aws::S3
302
309
  ObjectVersionList = Shapes::ListShape.new(name: 'ObjectVersionList', flattened: true)
303
310
  ObjectVersionStorageClass = Shapes::StringShape.new(name: 'ObjectVersionStorageClass')
304
311
  Owner = Shapes::StructureShape.new(name: 'Owner')
312
+ OwnerOverride = Shapes::StringShape.new(name: 'OwnerOverride')
305
313
  Part = Shapes::StructureShape.new(name: 'Part')
306
314
  PartNumber = Shapes::IntegerShape.new(name: 'PartNumber')
307
315
  PartNumberMarker = Shapes::IntegerShape.new(name: 'PartNumberMarker')
@@ -316,6 +324,7 @@ module Aws::S3
316
324
  PutBucketAclRequest = Shapes::StructureShape.new(name: 'PutBucketAclRequest')
317
325
  PutBucketAnalyticsConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketAnalyticsConfigurationRequest')
318
326
  PutBucketCorsRequest = Shapes::StructureShape.new(name: 'PutBucketCorsRequest')
327
+ PutBucketEncryptionRequest = Shapes::StructureShape.new(name: 'PutBucketEncryptionRequest')
319
328
  PutBucketInventoryConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketInventoryConfigurationRequest')
320
329
  PutBucketLifecycleConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketLifecycleConfigurationRequest')
321
330
  PutBucketLifecycleRequest = Shapes::StructureShape.new(name: 'PutBucketLifecycleRequest')
@@ -345,6 +354,7 @@ module Aws::S3
345
354
  RedirectAllRequestsTo = Shapes::StructureShape.new(name: 'RedirectAllRequestsTo')
346
355
  ReplaceKeyPrefixWith = Shapes::StringShape.new(name: 'ReplaceKeyPrefixWith')
347
356
  ReplaceKeyWith = Shapes::StringShape.new(name: 'ReplaceKeyWith')
357
+ ReplicaKmsKeyID = Shapes::StringShape.new(name: 'ReplicaKmsKeyID')
348
358
  ReplicationConfiguration = Shapes::StructureShape.new(name: 'ReplicationConfiguration')
349
359
  ReplicationRule = Shapes::StructureShape.new(name: 'ReplicationRule')
350
360
  ReplicationRuleStatus = Shapes::StringShape.new(name: 'ReplicationRuleStatus')
@@ -372,9 +382,18 @@ module Aws::S3
372
382
  SSECustomerAlgorithm = Shapes::StringShape.new(name: 'SSECustomerAlgorithm')
373
383
  SSECustomerKey = Shapes::StringShape.new(name: 'SSECustomerKey')
374
384
  SSECustomerKeyMD5 = Shapes::StringShape.new(name: 'SSECustomerKeyMD5')
385
+ SSEKMS = Shapes::StructureShape.new(name: 'SSEKMS')
375
386
  SSEKMSKeyId = Shapes::StringShape.new(name: 'SSEKMSKeyId')
387
+ SSES3 = Shapes::StructureShape.new(name: 'SSES3')
376
388
  ServerSideEncryption = Shapes::StringShape.new(name: 'ServerSideEncryption')
389
+ ServerSideEncryptionByDefault = Shapes::StructureShape.new(name: 'ServerSideEncryptionByDefault')
390
+ ServerSideEncryptionConfiguration = Shapes::StructureShape.new(name: 'ServerSideEncryptionConfiguration')
391
+ ServerSideEncryptionRule = Shapes::StructureShape.new(name: 'ServerSideEncryptionRule')
392
+ ServerSideEncryptionRules = Shapes::ListShape.new(name: 'ServerSideEncryptionRules', flattened: true)
377
393
  Size = Shapes::IntegerShape.new(name: 'Size')
394
+ SourceSelectionCriteria = Shapes::StructureShape.new(name: 'SourceSelectionCriteria')
395
+ SseKmsEncryptedObjects = Shapes::StructureShape.new(name: 'SseKmsEncryptedObjects')
396
+ SseKmsEncryptedObjectsStatus = Shapes::StringShape.new(name: 'SseKmsEncryptedObjectsStatus')
378
397
  StartAfter = Shapes::StringShape.new(name: 'StartAfter')
379
398
  StorageClass = Shapes::StringShape.new(name: 'StorageClass')
380
399
  StorageClassAnalysis = Shapes::StructureShape.new(name: 'StorageClassAnalysis')
@@ -432,6 +451,9 @@ module Aws::S3
432
451
  AccessControlPolicy.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
433
452
  AccessControlPolicy.struct_class = Types::AccessControlPolicy
434
453
 
454
+ AccessControlTranslation.add_member(:owner, Shapes::ShapeRef.new(shape: OwnerOverride, required: true, location_name: "Owner"))
455
+ AccessControlTranslation.struct_class = Types::AccessControlTranslation
456
+
435
457
  AllowedHeaders.member = Shapes::ShapeRef.new(shape: AllowedHeader)
436
458
 
437
459
  AllowedMethods.member = Shapes::ShapeRef.new(shape: AllowedMethod)
@@ -654,6 +676,9 @@ module Aws::S3
654
676
  DeleteBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
655
677
  DeleteBucketCorsRequest.struct_class = Types::DeleteBucketCorsRequest
656
678
 
679
+ DeleteBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
680
+ DeleteBucketEncryptionRequest.struct_class = Types::DeleteBucketEncryptionRequest
681
+
657
682
  DeleteBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
658
683
  DeleteBucketInventoryConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: InventoryId, required: true, location: "querystring", location_name: "id"))
659
684
  DeleteBucketInventoryConfigurationRequest.struct_class = Types::DeleteBucketInventoryConfigurationRequest
@@ -731,9 +756,15 @@ module Aws::S3
731
756
  DeletedObjects.member = Shapes::ShapeRef.new(shape: DeletedObject)
732
757
 
733
758
  Destination.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location_name: "Bucket"))
759
+ Destination.add_member(:account, Shapes::ShapeRef.new(shape: AccountId, location_name: "Account"))
734
760
  Destination.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
761
+ Destination.add_member(:access_control_translation, Shapes::ShapeRef.new(shape: AccessControlTranslation, location_name: "AccessControlTranslation"))
762
+ Destination.add_member(:encryption_configuration, Shapes::ShapeRef.new(shape: EncryptionConfiguration, location_name: "EncryptionConfiguration"))
735
763
  Destination.struct_class = Types::Destination
736
764
 
765
+ EncryptionConfiguration.add_member(:replica_kms_key_id, Shapes::ShapeRef.new(shape: ReplicaKmsKeyID, location_name: "ReplicaKmsKeyID"))
766
+ EncryptionConfiguration.struct_class = Types::EncryptionConfiguration
767
+
737
768
  Error.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
738
769
  Error.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location_name: "VersionId"))
739
770
  Error.add_member(:code, Shapes::ShapeRef.new(shape: Code, location_name: "Code"))
@@ -783,6 +814,14 @@ module Aws::S3
783
814
  GetBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
784
815
  GetBucketCorsRequest.struct_class = Types::GetBucketCorsRequest
785
816
 
817
+ GetBucketEncryptionOutput.add_member(:server_side_encryption_configuration, Shapes::ShapeRef.new(shape: ServerSideEncryptionConfiguration, location_name: "ServerSideEncryptionConfiguration"))
818
+ GetBucketEncryptionOutput.struct_class = Types::GetBucketEncryptionOutput
819
+ GetBucketEncryptionOutput[:payload] = :server_side_encryption_configuration
820
+ GetBucketEncryptionOutput[:payload_member] = GetBucketEncryptionOutput.member(:server_side_encryption_configuration)
821
+
822
+ GetBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
823
+ GetBucketEncryptionRequest.struct_class = Types::GetBucketEncryptionRequest
824
+
786
825
  GetBucketInventoryConfigurationOutput.add_member(:inventory_configuration, Shapes::ShapeRef.new(shape: InventoryConfiguration, location_name: "InventoryConfiguration"))
787
826
  GetBucketInventoryConfigurationOutput.struct_class = Types::GetBucketInventoryConfigurationOutput
788
827
  GetBucketInventoryConfigurationOutput[:payload] = :inventory_configuration
@@ -1040,6 +1079,10 @@ module Aws::S3
1040
1079
  InventoryDestination.add_member(:s3_bucket_destination, Shapes::ShapeRef.new(shape: InventoryS3BucketDestination, required: true, location_name: "S3BucketDestination"))
1041
1080
  InventoryDestination.struct_class = Types::InventoryDestination
1042
1081
 
1082
+ InventoryEncryption.add_member(:sses3, Shapes::ShapeRef.new(shape: SSES3, location_name: "SSE-S3"))
1083
+ InventoryEncryption.add_member(:ssekms, Shapes::ShapeRef.new(shape: SSEKMS, location_name: "SSE-KMS"))
1084
+ InventoryEncryption.struct_class = Types::InventoryEncryption
1085
+
1043
1086
  InventoryFilter.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, required: true, location_name: "Prefix"))
1044
1087
  InventoryFilter.struct_class = Types::InventoryFilter
1045
1088
 
@@ -1049,6 +1092,7 @@ module Aws::S3
1049
1092
  InventoryS3BucketDestination.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location_name: "Bucket"))
1050
1093
  InventoryS3BucketDestination.add_member(:format, Shapes::ShapeRef.new(shape: InventoryFormat, required: true, location_name: "Format"))
1051
1094
  InventoryS3BucketDestination.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1095
+ InventoryS3BucketDestination.add_member(:encryption, Shapes::ShapeRef.new(shape: InventoryEncryption, location_name: "Encryption"))
1052
1096
  InventoryS3BucketDestination.struct_class = Types::InventoryS3BucketDestination
1053
1097
 
1054
1098
  InventorySchedule.add_member(:frequency, Shapes::ShapeRef.new(shape: InventoryFrequency, required: true, location_name: "Frequency"))
@@ -1371,6 +1415,13 @@ module Aws::S3
1371
1415
  PutBucketCorsRequest[:payload] = :cors_configuration
1372
1416
  PutBucketCorsRequest[:payload_member] = PutBucketCorsRequest.member(:cors_configuration)
1373
1417
 
1418
+ PutBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1419
+ PutBucketEncryptionRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1420
+ PutBucketEncryptionRequest.add_member(:server_side_encryption_configuration, Shapes::ShapeRef.new(shape: ServerSideEncryptionConfiguration, required: true, location_name: "ServerSideEncryptionConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1421
+ PutBucketEncryptionRequest.struct_class = Types::PutBucketEncryptionRequest
1422
+ PutBucketEncryptionRequest[:payload] = :server_side_encryption_configuration
1423
+ PutBucketEncryptionRequest[:payload_member] = PutBucketEncryptionRequest.member(:server_side_encryption_configuration)
1424
+
1374
1425
  PutBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1375
1426
  PutBucketInventoryConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: InventoryId, required: true, location: "querystring", location_name: "id"))
1376
1427
  PutBucketInventoryConfigurationRequest.add_member(:inventory_configuration, Shapes::ShapeRef.new(shape: InventoryConfiguration, required: true, location_name: "InventoryConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
@@ -1420,6 +1471,7 @@ module Aws::S3
1420
1471
 
1421
1472
  PutBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1422
1473
  PutBucketPolicyRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1474
+ PutBucketPolicyRequest.add_member(:confirm_remove_self_bucket_access, Shapes::ShapeRef.new(shape: ConfirmRemoveSelfBucketAccess, location: "header", location_name: "x-amz-confirm-remove-self-bucket-access"))
1423
1475
  PutBucketPolicyRequest.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, required: true, location_name: "Policy"))
1424
1476
  PutBucketPolicyRequest.struct_class = Types::PutBucketPolicyRequest
1425
1477
  PutBucketPolicyRequest[:payload] = :policy
@@ -1564,6 +1616,7 @@ module Aws::S3
1564
1616
  ReplicationRule.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "ID"))
1565
1617
  ReplicationRule.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, required: true, location_name: "Prefix"))
1566
1618
  ReplicationRule.add_member(:status, Shapes::ShapeRef.new(shape: ReplicationRuleStatus, required: true, location_name: "Status"))
1619
+ ReplicationRule.add_member(:source_selection_criteria, Shapes::ShapeRef.new(shape: SourceSelectionCriteria, location_name: "SourceSelectionCriteria"))
1567
1620
  ReplicationRule.add_member(:destination, Shapes::ShapeRef.new(shape: Destination, required: true, location_name: "Destination"))
1568
1621
  ReplicationRule.struct_class = Types::ReplicationRule
1569
1622
 
@@ -1609,6 +1662,29 @@ module Aws::S3
1609
1662
  S3KeyFilter.add_member(:filter_rules, Shapes::ShapeRef.new(shape: FilterRuleList, location_name: "FilterRule"))
1610
1663
  S3KeyFilter.struct_class = Types::S3KeyFilter
1611
1664
 
1665
+ SSEKMS.add_member(:key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, required: true, location_name: "KeyId"))
1666
+ SSEKMS.struct_class = Types::SSEKMS
1667
+
1668
+ SSES3.struct_class = Types::SSES3
1669
+
1670
+ ServerSideEncryptionByDefault.add_member(:sse_algorithm, Shapes::ShapeRef.new(shape: ServerSideEncryption, required: true, location_name: "SSEAlgorithm"))
1671
+ ServerSideEncryptionByDefault.add_member(:kms_master_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location_name: "KMSMasterKeyID"))
1672
+ ServerSideEncryptionByDefault.struct_class = Types::ServerSideEncryptionByDefault
1673
+
1674
+ ServerSideEncryptionConfiguration.add_member(:rules, Shapes::ShapeRef.new(shape: ServerSideEncryptionRules, required: true, location_name: "Rule"))
1675
+ ServerSideEncryptionConfiguration.struct_class = Types::ServerSideEncryptionConfiguration
1676
+
1677
+ ServerSideEncryptionRule.add_member(:apply_server_side_encryption_by_default, Shapes::ShapeRef.new(shape: ServerSideEncryptionByDefault, location_name: "ApplyServerSideEncryptionByDefault"))
1678
+ ServerSideEncryptionRule.struct_class = Types::ServerSideEncryptionRule
1679
+
1680
+ ServerSideEncryptionRules.member = Shapes::ShapeRef.new(shape: ServerSideEncryptionRule)
1681
+
1682
+ SourceSelectionCriteria.add_member(:sse_kms_encrypted_objects, Shapes::ShapeRef.new(shape: SseKmsEncryptedObjects, location_name: "SseKmsEncryptedObjects"))
1683
+ SourceSelectionCriteria.struct_class = Types::SourceSelectionCriteria
1684
+
1685
+ SseKmsEncryptedObjects.add_member(:status, Shapes::ShapeRef.new(shape: SseKmsEncryptedObjectsStatus, required: true, location_name: "Status"))
1686
+ SseKmsEncryptedObjects.struct_class = Types::SseKmsEncryptedObjects
1687
+
1612
1688
  StorageClassAnalysis.add_member(:data_export, Shapes::ShapeRef.new(shape: StorageClassAnalysisDataExport, location_name: "DataExport"))
1613
1689
  StorageClassAnalysis.struct_class = Types::StorageClassAnalysis
1614
1690
 
@@ -1796,6 +1872,14 @@ module Aws::S3
1796
1872
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1797
1873
  end)
1798
1874
 
1875
+ api.add_operation(:delete_bucket_encryption, Seahorse::Model::Operation.new.tap do |o|
1876
+ o.name = "DeleteBucketEncryption"
1877
+ o.http_method = "DELETE"
1878
+ o.http_request_uri = "/{Bucket}?encryption"
1879
+ o.input = Shapes::ShapeRef.new(shape: DeleteBucketEncryptionRequest)
1880
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1881
+ end)
1882
+
1799
1883
  api.add_operation(:delete_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
1800
1884
  o.name = "DeleteBucketInventoryConfiguration"
1801
1885
  o.http_method = "DELETE"
@@ -1908,6 +1992,14 @@ module Aws::S3
1908
1992
  o.output = Shapes::ShapeRef.new(shape: GetBucketCorsOutput)
1909
1993
  end)
1910
1994
 
1995
+ api.add_operation(:get_bucket_encryption, Seahorse::Model::Operation.new.tap do |o|
1996
+ o.name = "GetBucketEncryption"
1997
+ o.http_method = "GET"
1998
+ o.http_request_uri = "/{Bucket}?encryption"
1999
+ o.input = Shapes::ShapeRef.new(shape: GetBucketEncryptionRequest)
2000
+ o.output = Shapes::ShapeRef.new(shape: GetBucketEncryptionOutput)
2001
+ end)
2002
+
1911
2003
  api.add_operation(:get_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
1912
2004
  o.name = "GetBucketInventoryConfiguration"
1913
2005
  o.http_method = "GET"
@@ -2216,6 +2308,14 @@ module Aws::S3
2216
2308
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2217
2309
  end)
2218
2310
 
2311
+ api.add_operation(:put_bucket_encryption, Seahorse::Model::Operation.new.tap do |o|
2312
+ o.name = "PutBucketEncryption"
2313
+ o.http_method = "PUT"
2314
+ o.http_request_uri = "/{Bucket}?encryption"
2315
+ o.input = Shapes::ShapeRef.new(shape: PutBucketEncryptionRequest)
2316
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2317
+ end)
2318
+
2219
2319
  api.add_operation(:put_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
2220
2320
  o.name = "PutBucketInventoryConfiguration"
2221
2321
  o.http_method = "PUT"
@@ -135,6 +135,26 @@ module Aws::S3
135
135
  include Aws::Structure
136
136
  end
137
137
 
138
+ # Container for information regarding the access control for replicas.
139
+ #
140
+ # @note When making an API call, you may pass AccessControlTranslation
141
+ # data as a hash:
142
+ #
143
+ # {
144
+ # owner: "Destination", # required, accepts Destination
145
+ # }
146
+ #
147
+ # @!attribute [rw] owner
148
+ # The override value for the owner of the replica object.
149
+ # @return [String]
150
+ #
151
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AccessControlTranslation AWS API Documentation
152
+ #
153
+ class AccessControlTranslation < Struct.new(
154
+ :owner)
155
+ include Aws::Structure
156
+ end
157
+
138
158
  # @note When making an API call, you may pass AnalyticsAndOperator
139
159
  # data as a hash:
140
160
  #
@@ -1483,6 +1503,25 @@ module Aws::S3
1483
1503
  include Aws::Structure
1484
1504
  end
1485
1505
 
1506
+ # @note When making an API call, you may pass DeleteBucketEncryptionRequest
1507
+ # data as a hash:
1508
+ #
1509
+ # {
1510
+ # bucket: "BucketName", # required
1511
+ # }
1512
+ #
1513
+ # @!attribute [rw] bucket
1514
+ # The name of the bucket containing the server-side encryption
1515
+ # configuration to delete.
1516
+ # @return [String]
1517
+ #
1518
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryptionRequest AWS API Documentation
1519
+ #
1520
+ class DeleteBucketEncryptionRequest < Struct.new(
1521
+ :bucket)
1522
+ include Aws::Structure
1523
+ end
1524
+
1486
1525
  # @note When making an API call, you may pass DeleteBucketInventoryConfigurationRequest
1487
1526
  # data as a hash:
1488
1527
  #
@@ -1865,12 +1904,21 @@ module Aws::S3
1865
1904
  include Aws::Structure
1866
1905
  end
1867
1906
 
1907
+ # Container for replication destination information.
1908
+ #
1868
1909
  # @note When making an API call, you may pass Destination
1869
1910
  # data as a hash:
1870
1911
  #
1871
1912
  # {
1872
1913
  # bucket: "BucketName", # required
1914
+ # account: "AccountId",
1873
1915
  # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA
1916
+ # access_control_translation: {
1917
+ # owner: "Destination", # required, accepts Destination
1918
+ # },
1919
+ # encryption_configuration: {
1920
+ # replica_kms_key_id: "ReplicaKmsKeyID",
1921
+ # },
1874
1922
  # }
1875
1923
  #
1876
1924
  # @!attribute [rw] bucket
@@ -1878,15 +1926,53 @@ module Aws::S3
1878
1926
  # store replicas of the object identified by the rule.
1879
1927
  # @return [String]
1880
1928
  #
1929
+ # @!attribute [rw] account
1930
+ # Account ID of the destination bucket. Currently this is only being
1931
+ # verified if Access Control Translation is enabled
1932
+ # @return [String]
1933
+ #
1881
1934
  # @!attribute [rw] storage_class
1882
1935
  # The class of storage used to store the object.
1883
1936
  # @return [String]
1884
1937
  #
1938
+ # @!attribute [rw] access_control_translation
1939
+ # Container for information regarding the access control for replicas.
1940
+ # @return [Types::AccessControlTranslation]
1941
+ #
1942
+ # @!attribute [rw] encryption_configuration
1943
+ # Container for information regarding encryption based configuration
1944
+ # for replicas.
1945
+ # @return [Types::EncryptionConfiguration]
1946
+ #
1885
1947
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Destination AWS API Documentation
1886
1948
  #
1887
1949
  class Destination < Struct.new(
1888
1950
  :bucket,
1889
- :storage_class)
1951
+ :account,
1952
+ :storage_class,
1953
+ :access_control_translation,
1954
+ :encryption_configuration)
1955
+ include Aws::Structure
1956
+ end
1957
+
1958
+ # Container for information regarding encryption based configuration for
1959
+ # replicas.
1960
+ #
1961
+ # @note When making an API call, you may pass EncryptionConfiguration
1962
+ # data as a hash:
1963
+ #
1964
+ # {
1965
+ # replica_kms_key_id: "ReplicaKmsKeyID",
1966
+ # }
1967
+ #
1968
+ # @!attribute [rw] replica_kms_key_id
1969
+ # The id of the KMS key used to encrypt the replica object.
1970
+ # @return [String]
1971
+ #
1972
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/EncryptionConfiguration AWS API Documentation
1973
+ #
1974
+ class EncryptionConfiguration < Struct.new(
1975
+ :replica_kms_key_id)
1890
1976
  include Aws::Structure
1891
1977
  end
1892
1978
 
@@ -2090,6 +2176,37 @@ module Aws::S3
2090
2176
  include Aws::Structure
2091
2177
  end
2092
2178
 
2179
+ # @!attribute [rw] server_side_encryption_configuration
2180
+ # Container for server-side encryption configuration rules. Currently
2181
+ # S3 supports one rule only.
2182
+ # @return [Types::ServerSideEncryptionConfiguration]
2183
+ #
2184
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryptionOutput AWS API Documentation
2185
+ #
2186
+ class GetBucketEncryptionOutput < Struct.new(
2187
+ :server_side_encryption_configuration)
2188
+ include Aws::Structure
2189
+ end
2190
+
2191
+ # @note When making an API call, you may pass GetBucketEncryptionRequest
2192
+ # data as a hash:
2193
+ #
2194
+ # {
2195
+ # bucket: "BucketName", # required
2196
+ # }
2197
+ #
2198
+ # @!attribute [rw] bucket
2199
+ # The name of the bucket from which the server-side encryption
2200
+ # configuration is retrieved.
2201
+ # @return [String]
2202
+ #
2203
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryptionRequest AWS API Documentation
2204
+ #
2205
+ class GetBucketEncryptionRequest < Struct.new(
2206
+ :bucket)
2207
+ include Aws::Structure
2208
+ end
2209
+
2093
2210
  # @!attribute [rw] inventory_configuration
2094
2211
  # Specifies the inventory configuration.
2095
2212
  # @return [Types::InventoryConfiguration]
@@ -3357,6 +3474,13 @@ module Aws::S3
3357
3474
  # bucket: "BucketName", # required
3358
3475
  # format: "CSV", # required, accepts CSV
3359
3476
  # prefix: "Prefix",
3477
+ # encryption: {
3478
+ # sses3: {
3479
+ # },
3480
+ # ssekms: {
3481
+ # key_id: "SSEKMSKeyId", # required
3482
+ # },
3483
+ # },
3360
3484
  # },
3361
3485
  # },
3362
3486
  # is_enabled: false, # required
@@ -3365,7 +3489,7 @@ module Aws::S3
3365
3489
  # },
3366
3490
  # id: "InventoryId", # required
3367
3491
  # included_object_versions: "All", # required, accepts All, Current
3368
- # optional_fields: ["Size"], # accepts Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus
3492
+ # optional_fields: ["Size"], # accepts Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus, EncryptionStatus
3369
3493
  # schedule: { # required
3370
3494
  # frequency: "Daily", # required, accepts Daily, Weekly
3371
3495
  # },
@@ -3424,6 +3548,13 @@ module Aws::S3
3424
3548
  # bucket: "BucketName", # required
3425
3549
  # format: "CSV", # required, accepts CSV
3426
3550
  # prefix: "Prefix",
3551
+ # encryption: {
3552
+ # sses3: {
3553
+ # },
3554
+ # ssekms: {
3555
+ # key_id: "SSEKMSKeyId", # required
3556
+ # },
3557
+ # },
3427
3558
  # },
3428
3559
  # }
3429
3560
  #
@@ -3439,6 +3570,37 @@ module Aws::S3
3439
3570
  include Aws::Structure
3440
3571
  end
3441
3572
 
3573
+ # Contains the type of server-side encryption used to encrypt the
3574
+ # inventory results.
3575
+ #
3576
+ # @note When making an API call, you may pass InventoryEncryption
3577
+ # data as a hash:
3578
+ #
3579
+ # {
3580
+ # sses3: {
3581
+ # },
3582
+ # ssekms: {
3583
+ # key_id: "SSEKMSKeyId", # required
3584
+ # },
3585
+ # }
3586
+ #
3587
+ # @!attribute [rw] sses3
3588
+ # Specifies the use of SSE-S3 to encrypt delievered Inventory reports.
3589
+ # @return [Types::SSES3]
3590
+ #
3591
+ # @!attribute [rw] ssekms
3592
+ # Specifies the use of SSE-KMS to encrypt delievered Inventory
3593
+ # reports.
3594
+ # @return [Types::SSEKMS]
3595
+ #
3596
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryEncryption AWS API Documentation
3597
+ #
3598
+ class InventoryEncryption < Struct.new(
3599
+ :sses3,
3600
+ :ssekms)
3601
+ include Aws::Structure
3602
+ end
3603
+
3442
3604
  # @note When making an API call, you may pass InventoryFilter
3443
3605
  # data as a hash:
3444
3606
  #
@@ -3466,6 +3628,13 @@ module Aws::S3
3466
3628
  # bucket: "BucketName", # required
3467
3629
  # format: "CSV", # required, accepts CSV
3468
3630
  # prefix: "Prefix",
3631
+ # encryption: {
3632
+ # sses3: {
3633
+ # },
3634
+ # ssekms: {
3635
+ # key_id: "SSEKMSKeyId", # required
3636
+ # },
3637
+ # },
3469
3638
  # }
3470
3639
  #
3471
3640
  # @!attribute [rw] account_id
@@ -3485,13 +3654,19 @@ module Aws::S3
3485
3654
  # The prefix that is prepended to all inventory results.
3486
3655
  # @return [String]
3487
3656
  #
3657
+ # @!attribute [rw] encryption
3658
+ # Contains the type of server-side encryption used to encrypt the
3659
+ # inventory results.
3660
+ # @return [Types::InventoryEncryption]
3661
+ #
3488
3662
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryS3BucketDestination AWS API Documentation
3489
3663
  #
3490
3664
  class InventoryS3BucketDestination < Struct.new(
3491
3665
  :account_id,
3492
3666
  :bucket,
3493
3667
  :format,
3494
- :prefix)
3668
+ :prefix,
3669
+ :encryption)
3495
3670
  include Aws::Structure
3496
3671
  end
3497
3672
 
@@ -5480,6 +5655,48 @@ module Aws::S3
5480
5655
  include Aws::Structure
5481
5656
  end
5482
5657
 
5658
+ # @note When making an API call, you may pass PutBucketEncryptionRequest
5659
+ # data as a hash:
5660
+ #
5661
+ # {
5662
+ # bucket: "BucketName", # required
5663
+ # content_md5: "ContentMD5",
5664
+ # server_side_encryption_configuration: { # required
5665
+ # rules: [ # required
5666
+ # {
5667
+ # apply_server_side_encryption_by_default: {
5668
+ # sse_algorithm: "AES256", # required, accepts AES256, aws:kms
5669
+ # kms_master_key_id: "SSEKMSKeyId",
5670
+ # },
5671
+ # },
5672
+ # ],
5673
+ # },
5674
+ # }
5675
+ #
5676
+ # @!attribute [rw] bucket
5677
+ # The name of the bucket for which the server-side encryption
5678
+ # configuration is set.
5679
+ # @return [String]
5680
+ #
5681
+ # @!attribute [rw] content_md5
5682
+ # The base64-encoded 128-bit MD5 digest of the server-side encryption
5683
+ # configuration.
5684
+ # @return [String]
5685
+ #
5686
+ # @!attribute [rw] server_side_encryption_configuration
5687
+ # Container for server-side encryption configuration rules. Currently
5688
+ # S3 supports one rule only.
5689
+ # @return [Types::ServerSideEncryptionConfiguration]
5690
+ #
5691
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryptionRequest AWS API Documentation
5692
+ #
5693
+ class PutBucketEncryptionRequest < Struct.new(
5694
+ :bucket,
5695
+ :content_md5,
5696
+ :server_side_encryption_configuration)
5697
+ include Aws::Structure
5698
+ end
5699
+
5483
5700
  # @note When making an API call, you may pass PutBucketInventoryConfigurationRequest
5484
5701
  # data as a hash:
5485
5702
  #
@@ -5493,6 +5710,13 @@ module Aws::S3
5493
5710
  # bucket: "BucketName", # required
5494
5711
  # format: "CSV", # required, accepts CSV
5495
5712
  # prefix: "Prefix",
5713
+ # encryption: {
5714
+ # sses3: {
5715
+ # },
5716
+ # ssekms: {
5717
+ # key_id: "SSEKMSKeyId", # required
5718
+ # },
5719
+ # },
5496
5720
  # },
5497
5721
  # },
5498
5722
  # is_enabled: false, # required
@@ -5501,7 +5725,7 @@ module Aws::S3
5501
5725
  # },
5502
5726
  # id: "InventoryId", # required
5503
5727
  # included_object_versions: "All", # required, accepts All, Current
5504
- # optional_fields: ["Size"], # accepts Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus
5728
+ # optional_fields: ["Size"], # accepts Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus, EncryptionStatus
5505
5729
  # schedule: { # required
5506
5730
  # frequency: "Daily", # required, accepts Daily, Weekly
5507
5731
  # },
@@ -5877,6 +6101,7 @@ module Aws::S3
5877
6101
  # {
5878
6102
  # bucket: "BucketName", # required
5879
6103
  # content_md5: "ContentMD5",
6104
+ # confirm_remove_self_bucket_access: false,
5880
6105
  # policy: "Policy", # required
5881
6106
  # }
5882
6107
  #
@@ -5886,6 +6111,11 @@ module Aws::S3
5886
6111
  # @!attribute [rw] content_md5
5887
6112
  # @return [String]
5888
6113
  #
6114
+ # @!attribute [rw] confirm_remove_self_bucket_access
6115
+ # Set this parameter to true to confirm that you want to remove your
6116
+ # permissions to change this bucket policy in the future.
6117
+ # @return [Boolean]
6118
+ #
5889
6119
  # @!attribute [rw] policy
5890
6120
  # The bucket policy as a JSON document.
5891
6121
  # @return [String]
@@ -5895,6 +6125,7 @@ module Aws::S3
5895
6125
  class PutBucketPolicyRequest < Struct.new(
5896
6126
  :bucket,
5897
6127
  :content_md5,
6128
+ :confirm_remove_self_bucket_access,
5898
6129
  :policy)
5899
6130
  include Aws::Structure
5900
6131
  end
@@ -5912,9 +6143,21 @@ module Aws::S3
5912
6143
  # id: "ID",
5913
6144
  # prefix: "Prefix", # required
5914
6145
  # status: "Enabled", # required, accepts Enabled, Disabled
6146
+ # source_selection_criteria: {
6147
+ # sse_kms_encrypted_objects: {
6148
+ # status: "Enabled", # required, accepts Enabled, Disabled
6149
+ # },
6150
+ # },
5915
6151
  # destination: { # required
5916
6152
  # bucket: "BucketName", # required
6153
+ # account: "AccountId",
5917
6154
  # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA
6155
+ # access_control_translation: {
6156
+ # owner: "Destination", # required, accepts Destination
6157
+ # },
6158
+ # encryption_configuration: {
6159
+ # replica_kms_key_id: "ReplicaKmsKeyID",
6160
+ # },
5918
6161
  # },
5919
6162
  # },
5920
6163
  # ],
@@ -6697,9 +6940,21 @@ module Aws::S3
6697
6940
  # id: "ID",
6698
6941
  # prefix: "Prefix", # required
6699
6942
  # status: "Enabled", # required, accepts Enabled, Disabled
6943
+ # source_selection_criteria: {
6944
+ # sse_kms_encrypted_objects: {
6945
+ # status: "Enabled", # required, accepts Enabled, Disabled
6946
+ # },
6947
+ # },
6700
6948
  # destination: { # required
6701
6949
  # bucket: "BucketName", # required
6950
+ # account: "AccountId",
6702
6951
  # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA
6952
+ # access_control_translation: {
6953
+ # owner: "Destination", # required, accepts Destination
6954
+ # },
6955
+ # encryption_configuration: {
6956
+ # replica_kms_key_id: "ReplicaKmsKeyID",
6957
+ # },
6703
6958
  # },
6704
6959
  # },
6705
6960
  # ],
@@ -6724,6 +6979,8 @@ module Aws::S3
6724
6979
  include Aws::Structure
6725
6980
  end
6726
6981
 
6982
+ # Container for information about a particular replication rule.
6983
+ #
6727
6984
  # @note When making an API call, you may pass ReplicationRule
6728
6985
  # data as a hash:
6729
6986
  #
@@ -6731,9 +6988,21 @@ module Aws::S3
6731
6988
  # id: "ID",
6732
6989
  # prefix: "Prefix", # required
6733
6990
  # status: "Enabled", # required, accepts Enabled, Disabled
6991
+ # source_selection_criteria: {
6992
+ # sse_kms_encrypted_objects: {
6993
+ # status: "Enabled", # required, accepts Enabled, Disabled
6994
+ # },
6995
+ # },
6734
6996
  # destination: { # required
6735
6997
  # bucket: "BucketName", # required
6998
+ # account: "AccountId",
6736
6999
  # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA
7000
+ # access_control_translation: {
7001
+ # owner: "Destination", # required, accepts Destination
7002
+ # },
7003
+ # encryption_configuration: {
7004
+ # replica_kms_key_id: "ReplicaKmsKeyID",
7005
+ # },
6737
7006
  # },
6738
7007
  # }
6739
7008
  #
@@ -6752,7 +7021,13 @@ module Aws::S3
6752
7021
  # The rule is ignored if status is not Enabled.
6753
7022
  # @return [String]
6754
7023
  #
7024
+ # @!attribute [rw] source_selection_criteria
7025
+ # Container for filters that define which source objects should be
7026
+ # replicated.
7027
+ # @return [Types::SourceSelectionCriteria]
7028
+ #
6755
7029
  # @!attribute [rw] destination
7030
+ # Container for replication destination information.
6756
7031
  # @return [Types::Destination]
6757
7032
  #
6758
7033
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicationRule AWS API Documentation
@@ -6761,6 +7036,7 @@ module Aws::S3
6761
7036
  :id,
6762
7037
  :prefix,
6763
7038
  :status,
7039
+ :source_selection_criteria,
6764
7040
  :destination)
6765
7041
  include Aws::Structure
6766
7042
  end
@@ -7021,6 +7297,165 @@ module Aws::S3
7021
7297
  include Aws::Structure
7022
7298
  end
7023
7299
 
7300
+ # Specifies the use of SSE-KMS to encrypt delievered Inventory reports.
7301
+ #
7302
+ # @note When making an API call, you may pass SSEKMS
7303
+ # data as a hash:
7304
+ #
7305
+ # {
7306
+ # key_id: "SSEKMSKeyId", # required
7307
+ # }
7308
+ #
7309
+ # @!attribute [rw] key_id
7310
+ # Specifies the ID of the AWS Key Management Service (KMS) master
7311
+ # encryption key to use for encrypting Inventory reports.
7312
+ # @return [String]
7313
+ #
7314
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SSEKMS AWS API Documentation
7315
+ #
7316
+ class SSEKMS < Struct.new(
7317
+ :key_id)
7318
+ include Aws::Structure
7319
+ end
7320
+
7321
+ # Specifies the use of SSE-S3 to encrypt delievered Inventory reports.
7322
+ #
7323
+ # @api private
7324
+ #
7325
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SSES3 AWS API Documentation
7326
+ #
7327
+ class SSES3 < Aws::EmptyStructure; end
7328
+
7329
+ # Describes the default server-side encryption to apply to new objects
7330
+ # in the bucket. If Put Object request does not specify any server-side
7331
+ # encryption, this default encryption will be applied.
7332
+ #
7333
+ # @note When making an API call, you may pass ServerSideEncryptionByDefault
7334
+ # data as a hash:
7335
+ #
7336
+ # {
7337
+ # sse_algorithm: "AES256", # required, accepts AES256, aws:kms
7338
+ # kms_master_key_id: "SSEKMSKeyId",
7339
+ # }
7340
+ #
7341
+ # @!attribute [rw] sse_algorithm
7342
+ # Server-side encryption algorithm to use for the default encryption.
7343
+ # @return [String]
7344
+ #
7345
+ # @!attribute [rw] kms_master_key_id
7346
+ # KMS master key ID to use for the default encryption. This parameter
7347
+ # is allowed if SSEAlgorithm is aws:kms.
7348
+ # @return [String]
7349
+ #
7350
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ServerSideEncryptionByDefault AWS API Documentation
7351
+ #
7352
+ class ServerSideEncryptionByDefault < Struct.new(
7353
+ :sse_algorithm,
7354
+ :kms_master_key_id)
7355
+ include Aws::Structure
7356
+ end
7357
+
7358
+ # Container for server-side encryption configuration rules. Currently S3
7359
+ # supports one rule only.
7360
+ #
7361
+ # @note When making an API call, you may pass ServerSideEncryptionConfiguration
7362
+ # data as a hash:
7363
+ #
7364
+ # {
7365
+ # rules: [ # required
7366
+ # {
7367
+ # apply_server_side_encryption_by_default: {
7368
+ # sse_algorithm: "AES256", # required, accepts AES256, aws:kms
7369
+ # kms_master_key_id: "SSEKMSKeyId",
7370
+ # },
7371
+ # },
7372
+ # ],
7373
+ # }
7374
+ #
7375
+ # @!attribute [rw] rules
7376
+ # Container for information about a particular server-side encryption
7377
+ # configuration rule.
7378
+ # @return [Array<Types::ServerSideEncryptionRule>]
7379
+ #
7380
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ServerSideEncryptionConfiguration AWS API Documentation
7381
+ #
7382
+ class ServerSideEncryptionConfiguration < Struct.new(
7383
+ :rules)
7384
+ include Aws::Structure
7385
+ end
7386
+
7387
+ # Container for information about a particular server-side encryption
7388
+ # configuration rule.
7389
+ #
7390
+ # @note When making an API call, you may pass ServerSideEncryptionRule
7391
+ # data as a hash:
7392
+ #
7393
+ # {
7394
+ # apply_server_side_encryption_by_default: {
7395
+ # sse_algorithm: "AES256", # required, accepts AES256, aws:kms
7396
+ # kms_master_key_id: "SSEKMSKeyId",
7397
+ # },
7398
+ # }
7399
+ #
7400
+ # @!attribute [rw] apply_server_side_encryption_by_default
7401
+ # Describes the default server-side encryption to apply to new objects
7402
+ # in the bucket. If Put Object request does not specify any
7403
+ # server-side encryption, this default encryption will be applied.
7404
+ # @return [Types::ServerSideEncryptionByDefault]
7405
+ #
7406
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ServerSideEncryptionRule AWS API Documentation
7407
+ #
7408
+ class ServerSideEncryptionRule < Struct.new(
7409
+ :apply_server_side_encryption_by_default)
7410
+ include Aws::Structure
7411
+ end
7412
+
7413
+ # Container for filters that define which source objects should be
7414
+ # replicated.
7415
+ #
7416
+ # @note When making an API call, you may pass SourceSelectionCriteria
7417
+ # data as a hash:
7418
+ #
7419
+ # {
7420
+ # sse_kms_encrypted_objects: {
7421
+ # status: "Enabled", # required, accepts Enabled, Disabled
7422
+ # },
7423
+ # }
7424
+ #
7425
+ # @!attribute [rw] sse_kms_encrypted_objects
7426
+ # Container for filter information of selection of KMS Encrypted S3
7427
+ # objects.
7428
+ # @return [Types::SseKmsEncryptedObjects]
7429
+ #
7430
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SourceSelectionCriteria AWS API Documentation
7431
+ #
7432
+ class SourceSelectionCriteria < Struct.new(
7433
+ :sse_kms_encrypted_objects)
7434
+ include Aws::Structure
7435
+ end
7436
+
7437
+ # Container for filter information of selection of KMS Encrypted S3
7438
+ # objects.
7439
+ #
7440
+ # @note When making an API call, you may pass SseKmsEncryptedObjects
7441
+ # data as a hash:
7442
+ #
7443
+ # {
7444
+ # status: "Enabled", # required, accepts Enabled, Disabled
7445
+ # }
7446
+ #
7447
+ # @!attribute [rw] status
7448
+ # The replication for KMS encrypted S3 objects is disabled if status
7449
+ # is not Enabled.
7450
+ # @return [String]
7451
+ #
7452
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SseKmsEncryptedObjects AWS API Documentation
7453
+ #
7454
+ class SseKmsEncryptedObjects < Struct.new(
7455
+ :status)
7456
+ include Aws::Structure
7457
+ end
7458
+
7024
7459
  # @note When making an API call, you may pass StorageClassAnalysis
7025
7460
  # data as a hash:
7026
7461
  #