aws-sdk-s3 1.103.0 → 1.113.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +70 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/arn/access_point_arn.rb +6 -6
  5. data/lib/aws-sdk-s3/arn/multi_region_access_point_arn.rb +2 -3
  6. data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +6 -6
  7. data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +7 -6
  8. data/lib/aws-sdk-s3/bucket.rb +115 -18
  9. data/lib/aws-sdk-s3/bucket_acl.rb +18 -2
  10. data/lib/aws-sdk-s3/bucket_cors.rb +20 -4
  11. data/lib/aws-sdk-s3/bucket_lifecycle.rb +24 -6
  12. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +28 -6
  13. data/lib/aws-sdk-s3/bucket_logging.rb +18 -2
  14. data/lib/aws-sdk-s3/bucket_notification.rb +17 -5
  15. data/lib/aws-sdk-s3/bucket_policy.rb +20 -4
  16. data/lib/aws-sdk-s3/bucket_request_payment.rb +18 -2
  17. data/lib/aws-sdk-s3/bucket_tagging.rb +20 -4
  18. data/lib/aws-sdk-s3/bucket_versioning.rb +54 -6
  19. data/lib/aws-sdk-s3/bucket_website.rb +20 -4
  20. data/lib/aws-sdk-s3/client.rb +1954 -683
  21. data/lib/aws-sdk-s3/client_api.rb +387 -21
  22. data/lib/aws-sdk-s3/customizations/object.rb +76 -3
  23. data/lib/aws-sdk-s3/file_downloader.rb +1 -1
  24. data/lib/aws-sdk-s3/file_uploader.rb +5 -0
  25. data/lib/aws-sdk-s3/multipart_file_uploader.rb +26 -7
  26. data/lib/aws-sdk-s3/multipart_upload.rb +126 -12
  27. data/lib/aws-sdk-s3/multipart_upload_part.rb +132 -13
  28. data/lib/aws-sdk-s3/object.rb +249 -77
  29. data/lib/aws-sdk-s3/object_acl.rb +20 -4
  30. data/lib/aws-sdk-s3/object_summary.rb +167 -45
  31. data/lib/aws-sdk-s3/object_version.rb +64 -38
  32. data/lib/aws-sdk-s3/plugins/accelerate.rb +7 -1
  33. data/lib/aws-sdk-s3/plugins/arn.rb +11 -24
  34. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +1 -1
  35. data/lib/aws-sdk-s3/plugins/dualstack.rb +25 -31
  36. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +6 -0
  37. data/lib/aws-sdk-s3/plugins/md5s.rb +5 -3
  38. data/lib/aws-sdk-s3/plugins/s3_signer.rb +19 -4
  39. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  40. data/lib/aws-sdk-s3/presigned_post.rb +38 -19
  41. data/lib/aws-sdk-s3/resource.rb +18 -0
  42. data/lib/aws-sdk-s3/types.rb +2462 -547
  43. data/lib/aws-sdk-s3.rb +1 -1
  44. metadata +5 -4
@@ -64,6 +64,14 @@ module Aws::S3
64
64
  CSVInput = Shapes::StructureShape.new(name: 'CSVInput')
65
65
  CSVOutput = Shapes::StructureShape.new(name: 'CSVOutput')
66
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')
67
75
  CloudFunction = Shapes::StringShape.new(name: 'CloudFunction')
68
76
  CloudFunctionConfiguration = Shapes::StructureShape.new(name: 'CloudFunctionConfiguration')
69
77
  CloudFunctionInvocationRole = Shapes::StringShape.new(name: 'CloudFunctionInvocationRole')
@@ -158,6 +166,7 @@ module Aws::S3
158
166
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
159
167
  Errors = Shapes::ListShape.new(name: 'Errors', flattened: true)
160
168
  Event = Shapes::StringShape.new(name: 'Event')
169
+ EventBridgeConfiguration = Shapes::StructureShape.new(name: 'EventBridgeConfiguration')
161
170
  EventList = Shapes::ListShape.new(name: 'EventList', flattened: true)
162
171
  ExistingObjectReplication = Shapes::StructureShape.new(name: 'ExistingObjectReplication')
163
172
  ExistingObjectReplicationStatus = Shapes::StringShape.new(name: 'ExistingObjectReplicationStatus')
@@ -220,6 +229,9 @@ module Aws::S3
220
229
  GetBucketWebsiteRequest = Shapes::StructureShape.new(name: 'GetBucketWebsiteRequest')
221
230
  GetObjectAclOutput = Shapes::StructureShape.new(name: 'GetObjectAclOutput')
222
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')
223
235
  GetObjectLegalHoldOutput = Shapes::StructureShape.new(name: 'GetObjectLegalHoldOutput')
224
236
  GetObjectLegalHoldRequest = Shapes::StructureShape.new(name: 'GetObjectLegalHoldRequest')
225
237
  GetObjectLockConfigurationOutput = Shapes::StructureShape.new(name: 'GetObjectLockConfigurationOutput')
@@ -368,6 +380,8 @@ module Aws::S3
368
380
  NotificationId = Shapes::StringShape.new(name: 'NotificationId')
369
381
  Object = Shapes::StructureShape.new(name: 'Object')
370
382
  ObjectAlreadyInActiveTierError = Shapes::StructureShape.new(name: 'ObjectAlreadyInActiveTierError')
383
+ ObjectAttributes = Shapes::StringShape.new(name: 'ObjectAttributes')
384
+ ObjectAttributesList = Shapes::ListShape.new(name: 'ObjectAttributesList')
371
385
  ObjectCannedACL = Shapes::StringShape.new(name: 'ObjectCannedACL')
372
386
  ObjectIdentifier = Shapes::StructureShape.new(name: 'ObjectIdentifier')
373
387
  ObjectIdentifierList = Shapes::ListShape.new(name: 'ObjectIdentifierList', flattened: true)
@@ -386,6 +400,10 @@ module Aws::S3
386
400
  ObjectLockToken = Shapes::StringShape.new(name: 'ObjectLockToken')
387
401
  ObjectNotInActiveTierError = Shapes::StructureShape.new(name: 'ObjectNotInActiveTierError')
388
402
  ObjectOwnership = Shapes::StringShape.new(name: 'ObjectOwnership')
403
+ ObjectPart = Shapes::StructureShape.new(name: 'ObjectPart')
404
+ ObjectSize = Shapes::IntegerShape.new(name: 'ObjectSize')
405
+ ObjectSizeGreaterThanBytes = Shapes::IntegerShape.new(name: 'ObjectSizeGreaterThanBytes')
406
+ ObjectSizeLessThanBytes = Shapes::IntegerShape.new(name: 'ObjectSizeLessThanBytes')
389
407
  ObjectStorageClass = Shapes::StringShape.new(name: 'ObjectStorageClass')
390
408
  ObjectVersion = Shapes::StructureShape.new(name: 'ObjectVersion')
391
409
  ObjectVersionId = Shapes::StringShape.new(name: 'ObjectVersionId')
@@ -404,6 +422,7 @@ module Aws::S3
404
422
  PartNumberMarker = Shapes::IntegerShape.new(name: 'PartNumberMarker')
405
423
  Parts = Shapes::ListShape.new(name: 'Parts', flattened: true)
406
424
  PartsCount = Shapes::IntegerShape.new(name: 'PartsCount')
425
+ PartsList = Shapes::ListShape.new(name: 'PartsList', flattened: true)
407
426
  Payer = Shapes::StringShape.new(name: 'Payer')
408
427
  Permission = Shapes::StringShape.new(name: 'Permission')
409
428
  Policy = Shapes::StringShape.new(name: 'Policy')
@@ -519,6 +538,7 @@ module Aws::S3
519
538
  ServerSideEncryptionRules = Shapes::ListShape.new(name: 'ServerSideEncryptionRules', flattened: true)
520
539
  Setting = Shapes::BooleanShape.new(name: 'Setting')
521
540
  Size = Shapes::IntegerShape.new(name: 'Size')
541
+ SkipValidation = Shapes::BooleanShape.new(name: 'SkipValidation')
522
542
  SourceSelectionCriteria = Shapes::StructureShape.new(name: 'SourceSelectionCriteria')
523
543
  SseKmsEncryptedObjects = Shapes::StructureShape.new(name: 'SseKmsEncryptedObjects')
524
544
  SseKmsEncryptedObjectsStatus = Shapes::StringShape.new(name: 'SseKmsEncryptedObjectsStatus')
@@ -561,6 +581,7 @@ module Aws::S3
561
581
  UploadPartRequest = Shapes::StructureShape.new(name: 'UploadPartRequest')
562
582
  UserMetadata = Shapes::ListShape.new(name: 'UserMetadata')
