aws-sdk-s3 1.96.2 → 1.132.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 (66) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +256 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +226 -76
  5. data/lib/aws-sdk-s3/bucket_acl.rb +30 -7
  6. data/lib/aws-sdk-s3/bucket_cors.rb +35 -10
  7. data/lib/aws-sdk-s3/bucket_lifecycle.rb +39 -12
  8. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +40 -10
  9. data/lib/aws-sdk-s3/bucket_logging.rb +30 -7
  10. data/lib/aws-sdk-s3/bucket_notification.rb +28 -10
  11. data/lib/aws-sdk-s3/bucket_policy.rb +35 -10
  12. data/lib/aws-sdk-s3/bucket_request_payment.rb +30 -7
  13. data/lib/aws-sdk-s3/bucket_tagging.rb +35 -10
  14. data/lib/aws-sdk-s3/bucket_versioning.rb +78 -17
  15. data/lib/aws-sdk-s3/bucket_website.rb +35 -10
  16. data/lib/aws-sdk-s3/client.rb +3854 -2120
  17. data/lib/aws-sdk-s3/client_api.rb +601 -208
  18. data/lib/aws-sdk-s3/customizations/bucket.rb +23 -47
  19. data/lib/aws-sdk-s3/customizations/errors.rb +27 -0
  20. data/lib/aws-sdk-s3/customizations/object.rb +130 -24
  21. data/lib/aws-sdk-s3/customizations/types/permanent_redirect.rb +26 -0
  22. data/lib/aws-sdk-s3/customizations.rb +2 -0
  23. data/lib/aws-sdk-s3/encryption/client.rb +7 -3
  24. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +0 -4
  25. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +13 -9
  26. data/lib/aws-sdk-s3/encryptionV2/client.rb +7 -3
  27. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +1 -4
  28. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +0 -4
  29. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -6
  30. data/lib/aws-sdk-s3/endpoint_parameters.rb +146 -0
  31. data/lib/aws-sdk-s3/endpoint_provider.rb +509 -0
  32. data/lib/aws-sdk-s3/endpoints.rb +2150 -0
  33. data/lib/aws-sdk-s3/file_downloader.rb +57 -27
  34. data/lib/aws-sdk-s3/file_uploader.rb +12 -5
  35. data/lib/aws-sdk-s3/multipart_file_uploader.rb +26 -7
  36. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +41 -13
  37. data/lib/aws-sdk-s3/multipart_upload.rb +138 -16
  38. data/lib/aws-sdk-s3/multipart_upload_part.rb +144 -18
  39. data/lib/aws-sdk-s3/object.rb +364 -160
  40. data/lib/aws-sdk-s3/object_acl.rb +32 -9
  41. data/lib/aws-sdk-s3/object_copier.rb +7 -5
  42. data/lib/aws-sdk-s3/object_multipart_copier.rb +41 -19
  43. data/lib/aws-sdk-s3/object_summary.rb +291 -123
  44. data/lib/aws-sdk-s3/object_version.rb +99 -46
  45. data/lib/aws-sdk-s3/plugins/accelerate.rb +3 -44
  46. data/lib/aws-sdk-s3/plugins/arn.rb +22 -180
  47. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +3 -39
  48. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +1 -6
  49. data/lib/aws-sdk-s3/plugins/dualstack.rb +1 -55
  50. data/lib/aws-sdk-s3/plugins/endpoints.rb +262 -0
  51. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +2 -1
  52. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +6 -29
  53. data/lib/aws-sdk-s3/plugins/md5s.rb +5 -3
  54. data/lib/aws-sdk-s3/plugins/s3_signer.rb +35 -100
  55. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  56. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +23 -2
  57. data/lib/aws-sdk-s3/presigned_post.rb +99 -78
  58. data/lib/aws-sdk-s3/presigner.rb +24 -29
  59. data/lib/aws-sdk-s3/resource.rb +25 -3
  60. data/lib/aws-sdk-s3/types.rb +3307 -4625
  61. data/lib/aws-sdk-s3.rb +5 -1
  62. metadata +14 -11
  63. data/lib/aws-sdk-s3/arn/access_point_arn.rb +0 -69
  64. data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +0 -69
  65. data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +0 -73
  66. data/lib/aws-sdk-s3/plugins/object_lambda_endpoint.rb +0 -25
@@ -22,6 +22,7 @@ module Aws::S3
22
22
  AcceptRanges = Shapes::StringShape.new(name: 'AcceptRanges')
23
23
  AccessControlPolicy = Shapes::StructureShape.new(name: 'AccessControlPolicy')
24
24
  AccessControlTranslation = Shapes::StructureShape.new(name: 'AccessControlTranslation')
25
+ AccessPointArn = Shapes::StringShape.new(name: 'AccessPointArn')
25
26
  AccountId = Shapes::StringShape.new(name: 'AccountId')
26
27
  AllowQuotedRecordDelimiter = Shapes::BooleanShape.new(name: 'AllowQuotedRecordDelimiter')
27
28
  AllowedHeader = Shapes::StringShape.new(name: 'AllowedHeader')
@@ -63,6 +64,14 @@ module Aws::S3
63
64
  CSVInput = Shapes::StructureShape.new(name: 'CSVInput')
64
65
  CSVOutput = Shapes::StructureShape.new(name: 'CSVOutput')
65
66
  CacheControl = Shapes::StringShape.new(name: 'CacheControl')
67
+ Checksum = Shapes::StructureShape.new(name: 'Checksum')
68
+ ChecksumAlgorithm = Shapes::StringShape.new(name: 'ChecksumAlgorithm')
69
+ ChecksumAlgorithmList = Shapes::ListShape.new(name: 'ChecksumAlgorithmList', flattened: true)
70
+ ChecksumCRC32 = Shapes::StringShape.new(name: 'ChecksumCRC32')
71
+ ChecksumCRC32C = Shapes::StringShape.new(name: 'ChecksumCRC32C')
72
+ ChecksumMode = Shapes::StringShape.new(name: 'ChecksumMode')
73
+ ChecksumSHA1 = Shapes::StringShape.new(name: 'ChecksumSHA1')
74
+ ChecksumSHA256 = Shapes::StringShape.new(name: 'ChecksumSHA256')
66
75
  CloudFunction = Shapes::StringShape.new(name: 'CloudFunction')
67
76
  CloudFunctionConfiguration = Shapes::StructureShape.new(name: 'CloudFunctionConfiguration')
68
77
  CloudFunctionInvocationRole = Shapes::StringShape.new(name: 'CloudFunctionInvocationRole')
@@ -157,6 +166,7 @@ module Aws::S3
157
166
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
158
167
  Errors = Shapes::ListShape.new(name: 'Errors', flattened: true)
159
168
  Event = Shapes::StringShape.new(name: 'Event')
169
+ EventBridgeConfiguration = Shapes::StructureShape.new(name: 'EventBridgeConfiguration')
160
170
  EventList = Shapes::ListShape.new(name: 'EventList', flattened: true)
161
171
  ExistingObjectReplication = Shapes::StructureShape.new(name: 'ExistingObjectReplication')
162
172
  ExistingObjectReplicationStatus = Shapes::StringShape.new(name: 'ExistingObjectReplicationStatus')
@@ -219,6 +229,9 @@ module Aws::S3
219
229
  GetBucketWebsiteRequest = Shapes::StructureShape.new(name: 'GetBucketWebsiteRequest')
220
230
  GetObjectAclOutput = Shapes::StructureShape.new(name: 'GetObjectAclOutput')
221
231
  GetObjectAclRequest = Shapes::StructureShape.new(name: 'GetObjectAclRequest')
232
+ GetObjectAttributesOutput = Shapes::StructureShape.new(name: 'GetObjectAttributesOutput')
233
+ GetObjectAttributesParts = Shapes::StructureShape.new(name: 'GetObjectAttributesParts')
234
+ GetObjectAttributesRequest = Shapes::StructureShape.new(name: 'GetObjectAttributesRequest')
222
235
  GetObjectLegalHoldOutput = Shapes::StructureShape.new(name: 'GetObjectLegalHoldOutput')
223
236
  GetObjectLegalHoldRequest = Shapes::StructureShape.new(name: 'GetObjectLegalHoldRequest')
224
237
  GetObjectLockConfigurationOutput = Shapes::StructureShape.new(name: 'GetObjectLockConfigurationOutput')
@@ -283,6 +296,7 @@ module Aws::S3
283
296
  IsEnabled = Shapes::BooleanShape.new(name: 'IsEnabled')
284
297
  IsLatest = Shapes::BooleanShape.new(name: 'IsLatest')
285
298
  IsPublic = Shapes::BooleanShape.new(name: 'IsPublic')
299
+ IsRestoreInProgress = Shapes::BooleanShape.new(name: 'IsRestoreInProgress')
286
300
  IsTruncated = Shapes::BooleanShape.new(name: 'IsTruncated')
287
301
  JSONInput = Shapes::StructureShape.new(name: 'JSONInput')
288
302
  JSONOutput = Shapes::StructureShape.new(name: 'JSONOutput')
@@ -367,6 +381,8 @@ module Aws::S3
367
381
  NotificationId = Shapes::StringShape.new(name: 'NotificationId')
368
382
  Object = Shapes::StructureShape.new(name: 'Object')
369
383
  ObjectAlreadyInActiveTierError = Shapes::StructureShape.new(name: 'ObjectAlreadyInActiveTierError')
384
+ ObjectAttributes = Shapes::StringShape.new(name: 'ObjectAttributes')
385
+ ObjectAttributesList = Shapes::ListShape.new(name: 'ObjectAttributesList')
370
386
  ObjectCannedACL = Shapes::StringShape.new(name: 'ObjectCannedACL')
371
387
  ObjectIdentifier = Shapes::StructureShape.new(name: 'ObjectIdentifier')
372
388
  ObjectIdentifierList = Shapes::ListShape.new(name: 'ObjectIdentifierList', flattened: true)
@@ -385,11 +401,17 @@ module Aws::S3
385
401
  ObjectLockToken = Shapes::StringShape.new(name: 'ObjectLockToken')
386
402
  ObjectNotInActiveTierError = Shapes::StructureShape.new(name: 'ObjectNotInActiveTierError')
387
403
  ObjectOwnership = Shapes::StringShape.new(name: 'ObjectOwnership')
404
+ ObjectPart = Shapes::StructureShape.new(name: 'ObjectPart')
405
+ ObjectSize = Shapes::IntegerShape.new(name: 'ObjectSize')
406
+ ObjectSizeGreaterThanBytes = Shapes::IntegerShape.new(name: 'ObjectSizeGreaterThanBytes')
407
+ ObjectSizeLessThanBytes = Shapes::IntegerShape.new(name: 'ObjectSizeLessThanBytes')
388
408
  ObjectStorageClass = Shapes::StringShape.new(name: 'ObjectStorageClass')
389
409
  ObjectVersion = Shapes::StructureShape.new(name: 'ObjectVersion')
390
410
  ObjectVersionId = Shapes::StringShape.new(name: 'ObjectVersionId')
391
411
  ObjectVersionList = Shapes::ListShape.new(name: 'ObjectVersionList', flattened: true)
392
412
  ObjectVersionStorageClass = Shapes::StringShape.new(name: 'ObjectVersionStorageClass')
413
+ OptionalObjectAttributes = Shapes::StringShape.new(name: 'OptionalObjectAttributes')
414
+ OptionalObjectAttributesList = Shapes::ListShape.new(name: 'OptionalObjectAttributesList')
393
415
  OutputLocation = Shapes::StructureShape.new(name: 'OutputLocation')
394
416
  OutputSerialization = Shapes::StructureShape.new(name: 'OutputSerialization')
395
417
  Owner = Shapes::StructureShape.new(name: 'Owner')
@@ -403,6 +425,7 @@ module Aws::S3
403
425
  PartNumberMarker = Shapes::IntegerShape.new(name: 'PartNumberMarker')
404
426
  Parts = Shapes::ListShape.new(name: 'Parts', flattened: true)
405
427
  PartsCount = Shapes::IntegerShape.new(name: 'PartsCount')
428
+ PartsList = Shapes::ListShape.new(name: 'PartsList', flattened: true)
406
429
  Payer = Shapes::StringShape.new(name: 'Payer')
407
430
  Permission = Shapes::StringShape.new(name: 'Permission')
408
431
  Policy = Shapes::StringShape.new(name: 'Policy')
@@ -487,11 +510,13 @@ module Aws::S3
487
510
  ResponseContentType = Shapes::StringShape.new(name: 'ResponseContentType')
488
511
  ResponseExpires = Shapes::TimestampShape.new(name: 'ResponseExpires', timestampFormat: "rfc822")
489
512
  Restore = Shapes::StringShape.new(name: 'Restore')
513
+ RestoreExpiryDate = Shapes::TimestampShape.new(name: 'RestoreExpiryDate')
490
514
  RestoreObjectOutput = Shapes::StructureShape.new(name: 'RestoreObjectOutput')
491
515
  RestoreObjectRequest = Shapes::StructureShape.new(name: 'RestoreObjectRequest')
492
516
  RestoreOutputPath = Shapes::StringShape.new(name: 'RestoreOutputPath')
493
517
  RestoreRequest = Shapes::StructureShape.new(name: 'RestoreRequest')
494
518
  RestoreRequestType = Shapes::StringShape.new(name: 'RestoreRequestType')
519
+ RestoreStatus = Shapes::StructureShape.new(name: 'RestoreStatus')
495
520
  Role = Shapes::StringShape.new(name: 'Role')
496
521
  RoutingRule = Shapes::StructureShape.new(name: 'RoutingRule')
497
522
  RoutingRules = Shapes::ListShape.new(name: 'RoutingRules')
@@ -518,6 +543,7 @@ module Aws::S3
518
543
  ServerSideEncryptionRules = Shapes::ListShape.new(name: 'ServerSideEncryptionRules', flattened: true)
519
544
  Setting = Shapes::BooleanShape.new(name: 'Setting')
520
545
  Size = Shapes::IntegerShape.new(name: 'Size')
546
+ SkipValidation = Shapes::BooleanShape.new(name: 'SkipValidation')
521
547
  SourceSelectionCriteria = Shapes::StructureShape.new(name: 'SourceSelectionCriteria')
522
548
  SseKmsEncryptedObjects = Shapes::StructureShape.new(name: 'SseKmsEncryptedObjects')
523
549
  SseKmsEncryptedObjectsStatus = Shapes::StringShape.new(name: 'SseKmsEncryptedObjectsStatus')
@@ -560,6 +586,7 @@ module Aws::S3
560
586
  UploadPartRequest = Shapes::StructureShape.new(name: 'UploadPartRequest')
561
587
  UserMetadata = Shapes::ListShape.new(name: 'UserMetadata')
562
588
  Value = Shapes::StringShape.new(name: 'Value')
589
+ VersionCount = Shapes::IntegerShape.new(name: 'VersionCount')
563
590
  VersionIdMarker = Shapes::StringShape.new(name: 'VersionIdMarker')
564
591
  VersioningConfiguration = Shapes::StructureShape.new(name: 'VersioningConfiguration')
565
592
  WebsiteConfiguration = Shapes::StructureShape.new(name: 'WebsiteConfiguration')
@@ -573,7 +600,7 @@ module Aws::S3
573
600
  AbortMultipartUploadOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
574
601
  AbortMultipartUploadOutput.struct_class = Types::AbortMultipartUploadOutput
575
602
 
576
- AbortMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
603
+ AbortMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
577
604
  AbortMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
578
605
  AbortMultipartUploadRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
579
606
  AbortMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
@@ -666,6 +693,14 @@ module Aws::S3
666
693
  CSVOutput.add_member(:quote_character, Shapes::ShapeRef.new(shape: QuoteCharacter, location_name: "QuoteCharacter"))
667
694
  CSVOutput.struct_class = Types::CSVOutput
668
695
 
696
+ Checksum.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
697
+ Checksum.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
698
+ Checksum.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
699
+ Checksum.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
700
+ Checksum.struct_class = Types::Checksum
701
+
702
+ ChecksumAlgorithmList.member = Shapes::ShapeRef.new(shape: ChecksumAlgorithm)
703
+
669
704
  CloudFunctionConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: NotificationId, location_name: "Id"))
670
705
  CloudFunctionConfiguration.add_member(:event, Shapes::ShapeRef.new(shape: Event, deprecated: true, location_name: "Event"))
671
706
  CloudFunctionConfiguration.add_member(:events, Shapes::ShapeRef.new(shape: EventList, location_name: "Event"))
@@ -683,6 +718,10 @@ module Aws::S3
683
718
  CompleteMultipartUploadOutput.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
684
719
  CompleteMultipartUploadOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
685
720
  CompleteMultipartUploadOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
721
+ CompleteMultipartUploadOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
722
+ CompleteMultipartUploadOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
723
+ CompleteMultipartUploadOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
724
+ CompleteMultipartUploadOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
686
725
  CompleteMultipartUploadOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
687
726
  CompleteMultipartUploadOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
688
727
  CompleteMultipartUploadOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
@@ -690,12 +729,19 @@ module Aws::S3
690
729
  CompleteMultipartUploadOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
691
730
  CompleteMultipartUploadOutput.struct_class = Types::CompleteMultipartUploadOutput
692
731
 
693
- CompleteMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
732
+ CompleteMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
694
733
  CompleteMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
695
734
  CompleteMultipartUploadRequest.add_member(:multipart_upload, Shapes::ShapeRef.new(shape: CompletedMultipartUpload, location_name: "CompleteMultipartUpload", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
696
735
  CompleteMultipartUploadRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
736
+ CompleteMultipartUploadRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
737
+ CompleteMultipartUploadRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
738
+ CompleteMultipartUploadRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
739
+ CompleteMultipartUploadRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
697
740
  CompleteMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
698
741
  CompleteMultipartUploadRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
742
+ CompleteMultipartUploadRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
743
+ CompleteMultipartUploadRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
744
+ CompleteMultipartUploadRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
699
745
  CompleteMultipartUploadRequest.struct_class = Types::CompleteMultipartUploadRequest
700
746
  CompleteMultipartUploadRequest[:payload] = :multipart_upload
701
747
  CompleteMultipartUploadRequest[:payload_member] = CompleteMultipartUploadRequest.member(:multipart_upload)
@@ -704,6 +750,10 @@ module Aws::S3
704
750
  CompletedMultipartUpload.struct_class = Types::CompletedMultipartUpload
705
751
 
706
752
  CompletedPart.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
753
+ CompletedPart.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
754
+ CompletedPart.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
755
+ CompletedPart.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
756
+ CompletedPart.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
707
757
  CompletedPart.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location_name: "PartNumber"))
708
758
  CompletedPart.struct_class = Types::CompletedPart
709
759
 
@@ -731,8 +781,9 @@ module Aws::S3
731
781
  CopyObjectOutput[:payload_member] = CopyObjectOutput.member(:copy_object_result)
732
782
 
733
783
  CopyObjectRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
734
- CopyObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
784
+ CopyObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
735
785
  CopyObjectRequest.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
786
+ CopyObjectRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-checksum-algorithm"))
736
787
  CopyObjectRequest.add_member(:content_disposition, Shapes::ShapeRef.new(shape: ContentDisposition, location: "header", location_name: "Content-Disposition"))
737
788
  CopyObjectRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
738
789
  CopyObjectRequest.add_member(:content_language, Shapes::ShapeRef.new(shape: ContentLanguage, location: "header", location_name: "Content-Language"))
@@ -774,10 +825,18 @@ module Aws::S3
774
825
 
775
826
  CopyObjectResult.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
776
827
  CopyObjectResult.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
828
+ CopyObjectResult.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
829
+ CopyObjectResult.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
830
+ CopyObjectResult.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
831
+ CopyObjectResult.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
777
832
  CopyObjectResult.struct_class = Types::CopyObjectResult
778
833
 
779
834
  CopyPartResult.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
780
835
  CopyPartResult.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
836
+ CopyPartResult.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
837
+ CopyPartResult.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
838
+ CopyPartResult.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
839
+ CopyPartResult.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
781
840
  CopyPartResult.struct_class = Types::CopyPartResult
782
841
 
783
842
  CreateBucketConfiguration.add_member(:location_constraint, Shapes::ShapeRef.new(shape: BucketLocationConstraint, location_name: "LocationConstraint"))
@@ -787,7 +846,7 @@ module Aws::S3
787
846
  CreateBucketOutput.struct_class = Types::CreateBucketOutput
788
847
 
789
848
  CreateBucketRequest.add_member(:acl, Shapes::ShapeRef.new(shape: BucketCannedACL, location: "header", location_name: "x-amz-acl"))
