aws-sdk-s3 1.103.0 → 1.120.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 (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|