aws-sdk-s3 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
  #