563
583
  Value = Shapes::StringShape.new(name: 'Value')
584
+ VersionCount = Shapes::IntegerShape.new(name: 'VersionCount')
564
585
  VersionIdMarker = Shapes::StringShape.new(name: 'VersionIdMarker')
565
586
  VersioningConfiguration = Shapes::StructureShape.new(name: 'VersioningConfiguration')
566
587
  WebsiteConfiguration = Shapes::StructureShape.new(name: 'WebsiteConfiguration')
@@ -667,6 +688,14 @@ module Aws::S3
667
688
  CSVOutput.add_member(:quote_character, Shapes::ShapeRef.new(shape: QuoteCharacter, location_name: "QuoteCharacter"))
668
689
  CSVOutput.struct_class = Types::CSVOutput
669
690
 
691
+ Checksum.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
692
+ Checksum.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
693
+ Checksum.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
694
+ Checksum.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
695
+ Checksum.struct_class = Types::Checksum
696
+
697
+ ChecksumAlgorithmList.member = Shapes::ShapeRef.new(shape: ChecksumAlgorithm)
698
+
670
699
  CloudFunctionConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: NotificationId, location_name: "Id"))
671
700
  CloudFunctionConfiguration.add_member(:event, Shapes::ShapeRef.new(shape: Event, deprecated: true, location_name: "Event"))
672
701
  CloudFunctionConfiguration.add_member(:events, Shapes::ShapeRef.new(shape: EventList, location_name: "Event"))
@@ -684,6 +713,10 @@ module Aws::S3
684
713
  CompleteMultipartUploadOutput.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
685
714
  CompleteMultipartUploadOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
686
715
  CompleteMultipartUploadOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
716
+ CompleteMultipartUploadOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
717
+ CompleteMultipartUploadOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
718
+ CompleteMultipartUploadOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
719
+ CompleteMultipartUploadOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
687
720
  CompleteMultipartUploadOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
688
721
  CompleteMultipartUploadOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
689
722
  CompleteMultipartUploadOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
@@ -695,8 +728,15 @@ module Aws::S3
695
728
  CompleteMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
696
729
  CompleteMultipartUploadRequest.add_member(:multipart_upload, Shapes::ShapeRef.new(shape: CompletedMultipartUpload, location_name: "CompleteMultipartUpload", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
697
730
  CompleteMultipartUploadRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
731
+ CompleteMultipartUploadRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
732
+ CompleteMultipartUploadRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
733
+ CompleteMultipartUploadRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
734
+ CompleteMultipartUploadRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
698
735
  CompleteMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
699
736
  CompleteMultipartUploadRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
737
+ CompleteMultipartUploadRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
738
+ CompleteMultipartUploadRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
739
+ CompleteMultipartUploadRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
700
740
  CompleteMultipartUploadRequest.struct_class = Types::CompleteMultipartUploadRequest
701
741
  CompleteMultipartUploadRequest[:payload] = :multipart_upload
702
742
  CompleteMultipartUploadRequest[:payload_member] = CompleteMultipartUploadRequest.member(:multipart_upload)
@@ -705,6 +745,10 @@ module Aws::S3
705
745
  CompletedMultipartUpload.struct_class = Types::CompletedMultipartUpload
706
746
 
707
747
  CompletedPart.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
748
+ CompletedPart.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
749
+ CompletedPart.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
750
+ CompletedPart.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
751
+ CompletedPart.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
708
752
  CompletedPart.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location_name: "PartNumber"))
709
753
  CompletedPart.struct_class = Types::CompletedPart
710
754
 
@@ -734,6 +778,7 @@ module Aws::S3
734
778
  CopyObjectRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
735
779
  CopyObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
736
780
  CopyObjectRequest.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
781
+ CopyObjectRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-checksum-algorithm"))
737
782
  CopyObjectRequest.add_member(:content_disposition, Shapes::ShapeRef.new(shape: ContentDisposition, location: "header", location_name: "Content-Disposition"))
738
783
  CopyObjectRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
739
784
  CopyObjectRequest.add_member(:content_language, Shapes::ShapeRef.new(shape: ContentLanguage, location: "header", location_name: "Content-Language"))
@@ -775,10 +820,18 @@ module Aws::S3
775
820
 
776
821
  CopyObjectResult.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
777
822
  CopyObjectResult.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
823
+ CopyObjectResult.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
824
+ CopyObjectResult.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
825
+ CopyObjectResult.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
826
+ CopyObjectResult.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
778
827
  CopyObjectResult.struct_class = Types::CopyObjectResult
779
828
 
780
829
  CopyPartResult.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
781
830
  CopyPartResult.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
831
+ CopyPartResult.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
832
+ CopyPartResult.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
833
+ CopyPartResult.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
834
+ CopyPartResult.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
782
835
  CopyPartResult.struct_class = Types::CopyPartResult
783
836
 
784
837
  CreateBucketConfiguration.add_member(:location_constraint, Shapes::ShapeRef.new(shape: BucketLocationConstraint, location_name: "LocationConstraint"))
@@ -796,6 +849,7 @@ module Aws::S3
796
849
  CreateBucketRequest.add_member(:grant_write, Shapes::ShapeRef.new(shape: GrantWrite, location: "header", location_name: "x-amz-grant-write"))
797
850
  CreateBucketRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
798
851
  CreateBucketRequest.add_member(:object_lock_enabled_for_bucket, Shapes::ShapeRef.new(shape: ObjectLockEnabledForBucket, location: "header", location_name: "x-amz-bucket-object-lock-enabled"))
852
+ CreateBucketRequest.add_member(:object_ownership, Shapes::ShapeRef.new(shape: ObjectOwnership, location: "header", location_name: "x-amz-object-ownership"))
799
853
  CreateBucketRequest.struct_class = Types::CreateBucketRequest
800
854
  CreateBucketRequest[:payload] = :create_bucket_configuration
801
855
  CreateBucketRequest[:payload_member] = CreateBucketRequest.member(:create_bucket_configuration)
@@ -812,6 +866,7 @@ module Aws::S3
812
866
  CreateMultipartUploadOutput.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
813
867
  CreateMultipartUploadOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
814
868
  CreateMultipartUploadOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
869
+ CreateMultipartUploadOutput.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-checksum-algorithm"))
815
870
  CreateMultipartUploadOutput.struct_class = Types::CreateMultipartUploadOutput
816
871
 
817
872
  CreateMultipartUploadRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
@@ -843,6 +898,7 @@ module Aws::S3
843
898
  CreateMultipartUploadRequest.add_member(:object_lock_retain_until_date, Shapes::ShapeRef.new(shape: ObjectLockRetainUntilDate, location: "header", location_name: "x-amz-object-lock-retain-until-date"))
844
899
  CreateMultipartUploadRequest.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
845
900
  CreateMultipartUploadRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
901
+ CreateMultipartUploadRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-checksum-algorithm"))
846
902
  CreateMultipartUploadRequest.struct_class = Types::CreateMultipartUploadRequest
847
903
 
848
904
  DefaultRetention.add_member(:mode, Shapes::ShapeRef.new(shape: ObjectLockRetentionMode, location_name: "Mode"))
@@ -955,6 +1011,7 @@ module Aws::S3
955
1011
  DeleteObjectsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
956
1012
  DeleteObjectsRequest.add_member(:bypass_governance_retention, Shapes::ShapeRef.new(shape: BypassGovernanceRetention, location: "header", location_name: "x-amz-bypass-governance-retention"))
957
1013
  DeleteObjectsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1014
+ DeleteObjectsRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
958
1015
  DeleteObjectsRequest.struct_class = Types::DeleteObjectsRequest
959
1016
  DeleteObjectsRequest[:payload] = :delete
960
1017
  DeleteObjectsRequest[:payload_member] = DeleteObjectsRequest.member(:delete)
@@ -1001,6 +1058,8 @@ module Aws::S3
1001
1058
 
1002
1059
  Errors.member = Shapes::ShapeRef.new(shape: Error)
1003
1060
 
1061
+ EventBridgeConfiguration.struct_class = Types::EventBridgeConfiguration
1062
+
1004
1063
  EventList.member = Shapes::ShapeRef.new(shape: Event)
1005
1064
 
1006
1065
  ExistingObjectReplication.add_member(:status, Shapes::ShapeRef.new(shape: ExistingObjectReplicationStatus, required: true, location_name: "Status"))
@@ -1196,6 +1255,38 @@ module Aws::S3
1196
1255
  GetObjectAclRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1197
1256
  GetObjectAclRequest.struct_class = Types::GetObjectAclRequest
1198
1257
 