790
- CreateBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
849
+ CreateBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
791
850
  CreateBucketRequest.add_member(:create_bucket_configuration, Shapes::ShapeRef.new(shape: CreateBucketConfiguration, location_name: "CreateBucketConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
792
851
  CreateBucketRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
793
852
  CreateBucketRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
@@ -795,6 +854,7 @@ module Aws::S3
795
854
  CreateBucketRequest.add_member(:grant_write, Shapes::ShapeRef.new(shape: GrantWrite, location: "header", location_name: "x-amz-grant-write"))
796
855
  CreateBucketRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
797
856
  CreateBucketRequest.add_member(:object_lock_enabled_for_bucket, Shapes::ShapeRef.new(shape: ObjectLockEnabledForBucket, location: "header", location_name: "x-amz-bucket-object-lock-enabled"))
857
+ CreateBucketRequest.add_member(:object_ownership, Shapes::ShapeRef.new(shape: ObjectOwnership, location: "header", location_name: "x-amz-object-ownership"))
798
858
  CreateBucketRequest.struct_class = Types::CreateBucketRequest
799
859
  CreateBucketRequest[:payload] = :create_bucket_configuration
800
860
  CreateBucketRequest[:payload_member] = CreateBucketRequest.member(:create_bucket_configuration)
@@ -811,10 +871,11 @@ module Aws::S3
811
871
  CreateMultipartUploadOutput.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
812
872
  CreateMultipartUploadOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
813
873
  CreateMultipartUploadOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
874
+ CreateMultipartUploadOutput.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-checksum-algorithm"))
814
875
  CreateMultipartUploadOutput.struct_class = Types::CreateMultipartUploadOutput
815
876
 
816
877
  CreateMultipartUploadRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
817
- CreateMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
878
+ CreateMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
818
879
  CreateMultipartUploadRequest.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
819
880
  CreateMultipartUploadRequest.add_member(:content_disposition, Shapes::ShapeRef.new(shape: ContentDisposition, location: "header", location_name: "Content-Disposition"))
820
881
  CreateMultipartUploadRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
@@ -842,6 +903,7 @@ module Aws::S3
842
903
  CreateMultipartUploadRequest.add_member(:object_lock_retain_until_date, Shapes::ShapeRef.new(shape: ObjectLockRetainUntilDate, location: "header", location_name: "x-amz-object-lock-retain-until-date"))
843
904
  CreateMultipartUploadRequest.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
844
905
  CreateMultipartUploadRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
906
+ CreateMultipartUploadRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-checksum-algorithm"))
845
907
  CreateMultipartUploadRequest.struct_class = Types::CreateMultipartUploadRequest
846
908
 
847
909
  DefaultRetention.add_member(:mode, Shapes::ShapeRef.new(shape: ObjectLockRetentionMode, location_name: "Mode"))
@@ -853,58 +915,58 @@ module Aws::S3
853
915
  Delete.add_member(:quiet, Shapes::ShapeRef.new(shape: Quiet, location_name: "Quiet"))
854
916
  Delete.struct_class = Types::Delete
855
917
 
856
- DeleteBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
918
+ DeleteBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
857
919
  DeleteBucketAnalyticsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: AnalyticsId, required: true, location: "querystring", location_name: "id"))
858
920
  DeleteBucketAnalyticsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
859
921
  DeleteBucketAnalyticsConfigurationRequest.struct_class = Types::DeleteBucketAnalyticsConfigurationRequest
860
922
 
861
- DeleteBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
923
+ DeleteBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
862
924
  DeleteBucketCorsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
863
925
  DeleteBucketCorsRequest.struct_class = Types::DeleteBucketCorsRequest
864
926
 
865
- DeleteBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
927
+ DeleteBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
866
928
  DeleteBucketEncryptionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
867
929
  DeleteBucketEncryptionRequest.struct_class = Types::DeleteBucketEncryptionRequest
868
930
 
869
- DeleteBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
931
+ DeleteBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
870
932
  DeleteBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
871
933
  DeleteBucketIntelligentTieringConfigurationRequest.struct_class = Types::DeleteBucketIntelligentTieringConfigurationRequest
872
934
 
873
- DeleteBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
935
+ DeleteBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
874
936
  DeleteBucketInventoryConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: InventoryId, required: true, location: "querystring", location_name: "id"))
875
937
  DeleteBucketInventoryConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
876
938
  DeleteBucketInventoryConfigurationRequest.struct_class = Types::DeleteBucketInventoryConfigurationRequest
877
939
 
878
- DeleteBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
940
+ DeleteBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
879
941
  DeleteBucketLifecycleRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
880
942
  DeleteBucketLifecycleRequest.struct_class = Types::DeleteBucketLifecycleRequest
881
943
 
882
- DeleteBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
944
+ DeleteBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
883
945
  DeleteBucketMetricsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location: "querystring", location_name: "id"))
884
946
  DeleteBucketMetricsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
885
947
  DeleteBucketMetricsConfigurationRequest.struct_class = Types::DeleteBucketMetricsConfigurationRequest
886
948
 
887
- DeleteBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
949
+ DeleteBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
888
950
  DeleteBucketOwnershipControlsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
889
951
  DeleteBucketOwnershipControlsRequest.struct_class = Types::DeleteBucketOwnershipControlsRequest
890
952
 
891
- DeleteBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
953
+ DeleteBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
892
954
  DeleteBucketPolicyRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
893
955
  DeleteBucketPolicyRequest.struct_class = Types::DeleteBucketPolicyRequest
894
956
 
895
- DeleteBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
957
+ DeleteBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
896
958
  DeleteBucketReplicationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
897
959
  DeleteBucketReplicationRequest.struct_class = Types::DeleteBucketReplicationRequest
898
960
 
899
- DeleteBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
961
+ DeleteBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
900
962
  DeleteBucketRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
901
963
  DeleteBucketRequest.struct_class = Types::DeleteBucketRequest
902
964
 
903
- DeleteBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
965
+ DeleteBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
904
966
  DeleteBucketTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
905
967
  DeleteBucketTaggingRequest.struct_class = Types::DeleteBucketTaggingRequest
906
968
 
907
- DeleteBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
969
+ DeleteBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
908
970
  DeleteBucketWebsiteRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
909
971
  DeleteBucketWebsiteRequest.struct_class = Types::DeleteBucketWebsiteRequest
910
972
 
@@ -925,7 +987,7 @@ module Aws::S3
925
987
  DeleteObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
926
988
  DeleteObjectOutput.struct_class = Types::DeleteObjectOutput
927
989
 
928
- DeleteObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
990
+ DeleteObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
929
991
  DeleteObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
930
992
  DeleteObjectRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
931
993
  DeleteObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
@@ -937,7 +999,7 @@ module Aws::S3
937
999
  DeleteObjectTaggingOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
938
1000
  DeleteObjectTaggingOutput.struct_class = Types::DeleteObjectTaggingOutput
939
1001
 
940
- DeleteObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1002
+ DeleteObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
941
1003
  DeleteObjectTaggingRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
942
1004
  DeleteObjectTaggingRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
943
1005
  DeleteObjectTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -948,17 +1010,18 @@ module Aws::S3
948
1010
  DeleteObjectsOutput.add_member(:errors, Shapes::ShapeRef.new(shape: Errors, location_name: "Error"))
949
1011
  DeleteObjectsOutput.struct_class = Types::DeleteObjectsOutput
950
1012
 
951
- DeleteObjectsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1013
+ DeleteObjectsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
952
1014
  DeleteObjectsRequest.add_member(:delete, Shapes::ShapeRef.new(shape: Delete, required: true, location_name: "Delete", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
953
1015
  DeleteObjectsRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
954
1016
  DeleteObjectsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
955
1017
  DeleteObjectsRequest.add_member(:bypass_governance_retention, Shapes::ShapeRef.new(shape: BypassGovernanceRetention, location: "header", location_name: "x-amz-bypass-governance-retention"))
956
1018
  DeleteObjectsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1019
+ DeleteObjectsRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
957
1020
  DeleteObjectsRequest.struct_class = Types::DeleteObjectsRequest
958
1021
  DeleteObjectsRequest[:payload] = :delete
959
1022
  DeleteObjectsRequest[:payload_member] = DeleteObjectsRequest.member(:delete)
960
1023
 
961
- DeletePublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1024
+ DeletePublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
962
1025
  DeletePublicAccessBlockRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
963
1026
  DeletePublicAccessBlockRequest.struct_class = Types::DeletePublicAccessBlockRequest
964
1027
 
@@ -1000,6 +1063,8 @@ module Aws::S3
1000
1063
 
1001
1064
  Errors.member = Shapes::ShapeRef.new(shape: Error)
1002
1065
 
1066
+ EventBridgeConfiguration.struct_class = Types::EventBridgeConfiguration
1067
+
1003
1068
  EventList.member = Shapes::ShapeRef.new(shape: Event)
1004
1069
 
1005
1070
  ExistingObjectReplication.add_member(:status, Shapes::ShapeRef.new(shape: ExistingObjectReplicationStatus, required: true, location_name: "Status"))
@@ -1014,17 +1079,19 @@ module Aws::S3
1014
1079
  FilterRuleList.member = Shapes::ShapeRef.new(shape: FilterRule)
1015
1080
 
1016
1081
  GetBucketAccelerateConfigurationOutput.add_member(:status, Shapes::ShapeRef.new(shape: BucketAccelerateStatus, location_name: "Status"))
1082
+ GetBucketAccelerateConfigurationOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1017
1083
  GetBucketAccelerateConfigurationOutput.struct_class = Types::GetBucketAccelerateConfigurationOutput
1018
1084
 
1019
- GetBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1085
+ GetBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1020
1086
  GetBucketAccelerateConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1087
+ GetBucketAccelerateConfigurationRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1021
1088
  GetBucketAccelerateConfigurationRequest.struct_class = Types::GetBucketAccelerateConfigurationRequest
1022
1089
 
1023
1090
  GetBucketAclOutput.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1024
1091
  GetBucketAclOutput.add_member(:grants, Shapes::ShapeRef.new(shape: Grants, location_name: "AccessControlList"))
1025
1092
  GetBucketAclOutput.struct_class = Types::GetBucketAclOutput
1026
1093
 
1027
- GetBucketAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1094
+ GetBucketAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1028
1095
  GetBucketAclRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1029
1096
  GetBucketAclRequest.struct_class = Types::GetBucketAclRequest
1030
1097
 
@@ -1033,7 +1100,7 @@ module Aws::S3
1033
1100
  GetBucketAnalyticsConfigurationOutput[:payload] = :analytics_configuration
1034
1101
  GetBucketAnalyticsConfigurationOutput[:payload_member] = GetBucketAnalyticsConfigurationOutput.member(:analytics_configuration)
1035
1102
 
1036
- GetBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1103
+ GetBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1037
1104
  GetBucketAnalyticsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: AnalyticsId, required: true, location: "querystring", location_name: "id"))
1038
1105
  GetBucketAnalyticsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1039
1106
  GetBucketAnalyticsConfigurationRequest.struct_class = Types::GetBucketAnalyticsConfigurationRequest
@@ -1041,7 +1108,7 @@ module Aws::S3
1041
1108
  GetBucketCorsOutput.add_member(:cors_rules, Shapes::ShapeRef.new(shape: CORSRules, location_name: "CORSRule"))
1042
1109
  GetBucketCorsOutput.struct_class = Types::GetBucketCorsOutput
1043
1110
 
1044
- GetBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1111
+ GetBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1045
1112
  GetBucketCorsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1046
1113
  GetBucketCorsRequest.struct_class = Types::GetBucketCorsRequest
1047
1114
 
@@ -1050,7 +1117,7 @@ module Aws::S3
1050
1117
  GetBucketEncryptionOutput[:payload] = :server_side_encryption_configuration
1051
1118
  GetBucketEncryptionOutput[:payload_member] = GetBucketEncryptionOutput.member(:server_side_encryption_configuration)
1052
1119
 
1053
- GetBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1120
+ GetBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1054
1121
  GetBucketEncryptionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1055
1122
  GetBucketEncryptionRequest.struct_class = Types::GetBucketEncryptionRequest
1056
1123
 
@@ -1059,7 +1126,7 @@ module Aws::S3
1059
1126
  GetBucketIntelligentTieringConfigurationOutput[:payload] = :intelligent_tiering_configuration
1060
1127
  GetBucketIntelligentTieringConfigurationOutput[:payload_member] = GetBucketIntelligentTieringConfigurationOutput.member(:intelligent_tiering_configuration)
1061
1128
 
1062
- GetBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1129
+ GetBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1063
1130
  GetBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
1064
1131
  GetBucketIntelligentTieringConfigurationRequest.struct_class = Types::GetBucketIntelligentTieringConfigurationRequest
1065
1132
 
@@ -1068,7 +1135,7 @@ module Aws::S3
1068
1135
  GetBucketInventoryConfigurationOutput[:payload] = :inventory_configuration
1069
1136
  GetBucketInventoryConfigurationOutput[:payload_member] = GetBucketInventoryConfigurationOutput.member(:inventory_configuration)
1070
1137
 
1071
- GetBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1138
+ GetBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1072
1139
  GetBucketInventoryConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: InventoryId, required: true, location: "querystring", location_name: "id"))
1073
1140
  GetBucketInventoryConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1074
1141
  GetBucketInventoryConfigurationRequest.struct_class = Types::GetBucketInventoryConfigurationRequest
@@ -1076,28 +1143,28 @@ module Aws::S3
1076
1143
  GetBucketLifecycleConfigurationOutput.add_member(:rules, Shapes::ShapeRef.new(shape: LifecycleRules, location_name: "Rule"))
1077
1144
  GetBucketLifecycleConfigurationOutput.struct_class = Types::GetBucketLifecycleConfigurationOutput
1078
1145
 
1079
- GetBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1146
+ GetBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1080
1147
  GetBucketLifecycleConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1081
1148
  GetBucketLifecycleConfigurationRequest.struct_class = Types::GetBucketLifecycleConfigurationRequest
1082
1149
 
1083
1150
  GetBucketLifecycleOutput.add_member(:rules, Shapes::ShapeRef.new(shape: Rules, location_name: "Rule"))
1084
1151
  GetBucketLifecycleOutput.struct_class = Types::GetBucketLifecycleOutput
1085
1152
 
1086
- GetBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1153
+ GetBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1087
1154
  GetBucketLifecycleRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1088
1155
  GetBucketLifecycleRequest.struct_class = Types::GetBucketLifecycleRequest
1089
1156
 
1090
1157
  GetBucketLocationOutput.add_member(:location_constraint, Shapes::ShapeRef.new(shape: BucketLocationConstraint, location_name: "LocationConstraint"))
1091
1158
  GetBucketLocationOutput.struct_class = Types::GetBucketLocationOutput
1092
1159
 
1093
- GetBucketLocationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1160
+ GetBucketLocationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1094
1161
  GetBucketLocationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1095
1162
  GetBucketLocationRequest.struct_class = Types::GetBucketLocationRequest
1096
1163
 
1097
1164
  GetBucketLoggingOutput.add_member(:logging_enabled, Shapes::ShapeRef.new(shape: LoggingEnabled, location_name: "LoggingEnabled"))
1098
1165
  GetBucketLoggingOutput.struct_class = Types::GetBucketLoggingOutput
1099
1166
 
1100
- GetBucketLoggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1167
+ GetBucketLoggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1101
1168
  GetBucketLoggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1102
1169
  GetBucketLoggingRequest.struct_class = Types::GetBucketLoggingRequest
1103
1170
 
@@ -1106,12 +1173,12 @@ module Aws::S3
1106
1173
  GetBucketMetricsConfigurationOutput[:payload] = :metrics_configuration
1107
1174
  GetBucketMetricsConfigurationOutput[:payload_member] = GetBucketMetricsConfigurationOutput.member(:metrics_configuration)
1108
1175
 
1109
- GetBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1176
+ GetBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1110
1177
  GetBucketMetricsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location: "querystring", location_name: "id"))
1111
1178
  GetBucketMetricsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1112
1179
  GetBucketMetricsConfigurationRequest.struct_class = Types::GetBucketMetricsConfigurationRequest
1113
1180
 
1114
- GetBucketNotificationConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1181
+ GetBucketNotificationConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1115
1182
  GetBucketNotificationConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1116
1183
  GetBucketNotificationConfigurationRequest.struct_class = Types::GetBucketNotificationConfigurationRequest
1117
1184
 
@@ -1120,7 +1187,7 @@ module Aws::S3
1120
1187
  GetBucketOwnershipControlsOutput[:payload] = :ownership_controls
1121
1188
  GetBucketOwnershipControlsOutput[:payload_member] = GetBucketOwnershipControlsOutput.member(:ownership_controls)
1122
1189
 
1123
- GetBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1190
+ GetBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1124
1191
  GetBucketOwnershipControlsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1125
1192
  GetBucketOwnershipControlsRequest.struct_class = Types::GetBucketOwnershipControlsRequest
1126
1193
 
@@ -1129,7 +1196,7 @@ module Aws::S3
1129
1196
  GetBucketPolicyOutput[:payload] = :policy
1130
1197
  GetBucketPolicyOutput[:payload_member] = GetBucketPolicyOutput.member(:policy)
1131
1198
 
1132
- GetBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1199
+ GetBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1133
1200
  GetBucketPolicyRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1134
1201
  GetBucketPolicyRequest.struct_class = Types::GetBucketPolicyRequest
1135
1202
 
@@ -1138,7 +1205,7 @@ module Aws::S3
1138
1205
  GetBucketPolicyStatusOutput[:payload] = :policy_status
1139
1206
  GetBucketPolicyStatusOutput[:payload_member] = GetBucketPolicyStatusOutput.member(:policy_status)
1140
1207
 
1141
- GetBucketPolicyStatusRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1208
+ GetBucketPolicyStatusRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1142
1209
  GetBucketPolicyStatusRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1143
1210
  GetBucketPolicyStatusRequest.struct_class = Types::GetBucketPolicyStatusRequest
1144
1211
 
@@ -1147,21 +1214,21 @@ module Aws::S3
1147
1214
  GetBucketReplicationOutput[:payload] = :replication_configuration
1148
1215
  GetBucketReplicationOutput[:payload_member] = GetBucketReplicationOutput.member(:replication_configuration)
1149
1216
 
1150
- GetBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1217
+ GetBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1151
1218
  GetBucketReplicationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1152
1219
  GetBucketReplicationRequest.struct_class = Types::GetBucketReplicationRequest
1153
1220
 
1154
1221
  GetBucketRequestPaymentOutput.add_member(:payer, Shapes::ShapeRef.new(shape: Payer, location_name: "Payer"))
1155
1222
  GetBucketRequestPaymentOutput.struct_class = Types::GetBucketRequestPaymentOutput
1156
1223
 
1157
- GetBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1224
+ GetBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1158
1225
  GetBucketRequestPaymentRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1159
1226
  GetBucketRequestPaymentRequest.struct_class = Types::GetBucketRequestPaymentRequest
1160
1227
 
1161
1228
  GetBucketTaggingOutput.add_member(:tag_set, Shapes::ShapeRef.new(shape: TagSet, required: true, location_name: "TagSet"))
1162
1229
  GetBucketTaggingOutput.struct_class = Types::GetBucketTaggingOutput
1163
1230
 
1164
- GetBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1231
+ GetBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1165
1232
  GetBucketTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1166
1233
  GetBucketTaggingRequest.struct_class = Types::GetBucketTaggingRequest
1167
1234
 
@@ -1169,7 +1236,7 @@ module Aws::S3
1169
1236
  GetBucketVersioningOutput.add_member(:mfa_delete, Shapes::ShapeRef.new(shape: MFADeleteStatus, location_name: "MfaDelete"))
1170
1237
  GetBucketVersioningOutput.struct_class = Types::GetBucketVersioningOutput
1171
1238
 
1172
- GetBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1239
+ GetBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1173
1240
  GetBucketVersioningRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1174
1241
  GetBucketVersioningRequest.struct_class = Types::GetBucketVersioningRequest
1175
1242
 
@@ -1179,7 +1246,7 @@ module Aws::S3
1179
1246
  GetBucketWebsiteOutput.add_member(:routing_rules, Shapes::ShapeRef.new(shape: RoutingRules, location_name: "RoutingRules"))
1180
1247
  GetBucketWebsiteOutput.struct_class = Types::GetBucketWebsiteOutput
1181
1248
 
1182
- GetBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1249
+ GetBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1183
1250
  GetBucketWebsiteRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1184
1251
  GetBucketWebsiteRequest.struct_class = Types::GetBucketWebsiteRequest
1185
1252
 
