aws-sdk-s3 1.103.0 → 1.120.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +139 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +134 -34
  5. data/lib/aws-sdk-s3/bucket_acl.rb +18 -2
  6. data/lib/aws-sdk-s3/bucket_cors.rb +20 -4
  7. data/lib/aws-sdk-s3/bucket_lifecycle.rb +24 -6
  8. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +28 -6
  9. data/lib/aws-sdk-s3/bucket_logging.rb +18 -2
  10. data/lib/aws-sdk-s3/bucket_notification.rb +17 -5
  11. data/lib/aws-sdk-s3/bucket_policy.rb +20 -4
  12. data/lib/aws-sdk-s3/bucket_request_payment.rb +18 -2
  13. data/lib/aws-sdk-s3/bucket_tagging.rb +20 -4
  14. data/lib/aws-sdk-s3/bucket_versioning.rb +54 -6
  15. data/lib/aws-sdk-s3/bucket_website.rb +20 -4
  16. data/lib/aws-sdk-s3/client.rb +2574 -1199
  17. data/lib/aws-sdk-s3/client_api.rb +574 -208
  18. data/lib/aws-sdk-s3/customizations/bucket.rb +20 -46
  19. data/lib/aws-sdk-s3/customizations/errors.rb +27 -0
  20. data/lib/aws-sdk-s3/customizations/object.rb +80 -4
  21. data/lib/aws-sdk-s3/customizations/types/permanent_redirect.rb +26 -0
  22. data/lib/aws-sdk-s3/customizations.rb +2 -0
  23. data/lib/aws-sdk-s3/endpoint_parameters.rb +142 -0
  24. data/lib/aws-sdk-s3/endpoint_provider.rb +733 -0
  25. data/lib/aws-sdk-s3/endpoints.rb +2149 -0
  26. data/lib/aws-sdk-s3/file_downloader.rb +1 -1
  27. data/lib/aws-sdk-s3/file_uploader.rb +5 -0
  28. data/lib/aws-sdk-s3/multipart_file_uploader.rb +26 -7
  29. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +36 -10
  30. data/lib/aws-sdk-s3/multipart_upload.rb +126 -12
  31. data/lib/aws-sdk-s3/multipart_upload_part.rb +133 -14
  32. data/lib/aws-sdk-s3/object.rb +289 -112
  33. data/lib/aws-sdk-s3/object_acl.rb +20 -4
  34. data/lib/aws-sdk-s3/object_multipart_copier.rb +11 -5
  35. data/lib/aws-sdk-s3/object_summary.rb +204 -74
  36. data/lib/aws-sdk-s3/object_version.rb +68 -40
  37. data/lib/aws-sdk-s3/plugins/accelerate.rb +3 -44
  38. data/lib/aws-sdk-s3/plugins/arn.rb +0 -197
  39. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +3 -39
  40. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +1 -6
  41. data/lib/aws-sdk-s3/plugins/dualstack.rb +1 -55
  42. data/lib/aws-sdk-s3/plugins/endpoints.rb +262 -0
  43. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +2 -1
  44. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +6 -29
  45. data/lib/aws-sdk-s3/plugins/md5s.rb +5 -3
  46. data/lib/aws-sdk-s3/plugins/s3_signer.rb +33 -109
  47. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  48. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +23 -2
  49. data/lib/aws-sdk-s3/presigned_post.rb +47 -35
  50. data/lib/aws-sdk-s3/presigner.rb +20 -33
  51. data/lib/aws-sdk-s3/resource.rb +19 -1
  52. data/lib/aws-sdk-s3/types.rb +2519 -4175
  53. data/lib/aws-sdk-s3.rb +5 -1
  54. metadata +11 -9
  55. data/lib/aws-sdk-s3/arn/access_point_arn.rb +0 -69
  56. data/lib/aws-sdk-s3/arn/multi_region_access_point_arn.rb +0 -69
  57. data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +0 -69
  58. data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +0 -73
  59. data/lib/aws-sdk-s3/plugins/object_lambda_endpoint.rb +0 -25
@@ -57,9 +57,9 @@ module Aws::S3
57
57
  end
58
58
 
59
59
  # If the object expiration is configured (see PUT Bucket lifecycle), the
60
- # response includes this header. It includes the expiry-date and rule-id
61
- # key-value pairs providing object expiration information. The value of
62
- # the rule-id is URL encoded.
60
+ # response includes this header. It includes the `expiry-date` and
61
+ # `rule-id` key-value pairs providing object expiration information. The
62
+ # value of the `rule-id` is URL-encoded.
63
63
  # @return [String]
64
64
  def expiration
65
65
  data[:expiration]
@@ -109,8 +109,64 @@ module Aws::S3
109
109
  data[:content_length]
110
110
  end
111
111
 
