aws-sdk-s3 1.84.1 → 1.117.2

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 (64) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +930 -0
  3. data/LICENSE.txt +202 -0
  4. data/VERSION +1 -0
  5. data/lib/aws-sdk-s3/bucket.rb +154 -46
  6. data/lib/aws-sdk-s3/bucket_acl.rb +28 -6
  7. data/lib/aws-sdk-s3/bucket_cors.rb +29 -9
  8. data/lib/aws-sdk-s3/bucket_lifecycle.rb +30 -9
  9. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +31 -9
  10. data/lib/aws-sdk-s3/bucket_logging.rb +25 -6
  11. data/lib/aws-sdk-s3/bucket_notification.rb +21 -9
  12. data/lib/aws-sdk-s3/bucket_policy.rb +27 -7
  13. data/lib/aws-sdk-s3/bucket_request_payment.rb +27 -8
  14. data/lib/aws-sdk-s3/bucket_tagging.rb +27 -7
  15. data/lib/aws-sdk-s3/bucket_versioning.rb +70 -10
  16. data/lib/aws-sdk-s3/bucket_website.rb +27 -7
  17. data/lib/aws-sdk-s3/client.rb +3747 -1848
  18. data/lib/aws-sdk-s3/client_api.rb +677 -227
  19. data/lib/aws-sdk-s3/customizations/bucket.rb +28 -49
  20. data/lib/aws-sdk-s3/customizations/object.rb +116 -18
  21. data/lib/aws-sdk-s3/encryption/client.rb +1 -1
  22. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +0 -4
  23. data/lib/aws-sdk-s3/encryptionV2/client.rb +1 -1
  24. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +0 -4
  25. data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +3 -3
  26. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +0 -4
  27. data/lib/aws-sdk-s3/endpoint_parameters.rb +142 -0
  28. data/lib/aws-sdk-s3/endpoint_provider.rb +2020 -0
  29. data/lib/aws-sdk-s3/endpoints.rb +2149 -0
  30. data/lib/aws-sdk-s3/errors.rb +1 -1
  31. data/lib/aws-sdk-s3/event_streams.rb +1 -1
  32. data/lib/aws-sdk-s3/file_downloader.rb +7 -2
  33. data/lib/aws-sdk-s3/file_uploader.rb +8 -3
  34. data/lib/aws-sdk-s3/legacy_signer.rb +15 -25
  35. data/lib/aws-sdk-s3/multipart_file_uploader.rb +26 -7
  36. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +36 -10
  37. data/lib/aws-sdk-s3/multipart_upload.rb +133 -19
  38. data/lib/aws-sdk-s3/multipart_upload_part.rb +141 -21
  39. data/lib/aws-sdk-s3/object.rb +430 -126
  40. data/lib/aws-sdk-s3/object_acl.rb +31 -9
  41. data/lib/aws-sdk-s3/object_summary.rb +265 -110
  42. data/lib/aws-sdk-s3/object_version.rb +80 -53
  43. data/lib/aws-sdk-s3/plugins/accelerate.rb +1 -39
  44. data/lib/aws-sdk-s3/plugins/arn.rb +25 -142
  45. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +3 -39
  46. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +1 -6
  47. data/lib/aws-sdk-s3/plugins/dualstack.rb +2 -49
  48. data/lib/aws-sdk-s3/plugins/endpoints.rb +262 -0
  49. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +3 -1
  50. data/lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb +1 -1
  51. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +8 -31
  52. data/lib/aws-sdk-s3/plugins/md5s.rb +5 -3
  53. data/lib/aws-sdk-s3/plugins/s3_signer.rb +33 -102
  54. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  55. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +23 -2
  56. data/lib/aws-sdk-s3/presigned_post.rb +47 -35
  57. data/lib/aws-sdk-s3/presigner.rb +39 -49
  58. data/lib/aws-sdk-s3/resource.rb +24 -4
  59. data/lib/aws-sdk-s3/types.rb +3785 -4735
  60. data/lib/aws-sdk-s3/waiters.rb +1 -1
  61. data/lib/aws-sdk-s3.rb +6 -2
  62. metadata +19 -14
  63. data/lib/aws-sdk-s3/arn/access_point_arn.rb +0 -62
  64. data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +0 -71
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -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')
@@ -45,6 +46,7 @@ module Aws::S3
45
46
  BucketAlreadyExists = Shapes::StructureShape.new(name: 'BucketAlreadyExists')
46
47
  BucketAlreadyOwnedByYou = Shapes::StructureShape.new(name: 'BucketAlreadyOwnedByYou')
47
48
  BucketCannedACL = Shapes::StringShape.new(name: 'BucketCannedACL')
49
+ BucketKeyEnabled = Shapes::BooleanShape.new(name: 'BucketKeyEnabled')
48
50
  BucketLifecycleConfiguration = Shapes::StructureShape.new(name: 'BucketLifecycleConfiguration')
49
51
  BucketLocationConstraint = Shapes::StringShape.new(name: 'BucketLocationConstraint')
50
52
  BucketLoggingStatus = Shapes::StructureShape.new(name: 'BucketLoggingStatus')
@@ -62,6 +64,14 @@ module Aws::S3
62
64
  CSVInput = Shapes::StructureShape.new(name: 'CSVInput')
63
65
  CSVOutput = Shapes::StructureShape.new(name: 'CSVOutput')
64
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')
65
75
  CloudFunction = Shapes::StringShape.new(name: 'CloudFunction')
66
76
  CloudFunctionConfiguration = Shapes::StructureShape.new(name: 'CloudFunctionConfiguration')
67
77
  CloudFunctionInvocationRole = Shapes::StringShape.new(name: 'CloudFunctionInvocationRole')
@@ -151,9 +161,12 @@ module Aws::S3
151
161
  End = Shapes::IntegerShape.new(name: 'End')
152
162
  EndEvent = Shapes::StructureShape.new(name: 'EndEvent')
153
163
  Error = Shapes::StructureShape.new(name: 'Error')
164
+ ErrorCode = Shapes::StringShape.new(name: 'ErrorCode')
154
165
  ErrorDocument = Shapes::StructureShape.new(name: 'ErrorDocument')
166
+ ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
155
167
  Errors = Shapes::ListShape.new(name: 'Errors', flattened: true)
156
168
  Event = Shapes::StringShape.new(name: 'Event')
169
+ EventBridgeConfiguration = Shapes::StructureShape.new(name: 'EventBridgeConfiguration')
157
170
  EventList = Shapes::ListShape.new(name: 'EventList', flattened: true)
158
171
  ExistingObjectReplication = Shapes::StructureShape.new(name: 'ExistingObjectReplication')
159
172
  ExistingObjectReplicationStatus = Shapes::StringShape.new(name: 'ExistingObjectReplicationStatus')
@@ -216,12 +229,16 @@ module Aws::S3
216
229
  GetBucketWebsiteRequest = Shapes::StructureShape.new(name: 'GetBucketWebsiteRequest')
217
230
  GetObjectAclOutput = Shapes::StructureShape.new(name: 'GetObjectAclOutput')
218
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')
219
235
  GetObjectLegalHoldOutput = Shapes::StructureShape.new(name: 'GetObjectLegalHoldOutput')
220
236
  GetObjectLegalHoldRequest = Shapes::StructureShape.new(name: 'GetObjectLegalHoldRequest')
221
237
  GetObjectLockConfigurationOutput = Shapes::StructureShape.new(name: 'GetObjectLockConfigurationOutput')
222
238
  GetObjectLockConfigurationRequest = Shapes::StructureShape.new(name: 'GetObjectLockConfigurationRequest')
223
239
  GetObjectOutput = Shapes::StructureShape.new(name: 'GetObjectOutput')
224
240
  GetObjectRequest = Shapes::StructureShape.new(name: 'GetObjectRequest')
241
+ GetObjectResponseStatusCode = Shapes::IntegerShape.new(name: 'GetObjectResponseStatusCode')
225
242
  GetObjectRetentionOutput = Shapes::StructureShape.new(name: 'GetObjectRetentionOutput')
226
243
  GetObjectRetentionRequest = Shapes::StructureShape.new(name: 'GetObjectRetentionRequest')
227
244
  GetObjectTaggingOutput = Shapes::StructureShape.new(name: 'GetObjectTaggingOutput')
@@ -363,6 +380,8 @@ module Aws::S3
363
380
  NotificationId = Shapes::StringShape.new(name: 'NotificationId')
364
381
  Object = Shapes::StructureShape.new(name: 'Object')
365
382
  ObjectAlreadyInActiveTierError = Shapes::StructureShape.new(name: 'ObjectAlreadyInActiveTierError')
383
+ ObjectAttributes = Shapes::StringShape.new(name: 'ObjectAttributes')
384
+ ObjectAttributesList = Shapes::ListShape.new(name: 'ObjectAttributesList')
366
385
  ObjectCannedACL = Shapes::StringShape.new(name: 'ObjectCannedACL')
367
386
  ObjectIdentifier = Shapes::StructureShape.new(name: 'ObjectIdentifier')
368
387
  ObjectIdentifierList = Shapes::ListShape.new(name: 'ObjectIdentifierList', flattened: true)
@@ -381,6 +400,10 @@ module Aws::S3
381
400
  ObjectLockToken = Shapes::StringShape.new(name: 'ObjectLockToken')
382
401
  ObjectNotInActiveTierError = Shapes::StructureShape.new(name: 'ObjectNotInActiveTierError')
383
402
  ObjectOwnership = Shapes::StringShape.new(name: 'ObjectOwnership')
403
+ ObjectPart = Shapes::StructureShape.new(name: 'ObjectPart')
404
+ ObjectSize = Shapes::IntegerShape.new(name: 'ObjectSize')
405
+ ObjectSizeGreaterThanBytes = Shapes::IntegerShape.new(name: 'ObjectSizeGreaterThanBytes')
406
+ ObjectSizeLessThanBytes = Shapes::IntegerShape.new(name: 'ObjectSizeLessThanBytes')
384
407
  ObjectStorageClass = Shapes::StringShape.new(name: 'ObjectStorageClass')
385
408
  ObjectVersion = Shapes::StructureShape.new(name: 'ObjectVersion')
386
409
  ObjectVersionId = Shapes::StringShape.new(name: 'ObjectVersionId')
@@ -399,6 +422,7 @@ module Aws::S3
399
422
  PartNumberMarker = Shapes::IntegerShape.new(name: 'PartNumberMarker')
400
423
  Parts = Shapes::ListShape.new(name: 'Parts', flattened: true)
401
424
  PartsCount = Shapes::IntegerShape.new(name: 'PartsCount')
425
+ PartsList = Shapes::ListShape.new(name: 'PartsList', flattened: true)
402
426
  Payer = Shapes::StringShape.new(name: 'Payer')
403
427
  Permission = Shapes::StringShape.new(name: 'Permission')
404
428
  Policy = Shapes::StringShape.new(name: 'Policy')
@@ -458,6 +482,8 @@ module Aws::S3
458
482
  ReplaceKeyPrefixWith = Shapes::StringShape.new(name: 'ReplaceKeyPrefixWith')
459
483
  ReplaceKeyWith = Shapes::StringShape.new(name: 'ReplaceKeyWith')
460
484
  ReplicaKmsKeyID = Shapes::StringShape.new(name: 'ReplicaKmsKeyID')
485
+ ReplicaModifications = Shapes::StructureShape.new(name: 'ReplicaModifications')
486
+ ReplicaModificationsStatus = Shapes::StringShape.new(name: 'ReplicaModificationsStatus')
461
487
  ReplicationConfiguration = Shapes::StructureShape.new(name: 'ReplicationConfiguration')
462
488
  ReplicationRule = Shapes::StructureShape.new(name: 'ReplicationRule')
463
489
  ReplicationRuleAndOperator = Shapes::StructureShape.new(name: 'ReplicationRuleAndOperator')
@@ -472,12 +498,14 @@ module Aws::S3
472
498
  RequestPayer = Shapes::StringShape.new(name: 'RequestPayer')
473
499
  RequestPaymentConfiguration = Shapes::StructureShape.new(name: 'RequestPaymentConfiguration')
474
500
  RequestProgress = Shapes::StructureShape.new(name: 'RequestProgress')
501
+ RequestRoute = Shapes::StringShape.new(name: 'RequestRoute')
502
+ RequestToken = Shapes::StringShape.new(name: 'RequestToken')
475
503
  ResponseCacheControl = Shapes::StringShape.new(name: 'ResponseCacheControl')
476
504
  ResponseContentDisposition = Shapes::StringShape.new(name: 'ResponseContentDisposition')
477
505
  ResponseContentEncoding = Shapes::StringShape.new(name: 'ResponseContentEncoding')
478
506
  ResponseContentLanguage = Shapes::StringShape.new(name: 'ResponseContentLanguage')
479
507
  ResponseContentType = Shapes::StringShape.new(name: 'ResponseContentType')
480
- ResponseExpires = Shapes::TimestampShape.new(name: 'ResponseExpires')
508
+ ResponseExpires = Shapes::TimestampShape.new(name: 'ResponseExpires', timestampFormat: "rfc822")
481
509
  Restore = Shapes::StringShape.new(name: 'Restore')
482
510
  RestoreObjectOutput = Shapes::StructureShape.new(name: 'RestoreObjectOutput')
483
511
  RestoreObjectRequest = Shapes::StructureShape.new(name: 'RestoreObjectRequest')
@@ -510,6 +538,7 @@ module Aws::S3
510
538
  ServerSideEncryptionRules = Shapes::ListShape.new(name: 'ServerSideEncryptionRules', flattened: true)
511
539
  Setting = Shapes::BooleanShape.new(name: 'Setting')
512
540
  Size = Shapes::IntegerShape.new(name: 'Size')
541
+ SkipValidation = Shapes::BooleanShape.new(name: 'SkipValidation')
513
542
  SourceSelectionCriteria = Shapes::StructureShape.new(name: 'SourceSelectionCriteria')
514
543
  SseKmsEncryptedObjects = Shapes::StructureShape.new(name: 'SseKmsEncryptedObjects')
515
544
  SseKmsEncryptedObjectsStatus = Shapes::StringShape.new(name: 'SseKmsEncryptedObjectsStatus')
@@ -552,10 +581,12 @@ module Aws::S3
552
581
  UploadPartRequest = Shapes::StructureShape.new(name: 'UploadPartRequest')
553
582
  UserMetadata = Shapes::ListShape.new(name: 'UserMetadata')
554
583
  Value = Shapes::StringShape.new(name: 'Value')
584
+ VersionCount = Shapes::IntegerShape.new(name: 'VersionCount')
555
585
  VersionIdMarker = Shapes::StringShape.new(name: 'VersionIdMarker')
556
586
  VersioningConfiguration = Shapes::StructureShape.new(name: 'VersioningConfiguration')
557
587
  WebsiteConfiguration = Shapes::StructureShape.new(name: 'WebsiteConfiguration')
558
588
  WebsiteRedirectLocation = Shapes::StringShape.new(name: 'WebsiteRedirectLocation')
589
+ WriteGetObjectResponseRequest = Shapes::StructureShape.new(name: 'WriteGetObjectResponseRequest')
559
590
  Years = Shapes::IntegerShape.new(name: 'Years')
560
591
 
561
592
  AbortIncompleteMultipartUpload.add_member(:days_after_initiation, Shapes::ShapeRef.new(shape: DaysAfterInitiation, location_name: "DaysAfterInitiation"))
@@ -564,7 +595,7 @@ module Aws::S3
564
595
  AbortMultipartUploadOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
565
596
  AbortMultipartUploadOutput.struct_class = Types::AbortMultipartUploadOutput
566
597
 
567
- AbortMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
598
+ AbortMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
568
599
  AbortMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
569
600
  AbortMultipartUploadRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
570
601
  AbortMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
@@ -631,6 +662,7 @@ module Aws::S3
631
662
  CORSConfiguration.add_member(:cors_rules, Shapes::ShapeRef.new(shape: CORSRules, required: true, location_name: "CORSRule"))
632
663
  CORSConfiguration.struct_class = Types::CORSConfiguration
633
664
 
665
+ CORSRule.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "ID"))
634
666
  CORSRule.add_member(:allowed_headers, Shapes::ShapeRef.new(shape: AllowedHeaders, location_name: "AllowedHeader"))
635
667
  CORSRule.add_member(:allowed_methods, Shapes::ShapeRef.new(shape: AllowedMethods, required: true, location_name: "AllowedMethod"))
636
668
  CORSRule.add_member(:allowed_origins, Shapes::ShapeRef.new(shape: AllowedOrigins, required: true, location_name: "AllowedOrigin"))
@@ -656,6 +688,14 @@ module Aws::S3
656
688
  CSVOutput.add_member(:quote_character, Shapes::ShapeRef.new(shape: QuoteCharacter, location_name: "QuoteCharacter"))
657
689
  CSVOutput.struct_class = Types::CSVOutput
658
690
 
691
+ Checksum.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
692
+ Checksum.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
693
+ Checksum.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
694
+ Checksum.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
695
+ Checksum.struct_class = Types::Checksum
696
+
697
+ ChecksumAlgorithmList.member = Shapes::ShapeRef.new(shape: ChecksumAlgorithm)
698
+
659
699
  CloudFunctionConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: NotificationId, location_name: "Id"))
660
700
  CloudFunctionConfiguration.add_member(:event, Shapes::ShapeRef.new(shape: Event, deprecated: true, location_name: "Event"))
661
701
  CloudFunctionConfiguration.add_member(:events, Shapes::ShapeRef.new(shape: EventList, location_name: "Event"))
@@ -673,18 +713,30 @@ module Aws::S3
673
713
  CompleteMultipartUploadOutput.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
674
714
  CompleteMultipartUploadOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
675
715
  CompleteMultipartUploadOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
716
+ CompleteMultipartUploadOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
717
+ CompleteMultipartUploadOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
718
+ CompleteMultipartUploadOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
719
+ CompleteMultipartUploadOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
676
720
  CompleteMultipartUploadOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
677
721
  CompleteMultipartUploadOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
678
722
  CompleteMultipartUploadOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
723
+ CompleteMultipartUploadOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
679
724
  CompleteMultipartUploadOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
680
725
  CompleteMultipartUploadOutput.struct_class = Types::CompleteMultipartUploadOutput
681
726
 
682
- CompleteMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
727
+ CompleteMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
683
728
  CompleteMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
684
729
  CompleteMultipartUploadRequest.add_member(:multipart_upload, Shapes::ShapeRef.new(shape: CompletedMultipartUpload, location_name: "CompleteMultipartUpload", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
685
730
  CompleteMultipartUploadRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
731
+ CompleteMultipartUploadRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
732
+ CompleteMultipartUploadRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
733
+ CompleteMultipartUploadRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
734
+ CompleteMultipartUploadRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
686
735
  CompleteMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
687
736
  CompleteMultipartUploadRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
737
+ CompleteMultipartUploadRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
738
+ CompleteMultipartUploadRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
739
+ CompleteMultipartUploadRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
688
740
  CompleteMultipartUploadRequest.struct_class = Types::CompleteMultipartUploadRequest
689
741
  CompleteMultipartUploadRequest[:payload] = :multipart_upload
690
742
  CompleteMultipartUploadRequest[:payload_member] = CompleteMultipartUploadRequest.member(:multipart_upload)
@@ -693,6 +745,10 @@ module Aws::S3
693
745
  CompletedMultipartUpload.struct_class = Types::CompletedMultipartUpload
694
746
 
695
747
  CompletedPart.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
748
+ CompletedPart.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
749
+ CompletedPart.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
750
+ CompletedPart.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
751
+ CompletedPart.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
696
752
  CompletedPart.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location_name: "PartNumber"))
697
753
  CompletedPart.struct_class = Types::CompletedPart
698
754
 
@@ -713,14 +769,16 @@ module Aws::S3
713
769
  CopyObjectOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
714
770
  CopyObjectOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
715
771
  CopyObjectOutput.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
772
+ CopyObjectOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
716
773
  CopyObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
717
774
  CopyObjectOutput.struct_class = Types::CopyObjectOutput
718
775
  CopyObjectOutput[:payload] = :copy_object_result
719
776
  CopyObjectOutput[:payload_member] = CopyObjectOutput.member(:copy_object_result)
720
777
 
721
778
  CopyObjectRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
722
- CopyObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
779
+ CopyObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
723
780
  CopyObjectRequest.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
781
+ CopyObjectRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-checksum-algorithm"))
724
782
  CopyObjectRequest.add_member(:content_disposition, Shapes::ShapeRef.new(shape: ContentDisposition, location: "header", location_name: "Content-Disposition"))
725
783
  CopyObjectRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
726
784
  CopyObjectRequest.add_member(:content_language, Shapes::ShapeRef.new(shape: ContentLanguage, location: "header", location_name: "Content-Language"))
@@ -747,6 +805,7 @@ module Aws::S3
747
805
  CopyObjectRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
748
806
  CopyObjectRequest.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
749
807
  CopyObjectRequest.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
808
+ CopyObjectRequest.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
750
809
  CopyObjectRequest.add_member(:copy_source_sse_customer_algorithm, Shapes::ShapeRef.new(shape: CopySourceSSECustomerAlgorithm, location: "header", location_name: "x-amz-copy-source-server-side-encryption-customer-algorithm"))
