aws-sdk-s3 1.191.0 → 1.208.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.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +114 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +33 -1
  5. data/lib/aws-sdk-s3/bucket_acl.rb +1 -1
  6. data/lib/aws-sdk-s3/bucket_versioning.rb +33 -0
  7. data/lib/aws-sdk-s3/client.rb +1503 -392
  8. data/lib/aws-sdk-s3/client_api.rb +248 -0
  9. data/lib/aws-sdk-s3/customizations/object.rb +76 -86
  10. data/lib/aws-sdk-s3/customizations.rb +4 -1
  11. data/lib/aws-sdk-s3/default_executor.rb +103 -0
  12. data/lib/aws-sdk-s3/encryption/client.rb +2 -2
  13. data/lib/aws-sdk-s3/encryption/default_cipher_provider.rb +2 -0
  14. data/lib/aws-sdk-s3/encryption/encrypt_handler.rb +2 -0
  15. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +2 -0
  16. data/lib/aws-sdk-s3/encryptionV2/client.rb +98 -23
  17. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +7 -162
  18. data/lib/aws-sdk-s3/encryptionV2/decryption.rb +205 -0
  19. data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +17 -0
  20. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +2 -0
  21. data/lib/aws-sdk-s3/encryptionV2/io_encrypter.rb +2 -0
  22. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +8 -0
  23. data/lib/aws-sdk-s3/encryptionV2/utils.rb +5 -0
  24. data/lib/aws-sdk-s3/encryptionV3/client.rb +885 -0
  25. data/lib/aws-sdk-s3/encryptionV3/decrypt_handler.rb +98 -0
  26. data/lib/aws-sdk-s3/encryptionV3/decryption.rb +244 -0
  27. data/lib/aws-sdk-s3/encryptionV3/default_cipher_provider.rb +159 -0
  28. data/lib/aws-sdk-s3/encryptionV3/default_key_provider.rb +35 -0
  29. data/lib/aws-sdk-s3/encryptionV3/encrypt_handler.rb +98 -0
  30. data/lib/aws-sdk-s3/encryptionV3/errors.rb +47 -0
  31. data/lib/aws-sdk-s3/encryptionV3/io_auth_decrypter.rb +60 -0
  32. data/lib/aws-sdk-s3/encryptionV3/io_decrypter.rb +35 -0
  33. data/lib/aws-sdk-s3/encryptionV3/io_encrypter.rb +84 -0
  34. data/lib/aws-sdk-s3/encryptionV3/key_provider.rb +28 -0
  35. data/lib/aws-sdk-s3/encryptionV3/kms_cipher_provider.rb +159 -0
  36. data/lib/aws-sdk-s3/encryptionV3/materials.rb +58 -0
  37. data/lib/aws-sdk-s3/encryptionV3/utils.rb +321 -0
  38. data/lib/aws-sdk-s3/encryption_v2.rb +1 -0
  39. data/lib/aws-sdk-s3/encryption_v3.rb +24 -0
  40. data/lib/aws-sdk-s3/endpoint_parameters.rb +17 -17
  41. data/lib/aws-sdk-s3/endpoint_provider.rb +220 -50
  42. data/lib/aws-sdk-s3/endpoints.rb +96 -0
  43. data/lib/aws-sdk-s3/file_downloader.rb +197 -134
  44. data/lib/aws-sdk-s3/file_uploader.rb +9 -13
  45. data/lib/aws-sdk-s3/multipart_download_error.rb +8 -0
  46. data/lib/aws-sdk-s3/multipart_file_uploader.rb +92 -107
  47. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +96 -107
  48. data/lib/aws-sdk-s3/multipart_upload_error.rb +3 -4
  49. data/lib/aws-sdk-s3/object.rb +56 -27
  50. data/lib/aws-sdk-s3/object_acl.rb +1 -1
  51. data/lib/aws-sdk-s3/object_summary.rb +42 -13
  52. data/lib/aws-sdk-s3/object_version.rb +7 -9
  53. data/lib/aws-sdk-s3/plugins/endpoints.rb +1 -1
  54. data/lib/aws-sdk-s3/resource.rb +6 -0
  55. data/lib/aws-sdk-s3/transfer_manager.rb +303 -0
  56. data/lib/aws-sdk-s3/types.rb +1179 -260
  57. data/lib/aws-sdk-s3.rb +1 -1
  58. data/sig/bucket.rbs +11 -2
  59. data/sig/client.rbs +127 -13
  60. data/sig/multipart_upload.rbs +1 -1
  61. data/sig/object.rbs +7 -5
  62. data/sig/object_summary.rbs +7 -5
  63. data/sig/resource.rbs +8 -1
  64. data/sig/types.rbs +173 -14
  65. metadata +22 -3
@@ -14,6 +14,7 @@ module Aws::S3
14
14
 
15
15
  include Seahorse::Model
16
16
 
17
+ AbacStatus = Shapes::StructureShape.new(name: 'AbacStatus')
17
18
  AbortDate = Shapes::TimestampShape.new(name: 'AbortDate')
18
19
  AbortIncompleteMultipartUpload = Shapes::StructureShape.new(name: 'AbortIncompleteMultipartUpload')
19
20
  AbortMultipartUploadOutput = Shapes::StructureShape.new(name: 'AbortMultipartUploadOutput')
@@ -43,8 +44,10 @@ module Aws::S3
43
44
  AnalyticsS3BucketDestination = Shapes::StructureShape.new(name: 'AnalyticsS3BucketDestination')
44
45
  AnalyticsS3ExportFileFormat = Shapes::StringShape.new(name: 'AnalyticsS3ExportFileFormat')
45
46
  ArchiveStatus = Shapes::StringShape.new(name: 'ArchiveStatus')
47
+ BlockedEncryptionTypes = Shapes::StructureShape.new(name: 'BlockedEncryptionTypes')
46
48
  Body = Shapes::BlobShape.new(name: 'Body')
47
49
  Bucket = Shapes::StructureShape.new(name: 'Bucket')
50
+ BucketAbacStatus = Shapes::StringShape.new(name: 'BucketAbacStatus')
48
51
  BucketAccelerateStatus = Shapes::StringShape.new(name: 'BucketAccelerateStatus')
49
52
  BucketAlreadyExists = Shapes::StructureShape.new(name: 'BucketAlreadyExists')
50
53
  BucketAlreadyOwnedByYou = Shapes::StructureShape.new(name: 'BucketAlreadyOwnedByYou')
@@ -120,6 +123,7 @@ module Aws::S3
120
123
  CopySourceSSECustomerKeyMD5 = Shapes::StringShape.new(name: 'CopySourceSSECustomerKeyMD5')
121
124
  CopySourceVersionId = Shapes::StringShape.new(name: 'CopySourceVersionId')
122
125
  CreateBucketConfiguration = Shapes::StructureShape.new(name: 'CreateBucketConfiguration')