112
- # An ETag is an opaque identifier assigned by a web server to a specific
113
- # version of a resource found at a URL.
112
+ # The base64-encoded, 32-bit CRC32 checksum of the object. This will
113
+ # only be present if it was uploaded with the object. With multipart
114
+ # uploads, this may not be a checksum value of the object. For more
115
+ # information about how checksums are calculated with multipart uploads,
116
+ # see [ Checking object integrity][1] in the *Amazon S3 User Guide*.
117
+ #
118
+ #
119
+ #
120
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
121
+ # @return [String]
122
+ def checksum_crc32
123
+ data[:checksum_crc32]
124
+ end
125
+
126
+ # The base64-encoded, 32-bit CRC32C checksum of the object. This will
127
+ # only be present if it was uploaded with the object. With multipart
128
+ # uploads, this may not be a checksum value of the object. For more
129
+ # information about how checksums are calculated with multipart uploads,
130
+ # see [ Checking object integrity][1] in the *Amazon S3 User Guide*.
131
+ #
132
+ #
133
+ #
134
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
135
+ # @return [String]
136
+ def checksum_crc32c
137
+ data[:checksum_crc32c]
138
+ end
139
+
140
+ # The base64-encoded, 160-bit SHA-1 digest of the object. This will only
141
+ # be present if it was uploaded with the object. With multipart uploads,
142
+ # this may not be a checksum value of the object. For more information
143
+ # about how checksums are calculated with multipart uploads, see [
144
+ # Checking object integrity][1] in the *Amazon S3 User Guide*.
145
+ #
146
+ #
147
+ #
148
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
149
+ # @return [String]
150
+ def checksum_sha1
151
+ data[:checksum_sha1]
152
+ end
153
+
154
+ # The base64-encoded, 256-bit SHA-256 digest of the object. This will
155
+ # only be present if it was uploaded with the object. With multipart
156
+ # uploads, this may not be a checksum value of the object. For more
157
+ # information about how checksums are calculated with multipart uploads,
158
+ # see [ Checking object integrity][1] in the *Amazon S3 User Guide*.
159
+ #
160
+ #
161
+ #
162
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
163
+ # @return [String]
164
+ def checksum_sha256
165
+ data[:checksum_sha256]
166
+ end
167
+
168
+ # An entity tag (ETag) is an opaque identifier assigned by a web server
169
+ # to a specific version of a resource found at a URL.
114
170
  # @return [String]
115
171
  def etag
116
172
  data[:etag]
@@ -183,11 +239,8 @@ module Aws::S3
183
239
  data[:website_redirect_location]
184
240
  end
185
241
 
186
- # If the object is stored using server-side encryption either with an
187
- # Amazon Web Services KMS key or an Amazon S3-managed encryption key,
188
- # the response includes this header with the value of the server-side
189
- # encryption algorithm used when storing this object in Amazon S3 (for
190
- # example, AES256, aws:kms).
242
+ # The server-side encryption algorithm used when storing this object in
243
+ # Amazon S3 (for example, AES256, `aws:kms`).
191
244
  # @return [String]
192
245
  def server_side_encryption
193
246
  data[:server_side_encryption]
@@ -217,8 +270,8 @@ module Aws::S3
217
270
  end
218
271
 
219
272
  # If present, specifies the ID of the Amazon Web Services Key Management
220
- # Service (Amazon Web Services KMS) symmetric customer managed key that
221
- # was used for the object.
273
+ # Service (Amazon Web Services KMS) symmetric encryption customer
274
+ # managed key that was used for the object.
222
275
  # @return [String]
223
276
  def ssekms_key_id
224
277
  data[:ssekms_key_id]
@@ -261,7 +314,7 @@ module Aws::S3
261
314
  # metadata (`HeadObject`) from these buckets, Amazon S3 will return the
262
315
  # `x-amz-replication-status` header in the response as follows:
263
316
  #
264
- # * If requesting an object from the source bucket Amazon S3 will
317
+ # * **If requesting an object from the source bucket**, Amazon S3 will
265
318
  # return the `x-amz-replication-status` header if the object in your
266
319
  # request is eligible for replication.
267
320
  #
@@ -274,12 +327,12 @@ module Aws::S3
274
327
  # value PENDING, COMPLETED or FAILED indicating object replication
275
328
  # status.
276
329
  #
277
- # * If requesting an object from a destination bucket Amazon S3 will
278
- # return the `x-amz-replication-status` header with value REPLICA if
279
- # the object in your request is a replica that Amazon S3 created and
280
- # there is no replica modification replication in progress.
330
+ # * **If requesting an object from a destination bucket**, Amazon S3
331
+ # will return the `x-amz-replication-status` header with value REPLICA
332
+ # if the object in your request is a replica that Amazon S3 created
333
+ # and there is no replica modification replication in progress.
281
334
  #
282
- # * When replicating objects to multiple destination buckets the
335
+ # * **When replicating objects to multiple destination buckets**, the
283
336
  # `x-amz-replication-status` header acts differently. The header of
284
337
  # the source object will only return a value of COMPLETED when
285
338
  # replication is successful to all destinations. The header will
@@ -297,7 +350,9 @@ module Aws::S3
297
350
  data[:replication_status]
298
351
  end
299
352
 
300
- # The count of parts this object has.
353
+ # The count of parts this object has. This value is only returned if you
354
+ # specify `partNumber` in your request and the object was uploaded as a
355
+ # multipart upload.
301
356
  # @return [Integer]
302
357
  def parts_count
303
358
  data[:parts_count]
@@ -532,6 +587,7 @@ module Aws::S3
532
587
  # object.copy_from({
533
588
  # acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
534
589
  # cache_control: "CacheControl",
590
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
535
591
  # content_disposition: "ContentDisposition",