1258
+ GetObjectAttributesOutput.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location: "header", location_name: "x-amz-delete-marker"))
1259
+ GetObjectAttributesOutput.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "Last-Modified"))
1260
+ GetObjectAttributesOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
1261
+ GetObjectAttributesOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1262
+ GetObjectAttributesOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1263
+ GetObjectAttributesOutput.add_member(:checksum, Shapes::ShapeRef.new(shape: Checksum, location_name: "Checksum"))
1264
+ GetObjectAttributesOutput.add_member(:object_parts, Shapes::ShapeRef.new(shape: GetObjectAttributesParts, location_name: "ObjectParts"))
1265
+ GetObjectAttributesOutput.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1266
+ GetObjectAttributesOutput.add_member(:object_size, Shapes::ShapeRef.new(shape: ObjectSize, location_name: "ObjectSize"))
1267
+ GetObjectAttributesOutput.struct_class = Types::GetObjectAttributesOutput
1268
+
1269
+ GetObjectAttributesParts.add_member(:total_parts_count, Shapes::ShapeRef.new(shape: PartsCount, location_name: "PartsCount"))
1270
+ GetObjectAttributesParts.add_member(:part_number_marker, Shapes::ShapeRef.new(shape: PartNumberMarker, location_name: "PartNumberMarker"))
1271
+ GetObjectAttributesParts.add_member(:next_part_number_marker, Shapes::ShapeRef.new(shape: NextPartNumberMarker, location_name: "NextPartNumberMarker"))
1272
+ GetObjectAttributesParts.add_member(:max_parts, Shapes::ShapeRef.new(shape: MaxParts, location_name: "MaxParts"))
1273
+ GetObjectAttributesParts.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
1274
+ GetObjectAttributesParts.add_member(:parts, Shapes::ShapeRef.new(shape: PartsList, location_name: "Part"))
1275
+ GetObjectAttributesParts.struct_class = Types::GetObjectAttributesParts
1276
+
1277
+ GetObjectAttributesRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1278
+ GetObjectAttributesRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1279
+ GetObjectAttributesRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1280
+ GetObjectAttributesRequest.add_member(:max_parts, Shapes::ShapeRef.new(shape: MaxParts, location: "header", location_name: "x-amz-max-parts"))
1281
+ GetObjectAttributesRequest.add_member(:part_number_marker, Shapes::ShapeRef.new(shape: PartNumberMarker, location: "header", location_name: "x-amz-part-number-marker"))
1282
+ GetObjectAttributesRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1283
+ GetObjectAttributesRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
1284
+ GetObjectAttributesRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1285
+ GetObjectAttributesRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1286
+ GetObjectAttributesRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1287
+ GetObjectAttributesRequest.add_member(:object_attributes, Shapes::ShapeRef.new(shape: ObjectAttributesList, required: true, location: "header", location_name: "x-amz-object-attributes"))
1288
+ GetObjectAttributesRequest.struct_class = Types::GetObjectAttributesRequest
1289
+
1199
1290
  GetObjectLegalHoldOutput.add_member(:legal_hold, Shapes::ShapeRef.new(shape: ObjectLockLegalHold, location_name: "LegalHold"))
1200
1291
  GetObjectLegalHoldOutput.struct_class = Types::GetObjectLegalHoldOutput
1201
1292
  GetObjectLegalHoldOutput[:payload] = :legal_hold
@@ -1225,6 +1316,10 @@ module Aws::S3
1225
1316
  GetObjectOutput.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "Last-Modified"))
1226
1317
  GetObjectOutput.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
1227
1318
  GetObjectOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
1319
+ GetObjectOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
1320
+ GetObjectOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
1321
+ GetObjectOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
1322
+ GetObjectOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
1228
1323
  GetObjectOutput.add_member(:missing_meta, Shapes::ShapeRef.new(shape: MissingMeta, location: "header", location_name: "x-amz-missing-meta"))
1229
1324
  GetObjectOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
1230
1325
  GetObjectOutput.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
@@ -1274,6 +1369,7 @@ module Aws::S3
1274
1369
  GetObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1275
1370
  GetObjectRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location: "querystring", location_name: "partNumber"))
1276
1371
  GetObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1372
+ GetObjectRequest.add_member(:checksum_mode, Shapes::ShapeRef.new(shape: ChecksumMode, location: "header", location_name: "x-amz-checksum-mode"))
1277
1373
  GetObjectRequest.struct_class = Types::GetObjectRequest
1278
1374
 
1279
1375
  GetObjectRetentionOutput.add_member(:retention, Shapes::ShapeRef.new(shape: ObjectLockRetention, location_name: "Retention"))
@@ -1347,6 +1443,10 @@ module Aws::S3
1347
1443
  HeadObjectOutput.add_member(:archive_status, Shapes::ShapeRef.new(shape: ArchiveStatus, location: "header", location_name: "x-amz-archive-status"))
1348
1444
  HeadObjectOutput.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "Last-Modified"))
1349
1445
  HeadObjectOutput.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
1446
+ HeadObjectOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
1447
+ HeadObjectOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
1448
+ HeadObjectOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
1449
+ HeadObjectOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
1350
1450
  HeadObjectOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
1351
1451
  HeadObjectOutput.add_member(:missing_meta, Shapes::ShapeRef.new(shape: MissingMeta, location: "header", location_name: "x-amz-missing-meta"))
1352
1452
  HeadObjectOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
@@ -1387,6 +1487,7 @@ module Aws::S3
1387
1487
  HeadObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1388
1488
  HeadObjectRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location: "querystring", location_name: "partNumber"))
1389
1489
  HeadObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1490
+ HeadObjectRequest.add_member(:checksum_mode, Shapes::ShapeRef.new(shape: ChecksumMode, location: "header", location_name: "x-amz-checksum-mode"))
1390
1491
  HeadObjectRequest.struct_class = Types::HeadObjectRequest
1391
1492
 
1392
1493
  IndexDocument.add_member(:suffix, Shapes::ShapeRef.new(shape: Suffix, required: true, location_name: "Suffix"))
@@ -1491,10 +1592,14 @@ module Aws::S3
1491
1592
 
1492
1593
  LifecycleRuleAndOperator.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1493
1594
  LifecycleRuleAndOperator.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tag", metadata: {"flattened"=>true}))
1595
+ LifecycleRuleAndOperator.add_member(:object_size_greater_than, Shapes::ShapeRef.new(shape: ObjectSizeGreaterThanBytes, location_name: "ObjectSizeGreaterThan"))
1596
+ LifecycleRuleAndOperator.add_member(:object_size_less_than, Shapes::ShapeRef.new(shape: ObjectSizeLessThanBytes, location_name: "ObjectSizeLessThan"))
1494
1597
  LifecycleRuleAndOperator.struct_class = Types::LifecycleRuleAndOperator
1495
1598
 
1496
1599
  LifecycleRuleFilter.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1497
1600
  LifecycleRuleFilter.add_member(:tag, Shapes::ShapeRef.new(shape: Tag, location_name: "Tag"))
1601
+ LifecycleRuleFilter.add_member(:object_size_greater_than, Shapes::ShapeRef.new(shape: ObjectSizeGreaterThanBytes, location_name: "ObjectSizeGreaterThan"))
1602
+ LifecycleRuleFilter.add_member(:object_size_less_than, Shapes::ShapeRef.new(shape: ObjectSizeLessThanBytes, location_name: "ObjectSizeLessThan"))
1498
1603
  LifecycleRuleFilter.add_member(:and, Shapes::ShapeRef.new(shape: LifecycleRuleAndOperator, location_name: "And"))
1499
1604
  LifecycleRuleFilter.struct_class = Types::LifecycleRuleFilter
1500
1605
 
@@ -1658,6 +1763,7 @@ module Aws::S3
1658
1763
  ListPartsOutput.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1659
1764
  ListPartsOutput.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1660
1765
  ListPartsOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1766
+ ListPartsOutput.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location_name: "ChecksumAlgorithm"))
1661
1767
  ListPartsOutput.struct_class = Types::ListPartsOutput
1662
1768
 
1663
1769
  ListPartsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
@@ -1667,6 +1773,9 @@ module Aws::S3
1667
1773
  ListPartsRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
1668
1774
  ListPartsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1669
1775
  ListPartsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1776
+ ListPartsRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1777
+ ListPartsRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
1778
+ ListPartsRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1670
1779
  ListPartsRequest.struct_class = Types::ListPartsRequest
1671
1780
 
1672
1781
  LoggingEnabled.add_member(:target_bucket, Shapes::ShapeRef.new(shape: TargetBucket, required: true, location_name: "TargetBucket"))
@@ -1708,6 +1817,7 @@ module Aws::S3
1708
1817
  MultipartUpload.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1709