126
+ CreateBucketMetadataConfigurationRequest = Shapes::StructureShape.new(name: 'CreateBucketMetadataConfigurationRequest')
123
127
  CreateBucketMetadataTableConfigurationRequest = Shapes::StructureShape.new(name: 'CreateBucketMetadataTableConfigurationRequest')
124
128
  CreateBucketOutput = Shapes::StructureShape.new(name: 'CreateBucketOutput')
125
129
  CreateBucketRequest = Shapes::StructureShape.new(name: 'CreateBucketRequest')
@@ -140,6 +144,7 @@ module Aws::S3
140
144
  DeleteBucketIntelligentTieringConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketIntelligentTieringConfigurationRequest')
141
145
  DeleteBucketInventoryConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketInventoryConfigurationRequest')
142
146
  DeleteBucketLifecycleRequest = Shapes::StructureShape.new(name: 'DeleteBucketLifecycleRequest')
147
+ DeleteBucketMetadataConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketMetadataConfigurationRequest')
143
148
  DeleteBucketMetadataTableConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketMetadataTableConfigurationRequest')
144
149
  DeleteBucketMetricsConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketMetricsConfigurationRequest')
145
150
  DeleteBucketOwnershipControlsRequest = Shapes::StructureShape.new(name: 'DeleteBucketOwnershipControlsRequest')
@@ -166,6 +171,7 @@ module Aws::S3
166
171
  Delimiter = Shapes::StringShape.new(name: 'Delimiter')
167
172
  Description = Shapes::StringShape.new(name: 'Description')
168
173
  Destination = Shapes::StructureShape.new(name: 'Destination')
174
+ DestinationResult = Shapes::StructureShape.new(name: 'DestinationResult')
169
175
  DirectoryBucketToken = Shapes::StringShape.new(name: 'DirectoryBucketToken')
170
176
  DisplayName = Shapes::StringShape.new(name: 'DisplayName')
171
177
  ETag = Shapes::StringShape.new(name: 'ETag')
@@ -174,6 +180,8 @@ module Aws::S3
174
180
  EncodingType = Shapes::StringShape.new(name: 'EncodingType')
175
181
  Encryption = Shapes::StructureShape.new(name: 'Encryption')
176
182
  EncryptionConfiguration = Shapes::StructureShape.new(name: 'EncryptionConfiguration')
183
+ EncryptionType = Shapes::StringShape.new(name: 'EncryptionType')
184
+ EncryptionTypeList = Shapes::ListShape.new(name: 'EncryptionTypeList', flattened: true)
177
185
  EncryptionTypeMismatch = Shapes::StructureShape.new(name: 'EncryptionTypeMismatch')
178
186
  End = Shapes::IntegerShape.new(name: 'End')
179
187
  EndEvent = Shapes::StructureShape.new(name: 'EndEvent')
@@ -189,6 +197,7 @@ module Aws::S3
189
197
  ExistingObjectReplication = Shapes::StructureShape.new(name: 'ExistingObjectReplication')
190
198
  ExistingObjectReplicationStatus = Shapes::StringShape.new(name: 'ExistingObjectReplicationStatus')
191
199
  Expiration = Shapes::StringShape.new(name: 'Expiration')
200
+ ExpirationState = Shapes::StringShape.new(name: 'ExpirationState')
192
201
  ExpirationStatus = Shapes::StringShape.new(name: 'ExpirationStatus')
193
202
  ExpiredObjectDeleteMarker = Shapes::BooleanShape.new(name: 'ExpiredObjectDeleteMarker')
194
203
  Expires = Shapes::TimestampShape.new(name: 'Expires')
@@ -204,6 +213,8 @@ module Aws::S3
204
213
  FilterRuleList = Shapes::ListShape.new(name: 'FilterRuleList', flattened: true)
205
214
  FilterRuleName = Shapes::StringShape.new(name: 'FilterRuleName')
206
215
  FilterRuleValue = Shapes::StringShape.new(name: 'FilterRuleValue')
216
+ GetBucketAbacOutput = Shapes::StructureShape.new(name: 'GetBucketAbacOutput')
217
+ GetBucketAbacRequest = Shapes::StructureShape.new(name: 'GetBucketAbacRequest')
207
218
  GetBucketAccelerateConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketAccelerateConfigurationOutput')
208
219
  GetBucketAccelerateConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketAccelerateConfigurationRequest')
209
220
  GetBucketAclOutput = Shapes::StructureShape.new(name: 'GetBucketAclOutput')
@@ -226,6 +237,9 @@ module Aws::S3
226
237
  GetBucketLocationRequest = Shapes::StructureShape.new(name: 'GetBucketLocationRequest')
227
238
  GetBucketLoggingOutput = Shapes::StructureShape.new(name: 'GetBucketLoggingOutput')
228
239
  GetBucketLoggingRequest = Shapes::StructureShape.new(name: 'GetBucketLoggingRequest')
240
+ GetBucketMetadataConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketMetadataConfigurationOutput')
241
+ GetBucketMetadataConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketMetadataConfigurationRequest')
242
+ GetBucketMetadataConfigurationResult = Shapes::StructureShape.new(name: 'GetBucketMetadataConfigurationResult')
229
243
  GetBucketMetadataTableConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketMetadataTableConfigurationOutput')
230
244
  GetBucketMetadataTableConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketMetadataTableConfigurationRequest')
231
245
  GetBucketMetadataTableConfigurationResult = Shapes::StructureShape.new(name: 'GetBucketMetadataTableConfigurationResult')
@@ -310,6 +324,7 @@ module Aws::S3
310
324
  InvalidWriteOffset = Shapes::StructureShape.new(name: 'InvalidWriteOffset')
311
325
  InventoryConfiguration = Shapes::StructureShape.new(name: 'InventoryConfiguration')
312
326
  InventoryConfigurationList = Shapes::ListShape.new(name: 'InventoryConfigurationList', flattened: true)
327
+ InventoryConfigurationState = Shapes::StringShape.new(name: 'InventoryConfigurationState')
313
328
  InventoryDestination = Shapes::StructureShape.new(name: 'InventoryDestination')
314
329
  InventoryEncryption = Shapes::StructureShape.new(name: 'InventoryEncryption')
315
330
  InventoryFilter = Shapes::StructureShape.new(name: 'InventoryFilter')
@@ -321,6 +336,9 @@ module Aws::S3
321
336
  InventoryOptionalFields = Shapes::ListShape.new(name: 'InventoryOptionalFields')
322
337
  InventoryS3BucketDestination = Shapes::StructureShape.new(name: 'InventoryS3BucketDestination')
323
338
  InventorySchedule = Shapes::StructureShape.new(name: 'InventorySchedule')
