aws-sdk-s3 1.176.1 → 1.183.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 (54) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +37 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +43 -31
  5. data/lib/aws-sdk-s3/bucket_acl.rb +6 -5
  6. data/lib/aws-sdk-s3/bucket_cors.rb +6 -5
  7. data/lib/aws-sdk-s3/bucket_lifecycle.rb +2 -2
  8. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +3 -3
  9. data/lib/aws-sdk-s3/bucket_logging.rb +2 -2
  10. data/lib/aws-sdk-s3/bucket_policy.rb +6 -5
  11. data/lib/aws-sdk-s3/bucket_request_payment.rb +3 -3
  12. data/lib/aws-sdk-s3/bucket_tagging.rb +3 -3
  13. data/lib/aws-sdk-s3/bucket_versioning.rb +9 -9
  14. data/lib/aws-sdk-s3/bucket_website.rb +3 -3
  15. data/lib/aws-sdk-s3/client.rb +1066 -862
  16. data/lib/aws-sdk-s3/client_api.rb +35 -2
  17. data/lib/aws-sdk-s3/endpoint_provider.rb +369 -281
  18. data/lib/aws-sdk-s3/file_downloader.rb +4 -21
  19. data/lib/aws-sdk-s3/multipart_file_uploader.rb +31 -13
  20. data/lib/aws-sdk-s3/multipart_upload.rb +50 -6
  21. data/lib/aws-sdk-s3/multipart_upload_part.rb +50 -34
  22. data/lib/aws-sdk-s3/object.rb +159 -113
  23. data/lib/aws-sdk-s3/object_acl.rb +4 -4
  24. data/lib/aws-sdk-s3/object_summary.rb +107 -83
  25. data/lib/aws-sdk-s3/object_version.rb +18 -14
  26. data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
  27. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +11 -20
  28. data/lib/aws-sdk-s3/plugins/md5s.rb +10 -71
  29. data/lib/aws-sdk-s3/presigner.rb +4 -5
  30. data/lib/aws-sdk-s3/resource.rb +1 -1
  31. data/lib/aws-sdk-s3/types.rb +1259 -820
  32. data/lib/aws-sdk-s3.rb +1 -1
  33. data/sig/bucket.rbs +4 -3
  34. data/sig/bucket_acl.rbs +1 -1
  35. data/sig/bucket_cors.rbs +1 -1
  36. data/sig/bucket_lifecycle.rbs +1 -1
  37. data/sig/bucket_lifecycle_configuration.rbs +1 -1
  38. data/sig/bucket_logging.rbs +1 -1
  39. data/sig/bucket_policy.rbs +1 -1
  40. data/sig/bucket_request_payment.rbs +1 -1
  41. data/sig/bucket_tagging.rbs +1 -1
  42. data/sig/bucket_versioning.rbs +3 -3
  43. data/sig/bucket_website.rbs +1 -1
  44. data/sig/client.rbs +53 -31
  45. data/sig/multipart_upload.rbs +8 -1
  46. data/sig/multipart_upload_part.rbs +5 -1
  47. data/sig/object.rbs +16 -5
  48. data/sig/object_acl.rbs +1 -1
  49. data/sig/object_summary.rbs +11 -6
  50. data/sig/object_version.rbs +5 -2
  51. data/sig/resource.rbs +3 -1
  52. data/sig/types.rbs +64 -34
  53. metadata +5 -5
  54. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +0 -31
@@ -97,9 +97,10 @@ module Aws::S3
97
97
  # For more information about archiving objects, see [Transitioning
98
98
  # Objects: General Considerations][2].
99
99
  #
100
- # <note markdown="1"> This functionality is not supported for directory buckets. Only the S3
101
- # Express One Zone storage class is supported by directory buckets to
102
- # store objects.
100
+ # <note markdown="1"> This functionality is not supported for directory buckets. Directory
101
+ # buckets only support `EXPRESS_ONEZONE` (the S3 Express One Zone
102
+ # storage class) in Availability Zones and `ONEZONE_IA` (the S3 One
103
+ # Zone-Infrequent Access storage class) in Dedicated Local Zones.
103
104
  #
104
105
  # </note>
105
106
  #
@@ -134,14 +135,14 @@ module Aws::S3
134
135
  data[:content_length]
135
136
  end
136
137
 