1818
  MultipartUpload.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1710
1819
  MultipartUpload.add_member(:initiator, Shapes::ShapeRef.new(shape: Initiator, location_name: "Initiator"))
1820
+ MultipartUpload.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location_name: "ChecksumAlgorithm"))
1711
1821
  MultipartUpload.struct_class = Types::MultipartUpload
1712
1822
 
1713
1823
  MultipartUploadList.member = Shapes::ShapeRef.new(shape: MultipartUpload)
@@ -1719,10 +1829,12 @@ module Aws::S3
1719
1829
  NoSuchUpload.struct_class = Types::NoSuchUpload
1720
1830
 
1721
1831
  NoncurrentVersionExpiration.add_member(:noncurrent_days, Shapes::ShapeRef.new(shape: Days, location_name: "NoncurrentDays"))
1832
+ NoncurrentVersionExpiration.add_member(:newer_noncurrent_versions, Shapes::ShapeRef.new(shape: VersionCount, location_name: "NewerNoncurrentVersions"))
1722
1833
  NoncurrentVersionExpiration.struct_class = Types::NoncurrentVersionExpiration
1723
1834
 
1724
1835
  NoncurrentVersionTransition.add_member(:noncurrent_days, Shapes::ShapeRef.new(shape: Days, location_name: "NoncurrentDays"))
1725
1836
  NoncurrentVersionTransition.add_member(:storage_class, Shapes::ShapeRef.new(shape: TransitionStorageClass, location_name: "StorageClass"))
1837
+ NoncurrentVersionTransition.add_member(:newer_noncurrent_versions, Shapes::ShapeRef.new(shape: VersionCount, location_name: "NewerNoncurrentVersions"))
1726
1838
  NoncurrentVersionTransition.struct_class = Types::NoncurrentVersionTransition
1727
1839
 
1728
1840
  NoncurrentVersionTransitionList.member = Shapes::ShapeRef.new(shape: NoncurrentVersionTransition)
@@ -1730,6 +1842,7 @@ module Aws::S3
1730
1842
  NotificationConfiguration.add_member(:topic_configurations, Shapes::ShapeRef.new(shape: TopicConfigurationList, location_name: "TopicConfiguration"))
1731
1843
  NotificationConfiguration.add_member(:queue_configurations, Shapes::ShapeRef.new(shape: QueueConfigurationList, location_name: "QueueConfiguration"))
1732
1844
  NotificationConfiguration.add_member(:lambda_function_configurations, Shapes::ShapeRef.new(shape: LambdaFunctionConfigurationList, location_name: "CloudFunctionConfiguration"))
1845
+ NotificationConfiguration.add_member(:event_bridge_configuration, Shapes::ShapeRef.new(shape: EventBridgeConfiguration, location_name: "EventBridgeConfiguration"))
1733
1846
  NotificationConfiguration.struct_class = Types::NotificationConfiguration
1734
1847
 
1735
1848
  NotificationConfigurationDeprecated.add_member(:topic_configuration, Shapes::ShapeRef.new(shape: TopicConfigurationDeprecated, location_name: "TopicConfiguration"))
@@ -1743,6 +1856,7 @@ module Aws::S3
1743
1856
  Object.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
1744
1857
  Object.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
1745
1858
  Object.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1859
+ Object.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithmList, location_name: "ChecksumAlgorithm"))
1746
1860
  Object.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1747
1861
  Object.add_member(:storage_class, Shapes::ShapeRef.new(shape: ObjectStorageClass, location_name: "StorageClass"))
1748
1862
  Object.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
@@ -1750,6 +1864,8 @@ module Aws::S3
1750
1864
 
1751
1865
  ObjectAlreadyInActiveTierError.struct_class = Types::ObjectAlreadyInActiveTierError
1752
1866
 
1867
+ ObjectAttributesList.member = Shapes::ShapeRef.new(shape: ObjectAttributes)
1868
+
1753
1869
  ObjectIdentifier.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location_name: "Key"))
1754
1870
  ObjectIdentifier.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location_name: "VersionId"))
1755
1871
  ObjectIdentifier.struct_class = Types::ObjectIdentifier
@@ -1774,7 +1890,16 @@ module Aws::S3
1774
1890
 
1775
1891
  ObjectNotInActiveTierError.struct_class = Types::ObjectNotInActiveTierError
1776
1892
 
1893
+ ObjectPart.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location_name: "PartNumber"))
1894
+ ObjectPart.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1895
+ ObjectPart.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
1896
+ ObjectPart.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
1897
+ ObjectPart.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
1898
+ ObjectPart.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
1899
+ ObjectPart.struct_class = Types::ObjectPart
1900
+
1777
1901
  ObjectVersion.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1902
+ ObjectVersion.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithmList, location_name: "ChecksumAlgorithm"))
1778
1903
  ObjectVersion.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1779
1904
  ObjectVersion.add_member(:storage_class, Shapes::ShapeRef.new(shape: ObjectVersionStorageClass, location_name: "StorageClass"))
1780
1905
  ObjectVersion.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
@@ -1811,10 +1936,16 @@ module Aws::S3
1811
1936
  Part.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
1812
1937
  Part.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1813
1938
  Part.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1939
+ Part.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
1940
+ Part.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
1941
+ Part.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
1942
+ Part.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
1814
1943
  Part.struct_class = Types::Part
1815
1944
 
1816
1945
  Parts.member = Shapes::ShapeRef.new(shape: Part)
1817
1946
 
1947
+ PartsList.member = Shapes::ShapeRef.new(shape: ObjectPart)
1948
+
1818
1949
  PolicyStatus.add_member(:is_public, Shapes::ShapeRef.new(shape: IsPublic, location_name: "IsPublic"))
1819
1950
  PolicyStatus.struct_class = Types::PolicyStatus
1820
1951
 
@@ -1835,6 +1966,7 @@ module Aws::S3
1835
1966
  PutBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1836