339
+ InventoryTableConfiguration = Shapes::StructureShape.new(name: 'InventoryTableConfiguration')
340
+ InventoryTableConfigurationResult = Shapes::StructureShape.new(name: 'InventoryTableConfigurationResult')
341
+ InventoryTableConfigurationUpdates = Shapes::StructureShape.new(name: 'InventoryTableConfigurationUpdates')
324
342
  IsEnabled = Shapes::BooleanShape.new(name: 'IsEnabled')
325
343
  IsLatest = Shapes::BooleanShape.new(name: 'IsLatest')
326
344
  IsPublic = Shapes::BooleanShape.new(name: 'IsPublic')
@@ -329,10 +347,14 @@ module Aws::S3
329
347
  JSONInput = Shapes::StructureShape.new(name: 'JSONInput')
330
348
  JSONOutput = Shapes::StructureShape.new(name: 'JSONOutput')
331
349
  JSONType = Shapes::StringShape.new(name: 'JSONType')
350
+ JournalTableConfiguration = Shapes::StructureShape.new(name: 'JournalTableConfiguration')
351
+ JournalTableConfigurationResult = Shapes::StructureShape.new(name: 'JournalTableConfigurationResult')
352
+ JournalTableConfigurationUpdates = Shapes::StructureShape.new(name: 'JournalTableConfigurationUpdates')
332
353
  KMSContext = Shapes::StringShape.new(name: 'KMSContext')
333
354
  KeyCount = Shapes::IntegerShape.new(name: 'KeyCount')
334
355
  KeyMarker = Shapes::StringShape.new(name: 'KeyMarker')
335
356
  KeyPrefixEquals = Shapes::StringShape.new(name: 'KeyPrefixEquals')
357
+ KmsKeyArn = Shapes::StringShape.new(name: 'KmsKeyArn')
336
358
  LambdaFunctionArn = Shapes::StringShape.new(name: 'LambdaFunctionArn')
337
359
  LambdaFunctionConfiguration = Shapes::StructureShape.new(name: 'LambdaFunctionConfiguration')
338
360
  LambdaFunctionConfigurationList = Shapes::ListShape.new(name: 'LambdaFunctionConfigurationList', flattened: true)
@@ -384,11 +406,14 @@ module Aws::S3
384
406
  MaxUploads = Shapes::IntegerShape.new(name: 'MaxUploads')
385
407
  Message = Shapes::StringShape.new(name: 'Message')
386
408
  Metadata = Shapes::MapShape.new(name: 'Metadata')
409
+ MetadataConfiguration = Shapes::StructureShape.new(name: 'MetadataConfiguration')
410
+ MetadataConfigurationResult = Shapes::StructureShape.new(name: 'MetadataConfigurationResult')
387
411
  MetadataDirective = Shapes::StringShape.new(name: 'MetadataDirective')
388
412
  MetadataEntry = Shapes::StructureShape.new(name: 'MetadataEntry')
389
413
  MetadataKey = Shapes::StringShape.new(name: 'MetadataKey')
390
414
  MetadataTableConfiguration = Shapes::StructureShape.new(name: 'MetadataTableConfiguration')
391
415
  MetadataTableConfigurationResult = Shapes::StructureShape.new(name: 'MetadataTableConfigurationResult')
416
+ MetadataTableEncryptionConfiguration = Shapes::StructureShape.new(name: 'MetadataTableEncryptionConfiguration')
392
417
  MetadataTableStatus = Shapes::StringShape.new(name: 'MetadataTableStatus')
393
418
  MetadataValue = Shapes::StringShape.new(name: 'MetadataValue')
394
419
  Metrics = Shapes::StructureShape.new(name: 'Metrics')
@@ -479,6 +504,7 @@ module Aws::S3
479
504
  ProgressEvent = Shapes::StructureShape.new(name: 'ProgressEvent')
480
505
  Protocol = Shapes::StringShape.new(name: 'Protocol')
481
506
  PublicAccessBlockConfiguration = Shapes::StructureShape.new(name: 'PublicAccessBlockConfiguration')
507
+ PutBucketAbacRequest = Shapes::StructureShape.new(name: 'PutBucketAbacRequest')
482
508
  PutBucketAccelerateConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketAccelerateConfigurationRequest')
483
509
  PutBucketAclRequest = Shapes::StructureShape.new(name: 'PutBucketAclRequest')
484
510
  PutBucketAnalyticsConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketAnalyticsConfigurationRequest')
@@ -523,6 +549,8 @@ module Aws::S3
523
549
  QuoteFields = Shapes::StringShape.new(name: 'QuoteFields')
524
550
  Range = Shapes::StringShape.new(name: 'Range')
525
551
  RecordDelimiter = Shapes::StringShape.new(name: 'RecordDelimiter')
552
+ RecordExpiration = Shapes::StructureShape.new(name: 'RecordExpiration')
553
+ RecordExpirationDays = Shapes::IntegerShape.new(name: 'RecordExpirationDays')
526
554
  RecordsEvent = Shapes::StructureShape.new(name: 'RecordsEvent')
527
555
  Redirect = Shapes::StructureShape.new(name: 'Redirect')
528
556
  RedirectAllRequestsTo = Shapes::StructureShape.new(name: 'RedirectAllRequestsTo')
@@ -576,8 +604,10 @@ module Aws::S3
576
604
  Rules = Shapes::ListShape.new(name: 'Rules', flattened: true)
577
605
  S3KeyFilter = Shapes::StructureShape.new(name: 'S3KeyFilter')
578
606
  S3Location = Shapes::StructureShape.new(name: 'S3Location')
607
+ S3RegionalOrS3ExpressBucketArnString = Shapes::StringShape.new(name: 'S3RegionalOrS3ExpressBucketArnString')
579
608
  S3TablesArn = Shapes::StringShape.new(name: 'S3TablesArn')
580
609
  S3TablesBucketArn = Shapes::StringShape.new(name: 'S3TablesBucketArn')
610
+ S3TablesBucketType = Shapes::StringShape.new(name: 'S3TablesBucketType')
581
611
  S3TablesDestination = Shapes::StructureShape.new(name: 'S3TablesDestination')
582
612
  S3TablesDestinationResult = Shapes::StructureShape.new(name: 'S3TablesDestinationResult')
583
613
  S3TablesName = Shapes::StringShape.new(name: 'S3TablesName')
@@ -619,6 +649,7 @@ module Aws::S3
619
649
  StorageClassAnalysisDataExport = Shapes::StructureShape.new(name: 'StorageClassAnalysisDataExport')
620
650
  StorageClassAnalysisSchemaVersion = Shapes::StringShape.new(name: 'StorageClassAnalysisSchemaVersion')
621
651
  Suffix = Shapes::StringShape.new(name: 'Suffix')
652
+ TableSseAlgorithm = Shapes::StringShape.new(name: 'TableSseAlgorithm')
622
653
  Tag = Shapes::StructureShape.new(name: 'Tag')