137
- # The base64-encoded, 32-bit CRC-32 checksum of the object. This will
138
- # only be present if it was uploaded with the object. When you use an
139
- # API operation on an object that was uploaded using multipart uploads,
140
- # this value may not be a direct checksum value of the full object.
141
- # Instead, it's a calculation based on the checksum values of each
142
- # individual part. For more information about how checksums are
143
- # calculated with multipart uploads, see [ Checking object integrity][1]
144
- # in the *Amazon S3 User Guide*.
138
+ # The Base64 encoded, 32-bit `CRC32 checksum` of the object. This
139
+ # checksum is only be present if the checksum was uploaded with the
140
+ # object. When you use an API operation on an object that was uploaded
141
+ # using multipart uploads, this value may not be a direct checksum value
142
+ # of the full object. Instead, it's a calculation based on the checksum
143
+ # values of each individual part. For more information about how
144
+ # checksums are calculated with multipart uploads, see [ Checking object
145
+ # integrity][1] in the *Amazon S3 User Guide*.
145
146
  #
146
147
  #
147
148
  #
@@ -151,14 +152,14 @@ module Aws::S3
151
152
  data[:checksum_crc32]
152
153
  end
153
154
 
154
- # The base64-encoded, 32-bit CRC-32C checksum of the object. This will
155
- # only be present if it was uploaded with the object. When you use an
156
- # API operation on an object that was uploaded using multipart uploads,
157
- # this value may not be a direct checksum value of the full object.
158
- # Instead, it's a calculation based on the checksum values of each
159
- # individual part. For more information about how checksums are
160
- # calculated with multipart uploads, see [ Checking object integrity][1]
161
- # in the *Amazon S3 User Guide*.
155
+ # The Base64 encoded, 32-bit `CRC32C` checksum of the object. This
156
+ # checksum is only present if the checksum was uploaded with the object.
157
+ # When you use an API operation on an object that was uploaded using
158
+ # multipart uploads, this value may not be a direct checksum value of
159
+ # the full object. Instead, it's a calculation based on the checksum
160
+ # values of each individual part. For more information about how
161
+ # checksums are calculated with multipart uploads, see [ Checking object
162
+ # integrity][1] in the *Amazon S3 User Guide*.
162
163
  #
163
164
  #
164
165
  #
@@ -168,14 +169,26 @@ module Aws::S3
168
169
  data[:checksum_crc32c]
169
170
  end
170
171
 
171
- # The base64-encoded, 160-bit SHA-1 digest of the object. This will only
172
- # be present if it was uploaded with the object. When you use the API
173
- # operation on an object that was uploaded using multipart uploads, this
174
- # value may not be a direct checksum value of the full object. Instead,
175
- # it's a calculation based on the checksum values of each individual
176
- # part. For more information about how checksums are calculated with
177
- # multipart uploads, see [ Checking object integrity][1] in the *Amazon
178
- # S3 User Guide*.
172
+ # The Base64 encoded, 64-bit `CRC64NVME` checksum of the object. For
173
+ # more information, see [Checking object integrity in the Amazon S3 User
174
+ # Guide][1].
175
+ #
176
+ #
177
+ #
178
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
179
+ # @return [String]
180
+ def checksum_crc64nvme
181
+ data[:checksum_crc64nvme]
182
+ end
183
+
184
+ # The Base64 encoded, 160-bit `SHA1` digest of the object. This will
185
+ # only be present if the object was uploaded with the object. When you
186
+ # use the API operation on an object that was uploaded using multipart
187
+ # uploads, this value may not be a direct checksum value of the full
188
+ # object. Instead, it's a calculation based on the checksum values of
189
+ # each individual part. For more information about how checksums are
190
+ # calculated with multipart uploads, see [ Checking object integrity][1]
191
+ # in the *Amazon S3 User Guide*.
179
192
  #
180
193
  #
181
194
  #
@@ -185,12 +198,12 @@ module Aws::S3
185
198
  data[:checksum_sha1]
186
199
  end
187
200
 
188
- # The base64-encoded, 256-bit SHA-256 digest of the object. This will
189
- # only be present if it was uploaded with the object. When you use an
190
- # API operation on an object that was uploaded using multipart uploads,
191
- # this value may not be a direct checksum value of the full object.
192
- # Instead, it's a calculation based on the checksum values of each
193
- # individual part. For more information about how checksums are
201
+ # The Base64 encoded, 256-bit `SHA256` digest of the object. This will
202
+ # only be present if the object was uploaded with the object. When you
203
+ # use an API operation on an object that was uploaded using multipart
204
+ # uploads, this value may not be a direct checksum value of the full
205
+ # object. Instead, it's a calculation based on the checksum values of
206
+ # each individual part. For more information about how checksums are
194
207
  # calculated with multipart uploads, see [ Checking object integrity][1]