536
592
  # content_encoding: "ContentEncoding",
537
593
  # content_language: "ContentLanguage",
@@ -552,7 +608,7 @@ module Aws::S3
552
608
  # metadata_directive: "COPY", # accepts COPY, REPLACE
553
609
  # tagging_directive: "COPY", # accepts COPY, REPLACE
554
610
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
555
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
611
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
556
612
  # website_redirect_location: "WebsiteRedirectLocation",
557
613
  # sse_customer_algorithm: "SSECustomerAlgorithm",
558
614
  # sse_customer_key: "SSECustomerKey",
@@ -578,6 +634,14 @@ module Aws::S3
578
634
  # This action is not supported by Amazon S3 on Outposts.
579
635
  # @option options [String] :cache_control
580
636
  # Specifies caching behavior along the request/reply chain.
637
+ # @option options [String] :checksum_algorithm
638
+ # Indicates the algorithm you want Amazon S3 to use to create the
639
+ # checksum for the object. For more information, see [Checking object
640
+ # integrity][1] in the *Amazon S3 User Guide*.
641
+ #
642
+ #
643
+ #
644
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
581
645
  # @option options [String] :content_disposition
582
646
  # Specifies presentational information for the object.
583
647
  # @option options [String] :content_encoding
@@ -591,14 +655,14 @@ module Aws::S3
591
655
  # @option options [required, String] :copy_source
592
656
  # Specifies the source object for the copy operation. You specify the
593
657
  # value in one of two formats, depending on whether you want to access
594
- # the source object through an [access point][1]\:
658
+ # the source object through an [access point][1]:
595
659
  #
596
660
  # * For objects not accessed through an access point, specify the name
597
661
  # of the source bucket and the key of the source object, separated by
598
662
  # a slash (/). For example, to copy the object `reports/january.pdf`
599
663
  # from the bucket `awsexamplebucket`, use
600
- # `awsexamplebucket/reports/january.pdf`. The value must be URL
601
- # encoded.
664
+ # `awsexamplebucket/reports/january.pdf`. The value must be
665
+ # URL-encoded.
602
666
  #
603
667
  # * For objects accessed through access points, specify the Amazon
604
668
  # Resource Name (ARN) of the object as accessed through the access
@@ -623,7 +687,7 @@ module Aws::S3
623
687
  # outpost `my-outpost` owned by account `123456789012` in Region
624
688
  # `us-west-2`, use the URL encoding of
625
689
  # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
626
- # The value must be URL encoded.
690
+ # The value must be URL-encoded.
627
691
  #
628
692
  # To copy a specific version of an object, append
629
693
  # `?versionId=<version-id>` to the value (for example,
@@ -673,7 +737,7 @@ module Aws::S3
673
737
  # or replaced with tag-set provided in the request.
674
738
  # @option options [String] :server_side_encryption
675
739
  # The server-side encryption algorithm used when storing this object in
676
- # Amazon S3 (for example, AES256, aws:kms).
740
+ # Amazon S3 (for example, AES256, `aws:kms`).
677
741
  # @option options [String] :storage_class
678
742
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
679
743
  # created objects. The STANDARD storage class provides high durability
@@ -688,7 +752,10 @@ module Aws::S3
688
752
  # @option options [String] :website_redirect_location
689
753
  # If the bucket is configured as a website, redirects requests for this
690
754
  # object to another object in the same bucket or to an external URL.
691
- # Amazon S3 stores the value of this header in the object metadata.
755
+ # Amazon S3 stores the value of this header in the object metadata. This
756
+ # value is unique to each object and is not copied when using the
757
+ # `x-amz-metadata-directive` header. Instead, you may opt to provide
758
+ # this header in combination with the directive.
692
759
  # @option options [String] :sse_customer_algorithm
693
760
  # Specifies the algorithm to use to when encrypting the object (for
694
761
  # example, AES256).
@@ -740,8 +807,8 @@ module Aws::S3
740
807
  # @option options [String] :request_payer
741
808
  # Confirms that the requester knows that they will be charged for the
742
809
  # request. Bucket owners need not specify this parameter in their
743
- # requests. For information about downloading objects from requester
744
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
810
+ # requests. For information about downloading objects from Requester
811
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
745
812
  # in the *Amazon S3 User Guide*.
746
813
  #
747
814
  #
@@ -757,15 +824,15 @@ module Aws::S3
757
824
  # The date and time when you want the copied object's Object Lock to
758
825
  # expire.
759
826
  # @option options [String] :object_lock_legal_hold_status
760
- # Specifies whether you want to apply a Legal Hold to the copied object.
827
+ # Specifies whether you want to apply a legal hold to the copied object.
761
828
  # @option options [String] :expected_bucket_owner
762
829
  # The account ID of the expected destination bucket owner. If the
763
- # destination bucket is owned by a different account, the request will
764
- # fail with an HTTP `403 (Access Denied)` error.
830
+ # destination bucket is owned by a different account, the request fails
831
+ # with the HTTP status code `403 Forbidden` (access denied).
765
832
  # @option options [String] :expected_source_bucket_owner
766
833
  # The account ID of the expected source bucket owner. If the source