623
654
  TagCount = Shapes::IntegerShape.new(name: 'TagCount')
624
655
  TagSet = Shapes::ListShape.new(name: 'TagSet')
@@ -645,6 +676,8 @@ module Aws::S3
645
676
  TransitionStorageClass = Shapes::StringShape.new(name: 'TransitionStorageClass')
646
677
  Type = Shapes::StringShape.new(name: 'Type')
647
678
  URI = Shapes::StringShape.new(name: 'URI')
679
+ UpdateBucketMetadataInventoryTableConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateBucketMetadataInventoryTableConfigurationRequest')
680
+ UpdateBucketMetadataJournalTableConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateBucketMetadataJournalTableConfigurationRequest')
648
681
  UploadIdMarker = Shapes::StringShape.new(name: 'UploadIdMarker')
649
682
  UploadPartCopyOutput = Shapes::StructureShape.new(name: 'UploadPartCopyOutput')
650
683
  UploadPartCopyRequest = Shapes::StructureShape.new(name: 'UploadPartCopyRequest')
@@ -661,6 +694,9 @@ module Aws::S3
661
694
  WriteOffsetBytes = Shapes::IntegerShape.new(name: 'WriteOffsetBytes')
662
695
  Years = Shapes::IntegerShape.new(name: 'Years')
663
696
 
697
+ AbacStatus.add_member(:status, Shapes::ShapeRef.new(shape: BucketAbacStatus, location_name: "Status"))
698
+ AbacStatus.struct_class = Types::AbacStatus
699
+
664
700
  AbortIncompleteMultipartUpload.add_member(:days_after_initiation, Shapes::ShapeRef.new(shape: DaysAfterInitiation, location_name: "DaysAfterInitiation"))
665
701
  AbortIncompleteMultipartUpload.struct_class = Types::AbortIncompleteMultipartUpload
666
702
 
@@ -716,9 +752,13 @@ module Aws::S3
716
752
  AnalyticsS3BucketDestination.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
717
753
  AnalyticsS3BucketDestination.struct_class = Types::AnalyticsS3BucketDestination
718
754
 
755
+ BlockedEncryptionTypes.add_member(:encryption_type, Shapes::ShapeRef.new(shape: EncryptionTypeList, location_name: "EncryptionType"))
756
+ BlockedEncryptionTypes.struct_class = Types::BlockedEncryptionTypes
757
+
719
758
  Bucket.add_member(:name, Shapes::ShapeRef.new(shape: BucketName, location_name: "Name"))
720
759
  Bucket.add_member(:creation_date, Shapes::ShapeRef.new(shape: CreationDate, location_name: "CreationDate"))
721
760
  Bucket.add_member(:bucket_region, Shapes::ShapeRef.new(shape: BucketRegion, location_name: "BucketRegion"))
761
+ Bucket.add_member(:bucket_arn, Shapes::ShapeRef.new(shape: S3RegionalOrS3ExpressBucketArnString, location_name: "BucketArn"))
722
762
  Bucket.struct_class = Types::Bucket
723
763
 
724
764
  BucketAlreadyExists.struct_class = Types::BucketAlreadyExists
@@ -881,6 +921,8 @@ module Aws::S3
881
921
  CopyObjectRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
882
922
  CopyObjectRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
883
923
  CopyObjectRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
924
+ CopyObjectRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
925
+ CopyObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
884
926
  CopyObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam" => {"name" => "Key"}}))
885
927
  CopyObjectRequest.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, location: "headers", location_name: "x-amz-meta-"))
886
928
  CopyObjectRequest.add_member(:metadata_directive, Shapes::ShapeRef.new(shape: MetadataDirective, location: "header", location_name: "x-amz-metadata-directive"))
@@ -928,8 +970,18 @@ module Aws::S3
928
970
  CreateBucketConfiguration.add_member(:location_constraint, Shapes::ShapeRef.new(shape: BucketLocationConstraint, location_name: "LocationConstraint"))
929
971
  CreateBucketConfiguration.add_member(:location, Shapes::ShapeRef.new(shape: LocationInfo, location_name: "Location"))
930
972
  CreateBucketConfiguration.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketInfo, location_name: "Bucket"))
973
+ CreateBucketConfiguration.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tags"))
931
974
  CreateBucketConfiguration.struct_class = Types::CreateBucketConfiguration
932
975
 
976
+ CreateBucketMetadataConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
977
+ CreateBucketMetadataConfigurationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
978
+ CreateBucketMetadataConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
979
+ CreateBucketMetadataConfigurationRequest.add_member(:metadata_configuration, Shapes::ShapeRef.new(shape: MetadataConfiguration, required: true, location_name: "MetadataConfiguration", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
980
+ CreateBucketMetadataConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
981
+ CreateBucketMetadataConfigurationRequest.struct_class = Types::CreateBucketMetadataConfigurationRequest
982
+ CreateBucketMetadataConfigurationRequest[:payload] = :metadata_configuration
983
+ CreateBucketMetadataConfigurationRequest[:payload_member] = CreateBucketMetadataConfigurationRequest.member(:metadata_configuration)
984
+
933
985
  CreateBucketMetadataTableConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
934
986
  CreateBucketMetadataTableConfigurationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
935
987
  CreateBucketMetadataTableConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
@@ -940,6 +992,7 @@ module Aws::S3
940
992
  CreateBucketMetadataTableConfigurationRequest[:payload_member] = CreateBucketMetadataTableConfigurationRequest.member(:metadata_table_configuration)
941
993
 
942
994
  CreateBucketOutput.add_member(:location, Shapes::ShapeRef.new(shape: Location, location: "header", location_name: "Location"))
995
+ CreateBucketOutput.add_member(:bucket_arn, Shapes::ShapeRef.new(shape: S3RegionalOrS3ExpressBucketArnString, location: "header", location_name: "x-amz-bucket-arn"))
943
996
  CreateBucketOutput.struct_class = Types::CreateBucketOutput
944
997
 
945
998
  CreateBucketRequest.add_member(:acl, Shapes::ShapeRef.new(shape: BucketCannedACL, location: "header", location_name: "x-amz-acl"))
@@ -1056,6 +1109,10 @@ module Aws::S3
1056
1109
  DeleteBucketLifecycleRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1057
1110
  DeleteBucketLifecycleRequest.struct_class = Types::DeleteBucketLifecycleRequest
1058
1111
 
1112
+ DeleteBucketMetadataConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1113
+ DeleteBucketMetadataConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1114
+ DeleteBucketMetadataConfigurationRequest.struct_class = Types::DeleteBucketMetadataConfigurationRequest
1115
+
1059
1116
  DeleteBucketMetadataTableConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1060
1117
  DeleteBucketMetadataTableConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1061
1118
  DeleteBucketMetadataTableConfigurationRequest.struct_class = Types::DeleteBucketMetadataTableConfigurationRequest
@@ -1164,6 +1221,11 @@ module Aws::S3
1164
1221
  Destination.add_member(:metrics, Shapes::ShapeRef.new(shape: Metrics, location_name: "Metrics"))
1165
1222
  Destination.struct_class = Types::Destination
1166
1223
 
1224
+ DestinationResult.add_member(:table_bucket_type, Shapes::ShapeRef.new(shape: S3TablesBucketType, location_name: "TableBucketType"))
1225
+ DestinationResult.add_member(:table_bucket_arn, Shapes::ShapeRef.new(shape: S3TablesBucketArn, location_name: "TableBucketArn"))
1226
+ DestinationResult.add_member(:table_namespace, Shapes::ShapeRef.new(shape: S3TablesNamespace, location_name: "TableNamespace"))
1227
+ DestinationResult.struct_class = Types::DestinationResult
1228
+
1167
1229
  Encryption.add_member(:encryption_type, Shapes::ShapeRef.new(shape: ServerSideEncryption, required: true, location_name: "EncryptionType"))
1168
1230
  Encryption.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location_name: "KMSKeyId"))