195
208
  # in the *Amazon S3 User Guide*.
196
209
  #
@@ -202,6 +215,21 @@ module Aws::S3
202
215
  data[:checksum_sha256]
203
216
  end
204
217
 
218
+ # The checksum type, which determines how part-level checksums are
219
+ # combined to create an object-level checksum for multipart objects. You
220
+ # can use this header response to verify that the checksum type that is
221
+ # received is the same checksum type that was specified in
222
+ # `CreateMultipartUpload` request. For more information, see [Checking
223
+ # object integrity in the Amazon S3 User Guide][1].
224
+ #
225
+ #
226
+ #
227
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
228
+ # @return [String]
229
+ def checksum_type
230
+ data[:checksum_type]
231
+ end
232
+
205
233
  # An entity tag (ETag) is an opaque identifier assigned by a web server
206
234
  # to a specific version of a resource found at a URL.
207
235
  # @return [String]
@@ -265,6 +293,13 @@ module Aws::S3
265
293
  data[:content_type]
266
294
  end
267
295
 
296
+ # The portion of the object returned in the response for a `GET`
297
+ # request.
298
+ # @return [String]
299
+ def content_range
300
+ data[:content_range]
301
+ end
302
+
268
303
  # The date and time at which the object is no longer cacheable.
269
304
  # @return [Time]
270
305
  def expires
@@ -346,8 +381,10 @@ module Aws::S3
346
381
  #
347
382
  # For more information, see [Storage Classes][1].
348
383
  #
349
- # <note markdown="1"> <b>Directory buckets </b> - Only the S3 Express One Zone storage class
350
- # is supported by directory buckets to store objects.
384
+ # <note markdown="1"> <b>Directory buckets </b> - Directory buckets only support
385
+ # `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
386
+ # Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent Access
387
+ # storage class) in Dedicated Local Zones.
351
388
  #
352
389
  # </note>
353
390
  #
@@ -676,7 +713,7 @@ module Aws::S3
676
713
  # object.copy_from({
677
714
  # acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
678
715
  # cache_control: "CacheControl",
679
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
716
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
680
717
  # content_disposition: "ContentDisposition",
681
718
  # content_encoding: "ContentEncoding",
682
719
  # content_language: "ContentLanguage",
@@ -1101,10 +1138,12 @@ module Aws::S3
1101
1138
  # availability. Depending on performance needs, you can specify a
1102
1139
  # different Storage Class.
1103
1140
  #
1104
- # <note markdown="1"> * <b>Directory buckets </b> - For directory buckets, only the S3
1105
- # Express One Zone storage class is supported to store newly created
1106
- # objects. Unsupported storage class values won't write a destination
1107
- # object and will respond with the HTTP status code `400 Bad Request`.
1141
+ # <note markdown="1"> * <b>Directory buckets </b> - Directory buckets only support
1142
+ # `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
1143
+ # Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent
1144
+ # Access storage class) in Dedicated Local Zones. Unsupported storage
1145
+ # class values won't write a destination object and will respond with
1146
+ # the HTTP status code `400 Bad Request`.
1108
1147
  #
1109
1148
  # * <b>Amazon S3 on Outposts </b> - S3 on Outposts only uses the
1110
1149
  # `OUTPOSTS` Storage Class.
@@ -1192,20 +1231,17 @@ module Aws::S3
1192
1231
  # Signature Version in Request Authentication][1] in the *Amazon S3 User
1193
1232
  # Guide*.
1194
1233
  #