1967
  PutBucketAccelerateConfigurationRequest.add_member(:accelerate_configuration, Shapes::ShapeRef.new(shape: AccelerateConfiguration, required: true, location_name: "AccelerateConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1837
1968
  PutBucketAccelerateConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1969
+ PutBucketAccelerateConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1838
1970
  PutBucketAccelerateConfigurationRequest.struct_class = Types::PutBucketAccelerateConfigurationRequest
1839
1971
  PutBucketAccelerateConfigurationRequest[:payload] = :accelerate_configuration
1840
1972
  PutBucketAccelerateConfigurationRequest[:payload_member] = PutBucketAccelerateConfigurationRequest.member(:accelerate_configuration)
@@ -1843,6 +1975,7 @@ module Aws::S3
1843
1975
  PutBucketAclRequest.add_member(:access_control_policy, Shapes::ShapeRef.new(shape: AccessControlPolicy, location_name: "AccessControlPolicy", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1844
1976
  PutBucketAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1845
1977
  PutBucketAclRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1978
+ PutBucketAclRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1846
1979
  PutBucketAclRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
1847
1980
  PutBucketAclRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
1848
1981
  PutBucketAclRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
@@ -1864,6 +1997,7 @@ module Aws::S3
1864
1997
  PutBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1865
1998
  PutBucketCorsRequest.add_member(:cors_configuration, Shapes::ShapeRef.new(shape: CORSConfiguration, required: true, location_name: "CORSConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1866
1999
  PutBucketCorsRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2000
+ PutBucketCorsRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1867
2001
  PutBucketCorsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1868
2002
  PutBucketCorsRequest.struct_class = Types::PutBucketCorsRequest
1869
2003
  PutBucketCorsRequest[:payload] = :cors_configuration
@@ -1871,6 +2005,7 @@ module Aws::S3
1871
2005
 
1872
2006
  PutBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1873
2007
  PutBucketEncryptionRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2008
+ PutBucketEncryptionRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1874
2009
  PutBucketEncryptionRequest.add_member(:server_side_encryption_configuration, Shapes::ShapeRef.new(shape: ServerSideEncryptionConfiguration, required: true, location_name: "ServerSideEncryptionConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1875
2010
  PutBucketEncryptionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1876
2011
  PutBucketEncryptionRequest.struct_class = Types::PutBucketEncryptionRequest
@@ -1893,6 +2028,7 @@ module Aws::S3
1893
2028
  PutBucketInventoryConfigurationRequest[:payload_member] = PutBucketInventoryConfigurationRequest.member(:inventory_configuration)
1894
2029
 
1895
2030
  PutBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2031
+ PutBucketLifecycleConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1896
2032
  PutBucketLifecycleConfigurationRequest.add_member(:lifecycle_configuration, Shapes::ShapeRef.new(shape: BucketLifecycleConfiguration, location_name: "LifecycleConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1897
2033
  PutBucketLifecycleConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1898
2034
  PutBucketLifecycleConfigurationRequest.struct_class = Types::PutBucketLifecycleConfigurationRequest
@@ -1901,6 +2037,7 @@ module Aws::S3
1901
2037
 
1902
2038
  PutBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1903
2039
  PutBucketLifecycleRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2040
+ PutBucketLifecycleRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1904
2041
  PutBucketLifecycleRequest.add_member(:lifecycle_configuration, Shapes::ShapeRef.new(shape: LifecycleConfiguration, location_name: "LifecycleConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1905
2042
  PutBucketLifecycleRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1906
2043
  PutBucketLifecycleRequest.struct_class = Types::PutBucketLifecycleRequest
@@ -1910,6 +2047,7 @@ module Aws::S3
1910
2047
  PutBucketLoggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1911
2048
  PutBucketLoggingRequest.add_member(:bucket_logging_status, Shapes::ShapeRef.new(shape: BucketLoggingStatus, required: true, location_name: "BucketLoggingStatus", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1912
2049
  PutBucketLoggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2050
+ PutBucketLoggingRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1913
2051
  PutBucketLoggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1914
2052
  PutBucketLoggingRequest.struct_class = Types::PutBucketLoggingRequest
1915
2053
  PutBucketLoggingRequest[:payload] = :bucket_logging_status
@@ -1926,12 +2064,14 @@ module Aws::S3
1926
2064
  PutBucketNotificationConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1927
2065
  PutBucketNotificationConfigurationRequest.add_member(:notification_configuration, Shapes::ShapeRef.new(shape: NotificationConfiguration, required: true, location_name: "NotificationConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1928
2066
  PutBucketNotificationConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2067
+ PutBucketNotificationConfigurationRequest.add_member(:skip_destination_validation, Shapes::ShapeRef.new(shape: SkipValidation, location: "header", location_name: "x-amz-skip-destination-validation"))
1929
2068
  PutBucketNotificationConfigurationRequest.struct_class = Types::PutBucketNotificationConfigurationRequest
1930
2069
  PutBucketNotificationConfigurationRequest[:payload] = :notification_configuration
1931
2070
  PutBucketNotificationConfigurationRequest[:payload_member] = PutBucketNotificationConfigurationRequest.member(:notification_configuration)
1932
2071
 
1933
2072
  PutBucketNotificationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1934
2073
  PutBucketNotificationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2074
+ PutBucketNotificationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1935
2075
  PutBucketNotificationRequest.add_member(:notification_configuration, Shapes::ShapeRef.new(shape: NotificationConfigurationDeprecated, required: true, location_name: "NotificationConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1936
2076
  PutBucketNotificationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1937
2077
  PutBucketNotificationRequest.struct_class = Types::PutBucketNotificationRequest
@@ -1948,6 +2088,7 @@ module Aws::S3
1948
2088
 
1949
2089
  PutBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1950
2090
  PutBucketPolicyRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2091
+ PutBucketPolicyRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1951
2092
  PutBucketPolicyRequest.add_member(:confirm_remove_self_bucket_access, Shapes::ShapeRef.new(shape: ConfirmRemoveSelfBucketAccess, location: "header", location_name: "x-amz-confirm-remove-self-bucket-access"))
1952
2093
  PutBucketPolicyRequest.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, required: true, location_name: "Policy"))
1953
2094
  PutBucketPolicyRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1957,6 +2098,7 @@ module Aws::S3
1957
2098
 
1958
2099
  PutBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1959
2100
  PutBucketReplicationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2101
+ PutBucketReplicationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1960
2102
  PutBucketReplicationRequest.add_member(:replication_configuration, Shapes::ShapeRef.new(shape: ReplicationConfiguration, required: true, location_name: "ReplicationConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1961
2103
  PutBucketReplicationRequest.add_member(:token, Shapes::ShapeRef.new(shape: ObjectLockToken, location: "header", location_name: "x-amz-bucket-object-lock-token"))
1962
2104
  PutBucketReplicationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1966,6 +2108,7 @@ module Aws::S3
1966
2108
 
1967
2109
  PutBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1968
2110
  PutBucketRequestPaymentRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2111
+ PutBucketRequestPaymentRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1969
2112
  PutBucketRequestPaymentRequest.add_member(:request_payment_configuration, Shapes::ShapeRef.new(shape: RequestPaymentConfiguration, required: true, location_name: "RequestPaymentConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1970
2113
  PutBucketRequestPaymentRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1971
2114
  PutBucketRequestPaymentRequest.struct_class = Types::PutBucketRequestPaymentRequest
@@ -1974,6 +2117,7 @@ module Aws::S3
1974
2117
 
1975
2118
  PutBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1976
2119
  PutBucketTaggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2120
+ PutBucketTaggingRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1977
2121
  PutBucketTaggingRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: Tagging, required: true, location_name: "Tagging", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1978
2122
  PutBucketTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1979
2123
  PutBucketTaggingRequest.struct_class = Types::PutBucketTaggingRequest
@@ -1982,6 +2126,7 @@ module Aws::S3
1982
2126
 
1983
2127
  PutBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1984
2128
  PutBucketVersioningRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2129
+ PutBucketVersioningRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1985
2130
  PutBucketVersioningRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
1986
2131
  PutBucketVersioningRequest.add_member(:versioning_configuration, Shapes::ShapeRef.new(shape: VersioningConfiguration, required: true, location_name: "VersioningConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1987
2132
  PutBucketVersioningRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1991,6 +2136,7 @@ module Aws::S3
1991
2136
 
1992
2137
  PutBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1993
2138
  PutBucketWebsiteRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2139
+ PutBucketWebsiteRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1994
2140
  PutBucketWebsiteRequest.add_member(:website_configuration, Shapes::ShapeRef.new(shape: WebsiteConfiguration, required: true, location_name: "WebsiteConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1995
2141
  PutBucketWebsiteRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1996
2142
  PutBucketWebsiteRequest.struct_class = Types::PutBucketWebsiteRequest
@@ -2004,6 +2150,7 @@ module Aws::S3
2004
2150
  PutObjectAclRequest.add_member(:access_control_policy, Shapes::ShapeRef.new(shape: AccessControlPolicy, location_name: "AccessControlPolicy", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2005
2151
  PutObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2006
2152
  PutObjectAclRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2153
+ PutObjectAclRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2007
2154
  PutObjectAclRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
2008
2155
  PutObjectAclRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
2009
2156
  PutObjectAclRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
@@ -2026,6 +2173,7 @@ module Aws::S3
2026
2173
  PutObjectLegalHoldRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2027
2174
  PutObjectLegalHoldRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2028
2175
  PutObjectLegalHoldRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2176
+ PutObjectLegalHoldRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2029
2177
  PutObjectLegalHoldRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2030
2178
  PutObjectLegalHoldRequest.struct_class = Types::PutObjectLegalHoldRequest
2031
2179
  PutObjectLegalHoldRequest[:payload] = :legal_hold
@@ -2039,6 +2187,7 @@ module Aws::S3
2039
2187
  PutObjectLockConfigurationRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2040
2188
  PutObjectLockConfigurationRequest.add_member(:token, Shapes::ShapeRef.new(shape: ObjectLockToken, location: "header", location_name: "x-amz-bucket-object-lock-token"))
2041
2189
  PutObjectLockConfigurationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2190
+ PutObjectLockConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2042
2191
  PutObjectLockConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2043
2192
  PutObjectLockConfigurationRequest.struct_class = Types::PutObjectLockConfigurationRequest
2044
2193
  PutObjectLockConfigurationRequest[:payload] = :object_lock_configuration
@@ -2046,6 +2195,10 @@ module Aws::S3
2046
2195
 
2047
2196
  PutObjectOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
2048
2197
  PutObjectOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
2198
+ PutObjectOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2199
+ PutObjectOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2200
+ PutObjectOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2201
+ PutObjectOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2049
2202
  PutObjectOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
2050
2203
  PutObjectOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
2051
2204
  PutObjectOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
@@ -2066,6 +2219,11 @@ module Aws::S3
2066
2219
  PutObjectRequest.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
2067
2220
  PutObjectRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2068
2221
  PutObjectRequest.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location: "header", location_name: "Content-Type"))
2222
+ PutObjectRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2223
+ PutObjectRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2224
+ PutObjectRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2225
+ PutObjectRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2226
+ PutObjectRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2069
2227
  PutObjectRequest.add_member(:expires, Shapes::ShapeRef.new(shape: Expires, location: "header", location_name: "Expires"))
2070
2228
  PutObjectRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
2071
2229
  PutObjectRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
@@ -2102,6 +2260,7 @@ module Aws::S3
2102
2260
  PutObjectRetentionRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2103
2261
  PutObjectRetentionRequest.add_member(:bypass_governance_retention, Shapes::ShapeRef.new(shape: BypassGovernanceRetention, location: "header", location_name: "x-amz-bypass-governance-retention"))
2104
2262
  PutObjectRetentionRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2263
+ PutObjectRetentionRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2105
2264
  PutObjectRetentionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2106
2265
  PutObjectRetentionRequest.struct_class = Types::PutObjectRetentionRequest
2107
2266
  PutObjectRetentionRequest[:payload] = :retention
@@ -2114,6 +2273,7 @@ module Aws::S3
2114
2273
  PutObjectTaggingRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2115
2274
  PutObjectTaggingRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2116
2275
  PutObjectTaggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2276
+ PutObjectTaggingRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2117
2277
  PutObjectTaggingRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: Tagging, required: true, location_name: "Tagging", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2118
2278
  PutObjectTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2119
2279
  PutObjectTaggingRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
@@ -2123,6 +2283,7 @@ module Aws::S3
2123
2283
 
2124
2284
  PutPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2125
2285
  PutPublicAccessBlockRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2286
+ PutPublicAccessBlockRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2126
2287
  PutPublicAccessBlockRequest.add_member(:public_access_block_configuration, Shapes::ShapeRef.new(shape: PublicAccessBlockConfiguration, required: true, location_name: "PublicAccessBlockConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2127
2288
  PutPublicAccessBlockRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2128
2289
  PutPublicAccessBlockRequest.struct_class = Types::PutPublicAccessBlockRequest
@@ -2208,6 +2369,7 @@ module Aws::S3
2208
2369
  RestoreObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2209
2370
  RestoreObjectRequest.add_member(:restore_request, Shapes::ShapeRef.new(shape: RestoreRequest, location_name: "RestoreRequest", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2210
2371
  RestoreObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2372
+ RestoreObjectRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2211
2373
  RestoreObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2212
2374
  RestoreObjectRequest.struct_class = Types::RestoreObjectRequest
2213
2375
  RestoreObjectRequest[:payload] = :restore_request
@@ -2406,6 +2568,10 @@ module Aws::S3
2406
2568
 
2407
2569
  UploadPartOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
2408
2570
  UploadPartOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
2571
+ UploadPartOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2572
+ UploadPartOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2573
+ UploadPartOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2574
+ UploadPartOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2409
2575
  UploadPartOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
2410
2576
  UploadPartOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
2411
2577
  UploadPartOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
@@ -2417,6 +2583,11 @@ module Aws::S3
2417
2583
  UploadPartRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2418
2584
  UploadPartRequest.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
2419
2585
  UploadPartRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2586
+ UploadPartRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2587
+ UploadPartRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2588
+ UploadPartRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2589
+ UploadPartRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2590
+ UploadPartRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2420
2591
  UploadPartRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2421
2592
  UploadPartRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, required: true, location: "querystring", location_name: "partNumber"))
2422
2593
  UploadPartRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
@@ -2455,6 +2626,10 @@ module Aws::S3
2455
2626
  WriteGetObjectResponseRequest.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
2456
2627
  WriteGetObjectResponseRequest.add_member(:content_range, Shapes::ShapeRef.new(shape: ContentRange, location: "header", location_name: "x-amz-fwd-header-Content-Range"))
2457
2628
  WriteGetObjectResponseRequest.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location: "header", location_name: "x-amz-fwd-header-Content-Type"))
2629
+ WriteGetObjectResponseRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-crc32"))
2630
+ WriteGetObjectResponseRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-crc32c"))
2631
+ WriteGetObjectResponseRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-sha1"))
2632
+ WriteGetObjectResponseRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-sha256"))
2458
2633
  WriteGetObjectResponseRequest.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location: "header", location_name: "x-amz-fwd-header-x-amz-delete-marker"))
2459
2634
  WriteGetObjectResponseRequest.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "x-amz-fwd-header-ETag"))
2460
2635
  WriteGetObjectResponseRequest.add_member(:expires, Shapes::ShapeRef.new(shape: Expires, location: "header", location_name: "x-amz-fwd-header-Expires"))
@@ -2667,7 +2842,14 @@ module Aws::S3
2667
2842
  o.name = "DeleteObjects"
2668
2843
  o.http_method = "POST"
2669
2844
  o.http_request_uri = "/{Bucket}?delete"
2670
- o.http_checksum_required = true
2845
+ o.http_checksum = {
2846
+ "requestAlgorithmMember" => "checksum_algorithm",
2847
+ "requestChecksumRequired" => true,
2848
+ }
2849
+ o.http_checksum = {
2850
+ "requestAlgorithmMember" => "checksum_algorithm",
2851
+ "requestChecksumRequired" => true,
2852
+ }
2671
2853
  o.input = Shapes::ShapeRef.new(shape: DeleteObjectsRequest)
2672
2854
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectsOutput)
2673
2855
  end)
@@ -2862,6 +3044,14 @@ module Aws::S3
2862
3044
  o.name = "GetObject"
2863
3045
  o.http_method = "GET"
2864
3046
  o.http_request_uri = "/{Bucket}/{Key+}"
3047
+ o.http_checksum = {
3048
+ "requestValidationModeMember" => "checksum_mode",
3049
+ "responseAlgorithms" => ["CRC32", "CRC32C", "SHA256", "SHA1"],
3050
+ }
3051
+ o.http_checksum = {
3052
+ "requestValidationModeMember" => "checksum_mode",
3053
+ "responseAlgorithms" => ["CRC32", "CRC32C", "SHA256", "SHA1"],
3054
+ }
2865
3055
  o.input = Shapes::ShapeRef.new(shape: GetObjectRequest)
2866
3056
  o.output = Shapes::ShapeRef.new(shape: GetObjectOutput)
2867
3057
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
@@ -2877,6 +3067,15 @@ module Aws::S3
2877
3067
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
2878
3068
  end)
2879
3069
 
3070
+ api.add_operation(:get_object_attributes, Seahorse::Model::Operation.new.tap do |o|
3071
+ o.name = "GetObjectAttributes"
3072
+ o.http_method = "GET"
3073
+ o.http_request_uri = "/{Bucket}/{Key+}?attributes"
3074
+ o.input = Shapes::ShapeRef.new(shape: GetObjectAttributesRequest)
3075
+ o.output = Shapes::ShapeRef.new(shape: GetObjectAttributesOutput)
3076
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
3077
+ end)
3078
+
2880
3079
  api.add_operation(:get_object_legal_hold, Seahorse::Model::Operation.new.tap do |o|
2881
3080
  o.name = "GetObjectLegalHold"
2882
3081
  o.http_method = "GET"
@@ -3065,6 +3264,14 @@ module Aws::S3
3065
3264
  o.name = "PutBucketAccelerateConfiguration"
3066
3265
  o.http_method = "PUT"
3067
3266
  o.http_request_uri = "/{Bucket}?accelerate"
3267
+ o.http_checksum = {
3268
+ "requestAlgorithmMember" => "checksum_algorithm",
3269
+ "requestChecksumRequired" => false,
3270
+ }
3271
+ o.http_checksum = {
3272
+ "requestAlgorithmMember" => "checksum_algorithm",
3273
+ "requestChecksumRequired" => false,
3274
+ }
3068
3275
  o.input = Shapes::ShapeRef.new(shape: PutBucketAccelerateConfigurationRequest)
3069
3276
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3070
3277
  end)
@@ -3073,7 +3280,14 @@ module Aws::S3
3073
3280
  o.name = "PutBucketAcl"
3074
3281
  o.http_method = "PUT"
3075
3282
  o.http_request_uri = "/{Bucket}?acl"
3076
- o.http_checksum_required = true
3283
+ o.http_checksum = {
3284
+ "requestAlgorithmMember" => "checksum_algorithm",
3285
+ "requestChecksumRequired" => true,
3286
+ }
3287
+ o.http_checksum = {
3288
+ "requestAlgorithmMember" => "checksum_algorithm",
3289
+ "requestChecksumRequired" => true,
3290
+ }
3077
3291
  o.input = Shapes::ShapeRef.new(shape: PutBucketAclRequest)
3078
3292
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3079
3293
  end)
@@ -3090,7 +3304,14 @@ module Aws::S3
3090
3304
  o.name = "PutBucketCors"
3091
3305
  o.http_method = "PUT"
3092
3306
  o.http_request_uri = "/{Bucket}?cors"
3093
- o.http_checksum_required = true
3307
+ o.http_checksum = {
3308
+ "requestAlgorithmMember" => "checksum_algorithm",
3309
+ "requestChecksumRequired" => true,
3310
+ }
3311
+ o.http_checksum = {
3312
+ "requestAlgorithmMember" => "checksum_algorithm",
3313
+ "requestChecksumRequired" => true,
3314
+ }
3094
3315
  o.input = Shapes::ShapeRef.new(shape: PutBucketCorsRequest)
3095
3316
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3096
3317
  end)
@@ -3099,7 +3320,14 @@ module Aws::S3
3099
3320
  o.name = "PutBucketEncryption"
3100
3321
  o.http_method = "PUT"
3101
3322
  o.http_request_uri = "/{Bucket}?encryption"
3102
- o.http_checksum_required = true
3323
+ o.http_checksum = {
3324
+ "requestAlgorithmMember" => "checksum_algorithm",
3325
+ "requestChecksumRequired" => true,
3326
+ }
3327
+ o.http_checksum = {
3328
+ "requestAlgorithmMember" => "checksum_algorithm",
3329
+ "requestChecksumRequired" => true,
3330
+ }
3103
3331
  o.input = Shapes::ShapeRef.new(shape: PutBucketEncryptionRequest)
3104
3332
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3105
3333
  end)
@@ -3124,7 +3352,14 @@ module Aws::S3
3124
3352
  o.name = "PutBucketLifecycle"
3125
3353
  o.http_method = "PUT"
3126
3354
  o.http_request_uri = "/{Bucket}?lifecycle"
3127
- o.http_checksum_required = true
3355
+ o.http_checksum = {
3356
+ "requestAlgorithmMember" => "checksum_algorithm",
3357
+ "requestChecksumRequired" => true,
3358
+ }
3359
+ o.http_checksum = {
3360
+ "requestAlgorithmMember" => "checksum_algorithm",
3361
+ "requestChecksumRequired" => true,
3362
+ }
3128
3363
  o.deprecated = true
3129
3364
  o.input = Shapes::ShapeRef.new(shape: PutBucketLifecycleRequest)
3130
3365
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
@@ -3134,7 +3369,14 @@ module Aws::S3
3134
3369
  o.name = "PutBucketLifecycleConfiguration"
3135
3370
  o.http_method = "PUT"
3136
3371
  o.http_request_uri = "/{Bucket}?lifecycle"
3137
- o.http_checksum_required = true
3372
+ o.http_checksum = {
3373
+ "requestAlgorithmMember" => "checksum_algorithm",
3374
+ "requestChecksumRequired" => true,
3375
+ }
3376
+ o.http_checksum = {
3377
+ "requestAlgorithmMember" => "checksum_algorithm",
3378
+ "requestChecksumRequired" => true,
3379
+ }
3138
3380
  o.input = Shapes::ShapeRef.new(shape: PutBucketLifecycleConfigurationRequest)
3139
3381
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3140
3382
  end)
@@ -3143,7 +3385,14 @@ module Aws::S3
3143
3385
  o.name = "PutBucketLogging"
3144
3386
  o.http_method = "PUT"
3145
3387
  o.http_request_uri = "/{Bucket}?logging"
3146
- o.http_checksum_required = true
3388
+ o.http_checksum = {
3389
+ "requestAlgorithmMember" => "checksum_algorithm",
3390
+ "requestChecksumRequired" => true,
3391
+ }
3392
+ o.http_checksum = {
3393
+ "requestAlgorithmMember" => "checksum_algorithm",
3394
+ "requestChecksumRequired" => true,
3395
+ }
3147
3396
  o.input = Shapes::ShapeRef.new(shape: PutBucketLoggingRequest)
3148
3397
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3149
3398
  end)
@@ -3160,7 +3409,14 @@ module Aws::S3
3160
3409
  o.name = "PutBucketNotification"
3161
3410
  o.http_method = "PUT"
3162
3411
  o.http_request_uri = "/{Bucket}?notification"
3163
- o.http_checksum_required = true
3412
+ o.http_checksum = {
3413
+ "requestAlgorithmMember" => "checksum_algorithm",
3414
+ "requestChecksumRequired" => true,
3415
+ }
3416
+ o.http_checksum = {
3417
+ "requestAlgorithmMember" => "checksum_algorithm",
3418
+ "requestChecksumRequired" => true,
3419
+ }
3164
3420
  o.deprecated = true
3165
3421
  o.input = Shapes::ShapeRef.new(shape: PutBucketNotificationRequest)
3166
3422
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
@@ -3178,7 +3434,9 @@ module Aws::S3
3178
3434
  o.name = "PutBucketOwnershipControls"
3179
3435
  o.http_method = "PUT"
3180
3436
  o.http_request_uri = "/{Bucket}?ownershipControls"
3181
- o.http_checksum_required = true
3437
+ o.http_checksum = {
3438
+ "requestChecksumRequired" => true,
3439
+ }
3182
3440
  o.input = Shapes::ShapeRef.new(shape: PutBucketOwnershipControlsRequest)
3183
3441
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3184
3442
  end)
@@ -3187,7 +3445,14 @@ module Aws::S3
3187
3445
  o.name = "PutBucketPolicy"
3188
3446
  o.http_method = "PUT"
3189
3447
  o.http_request_uri = "/{Bucket}?policy"
3190
- o.http_checksum_required = true
3448
+ o.http_checksum = {
3449
+ "requestAlgorithmMember" => "checksum_algorithm",
3450
+ "requestChecksumRequired" => true,
3451
+ }
3452
+ o.http_checksum = {
3453
+ "requestAlgorithmMember" => "checksum_algorithm",
3454
+ "requestChecksumRequired" => true,
3455
+ }
3191
3456
  o.input = Shapes::ShapeRef.new(shape: PutBucketPolicyRequest)
3192
3457
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3193
3458
  end)
@@ -3196,7 +3461,14 @@ module Aws::S3
3196
3461
  o.name = "PutBucketReplication"
3197
3462
  o.http_method = "PUT"
3198
3463
  o.http_request_uri = "/{Bucket}?replication"
3199
- o.http_checksum_required = true
3464
+ o.http_checksum = {
3465
+ "requestAlgorithmMember" => "checksum_algorithm",
3466
+ "requestChecksumRequired" => true,
3467
+ }
3468
+ o.http_checksum = {
3469
+ "requestAlgorithmMember" => "checksum_algorithm",
3470
+ "requestChecksumRequired" => true,
3471
+ }
3200
3472
  o.input = Shapes::ShapeRef.new(shape: PutBucketReplicationRequest)
3201
3473
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3202
3474
  end)
@@ -3205,7 +3477,14 @@ module Aws::S3
3205
3477
  o.name = "PutBucketRequestPayment"
3206
3478
  o.http_method = "PUT"
3207
3479
  o.http_request_uri = "/{Bucket}?requestPayment"
3208
- o.http_checksum_required = true
3480
+ o.http_checksum = {
3481
+ "requestAlgorithmMember" => "checksum_algorithm",
3482
+ "requestChecksumRequired" => true,
3483
+ }
3484
+ o.http_checksum = {
3485
+ "requestAlgorithmMember" => "checksum_algorithm",
3486
+ "requestChecksumRequired" => true,
3487
+ }
3209
3488
  o.input = Shapes::ShapeRef.new(shape: PutBucketRequestPaymentRequest)
3210
3489
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3211
3490
  end)
@@ -3214,7 +3493,14 @@ module Aws::S3
3214
3493
  o.name = "PutBucketTagging"
3215
3494
  o.http_method = "PUT"
3216
3495
  o.http_request_uri = "/{Bucket}?tagging"
3217
- o.http_checksum_required = true
3496
+ o.http_checksum = {
3497
+ "requestAlgorithmMember" => "checksum_algorithm",
3498
+ "requestChecksumRequired" => true,
3499
+ }
3500
+ o.http_checksum = {
3501
+ "requestAlgorithmMember" => "checksum_algorithm",
3502
+ "requestChecksumRequired" => true,
3503
+ }
3218
3504
  o.input = Shapes::ShapeRef.new(shape: PutBucketTaggingRequest)
3219
3505
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3220
3506
  end)
@@ -3223,7 +3509,14 @@ module Aws::S3
3223
3509
  o.name = "PutBucketVersioning"
3224
3510
  o.http_method = "PUT"
3225
3511
  o.http_request_uri = "/{Bucket}?versioning"
3226
- o.http_checksum_required = true
3512
+ o.http_checksum = {
3513
+ "requestAlgorithmMember" => "checksum_algorithm",
3514
+ "requestChecksumRequired" => true,
3515
+ }
3516
+ o.http_checksum = {
3517
+ "requestAlgorithmMember" => "checksum_algorithm",
3518
+ "requestChecksumRequired" => true,
3519
+ }
3227
3520
  o.input = Shapes::ShapeRef.new(shape: PutBucketVersioningRequest)
3228
3521
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3229
3522
  end)
@@ -3232,7 +3525,14 @@ module Aws::S3
3232
3525
  o.name = "PutBucketWebsite"
3233
3526
  o.http_method = "PUT"
3234
3527
  o.http_request_uri = "/{Bucket}?website"
3235
- o.http_checksum_required = true
3528
+ o.http_checksum = {
3529
+ "requestAlgorithmMember" => "checksum_algorithm",
3530
+ "requestChecksumRequired" => true,
3531
+ }
3532
+ o.http_checksum = {
3533
+ "requestAlgorithmMember" => "checksum_algorithm",
3534
+ "requestChecksumRequired" => true,
3535
+ }
3236
3536
  o.input = Shapes::ShapeRef.new(shape: PutBucketWebsiteRequest)
3237
3537
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3238
3538
  end)
@@ -3241,6 +3541,14 @@ module Aws::S3
3241
3541
  o.name = "PutObject"
3242
3542
  o.http_method = "PUT"
3243
3543
  o.http_request_uri = "/{Bucket}/{Key+}"
3544
+ o.http_checksum = {
3545
+ "requestAlgorithmMember" => "checksum_algorithm",
3546
+ "requestChecksumRequired" => false,
3547
+ }
3548
+ o.http_checksum = {
3549
+ "requestAlgorithmMember" => "checksum_algorithm",
3550
+ "requestChecksumRequired" => false,
3551
+ }
3244
3552
  o.input = Shapes::ShapeRef.new(shape: PutObjectRequest)
3245
3553
  o.output = Shapes::ShapeRef.new(shape: PutObjectOutput)
3246
3554
  end)
@@ -3249,7 +3557,14 @@ module Aws::S3
3249
3557
  o.name = "PutObjectAcl"
3250
3558
  o.http_method = "PUT"
3251
3559
  o.http_request_uri = "/{Bucket}/{Key+}?acl"
3252
- o.http_checksum_required = true
3560
+ o.http_checksum = {
3561
+ "requestAlgorithmMember" => "checksum_algorithm",
3562
+ "requestChecksumRequired" => true,
3563
+ }
3564
+ o.http_checksum = {
3565
+ "requestAlgorithmMember" => "checksum_algorithm",
3566
+ "requestChecksumRequired" => true,
3567
+ }
3253
3568
  o.input = Shapes::ShapeRef.new(shape: PutObjectAclRequest)
3254
3569
  o.output = Shapes::ShapeRef.new(shape: PutObjectAclOutput)
3255
3570
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
@@ -3259,7 +3574,14 @@ module Aws::S3
3259
3574
  o.name = "PutObjectLegalHold"
3260
3575
  o.http_method = "PUT"
3261
3576
  o.http_request_uri = "/{Bucket}/{Key+}?legal-hold"
3262
- o.http_checksum_required = true
3577
+ o.http_checksum = {
3578
+ "requestAlgorithmMember" => "checksum_algorithm",
3579
+ "requestChecksumRequired" => true,
3580
+ }
3581
+ o.http_checksum = {
3582
+ "requestAlgorithmMember" => "checksum_algorithm",
3583
+ "requestChecksumRequired" => true,
3584
+ }
3263
3585
  o.input = Shapes::ShapeRef.new(shape: PutObjectLegalHoldRequest)
3264
3586
  o.output = Shapes::ShapeRef.new(shape: PutObjectLegalHoldOutput)
3265
3587
  end)
@@ -3268,7 +3590,14 @@ module Aws::S3
3268
3590
  o.name = "PutObjectLockConfiguration"
3269
3591
  o.http_method = "PUT"
3270
3592
  o.http_request_uri = "/{Bucket}?object-lock"
3271
- o.http_checksum_required = true
3593
+ o.http_checksum = {
3594
+ "requestAlgorithmMember" => "checksum_algorithm",
3595
+ "requestChecksumRequired" => true,
3596
+ }
3597
+ o.http_checksum = {
3598
+ "requestAlgorithmMember" => "checksum_algorithm",
3599
+ "requestChecksumRequired" => true,
3600
+ }
3272
3601
  o.input = Shapes::ShapeRef.new(shape: PutObjectLockConfigurationRequest)
3273
3602
  o.output = Shapes::ShapeRef.new(shape: PutObjectLockConfigurationOutput)
3274
3603
  end)
@@ -3277,7 +3606,14 @@ module Aws::S3
3277
3606
  o.name = "PutObjectRetention"
3278
3607
  o.http_method = "PUT"
3279
3608
  o.http_request_uri = "/{Bucket}/{Key+}?retention"
3280
- o.http_checksum_required = true
3609
+ o.http_checksum = {
3610
+ "requestAlgorithmMember" => "checksum_algorithm",
3611
+ "requestChecksumRequired" => true,
3612
+ }
3613
+ o.http_checksum = {
3614
+ "requestAlgorithmMember" => "checksum_algorithm",
3615
+ "requestChecksumRequired" => true,
3616
+ }
3281
3617
  o.input = Shapes::ShapeRef.new(shape: PutObjectRetentionRequest)
3282
3618
  o.output = Shapes::ShapeRef.new(shape: PutObjectRetentionOutput)
3283
3619
  end)
@@ -3286,7 +3622,14 @@ module Aws::S3
3286
3622
  o.name = "PutObjectTagging"
3287
3623
  o.http_method = "PUT"
3288
3624
  o.http_request_uri = "/{Bucket}/{Key+}?tagging"
3289
- o.http_checksum_required = true
3625
+ o.http_checksum = {
3626
+ "requestAlgorithmMember" => "checksum_algorithm",
3627
+ "requestChecksumRequired" => true,
3628
+ }
3629
+ o.http_checksum = {
3630
+ "requestAlgorithmMember" => "checksum_algorithm",
3631
+ "requestChecksumRequired" => true,
3632
+ }
3290
3633
  o.input = Shapes::ShapeRef.new(shape: PutObjectTaggingRequest)
3291
3634
  o.output = Shapes::ShapeRef.new(shape: PutObjectTaggingOutput)
3292
3635
  end)