1169
1231
  Encryption.add_member(:kms_context, Shapes::ShapeRef.new(shape: KMSContext, location_name: "KMSContext"))
@@ -1172,6 +1234,8 @@ module Aws::S3
1172
1234
  EncryptionConfiguration.add_member(:replica_kms_key_id, Shapes::ShapeRef.new(shape: ReplicaKmsKeyID, location_name: "ReplicaKmsKeyID"))
1173
1235
  EncryptionConfiguration.struct_class = Types::EncryptionConfiguration
1174
1236
 
1237
+ EncryptionTypeList.member = Shapes::ShapeRef.new(shape: EncryptionType, location_name: "EncryptionType")
1238
+
1175
1239
  EncryptionTypeMismatch.struct_class = Types::EncryptionTypeMismatch
1176
1240
 
1177
1241
  EndEvent.struct_class = Types::EndEvent
@@ -1206,6 +1270,15 @@ module Aws::S3
1206
1270
 
1207
1271
  FilterRuleList.member = Shapes::ShapeRef.new(shape: FilterRule)
1208
1272
 
1273
+ GetBucketAbacOutput.add_member(:abac_status, Shapes::ShapeRef.new(shape: AbacStatus, location_name: "AbacStatus"))
1274
+ GetBucketAbacOutput.struct_class = Types::GetBucketAbacOutput
1275
+ GetBucketAbacOutput[:payload] = :abac_status
1276
+ GetBucketAbacOutput[:payload_member] = GetBucketAbacOutput.member(:abac_status)
1277
+
1278
+ GetBucketAbacRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1279
+ GetBucketAbacRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1280
+ GetBucketAbacRequest.struct_class = Types::GetBucketAbacRequest
1281
+
1209
1282
  GetBucketAccelerateConfigurationOutput.add_member(:status, Shapes::ShapeRef.new(shape: BucketAccelerateStatus, location_name: "Status"))
1210
1283
  GetBucketAccelerateConfigurationOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1211
1284
  GetBucketAccelerateConfigurationOutput.struct_class = Types::GetBucketAccelerateConfigurationOutput
@@ -1298,6 +1371,18 @@ module Aws::S3
1298
1371
  GetBucketLoggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1299
1372
  GetBucketLoggingRequest.struct_class = Types::GetBucketLoggingRequest
1300
1373
 
1374
+ GetBucketMetadataConfigurationOutput.add_member(:get_bucket_metadata_configuration_result, Shapes::ShapeRef.new(shape: GetBucketMetadataConfigurationResult, location_name: "GetBucketMetadataConfigurationResult"))
1375
+ GetBucketMetadataConfigurationOutput.struct_class = Types::GetBucketMetadataConfigurationOutput
1376
+ GetBucketMetadataConfigurationOutput[:payload] = :get_bucket_metadata_configuration_result
1377
+ GetBucketMetadataConfigurationOutput[:payload_member] = GetBucketMetadataConfigurationOutput.member(:get_bucket_metadata_configuration_result)
1378
+
1379
+ GetBucketMetadataConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1380
+ GetBucketMetadataConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1381
+ GetBucketMetadataConfigurationRequest.struct_class = Types::GetBucketMetadataConfigurationRequest
1382
+
1383
+ GetBucketMetadataConfigurationResult.add_member(:metadata_configuration_result, Shapes::ShapeRef.new(shape: MetadataConfigurationResult, required: true, location_name: "MetadataConfigurationResult"))
1384
+ GetBucketMetadataConfigurationResult.struct_class = Types::GetBucketMetadataConfigurationResult
1385
+
1301
1386
  GetBucketMetadataTableConfigurationOutput.add_member(:get_bucket_metadata_table_configuration_result, Shapes::ShapeRef.new(shape: GetBucketMetadataTableConfigurationResult, location_name: "GetBucketMetadataTableConfigurationResult"))
1302
1387
  GetBucketMetadataTableConfigurationOutput.struct_class = Types::GetBucketMetadataTableConfigurationOutput
1303
1388
  GetBucketMetadataTableConfigurationOutput[:payload] = :get_bucket_metadata_table_configuration_result
@@ -1585,6 +1670,7 @@ module Aws::S3
1585
1670
 
1586
1671
  Grants.member = Shapes::ShapeRef.new(shape: Grant, location_name: "Grant")
1587
1672
 
1673
+ HeadBucketOutput.add_member(:bucket_arn, Shapes::ShapeRef.new(shape: S3RegionalOrS3ExpressBucketArnString, location: "header", location_name: "x-amz-bucket-arn"))
1588
1674
  HeadBucketOutput.add_member(:bucket_location_type, Shapes::ShapeRef.new(shape: LocationType, location: "header", location_name: "x-amz-bucket-location-type"))
1589
1675
  HeadBucketOutput.add_member(:bucket_location_name, Shapes::ShapeRef.new(shape: BucketLocationName, location: "header", location_name: "x-amz-bucket-location-name"))
1590
1676
  HeadBucketOutput.add_member(:bucket_region, Shapes::ShapeRef.new(shape: Region, location: "header", location_name: "x-amz-bucket-region"))
@@ -1732,12 +1818,41 @@ module Aws::S3
1732
1818
  InventorySchedule.add_member(:frequency, Shapes::ShapeRef.new(shape: InventoryFrequency, required: true, location_name: "Frequency"))
1733
1819
  InventorySchedule.struct_class = Types::InventorySchedule
1734
1820
 