751
810
  CopyObjectRequest.add_member(:copy_source_sse_customer_key, Shapes::ShapeRef.new(shape: CopySourceSSECustomerKey, location: "header", location_name: "x-amz-copy-source-server-side-encryption-customer-key"))
752
811
  CopyObjectRequest.add_member(:copy_source_sse_customer_key_md5, Shapes::ShapeRef.new(shape: CopySourceSSECustomerKeyMD5, location: "header", location_name: "x-amz-copy-source-server-side-encryption-customer-key-MD5"))
@@ -761,10 +820,18 @@ module Aws::S3
761
820
 
762
821
  CopyObjectResult.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
763
822
  CopyObjectResult.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
823
+ CopyObjectResult.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
824
+ CopyObjectResult.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
825
+ CopyObjectResult.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
826
+ CopyObjectResult.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
764
827
  CopyObjectResult.struct_class = Types::CopyObjectResult
765
828
 
766
829
  CopyPartResult.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
767
830
  CopyPartResult.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
831
+ CopyPartResult.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
832
+ CopyPartResult.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
833
+ CopyPartResult.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
834
+ CopyPartResult.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
768
835
  CopyPartResult.struct_class = Types::CopyPartResult
769
836
 
770
837
  CreateBucketConfiguration.add_member(:location_constraint, Shapes::ShapeRef.new(shape: BucketLocationConstraint, location_name: "LocationConstraint"))
@@ -774,7 +841,7 @@ module Aws::S3
774
841
  CreateBucketOutput.struct_class = Types::CreateBucketOutput
775
842
 
776
843
  CreateBucketRequest.add_member(:acl, Shapes::ShapeRef.new(shape: BucketCannedACL, location: "header", location_name: "x-amz-acl"))
777
- CreateBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
844
+ CreateBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
778
845
  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/"}}))
779
846
  CreateBucketRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
780
847
  CreateBucketRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
@@ -782,6 +849,7 @@ module Aws::S3
782
849
  CreateBucketRequest.add_member(:grant_write, Shapes::ShapeRef.new(shape: GrantWrite, location: "header", location_name: "x-amz-grant-write"))
783
850
  CreateBucketRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
784
851
  CreateBucketRequest.add_member(:object_lock_enabled_for_bucket, Shapes::ShapeRef.new(shape: ObjectLockEnabledForBucket, location: "header", location_name: "x-amz-bucket-object-lock-enabled"))
852
+ CreateBucketRequest.add_member(:object_ownership, Shapes::ShapeRef.new(shape: ObjectOwnership, location: "header", location_name: "x-amz-object-ownership"))
785
853
  CreateBucketRequest.struct_class = Types::CreateBucketRequest
786
854
  CreateBucketRequest[:payload] = :create_bucket_configuration
787
855
  CreateBucketRequest[:payload_member] = CreateBucketRequest.member(:create_bucket_configuration)
@@ -796,11 +864,13 @@ module Aws::S3
796
864
  CreateMultipartUploadOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
797
865
  CreateMultipartUploadOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
798
866
  CreateMultipartUploadOutput.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
867
+ CreateMultipartUploadOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
799
868
  CreateMultipartUploadOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
869
+ CreateMultipartUploadOutput.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-checksum-algorithm"))
800
870
  CreateMultipartUploadOutput.struct_class = Types::CreateMultipartUploadOutput
801
871
 
802
872
  CreateMultipartUploadRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
803
- CreateMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
873
+ CreateMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
804
874
  CreateMultipartUploadRequest.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
805
875
  CreateMultipartUploadRequest.add_member(:content_disposition, Shapes::ShapeRef.new(shape: ContentDisposition, location: "header", location_name: "Content-Disposition"))
806
876
  CreateMultipartUploadRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
@@ -821,12 +891,14 @@ module Aws::S3
821
891
  CreateMultipartUploadRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
822
892
  CreateMultipartUploadRequest.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
823
893
  CreateMultipartUploadRequest.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
894
+ CreateMultipartUploadRequest.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
824
895
  CreateMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
825
896
  CreateMultipartUploadRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: TaggingHeader, location: "header", location_name: "x-amz-tagging"))
826
897
  CreateMultipartUploadRequest.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-object-lock-mode"))
827
898
  CreateMultipartUploadRequest.add_member(:object_lock_retain_until_date, Shapes::ShapeRef.new(shape: ObjectLockRetainUntilDate, location: "header", location_name: "x-amz-object-lock-retain-until-date"))
828
899
  CreateMultipartUploadRequest.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
829
900
  CreateMultipartUploadRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
901
+ CreateMultipartUploadRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-checksum-algorithm"))
830
902
  CreateMultipartUploadRequest.struct_class = Types::CreateMultipartUploadRequest
831
903
 
832
904
  DefaultRetention.add_member(:mode, Shapes::ShapeRef.new(shape: ObjectLockRetentionMode, location_name: "Mode"))
@@ -838,58 +910,58 @@ module Aws::S3
838
910
  Delete.add_member(:quiet, Shapes::ShapeRef.new(shape: Quiet, location_name: "Quiet"))
839
911
  Delete.struct_class = Types::Delete
840
912
 
841
- DeleteBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
913
+ DeleteBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
842
914
  DeleteBucketAnalyticsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: AnalyticsId, required: true, location: "querystring", location_name: "id"))
843
915
  DeleteBucketAnalyticsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
844
916
  DeleteBucketAnalyticsConfigurationRequest.struct_class = Types::DeleteBucketAnalyticsConfigurationRequest
845
917
 
846
- DeleteBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
918
+ DeleteBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
847
919
  DeleteBucketCorsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
848
920
  DeleteBucketCorsRequest.struct_class = Types::DeleteBucketCorsRequest
849
921
 
850
- DeleteBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
922
+ DeleteBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
851
923
  DeleteBucketEncryptionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
852
924
  DeleteBucketEncryptionRequest.struct_class = Types::DeleteBucketEncryptionRequest
853
925
 
854
- DeleteBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
926
+ DeleteBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
855
927
  DeleteBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
856
928
  DeleteBucketIntelligentTieringConfigurationRequest.struct_class = Types::DeleteBucketIntelligentTieringConfigurationRequest
857
929
 
858
- DeleteBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
930
+ DeleteBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
859
931
  DeleteBucketInventoryConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: InventoryId, required: true, location: "querystring", location_name: "id"))
860
932
  DeleteBucketInventoryConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
861
933
  DeleteBucketInventoryConfigurationRequest.struct_class = Types::DeleteBucketInventoryConfigurationRequest
862
934
 
863
- DeleteBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
935
+ DeleteBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
864
936
  DeleteBucketLifecycleRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
865
937
  DeleteBucketLifecycleRequest.struct_class = Types::DeleteBucketLifecycleRequest
866
938
 
867
- DeleteBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
939
+ DeleteBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
868
940
  DeleteBucketMetricsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location: "querystring", location_name: "id"))
869
941
  DeleteBucketMetricsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
870
942
  DeleteBucketMetricsConfigurationRequest.struct_class = Types::DeleteBucketMetricsConfigurationRequest
871
943
 
872
- DeleteBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
944
+ DeleteBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
873
945
  DeleteBucketOwnershipControlsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
874
946
  DeleteBucketOwnershipControlsRequest.struct_class = Types::DeleteBucketOwnershipControlsRequest
875
947
 
876
- DeleteBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
948
+ DeleteBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
877
949
  DeleteBucketPolicyRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
878
950
  DeleteBucketPolicyRequest.struct_class = Types::DeleteBucketPolicyRequest
879
951
 
880
- DeleteBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
952
+ DeleteBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
881
953
  DeleteBucketReplicationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
882
954
  DeleteBucketReplicationRequest.struct_class = Types::DeleteBucketReplicationRequest
883
955
 
884
- DeleteBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
956
+ DeleteBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
885
957
  DeleteBucketRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
886
958
  DeleteBucketRequest.struct_class = Types::DeleteBucketRequest
887
959
 
888
- DeleteBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
960
+ DeleteBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
889
961
  DeleteBucketTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
890
962
  DeleteBucketTaggingRequest.struct_class = Types::DeleteBucketTaggingRequest
891
963
 
892
- DeleteBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
964
+ DeleteBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
893
965
  DeleteBucketWebsiteRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
894
966
  DeleteBucketWebsiteRequest.struct_class = Types::DeleteBucketWebsiteRequest
895
967
 
@@ -910,7 +982,7 @@ module Aws::S3
910
982
  DeleteObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
911
983
  DeleteObjectOutput.struct_class = Types::DeleteObjectOutput
912
984
 
913
- DeleteObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
985
+ DeleteObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
914
986
  DeleteObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
915
987
  DeleteObjectRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
916
988
  DeleteObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
@@ -922,7 +994,7 @@ module Aws::S3
922
994
  DeleteObjectTaggingOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
923
995
  DeleteObjectTaggingOutput.struct_class = Types::DeleteObjectTaggingOutput
924
996
 
925
- DeleteObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
997
+ DeleteObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
926
998
  DeleteObjectTaggingRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
927
999
  DeleteObjectTaggingRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
928
1000
  DeleteObjectTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -933,17 +1005,18 @@ module Aws::S3
933
1005
  DeleteObjectsOutput.add_member(:errors, Shapes::ShapeRef.new(shape: Errors, location_name: "Error"))
934
1006
  DeleteObjectsOutput.struct_class = Types::DeleteObjectsOutput
935
1007
 
936
- DeleteObjectsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1008
+ DeleteObjectsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
937
1009
  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/"}}))
938
1010
  DeleteObjectsRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
939
1011
  DeleteObjectsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
940
1012
  DeleteObjectsRequest.add_member(:bypass_governance_retention, Shapes::ShapeRef.new(shape: BypassGovernanceRetention, location: "header", location_name: "x-amz-bypass-governance-retention"))
941
1013
  DeleteObjectsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1014
+ DeleteObjectsRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
942
1015
  DeleteObjectsRequest.struct_class = Types::DeleteObjectsRequest
943
1016
  DeleteObjectsRequest[:payload] = :delete
944
1017
  DeleteObjectsRequest[:payload_member] = DeleteObjectsRequest.member(:delete)
945
1018
 
946
- DeletePublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1019
+ DeletePublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
947
1020
  DeletePublicAccessBlockRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
948
1021
  DeletePublicAccessBlockRequest.struct_class = Types::DeletePublicAccessBlockRequest
949
1022
 
@@ -985,6 +1058,8 @@ module Aws::S3
985
1058
 
986
1059
  Errors.member = Shapes::ShapeRef.new(shape: Error)
987
1060
 
1061
+ EventBridgeConfiguration.struct_class = Types::EventBridgeConfiguration
1062
+
988
1063
  EventList.member = Shapes::ShapeRef.new(shape: Event)
989
1064
 
990
1065
  ExistingObjectReplication.add_member(:status, Shapes::ShapeRef.new(shape: ExistingObjectReplicationStatus, required: true, location_name: "Status"))
@@ -1001,7 +1076,7 @@ module Aws::S3
1001
1076
  GetBucketAccelerateConfigurationOutput.add_member(:status, Shapes::ShapeRef.new(shape: BucketAccelerateStatus, location_name: "Status"))
1002
1077
  GetBucketAccelerateConfigurationOutput.struct_class = Types::GetBucketAccelerateConfigurationOutput
1003
1078
 
1004
- GetBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1079
+ GetBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1005
1080
  GetBucketAccelerateConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1006
1081
  GetBucketAccelerateConfigurationRequest.struct_class = Types::GetBucketAccelerateConfigurationRequest
1007
1082
 
@@ -1009,7 +1084,7 @@ module Aws::S3
1009
1084
  GetBucketAclOutput.add_member(:grants, Shapes::ShapeRef.new(shape: Grants, location_name: "AccessControlList"))
1010
1085
  GetBucketAclOutput.struct_class = Types::GetBucketAclOutput
1011
1086
 
1012
- GetBucketAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1087
+ GetBucketAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1013
1088
  GetBucketAclRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1014
1089
  GetBucketAclRequest.struct_class = Types::GetBucketAclRequest
1015
1090
 
@@ -1018,7 +1093,7 @@ module Aws::S3
1018
1093
  GetBucketAnalyticsConfigurationOutput[:payload] = :analytics_configuration
1019
1094
  GetBucketAnalyticsConfigurationOutput[:payload_member] = GetBucketAnalyticsConfigurationOutput.member(:analytics_configuration)
1020
1095
 
1021
- GetBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1096
+ GetBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1022
1097
  GetBucketAnalyticsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: AnalyticsId, required: true, location: "querystring", location_name: "id"))
1023
1098
  GetBucketAnalyticsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1024
1099
  GetBucketAnalyticsConfigurationRequest.struct_class = Types::GetBucketAnalyticsConfigurationRequest
@@ -1026,7 +1101,7 @@ module Aws::S3
1026
1101
  GetBucketCorsOutput.add_member(:cors_rules, Shapes::ShapeRef.new(shape: CORSRules, location_name: "CORSRule"))
1027
1102
  GetBucketCorsOutput.struct_class = Types::GetBucketCorsOutput
1028
1103
 
1029
- GetBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1104
+ GetBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1030
1105
  GetBucketCorsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1031
1106
  GetBucketCorsRequest.struct_class = Types::GetBucketCorsRequest
1032
1107
 
@@ -1035,7 +1110,7 @@ module Aws::S3
1035
1110
  GetBucketEncryptionOutput[:payload] = :server_side_encryption_configuration
1036
1111
  GetBucketEncryptionOutput[:payload_member] = GetBucketEncryptionOutput.member(:server_side_encryption_configuration)
1037
1112
 
1038
- GetBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1113
+ GetBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1039
1114
  GetBucketEncryptionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1040
1115
  GetBucketEncryptionRequest.struct_class = Types::GetBucketEncryptionRequest
1041
1116
 
@@ -1044,7 +1119,7 @@ module Aws::S3
1044
1119
  GetBucketIntelligentTieringConfigurationOutput[:payload] = :intelligent_tiering_configuration
1045
1120
  GetBucketIntelligentTieringConfigurationOutput[:payload_member] = GetBucketIntelligentTieringConfigurationOutput.member(:intelligent_tiering_configuration)
1046
1121
 
1047
- GetBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1122
+ GetBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1048
1123
  GetBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
1049
1124
  GetBucketIntelligentTieringConfigurationRequest.struct_class = Types::GetBucketIntelligentTieringConfigurationRequest
1050
1125
 
@@ -1053,7 +1128,7 @@ module Aws::S3
1053
1128
  GetBucketInventoryConfigurationOutput[:payload] = :inventory_configuration
1054
1129
  GetBucketInventoryConfigurationOutput[:payload_member] = GetBucketInventoryConfigurationOutput.member(:inventory_configuration)
1055
1130
 
1056
- GetBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1131
+ GetBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1057
1132
  GetBucketInventoryConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: InventoryId, required: true, location: "querystring", location_name: "id"))
1058
1133
  GetBucketInventoryConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1059
1134
  GetBucketInventoryConfigurationRequest.struct_class = Types::GetBucketInventoryConfigurationRequest
@@ -1061,28 +1136,28 @@ module Aws::S3
1061
1136
  GetBucketLifecycleConfigurationOutput.add_member(:rules, Shapes::ShapeRef.new(shape: LifecycleRules, location_name: "Rule"))
1062
1137
  GetBucketLifecycleConfigurationOutput.struct_class = Types::GetBucketLifecycleConfigurationOutput
1063
1138
 
1064
- GetBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1139
+ GetBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1065
1140
  GetBucketLifecycleConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1066
1141
  GetBucketLifecycleConfigurationRequest.struct_class = Types::GetBucketLifecycleConfigurationRequest
1067
1142
 
1068
1143
  GetBucketLifecycleOutput.add_member(:rules, Shapes::ShapeRef.new(shape: Rules, location_name: "Rule"))
1069
1144
  GetBucketLifecycleOutput.struct_class = Types::GetBucketLifecycleOutput
1070
1145
 
1071
- GetBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1146
+ GetBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1072
1147
  GetBucketLifecycleRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1073
1148
  GetBucketLifecycleRequest.struct_class = Types::GetBucketLifecycleRequest
1074
1149
 
1075
1150
  GetBucketLocationOutput.add_member(:location_constraint, Shapes::ShapeRef.new(shape: BucketLocationConstraint, location_name: "LocationConstraint"))
1076
1151
  GetBucketLocationOutput.struct_class = Types::GetBucketLocationOutput
1077
1152
 
1078
- GetBucketLocationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1153
+ GetBucketLocationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1079
1154
  GetBucketLocationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1080
1155
  GetBucketLocationRequest.struct_class = Types::GetBucketLocationRequest
1081
1156
 
1082
1157
  GetBucketLoggingOutput.add_member(:logging_enabled, Shapes::ShapeRef.new(shape: LoggingEnabled, location_name: "LoggingEnabled"))
1083
1158
  GetBucketLoggingOutput.struct_class = Types::GetBucketLoggingOutput
1084
1159
 
1085
- GetBucketLoggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1160
+ GetBucketLoggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1086
1161
  GetBucketLoggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1087
1162
  GetBucketLoggingRequest.struct_class = Types::GetBucketLoggingRequest
1088
1163
 
@@ -1091,12 +1166,12 @@ module Aws::S3
1091
1166
  GetBucketMetricsConfigurationOutput[:payload] = :metrics_configuration
1092
1167
  GetBucketMetricsConfigurationOutput[:payload_member] = GetBucketMetricsConfigurationOutput.member(:metrics_configuration)
1093
1168
 
1094
- GetBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1169
+ GetBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1095
1170
  GetBucketMetricsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location: "querystring", location_name: "id"))
1096
1171
  GetBucketMetricsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1097
1172
  GetBucketMetricsConfigurationRequest.struct_class = Types::GetBucketMetricsConfigurationRequest
1098
1173
 
1099
- GetBucketNotificationConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1174
+ GetBucketNotificationConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1100
1175
  GetBucketNotificationConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1101
1176
  GetBucketNotificationConfigurationRequest.struct_class = Types::GetBucketNotificationConfigurationRequest
1102
1177
 
@@ -1105,7 +1180,7 @@ module Aws::S3
1105
1180
  GetBucketOwnershipControlsOutput[:payload] = :ownership_controls
1106
1181
  GetBucketOwnershipControlsOutput[:payload_member] = GetBucketOwnershipControlsOutput.member(:ownership_controls)
1107
1182
 
1108
- GetBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1183
+ GetBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1109
1184
  GetBucketOwnershipControlsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1110
1185
  GetBucketOwnershipControlsRequest.struct_class = Types::GetBucketOwnershipControlsRequest
1111
1186
 
@@ -1114,7 +1189,7 @@ module Aws::S3
1114
1189
  GetBucketPolicyOutput[:payload] = :policy
1115
1190
  GetBucketPolicyOutput[:payload_member] = GetBucketPolicyOutput.member(:policy)
1116
1191
 
1117
- GetBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1192
+ GetBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1118
1193
  GetBucketPolicyRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1119
1194
  GetBucketPolicyRequest.struct_class = Types::GetBucketPolicyRequest
1120
1195
 
@@ -1123,7 +1198,7 @@ module Aws::S3
1123
1198
  GetBucketPolicyStatusOutput[:payload] = :policy_status
1124
1199
  GetBucketPolicyStatusOutput[:payload_member] = GetBucketPolicyStatusOutput.member(:policy_status)
1125
1200
 
1126
- GetBucketPolicyStatusRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1201
+ GetBucketPolicyStatusRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1127
1202
  GetBucketPolicyStatusRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1128
1203
  GetBucketPolicyStatusRequest.struct_class = Types::GetBucketPolicyStatusRequest
1129
1204
 
@@ -1132,21 +1207,21 @@ module Aws::S3
1132
1207
  GetBucketReplicationOutput[:payload] = :replication_configuration
1133
1208
  GetBucketReplicationOutput[:payload_member] = GetBucketReplicationOutput.member(:replication_configuration)
1134
1209
 
1135
- GetBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1210
+ GetBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1136
1211
  GetBucketReplicationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1137
1212
  GetBucketReplicationRequest.struct_class = Types::GetBucketReplicationRequest
1138
1213
 
1139
1214
  GetBucketRequestPaymentOutput.add_member(:payer, Shapes::ShapeRef.new(shape: Payer, location_name: "Payer"))
1140
1215
  GetBucketRequestPaymentOutput.struct_class = Types::GetBucketRequestPaymentOutput
1141
1216
 
1142
- GetBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1217
+ GetBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1143
1218
  GetBucketRequestPaymentRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1144
1219
  GetBucketRequestPaymentRequest.struct_class = Types::GetBucketRequestPaymentRequest
1145
1220
 
1146
1221
  GetBucketTaggingOutput.add_member(:tag_set, Shapes::ShapeRef.new(shape: TagSet, required: true, location_name: "TagSet"))
1147
1222
  GetBucketTaggingOutput.struct_class = Types::GetBucketTaggingOutput
1148
1223
 
1149
- GetBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1224
+ GetBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1150
1225
  GetBucketTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1151
1226
  GetBucketTaggingRequest.struct_class = Types::GetBucketTaggingRequest
1152
1227
 