@@ -1188,19 +1255,51 @@ module Aws::S3
1188
1255
  GetObjectAclOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1189
1256
  GetObjectAclOutput.struct_class = Types::GetObjectAclOutput
1190
1257
 
1191
- GetObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1258
+ GetObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1192
1259
  GetObjectAclRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1193
1260
  GetObjectAclRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1194
1261
  GetObjectAclRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1195
1262
  GetObjectAclRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1196
1263
  GetObjectAclRequest.struct_class = Types::GetObjectAclRequest
1197
1264
 
1265
+ GetObjectAttributesOutput.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location: "header", location_name: "x-amz-delete-marker"))
1266
+ GetObjectAttributesOutput.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "Last-Modified"))
1267
+ GetObjectAttributesOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
1268
+ GetObjectAttributesOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1269
+ GetObjectAttributesOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1270
+ GetObjectAttributesOutput.add_member(:checksum, Shapes::ShapeRef.new(shape: Checksum, location_name: "Checksum"))
1271
+ GetObjectAttributesOutput.add_member(:object_parts, Shapes::ShapeRef.new(shape: GetObjectAttributesParts, location_name: "ObjectParts"))
1272
+ GetObjectAttributesOutput.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1273
+ GetObjectAttributesOutput.add_member(:object_size, Shapes::ShapeRef.new(shape: ObjectSize, location_name: "ObjectSize"))
1274
+ GetObjectAttributesOutput.struct_class = Types::GetObjectAttributesOutput
1275
+
1276
+ GetObjectAttributesParts.add_member(:total_parts_count, Shapes::ShapeRef.new(shape: PartsCount, location_name: "PartsCount"))
1277
+ GetObjectAttributesParts.add_member(:part_number_marker, Shapes::ShapeRef.new(shape: PartNumberMarker, location_name: "PartNumberMarker"))
1278
+ GetObjectAttributesParts.add_member(:next_part_number_marker, Shapes::ShapeRef.new(shape: NextPartNumberMarker, location_name: "NextPartNumberMarker"))
1279
+ GetObjectAttributesParts.add_member(:max_parts, Shapes::ShapeRef.new(shape: MaxParts, location_name: "MaxParts"))
1280
+ GetObjectAttributesParts.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
1281
+ GetObjectAttributesParts.add_member(:parts, Shapes::ShapeRef.new(shape: PartsList, location_name: "Part"))
1282
+ GetObjectAttributesParts.struct_class = Types::GetObjectAttributesParts
1283
+
1284
+ GetObjectAttributesRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1285
+ GetObjectAttributesRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1286
+ GetObjectAttributesRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1287
+ GetObjectAttributesRequest.add_member(:max_parts, Shapes::ShapeRef.new(shape: MaxParts, location: "header", location_name: "x-amz-max-parts"))
1288
+ GetObjectAttributesRequest.add_member(:part_number_marker, Shapes::ShapeRef.new(shape: PartNumberMarker, location: "header", location_name: "x-amz-part-number-marker"))
1289
+ GetObjectAttributesRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1290
+ GetObjectAttributesRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
1291
+ GetObjectAttributesRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1292
+ GetObjectAttributesRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1293
+ GetObjectAttributesRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1294
+ GetObjectAttributesRequest.add_member(:object_attributes, Shapes::ShapeRef.new(shape: ObjectAttributesList, required: true, location: "header", location_name: "x-amz-object-attributes"))
1295
+ GetObjectAttributesRequest.struct_class = Types::GetObjectAttributesRequest
1296
+
1198
1297
  GetObjectLegalHoldOutput.add_member(:legal_hold, Shapes::ShapeRef.new(shape: ObjectLockLegalHold, location_name: "LegalHold"))
1199
1298
  GetObjectLegalHoldOutput.struct_class = Types::GetObjectLegalHoldOutput
1200
1299
  GetObjectLegalHoldOutput[:payload] = :legal_hold
1201
1300
  GetObjectLegalHoldOutput[:payload_member] = GetObjectLegalHoldOutput.member(:legal_hold)
1202
1301
 
1203
- GetObjectLegalHoldRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1302
+ GetObjectLegalHoldRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1204
1303
  GetObjectLegalHoldRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1205
1304
  GetObjectLegalHoldRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1206
1305
  GetObjectLegalHoldRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
@@ -1212,7 +1311,7 @@ module Aws::S3
1212
1311
  GetObjectLockConfigurationOutput[:payload] = :object_lock_configuration
1213
1312
  GetObjectLockConfigurationOutput[:payload_member] = GetObjectLockConfigurationOutput.member(:object_lock_configuration)
1214
1313
 
1215
- GetObjectLockConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1314
+ GetObjectLockConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1216
1315
  GetObjectLockConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1217
1316
  GetObjectLockConfigurationRequest.struct_class = Types::GetObjectLockConfigurationRequest
1218
1317
 
@@ -1224,6 +1323,10 @@ module Aws::S3
1224
1323
  GetObjectOutput.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "Last-Modified"))
1225
1324
  GetObjectOutput.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
1226
1325
  GetObjectOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
1326
+ GetObjectOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
1327
+ GetObjectOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
1328
+ GetObjectOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
1329
+ GetObjectOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
1227
1330
  GetObjectOutput.add_member(:missing_meta, Shapes::ShapeRef.new(shape: MissingMeta, location: "header", location_name: "x-amz-missing-meta"))
1228
1331
  GetObjectOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
1229
1332
  GetObjectOutput.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
@@ -1253,7 +1356,7 @@ module Aws::S3
1253
1356
  GetObjectOutput[:payload] = :body
1254
1357
  GetObjectOutput[:payload_member] = GetObjectOutput.member(:body)
1255
1358
 
1256
- GetObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1359
+ GetObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1257
1360
  GetObjectRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
1258
1361
  GetObjectRequest.add_member(:if_modified_since, Shapes::ShapeRef.new(shape: IfModifiedSince, location: "header", location_name: "If-Modified-Since"))
1259
1362
  GetObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
@@ -1273,6 +1376,7 @@ module Aws::S3
1273
1376
  GetObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1274
1377
  GetObjectRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location: "querystring", location_name: "partNumber"))
1275
1378
  GetObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1379
+ GetObjectRequest.add_member(:checksum_mode, Shapes::ShapeRef.new(shape: ChecksumMode, location: "header", location_name: "x-amz-checksum-mode"))
1276
1380
  GetObjectRequest.struct_class = Types::GetObjectRequest
1277
1381
 
1278
1382
  GetObjectRetentionOutput.add_member(:retention, Shapes::ShapeRef.new(shape: ObjectLockRetention, location_name: "Retention"))
@@ -1280,7 +1384,7 @@ module Aws::S3
1280
1384
  GetObjectRetentionOutput[:payload] = :retention
1281
1385
  GetObjectRetentionOutput[:payload_member] = GetObjectRetentionOutput.member(:retention)
1282
1386
 
1283
- GetObjectRetentionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1387
+ GetObjectRetentionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1284
1388
  GetObjectRetentionRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1285
1389
  GetObjectRetentionRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1286
1390
  GetObjectRetentionRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
@@ -1291,7 +1395,7 @@ module Aws::S3
1291
1395
  GetObjectTaggingOutput.add_member(:tag_set, Shapes::ShapeRef.new(shape: TagSet, required: true, location_name: "TagSet"))
1292
1396
  GetObjectTaggingOutput.struct_class = Types::GetObjectTaggingOutput
1293
1397
 
1294
- GetObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1398
+ GetObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1295
1399
  GetObjectTaggingRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1296
1400
  GetObjectTaggingRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1297
1401
  GetObjectTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1304,7 +1408,7 @@ module Aws::S3
1304
1408
  GetObjectTorrentOutput[:payload] = :body
1305
1409
  GetObjectTorrentOutput[:payload_member] = GetObjectTorrentOutput.member(:body)
1306
1410
 
1307
- GetObjectTorrentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1411
+ GetObjectTorrentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1308
1412
  GetObjectTorrentRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1309
1413
  GetObjectTorrentRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1310
1414
  GetObjectTorrentRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1315,7 +1419,7 @@ module Aws::S3
1315
1419
  GetPublicAccessBlockOutput[:payload] = :public_access_block_configuration
1316
1420
  GetPublicAccessBlockOutput[:payload_member] = GetPublicAccessBlockOutput.member(:public_access_block_configuration)
1317
1421
 
1318
- GetPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1422
+ GetPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1319
1423
  GetPublicAccessBlockRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1320
1424
  GetPublicAccessBlockRequest.struct_class = Types::GetPublicAccessBlockRequest
1321
1425
 
@@ -1335,7 +1439,7 @@ module Aws::S3
1335
1439
 
1336
1440
  Grants.member = Shapes::ShapeRef.new(shape: Grant, location_name: "Grant")
1337
1441
 
1338
- HeadBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1442
+ HeadBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1339
1443
  HeadBucketRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1340
1444
  HeadBucketRequest.struct_class = Types::HeadBucketRequest
1341
1445
 
@@ -1346,6 +1450,10 @@ module Aws::S3
1346
1450
  HeadObjectOutput.add_member(:archive_status, Shapes::ShapeRef.new(shape: ArchiveStatus, location: "header", location_name: "x-amz-archive-status"))
1347
1451
  HeadObjectOutput.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "Last-Modified"))
1348
1452
  HeadObjectOutput.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
1453
+ HeadObjectOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
1454
+ HeadObjectOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
1455
+ HeadObjectOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
1456
+ HeadObjectOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
1349
1457
  HeadObjectOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
1350
1458
  HeadObjectOutput.add_member(:missing_meta, Shapes::ShapeRef.new(shape: MissingMeta, location: "header", location_name: "x-amz-missing-meta"))
1351
1459
  HeadObjectOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
@@ -1372,7 +1480,7 @@ module Aws::S3
1372
1480
  HeadObjectOutput.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
1373
1481
  HeadObjectOutput.struct_class = Types::HeadObjectOutput
1374
1482
 
1375
- HeadObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1483
+ HeadObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1376
1484
  HeadObjectRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
1377
1485
  HeadObjectRequest.add_member(:if_modified_since, Shapes::ShapeRef.new(shape: IfModifiedSince, location: "header", location_name: "If-Modified-Since"))
1378
1486
  HeadObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
@@ -1386,6 +1494,7 @@ module Aws::S3
1386
1494
  HeadObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1387
1495
  HeadObjectRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location: "querystring", location_name: "partNumber"))
1388
1496
  HeadObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1497
+ HeadObjectRequest.add_member(:checksum_mode, Shapes::ShapeRef.new(shape: ChecksumMode, location: "header", location_name: "x-amz-checksum-mode"))
1389
1498
  HeadObjectRequest.struct_class = Types::HeadObjectRequest
1390
1499
 
1391
1500
  IndexDocument.add_member(:suffix, Shapes::ShapeRef.new(shape: Suffix, required: true, location_name: "Suffix"))
@@ -1490,10 +1599,14 @@ module Aws::S3
1490
1599
 
1491
1600
  LifecycleRuleAndOperator.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1492
1601
  LifecycleRuleAndOperator.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tag", metadata: {"flattened"=>true}))
1602
+ LifecycleRuleAndOperator.add_member(:object_size_greater_than, Shapes::ShapeRef.new(shape: ObjectSizeGreaterThanBytes, location_name: "ObjectSizeGreaterThan"))
1603
+ LifecycleRuleAndOperator.add_member(:object_size_less_than, Shapes::ShapeRef.new(shape: ObjectSizeLessThanBytes, location_name: "ObjectSizeLessThan"))
1493
1604
  LifecycleRuleAndOperator.struct_class = Types::LifecycleRuleAndOperator
1494
1605
 
1495
1606
  LifecycleRuleFilter.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1496
1607
  LifecycleRuleFilter.add_member(:tag, Shapes::ShapeRef.new(shape: Tag, location_name: "Tag"))
1608
+ LifecycleRuleFilter.add_member(:object_size_greater_than, Shapes::ShapeRef.new(shape: ObjectSizeGreaterThanBytes, location_name: "ObjectSizeGreaterThan"))
1609
+ LifecycleRuleFilter.add_member(:object_size_less_than, Shapes::ShapeRef.new(shape: ObjectSizeLessThanBytes, location_name: "ObjectSizeLessThan"))
1497
1610
  LifecycleRuleFilter.add_member(:and, Shapes::ShapeRef.new(shape: LifecycleRuleAndOperator, location_name: "And"))
1498
1611
  LifecycleRuleFilter.struct_class = Types::LifecycleRuleFilter
1499
1612
 
@@ -1505,7 +1618,7 @@ module Aws::S3
1505
1618
  ListBucketAnalyticsConfigurationsOutput.add_member(:analytics_configuration_list, Shapes::ShapeRef.new(shape: AnalyticsConfigurationList, location_name: "AnalyticsConfiguration"))
1506
1619
  ListBucketAnalyticsConfigurationsOutput.struct_class = Types::ListBucketAnalyticsConfigurationsOutput
1507
1620
 
1508
- ListBucketAnalyticsConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1621
+ ListBucketAnalyticsConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1509
1622
  ListBucketAnalyticsConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1510
1623
  ListBucketAnalyticsConfigurationsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1511
1624
  ListBucketAnalyticsConfigurationsRequest.struct_class = Types::ListBucketAnalyticsConfigurationsRequest
@@ -1516,7 +1629,7 @@ module Aws::S3
1516
1629
  ListBucketIntelligentTieringConfigurationsOutput.add_member(:intelligent_tiering_configuration_list, Shapes::ShapeRef.new(shape: IntelligentTieringConfigurationList, location_name: "IntelligentTieringConfiguration"))
1517
1630
  ListBucketIntelligentTieringConfigurationsOutput.struct_class = Types::ListBucketIntelligentTieringConfigurationsOutput
1518
1631
 
1519
- ListBucketIntelligentTieringConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1632
+ ListBucketIntelligentTieringConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1520
1633
  ListBucketIntelligentTieringConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1521
1634
  ListBucketIntelligentTieringConfigurationsRequest.struct_class = Types::ListBucketIntelligentTieringConfigurationsRequest
1522
1635
 
@@ -1526,7 +1639,7 @@ module Aws::S3
1526
1639
  ListBucketInventoryConfigurationsOutput.add_member(:next_continuation_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextContinuationToken"))
1527
1640
  ListBucketInventoryConfigurationsOutput.struct_class = Types::ListBucketInventoryConfigurationsOutput
1528
1641
 
1529
- ListBucketInventoryConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1642
+ ListBucketInventoryConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1530
1643
  ListBucketInventoryConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1531
1644
  ListBucketInventoryConfigurationsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1532
1645
  ListBucketInventoryConfigurationsRequest.struct_class = Types::ListBucketInventoryConfigurationsRequest
@@ -1537,7 +1650,7 @@ module Aws::S3
1537
1650
  ListBucketMetricsConfigurationsOutput.add_member(:metrics_configuration_list, Shapes::ShapeRef.new(shape: MetricsConfigurationList, location_name: "MetricsConfiguration"))
1538
1651
  ListBucketMetricsConfigurationsOutput.struct_class = Types::ListBucketMetricsConfigurationsOutput
1539
1652
 
1540
- ListBucketMetricsConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1653
+ ListBucketMetricsConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1541
1654
  ListBucketMetricsConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1542
1655
  ListBucketMetricsConfigurationsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1543
1656
  ListBucketMetricsConfigurationsRequest.struct_class = Types::ListBucketMetricsConfigurationsRequest
@@ -1558,9 +1671,10 @@ module Aws::S3
1558
1671
  ListMultipartUploadsOutput.add_member(:uploads, Shapes::ShapeRef.new(shape: MultipartUploadList, location_name: "Upload"))
1559
1672
  ListMultipartUploadsOutput.add_member(:common_prefixes, Shapes::ShapeRef.new(shape: CommonPrefixList, location_name: "CommonPrefixes"))
1560
1673
  ListMultipartUploadsOutput.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location_name: "EncodingType"))
1674
+ ListMultipartUploadsOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1561
1675
  ListMultipartUploadsOutput.struct_class = Types::ListMultipartUploadsOutput
1562
1676
 
1563
- ListMultipartUploadsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1677
+ ListMultipartUploadsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1564
1678
  ListMultipartUploadsRequest.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1565
1679
  ListMultipartUploadsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1566
1680
  ListMultipartUploadsRequest.add_member(:key_marker, Shapes::ShapeRef.new(shape: KeyMarker, location: "querystring", location_name: "key-marker"))
@@ -1568,6 +1682,7 @@ module Aws::S3
1568
1682
  ListMultipartUploadsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
1569
1683
  ListMultipartUploadsRequest.add_member(:upload_id_marker, Shapes::ShapeRef.new(shape: UploadIdMarker, location: "querystring", location_name: "upload-id-marker"))
1570
1684
  ListMultipartUploadsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1685
+ ListMultipartUploadsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1571
1686
  ListMultipartUploadsRequest.struct_class = Types::ListMultipartUploadsRequest
1572
1687
 
1573
1688
  ListObjectVersionsOutput.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
@@ -1583,9 +1698,10 @@ module Aws::S3
1583
1698
  ListObjectVersionsOutput.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location_name: "MaxKeys"))
1584
1699
  ListObjectVersionsOutput.add_member(:common_prefixes, Shapes::ShapeRef.new(shape: CommonPrefixList, location_name: "CommonPrefixes"))
1585
1700
  ListObjectVersionsOutput.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location_name: "EncodingType"))
1701
+ ListObjectVersionsOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1586
1702
  ListObjectVersionsOutput.struct_class = Types::ListObjectVersionsOutput
1587
1703
 
1588
- ListObjectVersionsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1704
+ ListObjectVersionsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1589
1705
  ListObjectVersionsRequest.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1590
1706
  ListObjectVersionsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1591
1707
  ListObjectVersionsRequest.add_member(:key_marker, Shapes::ShapeRef.new(shape: KeyMarker, location: "querystring", location_name: "key-marker"))
@@ -1593,6 +1709,8 @@ module Aws::S3
1593
1709
  ListObjectVersionsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
1594
1710
  ListObjectVersionsRequest.add_member(:version_id_marker, Shapes::ShapeRef.new(shape: VersionIdMarker, location: "querystring", location_name: "version-id-marker"))
1595
1711
  ListObjectVersionsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1712
+ ListObjectVersionsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1713
+ ListObjectVersionsRequest.add_member(:optional_object_attributes, Shapes::ShapeRef.new(shape: OptionalObjectAttributesList, location: "header", location_name: "x-amz-optional-object-attributes"))
1596
1714
  ListObjectVersionsRequest.struct_class = Types::ListObjectVersionsRequest
1597
1715
 
1598
1716
  ListObjectsOutput.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
@@ -1605,9 +1723,10 @@ module Aws::S3
1605
1723
  ListObjectsOutput.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location_name: "MaxKeys"))
1606
1724
  ListObjectsOutput.add_member(:common_prefixes, Shapes::ShapeRef.new(shape: CommonPrefixList, location_name: "CommonPrefixes"))
1607
1725
  ListObjectsOutput.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location_name: "EncodingType"))
1726
+ ListObjectsOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1608
1727
  ListObjectsOutput.struct_class = Types::ListObjectsOutput
1609
1728
 
1610
- ListObjectsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1729
+ ListObjectsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1611
1730
  ListObjectsRequest.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1612
1731
  ListObjectsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1613
1732
  ListObjectsRequest.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location: "querystring", location_name: "marker"))
@@ -1615,6 +1734,7 @@ module Aws::S3
1615
1734
  ListObjectsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
1616
1735
  ListObjectsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1617
1736
  ListObjectsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1737
+ ListObjectsRequest.add_member(:optional_object_attributes, Shapes::ShapeRef.new(shape: OptionalObjectAttributesList, location: "header", location_name: "x-amz-optional-object-attributes"))
1618
1738
  ListObjectsRequest.struct_class = Types::ListObjectsRequest
1619
1739
 
1620
1740
  ListObjectsV2Output.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
@@ -1629,9 +1749,10 @@ module Aws::S3
1629
1749
  ListObjectsV2Output.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location_name: "ContinuationToken"))
1630
1750
  ListObjectsV2Output.add_member(:next_continuation_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextContinuationToken"))
1631
1751
  ListObjectsV2Output.add_member(:start_after, Shapes::ShapeRef.new(shape: StartAfter, location_name: "StartAfter"))
1752
+ ListObjectsV2Output.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1632
1753
  ListObjectsV2Output.struct_class = Types::ListObjectsV2Output
1633
1754
 
1634
- ListObjectsV2Request.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1755
+ ListObjectsV2Request.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1635
1756
  ListObjectsV2Request.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1636
1757
  ListObjectsV2Request.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1637
1758
  ListObjectsV2Request.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location: "querystring", location_name: "max-keys"))