1821
+ InventoryTableConfiguration.add_member(:configuration_state, Shapes::ShapeRef.new(shape: InventoryConfigurationState, required: true, location_name: "ConfigurationState"))
1822
+ InventoryTableConfiguration.add_member(:encryption_configuration, Shapes::ShapeRef.new(shape: MetadataTableEncryptionConfiguration, location_name: "EncryptionConfiguration"))
1823
+ InventoryTableConfiguration.struct_class = Types::InventoryTableConfiguration
1824
+
1825
+ InventoryTableConfigurationResult.add_member(:configuration_state, Shapes::ShapeRef.new(shape: InventoryConfigurationState, required: true, location_name: "ConfigurationState"))
1826
+ InventoryTableConfigurationResult.add_member(:table_status, Shapes::ShapeRef.new(shape: MetadataTableStatus, location_name: "TableStatus"))
1827
+ InventoryTableConfigurationResult.add_member(:error, Shapes::ShapeRef.new(shape: ErrorDetails, location_name: "Error"))
1828
+ InventoryTableConfigurationResult.add_member(:table_name, Shapes::ShapeRef.new(shape: S3TablesName, location_name: "TableName"))
1829
+ InventoryTableConfigurationResult.add_member(:table_arn, Shapes::ShapeRef.new(shape: S3TablesArn, location_name: "TableArn"))
1830
+ InventoryTableConfigurationResult.struct_class = Types::InventoryTableConfigurationResult
1831
+
1832
+ InventoryTableConfigurationUpdates.add_member(:configuration_state, Shapes::ShapeRef.new(shape: InventoryConfigurationState, required: true, location_name: "ConfigurationState"))
1833
+ InventoryTableConfigurationUpdates.add_member(:encryption_configuration, Shapes::ShapeRef.new(shape: MetadataTableEncryptionConfiguration, location_name: "EncryptionConfiguration"))
1834
+ InventoryTableConfigurationUpdates.struct_class = Types::InventoryTableConfigurationUpdates
1835
+
1735
1836
  JSONInput.add_member(:type, Shapes::ShapeRef.new(shape: JSONType, location_name: "Type"))
1736
1837
  JSONInput.struct_class = Types::JSONInput
1737
1838
 
1738
1839
  JSONOutput.add_member(:record_delimiter, Shapes::ShapeRef.new(shape: RecordDelimiter, location_name: "RecordDelimiter"))
1739
1840
  JSONOutput.struct_class = Types::JSONOutput
1740
1841
 
1842
+ JournalTableConfiguration.add_member(:record_expiration, Shapes::ShapeRef.new(shape: RecordExpiration, required: true, location_name: "RecordExpiration"))
1843
+ JournalTableConfiguration.add_member(:encryption_configuration, Shapes::ShapeRef.new(shape: MetadataTableEncryptionConfiguration, location_name: "EncryptionConfiguration"))
1844
+ JournalTableConfiguration.struct_class = Types::JournalTableConfiguration
1845
+
1846
+ JournalTableConfigurationResult.add_member(:table_status, Shapes::ShapeRef.new(shape: MetadataTableStatus, required: true, location_name: "TableStatus"))
1847
+ JournalTableConfigurationResult.add_member(:error, Shapes::ShapeRef.new(shape: ErrorDetails, location_name: "Error"))
1848
+ JournalTableConfigurationResult.add_member(:table_name, Shapes::ShapeRef.new(shape: S3TablesName, required: true, location_name: "TableName"))
1849
+ JournalTableConfigurationResult.add_member(:table_arn, Shapes::ShapeRef.new(shape: S3TablesArn, location_name: "TableArn"))
1850
+ JournalTableConfigurationResult.add_member(:record_expiration, Shapes::ShapeRef.new(shape: RecordExpiration, required: true, location_name: "RecordExpiration"))
1851
+ JournalTableConfigurationResult.struct_class = Types::JournalTableConfigurationResult
1852
+
1853
+ JournalTableConfigurationUpdates.add_member(:record_expiration, Shapes::ShapeRef.new(shape: RecordExpiration, required: true, location_name: "RecordExpiration"))
1854
+ JournalTableConfigurationUpdates.struct_class = Types::JournalTableConfigurationUpdates
1855
+
1741
1856
  LambdaFunctionConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: NotificationId, location_name: "Id"))
1742
1857
  LambdaFunctionConfiguration.add_member(:lambda_function_arn, Shapes::ShapeRef.new(shape: LambdaFunctionArn, required: true, location_name: "CloudFunction"))
1743
1858
  LambdaFunctionConfiguration.add_member(:events, Shapes::ShapeRef.new(shape: EventList, required: true, location_name: "Event"))
@@ -1993,6 +2108,15 @@ module Aws::S3
1993
2108
  Metadata.key = Shapes::ShapeRef.new(shape: MetadataKey)
1994
2109
  Metadata.value = Shapes::ShapeRef.new(shape: MetadataValue)
1995
2110
 
2111
+ MetadataConfiguration.add_member(:journal_table_configuration, Shapes::ShapeRef.new(shape: JournalTableConfiguration, required: true, location_name: "JournalTableConfiguration"))
2112
+ MetadataConfiguration.add_member(:inventory_table_configuration, Shapes::ShapeRef.new(shape: InventoryTableConfiguration, location_name: "InventoryTableConfiguration"))
2113
+ MetadataConfiguration.struct_class = Types::MetadataConfiguration
2114
+
2115
+ MetadataConfigurationResult.add_member(:destination_result, Shapes::ShapeRef.new(shape: DestinationResult, required: true, location_name: "DestinationResult"))
2116
+ MetadataConfigurationResult.add_member(:journal_table_configuration_result, Shapes::ShapeRef.new(shape: JournalTableConfigurationResult, location_name: "JournalTableConfigurationResult"))
2117
+ MetadataConfigurationResult.add_member(:inventory_table_configuration_result, Shapes::ShapeRef.new(shape: InventoryTableConfigurationResult, location_name: "InventoryTableConfigurationResult"))
2118
+ MetadataConfigurationResult.struct_class = Types::MetadataConfigurationResult
2119
+
1996
2120
  MetadataEntry.add_member(:name, Shapes::ShapeRef.new(shape: MetadataKey, location_name: "Name"))
1997
2121
  MetadataEntry.add_member(:value, Shapes::ShapeRef.new(shape: MetadataValue, location_name: "Value"))
1998
2122
  MetadataEntry.struct_class = Types::MetadataEntry
@@ -2003,6 +2127,10 @@ module Aws::S3
2003
2127
  MetadataTableConfigurationResult.add_member(:s3_tables_destination_result, Shapes::ShapeRef.new(shape: S3TablesDestinationResult, required: true, location_name: "S3TablesDestinationResult"))
2004
2128
  MetadataTableConfigurationResult.struct_class = Types::MetadataTableConfigurationResult
2005
2129
 