@@ -3295,7 +3638,14 @@ module Aws::S3
3295
3638
  o.name = "PutPublicAccessBlock"
3296
3639
  o.http_method = "PUT"
3297
3640
  o.http_request_uri = "/{Bucket}?publicAccessBlock"
3298
- o.http_checksum_required = true
3641
+ o.http_checksum = {
3642
+ "requestAlgorithmMember" => "checksum_algorithm",
3643
+ "requestChecksumRequired" => true,
3644
+ }
3645
+ o.http_checksum = {
3646
+ "requestAlgorithmMember" => "checksum_algorithm",
3647
+ "requestChecksumRequired" => true,
3648
+ }
3299
3649
  o.input = Shapes::ShapeRef.new(shape: PutPublicAccessBlockRequest)
3300
3650
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3301
3651
  end)
@@ -3304,6 +3654,14 @@ module Aws::S3
3304
3654
  o.name = "RestoreObject"
3305
3655
  o.http_method = "POST"
3306
3656
  o.http_request_uri = "/{Bucket}/{Key+}?restore"
3657
+ o.http_checksum = {
3658
+ "requestAlgorithmMember" => "checksum_algorithm",
3659
+ "requestChecksumRequired" => false,
3660
+ }
3661
+ o.http_checksum = {
3662
+ "requestAlgorithmMember" => "checksum_algorithm",
3663
+ "requestChecksumRequired" => false,
3664
+ }
3307
3665
  o.input = Shapes::ShapeRef.new(shape: RestoreObjectRequest)
3308
3666
  o.output = Shapes::ShapeRef.new(shape: RestoreObjectOutput)
3309
3667
  o.errors << Shapes::ShapeRef.new(shape: ObjectAlreadyInActiveTierError)
@@ -3326,6 +3684,14 @@ module Aws::S3
3326
3684
  o.name = "UploadPart"
3327
3685
  o.http_method = "PUT"
3328
3686
  o.http_request_uri = "/{Bucket}/{Key+}"
3687
+ o.http_checksum = {
3688
+ "requestAlgorithmMember" => "checksum_algorithm",
3689
+ "requestChecksumRequired" => false,
3690
+ }
3691
+ o.http_checksum = {
3692
+ "requestAlgorithmMember" => "checksum_algorithm",
3693
+ "requestChecksumRequired" => false,
3694
+ }
3329
3695
  o.input = Shapes::ShapeRef.new(shape: UploadPartRequest)
3330
3696
  o.output = Shapes::ShapeRef.new(shape: UploadPartOutput)
3331
3697
  end)