@@ -1641,6 +1762,7 @@ module Aws::S3
1641
1762
  ListObjectsV2Request.add_member(:start_after, Shapes::ShapeRef.new(shape: StartAfter, location: "querystring", location_name: "start-after"))
1642
1763
  ListObjectsV2Request.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1643
1764
  ListObjectsV2Request.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1765
+ ListObjectsV2Request.add_member(:optional_object_attributes, Shapes::ShapeRef.new(shape: OptionalObjectAttributesList, location: "header", location_name: "x-amz-optional-object-attributes"))
1644
1766
  ListObjectsV2Request.struct_class = Types::ListObjectsV2Request
1645
1767
 
1646
1768
  ListPartsOutput.add_member(:abort_date, Shapes::ShapeRef.new(shape: AbortDate, location: "header", location_name: "x-amz-abort-date"))
@@ -1657,15 +1779,19 @@ module Aws::S3
1657
1779
  ListPartsOutput.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1658
1780
  ListPartsOutput.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1659
1781
  ListPartsOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1782
+ ListPartsOutput.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location_name: "ChecksumAlgorithm"))
1660
1783
  ListPartsOutput.struct_class = Types::ListPartsOutput
1661
1784
 
1662
- ListPartsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1785
+ ListPartsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1663
1786
  ListPartsRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1664
1787
  ListPartsRequest.add_member(:max_parts, Shapes::ShapeRef.new(shape: MaxParts, location: "querystring", location_name: "max-parts"))
1665
1788
  ListPartsRequest.add_member(:part_number_marker, Shapes::ShapeRef.new(shape: PartNumberMarker, location: "querystring", location_name: "part-number-marker"))
1666
1789
  ListPartsRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
1667
1790
  ListPartsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1668
1791
  ListPartsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1792
+ ListPartsRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1793
+ ListPartsRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
1794
+ ListPartsRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1669
1795
  ListPartsRequest.struct_class = Types::ListPartsRequest
1670
1796
 
1671
1797
  LoggingEnabled.add_member(:target_bucket, Shapes::ShapeRef.new(shape: TargetBucket, required: true, location_name: "TargetBucket"))
@@ -1686,6 +1812,7 @@ module Aws::S3
1686
1812
 
1687
1813
  MetricsAndOperator.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1688
1814
  MetricsAndOperator.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tag", metadata: {"flattened"=>true}))
1815
+ MetricsAndOperator.add_member(:access_point_arn, Shapes::ShapeRef.new(shape: AccessPointArn, location_name: "AccessPointArn"))
1689
1816
  MetricsAndOperator.struct_class = Types::MetricsAndOperator
1690
1817
 
1691
1818
  MetricsConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location_name: "Id"))
@@ -1696,6 +1823,7 @@ module Aws::S3
1696
1823
 
1697
1824
  MetricsFilter.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1698
1825
  MetricsFilter.add_member(:tag, Shapes::ShapeRef.new(shape: Tag, location_name: "Tag"))
1826
+ MetricsFilter.add_member(:access_point_arn, Shapes::ShapeRef.new(shape: AccessPointArn, location_name: "AccessPointArn"))
1699
1827
  MetricsFilter.add_member(:and, Shapes::ShapeRef.new(shape: MetricsAndOperator, location_name: "And"))
1700
1828
  MetricsFilter.struct_class = Types::MetricsFilter
1701
1829
 
@@ -1705,6 +1833,7 @@ module Aws::S3
1705
1833
  MultipartUpload.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1706
1834
  MultipartUpload.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1707
1835
  MultipartUpload.add_member(:initiator, Shapes::ShapeRef.new(shape: Initiator, location_name: "Initiator"))
1836
+ MultipartUpload.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location_name: "ChecksumAlgorithm"))
1708
1837
  MultipartUpload.struct_class = Types::MultipartUpload
1709
1838
 
1710
1839
  MultipartUploadList.member = Shapes::ShapeRef.new(shape: MultipartUpload)
@@ -1716,10 +1845,12 @@ module Aws::S3
1716
1845
  NoSuchUpload.struct_class = Types::NoSuchUpload
1717
1846
 
1718
1847
  NoncurrentVersionExpiration.add_member(:noncurrent_days, Shapes::ShapeRef.new(shape: Days, location_name: "NoncurrentDays"))
1848
+ NoncurrentVersionExpiration.add_member(:newer_noncurrent_versions, Shapes::ShapeRef.new(shape: VersionCount, location_name: "NewerNoncurrentVersions"))
1719
1849
  NoncurrentVersionExpiration.struct_class = Types::NoncurrentVersionExpiration
1720
1850
 
1721
1851
  NoncurrentVersionTransition.add_member(:noncurrent_days, Shapes::ShapeRef.new(shape: Days, location_name: "NoncurrentDays"))
1722
1852
  NoncurrentVersionTransition.add_member(:storage_class, Shapes::ShapeRef.new(shape: TransitionStorageClass, location_name: "StorageClass"))
1853
+ NoncurrentVersionTransition.add_member(:newer_noncurrent_versions, Shapes::ShapeRef.new(shape: VersionCount, location_name: "NewerNoncurrentVersions"))
1723
1854
  NoncurrentVersionTransition.struct_class = Types::NoncurrentVersionTransition
1724
1855
 
1725
1856
  NoncurrentVersionTransitionList.member = Shapes::ShapeRef.new(shape: NoncurrentVersionTransition)
@@ -1727,6 +1858,7 @@ module Aws::S3
1727
1858
  NotificationConfiguration.add_member(:topic_configurations, Shapes::ShapeRef.new(shape: TopicConfigurationList, location_name: "TopicConfiguration"))
1728
1859
  NotificationConfiguration.add_member(:queue_configurations, Shapes::ShapeRef.new(shape: QueueConfigurationList, location_name: "QueueConfiguration"))
1729
1860
  NotificationConfiguration.add_member(:lambda_function_configurations, Shapes::ShapeRef.new(shape: LambdaFunctionConfigurationList, location_name: "CloudFunctionConfiguration"))
1861
+ NotificationConfiguration.add_member(:event_bridge_configuration, Shapes::ShapeRef.new(shape: EventBridgeConfiguration, location_name: "EventBridgeConfiguration"))
1730
1862
  NotificationConfiguration.struct_class = Types::NotificationConfiguration
1731
1863
 
1732
1864
  NotificationConfigurationDeprecated.add_member(:topic_configuration, Shapes::ShapeRef.new(shape: TopicConfigurationDeprecated, location_name: "TopicConfiguration"))
@@ -1740,13 +1872,17 @@ module Aws::S3
1740
1872
  Object.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
1741
1873
  Object.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
1742
1874
  Object.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1875
+ Object.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithmList, location_name: "ChecksumAlgorithm"))
1743
1876
  Object.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1744
1877
  Object.add_member(:storage_class, Shapes::ShapeRef.new(shape: ObjectStorageClass, location_name: "StorageClass"))
1745
1878
  Object.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1879
+ Object.add_member(:restore_status, Shapes::ShapeRef.new(shape: RestoreStatus, location_name: "RestoreStatus"))
1746
1880
  Object.struct_class = Types::Object
1747
1881
 
1748
1882
  ObjectAlreadyInActiveTierError.struct_class = Types::ObjectAlreadyInActiveTierError
1749
1883
 
1884
+ ObjectAttributesList.member = Shapes::ShapeRef.new(shape: ObjectAttributes)
1885
+
1750
1886
  ObjectIdentifier.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location_name: "Key"))
1751
1887
  ObjectIdentifier.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location_name: "VersionId"))
1752
1888
  ObjectIdentifier.struct_class = Types::ObjectIdentifier
@@ -1771,7 +1907,16 @@ module Aws::S3
1771
1907
 
1772
1908
  ObjectNotInActiveTierError.struct_class = Types::ObjectNotInActiveTierError
1773
1909
 
1910
+ ObjectPart.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location_name: "PartNumber"))
1911
+ ObjectPart.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1912
+ ObjectPart.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
1913
+ ObjectPart.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
1914
+ ObjectPart.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
1915
+ ObjectPart.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
1916
+ ObjectPart.struct_class = Types::ObjectPart
1917
+
1774
1918
  ObjectVersion.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1919
+ ObjectVersion.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithmList, location_name: "ChecksumAlgorithm"))
1775
1920
  ObjectVersion.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1776
1921
  ObjectVersion.add_member(:storage_class, Shapes::ShapeRef.new(shape: ObjectVersionStorageClass, location_name: "StorageClass"))
1777
1922
  ObjectVersion.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
@@ -1779,10 +1924,13 @@ module Aws::S3
1779
1924
  ObjectVersion.add_member(:is_latest, Shapes::ShapeRef.new(shape: IsLatest, location_name: "IsLatest"))
1780
1925
  ObjectVersion.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
1781
1926
  ObjectVersion.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1927
+ ObjectVersion.add_member(:restore_status, Shapes::ShapeRef.new(shape: RestoreStatus, location_name: "RestoreStatus"))
1782
1928
  ObjectVersion.struct_class = Types::ObjectVersion
1783
1929
 
1784
1930
  ObjectVersionList.member = Shapes::ShapeRef.new(shape: ObjectVersion)
1785
1931
 
1932
+ OptionalObjectAttributesList.member = Shapes::ShapeRef.new(shape: OptionalObjectAttributes)
1933
+
1786
1934
  OutputLocation.add_member(:s3, Shapes::ShapeRef.new(shape: S3Location, location_name: "S3"))
1787
1935
  OutputLocation.struct_class = Types::OutputLocation
1788
1936
 
@@ -1808,10 +1956,16 @@ module Aws::S3
1808
1956
  Part.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
1809
1957
  Part.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1810
1958
  Part.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1959
+ Part.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
1960
+ Part.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
1961
+ Part.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
1962
+ Part.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
1811
1963
  Part.struct_class = Types::Part
1812
1964
 
1813
1965
  Parts.member = Shapes::ShapeRef.new(shape: Part)
1814
1966
 
1967
+ PartsList.member = Shapes::ShapeRef.new(shape: ObjectPart)
1968
+
1815
1969
  PolicyStatus.add_member(:is_public, Shapes::ShapeRef.new(shape: IsPublic, location_name: "IsPublic"))
1816
1970
  PolicyStatus.struct_class = Types::PolicyStatus
1817
1971
 
@@ -1829,17 +1983,19 @@ module Aws::S3
1829
1983
  PublicAccessBlockConfiguration.add_member(:restrict_public_buckets, Shapes::ShapeRef.new(shape: Setting, location_name: "RestrictPublicBuckets"))
1830
1984
  PublicAccessBlockConfiguration.struct_class = Types::PublicAccessBlockConfiguration
1831
1985
 
1832
- PutBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1986
+ PutBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1833
1987
  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/"}}))
1834
1988
  PutBucketAccelerateConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1989
+ PutBucketAccelerateConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1835
1990
  PutBucketAccelerateConfigurationRequest.struct_class = Types::PutBucketAccelerateConfigurationRequest
1836
1991
  PutBucketAccelerateConfigurationRequest[:payload] = :accelerate_configuration
1837
1992
  PutBucketAccelerateConfigurationRequest[:payload_member] = PutBucketAccelerateConfigurationRequest.member(:accelerate_configuration)
1838
1993
 
1839
1994
  PutBucketAclRequest.add_member(:acl, Shapes::ShapeRef.new(shape: BucketCannedACL, location: "header", location_name: "x-amz-acl"))
1840
1995
  PutBucketAclRequest.add_member(:access_control_policy, Shapes::ShapeRef.new(shape: AccessControlPolicy, location_name: "AccessControlPolicy", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1841
- PutBucketAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1996
+ PutBucketAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1842
1997
  PutBucketAclRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1998
+ PutBucketAclRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1843
1999
  PutBucketAclRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
1844
2000
  PutBucketAclRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
1845
2001
  PutBucketAclRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
@@ -1850,7 +2006,7 @@ module Aws::S3
1850
2006
  PutBucketAclRequest[:payload] = :access_control_policy
1851
2007
  PutBucketAclRequest[:payload_member] = PutBucketAclRequest.member(:access_control_policy)
1852
2008
 
1853
- PutBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2009
+ PutBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1854
2010
  PutBucketAnalyticsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: AnalyticsId, required: true, location: "querystring", location_name: "id"))