767
- # bucket is owned by a different account, the request will fail with an
768
- # HTTP `403 (Access Denied)` error.
834
+ # bucket is owned by a different account, the request fails with the
835
+ # HTTP status code `403 Forbidden` (access denied).
769
836
  # @return [Types::CopyObjectOutput]
770
837
  def copy_from(options = {})
771
838
  options = options.merge(
@@ -796,8 +863,8 @@ module Aws::S3
796
863
  # @option options [String] :request_payer
797
864
  # Confirms that the requester knows that they will be charged for the
798
865
  # request. Bucket owners need not specify this parameter in their
799
- # requests. For information about downloading objects from requester
800
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
866
+ # requests. For information about downloading objects from Requester
867
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
801
868
  # in the *Amazon S3 User Guide*.
802
869
  #
803
870
  #
@@ -806,11 +873,11 @@ module Aws::S3
806
873
  # @option options [Boolean] :bypass_governance_retention
807
874
  # Indicates whether S3 Object Lock should bypass Governance-mode
808
875
  # restrictions to process this operation. To use this header, you must
809
- # have the `s3:PutBucketPublicAccessBlock` permission.
876
+ # have the `s3:BypassGovernanceRetention` permission.
810
877
  # @option options [String] :expected_bucket_owner
811
878
  # The account ID of the expected bucket owner. If the bucket is owned by
812
- # a different account, the request will fail with an HTTP `403 (Access
813
- # Denied)` error.
879
+ # a different account, the request fails with the HTTP status code `403
880
+ # Forbidden` (access denied).
814
881
  # @return [Types::DeleteObjectOutput]
815
882
  def delete(options = {})
816
883
  options = options.merge(
@@ -842,24 +909,25 @@ module Aws::S3
842
909
  # request_payer: "requester", # accepts requester
843
910
  # part_number: 1,
844
911
  # expected_bucket_owner: "AccountId",
912
+ # checksum_mode: "ENABLED", # accepts ENABLED
845
913
  # })
846
914
  # @param [Hash] options ({})
847
915
  # @option options [String] :if_match
848
916
  # Return the object only if its entity tag (ETag) is the same as the one
849
- # specified, otherwise return a 412 (precondition failed).
917
+ # specified; otherwise, return a 412 (precondition failed) error.
850
918
  # @option options [Time,DateTime,Date,Integer,String] :if_modified_since
851
919
  # Return the object only if it has been modified since the specified
852
- # time, otherwise return a 304 (not modified).
920
+ # time; otherwise, return a 304 (not modified) error.
853
921
  # @option options [String] :if_none_match
854
922
  # Return the object only if its entity tag (ETag) is different from the
855
- # one specified, otherwise return a 304 (not modified).
923
+ # one specified; otherwise, return a 304 (not modified) error.
856
924
  # @option options [Time,DateTime,Date,Integer,String] :if_unmodified_since
857
925
  # Return the object only if it has not been modified since the specified
858
- # time, otherwise return a 412 (precondition failed).
926
+ # time; otherwise, return a 412 (precondition failed) error.
859
927
  # @option options [String] :range
860
928
  # Downloads the specified range bytes of an object. For more information
861
929
  # about the HTTP Range header, see
862
- # [https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
930
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#name-range][1].
863
931
  #
864
932
  # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
865
933
  # `GET` request.
@@ -868,7 +936,7 @@ module Aws::S3
868
936
  #
869
937
  #
870
938
  #
871
- # [1]: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
939
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-range
872
940
  # @option options [String] :response_cache_control
873
941
  # Sets the `Cache-Control` header of the response.
874
942
  # @option options [String] :response_content_disposition
@@ -899,8 +967,8 @@ module Aws::S3
899
967
  # @option options [String] :request_payer
900
968
  # Confirms that the requester knows that they will be charged for the
901
969
  # request. Bucket owners need not specify this parameter in their
902
- # requests. For information about downloading objects from requester
903
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
970
+ # requests. For information about downloading objects from Requester
971
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
904
972
  # in the *Amazon S3 User Guide*.
905
973
  #
906
974
  #
@@ -913,8 +981,10 @@ module Aws::S3
913
981
  # object.
914
982
  # @option options [String] :expected_bucket_owner
915
983
  # The account ID of the expected bucket owner. If the bucket is owned by
916
- # a different account, the request will fail with an HTTP `403 (Access
917
- # Denied)` error.
984
+ # a different account, the request fails with the HTTP status code `403
985
+ # Forbidden` (access denied).
986
+ # @option options [String] :checksum_mode
987
+ # To retrieve the checksum, this mode must be enabled.
918
988
  # @return [Types::GetObjectOutput]
919
989
  def get(options = {}, &block)
920
990
  options = options.merge(
@@ -943,7 +1013,7 @@ module Aws::S3
943
1013
  # "MetadataKey" => "MetadataValue",
944
1014
  # },
945
1015
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
946
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
1016
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
947
1017
  # website_redirect_location: "WebsiteRedirectLocation",
948
1018
  # sse_customer_algorithm: "SSECustomerAlgorithm",
949
1019
  # sse_customer_key: "SSECustomerKey",
@@ -957,6 +1027,7 @@ module Aws::S3
957
1027
  # object_lock_retain_until_date: Time.now,
958
1028
  # object_lock_legal_hold_status: "ON", # accepts ON, OFF
959
1029
  # expected_bucket_owner: "AccountId",
1030
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
960
1031
  # })
961
1032
  # @param [Hash] options ({})
962
1033
  # @option options [String] :acl
@@ -998,7 +1069,7 @@ module Aws::S3
998
1069
  # A map of metadata to store with the object in S3.
999
1070
  # @option options [String] :server_side_encryption
1000
1071
  # The server-side encryption algorithm used when storing this object in
1001
- # Amazon S3 (for example, AES256, aws:kms).
1072
+ # Amazon S3 (for example, AES256, `aws:kms`).
1002
1073
  # @option options [String] :storage_class
1003
1074
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
1004
1075
  # created objects. The STANDARD storage class provides high durability
@@ -1028,13 +1099,13 @@ module Aws::S3
1028
1099
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
1029
1100
  # ensure that the encryption key was transmitted without error.
1030
1101
  # @option options [String] :ssekms_key_id
1031
- # Specifies the ID of the symmetric customer managed key to use for
1032
- # object encryption. All GET and PUT requests for an object protected by
1033
- # Amazon Web Services KMS will fail if not made via SSL or using SigV4.
1034
- # For information about configuring using any of the officially
1035
- # supported Amazon Web Services SDKs and Amazon Web Services CLI, see
1036
- # [Specifying the Signature Version in Request Authentication][1] in the
1037
- # *Amazon S3 User Guide*.
1102
+ # Specifies the ID of the symmetric encryption customer managed key to
1103
+ # use for object encryption. All GET and PUT requests for an object
1104
+ # protected by Amazon Web Services KMS will fail if not made via SSL or
1105
+ # using SigV4. For information about configuring using any of the
1106
+ # officially supported Amazon Web Services SDKs and Amazon Web Services
1107
+ # CLI, see [Specifying the Signature Version in Request
1108
+ # Authentication][1] in the *Amazon S3 User Guide*.
1038
1109
  #
1039
1110
  #
1040
1111
  #
@@ -1054,8 +1125,8 @@ module Aws::S3
1054
1125
  # @option options [String] :request_payer
1055
1126
  # Confirms that the requester knows that they will be charged for the
1056
1127
  # request. Bucket owners need not specify this parameter in their
1057
- # requests. For information about downloading objects from requester
1058
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
1128
+ # requests. For information about downloading objects from Requester
1129
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
1059
1130
  # in the *Amazon S3 User Guide*.
1060
1131
  #
1061
1132
  #
@@ -1070,12 +1141,20 @@ module Aws::S3
1070
1141
  # @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
1071
1142
  # Specifies the date and time when you want the Object Lock to expire.
1072
1143
  # @option options [String] :object_lock_legal_hold_status
1073
- # Specifies whether you want to apply a Legal Hold to the uploaded
1144
+ # Specifies whether you want to apply a legal hold to the uploaded
1074
1145
  # object.
1075
1146
  # @option options [String] :expected_bucket_owner
1076
1147
  # The account ID of the expected bucket owner. If the bucket is owned by
1077
- # a different account, the request will fail with an HTTP `403 (Access
1078
- # Denied)` error.
1148
+ # a different account, the request fails with the HTTP status code `403
1149
+ # Forbidden` (access denied).
1150
+ # @option options [String] :checksum_algorithm
1151
+ # Indicates the algorithm you want Amazon S3 to use to create the
1152
+ # checksum for the object. For more information, see [Checking object
1153
+ # integrity][1] in the *Amazon S3 User Guide*.
1154
+ #
1155
+ #
1156
+ #
1157
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1079
1158
  # @return [MultipartUpload]
1080
1159
  def initiate_multipart_upload(options = {})
1081
1160
  options = options.merge(
@@ -1103,6 +1182,11 @@ module Aws::S3
1103
1182
  # content_length: 1,
1104
1183
  # content_md5: "ContentMD5",
1105
1184
  # content_type: "ContentType",
1185
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
1186
+ # checksum_crc32: "ChecksumCRC32",
1187
+ # checksum_crc32c: "ChecksumCRC32C",
1188
+ # checksum_sha1: "ChecksumSHA1",
1189
+ # checksum_sha256: "ChecksumSHA256",
1106
1190
  # expires: Time.now,
1107
1191
  # grant_full_control: "GrantFullControl",
1108
1192
  # grant_read: "GrantRead",
@@ -1112,7 +1196,7 @@ module Aws::S3
1112
1196
  # "MetadataKey" => "MetadataValue",
1113
1197
  # },
1114
1198
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
1115
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
1199
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
1116
1200
  # website_redirect_location: "WebsiteRedirectLocation",
1117
1201
  # sse_customer_algorithm: "SSECustomerAlgorithm",
1118
1202
  # sse_customer_key: "SSECustomerKey",
@@ -1150,30 +1234,30 @@ module Aws::S3
1150
1234
  # @option options [String] :content_disposition
1151
1235
  # Specifies presentational information for the object. For more
1152
1236
  # information, see
1153
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1][1].
1237
+ # [https://www.rfc-editor.org/rfc/rfc6266#section-4][1].
1154
1238
  #
1155
1239
  #
1156
1240
  #
1157
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1
1241
+ # [1]: https://www.rfc-editor.org/rfc/rfc6266#section-4
1158
1242
  # @option options [String] :content_encoding
1159
1243
  # Specifies what content encodings have been applied to the object and
1160
1244
  # thus what decoding mechanisms must be applied to obtain the media-type
1161
1245
  # referenced by the Content-Type header field. For more information, see
1162
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11][1].
1246
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding][1].
1163
1247
  #
1164
1248
  #
1165
1249
  #
1166
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11
1250
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding
1167
1251
  # @option options [String] :content_language
1168
1252
  # The language the content is in.
1169
1253
  # @option options [Integer] :content_length
1170
1254
  # Size of the body in bytes. This parameter is useful when the size of
1171
1255
  # the body cannot be determined automatically. For more information, see
1172
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13][1].
1256
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length][1].
1173
1257
  #