@@ -1154,7 +1229,7 @@ module Aws::S3
1154
1229
  GetBucketVersioningOutput.add_member(:mfa_delete, Shapes::ShapeRef.new(shape: MFADeleteStatus, location_name: "MfaDelete"))
1155
1230
  GetBucketVersioningOutput.struct_class = Types::GetBucketVersioningOutput
1156
1231
 
1157
- GetBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1232
+ GetBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1158
1233
  GetBucketVersioningRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1159
1234
  GetBucketVersioningRequest.struct_class = Types::GetBucketVersioningRequest
1160
1235
 
@@ -1164,7 +1239,7 @@ module Aws::S3
1164
1239
  GetBucketWebsiteOutput.add_member(:routing_rules, Shapes::ShapeRef.new(shape: RoutingRules, location_name: "RoutingRules"))
1165
1240
  GetBucketWebsiteOutput.struct_class = Types::GetBucketWebsiteOutput
1166
1241
 
1167
- GetBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1242
+ GetBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1168
1243
  GetBucketWebsiteRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1169
1244
  GetBucketWebsiteRequest.struct_class = Types::GetBucketWebsiteRequest
1170
1245
 
@@ -1173,19 +1248,51 @@ module Aws::S3
1173
1248
  GetObjectAclOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1174
1249
  GetObjectAclOutput.struct_class = Types::GetObjectAclOutput
1175
1250
 
1176
- GetObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1251
+ GetObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1177
1252
  GetObjectAclRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1178
1253
  GetObjectAclRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1179
1254
  GetObjectAclRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1180
1255
  GetObjectAclRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1181
1256
  GetObjectAclRequest.struct_class = Types::GetObjectAclRequest
1182
1257
 
1258
+ GetObjectAttributesOutput.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location: "header", location_name: "x-amz-delete-marker"))
1259
+ GetObjectAttributesOutput.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "Last-Modified"))
1260
+ GetObjectAttributesOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
1261
+ GetObjectAttributesOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1262
+ GetObjectAttributesOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1263
+ GetObjectAttributesOutput.add_member(:checksum, Shapes::ShapeRef.new(shape: Checksum, location_name: "Checksum"))
1264
+ GetObjectAttributesOutput.add_member(:object_parts, Shapes::ShapeRef.new(shape: GetObjectAttributesParts, location_name: "ObjectParts"))
1265
+ GetObjectAttributesOutput.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1266
+ GetObjectAttributesOutput.add_member(:object_size, Shapes::ShapeRef.new(shape: ObjectSize, location_name: "ObjectSize"))
1267
+ GetObjectAttributesOutput.struct_class = Types::GetObjectAttributesOutput
1268
+
1269
+ GetObjectAttributesParts.add_member(:total_parts_count, Shapes::ShapeRef.new(shape: PartsCount, location_name: "PartsCount"))
1270
+ GetObjectAttributesParts.add_member(:part_number_marker, Shapes::ShapeRef.new(shape: PartNumberMarker, location_name: "PartNumberMarker"))
1271
+ GetObjectAttributesParts.add_member(:next_part_number_marker, Shapes::ShapeRef.new(shape: NextPartNumberMarker, location_name: "NextPartNumberMarker"))
1272
+ GetObjectAttributesParts.add_member(:max_parts, Shapes::ShapeRef.new(shape: MaxParts, location_name: "MaxParts"))
1273
+ GetObjectAttributesParts.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
1274
+ GetObjectAttributesParts.add_member(:parts, Shapes::ShapeRef.new(shape: PartsList, location_name: "Part"))
1275
+ GetObjectAttributesParts.struct_class = Types::GetObjectAttributesParts
1276
+
1277
+ GetObjectAttributesRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1278
+ GetObjectAttributesRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1279
+ GetObjectAttributesRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1280
+ GetObjectAttributesRequest.add_member(:max_parts, Shapes::ShapeRef.new(shape: MaxParts, location: "header", location_name: "x-amz-max-parts"))
1281
+ GetObjectAttributesRequest.add_member(:part_number_marker, Shapes::ShapeRef.new(shape: PartNumberMarker, location: "header", location_name: "x-amz-part-number-marker"))
1282
+ GetObjectAttributesRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1283
+ GetObjectAttributesRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
1284
+ GetObjectAttributesRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1285
+ GetObjectAttributesRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1286
+ GetObjectAttributesRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1287
+ GetObjectAttributesRequest.add_member(:object_attributes, Shapes::ShapeRef.new(shape: ObjectAttributesList, required: true, location: "header", location_name: "x-amz-object-attributes"))
1288
+ GetObjectAttributesRequest.struct_class = Types::GetObjectAttributesRequest
1289
+
1183
1290
  GetObjectLegalHoldOutput.add_member(:legal_hold, Shapes::ShapeRef.new(shape: ObjectLockLegalHold, location_name: "LegalHold"))
1184
1291
  GetObjectLegalHoldOutput.struct_class = Types::GetObjectLegalHoldOutput
1185
1292
  GetObjectLegalHoldOutput[:payload] = :legal_hold
1186
1293
  GetObjectLegalHoldOutput[:payload_member] = GetObjectLegalHoldOutput.member(:legal_hold)
1187
1294
 
1188
- GetObjectLegalHoldRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1295
+ GetObjectLegalHoldRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1189
1296
  GetObjectLegalHoldRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1190
1297
  GetObjectLegalHoldRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1191
1298
  GetObjectLegalHoldRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
@@ -1197,7 +1304,7 @@ module Aws::S3
1197
1304
  GetObjectLockConfigurationOutput[:payload] = :object_lock_configuration
1198
1305
  GetObjectLockConfigurationOutput[:payload_member] = GetObjectLockConfigurationOutput.member(:object_lock_configuration)
1199
1306
 
1200
- GetObjectLockConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1307
+ GetObjectLockConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1201
1308
  GetObjectLockConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1202
1309
  GetObjectLockConfigurationRequest.struct_class = Types::GetObjectLockConfigurationRequest
1203
1310
 
@@ -1209,6 +1316,10 @@ module Aws::S3
1209
1316
  GetObjectOutput.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "Last-Modified"))
1210
1317
  GetObjectOutput.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
1211
1318
  GetObjectOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
1319
+ GetObjectOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
1320
+ GetObjectOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
1321
+ GetObjectOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
1322
+ GetObjectOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
1212
1323
  GetObjectOutput.add_member(:missing_meta, Shapes::ShapeRef.new(shape: MissingMeta, location: "header", location_name: "x-amz-missing-meta"))
1213
1324
  GetObjectOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
1214
1325
  GetObjectOutput.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
@@ -1225,6 +1336,7 @@ module Aws::S3
1225
1336
  GetObjectOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1226
1337
  GetObjectOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1227
1338
  GetObjectOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
1339
+ GetObjectOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
1228
1340
  GetObjectOutput.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location: "header", location_name: "x-amz-storage-class"))
1229
1341
  GetObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1230
1342
  GetObjectOutput.add_member(:replication_status, Shapes::ShapeRef.new(shape: ReplicationStatus, location: "header", location_name: "x-amz-replication-status"))
@@ -1237,7 +1349,7 @@ module Aws::S3
1237
1349
  GetObjectOutput[:payload] = :body
1238
1350
  GetObjectOutput[:payload_member] = GetObjectOutput.member(:body)
1239
1351
 
1240
- GetObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1352
+ GetObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1241
1353
  GetObjectRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
1242
1354
  GetObjectRequest.add_member(:if_modified_since, Shapes::ShapeRef.new(shape: IfModifiedSince, location: "header", location_name: "If-Modified-Since"))
1243
1355
  GetObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
@@ -1257,6 +1369,7 @@ module Aws::S3
1257
1369
  GetObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1258
1370
  GetObjectRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location: "querystring", location_name: "partNumber"))
1259
1371
  GetObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1372
+ GetObjectRequest.add_member(:checksum_mode, Shapes::ShapeRef.new(shape: ChecksumMode, location: "header", location_name: "x-amz-checksum-mode"))
1260
1373
  GetObjectRequest.struct_class = Types::GetObjectRequest
1261
1374
 
1262
1375
  GetObjectRetentionOutput.add_member(:retention, Shapes::ShapeRef.new(shape: ObjectLockRetention, location_name: "Retention"))
@@ -1264,7 +1377,7 @@ module Aws::S3
1264
1377
  GetObjectRetentionOutput[:payload] = :retention
1265
1378
  GetObjectRetentionOutput[:payload_member] = GetObjectRetentionOutput.member(:retention)
1266
1379
 
1267
- GetObjectRetentionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1380
+ GetObjectRetentionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1268
1381
  GetObjectRetentionRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1269
1382
  GetObjectRetentionRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1270
1383
  GetObjectRetentionRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
@@ -1275,10 +1388,11 @@ module Aws::S3
1275
1388
  GetObjectTaggingOutput.add_member(:tag_set, Shapes::ShapeRef.new(shape: TagSet, required: true, location_name: "TagSet"))
1276
1389
  GetObjectTaggingOutput.struct_class = Types::GetObjectTaggingOutput
1277
1390
 
1278
- GetObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1391
+ GetObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1279
1392
  GetObjectTaggingRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1280
1393
  GetObjectTaggingRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1281
1394
  GetObjectTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1395
+ GetObjectTaggingRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1282
1396
  GetObjectTaggingRequest.struct_class = Types::GetObjectTaggingRequest
1283
1397
 
1284
1398
  GetObjectTorrentOutput.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
@@ -1287,7 +1401,7 @@ module Aws::S3
1287
1401
  GetObjectTorrentOutput[:payload] = :body
1288
1402
  GetObjectTorrentOutput[:payload_member] = GetObjectTorrentOutput.member(:body)
1289
1403
 
1290
- GetObjectTorrentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1404
+ GetObjectTorrentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1291
1405
  GetObjectTorrentRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1292
1406
  GetObjectTorrentRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1293
1407
  GetObjectTorrentRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1298,7 +1412,7 @@ module Aws::S3
1298
1412
  GetPublicAccessBlockOutput[:payload] = :public_access_block_configuration
1299
1413
  GetPublicAccessBlockOutput[:payload_member] = GetPublicAccessBlockOutput.member(:public_access_block_configuration)
1300
1414
 
1301
- GetPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1415
+ GetPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1302
1416
  GetPublicAccessBlockRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1303
1417
  GetPublicAccessBlockRequest.struct_class = Types::GetPublicAccessBlockRequest
1304
1418
 
@@ -1318,7 +1432,7 @@ module Aws::S3
1318
1432
 
1319
1433
  Grants.member = Shapes::ShapeRef.new(shape: Grant, location_name: "Grant")
1320
1434
 
1321
- HeadBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1435
+ HeadBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1322
1436
  HeadBucketRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1323
1437
  HeadBucketRequest.struct_class = Types::HeadBucketRequest
1324
1438
 
@@ -1329,6 +1443,10 @@ module Aws::S3
1329
1443
  HeadObjectOutput.add_member(:archive_status, Shapes::ShapeRef.new(shape: ArchiveStatus, location: "header", location_name: "x-amz-archive-status"))
1330
1444
  HeadObjectOutput.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "Last-Modified"))
1331
1445
  HeadObjectOutput.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
1446
+ HeadObjectOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
1447
+ HeadObjectOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
1448
+ HeadObjectOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
1449
+ HeadObjectOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
1332
1450
  HeadObjectOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
1333
1451
  HeadObjectOutput.add_member(:missing_meta, Shapes::ShapeRef.new(shape: MissingMeta, location: "header", location_name: "x-amz-missing-meta"))
1334
1452
  HeadObjectOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
@@ -1345,6 +1463,7 @@ module Aws::S3
1345
1463
  HeadObjectOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1346
1464
  HeadObjectOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1347
1465
  HeadObjectOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
1466
+ HeadObjectOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
1348
1467
  HeadObjectOutput.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location: "header", location_name: "x-amz-storage-class"))
1349
1468
  HeadObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1350
1469
  HeadObjectOutput.add_member(:replication_status, Shapes::ShapeRef.new(shape: ReplicationStatus, location: "header", location_name: "x-amz-replication-status"))
@@ -1354,7 +1473,7 @@ module Aws::S3
1354
1473
  HeadObjectOutput.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
1355
1474
  HeadObjectOutput.struct_class = Types::HeadObjectOutput
1356
1475
 
1357
- HeadObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1476
+ HeadObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1358
1477
  HeadObjectRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
1359
1478
  HeadObjectRequest.add_member(:if_modified_since, Shapes::ShapeRef.new(shape: IfModifiedSince, location: "header", location_name: "If-Modified-Since"))
1360
1479
  HeadObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
@@ -1368,6 +1487,7 @@ module Aws::S3
1368
1487
  HeadObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1369
1488
  HeadObjectRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location: "querystring", location_name: "partNumber"))
1370
1489
  HeadObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1490
+ HeadObjectRequest.add_member(:checksum_mode, Shapes::ShapeRef.new(shape: ChecksumMode, location: "header", location_name: "x-amz-checksum-mode"))
1371
1491
  HeadObjectRequest.struct_class = Types::HeadObjectRequest
1372
1492
 
1373
1493
  IndexDocument.add_member(:suffix, Shapes::ShapeRef.new(shape: Suffix, required: true, location_name: "Suffix"))
@@ -1472,10 +1592,14 @@ module Aws::S3
1472
1592
 
1473
1593
  LifecycleRuleAndOperator.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1474
1594
  LifecycleRuleAndOperator.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tag", metadata: {"flattened"=>true}))
1595
+ LifecycleRuleAndOperator.add_member(:object_size_greater_than, Shapes::ShapeRef.new(shape: ObjectSizeGreaterThanBytes, location_name: "ObjectSizeGreaterThan"))
1596
+ LifecycleRuleAndOperator.add_member(:object_size_less_than, Shapes::ShapeRef.new(shape: ObjectSizeLessThanBytes, location_name: "ObjectSizeLessThan"))
1475
1597
  LifecycleRuleAndOperator.struct_class = Types::LifecycleRuleAndOperator
1476
1598
 
1477
1599
  LifecycleRuleFilter.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1478
1600
  LifecycleRuleFilter.add_member(:tag, Shapes::ShapeRef.new(shape: Tag, location_name: "Tag"))
1601
+ LifecycleRuleFilter.add_member(:object_size_greater_than, Shapes::ShapeRef.new(shape: ObjectSizeGreaterThanBytes, location_name: "ObjectSizeGreaterThan"))
1602
+ LifecycleRuleFilter.add_member(:object_size_less_than, Shapes::ShapeRef.new(shape: ObjectSizeLessThanBytes, location_name: "ObjectSizeLessThan"))
1479
1603
  LifecycleRuleFilter.add_member(:and, Shapes::ShapeRef.new(shape: LifecycleRuleAndOperator, location_name: "And"))
1480
1604
  LifecycleRuleFilter.struct_class = Types::LifecycleRuleFilter
1481
1605
 
@@ -1487,7 +1611,7 @@ module Aws::S3
1487
1611
  ListBucketAnalyticsConfigurationsOutput.add_member(:analytics_configuration_list, Shapes::ShapeRef.new(shape: AnalyticsConfigurationList, location_name: "AnalyticsConfiguration"))
1488
1612
  ListBucketAnalyticsConfigurationsOutput.struct_class = Types::ListBucketAnalyticsConfigurationsOutput
1489
1613
 
1490
- ListBucketAnalyticsConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1614
+ ListBucketAnalyticsConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1491
1615
  ListBucketAnalyticsConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1492
1616
  ListBucketAnalyticsConfigurationsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1493
1617
  ListBucketAnalyticsConfigurationsRequest.struct_class = Types::ListBucketAnalyticsConfigurationsRequest
@@ -1498,7 +1622,7 @@ module Aws::S3
1498
1622
  ListBucketIntelligentTieringConfigurationsOutput.add_member(:intelligent_tiering_configuration_list, Shapes::ShapeRef.new(shape: IntelligentTieringConfigurationList, location_name: "IntelligentTieringConfiguration"))
1499
1623
  ListBucketIntelligentTieringConfigurationsOutput.struct_class = Types::ListBucketIntelligentTieringConfigurationsOutput
1500
1624
 
1501
- ListBucketIntelligentTieringConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1625
+ ListBucketIntelligentTieringConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1502
1626
  ListBucketIntelligentTieringConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1503
1627
  ListBucketIntelligentTieringConfigurationsRequest.struct_class = Types::ListBucketIntelligentTieringConfigurationsRequest
1504
1628
 
@@ -1508,7 +1632,7 @@ module Aws::S3
1508
1632
  ListBucketInventoryConfigurationsOutput.add_member(:next_continuation_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextContinuationToken"))
1509
1633
  ListBucketInventoryConfigurationsOutput.struct_class = Types::ListBucketInventoryConfigurationsOutput
1510
1634
 
1511
- ListBucketInventoryConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1635
+ ListBucketInventoryConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1512
1636
  ListBucketInventoryConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1513
1637
  ListBucketInventoryConfigurationsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1514
1638
  ListBucketInventoryConfigurationsRequest.struct_class = Types::ListBucketInventoryConfigurationsRequest
@@ -1519,7 +1643,7 @@ module Aws::S3
1519
1643
  ListBucketMetricsConfigurationsOutput.add_member(:metrics_configuration_list, Shapes::ShapeRef.new(shape: MetricsConfigurationList, location_name: "MetricsConfiguration"))
1520
1644
  ListBucketMetricsConfigurationsOutput.struct_class = Types::ListBucketMetricsConfigurationsOutput
1521
1645
 
1522
- ListBucketMetricsConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1646
+ ListBucketMetricsConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1523
1647
  ListBucketMetricsConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1524
1648
  ListBucketMetricsConfigurationsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1525
1649
  ListBucketMetricsConfigurationsRequest.struct_class = Types::ListBucketMetricsConfigurationsRequest
@@ -1542,7 +1666,7 @@ module Aws::S3
1542
1666
  ListMultipartUploadsOutput.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location_name: "EncodingType"))
1543
1667
  ListMultipartUploadsOutput.struct_class = Types::ListMultipartUploadsOutput
1544
1668
 
1545
- ListMultipartUploadsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1669
+ ListMultipartUploadsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1546
1670
  ListMultipartUploadsRequest.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1547
1671
  ListMultipartUploadsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1548
1672
  ListMultipartUploadsRequest.add_member(:key_marker, Shapes::ShapeRef.new(shape: KeyMarker, location: "querystring", location_name: "key-marker"))
@@ -1567,7 +1691,7 @@ module Aws::S3
1567
1691
  ListObjectVersionsOutput.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location_name: "EncodingType"))
1568
1692
  ListObjectVersionsOutput.struct_class = Types::ListObjectVersionsOutput
1569
1693
 
1570
- ListObjectVersionsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1694
+ ListObjectVersionsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1571
1695
  ListObjectVersionsRequest.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1572
1696
  ListObjectVersionsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1573
1697
  ListObjectVersionsRequest.add_member(:key_marker, Shapes::ShapeRef.new(shape: KeyMarker, location: "querystring", location_name: "key-marker"))
@@ -1589,7 +1713,7 @@ module Aws::S3
1589
1713
  ListObjectsOutput.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location_name: "EncodingType"))
1590
1714
  ListObjectsOutput.struct_class = Types::ListObjectsOutput
1591
1715
 
1592
- ListObjectsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1716
+ ListObjectsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1593
1717
  ListObjectsRequest.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1594
1718
  ListObjectsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1595
1719
  ListObjectsRequest.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location: "querystring", location_name: "marker"))
@@ -1613,7 +1737,7 @@ module Aws::S3
1613
1737
  ListObjectsV2Output.add_member(:start_after, Shapes::ShapeRef.new(shape: StartAfter, location_name: "StartAfter"))
1614
1738
  ListObjectsV2Output.struct_class = Types::ListObjectsV2Output
1615
1739
 
1616
- ListObjectsV2Request.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1740
+ ListObjectsV2Request.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1617
1741
  ListObjectsV2Request.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1618
1742
  ListObjectsV2Request.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1619
1743
  ListObjectsV2Request.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location: "querystring", location_name: "max-keys"))
@@ -1639,15 +1763,19 @@ module Aws::S3
1639
1763
  ListPartsOutput.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1640
1764
  ListPartsOutput.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1641
1765
  ListPartsOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1766
+ ListPartsOutput.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location_name: "ChecksumAlgorithm"))
1642
1767
  ListPartsOutput.struct_class = Types::ListPartsOutput
1643
1768
 
1644
- ListPartsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1769
+ ListPartsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1645
1770
  ListPartsRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1646
1771
  ListPartsRequest.add_member(:max_parts, Shapes::ShapeRef.new(shape: MaxParts, location: "querystring", location_name: "max-parts"))
1647
1772
  ListPartsRequest.add_member(:part_number_marker, Shapes::ShapeRef.new(shape: PartNumberMarker, location: "querystring", location_name: "part-number-marker"))
1648
1773
  ListPartsRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
1649
1774
  ListPartsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1650
1775
  ListPartsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1776
+ ListPartsRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1777
+ ListPartsRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
1778
+ ListPartsRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1651
1779
  ListPartsRequest.struct_class = Types::ListPartsRequest
1652
1780
 