1195
- # **Directory buckets** - If you specify `x-amz-server-side-encryption`
1196
- # with `aws:kms`, the ` x-amz-server-side-encryption-aws-kms-key-id`
1197
- # header is implicitly assigned the ID of the KMS symmetric encryption
1198
- # customer managed key that's configured for your directory bucket's
1199
- # default encryption setting. If you want to specify the `
1200
- # x-amz-server-side-encryption-aws-kms-key-id` header explicitly, you
1201
- # can only specify it with the ID (Key ID or Key ARN) of the KMS
1202
- # customer managed key that's configured for your directory bucket's
1203
- # default encryption setting. Otherwise, you get an HTTP `400 Bad
1204
- # Request` error. Only use the key ID or key ARN. The key alias format
1205
- # of the KMS key isn't supported. Your SSE-KMS configuration can only
1206
- # support 1 [customer managed key][2] per directory bucket for the
1207
- # lifetime of the bucket. The [Amazon Web Services managed key][3]
1208
- # (`aws/s3`) isn't supported.
1234
+ # **Directory buckets** - To encrypt data using SSE-KMS, it's
1235
+ # recommended to specify the `x-amz-server-side-encryption` header to
1236
+ # `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
1237
+ # header implicitly uses the bucket's default KMS customer managed key
1238
+ # ID. If you want to explicitly set the `
1239
+ # x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
1240
+ # bucket's default customer managed key (using key ID or ARN, not
1241
+ # alias). Your SSE-KMS configuration can only support 1 [customer
1242
+ # managed key][2] per directory bucket's lifetime. The [Amazon Web
1243
+ # Services managed key][3] (`aws/s3`) isn't supported. Incorrect key
1244
+ # specification results in an HTTP `400 Bad Request` error.
1209
1245
  #
1210
1246
  #
1211
1247
  #
@@ -1476,7 +1512,7 @@ module Aws::S3
1476
1512
  #
1477
1513
  #
1478
1514
  #
1479
- # [1]: https://docs.aws.amazon.com/https:/tools.ietf.org/html/rfc7232
1515
+ # [1]: https://tools.ietf.org/html/rfc7232
1480
1516
  # @option options [Time,DateTime,Date,Integer,String] :if_match_last_modified_time
1481
1517
  # If present, the object is deleted only if its modification times
1482
1518
  # matches the provided `Timestamp`. If the `Timestamp` values do not
@@ -1757,15 +1793,6 @@ module Aws::S3
1757
1793
  # fails with the HTTP status code `403 Forbidden` (access denied).
1758
1794
  # @option options [String] :checksum_mode
1759
1795
  # To retrieve the checksum, this mode must be enabled.
1760
- #
1761
- # **General purpose buckets** - In addition, if you enable checksum mode
1762
- # and the object is uploaded with a [checksum][1] and encrypted with an
1763
- # Key Management Service (KMS) key, you must have permission to use the
1764
- # `kms:Decrypt` action to retrieve the checksum.
1765
- #
1766
- #
1767
- #
1768
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
1769
1796
  # @return [Types::GetObjectOutput]
1770
1797
  def get(options = {}, &block)