1174
1258
  #
1175
1259
  #
1176
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13
1260
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
1177
1261
  # @option options [String] :content_md5
1178
1262
  # The base64-encoded 128-bit MD5 digest of the message (without the
1179
1263
  # headers) according to RFC 1864. This header can be used as a message
@@ -1189,19 +1273,74 @@ module Aws::S3
1189
1273
  # @option options [String] :content_type
1190
1274
  # A standard MIME type describing the format of the contents. For more
1191
1275
  # information, see
1192
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17][1].
1276
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type][1].
1277
+ #
1278
+ #
1279
+ #
1280
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type
1281
+ # @option options [String] :checksum_algorithm
1282
+ # Indicates the algorithm used to create the checksum for the object
1283
+ # when using the SDK. This header will not provide any additional
1284
+ # functionality if not using the SDK. When sending this header, there
1285
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
1286
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
1287
+ # `400 Bad Request`. For more information, see [Checking object
1288
+ # integrity][1] in the *Amazon S3 User Guide*.
1289
+ #
1290
+ # If you provide an individual checksum, Amazon S3 ignores any provided
1291
+ # `ChecksumAlgorithm` parameter.
1193
1292
  #
1194
1293
  #
1195
1294
  #
1196
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
1295
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1296
+ # @option options [String] :checksum_crc32
1297
+ # This header can be used as a data integrity check to verify that the
1298
+ # data received is the same data that was originally sent. This header
1299
+ # specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
1300
+ # more information, see [Checking object integrity][1] in the *Amazon S3
1301
+ # User Guide*.
1302
+ #
1303
+ #
1304
+ #
1305
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1306
+ # @option options [String] :checksum_crc32c
1307
+ # This header can be used as a data integrity check to verify that the
1308
+ # data received is the same data that was originally sent. This header
1309
+ # specifies the base64-encoded, 32-bit CRC32C checksum of the object.
1310
+ # For more information, see [Checking object integrity][1] in the
1311
+ # *Amazon S3 User Guide*.
1312
+ #
1313
+ #
1314
+ #
1315
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1316
+ # @option options [String] :checksum_sha1
1317
+ # This header can be used as a data integrity check to verify that the
1318
+ # data received is the same data that was originally sent. This header
1319
+ # specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
1320
+ # more information, see [Checking object integrity][1] in the *Amazon S3
1321
+ # User Guide*.
1322
+ #
1323
+ #
1324
+ #
1325
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1326
+ # @option options [String] :checksum_sha256
1327
+ # This header can be used as a data integrity check to verify that the
1328
+ # data received is the same data that was originally sent. This header
1329
+ # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
1330
+ # For more information, see [Checking object integrity][1] in the
1331
+ # *Amazon S3 User Guide*.
1332
+ #
1333
+ #
1334
+ #
1335
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1197
1336
  # @option options [Time,DateTime,Date,Integer,String] :expires