2130
+ MetadataTableEncryptionConfiguration.add_member(:sse_algorithm, Shapes::ShapeRef.new(shape: TableSseAlgorithm, required: true, location_name: "SseAlgorithm"))
2131
+ MetadataTableEncryptionConfiguration.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: KmsKeyArn, location_name: "KmsKeyArn"))
2132
+ MetadataTableEncryptionConfiguration.struct_class = Types::MetadataTableEncryptionConfiguration
2133
+
2006
2134
  Metrics.add_member(:status, Shapes::ShapeRef.new(shape: MetricsStatus, required: true, location_name: "Status"))
2007
2135
  Metrics.add_member(:event_threshold, Shapes::ShapeRef.new(shape: ReplicationTimeValue, location_name: "EventThreshold"))
2008
2136
  Metrics.struct_class = Types::Metrics
@@ -2191,6 +2319,15 @@ module Aws::S3
2191
2319
  PublicAccessBlockConfiguration.add_member(:restrict_public_buckets, Shapes::ShapeRef.new(shape: Setting, location_name: "RestrictPublicBuckets"))
2192
2320
  PublicAccessBlockConfiguration.struct_class = Types::PublicAccessBlockConfiguration
2193
2321
 
2322
+ PutBucketAbacRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2323
+ PutBucketAbacRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2324
+ PutBucketAbacRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2325
+ PutBucketAbacRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2326
+ PutBucketAbacRequest.add_member(:abac_status, Shapes::ShapeRef.new(shape: AbacStatus, required: true, location_name: "AbacStatus", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
2327
+ PutBucketAbacRequest.struct_class = Types::PutBucketAbacRequest
2328
+ PutBucketAbacRequest[:payload] = :abac_status
2329
+ PutBucketAbacRequest[:payload_member] = PutBucketAbacRequest.member(:abac_status)
2330
+
2194
2331
  PutBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2195
2332
  PutBucketAccelerateConfigurationRequest.add_member(:accelerate_configuration, Shapes::ShapeRef.new(shape: AccelerateConfiguration, required: true, location_name: "AccelerateConfiguration", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
2196
2333
  PutBucketAccelerateConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -2545,6 +2682,10 @@ module Aws::S3
2545
2682
 
2546
2683
  QueueConfigurationList.member = Shapes::ShapeRef.new(shape: QueueConfiguration)
2547
2684
 
2685
+ RecordExpiration.add_member(:expiration, Shapes::ShapeRef.new(shape: ExpirationState, required: true, location_name: "Expiration"))
2686
+ RecordExpiration.add_member(:days, Shapes::ShapeRef.new(shape: RecordExpirationDays, location_name: "Days", metadata: {"box" => true}))
2687
+ RecordExpiration.struct_class = Types::RecordExpiration
2688
+
2548
2689
  RecordsEvent.add_member(:payload, Shapes::ShapeRef.new(shape: Body, eventpayload: true, eventpayload_type: 'blob', location_name: "Payload", metadata: {"eventpayload" => true}))
2549
2690
  RecordsEvent.struct_class = Types::RecordsEvent
2550
2691
 
@@ -2736,6 +2877,7 @@ module Aws::S3
2736
2877
 
2737
2878
  ServerSideEncryptionRule.add_member(:apply_server_side_encryption_by_default, Shapes::ShapeRef.new(shape: ServerSideEncryptionByDefault, location_name: "ApplyServerSideEncryptionByDefault"))
2738
2879
  ServerSideEncryptionRule.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location_name: "BucketKeyEnabled"))
2880
+ ServerSideEncryptionRule.add_member(:blocked_encryption_types, Shapes::ShapeRef.new(shape: BlockedEncryptionTypes, location_name: "BlockedEncryptionTypes"))
2739
2881
  ServerSideEncryptionRule.struct_class = Types::ServerSideEncryptionRule
2740
2882
 
2741
2883
  ServerSideEncryptionRules.member = Shapes::ShapeRef.new(shape: ServerSideEncryptionRule)
@@ -2818,6 +2960,24 @@ module Aws::S3
2818
2960
 
2819
2961
  TransitionList.member = Shapes::ShapeRef.new(shape: Transition)
2820
2962
 
2963
+ UpdateBucketMetadataInventoryTableConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2964
+ UpdateBucketMetadataInventoryTableConfigurationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2965
+ UpdateBucketMetadataInventoryTableConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2966
+ UpdateBucketMetadataInventoryTableConfigurationRequest.add_member(:inventory_table_configuration, Shapes::ShapeRef.new(shape: InventoryTableConfigurationUpdates, required: true, location_name: "InventoryTableConfiguration", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
2967
+ UpdateBucketMetadataInventoryTableConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2968
+ UpdateBucketMetadataInventoryTableConfigurationRequest.struct_class = Types::UpdateBucketMetadataInventoryTableConfigurationRequest
2969
+ UpdateBucketMetadataInventoryTableConfigurationRequest[:payload] = :inventory_table_configuration
2970
+ UpdateBucketMetadataInventoryTableConfigurationRequest[:payload_member] = UpdateBucketMetadataInventoryTableConfigurationRequest.member(:inventory_table_configuration)
2971
+
2972
+ UpdateBucketMetadataJournalTableConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2973
+ UpdateBucketMetadataJournalTableConfigurationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2974
+ UpdateBucketMetadataJournalTableConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2975
+ UpdateBucketMetadataJournalTableConfigurationRequest.add_member(:journal_table_configuration, Shapes::ShapeRef.new(shape: JournalTableConfigurationUpdates, required: true, location_name: "JournalTableConfiguration", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
2976
+ UpdateBucketMetadataJournalTableConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2977
+ UpdateBucketMetadataJournalTableConfigurationRequest.struct_class = Types::UpdateBucketMetadataJournalTableConfigurationRequest
2978
+ UpdateBucketMetadataJournalTableConfigurationRequest[:payload] = :journal_table_configuration
2979
+ UpdateBucketMetadataJournalTableConfigurationRequest[:payload_member] = UpdateBucketMetadataJournalTableConfigurationRequest.member(:journal_table_configuration)
2980
+
2821
2981
  UploadPartCopyOutput.add_member(:copy_source_version_id, Shapes::ShapeRef.new(shape: CopySourceVersionId, location: "header", location_name: "x-amz-copy-source-version-id"))
2822
2982
  UploadPartCopyOutput.add_member(:copy_part_result, Shapes::ShapeRef.new(shape: CopyPartResult, location_name: "CopyPartResult"))
2823
2983
  UploadPartCopyOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
@@ -3000,6 +3160,22 @@ module Aws::S3
3000
3160
  o.errors << Shapes::ShapeRef.new(shape: BucketAlreadyOwnedByYou)
3001
3161
  end)
3002
3162
 
3163
+ api.add_operation(:create_bucket_metadata_configuration, Seahorse::Model::Operation.new.tap do |o|
3164
+ o.name = "CreateBucketMetadataConfiguration"
3165
+ o.http_method = "POST"
3166
+ o.http_request_uri = "/?metadataConfiguration"
3167
+ o.http_checksum = {
3168
+ "requestAlgorithmMember" => "checksum_algorithm",
3169
+ "requestChecksumRequired" => true,
3170
+ }
3171
+ o.http_checksum = {
3172
+ "requestAlgorithmMember" => "checksum_algorithm",
3173
+ "requestChecksumRequired" => true,
3174
+ }
3175
+ o.input = Shapes::ShapeRef.new(shape: CreateBucketMetadataConfigurationRequest)
3176
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3177
+ end)
3178
+
3003
3179
  api.add_operation(:create_bucket_metadata_table_configuration, Seahorse::Model::Operation.new.tap do |o|
3004
3180
  o.name = "CreateBucketMetadataTableConfiguration"
3005
3181
  o.http_method = "POST"
@@ -3089,6 +3265,14 @@ module Aws::S3
3089
3265
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3090
3266
  end)
3091
3267
 
3268
+ api.add_operation(:delete_bucket_metadata_configuration, Seahorse::Model::Operation.new.tap do |o|
3269
+ o.name = "DeleteBucketMetadataConfiguration"
3270
+ o.http_method = "DELETE"
3271
+ o.http_request_uri = "/?metadataConfiguration"
3272
+ o.input = Shapes::ShapeRef.new(shape: DeleteBucketMetadataConfigurationRequest)
3273
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3274
+ end)
3275
+
3092
3276
  api.add_operation(:delete_bucket_metadata_table_configuration, Seahorse::Model::Operation.new.tap do |o|
3093
3277
  o.name = "DeleteBucketMetadataTableConfiguration"
3094
3278
  o.http_method = "DELETE"
@@ -3185,6 +3369,14 @@ module Aws::S3
3185
3369
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3186
3370
  end)
3187
3371
 
3372
+ api.add_operation(:get_bucket_abac, Seahorse::Model::Operation.new.tap do |o|
3373
+ o.name = "GetBucketAbac"
3374
+ o.http_method = "GET"
3375
+ o.http_request_uri = "/?abac"
3376
+ o.input = Shapes::ShapeRef.new(shape: GetBucketAbacRequest)
3377
+ o.output = Shapes::ShapeRef.new(shape: GetBucketAbacOutput)
3378
+ end)
3379
+
3188
3380
  api.add_operation(:get_bucket_accelerate_configuration, Seahorse::Model::Operation.new.tap do |o|
3189
3381
  o.name = "GetBucketAccelerateConfiguration"
3190
3382
  o.http_method = "GET"
@@ -3274,6 +3466,14 @@ module Aws::S3
3274
3466
  o.output = Shapes::ShapeRef.new(shape: GetBucketLoggingOutput)
3275
3467
  end)
3276
3468
 
3469
+ api.add_operation(:get_bucket_metadata_configuration, Seahorse::Model::Operation.new.tap do |o|
3470
+ o.name = "GetBucketMetadataConfiguration"
3471
+ o.http_method = "GET"
3472
+ o.http_request_uri = "/?metadataConfiguration"
3473
+ o.input = Shapes::ShapeRef.new(shape: GetBucketMetadataConfigurationRequest)
3474
+ o.output = Shapes::ShapeRef.new(shape: GetBucketMetadataConfigurationOutput)
3475
+ end)
3476
+
3277
3477
  api.add_operation(:get_bucket_metadata_table_configuration, Seahorse::Model::Operation.new.tap do |o|
3278
3478
  o.name = "GetBucketMetadataTableConfiguration"
3279
3479
  o.http_method = "GET"
@@ -3611,6 +3811,22 @@ module Aws::S3
3611
3811
  )
3612
3812
  end)
3613
3813
 
3814
+ api.add_operation(:put_bucket_abac, Seahorse::Model::Operation.new.tap do |o|
3815
+ o.name = "PutBucketAbac"
3816
+ o.http_method = "PUT"
3817
+ o.http_request_uri = "/?abac"
3818
+ o.http_checksum = {
3819
+ "requestAlgorithmMember" => "checksum_algorithm",
3820
+ "requestChecksumRequired" => false,
3821
+ }
3822
+ o.http_checksum = {
3823
+ "requestAlgorithmMember" => "checksum_algorithm",
3824
+ "requestChecksumRequired" => false,
3825
+ }
3826
+ o.input = Shapes::ShapeRef.new(shape: PutBucketAbacRequest)
3827
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3828
+ end)
3829
+
3614
3830
  api.add_operation(:put_bucket_accelerate_configuration, Seahorse::Model::Operation.new.tap do |o|
3615
3831
  o.name = "PutBucketAccelerateConfiguration"
3616
3832
  o.http_method = "PUT"
@@ -4049,6 +4265,38 @@ module Aws::S3
4049
4265
  o.output = Shapes::ShapeRef.new(shape: SelectObjectContentOutput)
4050
4266
  end)
4051
4267
 
4268
+ api.add_operation(:update_bucket_metadata_inventory_table_configuration, Seahorse::Model::Operation.new.tap do |o|
4269
+ o.name = "UpdateBucketMetadataInventoryTableConfiguration"
4270
+ o.http_method = "PUT"
4271
+ o.http_request_uri = "/?metadataInventoryTable"
4272
+ o.http_checksum = {
4273
+ "requestAlgorithmMember" => "checksum_algorithm",
4274
+ "requestChecksumRequired" => true,
4275
+ }
4276
+ o.http_checksum = {
4277
+ "requestAlgorithmMember" => "checksum_algorithm",
4278
+ "requestChecksumRequired" => true,
4279
+ }
4280
+ o.input = Shapes::ShapeRef.new(shape: UpdateBucketMetadataInventoryTableConfigurationRequest)
4281
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
4282
+ end)
4283
+
4284
+ api.add_operation(:update_bucket_metadata_journal_table_configuration, Seahorse::Model::Operation.new.tap do |o|
4285
+ o.name = "UpdateBucketMetadataJournalTableConfiguration"
4286
+ o.http_method = "PUT"
4287
+ o.http_request_uri = "/?metadataJournalTable"
4288
+ o.http_checksum = {
4289
+ "requestAlgorithmMember" => "checksum_algorithm",
4290
+ "requestChecksumRequired" => true,
4291
+ }
4292
+ o.http_checksum = {
4293
+ "requestAlgorithmMember" => "checksum_algorithm",
4294
+ "requestChecksumRequired" => true,
4295
+ }
4296
+ o.input = Shapes::ShapeRef.new(shape: UpdateBucketMetadataJournalTableConfigurationRequest)
4297
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
4298
+ end)
4299
+
4052
4300
  api.add_operation(:upload_part, Seahorse::Model::Operation.new.tap do |o|
4053
4301
  o.name = "UploadPart"
4054
4302
  o.http_method = "PUT"