1653
1781
  LoggingEnabled.add_member(:target_bucket, Shapes::ShapeRef.new(shape: TargetBucket, required: true, location_name: "TargetBucket"))
@@ -1668,6 +1796,7 @@ module Aws::S3
1668
1796
 
1669
1797
  MetricsAndOperator.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1670
1798
  MetricsAndOperator.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tag", metadata: {"flattened"=>true}))
1799
+ MetricsAndOperator.add_member(:access_point_arn, Shapes::ShapeRef.new(shape: AccessPointArn, location_name: "AccessPointArn"))
1671
1800
  MetricsAndOperator.struct_class = Types::MetricsAndOperator
1672
1801
 
1673
1802
  MetricsConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location_name: "Id"))
@@ -1678,6 +1807,7 @@ module Aws::S3
1678
1807
 
1679
1808
  MetricsFilter.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1680
1809
  MetricsFilter.add_member(:tag, Shapes::ShapeRef.new(shape: Tag, location_name: "Tag"))
1810
+ MetricsFilter.add_member(:access_point_arn, Shapes::ShapeRef.new(shape: AccessPointArn, location_name: "AccessPointArn"))
1681
1811
  MetricsFilter.add_member(:and, Shapes::ShapeRef.new(shape: MetricsAndOperator, location_name: "And"))
1682
1812
  MetricsFilter.struct_class = Types::MetricsFilter
1683
1813
 
@@ -1687,6 +1817,7 @@ module Aws::S3
1687
1817
  MultipartUpload.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1688
1818
  MultipartUpload.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1689
1819
  MultipartUpload.add_member(:initiator, Shapes::ShapeRef.new(shape: Initiator, location_name: "Initiator"))
1820
+ MultipartUpload.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location_name: "ChecksumAlgorithm"))
1690
1821
  MultipartUpload.struct_class = Types::MultipartUpload
1691
1822
 
1692
1823
  MultipartUploadList.member = Shapes::ShapeRef.new(shape: MultipartUpload)
@@ -1698,10 +1829,12 @@ module Aws::S3
1698
1829
  NoSuchUpload.struct_class = Types::NoSuchUpload
1699
1830
 
1700
1831
  NoncurrentVersionExpiration.add_member(:noncurrent_days, Shapes::ShapeRef.new(shape: Days, location_name: "NoncurrentDays"))
1832
+ NoncurrentVersionExpiration.add_member(:newer_noncurrent_versions, Shapes::ShapeRef.new(shape: VersionCount, location_name: "NewerNoncurrentVersions"))
1701
1833
  NoncurrentVersionExpiration.struct_class = Types::NoncurrentVersionExpiration
1702
1834
 
1703
1835
  NoncurrentVersionTransition.add_member(:noncurrent_days, Shapes::ShapeRef.new(shape: Days, location_name: "NoncurrentDays"))
1704
1836
  NoncurrentVersionTransition.add_member(:storage_class, Shapes::ShapeRef.new(shape: TransitionStorageClass, location_name: "StorageClass"))
1837
+ NoncurrentVersionTransition.add_member(:newer_noncurrent_versions, Shapes::ShapeRef.new(shape: VersionCount, location_name: "NewerNoncurrentVersions"))
1705
1838
  NoncurrentVersionTransition.struct_class = Types::NoncurrentVersionTransition
1706
1839
 
1707
1840
  NoncurrentVersionTransitionList.member = Shapes::ShapeRef.new(shape: NoncurrentVersionTransition)
@@ -1709,6 +1842,7 @@ module Aws::S3
1709
1842
  NotificationConfiguration.add_member(:topic_configurations, Shapes::ShapeRef.new(shape: TopicConfigurationList, location_name: "TopicConfiguration"))
1710
1843
  NotificationConfiguration.add_member(:queue_configurations, Shapes::ShapeRef.new(shape: QueueConfigurationList, location_name: "QueueConfiguration"))
1711
1844
  NotificationConfiguration.add_member(:lambda_function_configurations, Shapes::ShapeRef.new(shape: LambdaFunctionConfigurationList, location_name: "CloudFunctionConfiguration"))
1845
+ NotificationConfiguration.add_member(:event_bridge_configuration, Shapes::ShapeRef.new(shape: EventBridgeConfiguration, location_name: "EventBridgeConfiguration"))
1712
1846
  NotificationConfiguration.struct_class = Types::NotificationConfiguration
1713
1847
 
1714
1848
  NotificationConfigurationDeprecated.add_member(:topic_configuration, Shapes::ShapeRef.new(shape: TopicConfigurationDeprecated, location_name: "TopicConfiguration"))
@@ -1722,6 +1856,7 @@ module Aws::S3
1722
1856
  Object.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
1723
1857
  Object.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
1724
1858
  Object.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1859
+ Object.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithmList, location_name: "ChecksumAlgorithm"))
1725
1860
  Object.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1726
1861
  Object.add_member(:storage_class, Shapes::ShapeRef.new(shape: ObjectStorageClass, location_name: "StorageClass"))
1727
1862
  Object.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
@@ -1729,6 +1864,8 @@ module Aws::S3
1729
1864
 
1730
1865
  ObjectAlreadyInActiveTierError.struct_class = Types::ObjectAlreadyInActiveTierError
1731
1866
 
1867
+ ObjectAttributesList.member = Shapes::ShapeRef.new(shape: ObjectAttributes)
1868
+
1732
1869
  ObjectIdentifier.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location_name: "Key"))
1733
1870
  ObjectIdentifier.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location_name: "VersionId"))
1734
1871
  ObjectIdentifier.struct_class = Types::ObjectIdentifier
@@ -1753,7 +1890,16 @@ module Aws::S3
1753
1890
 
1754
1891
  ObjectNotInActiveTierError.struct_class = Types::ObjectNotInActiveTierError
1755
1892
 
1893
+ ObjectPart.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location_name: "PartNumber"))
1894
+ ObjectPart.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1895
+ ObjectPart.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
1896
+ ObjectPart.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
1897
+ ObjectPart.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
1898
+ ObjectPart.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
1899
+ ObjectPart.struct_class = Types::ObjectPart
1900
+
1756
1901
  ObjectVersion.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1902
+ ObjectVersion.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithmList, location_name: "ChecksumAlgorithm"))
1757
1903
  ObjectVersion.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1758
1904
  ObjectVersion.add_member(:storage_class, Shapes::ShapeRef.new(shape: ObjectVersionStorageClass, location_name: "StorageClass"))
1759
1905
  ObjectVersion.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
@@ -1790,10 +1936,16 @@ module Aws::S3
1790
1936
  Part.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
1791
1937
  Part.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1792
1938
  Part.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1939
+ Part.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
1940
+ Part.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
1941
+ Part.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
1942
+ Part.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
1793
1943
  Part.struct_class = Types::Part
1794
1944
 
1795
1945
  Parts.member = Shapes::ShapeRef.new(shape: Part)
1796
1946
 
1947
+ PartsList.member = Shapes::ShapeRef.new(shape: ObjectPart)
1948
+
1797
1949
  PolicyStatus.add_member(:is_public, Shapes::ShapeRef.new(shape: IsPublic, location_name: "IsPublic"))
1798
1950
  PolicyStatus.struct_class = Types::PolicyStatus
1799
1951
 
@@ -1811,17 +1963,19 @@ module Aws::S3
1811
1963
  PublicAccessBlockConfiguration.add_member(:restrict_public_buckets, Shapes::ShapeRef.new(shape: Setting, location_name: "RestrictPublicBuckets"))
1812
1964
  PublicAccessBlockConfiguration.struct_class = Types::PublicAccessBlockConfiguration
1813
1965
 
1814
- PutBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1966
+ PutBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1815
1967
  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/"}}))
1816
1968
  PutBucketAccelerateConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1969
+ PutBucketAccelerateConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1817
1970
  PutBucketAccelerateConfigurationRequest.struct_class = Types::PutBucketAccelerateConfigurationRequest
1818
1971
  PutBucketAccelerateConfigurationRequest[:payload] = :accelerate_configuration
1819
1972
  PutBucketAccelerateConfigurationRequest[:payload_member] = PutBucketAccelerateConfigurationRequest.member(:accelerate_configuration)
1820
1973
 
1821
1974
  PutBucketAclRequest.add_member(:acl, Shapes::ShapeRef.new(shape: BucketCannedACL, location: "header", location_name: "x-amz-acl"))
1822
1975
  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/"}}))
1823
- PutBucketAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1824
- PutBucketAclRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
1976
+ PutBucketAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1977
+ PutBucketAclRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1978
+ PutBucketAclRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1825
1979
  PutBucketAclRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
1826
1980
  PutBucketAclRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
1827
1981
  PutBucketAclRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
@@ -1832,7 +1986,7 @@ module Aws::S3
1832
1986
  PutBucketAclRequest[:payload] = :access_control_policy
1833
1987
  PutBucketAclRequest[:payload_member] = PutBucketAclRequest.member(:access_control_policy)
1834
1988
 
1835
- PutBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1989
+ PutBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1836
1990
  PutBucketAnalyticsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: AnalyticsId, required: true, location: "querystring", location_name: "id"))
1837
1991
  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/"}}))
1838
1992
  PutBucketAnalyticsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1840,30 +1994,32 @@ module Aws::S3
1840
1994
  PutBucketAnalyticsConfigurationRequest[:payload] = :analytics_configuration
1841
1995
  PutBucketAnalyticsConfigurationRequest[:payload_member] = PutBucketAnalyticsConfigurationRequest.member(:analytics_configuration)
1842
1996
 
1843
- PutBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1997
+ PutBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1844
1998
  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/"}}))
1845
- PutBucketCorsRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
1999
+ PutBucketCorsRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2000
+ PutBucketCorsRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1846
2001
  PutBucketCorsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1847
2002
  PutBucketCorsRequest.struct_class = Types::PutBucketCorsRequest
1848
2003
  PutBucketCorsRequest[:payload] = :cors_configuration
1849
2004
  PutBucketCorsRequest[:payload_member] = PutBucketCorsRequest.member(:cors_configuration)
1850
2005
 
1851
- PutBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1852
- PutBucketEncryptionRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
2006
+ PutBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2007
+ PutBucketEncryptionRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2008
+ PutBucketEncryptionRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1853
2009
  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/"}}))
1854
2010
  PutBucketEncryptionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1855
2011
  PutBucketEncryptionRequest.struct_class = Types::PutBucketEncryptionRequest
1856
2012
  PutBucketEncryptionRequest[:payload] = :server_side_encryption_configuration
1857
2013
  PutBucketEncryptionRequest[:payload_member] = PutBucketEncryptionRequest.member(:server_side_encryption_configuration)
1858
2014
 
1859
- PutBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2015
+ PutBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1860
2016
  PutBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
1861
2017
  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/"}}))
1862
2018
  PutBucketIntelligentTieringConfigurationRequest.struct_class = Types::PutBucketIntelligentTieringConfigurationRequest
1863
2019
  PutBucketIntelligentTieringConfigurationRequest[:payload] = :intelligent_tiering_configuration
1864
2020
  PutBucketIntelligentTieringConfigurationRequest[:payload_member] = PutBucketIntelligentTieringConfigurationRequest.member(:intelligent_tiering_configuration)
1865
2021
 
1866
- PutBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2022
+ PutBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1867
2023
  PutBucketInventoryConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: InventoryId, required: true, location: "querystring", location_name: "id"))
1868
2024
  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/"}}))
1869
2025
  PutBucketInventoryConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1871,30 +2027,33 @@ module Aws::S3
1871
2027
  PutBucketInventoryConfigurationRequest[:payload] = :inventory_configuration
1872
2028
  PutBucketInventoryConfigurationRequest[:payload_member] = PutBucketInventoryConfigurationRequest.member(:inventory_configuration)
1873
2029
 
1874
- PutBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2030
+ PutBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2031
+ PutBucketLifecycleConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1875
2032
  PutBucketLifecycleConfigurationRequest.add_member(:lifecycle_configuration, Shapes::ShapeRef.new(shape: BucketLifecycleConfiguration, location_name: "LifecycleConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1876
2033
  PutBucketLifecycleConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1877
2034
  PutBucketLifecycleConfigurationRequest.struct_class = Types::PutBucketLifecycleConfigurationRequest
1878
2035
  PutBucketLifecycleConfigurationRequest[:payload] = :lifecycle_configuration
1879
2036
  PutBucketLifecycleConfigurationRequest[:payload_member] = PutBucketLifecycleConfigurationRequest.member(:lifecycle_configuration)
1880
2037
 
1881
- PutBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1882
- PutBucketLifecycleRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
2038
+ PutBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2039
+ PutBucketLifecycleRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2040
+ PutBucketLifecycleRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1883
2041
  PutBucketLifecycleRequest.add_member(:lifecycle_configuration, Shapes::ShapeRef.new(shape: LifecycleConfiguration, location_name: "LifecycleConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1884
2042
  PutBucketLifecycleRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1885
2043
  PutBucketLifecycleRequest.struct_class = Types::PutBucketLifecycleRequest
1886
2044
  PutBucketLifecycleRequest[:payload] = :lifecycle_configuration
1887
2045
  PutBucketLifecycleRequest[:payload_member] = PutBucketLifecycleRequest.member(:lifecycle_configuration)
1888
2046
 
1889
- PutBucketLoggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2047
+ PutBucketLoggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1890
2048
  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/"}}))
1891
- PutBucketLoggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
2049
+ PutBucketLoggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2050
+ PutBucketLoggingRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1892
2051
  PutBucketLoggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1893
2052
  PutBucketLoggingRequest.struct_class = Types::PutBucketLoggingRequest
1894
2053
  PutBucketLoggingRequest[:payload] = :bucket_logging_status
1895
2054
  PutBucketLoggingRequest[:payload_member] = PutBucketLoggingRequest.member(:bucket_logging_status)
1896
2055
 
1897
- PutBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2056
+ PutBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1898
2057
  PutBucketMetricsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location: "querystring", location_name: "id"))
1899
2058
  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/"}}))
1900
2059
  PutBucketMetricsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1902,22 +2061,24 @@ module Aws::S3
1902
2061
  PutBucketMetricsConfigurationRequest[:payload] = :metrics_configuration
1903
2062
  PutBucketMetricsConfigurationRequest[:payload_member] = PutBucketMetricsConfigurationRequest.member(:metrics_configuration)
1904
2063
 
1905
- PutBucketNotificationConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2064
+ PutBucketNotificationConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1906
2065
  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/"}}))
1907
2066
  PutBucketNotificationConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2067
+ PutBucketNotificationConfigurationRequest.add_member(:skip_destination_validation, Shapes::ShapeRef.new(shape: SkipValidation, location: "header", location_name: "x-amz-skip-destination-validation"))
1908
2068
  PutBucketNotificationConfigurationRequest.struct_class = Types::PutBucketNotificationConfigurationRequest
1909
2069
  PutBucketNotificationConfigurationRequest[:payload] = :notification_configuration
1910
2070
  PutBucketNotificationConfigurationRequest[:payload_member] = PutBucketNotificationConfigurationRequest.member(:notification_configuration)
1911
2071
 
1912
- PutBucketNotificationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1913
- PutBucketNotificationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
2072
+ PutBucketNotificationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2073
+ PutBucketNotificationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2074
+ PutBucketNotificationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1914
2075
  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/"}}))
1915
2076
  PutBucketNotificationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1916
2077
  PutBucketNotificationRequest.struct_class = Types::PutBucketNotificationRequest
1917
2078
  PutBucketNotificationRequest[:payload] = :notification_configuration
1918
2079
  PutBucketNotificationRequest[:payload_member] = PutBucketNotificationRequest.member(:notification_configuration)
1919
2080
 
1920
- PutBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2081
+ PutBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1921
2082
  PutBucketOwnershipControlsRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1922
2083
  PutBucketOwnershipControlsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1923
2084
  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/"}}))
@@ -1925,8 +2086,9 @@ module Aws::S3
1925
2086
  PutBucketOwnershipControlsRequest[:payload] = :ownership_controls
1926
2087
  PutBucketOwnershipControlsRequest[:payload_member] = PutBucketOwnershipControlsRequest.member(:ownership_controls)
1927
2088
 
1928
- PutBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1929
- PutBucketPolicyRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
2089
+ PutBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2090
+ PutBucketPolicyRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2091
+ PutBucketPolicyRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1930
2092
  PutBucketPolicyRequest.add_member(:confirm_remove_self_bucket_access, Shapes::ShapeRef.new(shape: ConfirmRemoveSelfBucketAccess, location: "header", location_name: "x-amz-confirm-remove-self-bucket-access"))
1931
2093
  PutBucketPolicyRequest.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, required: true, location_name: "Policy"))
1932
2094
  PutBucketPolicyRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1934,8 +2096,9 @@ module Aws::S3
1934
2096
  PutBucketPolicyRequest[:payload] = :policy
1935
2097
  PutBucketPolicyRequest[:payload_member] = PutBucketPolicyRequest.member(:policy)
1936
2098
 
1937
- PutBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1938
- PutBucketReplicationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
2099
+ PutBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2100
+ PutBucketReplicationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2101
+ PutBucketReplicationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1939
2102
  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/"}}))
1940
2103
  PutBucketReplicationRequest.add_member(:token, Shapes::ShapeRef.new(shape: ObjectLockToken, location: "header", location_name: "x-amz-bucket-object-lock-token"))
1941
2104
  PutBucketReplicationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1943,24 +2106,27 @@ module Aws::S3
1943
2106
  PutBucketReplicationRequest[:payload] = :replication_configuration
1944
2107
  PutBucketReplicationRequest[:payload_member] = PutBucketReplicationRequest.member(:replication_configuration)
1945
2108
 
1946
- PutBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1947
- PutBucketRequestPaymentRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
2109
+ PutBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2110
+ PutBucketRequestPaymentRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2111
+ PutBucketRequestPaymentRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1948
2112
  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/"}}))
1949
2113
  PutBucketRequestPaymentRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1950
2114
  PutBucketRequestPaymentRequest.struct_class = Types::PutBucketRequestPaymentRequest
1951
2115
  PutBucketRequestPaymentRequest[:payload] = :request_payment_configuration
1952
2116
  PutBucketRequestPaymentRequest[:payload_member] = PutBucketRequestPaymentRequest.member(:request_payment_configuration)
1953
2117
 
1954
- PutBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1955
- PutBucketTaggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
2118
+ PutBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2119
+ PutBucketTaggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2120
+ PutBucketTaggingRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1956
2121
  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/"}}))
1957
2122
  PutBucketTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1958
2123
  PutBucketTaggingRequest.struct_class = Types::PutBucketTaggingRequest
1959
2124
  PutBucketTaggingRequest[:payload] = :tagging
1960
2125
  PutBucketTaggingRequest[:payload_member] = PutBucketTaggingRequest.member(:tagging)
1961
2126
 
1962
- PutBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1963
- PutBucketVersioningRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
2127
+ PutBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2128
+ PutBucketVersioningRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2129
+ PutBucketVersioningRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1964
2130
  PutBucketVersioningRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
1965
2131
  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/"}}))
1966
2132
  PutBucketVersioningRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1968,8 +2134,9 @@ module Aws::S3
1968
2134
  PutBucketVersioningRequest[:payload] = :versioning_configuration
1969
2135
  PutBucketVersioningRequest[:payload_member] = PutBucketVersioningRequest.member(:versioning_configuration)
1970
2136
 
1971
- PutBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1972
- PutBucketWebsiteRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
2137
+ PutBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2138
+ PutBucketWebsiteRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2139
+ PutBucketWebsiteRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1973
2140
  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/"}}))
1974
2141
  PutBucketWebsiteRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1975
2142
  PutBucketWebsiteRequest.struct_class = Types::PutBucketWebsiteRequest
@@ -1981,8 +2148,9 @@ module Aws::S3
1981
2148
 
1982
2149
  PutObjectAclRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
1983
2150
  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/"}}))
1984
- PutObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1985
- PutObjectAclRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
2151
+ PutObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2152
+ PutObjectAclRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2153
+ PutObjectAclRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1986
2154
  PutObjectAclRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
1987
2155
  PutObjectAclRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
1988
2156
  PutObjectAclRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
@@ -1999,12 +2167,13 @@ module Aws::S3
1999
2167
  PutObjectLegalHoldOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2000
2168
  PutObjectLegalHoldOutput.struct_class = Types::PutObjectLegalHoldOutput
2001
2169
 
2002
- PutObjectLegalHoldRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2170
+ PutObjectLegalHoldRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2003
2171
  PutObjectLegalHoldRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2004