1198
1337
  # The date and time at which the object is no longer cacheable. For more
1199
1338
  # information, see
1200
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21][1].
1339
+ # [https://www.rfc-editor.org/rfc/rfc7234#section-5.3][1].
1201
1340
  #
1202
1341
  #
1203
1342
  #
1204
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21
1343
+ # [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
1205
1344
  # @option options [String] :grant_full_control
1206
1345
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
1207
1346
  # object.
@@ -1223,7 +1362,7 @@ module Aws::S3
1223
1362
  # A map of metadata to store with the object in S3.
1224
1363
  # @option options [String] :server_side_encryption
1225
1364
  # The server-side encryption algorithm used when storing this object in
1226
- # Amazon S3 (for example, AES256, aws:kms).
1365
+ # Amazon S3 (for example, AES256, `aws:kms`).
1227
1366
  # @option options [String] :storage_class
1228
1367
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
1229
1368
  # created objects. The STANDARD storage class provides high durability
@@ -1274,9 +1413,9 @@ module Aws::S3
1274
1413
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
1275
1414
  # ensure that the encryption key was transmitted without error.
1276
1415
  # @option options [String] :ssekms_key_id
1277
- # If `x-amz-server-side-encryption` is present and has the value of
1278
- # `aws:kms`, this header specifies the ID of the Amazon Web Services Key
1279
- # Management Service (Amazon Web Services KMS) symmetrical customer
1416
+ # If `x-amz-server-side-encryption` has a valid value of `aws:kms`, this
1417
+ # header specifies the ID of the Amazon Web Services Key Management
1418
+ # Service (Amazon Web Services KMS) symmetric encryption customer
1280
1419
  # managed key that was used for the object. If you specify