1855
2011
  PutBucketAnalyticsConfigurationRequest.add_member(:analytics_configuration, Shapes::ShapeRef.new(shape: AnalyticsConfiguration, required: true, location_name: "AnalyticsConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1856
2012
  PutBucketAnalyticsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1858,30 +2014,32 @@ module Aws::S3
1858
2014
  PutBucketAnalyticsConfigurationRequest[:payload] = :analytics_configuration
1859
2015
  PutBucketAnalyticsConfigurationRequest[:payload_member] = PutBucketAnalyticsConfigurationRequest.member(:analytics_configuration)
1860
2016
 
1861
- PutBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2017
+ PutBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1862
2018
  PutBucketCorsRequest.add_member(:cors_configuration, Shapes::ShapeRef.new(shape: CORSConfiguration, required: true, location_name: "CORSConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1863
2019
  PutBucketCorsRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2020
+ PutBucketCorsRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1864
2021
  PutBucketCorsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1865
2022
  PutBucketCorsRequest.struct_class = Types::PutBucketCorsRequest
1866
2023
  PutBucketCorsRequest[:payload] = :cors_configuration
1867
2024
  PutBucketCorsRequest[:payload_member] = PutBucketCorsRequest.member(:cors_configuration)
1868
2025
 
1869
- PutBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2026
+ PutBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1870
2027
  PutBucketEncryptionRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2028
+ PutBucketEncryptionRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1871
2029
  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/"}}))
1872
2030
  PutBucketEncryptionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1873
2031
  PutBucketEncryptionRequest.struct_class = Types::PutBucketEncryptionRequest
1874
2032
  PutBucketEncryptionRequest[:payload] = :server_side_encryption_configuration
1875
2033
  PutBucketEncryptionRequest[:payload_member] = PutBucketEncryptionRequest.member(:server_side_encryption_configuration)
1876
2034
 
1877
- PutBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2035
+ PutBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1878
2036
  PutBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
1879
2037
  PutBucketIntelligentTieringConfigurationRequest.add_member(:intelligent_tiering_configuration, Shapes::ShapeRef.new(shape: IntelligentTieringConfiguration, required: true, location_name: "IntelligentTieringConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1880
2038
  PutBucketIntelligentTieringConfigurationRequest.struct_class = Types::PutBucketIntelligentTieringConfigurationRequest
1881
2039
  PutBucketIntelligentTieringConfigurationRequest[:payload] = :intelligent_tiering_configuration
1882
2040
  PutBucketIntelligentTieringConfigurationRequest[:payload_member] = PutBucketIntelligentTieringConfigurationRequest.member(:intelligent_tiering_configuration)
1883
2041
 
1884
- PutBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2042
+ PutBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1885
2043
  PutBucketInventoryConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: InventoryId, required: true, location: "querystring", location_name: "id"))
1886
2044
  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/"}}))
1887
2045
  PutBucketInventoryConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1889,30 +2047,33 @@ module Aws::S3
1889
2047
  PutBucketInventoryConfigurationRequest[:payload] = :inventory_configuration
1890
2048
  PutBucketInventoryConfigurationRequest[:payload_member] = PutBucketInventoryConfigurationRequest.member(:inventory_configuration)
1891
2049
 
1892
- PutBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2050
+ PutBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2051
+ PutBucketLifecycleConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1893
2052
  PutBucketLifecycleConfigurationRequest.add_member(:lifecycle_configuration, Shapes::ShapeRef.new(shape: BucketLifecycleConfiguration, location_name: "LifecycleConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1894
2053
  PutBucketLifecycleConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1895
2054
  PutBucketLifecycleConfigurationRequest.struct_class = Types::PutBucketLifecycleConfigurationRequest
1896
2055
  PutBucketLifecycleConfigurationRequest[:payload] = :lifecycle_configuration
1897
2056
  PutBucketLifecycleConfigurationRequest[:payload_member] = PutBucketLifecycleConfigurationRequest.member(:lifecycle_configuration)
1898
2057
 
1899
- PutBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2058
+ PutBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1900
2059
  PutBucketLifecycleRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2060
+ PutBucketLifecycleRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1901
2061
  PutBucketLifecycleRequest.add_member(:lifecycle_configuration, Shapes::ShapeRef.new(shape: LifecycleConfiguration, location_name: "LifecycleConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1902
2062
  PutBucketLifecycleRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1903
2063
  PutBucketLifecycleRequest.struct_class = Types::PutBucketLifecycleRequest
1904
2064
  PutBucketLifecycleRequest[:payload] = :lifecycle_configuration
1905
2065
  PutBucketLifecycleRequest[:payload_member] = PutBucketLifecycleRequest.member(:lifecycle_configuration)
1906
2066
 
1907
- PutBucketLoggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2067
+ PutBucketLoggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1908
2068
  PutBucketLoggingRequest.add_member(:bucket_logging_status, Shapes::ShapeRef.new(shape: BucketLoggingStatus, required: true, location_name: "BucketLoggingStatus", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1909
2069
  PutBucketLoggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2070
+ PutBucketLoggingRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1910
2071
  PutBucketLoggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1911
2072
  PutBucketLoggingRequest.struct_class = Types::PutBucketLoggingRequest
1912
2073
  PutBucketLoggingRequest[:payload] = :bucket_logging_status
1913
2074
  PutBucketLoggingRequest[:payload_member] = PutBucketLoggingRequest.member(:bucket_logging_status)
1914
2075
 
1915
- PutBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2076
+ PutBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1916
2077
  PutBucketMetricsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location: "querystring", location_name: "id"))
1917
2078
  PutBucketMetricsConfigurationRequest.add_member(:metrics_configuration, Shapes::ShapeRef.new(shape: MetricsConfiguration, required: true, location_name: "MetricsConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1918
2079
  PutBucketMetricsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1920,22 +2081,24 @@ module Aws::S3
1920
2081
  PutBucketMetricsConfigurationRequest[:payload] = :metrics_configuration
1921
2082
  PutBucketMetricsConfigurationRequest[:payload_member] = PutBucketMetricsConfigurationRequest.member(:metrics_configuration)
1922
2083
 
1923
- PutBucketNotificationConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2084
+ PutBucketNotificationConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1924
2085
  PutBucketNotificationConfigurationRequest.add_member(:notification_configuration, Shapes::ShapeRef.new(shape: NotificationConfiguration, required: true, location_name: "NotificationConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1925
2086
  PutBucketNotificationConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2087
+ PutBucketNotificationConfigurationRequest.add_member(:skip_destination_validation, Shapes::ShapeRef.new(shape: SkipValidation, location: "header", location_name: "x-amz-skip-destination-validation"))
1926
2088
  PutBucketNotificationConfigurationRequest.struct_class = Types::PutBucketNotificationConfigurationRequest
1927
2089
  PutBucketNotificationConfigurationRequest[:payload] = :notification_configuration
1928
2090
  PutBucketNotificationConfigurationRequest[:payload_member] = PutBucketNotificationConfigurationRequest.member(:notification_configuration)
1929
2091
 
1930
- PutBucketNotificationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2092
+ PutBucketNotificationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1931
2093
  PutBucketNotificationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2094
+ PutBucketNotificationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1932
2095
  PutBucketNotificationRequest.add_member(:notification_configuration, Shapes::ShapeRef.new(shape: NotificationConfigurationDeprecated, required: true, location_name: "NotificationConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1933
2096
  PutBucketNotificationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1934
2097
  PutBucketNotificationRequest.struct_class = Types::PutBucketNotificationRequest
1935
2098
  PutBucketNotificationRequest[:payload] = :notification_configuration
1936
2099
  PutBucketNotificationRequest[:payload_member] = PutBucketNotificationRequest.member(:notification_configuration)
1937
2100
 
1938
- PutBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2101
+ PutBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1939
2102
  PutBucketOwnershipControlsRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1940
2103
  PutBucketOwnershipControlsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1941
2104
  PutBucketOwnershipControlsRequest.add_member(:ownership_controls, Shapes::ShapeRef.new(shape: OwnershipControls, required: true, location_name: "OwnershipControls", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
@@ -1943,8 +2106,9 @@ module Aws::S3
1943
2106
  PutBucketOwnershipControlsRequest[:payload] = :ownership_controls
1944
2107
  PutBucketOwnershipControlsRequest[:payload_member] = PutBucketOwnershipControlsRequest.member(:ownership_controls)
1945
2108
 
1946
- PutBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2109
+ PutBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1947
2110
  PutBucketPolicyRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2111
+ PutBucketPolicyRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1948
2112
  PutBucketPolicyRequest.add_member(:confirm_remove_self_bucket_access, Shapes::ShapeRef.new(shape: ConfirmRemoveSelfBucketAccess, location: "header", location_name: "x-amz-confirm-remove-self-bucket-access"))
1949
2113
  PutBucketPolicyRequest.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, required: true, location_name: "Policy"))
1950
2114
  PutBucketPolicyRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1952,8 +2116,9 @@ module Aws::S3
1952
2116
  PutBucketPolicyRequest[:payload] = :policy
1953
2117
  PutBucketPolicyRequest[:payload_member] = PutBucketPolicyRequest.member(:policy)
1954
2118
 
1955
- PutBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2119
+ PutBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1956
2120
  PutBucketReplicationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2121
+ PutBucketReplicationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1957
2122
  PutBucketReplicationRequest.add_member(:replication_configuration, Shapes::ShapeRef.new(shape: ReplicationConfiguration, required: true, location_name: "ReplicationConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1958
2123
  PutBucketReplicationRequest.add_member(:token, Shapes::ShapeRef.new(shape: ObjectLockToken, location: "header", location_name: "x-amz-bucket-object-lock-token"))
1959
2124
  PutBucketReplicationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1961,24 +2126,27 @@ module Aws::S3
1961
2126
  PutBucketReplicationRequest[:payload] = :replication_configuration
1962
2127
  PutBucketReplicationRequest[:payload_member] = PutBucketReplicationRequest.member(:replication_configuration)
1963
2128
 
1964
- PutBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2129
+ PutBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1965
2130
  PutBucketRequestPaymentRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2131
+ PutBucketRequestPaymentRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1966
2132
  PutBucketRequestPaymentRequest.add_member(:request_payment_configuration, Shapes::ShapeRef.new(shape: RequestPaymentConfiguration, required: true, location_name: "RequestPaymentConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1967
2133
  PutBucketRequestPaymentRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1968
2134
  PutBucketRequestPaymentRequest.struct_class = Types::PutBucketRequestPaymentRequest
1969
2135
  PutBucketRequestPaymentRequest[:payload] = :request_payment_configuration
1970
2136
  PutBucketRequestPaymentRequest[:payload_member] = PutBucketRequestPaymentRequest.member(:request_payment_configuration)
1971
2137
 
1972
- PutBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2138
+ PutBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1973
2139
  PutBucketTaggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2140
+ PutBucketTaggingRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1974
2141
  PutBucketTaggingRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: Tagging, required: true, location_name: "Tagging", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1975
2142
  PutBucketTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1976
2143
  PutBucketTaggingRequest.struct_class = Types::PutBucketTaggingRequest
1977
2144
  PutBucketTaggingRequest[:payload] = :tagging
1978
2145
  PutBucketTaggingRequest[:payload_member] = PutBucketTaggingRequest.member(:tagging)
1979
2146
 
1980
- PutBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2147
+ PutBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1981
2148
  PutBucketVersioningRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2149
+ PutBucketVersioningRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1982
2150
  PutBucketVersioningRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
1983
2151
  PutBucketVersioningRequest.add_member(:versioning_configuration, Shapes::ShapeRef.new(shape: VersioningConfiguration, required: true, location_name: "VersioningConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1984
2152
  PutBucketVersioningRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1986,8 +2154,9 @@ module Aws::S3
1986
2154
  PutBucketVersioningRequest[:payload] = :versioning_configuration
1987
2155
  PutBucketVersioningRequest[:payload_member] = PutBucketVersioningRequest.member(:versioning_configuration)
1988
2156
 
1989
- PutBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2157
+ PutBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1990
2158
  PutBucketWebsiteRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2159
+ PutBucketWebsiteRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1991
2160
  PutBucketWebsiteRequest.add_member(:website_configuration, Shapes::ShapeRef.new(shape: WebsiteConfiguration, required: true, location_name: "WebsiteConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1992
2161
  PutBucketWebsiteRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1993
2162
  PutBucketWebsiteRequest.struct_class = Types::PutBucketWebsiteRequest
@@ -1999,8 +2168,9 @@ module Aws::S3
1999
2168
 
2000
2169
  PutObjectAclRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
2001
2170
  PutObjectAclRequest.add_member(:access_control_policy, Shapes::ShapeRef.new(shape: AccessControlPolicy, location_name: "AccessControlPolicy", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2002
- PutObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2171
+ PutObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2003
2172
  PutObjectAclRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2173
+ PutObjectAclRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2004
2174
  PutObjectAclRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
2005
2175
  PutObjectAclRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
2006
2176
  PutObjectAclRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
@@ -2017,12 +2187,13 @@ module Aws::S3
2017
2187
  PutObjectLegalHoldOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2018
2188
  PutObjectLegalHoldOutput.struct_class = Types::PutObjectLegalHoldOutput
2019
2189
 
2020
- PutObjectLegalHoldRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2190
+ PutObjectLegalHoldRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2021
2191
  PutObjectLegalHoldRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2022
2192
  PutObjectLegalHoldRequest.add_member(:legal_hold, Shapes::ShapeRef.new(shape: ObjectLockLegalHold, location_name: "LegalHold", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2023
2193
  PutObjectLegalHoldRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2024
2194
  PutObjectLegalHoldRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2025
2195
  PutObjectLegalHoldRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2196
+ PutObjectLegalHoldRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2026
2197
  PutObjectLegalHoldRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2027
2198
  PutObjectLegalHoldRequest.struct_class = Types::PutObjectLegalHoldRequest
2028
2199
  PutObjectLegalHoldRequest[:payload] = :legal_hold
@@ -2031,11 +2202,12 @@ module Aws::S3
2031
2202
  PutObjectLockConfigurationOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2032
2203
  PutObjectLockConfigurationOutput.struct_class = Types::PutObjectLockConfigurationOutput
2033
2204
 
2034
- PutObjectLockConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2205
+ PutObjectLockConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2035
2206
  PutObjectLockConfigurationRequest.add_member(:object_lock_configuration, Shapes::ShapeRef.new(shape: ObjectLockConfiguration, location_name: "ObjectLockConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2036
2207
  PutObjectLockConfigurationRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2037
2208
  PutObjectLockConfigurationRequest.add_member(:token, Shapes::ShapeRef.new(shape: ObjectLockToken, location: "header", location_name: "x-amz-bucket-object-lock-token"))
2038
2209
  PutObjectLockConfigurationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2210
+ PutObjectLockConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2039
2211
  PutObjectLockConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2040
2212
  PutObjectLockConfigurationRequest.struct_class = Types::PutObjectLockConfigurationRequest
2041
2213
  PutObjectLockConfigurationRequest[:payload] = :object_lock_configuration
@@ -2043,6 +2215,10 @@ module Aws::S3
2043
2215
 
2044
2216
  PutObjectOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
2045
2217
  PutObjectOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
2218
+ PutObjectOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2219
+ PutObjectOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2220
+ PutObjectOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2221
+ PutObjectOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2046
2222
  PutObjectOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
2047
2223
  PutObjectOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
2048
2224
  PutObjectOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
@@ -2055,7 +2231,7 @@ module Aws::S3
2055
2231
 
2056
2232
  PutObjectRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
2057
2233
  PutObjectRequest.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
2058
- PutObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2234
+ PutObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2059
2235
  PutObjectRequest.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
2060
2236
  PutObjectRequest.add_member(:content_disposition, Shapes::ShapeRef.new(shape: ContentDisposition, location: "header", location_name: "Content-Disposition"))
2061
2237
  PutObjectRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
@@ -2063,6 +2239,11 @@ module Aws::S3
2063
2239
  PutObjectRequest.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
2064
2240
  PutObjectRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2065
2241
  PutObjectRequest.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location: "header", location_name: "Content-Type"))
2242
+ PutObjectRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2243
+ PutObjectRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2244
+ PutObjectRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2245
+ PutObjectRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2246
+ PutObjectRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2066
2247
  PutObjectRequest.add_member(:expires, Shapes::ShapeRef.new(shape: Expires, location: "header", location_name: "Expires"))
2067
2248
  PutObjectRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
2068
2249
  PutObjectRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
@@ -2092,13 +2273,14 @@ module Aws::S3
2092
2273
  PutObjectRetentionOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2093
2274
  PutObjectRetentionOutput.struct_class = Types::PutObjectRetentionOutput
2094
2275
 
2095
- PutObjectRetentionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2276
+ PutObjectRetentionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2096
2277
  PutObjectRetentionRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2097
2278
  PutObjectRetentionRequest.add_member(:retention, Shapes::ShapeRef.new(shape: ObjectLockRetention, location_name: "Retention", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2098
2279
  PutObjectRetentionRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2099
2280
  PutObjectRetentionRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2100
2281
  PutObjectRetentionRequest.add_member(:bypass_governance_retention, Shapes::ShapeRef.new(shape: BypassGovernanceRetention, location: "header", location_name: "x-amz-bypass-governance-retention"))
2101
2282
  PutObjectRetentionRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2283
+ PutObjectRetentionRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2102
2284
  PutObjectRetentionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2103
2285
  PutObjectRetentionRequest.struct_class = Types::PutObjectRetentionRequest
2104
2286
  PutObjectRetentionRequest[:payload] = :retention
@@ -2107,10 +2289,11 @@ module Aws::S3
2107
2289
  PutObjectTaggingOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
2108
2290
  PutObjectTaggingOutput.struct_class = Types::PutObjectTaggingOutput
2109
2291
 
2110
- PutObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2292
+ PutObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2111
2293
  PutObjectTaggingRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2112
2294
  PutObjectTaggingRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2113
2295
  PutObjectTaggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2296
+ PutObjectTaggingRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2114
2297
  PutObjectTaggingRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: Tagging, required: true, location_name: "Tagging", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2115
2298
  PutObjectTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2116
2299
  PutObjectTaggingRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
@@ -2118,8 +2301,9 @@ module Aws::S3
2118
2301
  PutObjectTaggingRequest[:payload] = :tagging
2119
2302
  PutObjectTaggingRequest[:payload_member] = PutObjectTaggingRequest.member(:tagging)
2120
2303
 
2121
- PutPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2304
+ PutPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2122
2305
  PutPublicAccessBlockRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2306
+ PutPublicAccessBlockRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2123
2307
  PutPublicAccessBlockRequest.add_member(:public_access_block_configuration, Shapes::ShapeRef.new(shape: PublicAccessBlockConfiguration, required: true, location_name: "PublicAccessBlockConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2124
2308
  PutPublicAccessBlockRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2125
2309
  PutPublicAccessBlockRequest.struct_class = Types::PutPublicAccessBlockRequest
@@ -2200,11 +2384,12 @@ module Aws::S3
2200
2384
  RestoreObjectOutput.add_member(:restore_output_path, Shapes::ShapeRef.new(shape: RestoreOutputPath, location: "header", location_name: "x-amz-restore-output-path"))
2201
2385
  RestoreObjectOutput.struct_class = Types::RestoreObjectOutput
2202
2386
 
2203
- RestoreObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2387
+ RestoreObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2204
2388
  RestoreObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2205
2389
  RestoreObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2206
2390
  RestoreObjectRequest.add_member(:restore_request, Shapes::ShapeRef.new(shape: RestoreRequest, location_name: "RestoreRequest", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2207
2391
  RestoreObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2392
+ RestoreObjectRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2208
2393
  RestoreObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2209
2394
  RestoreObjectRequest.struct_class = Types::RestoreObjectRequest
2210
2395
  RestoreObjectRequest[:payload] = :restore_request
@@ -2219,6 +2404,10 @@ module Aws::S3
2219
2404
  RestoreRequest.add_member(:output_location, Shapes::ShapeRef.new(shape: OutputLocation, location_name: "OutputLocation"))
2220
2405
  RestoreRequest.struct_class = Types::RestoreRequest
2221
2406
 
2407
+ RestoreStatus.add_member(:is_restore_in_progress, Shapes::ShapeRef.new(shape: IsRestoreInProgress, location_name: "IsRestoreInProgress"))
2408
+ RestoreStatus.add_member(:restore_expiry_date, Shapes::ShapeRef.new(shape: RestoreExpiryDate, location_name: "RestoreExpiryDate"))
2409
+ RestoreStatus.struct_class = Types::RestoreStatus
2410
+
2222
2411
  RoutingRule.add_member(:condition, Shapes::ShapeRef.new(shape: Condition, location_name: "Condition"))
2223
2412
  RoutingRule.add_member(:redirect, Shapes::ShapeRef.new(shape: Redirect, required: true, location_name: "Redirect"))
2224
2413
  RoutingRule.struct_class = Types::RoutingRule
@@ -2271,7 +2460,7 @@ module Aws::S3
2271
2460
  SelectObjectContentOutput[:payload] = :payload
2272
2461
  SelectObjectContentOutput[:payload_member] = SelectObjectContentOutput.member(:payload)
2273
2462
 
2274
- SelectObjectContentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2463
+ SelectObjectContentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2275
2464
  SelectObjectContentRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2276
2465
  SelectObjectContentRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
2277
2466
  SelectObjectContentRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
@@ -2380,7 +2569,7 @@ module Aws::S3
2380
2569
  UploadPartCopyOutput[:payload] = :copy_part_result
2381
2570
  UploadPartCopyOutput[:payload_member] = UploadPartCopyOutput.member(:copy_part_result)
2382
2571
 
2383
- UploadPartCopyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2572
+ UploadPartCopyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2384
2573
  UploadPartCopyRequest.add_member(:copy_source, Shapes::ShapeRef.new(shape: CopySource, required: true, location: "header", location_name: "x-amz-copy-source"))
2385
2574
  UploadPartCopyRequest.add_member(:copy_source_if_match, Shapes::ShapeRef.new(shape: CopySourceIfMatch, location: "header", location_name: "x-amz-copy-source-if-match"))
2386
2575
  UploadPartCopyRequest.add_member(:copy_source_if_modified_since, Shapes::ShapeRef.new(shape: CopySourceIfModifiedSince, location: "header", location_name: "x-amz-copy-source-if-modified-since"))
@@ -2403,6 +2592,10 @@ module Aws::S3
2403
2592
 
2404
2593
  UploadPartOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
2405
2594
  UploadPartOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
2595
+ UploadPartOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2596
+ UploadPartOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2597
+ UploadPartOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2598
+ UploadPartOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2406
2599
  UploadPartOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
2407
2600
  UploadPartOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
2408
2601
  UploadPartOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
@@ -2411,9 +2604,14 @@ module Aws::S3
2411
2604
  UploadPartOutput.struct_class = Types::UploadPartOutput
2412
2605
 
2413
2606
  UploadPartRequest.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
2414
- UploadPartRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2607
+ UploadPartRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2415
2608
  UploadPartRequest.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
2416
2609
  UploadPartRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2610
+ UploadPartRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2611
+ UploadPartRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2612
+ UploadPartRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2613
+ UploadPartRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2614
+ UploadPartRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2417
2615
  UploadPartRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2418
2616
  UploadPartRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, required: true, location: "querystring", location_name: "partNumber"))
2419
2617
  UploadPartRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
@@ -2452,6 +2650,10 @@ module Aws::S3
2452
2650
  WriteGetObjectResponseRequest.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
2453
2651
  WriteGetObjectResponseRequest.add_member(:content_range, Shapes::ShapeRef.new(shape: ContentRange, location: "header", location_name: "x-amz-fwd-header-Content-Range"))
2454
2652
  WriteGetObjectResponseRequest.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location: "header", location_name: "x-amz-fwd-header-Content-Type"))
2653
+ WriteGetObjectResponseRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-crc32"))
2654
+ WriteGetObjectResponseRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-crc32c"))
2655
+ WriteGetObjectResponseRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-sha1"))
2656
+ WriteGetObjectResponseRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-sha256"))
2455
2657
  WriteGetObjectResponseRequest.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location: "header", location_name: "x-amz-fwd-header-x-amz-delete-marker"))
2456
2658
  WriteGetObjectResponseRequest.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "x-amz-fwd-header-ETag"))
2457
2659
  WriteGetObjectResponseRequest.add_member(:expires, Shapes::ShapeRef.new(shape: Expires, location: "header", location_name: "x-amz-fwd-header-Expires"))
@@ -2499,7 +2701,7 @@ module Aws::S3
2499
2701
  api.add_operation(:abort_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
2500
2702
  o.name = "AbortMultipartUpload"
2501
2703
  o.http_method = "DELETE"
2502
- o.http_request_uri = "/{Bucket}/{Key+}"
2704
+ o.http_request_uri = "/{Key+}"
2503
2705
  o.input = Shapes::ShapeRef.new(shape: AbortMultipartUploadRequest)
2504
2706
  o.output = Shapes::ShapeRef.new(shape: AbortMultipartUploadOutput)
2505
2707
  o.errors << Shapes::ShapeRef.new(shape: NoSuchUpload)
@@ -2508,7 +2710,7 @@ module Aws::S3
2508
2710
  api.add_operation(:complete_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
2509
2711
  o.name = "CompleteMultipartUpload"
2510
2712
  o.http_method = "POST"
2511
- o.http_request_uri = "/{Bucket}/{Key+}"
2713
+ o.http_request_uri = "/{Key+}"
2512
2714
  o.input = Shapes::ShapeRef.new(shape: CompleteMultipartUploadRequest)
2513
2715
  o.output = Shapes::ShapeRef.new(shape: CompleteMultipartUploadOutput)
2514
2716
  end)
@@ -2516,7 +2718,7 @@ module Aws::S3
2516
2718
  api.add_operation(:copy_object, Seahorse::Model::Operation.new.tap do |o|
2517
2719
  o.name = "CopyObject"
2518
2720
  o.http_method = "PUT"
2519
- o.http_request_uri = "/{Bucket}/{Key+}"
2721
+ o.http_request_uri = "/{Key+}"
2520
2722
  o.input = Shapes::ShapeRef.new(shape: CopyObjectRequest)
2521
2723
  o.output = Shapes::ShapeRef.new(shape: CopyObjectOutput)
2522
2724
  o.errors << Shapes::ShapeRef.new(shape: ObjectNotInActiveTierError)
@@ -2525,7 +2727,7 @@ module Aws::S3
2525
2727
  api.add_operation(:create_bucket, Seahorse::Model::Operation.new.tap do |o|
2526
2728
  o.name = "CreateBucket"
2527
2729
  o.http_method = "PUT"
2528
- o.http_request_uri = "/{Bucket}"
2730
+ o.http_request_uri = "/"
2529
2731
  o.input = Shapes::ShapeRef.new(shape: CreateBucketRequest)
2530
2732
  o.output = Shapes::ShapeRef.new(shape: CreateBucketOutput)
2531
2733
  o.errors << Shapes::ShapeRef.new(shape: BucketAlreadyExists)
@@ -2535,7 +2737,7 @@ module Aws::S3
2535
2737
  api.add_operation(:create_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
2536
2738
  o.name = "CreateMultipartUpload"
2537
2739
  o.http_method = "POST"
2538
- o.http_request_uri = "/{Bucket}/{Key+}?uploads"
2740
+ o.http_request_uri = "/{Key+}?uploads"
2539
2741
  o.input = Shapes::ShapeRef.new(shape: CreateMultipartUploadRequest)
2540
2742
  o.output = Shapes::ShapeRef.new(shape: CreateMultipartUploadOutput)
2541
2743
  end)
@@ -2543,7 +2745,7 @@ module Aws::S3
2543
2745
  api.add_operation(:delete_bucket, Seahorse::Model::Operation.new.tap do |o|
2544
2746
  o.name = "DeleteBucket"
2545
2747
  o.http_method = "DELETE"
2546
- o.http_request_uri = "/{Bucket}"
2748
+ o.http_request_uri = "/"
2547
2749
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketRequest)
2548
2750
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2549
2751
  end)
@@ -2551,7 +2753,7 @@ module Aws::S3
2551
2753
  api.add_operation(:delete_bucket_analytics_configuration, Seahorse::Model::Operation.new.tap do |o|
2552
2754
  o.name = "DeleteBucketAnalyticsConfiguration"
2553
2755
  o.http_method = "DELETE"
2554
- o.http_request_uri = "/{Bucket}?analytics"
2756
+ o.http_request_uri = "/?analytics"
2555
2757
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketAnalyticsConfigurationRequest)
2556
2758
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2557
2759
  end)
@@ -2559,7 +2761,7 @@ module Aws::S3
2559
2761
  api.add_operation(:delete_bucket_cors, Seahorse::Model::Operation.new.tap do |o|
2560
2762
  o.name = "DeleteBucketCors"
2561
2763
  o.http_method = "DELETE"
2562
- o.http_request_uri = "/{Bucket}?cors"
2764
+ o.http_request_uri = "/?cors"
2563
2765
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketCorsRequest)
2564
2766
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2565
2767
  end)
@@ -2567,7 +2769,7 @@ module Aws::S3
2567
2769
  api.add_operation(:delete_bucket_encryption, Seahorse::Model::Operation.new.tap do |o|
2568
2770
  o.name = "DeleteBucketEncryption"
2569
2771
  o.http_method = "DELETE"
2570
- o.http_request_uri = "/{Bucket}?encryption"
2772
+ o.http_request_uri = "/?encryption"
2571
2773
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketEncryptionRequest)
2572
2774
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2573
2775
  end)
@@ -2575,7 +2777,7 @@ module Aws::S3
2575
2777
  api.add_operation(:delete_bucket_intelligent_tiering_configuration, Seahorse::Model::Operation.new.tap do |o|
2576
2778
  o.name = "DeleteBucketIntelligentTieringConfiguration"
2577
2779
  o.http_method = "DELETE"
2578
- o.http_request_uri = "/{Bucket}?intelligent-tiering"
2780
+ o.http_request_uri = "/?intelligent-tiering"
2579
2781
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketIntelligentTieringConfigurationRequest)
2580
2782
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2581
2783
  end)
@@ -2583,7 +2785,7 @@ module Aws::S3
2583
2785
  api.add_operation(:delete_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
2584
2786
  o.name = "DeleteBucketInventoryConfiguration"
2585
2787
  o.http_method = "DELETE"
2586
- o.http_request_uri = "/{Bucket}?inventory"
2788
+ o.http_request_uri = "/?inventory"
2587
2789
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketInventoryConfigurationRequest)
2588
2790
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2589
2791
  end)
@@ -2591,7 +2793,7 @@ module Aws::S3
2591
2793
  api.add_operation(:delete_bucket_lifecycle, Seahorse::Model::Operation.new.tap do |o|
2592
2794
  o.name = "DeleteBucketLifecycle"
2593
2795
  o.http_method = "DELETE"
2594
- o.http_request_uri = "/{Bucket}?lifecycle"
2796
+ o.http_request_uri = "/?lifecycle"
2595
2797
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketLifecycleRequest)
2596
2798
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2597
2799
  end)
@@ -2599,7 +2801,7 @@ module Aws::S3
2599
2801
  api.add_operation(:delete_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
2600
2802
  o.name = "DeleteBucketMetricsConfiguration"
2601
2803
  o.http_method = "DELETE"
2602
- o.http_request_uri = "/{Bucket}?metrics"
2804
+ o.http_request_uri = "/?metrics"
2603
2805
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketMetricsConfigurationRequest)
2604
2806
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2605
2807
  end)
@@ -2607,7 +2809,7 @@ module Aws::S3
2607
2809
  api.add_operation(:delete_bucket_ownership_controls, Seahorse::Model::Operation.new.tap do |o|
2608
2810
  o.name = "DeleteBucketOwnershipControls"
2609
2811
  o.http_method = "DELETE"
2610
- o.http_request_uri = "/{Bucket}?ownershipControls"
2812
+ o.http_request_uri = "/?ownershipControls"
2611
2813
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketOwnershipControlsRequest)
2612
2814
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2613
2815
  end)
@@ -2615,7 +2817,7 @@ module Aws::S3
2615
2817
  api.add_operation(:delete_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
2616
2818
  o.name = "DeleteBucketPolicy"
2617
2819
  o.http_method = "DELETE"
2618
- o.http_request_uri = "/{Bucket}?policy"
2820
+ o.http_request_uri = "/?policy"
2619
2821
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketPolicyRequest)
2620
2822
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2621
2823
  end)
@@ -2623,7 +2825,7 @@ module Aws::S3
2623
2825
  api.add_operation(:delete_bucket_replication, Seahorse::Model::Operation.new.tap do |o|
2624
2826
  o.name = "DeleteBucketReplication"
2625
2827
  o.http_method = "DELETE"
2626
- o.http_request_uri = "/{Bucket}?replication"
2828
+ o.http_request_uri = "/?replication"
2627
2829
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketReplicationRequest)
2628
2830
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2629
2831
  end)
@@ -2631,7 +2833,7 @@ module Aws::S3
2631
2833
  api.add_operation(:delete_bucket_tagging, Seahorse::Model::Operation.new.tap do |o|
2632
2834
  o.name = "DeleteBucketTagging"
2633
2835
  o.http_method = "DELETE"
2634
- o.http_request_uri = "/{Bucket}?tagging"
2836
+ o.http_request_uri = "/?tagging"
2635
2837
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketTaggingRequest)
2636
2838
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2637
2839
  end)
@@ -2639,7 +2841,7 @@ module Aws::S3
2639
2841
  api.add_operation(:delete_bucket_website, Seahorse::Model::Operation.new.tap do |o|
2640
2842
  o.name = "DeleteBucketWebsite"
2641
2843
  o.http_method = "DELETE"
2642
- o.http_request_uri = "/{Bucket}?website"
2844
+ o.http_request_uri = "/?website"
2643
2845
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketWebsiteRequest)
2644
2846
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2645
2847
  end)
@@ -2647,7 +2849,7 @@ module Aws::S3
2647
2849
  api.add_operation(:delete_object, Seahorse::Model::Operation.new.tap do |o|
2648
2850
  o.name = "DeleteObject"
2649
2851
  o.http_method = "DELETE"
2650
- o.http_request_uri = "/{Bucket}/{Key+}"
2852
+ o.http_request_uri = "/{Key+}"
2651
2853
  o.input = Shapes::ShapeRef.new(shape: DeleteObjectRequest)
2652
2854
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectOutput)
2653
2855
  end)
@@ -2655,7 +2857,7 @@ module Aws::S3
2655
2857
  api.add_operation(:delete_object_tagging, Seahorse::Model::Operation.new.tap do |o|
2656
2858
  o.name = "DeleteObjectTagging"
2657
2859
  o.http_method = "DELETE"
2658
- o.http_request_uri = "/{Bucket}/{Key+}?tagging"
2860
+ o.http_request_uri = "/{Key+}?tagging"
2659
2861
  o.input = Shapes::ShapeRef.new(shape: DeleteObjectTaggingRequest)
2660
2862
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectTaggingOutput)
2661
2863
  end)
@@ -2663,8 +2865,15 @@ module Aws::S3
2663
2865
  api.add_operation(:delete_objects, Seahorse::Model::Operation.new.tap do |o|
2664
2866
  o.name = "DeleteObjects"
2665
2867
  o.http_method = "POST"
2666
- o.http_request_uri = "/{Bucket}?delete"
2667
- o.http_checksum_required = true
2868
+ o.http_request_uri = "/?delete"
2869
+ o.http_checksum = {
2870
+ "requestAlgorithmMember" => "checksum_algorithm",
2871
+ "requestChecksumRequired" => true,
2872
+ }
2873
+ o.http_checksum = {
2874
+ "requestAlgorithmMember" => "checksum_algorithm",
2875
+ "requestChecksumRequired" => true,
2876
+ }
2668
2877
  o.input = Shapes::ShapeRef.new(shape: DeleteObjectsRequest)
2669
2878
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectsOutput)
2670
2879
  end)
@@ -2672,7 +2881,7 @@ module Aws::S3
2672
2881
  api.add_operation(:delete_public_access_block, Seahorse::Model::Operation.new.tap do |o|
2673
2882
  o.name = "DeletePublicAccessBlock"
2674
2883
  o.http_method = "DELETE"
2675
- o.http_request_uri = "/{Bucket}?publicAccessBlock"
2884
+ o.http_request_uri = "/?publicAccessBlock"
2676
2885
  o.input = Shapes::ShapeRef.new(shape: DeletePublicAccessBlockRequest)
2677
2886
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2678
2887
  end)
@@ -2680,7 +2889,7 @@ module Aws::S3
2680
2889
  api.add_operation(:get_bucket_accelerate_configuration, Seahorse::Model::Operation.new.tap do |o|
2681
2890
  o.name = "GetBucketAccelerateConfiguration"
2682
2891
  o.http_method = "GET"
2683
- o.http_request_uri = "/{Bucket}?accelerate"
2892
+ o.http_request_uri = "/?accelerate"
2684
2893
  o.input = Shapes::ShapeRef.new(shape: GetBucketAccelerateConfigurationRequest)
2685
2894
  o.output = Shapes::ShapeRef.new(shape: GetBucketAccelerateConfigurationOutput)
2686
2895
  end)
@@ -2688,7 +2897,7 @@ module Aws::S3
2688
2897
  api.add_operation(:get_bucket_acl, Seahorse::Model::Operation.new.tap do |o|
2689
2898
  o.name = "GetBucketAcl"
2690
2899
  o.http_method = "GET"
2691
- o.http_request_uri = "/{Bucket}?acl"
2900
+ o.http_request_uri = "/?acl"
2692
2901
  o.input = Shapes::ShapeRef.new(shape: GetBucketAclRequest)
2693
2902
  o.output = Shapes::ShapeRef.new(shape: GetBucketAclOutput)
2694
2903
  end)
@@ -2696,7 +2905,7 @@ module Aws::S3
2696
2905
  api.add_operation(:get_bucket_analytics_configuration, Seahorse::Model::Operation.new.tap do |o|
2697
2906
  o.name = "GetBucketAnalyticsConfiguration"
2698
2907
  o.http_method = "GET"
2699
- o.http_request_uri = "/{Bucket}?analytics"
2908
+ o.http_request_uri = "/?analytics"
2700
2909
  o.input = Shapes::ShapeRef.new(shape: GetBucketAnalyticsConfigurationRequest)
2701
2910
  o.output = Shapes::ShapeRef.new(shape: GetBucketAnalyticsConfigurationOutput)
2702
2911
  end)
@@ -2704,7 +2913,7 @@ module Aws::S3
2704
2913
  api.add_operation(:get_bucket_cors, Seahorse::Model::Operation.new.tap do |o|
2705
2914
  o.name = "GetBucketCors"
2706
2915
  o.http_method = "GET"
2707
- o.http_request_uri = "/{Bucket}?cors"
2916
+ o.http_request_uri = "/?cors"
2708
2917
  o.input = Shapes::ShapeRef.new(shape: GetBucketCorsRequest)
2709
2918
  o.output = Shapes::ShapeRef.new(shape: GetBucketCorsOutput)
2710
2919
  end)
@@ -2712,7 +2921,7 @@ module Aws::S3
2712
2921
  api.add_operation(:get_bucket_encryption, Seahorse::Model::Operation.new.tap do |o|
2713
2922
  o.name = "GetBucketEncryption"
2714
2923
  o.http_method = "GET"
2715
- o.http_request_uri = "/{Bucket}?encryption"
2924
+ o.http_request_uri = "/?encryption"
2716
2925
  o.input = Shapes::ShapeRef.new(shape: GetBucketEncryptionRequest)
2717
2926
  o.output = Shapes::ShapeRef.new(shape: GetBucketEncryptionOutput)
2718
2927
  end)
@@ -2720,7 +2929,7 @@ module Aws::S3
2720
2929
  api.add_operation(:get_bucket_intelligent_tiering_configuration, Seahorse::Model::Operation.new.tap do |o|
2721
2930
  o.name = "GetBucketIntelligentTieringConfiguration"
2722
2931
  o.http_method = "GET"
2723
- o.http_request_uri = "/{Bucket}?intelligent-tiering"
2932
+ o.http_request_uri = "/?intelligent-tiering"
2724
2933
  o.input = Shapes::ShapeRef.new(shape: GetBucketIntelligentTieringConfigurationRequest)
2725
2934
  o.output = Shapes::ShapeRef.new(shape: GetBucketIntelligentTieringConfigurationOutput)
2726
2935
  end)
@@ -2728,7 +2937,7 @@ module Aws::S3
2728
2937
  api.add_operation(:get_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
2729
2938
  o.name = "GetBucketInventoryConfiguration"
2730
2939
  o.http_method = "GET"
2731
- o.http_request_uri = "/{Bucket}?inventory"
2940
+ o.http_request_uri = "/?inventory"
2732
2941
  o.input = Shapes::ShapeRef.new(shape: GetBucketInventoryConfigurationRequest)
2733
2942
  o.output = Shapes::ShapeRef.new(shape: GetBucketInventoryConfigurationOutput)
2734
2943
  end)
@@ -2736,7 +2945,7 @@ module Aws::S3
2736
2945
  api.add_operation(:get_bucket_lifecycle, Seahorse::Model::Operation.new.tap do |o|
2737
2946
  o.name = "GetBucketLifecycle"
2738
2947
  o.http_method = "GET"
2739
- o.http_request_uri = "/{Bucket}?lifecycle"
2948
+ o.http_request_uri = "/?lifecycle"
2740
2949
  o.deprecated = true
2741
2950
  o.input = Shapes::ShapeRef.new(shape: GetBucketLifecycleRequest)
2742
2951
  o.output = Shapes::ShapeRef.new(shape: GetBucketLifecycleOutput)
@@ -2745,7 +2954,7 @@ module Aws::S3
2745
2954
  api.add_operation(:get_bucket_lifecycle_configuration, Seahorse::Model::Operation.new.tap do |o|
2746
2955
  o.name = "GetBucketLifecycleConfiguration"
2747
2956
  o.http_method = "GET"
2748
- o.http_request_uri = "/{Bucket}?lifecycle"
2957
+ o.http_request_uri = "/?lifecycle"
2749
2958
  o.input = Shapes::ShapeRef.new(shape: GetBucketLifecycleConfigurationRequest)
2750
2959
  o.output = Shapes::ShapeRef.new(shape: GetBucketLifecycleConfigurationOutput)
2751
2960
  end)
@@ -2753,7 +2962,7 @@ module Aws::S3
2753
2962
  api.add_operation(:get_bucket_location, Seahorse::Model::Operation.new.tap do |o|
2754
2963
  o.name = "GetBucketLocation"
2755
2964
  o.http_method = "GET"
2756
- o.http_request_uri = "/{Bucket}?location"
2965
+ o.http_request_uri = "/?location"
2757
2966
  o.input = Shapes::ShapeRef.new(shape: GetBucketLocationRequest)
2758
2967
  o.output = Shapes::ShapeRef.new(shape: GetBucketLocationOutput)
2759
2968
  end)
@@ -2761,7 +2970,7 @@ module Aws::S3
2761
2970
  api.add_operation(:get_bucket_logging, Seahorse::Model::Operation.new.tap do |o|
2762
2971
  o.name = "GetBucketLogging"
2763
2972
  o.http_method = "GET"
2764
- o.http_request_uri = "/{Bucket}?logging"
2973
+ o.http_request_uri = "/?logging"
2765
2974
  o.input = Shapes::ShapeRef.new(shape: GetBucketLoggingRequest)
2766
2975
  o.output = Shapes::ShapeRef.new(shape: GetBucketLoggingOutput)
2767
2976
  end)
@@ -2769,7 +2978,7 @@ module Aws::S3
2769
2978
  api.add_operation(:get_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
2770
2979
  o.name = "GetBucketMetricsConfiguration"
2771
2980
  o.http_method = "GET"
2772
- o.http_request_uri = "/{Bucket}?metrics"
2981
+ o.http_request_uri = "/?metrics"
2773
2982
  o.input = Shapes::ShapeRef.new(shape: GetBucketMetricsConfigurationRequest)
2774
2983
  o.output = Shapes::ShapeRef.new(shape: GetBucketMetricsConfigurationOutput)
2775
2984
  end)
@@ -2777,7 +2986,7 @@ module Aws::S3
2777
2986
  api.add_operation(:get_bucket_notification, Seahorse::Model::Operation.new.tap do |o|
2778
2987
  o.name = "GetBucketNotification"
2779
2988
  o.http_method = "GET"
2780
- o.http_request_uri = "/{Bucket}?notification"
2989
+ o.http_request_uri = "/?notification"
2781
2990
  o.deprecated = true
2782
2991
  o.input = Shapes::ShapeRef.new(shape: GetBucketNotificationConfigurationRequest)
2783
2992
  o.output = Shapes::ShapeRef.new(shape: NotificationConfigurationDeprecated)
@@ -2786,7 +2995,7 @@ module Aws::S3
2786
2995
  api.add_operation(:get_bucket_notification_configuration, Seahorse::Model::Operation.new.tap do |o|
2787
2996
  o.name = "GetBucketNotificationConfiguration"
2788
2997
  o.http_method = "GET"
2789
- o.http_request_uri = "/{Bucket}?notification"
2998
+ o.http_request_uri = "/?notification"
2790
2999
  o.input = Shapes::ShapeRef.new(shape: GetBucketNotificationConfigurationRequest)
2791
3000
  o.output = Shapes::ShapeRef.new(shape: NotificationConfiguration)
2792
3001
  end)
@@ -2794,7 +3003,7 @@ module Aws::S3
2794
3003
  api.add_operation(:get_bucket_ownership_controls, Seahorse::Model::Operation.new.tap do |o|
2795
3004
  o.name = "GetBucketOwnershipControls"
2796
3005
  o.http_method = "GET"
2797
- o.http_request_uri = "/{Bucket}?ownershipControls"
3006
+ o.http_request_uri = "/?ownershipControls"
2798
3007
  o.input = Shapes::ShapeRef.new(shape: GetBucketOwnershipControlsRequest)
2799
3008
  o.output = Shapes::ShapeRef.new(shape: GetBucketOwnershipControlsOutput)
2800
3009
  end)
@@ -2802,7 +3011,7 @@ module Aws::S3
2802
3011
  api.add_operation(:get_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
2803
3012
  o.name = "GetBucketPolicy"
2804
3013
  o.http_method = "GET"
2805
- o.http_request_uri = "/{Bucket}?policy"
3014
+ o.http_request_uri = "/?policy"
2806
3015
  o.input = Shapes::ShapeRef.new(shape: GetBucketPolicyRequest)
2807
3016
  o.output = Shapes::ShapeRef.new(shape: GetBucketPolicyOutput)
2808
3017
  end)
@@ -2810,7 +3019,7 @@ module Aws::S3
2810
3019
  api.add_operation(:get_bucket_policy_status, Seahorse::Model::Operation.new.tap do |o|
2811
3020
  o.name = "GetBucketPolicyStatus"
2812
3021
  o.http_method = "GET"
2813
- o.http_request_uri = "/{Bucket}?policyStatus"
3022
+ o.http_request_uri = "/?policyStatus"
2814
3023
  o.input = Shapes::ShapeRef.new(shape: GetBucketPolicyStatusRequest)
2815
3024
  o.output = Shapes::ShapeRef.new(shape: GetBucketPolicyStatusOutput)
2816
3025
  end)
@@ -2818,7 +3027,7 @@ module Aws::S3
2818
3027
  api.add_operation(:get_bucket_replication, Seahorse::Model::Operation.new.tap do |o|
2819
3028
  o.name = "GetBucketReplication"
2820
3029
  o.http_method = "GET"
2821
- o.http_request_uri = "/{Bucket}?replication"
3030
+ o.http_request_uri = "/?replication"
2822
3031
  o.input = Shapes::ShapeRef.new(shape: GetBucketReplicationRequest)
2823
3032
  o.output = Shapes::ShapeRef.new(shape: GetBucketReplicationOutput)
2824
3033
  end)
@@ -2826,7 +3035,7 @@ module Aws::S3
2826
3035
  api.add_operation(:get_bucket_request_payment, Seahorse::Model::Operation.new.tap do |o|
2827
3036
  o.name = "GetBucketRequestPayment"
2828
3037
  o.http_method = "GET"
2829
- o.http_request_uri = "/{Bucket}?requestPayment"
3038
+ o.http_request_uri = "/?requestPayment"
2830
3039
  o.input = Shapes::ShapeRef.new(shape: GetBucketRequestPaymentRequest)
2831
3040
  o.output = Shapes::ShapeRef.new(shape: GetBucketRequestPaymentOutput)
2832
3041
  end)
@@ -2834,7 +3043,7 @@ module Aws::S3
2834
3043
  api.add_operation(:get_bucket_tagging, Seahorse::Model::Operation.new.tap do |o|
2835
3044
  o.name = "GetBucketTagging"
2836
3045
  o.http_method = "GET"
2837
- o.http_request_uri = "/{Bucket}?tagging"
3046
+ o.http_request_uri = "/?tagging"
2838
3047
  o.input = Shapes::ShapeRef.new(shape: GetBucketTaggingRequest)
2839
3048
  o.output = Shapes::ShapeRef.new(shape: GetBucketTaggingOutput)
2840
3049
  end)
@@ -2842,7 +3051,7 @@ module Aws::S3
2842
3051
  api.add_operation(:get_bucket_versioning, Seahorse::Model::Operation.new.tap do |o|
2843
3052
  o.name = "GetBucketVersioning"
2844
3053
  o.http_method = "GET"
2845
- o.http_request_uri = "/{Bucket}?versioning"
3054
+ o.http_request_uri = "/?versioning"
2846
3055
  o.input = Shapes::ShapeRef.new(shape: GetBucketVersioningRequest)
2847
3056
  o.output = Shapes::ShapeRef.new(shape: GetBucketVersioningOutput)
2848
3057
  end)
@@ -2850,7 +3059,7 @@ module Aws::S3
2850
3059
  api.add_operation(:get_bucket_website, Seahorse::Model::Operation.new.tap do |o|
2851
3060
  o.name = "GetBucketWebsite"
2852
3061
  o.http_method = "GET"
2853
- o.http_request_uri = "/{Bucket}?website"
3062
+ o.http_request_uri = "/?website"
2854
3063
  o.input = Shapes::ShapeRef.new(shape: GetBucketWebsiteRequest)
2855
3064
  o.output = Shapes::ShapeRef.new(shape: GetBucketWebsiteOutput)
2856
3065
  end)
@@ -2858,7 +3067,15 @@ module Aws::S3
2858
3067
  api.add_operation(:get_object, Seahorse::Model::Operation.new.tap do |o|
2859
3068
  o.name = "GetObject"
2860
3069
  o.http_method = "GET"
2861
- o.http_request_uri = "/{Bucket}/{Key+}"
3070
+ o.http_request_uri = "/{Key+}"
3071
+ o.http_checksum = {
3072
+ "requestValidationModeMember" => "checksum_mode",
3073
+ "responseAlgorithms" => ["CRC32", "CRC32C", "SHA256", "SHA1"],
3074
+ }
3075
+ o.http_checksum = {
3076
+ "requestValidationModeMember" => "checksum_mode",
3077
+ "responseAlgorithms" => ["CRC32", "CRC32C", "SHA256", "SHA1"],
3078
+ }
2862
3079
  o.input = Shapes::ShapeRef.new(shape: GetObjectRequest)
2863
3080
  o.output = Shapes::ShapeRef.new(shape: GetObjectOutput)
2864
3081
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
@@ -2868,16 +3085,25 @@ module Aws::S3
2868
3085
  api.add_operation(:get_object_acl, Seahorse::Model::Operation.new.tap do |o|
2869
3086
  o.name = "GetObjectAcl"
2870
3087
  o.http_method = "GET"
2871
- o.http_request_uri = "/{Bucket}/{Key+}?acl"
3088
+ o.http_request_uri = "/{Key+}?acl"
2872
3089
  o.input = Shapes::ShapeRef.new(shape: GetObjectAclRequest)
2873
3090
  o.output = Shapes::ShapeRef.new(shape: GetObjectAclOutput)
2874
3091
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
2875
3092
  end)
2876
3093
 
3094
+ api.add_operation(:get_object_attributes, Seahorse::Model::Operation.new.tap do |o|
3095
+ o.name = "GetObjectAttributes"
3096
+ o.http_method = "GET"
3097
+ o.http_request_uri = "/{Key+}?attributes"
3098
+ o.input = Shapes::ShapeRef.new(shape: GetObjectAttributesRequest)
3099
+ o.output = Shapes::ShapeRef.new(shape: GetObjectAttributesOutput)
3100
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
3101
+ end)
3102
+
2877
3103
  api.add_operation(:get_object_legal_hold, Seahorse::Model::Operation.new.tap do |o|
2878
3104
  o.name = "GetObjectLegalHold"
2879
3105
  o.http_method = "GET"
2880
- o.http_request_uri = "/{Bucket}/{Key+}?legal-hold"
3106
+ o.http_request_uri = "/{Key+}?legal-hold"
2881
3107
  o.input = Shapes::ShapeRef.new(shape: GetObjectLegalHoldRequest)
2882
3108
  o.output = Shapes::ShapeRef.new(shape: GetObjectLegalHoldOutput)
2883
3109
  end)
@@ -2885,7 +3111,7 @@ module Aws::S3
2885
3111
  api.add_operation(:get_object_lock_configuration, Seahorse::Model::Operation.new.tap do |o|
2886
3112
  o.name = "GetObjectLockConfiguration"
2887
3113
  o.http_method = "GET"
2888
- o.http_request_uri = "/{Bucket}?object-lock"
3114
+ o.http_request_uri = "/?object-lock"
2889
3115
  o.input = Shapes::ShapeRef.new(shape: GetObjectLockConfigurationRequest)
2890
3116
  o.output = Shapes::ShapeRef.new(shape: GetObjectLockConfigurationOutput)
2891
3117
  end)
@@ -2893,7 +3119,7 @@ module Aws::S3
2893
3119
  api.add_operation(:get_object_retention, Seahorse::Model::Operation.new.tap do |o|
2894
3120
  o.name = "GetObjectRetention"
2895
3121
  o.http_method = "GET"
2896
- o.http_request_uri = "/{Bucket}/{Key+}?retention"
3122
+ o.http_request_uri = "/{Key+}?retention"
2897
3123
  o.input = Shapes::ShapeRef.new(shape: GetObjectRetentionRequest)
2898
3124
  o.output = Shapes::ShapeRef.new(shape: GetObjectRetentionOutput)
2899
3125
  end)
@@ -2901,7 +3127,7 @@ module Aws::S3
2901
3127
  api.add_operation(:get_object_tagging, Seahorse::Model::Operation.new.tap do |o|
2902
3128
  o.name = "GetObjectTagging"
2903
3129
  o.http_method = "GET"
2904
- o.http_request_uri = "/{Bucket}/{Key+}?tagging"
3130
+ o.http_request_uri = "/{Key+}?tagging"
2905
3131
  o.input = Shapes::ShapeRef.new(shape: GetObjectTaggingRequest)
2906
3132
  o.output = Shapes::ShapeRef.new(shape: GetObjectTaggingOutput)
2907
3133
  end)
@@ -2909,7 +3135,7 @@ module Aws::S3
2909
3135
  api.add_operation(:get_object_torrent, Seahorse::Model::Operation.new.tap do |o|
2910
3136
  o.name = "GetObjectTorrent"
2911
3137
  o.http_method = "GET"
2912
- o.http_request_uri = "/{Bucket}/{Key+}?torrent"
3138
+ o.http_request_uri = "/{Key+}?torrent"
2913
3139
  o.input = Shapes::ShapeRef.new(shape: GetObjectTorrentRequest)
2914
3140
  o.output = Shapes::ShapeRef.new(shape: GetObjectTorrentOutput)
2915
3141
  end)
@@ -2917,7 +3143,7 @@ module Aws::S3
2917
3143
  api.add_operation(:get_public_access_block, Seahorse::Model::Operation.new.tap do |o|
2918
3144
  o.name = "GetPublicAccessBlock"
2919
3145
  o.http_method = "GET"
2920
- o.http_request_uri = "/{Bucket}?publicAccessBlock"
3146
+ o.http_request_uri = "/?publicAccessBlock"
2921
3147
  o.input = Shapes::ShapeRef.new(shape: GetPublicAccessBlockRequest)
2922
3148
  o.output = Shapes::ShapeRef.new(shape: GetPublicAccessBlockOutput)
2923
3149
  end)
@@ -2925,7 +3151,7 @@ module Aws::S3
2925
3151
  api.add_operation(:head_bucket, Seahorse::Model::Operation.new.tap do |o|
2926
3152
  o.name = "HeadBucket"
2927
3153
  o.http_method = "HEAD"
2928
- o.http_request_uri = "/{Bucket}"
3154
+ o.http_request_uri = "/"
2929
3155
  o.input = Shapes::ShapeRef.new(shape: HeadBucketRequest)
2930
3156
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2931
3157
  o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
@@ -2934,7 +3160,7 @@ module Aws::S3
2934
3160
  api.add_operation(:head_object, Seahorse::Model::Operation.new.tap do |o|
2935
3161
  o.name = "HeadObject"
2936
3162
  o.http_method = "HEAD"
2937
- o.http_request_uri = "/{Bucket}/{Key+}"
3163
+ o.http_request_uri = "/{Key+}"
2938
3164
  o.input = Shapes::ShapeRef.new(shape: HeadObjectRequest)
2939
3165
  o.output = Shapes::ShapeRef.new(shape: HeadObjectOutput)
2940
3166
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
@@ -2943,7 +3169,7 @@ module Aws::S3
2943
3169
  api.add_operation(:list_bucket_analytics_configurations, Seahorse::Model::Operation.new.tap do |o|
2944
3170
  o.name = "ListBucketAnalyticsConfigurations"
2945
3171
  o.http_method = "GET"
2946
- o.http_request_uri = "/{Bucket}?analytics"
3172
+ o.http_request_uri = "/?analytics"
2947
3173
  o.input = Shapes::ShapeRef.new(shape: ListBucketAnalyticsConfigurationsRequest)
2948
3174
  o.output = Shapes::ShapeRef.new(shape: ListBucketAnalyticsConfigurationsOutput)
2949
3175
  end)
@@ -2951,7 +3177,7 @@ module Aws::S3
2951
3177
  api.add_operation(:list_bucket_intelligent_tiering_configurations, Seahorse::Model::Operation.new.tap do |o|
2952
3178
  o.name = "ListBucketIntelligentTieringConfigurations"
2953
3179
  o.http_method = "GET"
2954
- o.http_request_uri = "/{Bucket}?intelligent-tiering"
3180
+ o.http_request_uri = "/?intelligent-tiering"
2955
3181
  o.input = Shapes::ShapeRef.new(shape: ListBucketIntelligentTieringConfigurationsRequest)
2956
3182
  o.output = Shapes::ShapeRef.new(shape: ListBucketIntelligentTieringConfigurationsOutput)
2957
3183
  end)
@@ -2959,7 +3185,7 @@ module Aws::S3
2959
3185
  api.add_operation(:list_bucket_inventory_configurations, Seahorse::Model::Operation.new.tap do |o|
2960
3186
  o.name = "ListBucketInventoryConfigurations"
2961
3187
  o.http_method = "GET"
2962
- o.http_request_uri = "/{Bucket}?inventory"
3188
+ o.http_request_uri = "/?inventory"
2963
3189
  o.input = Shapes::ShapeRef.new(shape: ListBucketInventoryConfigurationsRequest)
2964
3190
  o.output = Shapes::ShapeRef.new(shape: ListBucketInventoryConfigurationsOutput)
2965
3191
  end)
@@ -2967,7 +3193,7 @@ module Aws::S3
2967
3193
  api.add_operation(:list_bucket_metrics_configurations, Seahorse::Model::Operation.new.tap do |o|
2968
3194
  o.name = "ListBucketMetricsConfigurations"
2969
3195
  o.http_method = "GET"
2970
- o.http_request_uri = "/{Bucket}?metrics"
3196
+ o.http_request_uri = "/?metrics"
2971
3197
  o.input = Shapes::ShapeRef.new(shape: ListBucketMetricsConfigurationsRequest)
2972
3198
  o.output = Shapes::ShapeRef.new(shape: ListBucketMetricsConfigurationsOutput)
2973
3199
  end)
@@ -2983,7 +3209,7 @@ module Aws::S3
2983
3209
  api.add_operation(:list_multipart_uploads, Seahorse::Model::Operation.new.tap do |o|
2984
3210
  o.name = "ListMultipartUploads"
2985
3211
  o.http_method = "GET"
2986
- o.http_request_uri = "/{Bucket}?uploads"
3212
+ o.http_request_uri = "/?uploads"
2987
3213
  o.input = Shapes::ShapeRef.new(shape: ListMultipartUploadsRequest)
2988
3214
  o.output = Shapes::ShapeRef.new(shape: ListMultipartUploadsOutput)
2989
3215
  o[:pager] = Aws::Pager.new(
@@ -2999,7 +3225,7 @@ module Aws::S3
2999
3225
  api.add_operation(:list_object_versions, Seahorse::Model::Operation.new.tap do |o|
3000
3226
  o.name = "ListObjectVersions"
3001
3227
  o.http_method = "GET"
3002
- o.http_request_uri = "/{Bucket}?versions"
3228
+ o.http_request_uri = "/?versions"
3003
3229
  o.input = Shapes::ShapeRef.new(shape: ListObjectVersionsRequest)
3004
3230
  o.output = Shapes::ShapeRef.new(shape: ListObjectVersionsOutput)
3005
3231
  o[:pager] = Aws::Pager.new(
@@ -3015,7 +3241,7 @@ module Aws::S3
3015
3241
  api.add_operation(:list_objects, Seahorse::Model::Operation.new.tap do |o|
3016
3242
  o.name = "ListObjects"
3017
3243
  o.http_method = "GET"
3018
- o.http_request_uri = "/{Bucket}"
3244
+ o.http_request_uri = "/"
3019
3245
  o.input = Shapes::ShapeRef.new(shape: ListObjectsRequest)
3020
3246
  o.output = Shapes::ShapeRef.new(shape: ListObjectsOutput)
3021
3247
  o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
@@ -3031,7 +3257,7 @@ module Aws::S3
3031
3257
  api.add_operation(:list_objects_v2, Seahorse::Model::Operation.new.tap do |o|
3032
3258
  o.name = "ListObjectsV2"
3033
3259
  o.http_method = "GET"
3034
- o.http_request_uri = "/{Bucket}?list-type=2"
3260
+ o.http_request_uri = "/?list-type=2"
3035
3261
  o.input = Shapes::ShapeRef.new(shape: ListObjectsV2Request)
3036
3262
  o.output = Shapes::ShapeRef.new(shape: ListObjectsV2Output)
3037
3263
  o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
@@ -3046,7 +3272,7 @@ module Aws::S3
3046
3272
  api.add_operation(:list_parts, Seahorse::Model::Operation.new.tap do |o|
3047
3273
  o.name = "ListParts"
3048
3274
  o.http_method = "GET"
3049
- o.http_request_uri = "/{Bucket}/{Key+}"
3275
+ o.http_request_uri = "/{Key+}"
3050
3276
  o.input = Shapes::ShapeRef.new(shape: ListPartsRequest)
3051
3277
  o.output = Shapes::ShapeRef.new(shape: ListPartsOutput)
3052
3278
  o[:pager] = Aws::Pager.new(
@@ -3061,7 +3287,15 @@ module Aws::S3
3061
3287
  api.add_operation(:put_bucket_accelerate_configuration, Seahorse::Model::Operation.new.tap do |o|
3062
3288
  o.name = "PutBucketAccelerateConfiguration"
3063
3289
  o.http_method = "PUT"
3064
- o.http_request_uri = "/{Bucket}?accelerate"
3290
+ o.http_request_uri = "/?accelerate"
3291
+ o.http_checksum = {
3292
+ "requestAlgorithmMember" => "checksum_algorithm",
3293
+ "requestChecksumRequired" => false,
3294
+ }
3295
+ o.http_checksum = {
3296
+ "requestAlgorithmMember" => "checksum_algorithm",
3297
+ "requestChecksumRequired" => false,
3298
+ }
3065
3299
  o.input = Shapes::ShapeRef.new(shape: PutBucketAccelerateConfigurationRequest)
3066
3300
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3067
3301
  end)
@@ -3069,8 +3303,15 @@ module Aws::S3
3069
3303
  api.add_operation(:put_bucket_acl, Seahorse::Model::Operation.new.tap do |o|
3070
3304
  o.name = "PutBucketAcl"
3071
3305
  o.http_method = "PUT"
3072
- o.http_request_uri = "/{Bucket}?acl"
3073
- o.http_checksum_required = true
3306
+ o.http_request_uri = "/?acl"
3307
+ o.http_checksum = {
3308
+ "requestAlgorithmMember" => "checksum_algorithm",
3309
+ "requestChecksumRequired" => true,
3310
+ }
3311
+ o.http_checksum = {
3312
+ "requestAlgorithmMember" => "checksum_algorithm",
3313
+ "requestChecksumRequired" => true,
3314
+ }
3074
3315
  o.input = Shapes::ShapeRef.new(shape: PutBucketAclRequest)
3075
3316
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3076
3317
  end)
@@ -3078,7 +3319,7 @@ module Aws::S3
3078
3319
  api.add_operation(:put_bucket_analytics_configuration, Seahorse::Model::Operation.new.tap do |o|
3079
3320
  o.name = "PutBucketAnalyticsConfiguration"
3080
3321
  o.http_method = "PUT"
3081
- o.http_request_uri = "/{Bucket}?analytics"
3322
+ o.http_request_uri = "/?analytics"
3082
3323
  o.input = Shapes::ShapeRef.new(shape: PutBucketAnalyticsConfigurationRequest)
3083
3324
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3084
3325
  end)
@@ -3086,8 +3327,15 @@ module Aws::S3
3086
3327
  api.add_operation(:put_bucket_cors, Seahorse::Model::Operation.new.tap do |o|
3087
3328
  o.name = "PutBucketCors"
3088
3329
  o.http_method = "PUT"
3089
- o.http_request_uri = "/{Bucket}?cors"
3090
- o.http_checksum_required = true
3330
+ o.http_request_uri = "/?cors"
3331
+ o.http_checksum = {
3332
+ "requestAlgorithmMember" => "checksum_algorithm",
3333
+ "requestChecksumRequired" => true,
3334
+ }
3335
+ o.http_checksum = {
3336
+ "requestAlgorithmMember" => "checksum_algorithm",
3337
+ "requestChecksumRequired" => true,
3338
+ }
3091
3339
  o.input = Shapes::ShapeRef.new(shape: PutBucketCorsRequest)
3092
3340
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3093
3341
  end)
@@ -3095,8 +3343,15 @@ module Aws::S3
3095
3343
  api.add_operation(:put_bucket_encryption, Seahorse::Model::Operation.new.tap do |o|
3096
3344
  o.name = "PutBucketEncryption"
3097
3345
  o.http_method = "PUT"
3098
- o.http_request_uri = "/{Bucket}?encryption"
3099
- o.http_checksum_required = true
3346
+ o.http_request_uri = "/?encryption"
3347
+ o.http_checksum = {
3348
+ "requestAlgorithmMember" => "checksum_algorithm",
3349
+ "requestChecksumRequired" => true,
3350
+ }
3351
+ o.http_checksum = {
3352
+ "requestAlgorithmMember" => "checksum_algorithm",
3353
+ "requestChecksumRequired" => true,
3354
+ }
3100
3355
  o.input = Shapes::ShapeRef.new(shape: PutBucketEncryptionRequest)
3101
3356
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3102
3357
  end)
@@ -3104,7 +3359,7 @@ module Aws::S3
3104
3359
  api.add_operation(:put_bucket_intelligent_tiering_configuration, Seahorse::Model::Operation.new.tap do |o|
3105
3360
  o.name = "PutBucketIntelligentTieringConfiguration"
3106
3361
  o.http_method = "PUT"
3107
- o.http_request_uri = "/{Bucket}?intelligent-tiering"
3362
+ o.http_request_uri = "/?intelligent-tiering"
3108
3363
  o.input = Shapes::ShapeRef.new(shape: PutBucketIntelligentTieringConfigurationRequest)
3109
3364
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3110
3365
  end)
@@ -3112,7 +3367,7 @@ module Aws::S3
3112
3367
  api.add_operation(:put_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
3113
3368
  o.name = "PutBucketInventoryConfiguration"
3114
3369
  o.http_method = "PUT"
3115
- o.http_request_uri = "/{Bucket}?inventory"
3370
+ o.http_request_uri = "/?inventory"
3116
3371
  o.input = Shapes::ShapeRef.new(shape: PutBucketInventoryConfigurationRequest)
3117
3372
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3118
3373
  end)
@@ -3120,8 +3375,15 @@ module Aws::S3
3120
3375
  api.add_operation(:put_bucket_lifecycle, Seahorse::Model::Operation.new.tap do |o|
3121
3376
  o.name = "PutBucketLifecycle"
3122
3377
  o.http_method = "PUT"
3123
- o.http_request_uri = "/{Bucket}?lifecycle"
3124
- o.http_checksum_required = true
3378
+ o.http_request_uri = "/?lifecycle"
3379
+ o.http_checksum = {
3380
+ "requestAlgorithmMember" => "checksum_algorithm",
3381
+ "requestChecksumRequired" => true,
3382
+ }
3383
+ o.http_checksum = {
3384
+ "requestAlgorithmMember" => "checksum_algorithm",
3385
+ "requestChecksumRequired" => true,
3386
+ }
3125
3387
  o.deprecated = true
3126
3388
  o.input = Shapes::ShapeRef.new(shape: PutBucketLifecycleRequest)
3127
3389
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
@@ -3130,8 +3392,15 @@ module Aws::S3
3130
3392
  api.add_operation(:put_bucket_lifecycle_configuration, Seahorse::Model::Operation.new.tap do |o|
3131
3393
  o.name = "PutBucketLifecycleConfiguration"
3132
3394
  o.http_method = "PUT"
3133
- o.http_request_uri = "/{Bucket}?lifecycle"
3134
- o.http_checksum_required = true
3395
+ o.http_request_uri = "/?lifecycle"
3396
+ o.http_checksum = {
3397
+ "requestAlgorithmMember" => "checksum_algorithm",
3398
+ "requestChecksumRequired" => true,
3399
+ }
3400
+ o.http_checksum = {
3401
+ "requestAlgorithmMember" => "checksum_algorithm",
3402
+ "requestChecksumRequired" => true,
3403
+ }
3135
3404
  o.input = Shapes::ShapeRef.new(shape: PutBucketLifecycleConfigurationRequest)
3136
3405
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3137
3406
  end)
@@ -3139,8 +3408,15 @@ module Aws::S3
3139
3408
  api.add_operation(:put_bucket_logging, Seahorse::Model::Operation.new.tap do |o|
3140
3409
  o.name = "PutBucketLogging"
3141
3410
  o.http_method = "PUT"
3142
- o.http_request_uri = "/{Bucket}?logging"
3143
- o.http_checksum_required = true
3411
+ o.http_request_uri = "/?logging"
3412
+ o.http_checksum = {
3413
+ "requestAlgorithmMember" => "checksum_algorithm",
3414
+ "requestChecksumRequired" => true,
3415
+ }
3416
+ o.http_checksum = {
3417
+ "requestAlgorithmMember" => "checksum_algorithm",
3418
+ "requestChecksumRequired" => true,
3419
+ }
3144
3420
  o.input = Shapes::ShapeRef.new(shape: PutBucketLoggingRequest)
3145
3421
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3146
3422
  end)
@@ -3148,7 +3424,7 @@ module Aws::S3
3148
3424
  api.add_operation(:put_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
3149
3425
  o.name = "PutBucketMetricsConfiguration"
3150
3426
  o.http_method = "PUT"
3151
- o.http_request_uri = "/{Bucket}?metrics"
3427
+ o.http_request_uri = "/?metrics"
3152
3428
  o.input = Shapes::ShapeRef.new(shape: PutBucketMetricsConfigurationRequest)
3153
3429
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3154
3430
  end)
@@ -3156,8 +3432,15 @@ module Aws::S3
3156
3432
  api.add_operation(:put_bucket_notification, Seahorse::Model::Operation.new.tap do |o|
3157
3433
  o.name = "PutBucketNotification"
3158
3434
  o.http_method = "PUT"
3159
- o.http_request_uri = "/{Bucket}?notification"
3160
- o.http_checksum_required = true
3435
+ o.http_request_uri = "/?notification"
3436
+ o.http_checksum = {
3437
+ "requestAlgorithmMember" => "checksum_algorithm",
3438
+ "requestChecksumRequired" => true,
3439
+ }
3440
+ o.http_checksum = {
3441
+ "requestAlgorithmMember" => "checksum_algorithm",
3442
+ "requestChecksumRequired" => true,
3443
+ }
3161
3444
  o.deprecated = true
3162
3445
  o.input = Shapes::ShapeRef.new(shape: PutBucketNotificationRequest)
3163
3446
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
@@ -3166,7 +3449,7 @@ module Aws::S3
3166
3449
  api.add_operation(:put_bucket_notification_configuration, Seahorse::Model::Operation.new.tap do |o|
3167
3450
  o.name = "PutBucketNotificationConfiguration"
3168
3451
  o.http_method = "PUT"
3169
- o.http_request_uri = "/{Bucket}?notification"
3452
+ o.http_request_uri = "/?notification"
3170
3453
  o.input = Shapes::ShapeRef.new(shape: PutBucketNotificationConfigurationRequest)
3171
3454
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3172
3455
  end)
@@ -3174,8 +3457,10 @@ module Aws::S3
3174
3457
  api.add_operation(:put_bucket_ownership_controls, Seahorse::Model::Operation.new.tap do |o|
3175
3458
  o.name = "PutBucketOwnershipControls"
3176
3459
  o.http_method = "PUT"
3177
- o.http_request_uri = "/{Bucket}?ownershipControls"
3178
- o.http_checksum_required = true
3460
+ o.http_request_uri = "/?ownershipControls"
3461
+ o.http_checksum = {
3462
+ "requestChecksumRequired" => true,
3463
+ }
3179
3464
  o.input = Shapes::ShapeRef.new(shape: PutBucketOwnershipControlsRequest)
3180
3465
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3181
3466
  end)
@@ -3183,8 +3468,15 @@ module Aws::S3
3183
3468
  api.add_operation(:put_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
3184
3469
  o.name = "PutBucketPolicy"
3185
3470
  o.http_method = "PUT"
3186
- o.http_request_uri = "/{Bucket}?policy"
3187
- o.http_checksum_required = true
3471
+ o.http_request_uri = "/?policy"
3472
+ o.http_checksum = {
3473
+ "requestAlgorithmMember" => "checksum_algorithm",
3474
+ "requestChecksumRequired" => true,
3475
+ }
3476
+ o.http_checksum = {
3477
+ "requestAlgorithmMember" => "checksum_algorithm",
3478
+ "requestChecksumRequired" => true,
3479
+ }
3188
3480
  o.input = Shapes::ShapeRef.new(shape: PutBucketPolicyRequest)
3189
3481
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3190
3482
  end)
@@ -3192,8 +3484,15 @@ module Aws::S3
3192
3484
  api.add_operation(:put_bucket_replication, Seahorse::Model::Operation.new.tap do |o|
3193
3485
  o.name = "PutBucketReplication"
3194
3486
  o.http_method = "PUT"
3195
- o.http_request_uri = "/{Bucket}?replication"
3196
- o.http_checksum_required = true
3487
+ o.http_request_uri = "/?replication"
3488
+ o.http_checksum = {
3489
+ "requestAlgorithmMember" => "checksum_algorithm",
3490
+ "requestChecksumRequired" => true,
3491
+ }
3492
+ o.http_checksum = {
3493
+ "requestAlgorithmMember" => "checksum_algorithm",
3494
+ "requestChecksumRequired" => true,
3495
+ }
3197
3496
  o.input = Shapes::ShapeRef.new(shape: PutBucketReplicationRequest)
3198
3497
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3199
3498
  end)
@@ -3201,8 +3500,15 @@ module Aws::S3
3201
3500
  api.add_operation(:put_bucket_request_payment, Seahorse::Model::Operation.new.tap do |o|
3202
3501
  o.name = "PutBucketRequestPayment"
3203
3502
  o.http_method = "PUT"
3204
- o.http_request_uri = "/{Bucket}?requestPayment"
3205
- o.http_checksum_required = true
3503
+ o.http_request_uri = "/?requestPayment"
3504
+ o.http_checksum = {
3505
+ "requestAlgorithmMember" => "checksum_algorithm",
3506
+ "requestChecksumRequired" => true,
3507
+ }
3508
+ o.http_checksum = {
3509
+ "requestAlgorithmMember" => "checksum_algorithm",
3510
+ "requestChecksumRequired" => true,
3511
+ }
3206
3512
  o.input = Shapes::ShapeRef.new(shape: PutBucketRequestPaymentRequest)
3207
3513
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3208
3514
  end)
@@ -3210,8 +3516,15 @@ module Aws::S3
3210
3516
  api.add_operation(:put_bucket_tagging, Seahorse::Model::Operation.new.tap do |o|
3211
3517
  o.name = "PutBucketTagging"
3212
3518
  o.http_method = "PUT"
3213
- o.http_request_uri = "/{Bucket}?tagging"
3214
- o.http_checksum_required = true
3519
+ o.http_request_uri = "/?tagging"
3520
+ o.http_checksum = {
3521
+ "requestAlgorithmMember" => "checksum_algorithm",
3522
+ "requestChecksumRequired" => true,
3523
+ }
3524
+ o.http_checksum = {
3525
+ "requestAlgorithmMember" => "checksum_algorithm",
3526
+ "requestChecksumRequired" => true,
3527
+ }
3215
3528
  o.input = Shapes::ShapeRef.new(shape: PutBucketTaggingRequest)
3216
3529
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3217
3530
  end)
@@ -3219,8 +3532,15 @@ module Aws::S3
3219
3532
  api.add_operation(:put_bucket_versioning, Seahorse::Model::Operation.new.tap do |o|
3220
3533
  o.name = "PutBucketVersioning"
3221
3534
  o.http_method = "PUT"
3222
- o.http_request_uri = "/{Bucket}?versioning"
3223
- o.http_checksum_required = true
3535
+ o.http_request_uri = "/?versioning"
3536
+ o.http_checksum = {
3537
+ "requestAlgorithmMember" => "checksum_algorithm",
3538
+ "requestChecksumRequired" => true,
3539
+ }
3540
+ o.http_checksum = {
3541
+ "requestAlgorithmMember" => "checksum_algorithm",
3542
+ "requestChecksumRequired" => true,
3543
+ }
3224
3544
  o.input = Shapes::ShapeRef.new(shape: PutBucketVersioningRequest)
3225
3545
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3226
3546
  end)
@@ -3228,8 +3548,15 @@ module Aws::S3
3228
3548
  api.add_operation(:put_bucket_website, Seahorse::Model::Operation.new.tap do |o|
3229
3549
  o.name = "PutBucketWebsite"
3230
3550
  o.http_method = "PUT"
3231
- o.http_request_uri = "/{Bucket}?website"
3232
- o.http_checksum_required = true
3551
+ o.http_request_uri = "/?website"
3552
+ o.http_checksum = {
3553
+ "requestAlgorithmMember" => "checksum_algorithm",
3554
+ "requestChecksumRequired" => true,
3555
+ }
3556
+ o.http_checksum = {
3557
+ "requestAlgorithmMember" => "checksum_algorithm",
3558
+ "requestChecksumRequired" => true,
3559
+ }
3233
3560
  o.input = Shapes::ShapeRef.new(shape: PutBucketWebsiteRequest)
3234
3561
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3235
3562
  end)
@@ -3237,7 +3564,15 @@ module Aws::S3
3237
3564
  api.add_operation(:put_object, Seahorse::Model::Operation.new.tap do |o|
3238
3565
  o.name = "PutObject"
3239
3566
  o.http_method = "PUT"
3240
- o.http_request_uri = "/{Bucket}/{Key+}"
3567
+ o.http_request_uri = "/{Key+}"
3568
+ o.http_checksum = {
3569
+ "requestAlgorithmMember" => "checksum_algorithm",
3570
+ "requestChecksumRequired" => false,
3571
+ }
3572
+ o.http_checksum = {
3573
+ "requestAlgorithmMember" => "checksum_algorithm",
3574
+ "requestChecksumRequired" => false,
3575
+ }
3241
3576
  o.input = Shapes::ShapeRef.new(shape: PutObjectRequest)
3242
3577
  o.output = Shapes::ShapeRef.new(shape: PutObjectOutput)
3243
3578
  end)
@@ -3245,8 +3580,15 @@ module Aws::S3
3245
3580
  api.add_operation(:put_object_acl, Seahorse::Model::Operation.new.tap do |o|
3246
3581
  o.name = "PutObjectAcl"
3247
3582
  o.http_method = "PUT"
3248
- o.http_request_uri = "/{Bucket}/{Key+}?acl"
3249
- o.http_checksum_required = true
3583
+ o.http_request_uri = "/{Key+}?acl"
3584
+ o.http_checksum = {
3585
+ "requestAlgorithmMember" => "checksum_algorithm",
3586
+ "requestChecksumRequired" => true,
3587
+ }
3588
+ o.http_checksum = {
3589
+ "requestAlgorithmMember" => "checksum_algorithm",
3590
+ "requestChecksumRequired" => true,
3591
+ }
3250
3592
  o.input = Shapes::ShapeRef.new(shape: PutObjectAclRequest)
3251
3593
  o.output = Shapes::ShapeRef.new(shape: PutObjectAclOutput)
3252
3594
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
@@ -3255,8 +3597,15 @@ module Aws::S3
3255
3597
  api.add_operation(:put_object_legal_hold, Seahorse::Model::Operation.new.tap do |o|
3256
3598
  o.name = "PutObjectLegalHold"
3257
3599
  o.http_method = "PUT"
3258
- o.http_request_uri = "/{Bucket}/{Key+}?legal-hold"
3259
- o.http_checksum_required = true
3600
+ o.http_request_uri = "/{Key+}?legal-hold"
3601
+ o.http_checksum = {
3602
+ "requestAlgorithmMember" => "checksum_algorithm",
3603
+ "requestChecksumRequired" => true,
3604
+ }
3605
+ o.http_checksum = {
3606
+ "requestAlgorithmMember" => "checksum_algorithm",
3607
+ "requestChecksumRequired" => true,
3608
+ }
3260
3609
  o.input = Shapes::ShapeRef.new(shape: PutObjectLegalHoldRequest)
3261
3610
  o.output = Shapes::ShapeRef.new(shape: PutObjectLegalHoldOutput)
3262
3611
  end)
@@ -3264,8 +3613,15 @@ module Aws::S3
3264
3613
  api.add_operation(:put_object_lock_configuration, Seahorse::Model::Operation.new.tap do |o|
3265
3614
  o.name = "PutObjectLockConfiguration"
3266
3615
  o.http_method = "PUT"
3267
- o.http_request_uri = "/{Bucket}?object-lock"
3268
- o.http_checksum_required = true
3616
+ o.http_request_uri = "/?object-lock"
3617
+ o.http_checksum = {
3618
+ "requestAlgorithmMember" => "checksum_algorithm",
3619
+ "requestChecksumRequired" => true,
3620
+ }
3621
+ o.http_checksum = {
3622
+ "requestAlgorithmMember" => "checksum_algorithm",
3623
+ "requestChecksumRequired" => true,
3624
+ }
3269
3625
  o.input = Shapes::ShapeRef.new(shape: PutObjectLockConfigurationRequest)
3270
3626
  o.output = Shapes::ShapeRef.new(shape: PutObjectLockConfigurationOutput)
3271
3627
  end)
@@ -3273,8 +3629,15 @@ module Aws::S3
3273
3629
  api.add_operation(:put_object_retention, Seahorse::Model::Operation.new.tap do |o|
3274
3630
  o.name = "PutObjectRetention"
3275
3631
  o.http_method = "PUT"
3276
- o.http_request_uri = "/{Bucket}/{Key+}?retention"
3277
- o.http_checksum_required = true
3632
+ o.http_request_uri = "/{Key+}?retention"
3633
+ o.http_checksum = {
3634
+ "requestAlgorithmMember" => "checksum_algorithm",
3635
+ "requestChecksumRequired" => true,
3636
+ }
3637
+ o.http_checksum = {
3638
+ "requestAlgorithmMember" => "checksum_algorithm",
3639
+ "requestChecksumRequired" => true,
3640
+ }
3278
3641
  o.input = Shapes::ShapeRef.new(shape: PutObjectRetentionRequest)
3279
3642
  o.output = Shapes::ShapeRef.new(shape: PutObjectRetentionOutput)
3280
3643
  end)
@@ -3282,8 +3645,15 @@ module Aws::S3
3282
3645
  api.add_operation(:put_object_tagging, Seahorse::Model::Operation.new.tap do |o|
3283
3646
  o.name = "PutObjectTagging"
3284
3647
  o.http_method = "PUT"
3285
- o.http_request_uri = "/{Bucket}/{Key+}?tagging"
3286
- o.http_checksum_required = true
3648
+ o.http_request_uri = "/{Key+}?tagging"
3649
+ o.http_checksum = {
3650
+ "requestAlgorithmMember" => "checksum_algorithm",
3651
+ "requestChecksumRequired" => true,
3652
+ }
3653
+ o.http_checksum = {
3654
+ "requestAlgorithmMember" => "checksum_algorithm",
3655
+ "requestChecksumRequired" => true,
3656
+ }
3287
3657
  o.input = Shapes::ShapeRef.new(shape: PutObjectTaggingRequest)
3288
3658
  o.output = Shapes::ShapeRef.new(shape: PutObjectTaggingOutput)
3289
3659
  end)
@@ -3291,8 +3661,15 @@ module Aws::S3
3291
3661
  api.add_operation(:put_public_access_block, Seahorse::Model::Operation.new.tap do |o|
3292
3662
  o.name = "PutPublicAccessBlock"
3293
3663
  o.http_method = "PUT"
3294
- o.http_request_uri = "/{Bucket}?publicAccessBlock"
3295
- o.http_checksum_required = true
3664
+ o.http_request_uri = "/?publicAccessBlock"
3665
+ o.http_checksum = {
3666
+ "requestAlgorithmMember" => "checksum_algorithm",
3667
+ "requestChecksumRequired" => true,
3668
+ }
3669
+ o.http_checksum = {
3670
+ "requestAlgorithmMember" => "checksum_algorithm",
3671
+ "requestChecksumRequired" => true,
3672
+ }
3296
3673
  o.input = Shapes::ShapeRef.new(shape: PutPublicAccessBlockRequest)
3297
3674
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3298
3675
  end)
@@ -3300,7 +3677,15 @@ module Aws::S3
3300
3677
  api.add_operation(:restore_object, Seahorse::Model::Operation.new.tap do |o|
3301
3678
  o.name = "RestoreObject"
3302
3679
  o.http_method = "POST"
3303
- o.http_request_uri = "/{Bucket}/{Key+}?restore"
3680
+ o.http_request_uri = "/{Key+}?restore"
3681
+ o.http_checksum = {
3682
+ "requestAlgorithmMember" => "checksum_algorithm",
3683
+ "requestChecksumRequired" => false,
3684
+ }
3685
+ o.http_checksum = {
3686
+ "requestAlgorithmMember" => "checksum_algorithm",
3687
+ "requestChecksumRequired" => false,
3688
+ }
3304
3689
  o.input = Shapes::ShapeRef.new(shape: RestoreObjectRequest)
3305
3690
  o.output = Shapes::ShapeRef.new(shape: RestoreObjectOutput)
3306
3691
  o.errors << Shapes::ShapeRef.new(shape: ObjectAlreadyInActiveTierError)
@@ -3309,7 +3694,7 @@ module Aws::S3
3309
3694
  api.add_operation(:select_object_content, Seahorse::Model::Operation.new.tap do |o|
3310
3695
  o.name = "SelectObjectContent"
3311
3696
  o.http_method = "POST"
3312
- o.http_request_uri = "/{Bucket}/{Key+}?select&select-type=2"
3697
+ o.http_request_uri = "/{Key+}?select&select-type=2"
3313
3698
  o.input = Shapes::ShapeRef.new(shape: SelectObjectContentRequest,
3314
3699
  location_name: "SelectObjectContentRequest",
3315
3700
  metadata: {
@@ -3322,7 +3707,15 @@ module Aws::S3
3322
3707
  api.add_operation(:upload_part, Seahorse::Model::Operation.new.tap do |o|
3323
3708
  o.name = "UploadPart"
3324
3709
  o.http_method = "PUT"
3325
- o.http_request_uri = "/{Bucket}/{Key+}"
3710
+ o.http_request_uri = "/{Key+}"
3711
+ o.http_checksum = {
3712
+ "requestAlgorithmMember" => "checksum_algorithm",
3713
+ "requestChecksumRequired" => false,
3714
+ }
3715
+ o.http_checksum = {
3716
+ "requestAlgorithmMember" => "checksum_algorithm",
3717
+ "requestChecksumRequired" => false,
3718
+ }
3326
3719
  o.input = Shapes::ShapeRef.new(shape: UploadPartRequest)
3327
3720
  o.output = Shapes::ShapeRef.new(shape: UploadPartOutput)
3328
3721
  end)
@@ -3330,7 +3723,7 @@ module Aws::S3
3330
3723
  api.add_operation(:upload_part_copy, Seahorse::Model::Operation.new.tap do |o|
3331
3724
  o.name = "UploadPartCopy"
3332
3725
  o.http_method = "PUT"
3333
- o.http_request_uri = "/{Bucket}/{Key+}"
3726
+ o.http_request_uri = "/{Key+}"
3334
3727
  o.input = Shapes::ShapeRef.new(shape: UploadPartCopyRequest)
3335
3728
  o.output = Shapes::ShapeRef.new(shape: UploadPartCopyOutput)
3336
3729
  end)