2172
  PutObjectLegalHoldRequest.add_member(:legal_hold, Shapes::ShapeRef.new(shape: ObjectLockLegalHold, location_name: "LegalHold", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2005
2173
  PutObjectLegalHoldRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2006
2174
  PutObjectLegalHoldRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2007
- PutObjectLegalHoldRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
2175
+ PutObjectLegalHoldRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2176
+ PutObjectLegalHoldRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2008
2177
  PutObjectLegalHoldRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2009
2178
  PutObjectLegalHoldRequest.struct_class = Types::PutObjectLegalHoldRequest
2010
2179
  PutObjectLegalHoldRequest[:payload] = :legal_hold
@@ -2013,11 +2182,12 @@ module Aws::S3
2013
2182
  PutObjectLockConfigurationOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2014
2183
  PutObjectLockConfigurationOutput.struct_class = Types::PutObjectLockConfigurationOutput
2015
2184
 
2016
- PutObjectLockConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2185
+ PutObjectLockConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2017
2186
  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/"}}))
2018
2187
  PutObjectLockConfigurationRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2019
2188
  PutObjectLockConfigurationRequest.add_member(:token, Shapes::ShapeRef.new(shape: ObjectLockToken, location: "header", location_name: "x-amz-bucket-object-lock-token"))
2020
- PutObjectLockConfigurationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
2189
+ PutObjectLockConfigurationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2190
+ PutObjectLockConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2021
2191
  PutObjectLockConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2022
2192
  PutObjectLockConfigurationRequest.struct_class = Types::PutObjectLockConfigurationRequest
2023
2193
  PutObjectLockConfigurationRequest[:payload] = :object_lock_configuration
@@ -2025,18 +2195,23 @@ module Aws::S3
2025
2195
 
2026
2196
  PutObjectOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
2027
2197
  PutObjectOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
2198
+ PutObjectOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2199
+ PutObjectOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2200
+ PutObjectOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2201
+ PutObjectOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2028
2202
  PutObjectOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
2029
2203
  PutObjectOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
2030
2204
  PutObjectOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
2031
2205
  PutObjectOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
2032
2206
  PutObjectOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
2033
2207
  PutObjectOutput.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
2208
+ PutObjectOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
2034
2209
  PutObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2035
2210
  PutObjectOutput.struct_class = Types::PutObjectOutput
2036
2211
 
2037
2212
  PutObjectRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
2038
2213
  PutObjectRequest.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
2039
- PutObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2214
+ PutObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2040
2215
  PutObjectRequest.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
2041
2216
  PutObjectRequest.add_member(:content_disposition, Shapes::ShapeRef.new(shape: ContentDisposition, location: "header", location_name: "Content-Disposition"))
2042
2217
  PutObjectRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
@@ -2044,6 +2219,11 @@ module Aws::S3
2044
2219
  PutObjectRequest.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
2045
2220
  PutObjectRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2046
2221
  PutObjectRequest.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location: "header", location_name: "Content-Type"))
2222
+ PutObjectRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2223
+ PutObjectRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2224
+ PutObjectRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2225
+ PutObjectRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2226
+ PutObjectRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2047
2227
  PutObjectRequest.add_member(:expires, Shapes::ShapeRef.new(shape: Expires, location: "header", location_name: "Expires"))
2048
2228
  PutObjectRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
2049
2229
  PutObjectRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
@@ -2059,6 +2239,7 @@ module Aws::S3
2059
2239
  PutObjectRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
2060
2240
  PutObjectRequest.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
2061
2241
  PutObjectRequest.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
2242
+ PutObjectRequest.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
2062
2243
  PutObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2063
2244
  PutObjectRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: TaggingHeader, location: "header", location_name: "x-amz-tagging"))
2064
2245
  PutObjectRequest.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-object-lock-mode"))
@@ -2072,13 +2253,14 @@ module Aws::S3
2072
2253
  PutObjectRetentionOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2073
2254
  PutObjectRetentionOutput.struct_class = Types::PutObjectRetentionOutput
2074
2255
 
2075
- PutObjectRetentionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2256
+ PutObjectRetentionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2076
2257
  PutObjectRetentionRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2077
2258
  PutObjectRetentionRequest.add_member(:retention, Shapes::ShapeRef.new(shape: ObjectLockRetention, location_name: "Retention", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2078
2259
  PutObjectRetentionRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2079
2260
  PutObjectRetentionRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2080
2261
  PutObjectRetentionRequest.add_member(:bypass_governance_retention, Shapes::ShapeRef.new(shape: BypassGovernanceRetention, location: "header", location_name: "x-amz-bypass-governance-retention"))
2081
- PutObjectRetentionRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
2262
+ PutObjectRetentionRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2263
+ PutObjectRetentionRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2082
2264
  PutObjectRetentionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2083
2265
  PutObjectRetentionRequest.struct_class = Types::PutObjectRetentionRequest
2084
2266
  PutObjectRetentionRequest[:payload] = :retention
@@ -2087,18 +2269,21 @@ module Aws::S3
2087
2269
  PutObjectTaggingOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
2088
2270
  PutObjectTaggingOutput.struct_class = Types::PutObjectTaggingOutput
2089
2271
 
2090
- PutObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2272
+ PutObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2091
2273
  PutObjectTaggingRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2092
2274
  PutObjectTaggingRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2093
- PutObjectTaggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
2275
+ PutObjectTaggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2276
+ PutObjectTaggingRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2094
2277
  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/"}}))
2095
2278
  PutObjectTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2279
+ PutObjectTaggingRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2096
2280
  PutObjectTaggingRequest.struct_class = Types::PutObjectTaggingRequest
2097
2281
  PutObjectTaggingRequest[:payload] = :tagging
2098
2282
  PutObjectTaggingRequest[:payload_member] = PutObjectTaggingRequest.member(:tagging)
2099
2283
 
2100
- PutPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2101
- PutPublicAccessBlockRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
2284
+ PutPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2285
+ PutPublicAccessBlockRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2286
+ PutPublicAccessBlockRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2102
2287
  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/"}}))
2103
2288
  PutPublicAccessBlockRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2104
2289
  PutPublicAccessBlockRequest.struct_class = Types::PutPublicAccessBlockRequest
@@ -2133,6 +2318,9 @@ module Aws::S3
2133
2318
  RedirectAllRequestsTo.add_member(:protocol, Shapes::ShapeRef.new(shape: Protocol, location_name: "Protocol"))
2134
2319
  RedirectAllRequestsTo.struct_class = Types::RedirectAllRequestsTo
2135
2320
 
2321
+ ReplicaModifications.add_member(:status, Shapes::ShapeRef.new(shape: ReplicaModificationsStatus, required: true, location_name: "Status"))
2322
+ ReplicaModifications.struct_class = Types::ReplicaModifications
2323
+
2136
2324
  ReplicationConfiguration.add_member(:role, Shapes::ShapeRef.new(shape: Role, required: true, location_name: "Role"))
2137
2325
  ReplicationConfiguration.add_member(:rules, Shapes::ShapeRef.new(shape: ReplicationRules, required: true, location_name: "Rule"))
2138
2326
  ReplicationConfiguration.struct_class = Types::ReplicationConfiguration
@@ -2176,11 +2364,12 @@ module Aws::S3
2176
2364
  RestoreObjectOutput.add_member(:restore_output_path, Shapes::ShapeRef.new(shape: RestoreOutputPath, location: "header", location_name: "x-amz-restore-output-path"))
2177
2365
  RestoreObjectOutput.struct_class = Types::RestoreObjectOutput
2178
2366
 
2179
- RestoreObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2367
+ RestoreObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2180
2368
  RestoreObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2181
2369
  RestoreObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2182
2370
  RestoreObjectRequest.add_member(:restore_request, Shapes::ShapeRef.new(shape: RestoreRequest, location_name: "RestoreRequest", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2183
2371
  RestoreObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2372
+ RestoreObjectRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2184
2373
  RestoreObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2185
2374
  RestoreObjectRequest.struct_class = Types::RestoreObjectRequest
2186
2375
  RestoreObjectRequest[:payload] = :restore_request
@@ -2247,7 +2436,7 @@ module Aws::S3
2247
2436
  SelectObjectContentOutput[:payload] = :payload
2248
2437
  SelectObjectContentOutput[:payload_member] = SelectObjectContentOutput.member(:payload)
2249
2438
 
2250
- SelectObjectContentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2439
+ SelectObjectContentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2251
2440
  SelectObjectContentRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2252
2441
  SelectObjectContentRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
2253
2442
  SelectObjectContentRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
@@ -2275,11 +2464,13 @@ module Aws::S3
2275
2464
  ServerSideEncryptionConfiguration.struct_class = Types::ServerSideEncryptionConfiguration
2276
2465
 
2277
2466
  ServerSideEncryptionRule.add_member(:apply_server_side_encryption_by_default, Shapes::ShapeRef.new(shape: ServerSideEncryptionByDefault, location_name: "ApplyServerSideEncryptionByDefault"))
2467
+ ServerSideEncryptionRule.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location_name: "BucketKeyEnabled"))
2278
2468
  ServerSideEncryptionRule.struct_class = Types::ServerSideEncryptionRule
2279
2469
 
2280
2470
  ServerSideEncryptionRules.member = Shapes::ShapeRef.new(shape: ServerSideEncryptionRule)
2281
2471
 
2282
2472
  SourceSelectionCriteria.add_member(:sse_kms_encrypted_objects, Shapes::ShapeRef.new(shape: SseKmsEncryptedObjects, location_name: "SseKmsEncryptedObjects"))
2473
+ SourceSelectionCriteria.add_member(:replica_modifications, Shapes::ShapeRef.new(shape: ReplicaModifications, location_name: "ReplicaModifications"))
2283
2474
  SourceSelectionCriteria.struct_class = Types::SourceSelectionCriteria
2284
2475
 
2285
2476
  SseKmsEncryptedObjects.add_member(:status, Shapes::ShapeRef.new(shape: SseKmsEncryptedObjectsStatus, required: true, location_name: "Status"))
@@ -2348,12 +2539,13 @@ module Aws::S3
2348
2539
  UploadPartCopyOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
2349
2540
  UploadPartCopyOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
2350
2541
  UploadPartCopyOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
2542
+ UploadPartCopyOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
2351
2543
  UploadPartCopyOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2352
2544
  UploadPartCopyOutput.struct_class = Types::UploadPartCopyOutput
2353
2545
  UploadPartCopyOutput[:payload] = :copy_part_result
2354
2546
  UploadPartCopyOutput[:payload_member] = UploadPartCopyOutput.member(:copy_part_result)
2355
2547
 
2356
- UploadPartCopyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2548
+ UploadPartCopyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2357
2549
  UploadPartCopyRequest.add_member(:copy_source, Shapes::ShapeRef.new(shape: CopySource, required: true, location: "header", location_name: "x-amz-copy-source"))
2358
2550
  UploadPartCopyRequest.add_member(:copy_source_if_match, Shapes::ShapeRef.new(shape: CopySourceIfMatch, location: "header", location_name: "x-amz-copy-source-if-match"))
2359
2551
  UploadPartCopyRequest.add_member(:copy_source_if_modified_since, Shapes::ShapeRef.new(shape: CopySourceIfModifiedSince, location: "header", location_name: "x-amz-copy-source-if-modified-since"))
@@ -2376,16 +2568,26 @@ module Aws::S3
2376
2568
 
2377
2569
  UploadPartOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
2378
2570
  UploadPartOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
2571
+ UploadPartOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2572
+ UploadPartOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2573
+ UploadPartOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2574
+ UploadPartOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2379
2575
  UploadPartOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
2380
2576
  UploadPartOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
2381
2577
  UploadPartOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
2578
+ UploadPartOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
2382
2579
  UploadPartOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2383
2580
  UploadPartOutput.struct_class = Types::UploadPartOutput
2384
2581
 
2385
2582
  UploadPartRequest.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
2386
- UploadPartRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2583
+ UploadPartRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2387
2584
  UploadPartRequest.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
2388
2585
  UploadPartRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2586
+ UploadPartRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2587
+ UploadPartRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2588
+ UploadPartRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2589
+ UploadPartRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2590
+ UploadPartRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2389
2591
  UploadPartRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2390
2592
  UploadPartRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, required: true, location: "querystring", location_name: "partNumber"))
2391
2593
  UploadPartRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
@@ -2410,6 +2612,50 @@ module Aws::S3
2410
2612
  WebsiteConfiguration.add_member(:routing_rules, Shapes::ShapeRef.new(shape: RoutingRules, location_name: "RoutingRules"))
2411
2613
  WebsiteConfiguration.struct_class = Types::WebsiteConfiguration
2412
2614
 
2615
+ WriteGetObjectResponseRequest.add_member(:request_route, Shapes::ShapeRef.new(shape: RequestRoute, required: true, location: "header", location_name: "x-amz-request-route", metadata: {"hostLabel"=>true, "hostLabelName"=>"RequestRoute"}))
2616
+ WriteGetObjectResponseRequest.add_member(:request_token, Shapes::ShapeRef.new(shape: RequestToken, required: true, location: "header", location_name: "x-amz-request-token"))
2617
+ WriteGetObjectResponseRequest.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
2618
+ WriteGetObjectResponseRequest.add_member(:status_code, Shapes::ShapeRef.new(shape: GetObjectResponseStatusCode, location: "header", location_name: "x-amz-fwd-status"))
2619
+ WriteGetObjectResponseRequest.add_member(:error_code, Shapes::ShapeRef.new(shape: ErrorCode, location: "header", location_name: "x-amz-fwd-error-code"))
2620
+ WriteGetObjectResponseRequest.add_member(:error_message, Shapes::ShapeRef.new(shape: ErrorMessage, location: "header", location_name: "x-amz-fwd-error-message"))
2621
+ WriteGetObjectResponseRequest.add_member(:accept_ranges, Shapes::ShapeRef.new(shape: AcceptRanges, location: "header", location_name: "x-amz-fwd-header-accept-ranges"))
2622
+ WriteGetObjectResponseRequest.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "x-amz-fwd-header-Cache-Control"))
2623
+ WriteGetObjectResponseRequest.add_member(:content_disposition, Shapes::ShapeRef.new(shape: ContentDisposition, location: "header", location_name: "x-amz-fwd-header-Content-Disposition"))
2624
+ WriteGetObjectResponseRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "x-amz-fwd-header-Content-Encoding"))
2625
+ WriteGetObjectResponseRequest.add_member(:content_language, Shapes::ShapeRef.new(shape: ContentLanguage, location: "header", location_name: "x-amz-fwd-header-Content-Language"))
2626
+ WriteGetObjectResponseRequest.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
2627
+ WriteGetObjectResponseRequest.add_member(:content_range, Shapes::ShapeRef.new(shape: ContentRange, location: "header", location_name: "x-amz-fwd-header-Content-Range"))
2628
+ WriteGetObjectResponseRequest.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location: "header", location_name: "x-amz-fwd-header-Content-Type"))
2629
+ WriteGetObjectResponseRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-crc32"))
2630
+ WriteGetObjectResponseRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-crc32c"))
2631
+ WriteGetObjectResponseRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-sha1"))
2632
+ WriteGetObjectResponseRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-sha256"))
2633
+ WriteGetObjectResponseRequest.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location: "header", location_name: "x-amz-fwd-header-x-amz-delete-marker"))
2634
+ WriteGetObjectResponseRequest.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "x-amz-fwd-header-ETag"))
2635
+ WriteGetObjectResponseRequest.add_member(:expires, Shapes::ShapeRef.new(shape: Expires, location: "header", location_name: "x-amz-fwd-header-Expires"))
2636
+ WriteGetObjectResponseRequest.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-fwd-header-x-amz-expiration"))
2637
+ WriteGetObjectResponseRequest.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "x-amz-fwd-header-Last-Modified"))
2638
+ WriteGetObjectResponseRequest.add_member(:missing_meta, Shapes::ShapeRef.new(shape: MissingMeta, location: "header", location_name: "x-amz-fwd-header-x-amz-missing-meta"))
2639
+ WriteGetObjectResponseRequest.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, location: "headers", location_name: "x-amz-meta-"))
2640
+ WriteGetObjectResponseRequest.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-fwd-header-x-amz-object-lock-mode"))
2641
+ WriteGetObjectResponseRequest.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-fwd-header-x-amz-object-lock-legal-hold"))
2642
+ WriteGetObjectResponseRequest.add_member(:object_lock_retain_until_date, Shapes::ShapeRef.new(shape: ObjectLockRetainUntilDate, location: "header", location_name: "x-amz-fwd-header-x-amz-object-lock-retain-until-date"))
2643
+ WriteGetObjectResponseRequest.add_member(:parts_count, Shapes::ShapeRef.new(shape: PartsCount, location: "header", location_name: "x-amz-fwd-header-x-amz-mp-parts-count"))
2644
+ WriteGetObjectResponseRequest.add_member(:replication_status, Shapes::ShapeRef.new(shape: ReplicationStatus, location: "header", location_name: "x-amz-fwd-header-x-amz-replication-status"))
2645
+ WriteGetObjectResponseRequest.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-fwd-header-x-amz-request-charged"))
2646
+ WriteGetObjectResponseRequest.add_member(:restore, Shapes::ShapeRef.new(shape: Restore, location: "header", location_name: "x-amz-fwd-header-x-amz-restore"))
2647
+ WriteGetObjectResponseRequest.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-fwd-header-x-amz-server-side-encryption"))
2648
+ WriteGetObjectResponseRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-fwd-header-x-amz-server-side-encryption-customer-algorithm"))
2649
+ WriteGetObjectResponseRequest.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-fwd-header-x-amz-server-side-encryption-aws-kms-key-id"))
2650
+ WriteGetObjectResponseRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-fwd-header-x-amz-server-side-encryption-customer-key-MD5"))
2651
+ WriteGetObjectResponseRequest.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location: "header", location_name: "x-amz-fwd-header-x-amz-storage-class"))
2652
+ WriteGetObjectResponseRequest.add_member(:tag_count, Shapes::ShapeRef.new(shape: TagCount, location: "header", location_name: "x-amz-fwd-header-x-amz-tagging-count"))
2653
+ WriteGetObjectResponseRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-fwd-header-x-amz-version-id"))
2654
+ WriteGetObjectResponseRequest.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-fwd-header-x-amz-server-side-encryption-bucket-key-enabled"))
2655
+ WriteGetObjectResponseRequest.struct_class = Types::WriteGetObjectResponseRequest
2656
+ WriteGetObjectResponseRequest[:payload] = :body
2657
+ WriteGetObjectResponseRequest[:payload_member] = WriteGetObjectResponseRequest.member(:body)
2658
+
2413
2659
 
2414
2660
  # @api private
2415
2661
  API = Seahorse::Model::Api.new.tap do |api|
@@ -2431,7 +2677,7 @@ module Aws::S3
2431
2677
  api.add_operation(:abort_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
2432
2678
  o.name = "AbortMultipartUpload"
2433
2679
  o.http_method = "DELETE"
2434
- o.http_request_uri = "/{Bucket}/{Key+}"
2680
+ o.http_request_uri = "/{Key+}"
2435
2681
  o.input = Shapes::ShapeRef.new(shape: AbortMultipartUploadRequest)
2436
2682
  o.output = Shapes::ShapeRef.new(shape: AbortMultipartUploadOutput)
2437
2683
  o.errors << Shapes::ShapeRef.new(shape: NoSuchUpload)
@@ -2440,7 +2686,7 @@ module Aws::S3
2440
2686
  api.add_operation(:complete_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
2441
2687
  o.name = "CompleteMultipartUpload"
2442
2688
  o.http_method = "POST"
2443
- o.http_request_uri = "/{Bucket}/{Key+}"
2689
+ o.http_request_uri = "/{Key+}"
2444
2690
  o.input = Shapes::ShapeRef.new(shape: CompleteMultipartUploadRequest)
2445
2691
  o.output = Shapes::ShapeRef.new(shape: CompleteMultipartUploadOutput)
2446
2692
  end)
@@ -2448,7 +2694,7 @@ module Aws::S3
2448
2694
  api.add_operation(:copy_object, Seahorse::Model::Operation.new.tap do |o|
2449
2695
  o.name = "CopyObject"
2450
2696
  o.http_method = "PUT"
2451
- o.http_request_uri = "/{Bucket}/{Key+}"
2697
+ o.http_request_uri = "/{Key+}"
2452
2698
  o.input = Shapes::ShapeRef.new(shape: CopyObjectRequest)
2453
2699
  o.output = Shapes::ShapeRef.new(shape: CopyObjectOutput)
2454
2700
  o.errors << Shapes::ShapeRef.new(shape: ObjectNotInActiveTierError)
@@ -2457,7 +2703,7 @@ module Aws::S3
2457
2703
  api.add_operation(:create_bucket, Seahorse::Model::Operation.new.tap do |o|
2458
2704
  o.name = "CreateBucket"
2459
2705
  o.http_method = "PUT"
2460
- o.http_request_uri = "/{Bucket}"
2706
+ o.http_request_uri = "/"
2461
2707
  o.input = Shapes::ShapeRef.new(shape: CreateBucketRequest)
2462
2708
  o.output = Shapes::ShapeRef.new(shape: CreateBucketOutput)
2463
2709
  o.errors << Shapes::ShapeRef.new(shape: BucketAlreadyExists)
@@ -2467,7 +2713,7 @@ module Aws::S3
2467
2713
  api.add_operation(:create_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
2468
2714
  o.name = "CreateMultipartUpload"
2469
2715
  o.http_method = "POST"
2470
- o.http_request_uri = "/{Bucket}/{Key+}?uploads"
2716
+ o.http_request_uri = "/{Key+}?uploads"
2471
2717
  o.input = Shapes::ShapeRef.new(shape: CreateMultipartUploadRequest)
2472
2718
  o.output = Shapes::ShapeRef.new(shape: CreateMultipartUploadOutput)
2473
2719
  end)
@@ -2475,7 +2721,7 @@ module Aws::S3
2475
2721
  api.add_operation(:delete_bucket, Seahorse::Model::Operation.new.tap do |o|
2476
2722
  o.name = "DeleteBucket"
2477
2723
  o.http_method = "DELETE"
2478
- o.http_request_uri = "/{Bucket}"
2724
+ o.http_request_uri = "/"
2479
2725
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketRequest)
2480
2726
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2481
2727
  end)
@@ -2483,7 +2729,7 @@ module Aws::S3
2483
2729
  api.add_operation(:delete_bucket_analytics_configuration, Seahorse::Model::Operation.new.tap do |o|
2484
2730
  o.name = "DeleteBucketAnalyticsConfiguration"
2485
2731
  o.http_method = "DELETE"
2486
- o.http_request_uri = "/{Bucket}?analytics"
2732
+ o.http_request_uri = "/?analytics"
2487
2733
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketAnalyticsConfigurationRequest)
2488
2734
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2489
2735
  end)
@@ -2491,7 +2737,7 @@ module Aws::S3
2491
2737
  api.add_operation(:delete_bucket_cors, Seahorse::Model::Operation.new.tap do |o|
2492
2738
  o.name = "DeleteBucketCors"
2493
2739
  o.http_method = "DELETE"
2494
- o.http_request_uri = "/{Bucket}?cors"
2740
+ o.http_request_uri = "/?cors"
2495
2741
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketCorsRequest)
2496
2742
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2497
2743
  end)