1771
1798
  options = options.merge(
@@ -1810,7 +1837,8 @@ module Aws::S3
1810
1837
  # object_lock_retain_until_date: Time.now,
1811
1838
  # object_lock_legal_hold_status: "ON", # accepts ON, OFF
1812
1839
  # expected_bucket_owner: "AccountId",
1813
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
1840
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
1841
+ # checksum_type: "COMPOSITE", # accepts COMPOSITE, FULL_OBJECT
1814
1842
  # })
1815
1843
  # @param [Hash] options ({})
1816
1844
  # @option options [String] :acl
@@ -2167,8 +2195,9 @@ module Aws::S3
2167
2195
  # a different Storage Class. For more information, see [Storage
2168
2196
  # Classes][1] in the *Amazon S3 User Guide*.
2169
2197
  #
2170
- # <note markdown="1"> * For directory buckets, only the S3 Express One Zone storage class is
2171
- # supported to store newly created objects.
2198
+ # <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express One
2199
+ # Zone storage class) in Availability Zones and `ONEZONE_IA` (the S3
2200
+ # One Zone-Infrequent Access storage class) in Dedicated Local Zones.
2172
2201
  #
2173
2202
  # * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
2174
2203
  #
@@ -2225,20 +2254,17 @@ module Aws::S3
2225
2254
  # `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
2226
2255
  # Amazon Web Services managed key (`aws/s3`) to protect the data.
2227
2256
  #
2228
- # **Directory buckets** - If you specify `x-amz-server-side-encryption`
2229
- # with `aws:kms`, the ` x-amz-server-side-encryption-aws-kms-key-id`
2230
- # header is implicitly assigned the ID of the KMS symmetric encryption
2231
- # customer managed key that's configured for your directory bucket's
2232
- # default encryption setting. If you want to specify the `
2233
- # x-amz-server-side-encryption-aws-kms-key-id` header explicitly, you
2234
- # can only specify it with the ID (Key ID or Key ARN) of the KMS
2235
- # customer managed key that's configured for your directory bucket's
2236
- # default encryption setting. Otherwise, you get an HTTP `400 Bad
2237
- # Request` error. Only use the key ID or key ARN. The key alias format
2238
- # of the KMS key isn't supported. Your SSE-KMS configuration can only
2239
- # support 1 [customer managed key][1] per directory bucket for the
2240
- # lifetime of the bucket. The [Amazon Web Services managed key][2]
2241
- # (`aws/s3`) isn't supported.
2257
+ # **Directory buckets** - To encrypt data using SSE-KMS, it's
2258
+ # recommended to specify the `x-amz-server-side-encryption` header to
2259
+ # `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
2260
+ # header implicitly uses the bucket's default KMS customer managed key
2261
+ # ID. If you want to explicitly set the `
2262
+ # x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
2263
+ # bucket's default customer managed key (using key ID or ARN, not
2264
+ # alias). Your SSE-KMS configuration can only support 1 [customer
2265
+ # managed key][1] per directory bucket's lifetime. The [Amazon Web
2266
+ # Services managed key][2] (`aws/s3`) isn't supported. Incorrect key
2267
+ # specification results in an HTTP `400 Bad Request` error.
2242
2268
  #
2243
2269
  #
2244
2270
  #
@@ -2246,7 +2272,7 @@ module Aws::S3
2246
2272
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
2247
2273
  # @option options [String] :ssekms_encryption_context
2248
2274
  # Specifies the Amazon Web Services KMS Encryption Context to use for
2249
- # object encryption. The value of this header is a Base64-encoded string
2275
+ # object encryption. The value of this header is a Base64 encoded string
2250
2276
  # of a UTF-8 encoded JSON, which contains the encryption context as
2251
2277
  # key-value pairs.
2252
2278
  #
@@ -2335,6 +2361,14 @@ module Aws::S3
2335
2361
  #
2336
2362
  #
2337
2363
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
2364
+ # @option options [String] :checksum_type
2365
+ # Indicates the checksum type that you want Amazon S3 to use to
2366
+ # calculate the object’s checksum value. For more information, see
2367
+ # [Checking object integrity in the Amazon S3 User Guide][1].
2368
+ #
2369
+ #
2370
+ #
2371
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
2338
2372
  # @return [MultipartUpload]
2339
2373
  def initiate_multipart_upload(options = {})
2340
2374
  options = options.merge(
@@ -2364,9 +2398,10 @@ module Aws::S3
2364
2398
  # content_length: 1,
2365
2399
  # content_md5: "ContentMD5",
2366
2400
  # content_type: "ContentType",
2367
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
2401
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
2368
2402
  # checksum_crc32: "ChecksumCRC32",
2369
2403
  # checksum_crc32c: "ChecksumCRC32C",
2404
+ # checksum_crc64nvme: "ChecksumCRC64NVME",
2370
2405
  # checksum_sha1: "ChecksumSHA1",
2371
2406
  # checksum_sha256: "ChecksumSHA256",
2372
2407
  # expires: Time.now,
@@ -2472,7 +2507,7 @@ module Aws::S3
2472
2507
  #
2473
2508
  # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
2474
2509
  # @option options [String] :content_md5
2475
- # The base64-encoded 128-bit MD5 digest of the message (without the
2510
+ # The Base64 encoded 128-bit `MD5` digest of the message (without the
2476
2511
  # headers) according to RFC 1864. This header can be used as a message
2477
2512
  # integrity check to verify that the data is the same data that was
2478
2513
  # originally sent. Although it is optional, we recommend using the
@@ -2519,6 +2554,8 @@ module Aws::S3
2519
2554
  #
2520
2555
  # * `CRC32C`
2521
2556
  #
2557
+ # * `CRC64NVME`
2558
+ #
2522
2559
  # * `SHA1`
2523
2560
  #
2524
2561
  # * `SHA256`
@@ -2528,9 +2565,8 @@ module Aws::S3
2528
2565
  #
2529
2566
  # If the individual checksum value you provide through
2530
2567
  # `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
2531
- # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 ignores any
2532
- # provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
2533
- # that matches the provided value in `x-amz-checksum-algorithm `.
2568
+ # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
2569
+ # request with a `BadDigest` error.
2534
2570
  #
2535
2571
  # <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
2536
2572
  # for any request to upload an object with a retention period configured
@@ -2550,7 +2586,7 @@ module Aws::S3
2550
2586
  # @option options [String] :checksum_crc32
2551
2587
  # This header can be used as a data integrity check to verify that the
2552
2588
  # data received is the same data that was originally sent. This header
2553
- # specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
2589
+ # specifies the Base64 encoded, 32-bit `CRC32` checksum of the object.
2554
2590
  # For more information, see [Checking object integrity][1] in the
2555
2591
  # *Amazon S3 User Guide*.
2556
2592
  #
@@ -2560,17 +2596,28 @@ module Aws::S3
2560
2596
  # @option options [String] :checksum_crc32c
2561
2597
  # This header can be used as a data integrity check to verify that the
2562
2598
  # data received is the same data that was originally sent. This header
2563
- # specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
2599
+ # specifies the Base64 encoded, 32-bit `CRC32C` checksum of the object.
2564
2600
  # For more information, see [Checking object integrity][1] in the
2565
2601
  # *Amazon S3 User Guide*.
2566
2602
  #
2567
2603
  #
2568
2604
  #
2569
2605
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
2606
+ # @option options [String] :checksum_crc64nvme
2607
+ # This header can be used as a data integrity check to verify that the
2608
+ # data received is the same data that was originally sent. This header
2609
+ # specifies the Base64 encoded, 64-bit `CRC64NVME` checksum of the
2610
+ # object. The `CRC64NVME` checksum is always a full object checksum. For
2611
+ # more information, see [Checking object integrity in the Amazon S3 User
2612
+ # Guide][1].
2613
+ #
2614
+ #
2615
+ #
2616
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
2570
2617
  # @option options [String] :checksum_sha1
2571
2618
  # This header can be used as a data integrity check to verify that the
2572
2619
  # data received is the same data that was originally sent. This header
2573
- # specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
2620
+ # specifies the Base64 encoded, 160-bit `SHA1` digest of the object. For
2574
2621
  # more information, see [Checking object integrity][1] in the *Amazon S3
2575
2622
  # User Guide*.
2576
2623
  #
@@ -2580,7 +2627,7 @@ module Aws::S3
2580
2627
  # @option options [String] :checksum_sha256
2581
2628
  # This header can be used as a data integrity check to verify that the
2582
2629
  # data received is the same data that was originally sent. This header
2583
- # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
2630
+ # specifies the Base64 encoded, 256-bit `SHA256` digest of the object.
2584
2631
  # For more information, see [Checking object integrity][1] in the
2585
2632
  # *Amazon S3 User Guide*.
2586
2633
  #
@@ -2748,8 +2795,9 @@ module Aws::S3
2748
2795
  # a different Storage Class. For more information, see [Storage
2749
2796
  # Classes][1] in the *Amazon S3 User Guide*.
2750
2797
  #
2751
- # <note markdown="1"> * For directory buckets, only the S3 Express One Zone storage class is
2752
- # supported to store newly created objects.
2798
+ # <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express One
2799
+ # Zone storage class) in Availability Zones and `ONEZONE_IA` (the S3
2800
+ # One Zone-Infrequent Access storage class) in Dedicated Local Zones.
2753
2801
  #
2754
2802
  # * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
2755
2803
  #
@@ -2827,20 +2875,17 @@ module Aws::S3
2827
2875
  # `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
2828
2876
  # Amazon Web Services managed key (`aws/s3`) to protect the data.
2829
2877
  #
2830
- # **Directory buckets** - If you specify `x-amz-server-side-encryption`
2831
- # with `aws:kms`, the ` x-amz-server-side-encryption-aws-kms-key-id`
2832
- # header is implicitly assigned the ID of the KMS symmetric encryption
2833
- # customer managed key that's configured for your directory bucket's
2834
- # default encryption setting. If you want to specify the `
2835
- # x-amz-server-side-encryption-aws-kms-key-id` header explicitly, you
2836
- # can only specify it with the ID (Key ID or Key ARN) of the KMS
2837
- # customer managed key that's configured for your directory bucket's
2838
- # default encryption setting. Otherwise, you get an HTTP `400 Bad
2839
- # Request` error. Only use the key ID or key ARN. The key alias format
2840
- # of the KMS key isn't supported. Your SSE-KMS configuration can only
2841
- # support 1 [customer managed key][1] per directory bucket for the
2842
- # lifetime of the bucket. The [Amazon Web Services managed key][2]
2843
- # (`aws/s3`) isn't supported.
2878
+ # **Directory buckets** - To encrypt data using SSE-KMS, it's
2879
+ # recommended to specify the `x-amz-server-side-encryption` header to
2880
+ # `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
2881
+ # header implicitly uses the bucket's default KMS customer managed key
2882
+ # ID. If you want to explicitly set the `
2883
+ # x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
2884
+ # bucket's default customer managed key (using key ID or ARN, not
2885
+ # alias). Your SSE-KMS configuration can only support 1 [customer
2886
+ # managed key][1] per directory bucket's lifetime. The [Amazon Web
2887
+ # Services managed key][2] (`aws/s3`) isn't supported. Incorrect key
2888
+ # specification results in an HTTP `400 Bad Request` error.
2844
2889
  #
2845
2890
  #
2846
2891
  #
@@ -2849,7 +2894,7 @@ module Aws::S3
2849
2894
  # @option options [String] :ssekms_encryption_context
2850
2895
  # Specifies the Amazon Web Services KMS Encryption Context as an
2851
2896
  # additional encryption context to use for object encryption. The value
2852
- # of this header is a Base64-encoded string of a UTF-8 encoded JSON,
2897
+ # of this header is a Base64 encoded string of a UTF-8 encoded JSON,
2853
2898
  # which contains the encryption context as key-value pairs. This value
2854
2899
  # is stored as object metadata and automatically gets passed on to
2855
2900
  # Amazon Web Services KMS for future `GetObject` operations on this
@@ -3044,7 +3089,7 @@ module Aws::S3
3044
3089
  # },
3045
3090
  # },
3046
3091
  # request_payer: "requester", # accepts requester
3047
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
3092
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
3048
3093
  # expected_bucket_owner: "AccountId",
3049
3094
  # })
3050
3095
  # @param [Hash] options ({})
@@ -3411,7 +3456,7 @@ module Aws::S3
3411
3456
  # request_payer: "requester", # accepts requester
3412
3457
  # bypass_governance_retention: false,
3413
3458
  # expected_bucket_owner: "AccountId",
3414
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
3459
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
3415
3460
  # })
3416
3461
  # @param options ({})
3417
3462
  # @option options [String] :mfa
@@ -3479,6 +3524,8 @@ module Aws::S3
3479
3524
  #
3480
3525
  # * `CRC32C`
3481
3526
  #
3527
+ # * `CRC64NVME`
3528
+ #
3482
3529
  # * `SHA1`
3483
3530
  #
3484
3531
  # * `SHA256`
@@ -3488,9 +3535,8 @@ module Aws::S3
3488
3535
  #
3489
3536
  # If the individual checksum value you provide through
3490
3537
  # `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
3491
- # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 ignores any
3492
- # provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
3493
- # that matches the provided value in `x-amz-checksum-algorithm `.
3538
+ # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
3539
+ # request with a `BadDigest` error.
3494
3540
  #
3495
3541
  # If you provide an individual checksum, Amazon S3 ignores any provided
3496
3542
  # `ChecksumAlgorithm` parameter.
@@ -229,7 +229,7 @@ module Aws::S3
229
229
  # },
230
230
  # },
231
231
  # content_md5: "ContentMD5",
232
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
232
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
233
233
  # grant_full_control: "GrantFullControl",
234
234
  # grant_read: "GrantRead",
235
235
  # grant_read_acp: "GrantReadACP",
@@ -251,9 +251,9 @@ module Aws::S3
251
251
  # Contains the elements that set the ACL permissions for an object per
252
252
  # grantee.
253
253
  # @option options [String] :content_md5
254
- # The base64-encoded 128-bit MD5 digest of the data. This header must be
255
- # used as a message integrity check to verify that the request body was
256
- # not corrupted in transit. For more information, go to [RFC
254
+ # The Base64 encoded 128-bit `MD5` digest of the data. This header must
255
+ # be used as a message integrity check to verify that the request body
256
+ # was not corrupted in transit. For more information, go to [RFC
257
257
  # 1864.&gt;][1]
258
258
  #
259
259
  # For requests made using the Amazon Web Services Command Line Interface