1281
1420
  # `x-amz-server-side-encryption:aws:kms`, but do not provide`
1282
1421
  # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
@@ -1286,7 +1425,10 @@ module Aws::S3
1286
1425
  # @option options [String] :ssekms_encryption_context
1287
1426
  # Specifies the Amazon Web Services KMS Encryption Context to use for
1288
1427
  # object encryption. The value of this header is a base64-encoded UTF-8
1289
- # string holding JSON with the encryption context key-value pairs.
1428
+ # string holding JSON with the encryption context key-value pairs. This
1429
+ # value is stored as object metadata and automatically gets passed on to
1430
+ # Amazon Web Services KMS for future `GetObject` or `CopyObject`
1431
+ # operations on this object.
1290
1432
  # @option options [Boolean] :bucket_key_enabled
1291
1433
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
1292
1434
  # encryption with server-side encryption using AWS KMS (SSE-KMS).
@@ -1298,8 +1440,8 @@ module Aws::S3
1298
1440
  # @option options [String] :request_payer
1299
1441
  # Confirms that the requester knows that they will be charged for the
1300
1442
  # request. Bucket owners need not specify this parameter in their
1301
- # requests. For information about downloading objects from requester
1302
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
1443
+ # requests. For information about downloading objects from Requester
1444
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
1303
1445
  # in the *Amazon S3 User Guide*.
1304
1446
  #
1305
1447
  #
@@ -1322,8 +1464,8 @@ module Aws::S3
1322
1464
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
1323
1465
  # @option options [String] :expected_bucket_owner
1324
1466
  # The account ID of the expected bucket owner. If the bucket is owned by
1325
- # a different account, the request will fail with an HTTP `403 (Access
1326
- # Denied)` error.
1467
+ # a different account, the request fails with the HTTP status code `403
1468
+ # Forbidden` (access denied).
1327
1469
  # @return [Types::PutObjectOutput]
1328
1470
  def put(options = {})