@@ -2499,7 +2745,7 @@ module Aws::S3
2499
2745
  api.add_operation(:delete_bucket_encryption, Seahorse::Model::Operation.new.tap do |o|
2500
2746
  o.name = "DeleteBucketEncryption"
2501
2747
  o.http_method = "DELETE"
2502
- o.http_request_uri = "/{Bucket}?encryption"
2748
+ o.http_request_uri = "/?encryption"
2503
2749
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketEncryptionRequest)
2504
2750
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2505
2751
  end)
@@ -2507,7 +2753,7 @@ module Aws::S3
2507
2753
  api.add_operation(:delete_bucket_intelligent_tiering_configuration, Seahorse::Model::Operation.new.tap do |o|
2508
2754
  o.name = "DeleteBucketIntelligentTieringConfiguration"
2509
2755
  o.http_method = "DELETE"
2510
- o.http_request_uri = "/{Bucket}?intelligent-tiering"
2756
+ o.http_request_uri = "/?intelligent-tiering"
2511
2757
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketIntelligentTieringConfigurationRequest)
2512
2758
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2513
2759
  end)
@@ -2515,7 +2761,7 @@ module Aws::S3
2515
2761
  api.add_operation(:delete_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
2516
2762
  o.name = "DeleteBucketInventoryConfiguration"
2517
2763
  o.http_method = "DELETE"
2518
- o.http_request_uri = "/{Bucket}?inventory"
2764
+ o.http_request_uri = "/?inventory"
2519
2765
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketInventoryConfigurationRequest)
2520
2766
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2521
2767
  end)
@@ -2523,7 +2769,7 @@ module Aws::S3
2523
2769
  api.add_operation(:delete_bucket_lifecycle, Seahorse::Model::Operation.new.tap do |o|
2524
2770
  o.name = "DeleteBucketLifecycle"
2525
2771
  o.http_method = "DELETE"
2526
- o.http_request_uri = "/{Bucket}?lifecycle"
2772
+ o.http_request_uri = "/?lifecycle"
2527
2773
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketLifecycleRequest)
2528
2774
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2529
2775
  end)
@@ -2531,7 +2777,7 @@ module Aws::S3
2531
2777
  api.add_operation(:delete_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
2532
2778
  o.name = "DeleteBucketMetricsConfiguration"
2533
2779
  o.http_method = "DELETE"
2534
- o.http_request_uri = "/{Bucket}?metrics"
2780
+ o.http_request_uri = "/?metrics"
2535
2781
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketMetricsConfigurationRequest)
2536
2782
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2537
2783
  end)
@@ -2539,7 +2785,7 @@ module Aws::S3
2539
2785
  api.add_operation(:delete_bucket_ownership_controls, Seahorse::Model::Operation.new.tap do |o|
2540
2786
  o.name = "DeleteBucketOwnershipControls"
2541
2787
  o.http_method = "DELETE"
2542
- o.http_request_uri = "/{Bucket}?ownershipControls"
2788
+ o.http_request_uri = "/?ownershipControls"
2543
2789
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketOwnershipControlsRequest)
2544
2790
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2545
2791
  end)
@@ -2547,7 +2793,7 @@ module Aws::S3
2547
2793
  api.add_operation(:delete_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
2548
2794
  o.name = "DeleteBucketPolicy"
2549
2795
  o.http_method = "DELETE"
2550
- o.http_request_uri = "/{Bucket}?policy"
2796
+ o.http_request_uri = "/?policy"
2551
2797
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketPolicyRequest)
2552
2798
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2553
2799
  end)
@@ -2555,7 +2801,7 @@ module Aws::S3
2555
2801
  api.add_operation(:delete_bucket_replication, Seahorse::Model::Operation.new.tap do |o|
2556
2802
  o.name = "DeleteBucketReplication"
2557
2803
  o.http_method = "DELETE"
2558
- o.http_request_uri = "/{Bucket}?replication"
2804
+ o.http_request_uri = "/?replication"
2559
2805
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketReplicationRequest)
2560
2806
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2561
2807
  end)
@@ -2563,7 +2809,7 @@ module Aws::S3
2563
2809
  api.add_operation(:delete_bucket_tagging, Seahorse::Model::Operation.new.tap do |o|
2564
2810
  o.name = "DeleteBucketTagging"
2565
2811
  o.http_method = "DELETE"
2566
- o.http_request_uri = "/{Bucket}?tagging"
2812
+ o.http_request_uri = "/?tagging"
2567
2813
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketTaggingRequest)
2568
2814
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2569
2815
  end)
@@ -2571,7 +2817,7 @@ module Aws::S3
2571
2817
  api.add_operation(:delete_bucket_website, Seahorse::Model::Operation.new.tap do |o|
2572
2818
  o.name = "DeleteBucketWebsite"
2573
2819
  o.http_method = "DELETE"
2574
- o.http_request_uri = "/{Bucket}?website"
2820
+ o.http_request_uri = "/?website"
2575
2821
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketWebsiteRequest)
2576
2822
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2577
2823
  end)
@@ -2579,7 +2825,7 @@ module Aws::S3
2579
2825
  api.add_operation(:delete_object, Seahorse::Model::Operation.new.tap do |o|
2580
2826
  o.name = "DeleteObject"
2581
2827
  o.http_method = "DELETE"
2582
- o.http_request_uri = "/{Bucket}/{Key+}"
2828
+ o.http_request_uri = "/{Key+}"
2583
2829
  o.input = Shapes::ShapeRef.new(shape: DeleteObjectRequest)
2584
2830
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectOutput)
2585
2831
  end)
@@ -2587,7 +2833,7 @@ module Aws::S3
2587
2833
  api.add_operation(:delete_object_tagging, Seahorse::Model::Operation.new.tap do |o|
2588
2834
  o.name = "DeleteObjectTagging"
2589
2835
  o.http_method = "DELETE"
2590
- o.http_request_uri = "/{Bucket}/{Key+}?tagging"
2836
+ o.http_request_uri = "/{Key+}?tagging"
2591
2837
  o.input = Shapes::ShapeRef.new(shape: DeleteObjectTaggingRequest)
2592
2838
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectTaggingOutput)
2593
2839
  end)
@@ -2595,8 +2841,15 @@ module Aws::S3
2595
2841
  api.add_operation(:delete_objects, Seahorse::Model::Operation.new.tap do |o|
2596
2842
  o.name = "DeleteObjects"
2597
2843
  o.http_method = "POST"
2598
- o.http_request_uri = "/{Bucket}?delete"
2599
- o.http_checksum_required = true
2844
+ o.http_request_uri = "/?delete"
2845
+ o.http_checksum = {
2846
+ "requestAlgorithmMember" => "checksum_algorithm",
2847
+ "requestChecksumRequired" => true,
2848
+ }
2849
+ o.http_checksum = {
2850
+ "requestAlgorithmMember" => "checksum_algorithm",
2851
+ "requestChecksumRequired" => true,
2852
+ }
2600
2853
  o.input = Shapes::ShapeRef.new(shape: DeleteObjectsRequest)
2601
2854
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectsOutput)
2602
2855
  end)
@@ -2604,7 +2857,7 @@ module Aws::S3
2604
2857
  api.add_operation(:delete_public_access_block, Seahorse::Model::Operation.new.tap do |o|
2605
2858
  o.name = "DeletePublicAccessBlock"
2606
2859
  o.http_method = "DELETE"
2607
- o.http_request_uri = "/{Bucket}?publicAccessBlock"
2860
+ o.http_request_uri = "/?publicAccessBlock"
2608
2861
  o.input = Shapes::ShapeRef.new(shape: DeletePublicAccessBlockRequest)
2609
2862
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2610
2863
  end)
@@ -2612,7 +2865,7 @@ module Aws::S3
2612
2865
  api.add_operation(:get_bucket_accelerate_configuration, Seahorse::Model::Operation.new.tap do |o|
2613
2866
  o.name = "GetBucketAccelerateConfiguration"
2614
2867
  o.http_method = "GET"
2615
- o.http_request_uri = "/{Bucket}?accelerate"
2868
+ o.http_request_uri = "/?accelerate"
2616
2869
  o.input = Shapes::ShapeRef.new(shape: GetBucketAccelerateConfigurationRequest)
2617
2870
  o.output = Shapes::ShapeRef.new(shape: GetBucketAccelerateConfigurationOutput)
2618
2871
  end)
@@ -2620,7 +2873,7 @@ module Aws::S3
2620
2873
  api.add_operation(:get_bucket_acl, Seahorse::Model::Operation.new.tap do |o|
2621
2874
  o.name = "GetBucketAcl"
2622
2875
  o.http_method = "GET"
2623
- o.http_request_uri = "/{Bucket}?acl"
2876
+ o.http_request_uri = "/?acl"
2624
2877
  o.input = Shapes::ShapeRef.new(shape: GetBucketAclRequest)
2625
2878
  o.output = Shapes::ShapeRef.new(shape: GetBucketAclOutput)
2626
2879
  end)
@@ -2628,7 +2881,7 @@ module Aws::S3
2628
2881
  api.add_operation(:get_bucket_analytics_configuration, Seahorse::Model::Operation.new.tap do |o|
2629
2882
  o.name = "GetBucketAnalyticsConfiguration"
2630
2883
  o.http_method = "GET"
2631
- o.http_request_uri = "/{Bucket}?analytics"
2884
+ o.http_request_uri = "/?analytics"
2632
2885
  o.input = Shapes::ShapeRef.new(shape: GetBucketAnalyticsConfigurationRequest)
2633
2886
  o.output = Shapes::ShapeRef.new(shape: GetBucketAnalyticsConfigurationOutput)
2634
2887
  end)
@@ -2636,7 +2889,7 @@ module Aws::S3
2636
2889
  api.add_operation(:get_bucket_cors, Seahorse::Model::Operation.new.tap do |o|
2637
2890
  o.name = "GetBucketCors"
2638
2891
  o.http_method = "GET"
2639
- o.http_request_uri = "/{Bucket}?cors"
2892
+ o.http_request_uri = "/?cors"
2640
2893
  o.input = Shapes::ShapeRef.new(shape: GetBucketCorsRequest)
2641
2894
  o.output = Shapes::ShapeRef.new(shape: GetBucketCorsOutput)
2642
2895
  end)
@@ -2644,7 +2897,7 @@ module Aws::S3
2644
2897
  api.add_operation(:get_bucket_encryption, Seahorse::Model::Operation.new.tap do |o|
2645
2898
  o.name = "GetBucketEncryption"
2646
2899
  o.http_method = "GET"
2647
- o.http_request_uri = "/{Bucket}?encryption"
2900
+ o.http_request_uri = "/?encryption"
2648
2901
  o.input = Shapes::ShapeRef.new(shape: GetBucketEncryptionRequest)
2649
2902
  o.output = Shapes::ShapeRef.new(shape: GetBucketEncryptionOutput)
2650
2903
  end)
@@ -2652,7 +2905,7 @@ module Aws::S3
2652
2905
  api.add_operation(:get_bucket_intelligent_tiering_configuration, Seahorse::Model::Operation.new.tap do |o|
2653
2906
  o.name = "GetBucketIntelligentTieringConfiguration"
2654
2907
  o.http_method = "GET"
2655
- o.http_request_uri = "/{Bucket}?intelligent-tiering"
2908
+ o.http_request_uri = "/?intelligent-tiering"
2656
2909
  o.input = Shapes::ShapeRef.new(shape: GetBucketIntelligentTieringConfigurationRequest)
2657
2910
  o.output = Shapes::ShapeRef.new(shape: GetBucketIntelligentTieringConfigurationOutput)
2658
2911
  end)
@@ -2660,7 +2913,7 @@ module Aws::S3
2660
2913
  api.add_operation(:get_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
2661
2914
  o.name = "GetBucketInventoryConfiguration"
2662
2915
  o.http_method = "GET"
2663
- o.http_request_uri = "/{Bucket}?inventory"
2916
+ o.http_request_uri = "/?inventory"
2664
2917
  o.input = Shapes::ShapeRef.new(shape: GetBucketInventoryConfigurationRequest)
2665
2918
  o.output = Shapes::ShapeRef.new(shape: GetBucketInventoryConfigurationOutput)
2666
2919
  end)
