aws-sdk-s3 1.96.2 → 1.132.0

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