1329
1471
  options = options.merge(
@@ -1415,11 +1557,12 @@ module Aws::S3
1415
1557
  # value: "MetadataValue",
1416
1558
  # },
1417
1559
  # ],
1418
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
1560
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
1419
1561
  # },
1420
1562
  # },
1421
1563
  # },
1422
1564
  # request_payer: "requester", # accepts requester
1565
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
1423
1566
  # expected_bucket_owner: "AccountId",
1424
1567
  # })
1425
1568
  # @param [Hash] options ({})
@@ -1430,17 +1573,32 @@ module Aws::S3
1430
1573
  # @option options [String] :request_payer
1431
1574
  # Confirms that the requester knows that they will be charged for the
1432
1575
  # request. Bucket owners need not specify this parameter in their
1433
- # requests. For information about downloading objects from requester
1434
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
1576
+ # requests. For information about downloading objects from Requester
1577
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
1435
1578
  # in the *Amazon S3 User Guide*.
1436
1579
  #
1437
1580
  #
1438
1581
  #
1439
1582
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
1583
+ # @option options [String] :checksum_algorithm
1584
+ # Indicates the algorithm used to create the checksum for the object
1585
+ # when using the SDK. This header will not provide any additional
1586
+ # functionality if not using the SDK. When sending this header, there
1587
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
1588
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
1589
+ # `400 Bad Request`. For more information, see [Checking object
1590
+ # integrity][1] in the *Amazon S3 User Guide*.
1591
+ #
1592
+ # If you provide an individual checksum, Amazon S3 ignores any provided
1593
+ # `ChecksumAlgorithm` parameter.
1594
+ #
1595
+ #
1596
+ #
1597
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1440
1598
  # @option options [String] :expected_bucket_owner
1441
1599
  # The account ID of the expected bucket owner. If the bucket is owned by
1442
- # a different account, the request will fail with an HTTP `403 (Access
1443
- # Denied)` error.
1600
+ # a different account, the request fails with the HTTP status code `403
1601
+ # Forbidden` (access denied).
1444
1602
  # @return [Types::RestoreObjectOutput]
1445
1603
  def restore_object(options = {})
1446
1604
  options = options.merge(
@@ -1466,33 +1624,26 @@ module Aws::S3
1466
1624
  # request_payer: "requester", # accepts requester
1467
1625
  # part_number: 1,
1468
1626
  # expected_bucket_owner: "AccountId",
1627
+ # checksum_mode: "ENABLED", # accepts ENABLED
1469
1628
  # })
1470
1629
  # @param [Hash] options ({})
1471
1630
  # @option options [String] :if_match
1472
1631
  # Return the object only if its entity tag (ETag) is the same as the one
1473
- # specified, otherwise return a 412 (precondition failed).
1632
+ # specified; otherwise, return a 412 (precondition failed) error.
1474
1633
  # @option options [Time,DateTime,Date,Integer,String] :if_modified_since
1475
1634
  # Return the object only if it has been modified since the specified
1476
- # time, otherwise return a 304 (not modified).
1635
+ # time; otherwise, return a 304 (not modified) error.
1477
1636
  # @option options [String] :if_none_match
1478
1637
  # Return the object only if its entity tag (ETag) is different from the
1479
- # one specified, otherwise return a 304 (not modified).
1638
+ # one specified; otherwise, return a 304 (not modified) error.
1480
1639
  # @option options [Time,DateTime,Date,Integer,String] :if_unmodified_since
1481
1640
  # Return the object only if it has not been modified since the specified
1482
- # time, otherwise return a 412 (precondition failed).
1641
+ # time; otherwise, return a 412 (precondition failed) error.
1483
1642
  # @option options [String] :range
1484
- # Downloads the specified range bytes of an object. For more information
1485
- # about the HTTP Range header, see
1486
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
1487
- #
1488
- # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
1489
- # `GET` request.
1490
- #
1491
- # </note>
1492
- #
1493
- #
1494
- #
1495
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
1643
+ # HeadObject returns only the metadata for an object. If the Range is
1644
+ # satisfiable, only the `ContentLength` is affected in the response. If
1645
+ # the Range is not satisfiable, S3 returns a `416 - Requested Range Not
1646
+ # Satisfiable` error.
1496
1647
  # @option options [String] :version_id
1497
1648
  # VersionId used to reference a specific version of the object.
1498
1649
  # @option options [String] :sse_customer_algorithm
@@ -1511,8 +1662,8 @@ module Aws::S3
1511
1662
  # @option options [String] :request_payer
1512
1663
  # Confirms that the requester knows that they will be charged for the
1513
1664
  # request. Bucket owners need not specify this parameter in their
1514
- # requests. For information about downloading objects from requester
1515
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
1665
+ # requests. For information about downloading objects from Requester
1666
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
1516
1667
  # in the *Amazon S3 User Guide*.
1517
1668
  #
1518
1669
  #
@@ -1525,8 +1676,15 @@ module Aws::S3
1525
1676
  # the number of parts in this object.
1526
1677
  # @option options [String] :expected_bucket_owner
1527
1678
  # The account ID of the expected bucket owner. If the bucket is owned by
1528
- # a different account, the request will fail with an HTTP `403 (Access
1529
- # Denied)` error.
1679
+ # a different account, the request fails with the HTTP status code `403
1680
+ # Forbidden` (access denied).
1681
+ # @option options [String] :checksum_mode
1682
+ # To retrieve the checksum, this parameter must be enabled.
1683
+ #
1684
+ # In addition, if you enable `ChecksumMode` and the object is encrypted
1685
+ # with Amazon Web Services Key Management Service (Amazon Web Services
1686
+ # KMS), you must have permission to use the `kms:Decrypt` action for the
1687
+ # request to succeed.
1530
1688
  # @return [Types::HeadObjectOutput]
1531
1689
  def head(options = {})
1532
1690
  options = options.merge(
@@ -1650,6 +1808,7 @@ module Aws::S3
1650
1808
  # request_payer: "requester", # accepts requester
1651
1809
  # bypass_governance_retention: false,
1652
1810
  # expected_bucket_owner: "AccountId",
1811
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
1653
1812
  # })
1654
1813
  # @param options ({})
1655
1814
  # @option options [String] :mfa
@@ -1660,8 +1819,8 @@ module Aws::S3
1660
1819
  # @option options [String] :request_payer
1661
1820
  # Confirms that the requester knows that they will be charged for the
1662
1821
  # request. Bucket owners need not specify this parameter in their
1663
- # requests. For information about downloading objects from requester
1664
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
1822
+ # requests. For information about downloading objects from Requester
1823
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
1665
1824
  # in the *Amazon S3 User Guide*.
1666
1825
  #
1667
1826
  #
@@ -1670,11 +1829,29 @@ module Aws::S3
1670
1829
  # @option options [Boolean] :bypass_governance_retention
1671
1830
  # Specifies whether you want to delete this object even if it has a
1672
1831
  # Governance-type Object Lock in place. To use this header, you must
1673
- # have the `s3:PutBucketPublicAccessBlock` permission.
1832
+ # have the `s3:BypassGovernanceRetention` permission.
1674
1833
  # @option options [String] :expected_bucket_owner
1675
1834
  # The account ID of the expected bucket owner. If the bucket is owned by
1676
- # a different account, the request will fail with an HTTP `403 (Access
1677
- # Denied)` error.
1835
+ # a different account, the request fails with the HTTP status code `403
1836
+ # Forbidden` (access denied).
1837
+ # @option options [String] :checksum_algorithm
1838
+ # Indicates the algorithm used to create the checksum for the object
1839
+ # when using the SDK. This header will not provide any additional
1840
+ # functionality if not using the SDK. When sending this header, there
1841
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
1842
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
1843
+ # `400 Bad Request`. For more information, see [Checking object
1844
+ # integrity][1] in the *Amazon S3 User Guide*.
1845
+ #
1846
+ # If you provide an individual checksum, Amazon S3 ignores any provided
1847
+ # `ChecksumAlgorithm` parameter.
1848
+ #
1849
+ # This checksum algorithm must be the same for all parts and it match
1850
+ # the checksum value supplied in the `CreateMultipartUpload` request.
1851
+ #
1852
+ #
1853
+ #
1854
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1678
1855
  # @return [void]
1679
1856
  def batch_delete!(options = {})
1680
1857
  batch_enum.each do |batch|