@@ -2668,7 +2921,7 @@ module Aws::S3
2668
2921
  api.add_operation(:get_bucket_lifecycle, Seahorse::Model::Operation.new.tap do |o|
2669
2922
  o.name = "GetBucketLifecycle"
2670
2923
  o.http_method = "GET"
2671
- o.http_request_uri = "/{Bucket}?lifecycle"
2924
+ o.http_request_uri = "/?lifecycle"
2672
2925
  o.deprecated = true
2673
2926
  o.input = Shapes::ShapeRef.new(shape: GetBucketLifecycleRequest)
2674
2927
  o.output = Shapes::ShapeRef.new(shape: GetBucketLifecycleOutput)
@@ -2677,7 +2930,7 @@ module Aws::S3
2677
2930
  api.add_operation(:get_bucket_lifecycle_configuration, Seahorse::Model::Operation.new.tap do |o|
2678
2931
  o.name = "GetBucketLifecycleConfiguration"
2679
2932
  o.http_method = "GET"
2680
- o.http_request_uri = "/{Bucket}?lifecycle"
2933
+ o.http_request_uri = "/?lifecycle"
2681
2934
  o.input = Shapes::ShapeRef.new(shape: GetBucketLifecycleConfigurationRequest)
2682
2935
  o.output = Shapes::ShapeRef.new(shape: GetBucketLifecycleConfigurationOutput)
2683
2936
  end)
@@ -2685,7 +2938,7 @@ module Aws::S3
2685
2938
  api.add_operation(:get_bucket_location, Seahorse::Model::Operation.new.tap do |o|
2686
2939
  o.name = "GetBucketLocation"
2687
2940
  o.http_method = "GET"
2688
- o.http_request_uri = "/{Bucket}?location"
2941
+ o.http_request_uri = "/?location"
2689
2942
  o.input = Shapes::ShapeRef.new(shape: GetBucketLocationRequest)
2690
2943
  o.output = Shapes::ShapeRef.new(shape: GetBucketLocationOutput)
2691
2944
  end)
@@ -2693,7 +2946,7 @@ module Aws::S3
2693
2946
  api.add_operation(:get_bucket_logging, Seahorse::Model::Operation.new.tap do |o|
2694
2947
  o.name = "GetBucketLogging"
2695
2948
  o.http_method = "GET"
2696
- o.http_request_uri = "/{Bucket}?logging"
2949
+ o.http_request_uri = "/?logging"
2697
2950
  o.input = Shapes::ShapeRef.new(shape: GetBucketLoggingRequest)
2698
2951
  o.output = Shapes::ShapeRef.new(shape: GetBucketLoggingOutput)
2699
2952
  end)
@@ -2701,7 +2954,7 @@ module Aws::S3
2701
2954
  api.add_operation(:get_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
2702
2955
  o.name = "GetBucketMetricsConfiguration"
2703
2956
  o.http_method = "GET"
2704
- o.http_request_uri = "/{Bucket}?metrics"
2957
+ o.http_request_uri = "/?metrics"
2705
2958
  o.input = Shapes::ShapeRef.new(shape: GetBucketMetricsConfigurationRequest)
2706
2959
  o.output = Shapes::ShapeRef.new(shape: GetBucketMetricsConfigurationOutput)
2707
2960
  end)
@@ -2709,7 +2962,7 @@ module Aws::S3
2709
2962
  api.add_operation(:get_bucket_notification, Seahorse::Model::Operation.new.tap do |o|
2710
2963
  o.name = "GetBucketNotification"
2711
2964
  o.http_method = "GET"
2712
- o.http_request_uri = "/{Bucket}?notification"
2965
+ o.http_request_uri = "/?notification"
2713
2966
  o.deprecated = true
2714
2967
  o.input = Shapes::ShapeRef.new(shape: GetBucketNotificationConfigurationRequest)
2715
2968
  o.output = Shapes::ShapeRef.new(shape: NotificationConfigurationDeprecated)
@@ -2718,7 +2971,7 @@ module Aws::S3
2718
2971
  api.add_operation(:get_bucket_notification_configuration, Seahorse::Model::Operation.new.tap do |o|
2719
2972
  o.name = "GetBucketNotificationConfiguration"
2720
2973
  o.http_method = "GET"
2721
- o.http_request_uri = "/{Bucket}?notification"
2974
+ o.http_request_uri = "/?notification"
2722
2975
  o.input = Shapes::ShapeRef.new(shape: GetBucketNotificationConfigurationRequest)
2723
2976
  o.output = Shapes::ShapeRef.new(shape: NotificationConfiguration)
2724
2977
  end)
@@ -2726,7 +2979,7 @@ module Aws::S3
2726
2979
  api.add_operation(:get_bucket_ownership_controls, Seahorse::Model::Operation.new.tap do |o|
2727
2980
  o.name = "GetBucketOwnershipControls"
2728
2981
  o.http_method = "GET"
2729
- o.http_request_uri = "/{Bucket}?ownershipControls"
2982
+ o.http_request_uri = "/?ownershipControls"
2730
2983
  o.input = Shapes::ShapeRef.new(shape: GetBucketOwnershipControlsRequest)
2731
2984
  o.output = Shapes::ShapeRef.new(shape: GetBucketOwnershipControlsOutput)
2732
2985
  end)
@@ -2734,7 +2987,7 @@ module Aws::S3
2734
2987
  api.add_operation(:get_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
2735
2988
  o.name = "GetBucketPolicy"
2736
2989
  o.http_method = "GET"
2737
- o.http_request_uri = "/{Bucket}?policy"
2990
+ o.http_request_uri = "/?policy"
2738
2991
  o.input = Shapes::ShapeRef.new(shape: GetBucketPolicyRequest)
2739
2992
  o.output = Shapes::ShapeRef.new(shape: GetBucketPolicyOutput)
2740
2993
  end)
@@ -2742,7 +2995,7 @@ module Aws::S3
2742
2995
  api.add_operation(:get_bucket_policy_status, Seahorse::Model::Operation.new.tap do |o|
2743
2996
  o.name = "GetBucketPolicyStatus"
2744
2997
  o.http_method = "GET"
2745
- o.http_request_uri = "/{Bucket}?policyStatus"
2998
+ o.http_request_uri = "/?policyStatus"
2746
2999
  o.input = Shapes::ShapeRef.new(shape: GetBucketPolicyStatusRequest)
2747
3000
  o.output = Shapes::ShapeRef.new(shape: GetBucketPolicyStatusOutput)
2748
3001
  end)
@@ -2750,7 +3003,7 @@ module Aws::S3
2750
3003
  api.add_operation(:get_bucket_replication, Seahorse::Model::Operation.new.tap do |o|
2751
3004
  o.name = "GetBucketReplication"
2752
3005
  o.http_method = "GET"
2753
- o.http_request_uri = "/{Bucket}?replication"
3006
+ o.http_request_uri = "/?replication"
2754
3007
  o.input = Shapes::ShapeRef.new(shape: GetBucketReplicationRequest)
2755
3008
  o.output = Shapes::ShapeRef.new(shape: GetBucketReplicationOutput)
2756
3009
  end)
@@ -2758,7 +3011,7 @@ module Aws::S3
2758
3011
  api.add_operation(:get_bucket_request_payment, Seahorse::Model::Operation.new.tap do |o|
2759
3012
  o.name = "GetBucketRequestPayment"
2760
3013
  o.http_method = "GET"
2761
- o.http_request_uri = "/{Bucket}?requestPayment"
3014
+ o.http_request_uri = "/?requestPayment"
2762
3015
  o.input = Shapes::ShapeRef.new(shape: GetBucketRequestPaymentRequest)
2763
3016
  o.output = Shapes::ShapeRef.new(shape: GetBucketRequestPaymentOutput)
2764
3017
  end)
@@ -2766,7 +3019,7 @@ module Aws::S3
2766
3019
  api.add_operation(:get_bucket_tagging, Seahorse::Model::Operation.new.tap do |o|
2767
3020
  o.name = "GetBucketTagging"
2768
3021
  o.http_method = "GET"
2769
- o.http_request_uri = "/{Bucket}?tagging"
3022
+ o.http_request_uri = "/?tagging"
2770
3023
  o.input = Shapes::ShapeRef.new(shape: GetBucketTaggingRequest)
2771
3024
  o.output = Shapes::ShapeRef.new(shape: GetBucketTaggingOutput)
2772
3025
  end)
@@ -2774,7 +3027,7 @@ module Aws::S3
2774
3027
  api.add_operation(:get_bucket_versioning, Seahorse::Model::Operation.new.tap do |o|
2775
3028
  o.name = "GetBucketVersioning"
2776
3029
  o.http_method = "GET"
2777
- o.http_request_uri = "/{Bucket}?versioning"
3030
+ o.http_request_uri = "/?versioning"
2778
3031
  o.input = Shapes::ShapeRef.new(shape: GetBucketVersioningRequest)
2779
3032
  o.output = Shapes::ShapeRef.new(shape: GetBucketVersioningOutput)
2780
3033
  end)
@@ -2782,7 +3035,7 @@ module Aws::S3
2782
3035
  api.add_operation(:get_bucket_website, Seahorse::Model::Operation.new.tap do |o|
2783
3036
  o.name = "GetBucketWebsite"
2784
3037
  o.http_method = "GET"
2785
- o.http_request_uri = "/{Bucket}?website"
3038
+ o.http_request_uri = "/?website"
2786
3039
  o.input = Shapes::ShapeRef.new(shape: GetBucketWebsiteRequest)
2787
3040
  o.output = Shapes::ShapeRef.new(shape: GetBucketWebsiteOutput)
2788
3041
  end)
@@ -2790,7 +3043,15 @@ module Aws::S3
2790
3043
  api.add_operation(:get_object, Seahorse::Model::Operation.new.tap do |o|
2791
3044
  o.name = "GetObject"
2792
3045
  o.http_method = "GET"
2793
- o.http_request_uri = "/{Bucket}/{Key+}"
3046
+ o.http_request_uri = "/{Key+}"
3047
+ o.http_checksum = {
3048
+ "requestValidationModeMember" => "checksum_mode",
3049
+ "responseAlgorithms" => ["CRC32", "CRC32C", "SHA256", "SHA1"],
3050
+ }
3051
+ o.http_checksum = {
3052
+ "requestValidationModeMember" => "checksum_mode",
3053
+ "responseAlgorithms" => ["CRC32", "CRC32C", "SHA256", "SHA1"],
3054
+ }
2794
3055
  o.input = Shapes::ShapeRef.new(shape: GetObjectRequest)
2795
3056
  o.output = Shapes::ShapeRef.new(shape: GetObjectOutput)
2796
3057
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
@@ -2800,16 +3061,25 @@ module Aws::S3
2800
3061
  api.add_operation(:get_object_acl, Seahorse::Model::Operation.new.tap do |o|
2801
3062
  o.name = "GetObjectAcl"
2802
3063
  o.http_method = "GET"
2803
- o.http_request_uri = "/{Bucket}/{Key+}?acl"
3064
+ o.http_request_uri = "/{Key+}?acl"
2804
3065
  o.input = Shapes::ShapeRef.new(shape: GetObjectAclRequest)
2805
3066
  o.output = Shapes::ShapeRef.new(shape: GetObjectAclOutput)
2806
3067
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
2807
3068
  end)
2808
3069
 
3070
+ api.add_operation(:get_object_attributes, Seahorse::Model::Operation.new.tap do |o|
3071
+ o.name = "GetObjectAttributes"
3072
+ o.http_method = "GET"
3073
+ o.http_request_uri = "/{Key+}?attributes"
3074
+ o.input = Shapes::ShapeRef.new(shape: GetObjectAttributesRequest)
3075
+ o.output = Shapes::ShapeRef.new(shape: GetObjectAttributesOutput)
3076
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
3077
+ end)
3078
+
2809
3079
  api.add_operation(:get_object_legal_hold, Seahorse::Model::Operation.new.tap do |o|
2810
3080
  o.name = "GetObjectLegalHold"
2811
3081
  o.http_method = "GET"
2812
- o.http_request_uri = "/{Bucket}/{Key+}?legal-hold"
3082
+ o.http_request_uri = "/{Key+}?legal-hold"
2813
3083
  o.input = Shapes::ShapeRef.new(shape: GetObjectLegalHoldRequest)
2814
3084
  o.output = Shapes::ShapeRef.new(shape: GetObjectLegalHoldOutput)
2815
3085
  end)
@@ -2817,7 +3087,7 @@ module Aws::S3
2817
3087
  api.add_operation(:get_object_lock_configuration, Seahorse::Model::Operation.new.tap do |o|
2818
3088
  o.name = "GetObjectLockConfiguration"
2819
3089
  o.http_method = "GET"
2820
- o.http_request_uri = "/{Bucket}?object-lock"
3090
+ o.http_request_uri = "/?object-lock"
2821
3091
  o.input = Shapes::ShapeRef.new(shape: GetObjectLockConfigurationRequest)
2822
3092
  o.output = Shapes::ShapeRef.new(shape: GetObjectLockConfigurationOutput)
2823
3093
  end)
@@ -2825,7 +3095,7 @@ module Aws::S3
2825
3095
  api.add_operation(:get_object_retention, Seahorse::Model::Operation.new.tap do |o|
2826
3096
  o.name = "GetObjectRetention"
2827
3097
  o.http_method = "GET"
2828
- o.http_request_uri = "/{Bucket}/{Key+}?retention"
3098
+ o.http_request_uri = "/{Key+}?retention"
2829
3099
  o.input = Shapes::ShapeRef.new(shape: GetObjectRetentionRequest)
2830
3100
  o.output = Shapes::ShapeRef.new(shape: GetObjectRetentionOutput)
2831
3101
  end)
@@ -2833,7 +3103,7 @@ module Aws::S3
2833
3103
  api.add_operation(:get_object_tagging, Seahorse::Model::Operation.new.tap do |o|
2834
3104
  o.name = "GetObjectTagging"
2835
3105
  o.http_method = "GET"
2836
- o.http_request_uri = "/{Bucket}/{Key+}?tagging"
3106
+ o.http_request_uri = "/{Key+}?tagging"
2837
3107
  o.input = Shapes::ShapeRef.new(shape: GetObjectTaggingRequest)
2838
3108
  o.output = Shapes::ShapeRef.new(shape: GetObjectTaggingOutput)
2839
3109
  end)
@@ -2841,7 +3111,7 @@ module Aws::S3
2841
3111
  api.add_operation(:get_object_torrent, Seahorse::Model::Operation.new.tap do |o|
2842
3112
  o.name = "GetObjectTorrent"
2843
3113
  o.http_method = "GET"
2844
- o.http_request_uri = "/{Bucket}/{Key+}?torrent"
3114
+ o.http_request_uri = "/{Key+}?torrent"
2845
3115
  o.input = Shapes::ShapeRef.new(shape: GetObjectTorrentRequest)
2846
3116
  o.output = Shapes::ShapeRef.new(shape: GetObjectTorrentOutput)
2847
3117
  end)
@@ -2849,7 +3119,7 @@ module Aws::S3
2849
3119
  api.add_operation(:get_public_access_block, Seahorse::Model::Operation.new.tap do |o|
2850
3120
  o.name = "GetPublicAccessBlock"
2851
3121
  o.http_method = "GET"
2852
- o.http_request_uri = "/{Bucket}?publicAccessBlock"
3122
+ o.http_request_uri = "/?publicAccessBlock"
2853
3123
  o.input = Shapes::ShapeRef.new(shape: GetPublicAccessBlockRequest)
2854
3124
  o.output = Shapes::ShapeRef.new(shape: GetPublicAccessBlockOutput)
2855
3125
  end)
@@ -2857,7 +3127,7 @@ module Aws::S3
2857
3127
  api.add_operation(:head_bucket, Seahorse::Model::Operation.new.tap do |o|
2858
3128
  o.name = "HeadBucket"
2859
3129
  o.http_method = "HEAD"
2860
- o.http_request_uri = "/{Bucket}"
3130
+ o.http_request_uri = "/"
2861
3131
  o.input = Shapes::ShapeRef.new(shape: HeadBucketRequest)
2862
3132
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2863
3133
  o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
@@ -2866,7 +3136,7 @@ module Aws::S3
2866
3136
  api.add_operation(:head_object, Seahorse::Model::Operation.new.tap do |o|
2867
3137
  o.name = "HeadObject"
2868
3138
  o.http_method = "HEAD"
2869
- o.http_request_uri = "/{Bucket}/{Key+}"
3139
+ o.http_request_uri = "/{Key+}"
2870
3140
  o.input = Shapes::ShapeRef.new(shape: HeadObjectRequest)
2871
3141
  o.output = Shapes::ShapeRef.new(shape: HeadObjectOutput)
2872
3142
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
@@ -2875,7 +3145,7 @@ module Aws::S3
2875
3145
  api.add_operation(:list_bucket_analytics_configurations, Seahorse::Model::Operation.new.tap do |o|
2876
3146
  o.name = "ListBucketAnalyticsConfigurations"
2877
3147
  o.http_method = "GET"
2878
- o.http_request_uri = "/{Bucket}?analytics"
3148
+ o.http_request_uri = "/?analytics"
2879
3149
  o.input = Shapes::ShapeRef.new(shape: ListBucketAnalyticsConfigurationsRequest)
2880
3150
  o.output = Shapes::ShapeRef.new(shape: ListBucketAnalyticsConfigurationsOutput)
2881
3151
  end)
@@ -2883,7 +3153,7 @@ module Aws::S3
2883
3153
  api.add_operation(:list_bucket_intelligent_tiering_configurations, Seahorse::Model::Operation.new.tap do |o|
2884
3154
  o.name = "ListBucketIntelligentTieringConfigurations"
2885
3155
  o.http_method = "GET"
2886
- o.http_request_uri = "/{Bucket}?intelligent-tiering"
3156
+ o.http_request_uri = "/?intelligent-tiering"
2887
3157
  o.input = Shapes::ShapeRef.new(shape: ListBucketIntelligentTieringConfigurationsRequest)
2888
3158
  o.output = Shapes::ShapeRef.new(shape: ListBucketIntelligentTieringConfigurationsOutput)
2889
3159
  end)
@@ -2891,7 +3161,7 @@ module Aws::S3
2891
3161
  api.add_operation(:list_bucket_inventory_configurations, Seahorse::Model::Operation.new.tap do |o|
2892
3162
  o.name = "ListBucketInventoryConfigurations"
2893
3163
  o.http_method = "GET"
2894
- o.http_request_uri = "/{Bucket}?inventory"
3164
+ o.http_request_uri = "/?inventory"
2895
3165
  o.input = Shapes::ShapeRef.new(shape: ListBucketInventoryConfigurationsRequest)
2896
3166
  o.output = Shapes::ShapeRef.new(shape: ListBucketInventoryConfigurationsOutput)
2897
3167
  end)
@@ -2899,7 +3169,7 @@ module Aws::S3
2899
3169
  api.add_operation(:list_bucket_metrics_configurations, Seahorse::Model::Operation.new.tap do |o|
2900
3170
  o.name = "ListBucketMetricsConfigurations"
2901
3171
  o.http_method = "GET"
2902
- o.http_request_uri = "/{Bucket}?metrics"
3172
+ o.http_request_uri = "/?metrics"
2903
3173
  o.input = Shapes::ShapeRef.new(shape: ListBucketMetricsConfigurationsRequest)
2904
3174
  o.output = Shapes::ShapeRef.new(shape: ListBucketMetricsConfigurationsOutput)
2905
3175
  end)
@@ -2915,7 +3185,7 @@ module Aws::S3
2915
3185
  api.add_operation(:list_multipart_uploads, Seahorse::Model::Operation.new.tap do |o|
2916
3186
  o.name = "ListMultipartUploads"
2917
3187
  o.http_method = "GET"
2918
- o.http_request_uri = "/{Bucket}?uploads"
3188
+ o.http_request_uri = "/?uploads"
2919
3189
  o.input = Shapes::ShapeRef.new(shape: ListMultipartUploadsRequest)
2920
3190
  o.output = Shapes::ShapeRef.new(shape: ListMultipartUploadsOutput)
2921
3191
  o[:pager] = Aws::Pager.new(
@@ -2931,7 +3201,7 @@ module Aws::S3
2931
3201
  api.add_operation(:list_object_versions, Seahorse::Model::Operation.new.tap do |o|
2932
3202
  o.name = "ListObjectVersions"
2933
3203
  o.http_method = "GET"
2934
- o.http_request_uri = "/{Bucket}?versions"
3204
+ o.http_request_uri = "/?versions"
2935
3205
  o.input = Shapes::ShapeRef.new(shape: ListObjectVersionsRequest)
2936
3206
  o.output = Shapes::ShapeRef.new(shape: ListObjectVersionsOutput)
2937
3207
  o[:pager] = Aws::Pager.new(
@@ -2947,7 +3217,7 @@ module Aws::S3
2947
3217
  api.add_operation(:list_objects, Seahorse::Model::Operation.new.tap do |o|
2948
3218
  o.name = "ListObjects"
2949
3219
  o.http_method = "GET"
2950
- o.http_request_uri = "/{Bucket}"
3220
+ o.http_request_uri = "/"
2951
3221
  o.input = Shapes::ShapeRef.new(shape: ListObjectsRequest)
2952
3222
  o.output = Shapes::ShapeRef.new(shape: ListObjectsOutput)
2953
3223
  o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
@@ -2963,7 +3233,7 @@ module Aws::S3
2963
3233
  api.add_operation(:list_objects_v2, Seahorse::Model::Operation.new.tap do |o|
2964
3234
  o.name = "ListObjectsV2"
2965
3235
  o.http_method = "GET"
2966
- o.http_request_uri = "/{Bucket}?list-type=2"
3236
+ o.http_request_uri = "/?list-type=2"
2967
3237
  o.input = Shapes::ShapeRef.new(shape: ListObjectsV2Request)
2968
3238
  o.output = Shapes::ShapeRef.new(shape: ListObjectsV2Output)
2969
3239
  o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
@@ -2978,7 +3248,7 @@ module Aws::S3
2978
3248
  api.add_operation(:list_parts, Seahorse::Model::Operation.new.tap do |o|
2979
3249
  o.name = "ListParts"
2980
3250
  o.http_method = "GET"
2981
- o.http_request_uri = "/{Bucket}/{Key+}"
3251
+ o.http_request_uri = "/{Key+}"
2982
3252
  o.input = Shapes::ShapeRef.new(shape: ListPartsRequest)
2983
3253
  o.output = Shapes::ShapeRef.new(shape: ListPartsOutput)
2984
3254
  o[:pager] = Aws::Pager.new(
@@ -2993,7 +3263,15 @@ module Aws::S3
2993
3263
  api.add_operation(:put_bucket_accelerate_configuration, Seahorse::Model::Operation.new.tap do |o|
2994
3264
  o.name = "PutBucketAccelerateConfiguration"
2995
3265
  o.http_method = "PUT"
2996
- o.http_request_uri = "/{Bucket}?accelerate"
3266
+ o.http_request_uri = "/?accelerate"
3267
+ o.http_checksum = {
3268
+ "requestAlgorithmMember" => "checksum_algorithm",
3269
+ "requestChecksumRequired" => false,
3270
+ }
3271
+ o.http_checksum = {
3272
+ "requestAlgorithmMember" => "checksum_algorithm",
3273
+ "requestChecksumRequired" => false,
3274
+ }
2997
3275
  o.input = Shapes::ShapeRef.new(shape: PutBucketAccelerateConfigurationRequest)
2998
3276
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2999
3277
  end)
@@ -3001,8 +3279,15 @@ module Aws::S3
3001
3279
  api.add_operation(:put_bucket_acl, Seahorse::Model::Operation.new.tap do |o|
3002
3280
  o.name = "PutBucketAcl"
3003
3281
  o.http_method = "PUT"
3004
- o.http_request_uri = "/{Bucket}?acl"
3005
- o.http_checksum_required = true
3282
+ o.http_request_uri = "/?acl"
3283
+ o.http_checksum = {
3284
+ "requestAlgorithmMember" => "checksum_algorithm",
3285
+ "requestChecksumRequired" => true,
3286
+ }
3287
+ o.http_checksum = {
3288
+ "requestAlgorithmMember" => "checksum_algorithm",
3289
+ "requestChecksumRequired" => true,
3290
+ }
3006
3291
  o.input = Shapes::ShapeRef.new(shape: PutBucketAclRequest)
3007
3292
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3008
3293
  end)
@@ -3010,7 +3295,7 @@ module Aws::S3
3010
3295
  api.add_operation(:put_bucket_analytics_configuration, Seahorse::Model::Operation.new.tap do |o|
3011
3296
  o.name = "PutBucketAnalyticsConfiguration"
3012
3297
  o.http_method = "PUT"
3013
- o.http_request_uri = "/{Bucket}?analytics"
3298
+ o.http_request_uri = "/?analytics"
3014
3299
  o.input = Shapes::ShapeRef.new(shape: PutBucketAnalyticsConfigurationRequest)
3015
3300
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3016
3301
  end)
@@ -3018,8 +3303,15 @@ module Aws::S3
3018
3303
  api.add_operation(:put_bucket_cors, Seahorse::Model::Operation.new.tap do |o|
3019
3304
  o.name = "PutBucketCors"
3020
3305
  o.http_method = "PUT"
3021
- o.http_request_uri = "/{Bucket}?cors"
3022
- o.http_checksum_required = true
3306
+ o.http_request_uri = "/?cors"
3307
+ o.http_checksum = {
3308
+ "requestAlgorithmMember" => "checksum_algorithm",
3309
+ "requestChecksumRequired" => true,
3310
+ }
3311
+ o.http_checksum = {
3312
+ "requestAlgorithmMember" => "checksum_algorithm",
3313
+ "requestChecksumRequired" => true,
3314
+ }
3023
3315
  o.input = Shapes::ShapeRef.new(shape: PutBucketCorsRequest)
3024
3316
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3025
3317
  end)
@@ -3027,8 +3319,15 @@ module Aws::S3
3027
3319
  api.add_operation(:put_bucket_encryption, Seahorse::Model::Operation.new.tap do |o|
3028
3320
  o.name = "PutBucketEncryption"
3029
3321
  o.http_method = "PUT"
3030
- o.http_request_uri = "/{Bucket}?encryption"
3031
- o.http_checksum_required = true
3322
+ o.http_request_uri = "/?encryption"
3323
+ o.http_checksum = {
3324
+ "requestAlgorithmMember" => "checksum_algorithm",
3325
+ "requestChecksumRequired" => true,
3326
+ }
3327
+ o.http_checksum = {
3328
+ "requestAlgorithmMember" => "checksum_algorithm",
3329
+ "requestChecksumRequired" => true,
3330
+ }
3032
3331
  o.input = Shapes::ShapeRef.new(shape: PutBucketEncryptionRequest)
3033
3332
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3034
3333
  end)
@@ -3036,7 +3335,7 @@ module Aws::S3
3036
3335
  api.add_operation(:put_bucket_intelligent_tiering_configuration, Seahorse::Model::Operation.new.tap do |o|
3037
3336
  o.name = "PutBucketIntelligentTieringConfiguration"
3038
3337
  o.http_method = "PUT"
3039
- o.http_request_uri = "/{Bucket}?intelligent-tiering"
3338
+ o.http_request_uri = "/?intelligent-tiering"
3040
3339
  o.input = Shapes::ShapeRef.new(shape: PutBucketIntelligentTieringConfigurationRequest)
3041
3340
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3042
3341
  end)
@@ -3044,7 +3343,7 @@ module Aws::S3
3044
3343
  api.add_operation(:put_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
3045
3344
  o.name = "PutBucketInventoryConfiguration"
3046
3345
  o.http_method = "PUT"
3047
- o.http_request_uri = "/{Bucket}?inventory"
3346
+ o.http_request_uri = "/?inventory"
3048
3347
  o.input = Shapes::ShapeRef.new(shape: PutBucketInventoryConfigurationRequest)
3049
3348
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3050
3349
  end)
@@ -3052,8 +3351,15 @@ module Aws::S3
3052
3351
  api.add_operation(:put_bucket_lifecycle, Seahorse::Model::Operation.new.tap do |o|
3053
3352
  o.name = "PutBucketLifecycle"
3054
3353
  o.http_method = "PUT"
3055
- o.http_request_uri = "/{Bucket}?lifecycle"
3056
- o.http_checksum_required = true
3354
+ o.http_request_uri = "/?lifecycle"
3355
+ o.http_checksum = {
3356
+ "requestAlgorithmMember" => "checksum_algorithm",
3357
+ "requestChecksumRequired" => true,
3358
+ }
3359
+ o.http_checksum = {
3360
+ "requestAlgorithmMember" => "checksum_algorithm",
3361
+ "requestChecksumRequired" => true,
3362
+ }
3057
3363
  o.deprecated = true
3058
3364
  o.input = Shapes::ShapeRef.new(shape: PutBucketLifecycleRequest)
3059
3365
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
@@ -3062,8 +3368,15 @@ module Aws::S3
3062
3368
  api.add_operation(:put_bucket_lifecycle_configuration, Seahorse::Model::Operation.new.tap do |o|
3063
3369
  o.name = "PutBucketLifecycleConfiguration"
3064
3370
  o.http_method = "PUT"
3065
- o.http_request_uri = "/{Bucket}?lifecycle"
3066
- o.http_checksum_required = true
3371
+ o.http_request_uri = "/?lifecycle"
3372
+ o.http_checksum = {
3373
+ "requestAlgorithmMember" => "checksum_algorithm",
3374
+ "requestChecksumRequired" => true,
3375
+ }
3376
+ o.http_checksum = {
3377
+ "requestAlgorithmMember" => "checksum_algorithm",
3378
+ "requestChecksumRequired" => true,
3379
+ }
3067
3380
  o.input = Shapes::ShapeRef.new(shape: PutBucketLifecycleConfigurationRequest)
3068
3381
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3069
3382
  end)
@@ -3071,8 +3384,15 @@ module Aws::S3
3071
3384
  api.add_operation(:put_bucket_logging, Seahorse::Model::Operation.new.tap do |o|
3072
3385
  o.name = "PutBucketLogging"
3073
3386
  o.http_method = "PUT"
3074
- o.http_request_uri = "/{Bucket}?logging"
3075
- o.http_checksum_required = true
3387
+ o.http_request_uri = "/?logging"
3388
+ o.http_checksum = {
3389
+ "requestAlgorithmMember" => "checksum_algorithm",
3390
+ "requestChecksumRequired" => true,
3391
+ }
3392
+ o.http_checksum = {
3393
+ "requestAlgorithmMember" => "checksum_algorithm",
3394
+ "requestChecksumRequired" => true,
3395
+ }
3076
3396
  o.input = Shapes::ShapeRef.new(shape: PutBucketLoggingRequest)
3077
3397
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3078
3398
  end)
@@ -3080,7 +3400,7 @@ module Aws::S3
3080
3400
  api.add_operation(:put_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
3081
3401
  o.name = "PutBucketMetricsConfiguration"
3082
3402
  o.http_method = "PUT"
3083
- o.http_request_uri = "/{Bucket}?metrics"
3403
+ o.http_request_uri = "/?metrics"
3084
3404
  o.input = Shapes::ShapeRef.new(shape: PutBucketMetricsConfigurationRequest)
3085
3405
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3086
3406
  end)
@@ -3088,8 +3408,15 @@ module Aws::S3
3088
3408
  api.add_operation(:put_bucket_notification, Seahorse::Model::Operation.new.tap do |o|
3089
3409
  o.name = "PutBucketNotification"
3090
3410
  o.http_method = "PUT"
3091
- o.http_request_uri = "/{Bucket}?notification"
3092
- o.http_checksum_required = true
3411
+ o.http_request_uri = "/?notification"
3412
+ o.http_checksum = {
3413
+ "requestAlgorithmMember" => "checksum_algorithm",
3414
+ "requestChecksumRequired" => true,
3415
+ }
3416
+ o.http_checksum = {
3417
+ "requestAlgorithmMember" => "checksum_algorithm",
3418
+ "requestChecksumRequired" => true,
3419
+ }
3093
3420
  o.deprecated = true
3094
3421
  o.input = Shapes::ShapeRef.new(shape: PutBucketNotificationRequest)
3095
3422
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
@@ -3098,7 +3425,7 @@ module Aws::S3
3098
3425
  api.add_operation(:put_bucket_notification_configuration, Seahorse::Model::Operation.new.tap do |o|
3099
3426
  o.name = "PutBucketNotificationConfiguration"
3100
3427
  o.http_method = "PUT"
3101
- o.http_request_uri = "/{Bucket}?notification"
3428
+ o.http_request_uri = "/?notification"
3102
3429
  o.input = Shapes::ShapeRef.new(shape: PutBucketNotificationConfigurationRequest)
3103
3430
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3104
3431
  end)
@@ -3106,7 +3433,10 @@ module Aws::S3
3106
3433
  api.add_operation(:put_bucket_ownership_controls, Seahorse::Model::Operation.new.tap do |o|
3107
3434
  o.name = "PutBucketOwnershipControls"
3108
3435
  o.http_method = "PUT"
3109
- o.http_request_uri = "/{Bucket}?ownershipControls"
3436
+ o.http_request_uri = "/?ownershipControls"
3437
+ o.http_checksum = {
3438
+ "requestChecksumRequired" => true,
3439
+ }
3110
3440
  o.input = Shapes::ShapeRef.new(shape: PutBucketOwnershipControlsRequest)
3111
3441
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3112
3442
  end)
@@ -3114,8 +3444,15 @@ module Aws::S3
3114
3444
  api.add_operation(:put_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
3115
3445
  o.name = "PutBucketPolicy"
3116
3446
  o.http_method = "PUT"
3117
- o.http_request_uri = "/{Bucket}?policy"
3118
- o.http_checksum_required = true
3447
+ o.http_request_uri = "/?policy"
3448
+ o.http_checksum = {
3449
+ "requestAlgorithmMember" => "checksum_algorithm",
3450
+ "requestChecksumRequired" => true,
3451
+ }
3452
+ o.http_checksum = {
3453
+ "requestAlgorithmMember" => "checksum_algorithm",
3454
+ "requestChecksumRequired" => true,
3455
+ }
3119
3456
  o.input = Shapes::ShapeRef.new(shape: PutBucketPolicyRequest)
3120
3457
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3121
3458
  end)
@@ -3123,8 +3460,15 @@ module Aws::S3
3123
3460
  api.add_operation(:put_bucket_replication, Seahorse::Model::Operation.new.tap do |o|
3124
3461
  o.name = "PutBucketReplication"
3125
3462
  o.http_method = "PUT"
3126
- o.http_request_uri = "/{Bucket}?replication"
3127
- o.http_checksum_required = true
3463
+ o.http_request_uri = "/?replication"
3464
+ o.http_checksum = {
3465
+ "requestAlgorithmMember" => "checksum_algorithm",
3466
+ "requestChecksumRequired" => true,
3467
+ }
3468
+ o.http_checksum = {
3469
+ "requestAlgorithmMember" => "checksum_algorithm",
3470
+ "requestChecksumRequired" => true,
3471
+ }
3128
3472
  o.input = Shapes::ShapeRef.new(shape: PutBucketReplicationRequest)
3129
3473
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3130
3474
  end)
@@ -3132,8 +3476,15 @@ module Aws::S3
3132
3476
  api.add_operation(:put_bucket_request_payment, Seahorse::Model::Operation.new.tap do |o|
3133
3477
  o.name = "PutBucketRequestPayment"
3134
3478
  o.http_method = "PUT"
3135
- o.http_request_uri = "/{Bucket}?requestPayment"
3136
- o.http_checksum_required = true
3479
+ o.http_request_uri = "/?requestPayment"
3480
+ o.http_checksum = {
3481
+ "requestAlgorithmMember" => "checksum_algorithm",
3482
+ "requestChecksumRequired" => true,
3483
+ }
3484
+ o.http_checksum = {
3485
+ "requestAlgorithmMember" => "checksum_algorithm",
3486
+ "requestChecksumRequired" => true,
3487
+ }
3137
3488
  o.input = Shapes::ShapeRef.new(shape: PutBucketRequestPaymentRequest)
3138
3489
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3139
3490
  end)
@@ -3141,8 +3492,15 @@ module Aws::S3
3141
3492
  api.add_operation(:put_bucket_tagging, Seahorse::Model::Operation.new.tap do |o|
3142
3493
  o.name = "PutBucketTagging"
3143
3494
  o.http_method = "PUT"
3144
- o.http_request_uri = "/{Bucket}?tagging"
3145
- o.http_checksum_required = true
3495
+ o.http_request_uri = "/?tagging"
3496
+ o.http_checksum = {
3497
+ "requestAlgorithmMember" => "checksum_algorithm",
3498
+ "requestChecksumRequired" => true,
3499
+ }
3500
+ o.http_checksum = {
3501
+ "requestAlgorithmMember" => "checksum_algorithm",
3502
+ "requestChecksumRequired" => true,
3503
+ }
3146
3504
  o.input = Shapes::ShapeRef.new(shape: PutBucketTaggingRequest)
3147
3505
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3148
3506
  end)
@@ -3150,8 +3508,15 @@ module Aws::S3
3150
3508
  api.add_operation(:put_bucket_versioning, Seahorse::Model::Operation.new.tap do |o|
3151
3509
  o.name = "PutBucketVersioning"
3152
3510
  o.http_method = "PUT"
3153
- o.http_request_uri = "/{Bucket}?versioning"
3154
- o.http_checksum_required = true
3511
+ o.http_request_uri = "/?versioning"
3512
+ o.http_checksum = {
3513
+ "requestAlgorithmMember" => "checksum_algorithm",
3514
+ "requestChecksumRequired" => true,
3515
+ }
3516
+ o.http_checksum = {
3517
+ "requestAlgorithmMember" => "checksum_algorithm",
3518
+ "requestChecksumRequired" => true,
3519
+ }
3155
3520
  o.input = Shapes::ShapeRef.new(shape: PutBucketVersioningRequest)
3156
3521
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3157
3522
  end)
@@ -3159,8 +3524,15 @@ module Aws::S3
3159
3524
  api.add_operation(:put_bucket_website, Seahorse::Model::Operation.new.tap do |o|
3160
3525
  o.name = "PutBucketWebsite"
3161
3526
  o.http_method = "PUT"
3162
- o.http_request_uri = "/{Bucket}?website"
3163
- o.http_checksum_required = true
3527
+ o.http_request_uri = "/?website"
3528
+ o.http_checksum = {
3529
+ "requestAlgorithmMember" => "checksum_algorithm",
3530
+ "requestChecksumRequired" => true,
3531
+ }
3532
+ o.http_checksum = {
3533
+ "requestAlgorithmMember" => "checksum_algorithm",
3534
+ "requestChecksumRequired" => true,
3535
+ }
3164
3536
  o.input = Shapes::ShapeRef.new(shape: PutBucketWebsiteRequest)
3165
3537
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3166
3538
  end)
@@ -3168,7 +3540,15 @@ module Aws::S3
3168
3540
  api.add_operation(:put_object, Seahorse::Model::Operation.new.tap do |o|
3169
3541
  o.name = "PutObject"
3170
3542
  o.http_method = "PUT"
3171
- o.http_request_uri = "/{Bucket}/{Key+}"
3543
+ o.http_request_uri = "/{Key+}"
3544
+ o.http_checksum = {
3545
+ "requestAlgorithmMember" => "checksum_algorithm",
3546
+ "requestChecksumRequired" => false,
3547
+ }
3548
+ o.http_checksum = {
3549
+ "requestAlgorithmMember" => "checksum_algorithm",
3550
+ "requestChecksumRequired" => false,
3551
+ }
3172
3552
  o.input = Shapes::ShapeRef.new(shape: PutObjectRequest)
3173
3553
  o.output = Shapes::ShapeRef.new(shape: PutObjectOutput)
3174
3554
  end)
@@ -3176,8 +3556,15 @@ module Aws::S3
3176
3556
  api.add_operation(:put_object_acl, Seahorse::Model::Operation.new.tap do |o|
3177
3557
  o.name = "PutObjectAcl"
3178
3558
  o.http_method = "PUT"
3179
- o.http_request_uri = "/{Bucket}/{Key+}?acl"
3180
- o.http_checksum_required = true
3559
+ o.http_request_uri = "/{Key+}?acl"
3560
+ o.http_checksum = {
3561
+ "requestAlgorithmMember" => "checksum_algorithm",
3562
+ "requestChecksumRequired" => true,
3563
+ }
3564
+ o.http_checksum = {
3565
+ "requestAlgorithmMember" => "checksum_algorithm",
3566
+ "requestChecksumRequired" => true,
3567
+ }
3181
3568
  o.input = Shapes::ShapeRef.new(shape: PutObjectAclRequest)
3182
3569
  o.output = Shapes::ShapeRef.new(shape: PutObjectAclOutput)
3183
3570
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
@@ -3186,8 +3573,15 @@ module Aws::S3
3186
3573
  api.add_operation(:put_object_legal_hold, Seahorse::Model::Operation.new.tap do |o|
3187
3574
  o.name = "PutObjectLegalHold"
3188
3575
  o.http_method = "PUT"
3189
- o.http_request_uri = "/{Bucket}/{Key+}?legal-hold"
3190
- o.http_checksum_required = true
3576
+ o.http_request_uri = "/{Key+}?legal-hold"
3577
+ o.http_checksum = {
3578
+ "requestAlgorithmMember" => "checksum_algorithm",
3579
+ "requestChecksumRequired" => true,
3580
+ }
3581
+ o.http_checksum = {
3582
+ "requestAlgorithmMember" => "checksum_algorithm",
3583
+ "requestChecksumRequired" => true,
3584
+ }
3191
3585
  o.input = Shapes::ShapeRef.new(shape: PutObjectLegalHoldRequest)
3192
3586
  o.output = Shapes::ShapeRef.new(shape: PutObjectLegalHoldOutput)
3193
3587
  end)
@@ -3195,8 +3589,15 @@ module Aws::S3
3195
3589
  api.add_operation(:put_object_lock_configuration, Seahorse::Model::Operation.new.tap do |o|
3196
3590
  o.name = "PutObjectLockConfiguration"
3197
3591
  o.http_method = "PUT"
3198
- o.http_request_uri = "/{Bucket}?object-lock"
3199
- o.http_checksum_required = true
3592
+ o.http_request_uri = "/?object-lock"
3593
+ o.http_checksum = {
3594
+ "requestAlgorithmMember" => "checksum_algorithm",
3595
+ "requestChecksumRequired" => true,
3596
+ }
3597
+ o.http_checksum = {
3598
+ "requestAlgorithmMember" => "checksum_algorithm",
3599
+ "requestChecksumRequired" => true,
3600
+ }
3200
3601
  o.input = Shapes::ShapeRef.new(shape: PutObjectLockConfigurationRequest)
3201
3602
  o.output = Shapes::ShapeRef.new(shape: PutObjectLockConfigurationOutput)
3202
3603
  end)
@@ -3204,8 +3605,15 @@ module Aws::S3
3204
3605
  api.add_operation(:put_object_retention, Seahorse::Model::Operation.new.tap do |o|
3205
3606
  o.name = "PutObjectRetention"
3206
3607
  o.http_method = "PUT"
3207
- o.http_request_uri = "/{Bucket}/{Key+}?retention"
3208
- o.http_checksum_required = true
3608
+ o.http_request_uri = "/{Key+}?retention"
3609
+ o.http_checksum = {
3610
+ "requestAlgorithmMember" => "checksum_algorithm",
3611
+ "requestChecksumRequired" => true,
3612
+ }
3613
+ o.http_checksum = {
3614
+ "requestAlgorithmMember" => "checksum_algorithm",
3615
+ "requestChecksumRequired" => true,
3616
+ }
3209
3617
  o.input = Shapes::ShapeRef.new(shape: PutObjectRetentionRequest)
3210
3618
  o.output = Shapes::ShapeRef.new(shape: PutObjectRetentionOutput)
3211
3619
  end)
@@ -3213,8 +3621,15 @@ module Aws::S3
3213
3621
  api.add_operation(:put_object_tagging, Seahorse::Model::Operation.new.tap do |o|
3214
3622
  o.name = "PutObjectTagging"
3215
3623
  o.http_method = "PUT"
3216
- o.http_request_uri = "/{Bucket}/{Key+}?tagging"
3217
- o.http_checksum_required = true
3624
+ o.http_request_uri = "/{Key+}?tagging"
3625
+ o.http_checksum = {
3626
+ "requestAlgorithmMember" => "checksum_algorithm",
3627
+ "requestChecksumRequired" => true,
3628
+ }
3629
+ o.http_checksum = {
3630
+ "requestAlgorithmMember" => "checksum_algorithm",
3631
+ "requestChecksumRequired" => true,
3632
+ }
3218
3633
  o.input = Shapes::ShapeRef.new(shape: PutObjectTaggingRequest)
3219
3634
  o.output = Shapes::ShapeRef.new(shape: PutObjectTaggingOutput)
3220
3635
  end)
@@ -3222,8 +3637,15 @@ module Aws::S3
3222
3637
  api.add_operation(:put_public_access_block, Seahorse::Model::Operation.new.tap do |o|
3223
3638
  o.name = "PutPublicAccessBlock"
3224
3639
  o.http_method = "PUT"
3225
- o.http_request_uri = "/{Bucket}?publicAccessBlock"
3226
- o.http_checksum_required = true
3640
+ o.http_request_uri = "/?publicAccessBlock"
3641
+ o.http_checksum = {
3642
+ "requestAlgorithmMember" => "checksum_algorithm",
3643
+ "requestChecksumRequired" => true,
3644
+ }
3645
+ o.http_checksum = {
3646
+ "requestAlgorithmMember" => "checksum_algorithm",
3647
+ "requestChecksumRequired" => true,
3648
+ }
3227
3649
  o.input = Shapes::ShapeRef.new(shape: PutPublicAccessBlockRequest)
3228
3650
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3229
3651
  end)
@@ -3231,7 +3653,15 @@ module Aws::S3
3231
3653
  api.add_operation(:restore_object, Seahorse::Model::Operation.new.tap do |o|
3232
3654
  o.name = "RestoreObject"
3233
3655
  o.http_method = "POST"
3234
- o.http_request_uri = "/{Bucket}/{Key+}?restore"
3656
+ o.http_request_uri = "/{Key+}?restore"
3657
+ o.http_checksum = {
3658
+ "requestAlgorithmMember" => "checksum_algorithm",
3659
+ "requestChecksumRequired" => false,
3660
+ }
3661
+ o.http_checksum = {
3662
+ "requestAlgorithmMember" => "checksum_algorithm",
3663
+ "requestChecksumRequired" => false,
3664
+ }
3235
3665
  o.input = Shapes::ShapeRef.new(shape: RestoreObjectRequest)
3236
3666
  o.output = Shapes::ShapeRef.new(shape: RestoreObjectOutput)
3237
3667
  o.errors << Shapes::ShapeRef.new(shape: ObjectAlreadyInActiveTierError)
@@ -3240,7 +3670,7 @@ module Aws::S3
3240
3670
  api.add_operation(:select_object_content, Seahorse::Model::Operation.new.tap do |o|
3241
3671
  o.name = "SelectObjectContent"
3242
3672
  o.http_method = "POST"
3243
- o.http_request_uri = "/{Bucket}/{Key+}?select&select-type=2"
3673
+ o.http_request_uri = "/{Key+}?select&select-type=2"
3244
3674
  o.input = Shapes::ShapeRef.new(shape: SelectObjectContentRequest,
3245
3675
  location_name: "SelectObjectContentRequest",
3246
3676
  metadata: {
@@ -3253,7 +3683,15 @@ module Aws::S3
3253
3683
  api.add_operation(:upload_part, Seahorse::Model::Operation.new.tap do |o|
3254
3684
  o.name = "UploadPart"
3255
3685
  o.http_method = "PUT"
3256
- o.http_request_uri = "/{Bucket}/{Key+}"
3686
+ o.http_request_uri = "/{Key+}"
3687
+ o.http_checksum = {
3688
+ "requestAlgorithmMember" => "checksum_algorithm",
3689
+ "requestChecksumRequired" => false,
3690
+ }
3691
+ o.http_checksum = {
3692
+ "requestAlgorithmMember" => "checksum_algorithm",
3693
+ "requestChecksumRequired" => false,
3694
+ }
3257
3695
  o.input = Shapes::ShapeRef.new(shape: UploadPartRequest)
3258
3696
  o.output = Shapes::ShapeRef.new(shape: UploadPartOutput)
3259
3697
  end)
@@ -3261,10 +3699,22 @@ module Aws::S3
3261
3699
  api.add_operation(:upload_part_copy, Seahorse::Model::Operation.new.tap do |o|
3262
3700
  o.name = "UploadPartCopy"
3263
3701
  o.http_method = "PUT"
3264
- o.http_request_uri = "/{Bucket}/{Key+}"
3702
+ o.http_request_uri = "/{Key+}"
3265
3703
  o.input = Shapes::ShapeRef.new(shape: UploadPartCopyRequest)
3266
3704
  o.output = Shapes::ShapeRef.new(shape: UploadPartCopyOutput)
3267
3705
  end)
3706
+
3707
+ api.add_operation(:write_get_object_response, Seahorse::Model::Operation.new.tap do |o|
3708
+ o.name = "WriteGetObjectResponse"
3709
+ o.http_method = "POST"
3710
+ o.http_request_uri = "/WriteGetObjectResponse"
3711
+ o['authtype'] = "v4-unsigned-body"
3712
+ o.endpoint_pattern = {
3713
+ "hostPrefix" => "{RequestRoute}.",
3714
+ }
3715
+ o.input = Shapes::ShapeRef.new(shape: WriteGetObjectResponseRequest)
3716
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3717
+ end)
3268
3718
  end
3269
3719
 
3270
3720
  end