aws-sdk-s3 1.167.0 → 1.194.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 (64) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +158 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +145 -39
  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 +7 -2
  8. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +22 -2
  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 +3670 -1773
  16. data/lib/aws-sdk-s3/client_api.rb +558 -160
  17. data/lib/aws-sdk-s3/endpoint_parameters.rb +13 -18
  18. data/lib/aws-sdk-s3/endpoint_provider.rb +400 -276
  19. data/lib/aws-sdk-s3/endpoints.rb +529 -1403
  20. data/lib/aws-sdk-s3/errors.rb +55 -0
  21. data/lib/aws-sdk-s3/file_downloader.rb +14 -31
  22. data/lib/aws-sdk-s3/legacy_signer.rb +2 -1
  23. data/lib/aws-sdk-s3/multipart_file_uploader.rb +31 -13
  24. data/lib/aws-sdk-s3/multipart_upload.rb +83 -6
  25. data/lib/aws-sdk-s3/multipart_upload_part.rb +50 -34
  26. data/lib/aws-sdk-s3/object.rb +326 -129
  27. data/lib/aws-sdk-s3/object_acl.rb +11 -5
  28. data/lib/aws-sdk-s3/object_multipart_copier.rb +2 -1
  29. data/lib/aws-sdk-s3/object_summary.rb +240 -96
  30. data/lib/aws-sdk-s3/object_version.rb +60 -13
  31. data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
  32. data/lib/aws-sdk-s3/plugins/endpoints.rb +1 -204
  33. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +11 -20
  34. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +3 -3
  35. data/lib/aws-sdk-s3/plugins/md5s.rb +10 -71
  36. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +5 -7
  37. data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -1
  38. data/lib/aws-sdk-s3/presigner.rb +5 -5
  39. data/lib/aws-sdk-s3/resource.rb +41 -10
  40. data/lib/aws-sdk-s3/types.rb +3423 -1093
  41. data/lib/aws-sdk-s3.rb +1 -1
  42. data/sig/bucket.rbs +27 -9
  43. data/sig/bucket_acl.rbs +1 -1
  44. data/sig/bucket_cors.rbs +1 -1
  45. data/sig/bucket_lifecycle.rbs +1 -1
  46. data/sig/bucket_lifecycle_configuration.rbs +1 -1
  47. data/sig/bucket_logging.rbs +1 -1
  48. data/sig/bucket_policy.rbs +1 -1
  49. data/sig/bucket_request_payment.rbs +1 -1
  50. data/sig/bucket_tagging.rbs +1 -1
  51. data/sig/bucket_versioning.rbs +3 -3
  52. data/sig/bucket_website.rbs +1 -1
  53. data/sig/client.rbs +249 -68
  54. data/sig/errors.rbs +10 -0
  55. data/sig/multipart_upload.rbs +12 -3
  56. data/sig/multipart_upload_part.rbs +5 -1
  57. data/sig/object.rbs +35 -16
  58. data/sig/object_acl.rbs +1 -1
  59. data/sig/object_summary.rbs +26 -16
  60. data/sig/object_version.rbs +9 -3
  61. data/sig/resource.rbs +15 -4
  62. data/sig/types.rbs +339 -65
  63. metadata +7 -10
  64. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +0 -31
@@ -66,7 +66,9 @@ module Aws::S3
66
66
  # providing object expiration information. The value of the `rule-id` is
67
67
  # URL-encoded.
68
68
  #
69
- # <note markdown="1"> This functionality is not supported for directory buckets.
69
+ # <note markdown="1"> Object expiration information is not returned in directory buckets and
70
+ # this header returns the value "`NotImplemented`" in all responses
71
+ # for directory buckets.
70
72
  #
71
73
  # </note>
72
74
  #
@@ -95,9 +97,10 @@ module Aws::S3
95
97
  # For more information about archiving objects, see [Transitioning
96
98
  # Objects: General Considerations][2].
97
99
  #
98
- # <note markdown="1"> This functionality is not supported for directory buckets. Only the S3
99
- # Express One Zone storage class is supported by directory buckets to
100
- # 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.
101
104
  #
102
105
  # </note>
103
106
  #
@@ -132,14 +135,14 @@ module Aws::S3
132
135
  data[:content_length]
133
136
  end
134
137
 
135
- # The base64-encoded, 32-bit CRC-32 checksum of the object. This will
136
- # only be present if it was uploaded with the object. When you use an
137
- # API operation on an object that was uploaded using multipart uploads,
138
- # this value may not be a direct checksum value of the full object.
139
- # Instead, it's a calculation based on the checksum values of each
140
- # individual part. For more information about how checksums are
141
- # calculated with multipart uploads, see [ Checking object integrity][1]
142
- # 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*.
143
146
  #
144
147
  #
145
148
  #
@@ -149,14 +152,14 @@ module Aws::S3
149
152
  data[:checksum_crc32]
150
153
  end
151
154
 
152
- # The base64-encoded, 32-bit CRC-32C checksum of the object. This will
153
- # only be present if it was uploaded with the object. When you use an
154
- # API operation on an object that was uploaded using multipart uploads,
155
- # this value may not be a direct checksum value of the full object.
156
- # Instead, it's a calculation based on the checksum values of each
157
- # individual part. For more information about how checksums are
158
- # calculated with multipart uploads, see [ Checking object integrity][1]
159
- # 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*.
160
163
  #
161
164
  #
162
165
  #
@@ -166,14 +169,26 @@ module Aws::S3
166
169
  data[:checksum_crc32c]
167
170
  end
168
171
 
169
- # The base64-encoded, 160-bit SHA-1 digest of the object. This will only
170
- # be present if it was uploaded with the object. When you use the API
171
- # operation on an object that was uploaded using multipart uploads, this
172
- # value may not be a direct checksum value of the full object. Instead,
173
- # it's a calculation based on the checksum values of each individual
174
- # part. For more information about how checksums are calculated with
175
- # multipart uploads, see [ Checking object integrity][1] in the *Amazon
176
- # 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*.
177
192
  #
178
193
  #
179
194
  #
@@ -183,12 +198,12 @@ module Aws::S3
183
198
  data[:checksum_sha1]
184
199
  end
185
200
 
186
- # The base64-encoded, 256-bit SHA-256 digest of the object. This will
187
- # only be present if it was uploaded with the object. When you use an
188
- # API operation on an object that was uploaded using multipart uploads,
189
- # this value may not be a direct checksum value of the full object.
190
- # Instead, it's a calculation based on the checksum values of each
191
- # 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
192
207
  # calculated with multipart uploads, see [ Checking object integrity][1]
193
208
  # in the *Amazon S3 User Guide*.
194
209
  #
@@ -200,6 +215,21 @@ module Aws::S3
200
215
  data[:checksum_sha256]
201
216
  end
202
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
+
203
233
  # An entity tag (ETag) is an opaque identifier assigned by a web server
204
234
  # to a specific version of a resource found at a URL.
205
235
  # @return [String]
@@ -263,6 +293,13 @@ module Aws::S3
263
293
  data[:content_type]
264
294
  end
265
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
+
266
303
  # The date and time at which the object is no longer cacheable.
267
304
  # @return [Time]
268
305
  def expires
@@ -287,7 +324,12 @@ module Aws::S3
287
324
  end
288
325
 
289
326
  # The server-side encryption algorithm used when you store this object
290
- # in Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
327
+ # in Amazon S3 or Amazon FSx.
328
+ #
329
+ # <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3 access
330
+ # points, the only valid server side encryption option is `aws:fsx`.
331
+ #
332
+ # </note>
291
333
  # @return [String]
292
334
  def server_side_encryption
293
335
  data[:server_side_encryption]
@@ -344,8 +386,10 @@ module Aws::S3
344
386
  #
345
387
  # For more information, see [Storage Classes][1].
346
388
  #
347
- # <note markdown="1"> <b>Directory buckets </b> - Only the S3 Express One Zone storage class
348
- # is supported by directory buckets to store objects.
389
+ # <note markdown="1"> <b>Directory buckets </b> - Directory buckets only support
390
+ # `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
391
+ # Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent Access
392
+ # storage class) in Dedicated Local Zones.
349
393
  #
350
394
  # </note>
351
395
  #
@@ -358,11 +402,17 @@ module Aws::S3
358
402
  end
359
403
 
360
404
  # If present, indicates that the requester was successfully charged for
361
- # the request.
405
+ # the request. For more information, see [Using Requester Pays buckets
406
+ # for storage transfers and usage][1] in the *Amazon Simple Storage
407
+ # Service user guide*.
362
408
  #
363
409
  # <note markdown="1"> This functionality is not supported for directory buckets.
364
410
  #
365
411
  # </note>
412
+ #
413
+ #
414
+ #
415
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
366
416
  # @return [String]
367
417
  def request_charged
368
418
  data[:request_charged]
@@ -425,6 +475,24 @@ module Aws::S3
425
475
  data[:parts_count]
426
476
  end
427
477
 
478
+ # The number of tags, if any, on the object, when you have the relevant
479
+ # permission to read object tags.
480
+ #
481
+ # You can use [GetObjectTagging][1] to retrieve the tag set associated
482
+ # with an object.
483
+ #
484
+ # <note markdown="1"> This functionality is not supported for directory buckets.
485
+ #
486
+ # </note>
487
+ #
488
+ #
489
+ #
490
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
491
+ # @return [Integer]
492
+ def tag_count
493
+ data[:tag_count]
494
+ end
495
+
428
496
  # The Object Lock mode, if any, that's in effect for this object. This
429
497
  # header is only returned if the requester has the
430
498
  # `s3:GetObjectRetention` permission. For more information about S3
@@ -674,7 +742,7 @@ module Aws::S3
674
742
  # object.copy_from({
675
743
  # acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
676
744
  # cache_control: "CacheControl",
677
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
745
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
678
746
  # content_disposition: "ContentDisposition",
679
747
  # content_encoding: "ContentEncoding",
680
748
  # content_language: "ContentLanguage",
@@ -694,8 +762,8 @@ module Aws::S3
694
762
  # },
695
763
  # metadata_directive: "COPY", # accepts COPY, REPLACE
696
764
  # tagging_directive: "COPY", # accepts COPY, REPLACE
697
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
698
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
765
+ # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
766
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
699
767
  # website_redirect_location: "WebsiteRedirectLocation",
700
768
  # sse_customer_algorithm: "SSECustomerAlgorithm",
701
769
  # sse_customer_key: "SSECustomerKey",
@@ -1073,17 +1141,25 @@ module Aws::S3
1073
1141
  # * To encrypt new object copies to a directory bucket with SSE-KMS, we
1074
1142
  # recommend you specify SSE-KMS as the directory bucket's default
1075
1143
  # encryption configuration with a KMS key (specifically, a [customer
1076
- # managed key][4]). [Amazon Web Services managed key][5] (`aws/s3`)
1077
- # isn't supported. Your SSE-KMS configuration can only support 1
1078
- # [customer managed key][4] per directory bucket for the lifetime of
1079
- # the bucket. After you specify a customer managed key for SSE-KMS,
1080
- # you can't override the customer managed key for the bucket's
1081
- # SSE-KMS configuration. Then, when you perform a `CopyObject`
1082
- # operation and want to specify server-side encryption settings for
1083
- # new object copies with SSE-KMS in the encryption-related request
1084
- # headers, you must ensure the encryption key is the same customer
1085
- # managed key that you specified for the directory bucket's default
1086
- # encryption configuration.
1144
+ # managed key][4]). The [Amazon Web Services managed key][5]
1145
+ # (`aws/s3`) isn't supported. Your SSE-KMS configuration can only
1146
+ # support 1 [customer managed key][4] per directory bucket for the
1147
+ # lifetime of the bucket. After you specify a customer managed key for
1148
+ # SSE-KMS, you can't override the customer managed key for the
1149
+ # bucket's SSE-KMS configuration. Then, when you perform a
1150
+ # `CopyObject` operation and want to specify server-side encryption
1151
+ # settings for new object copies with SSE-KMS in the
1152
+ # encryption-related request headers, you must ensure the encryption
1153
+ # key is the same customer managed key that you specified for the
1154
+ # directory bucket's default encryption configuration.
1155
+ #
1156
+ # * <b>S3 access points for Amazon FSx </b> - When accessing data stored
1157
+ # in Amazon FSx file systems using S3 access points, the only valid
1158
+ # server side encryption option is `aws:fsx`. All Amazon FSx file
1159
+ # systems have encryption configured by default and are encrypted at
1160
+ # rest. Data is automatically encrypted before being written to the
1161
+ # file system, and automatically decrypted as it is read. These
1162
+ # processes are handled transparently by Amazon FSx.
1087
1163
  #
1088
1164
  #
1089
1165
  #
@@ -1099,10 +1175,12 @@ module Aws::S3
1099
1175
  # availability. Depending on performance needs, you can specify a
1100
1176
  # different Storage Class.
1101
1177
  #
1102
- # <note markdown="1"> * <b>Directory buckets </b> - For directory buckets, only the S3
1103
- # Express One Zone storage class is supported to store newly created
1104
- # objects. Unsupported storage class values won't write a destination
1105
- # object and will respond with the HTTP status code `400 Bad Request`.
1178
+ # <note markdown="1"> * <b>Directory buckets </b> - Directory buckets only support
1179
+ # `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
1180
+ # Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent
1181
+ # Access storage class) in Dedicated Local Zones. Unsupported storage
1182
+ # class values won't write a destination object and will respond with
1183
+ # the HTTP status code `400 Bad Request`.
1106
1184
  #
1107
1185
  # * <b>Amazon S3 on Outposts </b> - S3 on Outposts only uses the
1108
1186
  # `OUTPOSTS` Storage Class.
@@ -1190,15 +1268,17 @@ module Aws::S3
1190
1268
  # Signature Version in Request Authentication][1] in the *Amazon S3 User
1191
1269
  # Guide*.
1192
1270
  #
1193
- # **Directory buckets** - If you specify `x-amz-server-side-encryption`
1194
- # with `aws:kms`, you must specify the `
1195
- # x-amz-server-side-encryption-aws-kms-key-id` header with the ID (Key
1196
- # ID or Key ARN) of the KMS symmetric encryption customer managed key to
1197
- # use. Otherwise, you get an HTTP `400 Bad Request` error. Only use the
1198
- # key ID or key ARN. The key alias format of the KMS key isn't
1199
- # supported. Your SSE-KMS configuration can only support 1 [customer
1200
- # managed key][2] per directory bucket for the lifetime of the bucket.
1201
- # [Amazon Web Services managed key][3] (`aws/s3`) isn't supported.
1271
+ # **Directory buckets** - To encrypt data using SSE-KMS, it's
1272
+ # recommended to specify the `x-amz-server-side-encryption` header to
1273
+ # `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
1274
+ # header implicitly uses the bucket's default KMS customer managed key
1275
+ # ID. If you want to explicitly set the `
1276
+ # x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
1277
+ # bucket's default customer managed key (using key ID or ARN, not
1278
+ # alias). Your SSE-KMS configuration can only support 1 [customer
1279
+ # managed key][2] per directory bucket's lifetime. The [Amazon Web
1280
+ # Services managed key][3] (`aws/s3`) isn't supported. Incorrect key
1281
+ # specification results in an HTTP `400 Bad Request` error.
1202
1282
  #
1203
1283
  #
1204
1284
  #
@@ -1405,6 +1485,9 @@ module Aws::S3
1405
1485
  # request_payer: "requester", # accepts requester
1406
1486
  # bypass_governance_retention: false,
1407
1487
  # expected_bucket_owner: "AccountId",
1488
+ # if_match: "IfMatch",
1489
+ # if_match_last_modified_time: Time.now,
1490
+ # if_match_size: 1,
1408
1491
  # })
1409
1492
  # @param [Hash] options ({})
1410
1493
  # @option options [String] :mfa
@@ -1451,6 +1534,46 @@ module Aws::S3
1451
1534
  # The account ID of the expected bucket owner. If the account ID that
1452
1535
  # you provide does not match the actual owner of the bucket, the request
1453
1536
  # fails with the HTTP status code `403 Forbidden` (access denied).
1537
+ # @option options [String] :if_match
1538
+ # The `If-Match` header field makes the request method conditional on
1539
+ # ETags. If the ETag value does not match, the operation returns a `412
1540
+ # Precondition Failed` error. If the ETag matches or if the object
1541
+ # doesn't exist, the operation will return a `204 Success (No Content)
1542
+ # response`.
1543
+ #
1544
+ # For more information about conditional requests, see [RFC 7232][1].
1545
+ #
1546
+ # <note markdown="1"> This functionality is only supported for directory buckets.
1547
+ #
1548
+ # </note>
1549
+ #
1550
+ #
1551
+ #
1552
+ # [1]: https://tools.ietf.org/html/rfc7232
1553
+ # @option options [Time,DateTime,Date,Integer,String] :if_match_last_modified_time
1554
+ # If present, the object is deleted only if its modification times
1555
+ # matches the provided `Timestamp`. If the `Timestamp` values do not
1556
+ # match, the operation returns a `412 Precondition Failed` error. If the
1557
+ # `Timestamp` matches or if the object doesn’t exist, the operation
1558
+ # returns a `204 Success (No Content)` response.
1559
+ #
1560
+ # <note markdown="1"> This functionality is only supported for directory buckets.
1561
+ #
1562
+ # </note>
1563
+ # @option options [Integer] :if_match_size
1564
+ # If present, the object is deleted only if its size matches the
1565
+ # provided size in bytes. If the `Size` value does not match, the
1566
+ # operation returns a `412 Precondition Failed` error. If the `Size`
1567
+ # matches or if the object doesn’t exist, the operation returns a `204
1568
+ # Success (No Content)` response.
1569
+ #
1570
+ # <note markdown="1"> This functionality is only supported for directory buckets.
1571
+ #
1572
+ # </note>
1573
+ #
1574
+ # You can use the `If-Match`, `x-amz-if-match-last-modified-time` and
1575
+ # `x-amz-if-match-size` conditional headers in conjunction with
1576
+ # each-other or individually.
1454
1577
  # @return [Types::DeleteObjectOutput]
1455
1578
  def delete(options = {})
1456
1579
  options = options.merge(
@@ -1707,15 +1830,6 @@ module Aws::S3
1707
1830
  # fails with the HTTP status code `403 Forbidden` (access denied).
1708
1831
  # @option options [String] :checksum_mode
1709
1832
  # To retrieve the checksum, this mode must be enabled.
1710
- #
1711
- # **General purpose buckets** - In addition, if you enable checksum mode
1712
- # and the object is uploaded with a [checksum][1] and encrypted with an
1713
- # Key Management Service (KMS) key, you must have permission to use the
1714
- # `kms:Decrypt` action to retrieve the checksum.
1715
- #
1716
- #
1717
- #
1718
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
1719
1833
  # @return [Types::GetObjectOutput]
1720
1834
  def get(options = {}, &block)
1721
1835
  options = options.merge(
@@ -1745,8 +1859,8 @@ module Aws::S3
1745
1859
  # metadata: {
1746
1860
  # "MetadataKey" => "MetadataValue",
1747
1861
  # },
1748
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
1749
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
1862
+ # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
1863
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
1750
1864
  # website_redirect_location: "WebsiteRedirectLocation",
1751
1865
  # sse_customer_algorithm: "SSECustomerAlgorithm",
1752
1866
  # sse_customer_key: "SSECustomerKey",
@@ -1760,7 +1874,8 @@ module Aws::S3
1760
1874
  # object_lock_retain_until_date: Time.now,
1761
1875
  # object_lock_legal_hold_status: "ON", # accepts ON, OFF
1762
1876
  # expected_bucket_owner: "AccountId",
1763
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
1877
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
1878
+ # checksum_type: "COMPOSITE", # accepts COMPOSITE, FULL_OBJECT
1764
1879
  # })
1765
1880
  # @param [Hash] options ({})
1766
1881
  # @option options [String] :acl
@@ -2062,7 +2177,7 @@ module Aws::S3
2062
2177
  # A map of metadata to store with the object in S3.
2063
2178
  # @option options [String] :server_side_encryption
2064
2179
  # The server-side encryption algorithm used when you store this object
2065
- # in Amazon S3 (for example, `AES256`, `aws:kms`).
2180
+ # in Amazon S3 or Amazon FSx.
2066
2181
  #
2067
2182
  # * <b>Directory buckets </b> - For directory buckets, there are only
2068
2183
  # two supported options for server-side encryption: server-side
@@ -2104,6 +2219,14 @@ module Aws::S3
2104
2219
  #
2105
2220
  # </note>
2106
2221
  #
2222
+ # * <b>S3 access points for Amazon FSx </b> - When accessing data stored
2223
+ # in Amazon FSx file systems using S3 access points, the only valid
2224
+ # server side encryption option is `aws:fsx`. All Amazon FSx file
2225
+ # systems have encryption configured by default and are encrypted at
2226
+ # rest. Data is automatically encrypted before being written to the
2227
+ # file system, and automatically decrypted as it is read. These
2228
+ # processes are handled transparently by Amazon FSx.
2229
+ #
2107
2230
  #
2108
2231
  #
2109
2232
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
@@ -2117,8 +2240,9 @@ module Aws::S3
2117
2240
  # a different Storage Class. For more information, see [Storage
2118
2241
  # Classes][1] in the *Amazon S3 User Guide*.
2119
2242
  #
2120
- # <note markdown="1"> * For directory buckets, only the S3 Express One Zone storage class is
2121
- # supported to store newly created objects.
2243
+ # <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express One
2244
+ # Zone storage class) in Availability Zones and `ONEZONE_IA` (the S3
2245
+ # One Zone-Infrequent Access storage class) in Dedicated Local Zones.
2122
2246
  #
2123
2247
  # * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
2124
2248
  #
@@ -2175,15 +2299,17 @@ module Aws::S3
2175
2299
  # `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
2176
2300
  # Amazon Web Services managed key (`aws/s3`) to protect the data.
2177
2301
  #
2178
- # **Directory buckets** - If you specify `x-amz-server-side-encryption`
2179
- # with `aws:kms`, you must specify the `
2180
- # x-amz-server-side-encryption-aws-kms-key-id` header with the ID (Key
2181
- # ID or Key ARN) of the KMS symmetric encryption customer managed key to
2182
- # use. Otherwise, you get an HTTP `400 Bad Request` error. Only use the
2183
- # key ID or key ARN. The key alias format of the KMS key isn't
2184
- # supported. Your SSE-KMS configuration can only support 1 [customer
2185
- # managed key][1] per directory bucket for the lifetime of the bucket.
2186
- # [Amazon Web Services managed key][2] (`aws/s3`) isn't supported.
2302
+ # **Directory buckets** - To encrypt data using SSE-KMS, it's
2303
+ # recommended to specify the `x-amz-server-side-encryption` header to
2304
+ # `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
2305
+ # header implicitly uses the bucket's default KMS customer managed key
2306
+ # ID. If you want to explicitly set the `
2307
+ # x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
2308
+ # bucket's default customer managed key (using key ID or ARN, not
2309
+ # alias). Your SSE-KMS configuration can only support 1 [customer
2310
+ # managed key][1] per directory bucket's lifetime. The [Amazon Web
2311
+ # Services managed key][2] (`aws/s3`) isn't supported. Incorrect key
2312
+ # specification results in an HTTP `400 Bad Request` error.
2187
2313
  #
2188
2314
  #
2189
2315
  #
@@ -2191,7 +2317,7 @@ module Aws::S3
2191
2317
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
2192
2318
  # @option options [String] :ssekms_encryption_context
2193
2319
  # Specifies the Amazon Web Services KMS Encryption Context to use for
2194
- # object encryption. The value of this header is a Base64-encoded string
2320
+ # object encryption. The value of this header is a Base64 encoded string
2195
2321
  # of a UTF-8 encoded JSON, which contains the encryption context as
2196
2322
  # key-value pairs.
2197
2323
  #
@@ -2280,6 +2406,14 @@ module Aws::S3
2280
2406
  #
2281
2407
  #
2282
2408
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
2409
+ # @option options [String] :checksum_type
2410
+ # Indicates the checksum type that you want Amazon S3 to use to
2411
+ # calculate the object’s checksum value. For more information, see
2412
+ # [Checking object integrity in the Amazon S3 User Guide][1].
2413
+ #
2414
+ #
2415
+ #
2416
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
2283
2417
  # @return [MultipartUpload]
2284
2418
  def initiate_multipart_upload(options = {})
2285
2419
  options = options.merge(
@@ -2309,22 +2443,25 @@ module Aws::S3
2309
2443
  # content_length: 1,
2310
2444
  # content_md5: "ContentMD5",
2311
2445
  # content_type: "ContentType",
2312
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
2446
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
2313
2447
  # checksum_crc32: "ChecksumCRC32",
2314
2448
  # checksum_crc32c: "ChecksumCRC32C",
2449
+ # checksum_crc64nvme: "ChecksumCRC64NVME",
2315
2450
  # checksum_sha1: "ChecksumSHA1",
2316
2451
  # checksum_sha256: "ChecksumSHA256",
2317
2452
  # expires: Time.now,
2453
+ # if_match: "IfMatch",
2318
2454
  # if_none_match: "IfNoneMatch",
2319
2455
  # grant_full_control: "GrantFullControl",
2320
2456
  # grant_read: "GrantRead",
2321
2457
  # grant_read_acp: "GrantReadACP",
2322
2458
  # grant_write_acp: "GrantWriteACP",
2459
+ # write_offset_bytes: 1,
2323
2460
  # metadata: {
2324
2461
  # "MetadataKey" => "MetadataValue",
2325
2462
  # },
2326
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
2327
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
2463
+ # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
2464
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
2328
2465
  # website_redirect_location: "WebsiteRedirectLocation",
2329
2466
  # sse_customer_algorithm: "SSECustomerAlgorithm",
2330
2467
  # sse_customer_key: "SSECustomerKey",
@@ -2415,7 +2552,7 @@ module Aws::S3
2415
2552
  #
2416
2553
  # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
2417
2554
  # @option options [String] :content_md5
2418
- # The base64-encoded 128-bit MD5 digest of the message (without the
2555
+ # The Base64 encoded 128-bit `MD5` digest of the message (without the
2419
2556
  # headers) according to RFC 1864. This header can be used as a message
2420
2557
  # integrity check to verify that the data is the same data that was
2421
2558
  # originally sent. Although it is optional, we recommend using the
@@ -2423,10 +2560,11 @@ module Aws::S3
2423
2560
  # information about REST request authentication, see [REST
2424
2561
  # Authentication][1].
2425
2562
  #
2426
- # <note markdown="1"> The `Content-MD5` header is required for any request to upload an
2427
- # object with a retention period configured using Amazon S3 Object Lock.
2428
- # For more information about Amazon S3 Object Lock, see [Amazon S3
2429
- # Object Lock Overview][2] in the *Amazon S3 User Guide*.
2563
+ # <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
2564
+ # for any request to upload an object with a retention period configured
2565
+ # using Amazon S3 Object Lock. For more information, see [Uploading
2566
+ # objects to an Object Lock enabled bucket ][2] in the *Amazon S3 User
2567
+ # Guide*.
2430
2568
  #
2431
2569
  # </note>
2432
2570
  #
@@ -2437,7 +2575,7 @@ module Aws::S3
2437
2575
  #
2438
2576
  #
2439
2577
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
2440
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html
2578
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-put-object
2441
2579
  # @option options [String] :content_type
2442
2580
  # A standard MIME type describing the format of the contents. For more
2443
2581
  # information, see
@@ -2461,6 +2599,8 @@ module Aws::S3
2461
2599
  #
2462
2600
  # * `CRC32C`
2463
2601
  #
2602
+ # * `CRC64NVME`
2603
+ #
2464
2604
  # * `SHA1`
2465
2605
  #
2466
2606
  # * `SHA256`
@@ -2470,22 +2610,28 @@ module Aws::S3
2470
2610
  #
2471
2611
  # If the individual checksum value you provide through
2472
2612
  # `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
2473
- # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 ignores any
2474
- # provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
2475
- # that matches the provided value in `x-amz-checksum-algorithm `.
2613
+ # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
2614
+ # request with a `BadDigest` error.
2476
2615
  #
2477
- # <note markdown="1"> For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
2478
- # is the default checksum algorithm that's used for performance.
2616
+ # <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
2617
+ # for any request to upload an object with a retention period configured
2618
+ # using Amazon S3 Object Lock. For more information, see [Uploading
2619
+ # objects to an Object Lock enabled bucket ][2] in the *Amazon S3 User
2620
+ # Guide*.
2479
2621
  #
2480
2622
  # </note>
2481
2623
  #
2624
+ # For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
2625
+ # is the default checksum algorithm that's used for performance.
2626
+ #
2482
2627
  #
2483
2628
  #
2484
2629
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
2630
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-put-object
2485
2631
  # @option options [String] :checksum_crc32
2486
2632
  # This header can be used as a data integrity check to verify that the
2487
2633
  # data received is the same data that was originally sent. This header
2488
- # specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
2634
+ # specifies the Base64 encoded, 32-bit `CRC32` checksum of the object.
2489
2635
  # For more information, see [Checking object integrity][1] in the
2490
2636
  # *Amazon S3 User Guide*.
2491
2637
  #
@@ -2495,17 +2641,28 @@ module Aws::S3
2495
2641
  # @option options [String] :checksum_crc32c
2496
2642
  # This header can be used as a data integrity check to verify that the
2497
2643
  # data received is the same data that was originally sent. This header
2498
- # specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
2644
+ # specifies the Base64 encoded, 32-bit `CRC32C` checksum of the object.
2499
2645
  # For more information, see [Checking object integrity][1] in the
2500
2646
  # *Amazon S3 User Guide*.
2501
2647
  #
2502
2648
  #
2503
2649
  #
2504
2650
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
2651
+ # @option options [String] :checksum_crc64nvme
2652
+ # This header can be used as a data integrity check to verify that the
2653
+ # data received is the same data that was originally sent. This header
2654
+ # specifies the Base64 encoded, 64-bit `CRC64NVME` checksum of the
2655
+ # object. The `CRC64NVME` checksum is always a full object checksum. For
2656
+ # more information, see [Checking object integrity in the Amazon S3 User
2657
+ # Guide][1].
2658
+ #
2659
+ #
2660
+ #
2661
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
2505
2662
  # @option options [String] :checksum_sha1
2506
2663
  # This header can be used as a data integrity check to verify that the
2507
2664
  # data received is the same data that was originally sent. This header
2508
- # specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
2665
+ # specifies the Base64 encoded, 160-bit `SHA1` digest of the object. For
2509
2666
  # more information, see [Checking object integrity][1] in the *Amazon S3
2510
2667
  # User Guide*.
2511
2668
  #
@@ -2515,7 +2672,7 @@ module Aws::S3
2515
2672
  # @option options [String] :checksum_sha256
2516
2673
  # This header can be used as a data integrity check to verify that the
2517
2674
  # data received is the same data that was originally sent. This header
2518
- # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
2675
+ # specifies the Base64 encoded, 256-bit `SHA256` digest of the object.
2519
2676
  # For more information, see [Checking object integrity][1] in the
2520
2677
  # *Amazon S3 User Guide*.
2521
2678
  #
@@ -2530,6 +2687,25 @@ module Aws::S3
2530
2687
  #
2531
2688
  #
2532
2689
  # [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
2690
+ # @option options [String] :if_match
2691
+ # Uploads the object only if the ETag (entity tag) value provided during
2692
+ # the WRITE operation matches the ETag of the object in S3. If the ETag
2693
+ # values do not match, the operation returns a `412 Precondition Failed`
2694
+ # error.
2695
+ #
2696
+ # If a conflicting operation occurs during the upload S3 returns a `409
2697
+ # ConditionalRequestConflict` response. On a 409 failure you should
2698
+ # fetch the object's ETag and retry the upload.
2699
+ #
2700
+ # Expects the ETag value as a string.
2701
+ #
2702
+ # For more information about conditional requests, see [RFC 7232][1], or
2703
+ # [Conditional requests][2] in the *Amazon S3 User Guide*.
2704
+ #
2705
+ #
2706
+ #
2707
+ # [1]: https://tools.ietf.org/html/rfc7232
2708
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
2533
2709
  # @option options [String] :if_none_match
2534
2710
  # Uploads the object only if the object key name does not already exist
2535
2711
  # in the bucket specified. Otherwise, Amazon S3 returns a `412
@@ -2581,12 +2757,21 @@ module Aws::S3
2581
2757
  # * This functionality is not supported for Amazon S3 on Outposts.
2582
2758
  #
2583
2759
  # </note>
2760
+ # @option options [Integer] :write_offset_bytes
2761
+ # Specifies the offset for appending data to existing objects in bytes.
2762
+ # The offset must be equal to the size of the existing object being
2763
+ # appended to. If no object exists, setting this header to 0 will create
2764
+ # a new object.
2765
+ #
2766
+ # <note markdown="1"> This functionality is only supported for objects in the Amazon S3
2767
+ # Express One Zone storage class in directory buckets.
2768
+ #
2769
+ # </note>
2584
2770
  # @option options [Hash<String,String>] :metadata
2585
2771
  # A map of metadata to store with the object in S3.
2586
2772
  # @option options [String] :server_side_encryption
2587
2773
  # The server-side encryption algorithm that was used when you store this
2588
- # object in Amazon S3 (for example, `AES256`, `aws:kms`,
2589
- # `aws:kms:dsse`).
2774
+ # object in Amazon S3 or Amazon FSx.
2590
2775
  #
2591
2776
  # * <b>General purpose buckets </b> - You have four mutually exclusive
2592
2777
  # options to protect data using server-side encryption in Amazon S3,
@@ -2640,6 +2825,14 @@ module Aws::S3
2640
2825
  #
2641
2826
  # </note>
2642
2827
  #
2828
+ # * <b>S3 access points for Amazon FSx </b> - When accessing data stored
2829
+ # in Amazon FSx file systems using S3 access points, the only valid
2830
+ # server side encryption option is `aws:fsx`. All Amazon FSx file
2831
+ # systems have encryption configured by default and are encrypted at
2832
+ # rest. Data is automatically encrypted before being written to the
2833
+ # file system, and automatically decrypted as it is read. These
2834
+ # processes are handled transparently by Amazon FSx.
2835
+ #
2643
2836
  #
2644
2837
  #
2645
2838
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
@@ -2654,8 +2847,9 @@ module Aws::S3
2654
2847
  # a different Storage Class. For more information, see [Storage
2655
2848
  # Classes][1] in the *Amazon S3 User Guide*.
2656
2849
  #
2657
- # <note markdown="1"> * For directory buckets, only the S3 Express One Zone storage class is
2658
- # supported to store newly created objects.
2850
+ # <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express One
2851
+ # Zone storage class) in Availability Zones and `ONEZONE_IA` (the S3
2852
+ # One Zone-Infrequent Access storage class) in Dedicated Local Zones.
2659
2853
  #
2660
2854
  # * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
2661
2855
  #
@@ -2733,15 +2927,17 @@ module Aws::S3
2733
2927
  # `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
2734
2928
  # Amazon Web Services managed key (`aws/s3`) to protect the data.
2735
2929
  #
2736
- # **Directory buckets** - If you specify `x-amz-server-side-encryption`
2737
- # with `aws:kms`, you must specify the `
2738
- # x-amz-server-side-encryption-aws-kms-key-id` header with the ID (Key
2739
- # ID or Key ARN) of the KMS symmetric encryption customer managed key to
2740
- # use. Otherwise, you get an HTTP `400 Bad Request` error. Only use the
2741
- # key ID or key ARN. The key alias format of the KMS key isn't
2742
- # supported. Your SSE-KMS configuration can only support 1 [customer
2743
- # managed key][1] per directory bucket for the lifetime of the bucket.
2744
- # [Amazon Web Services managed key][2] (`aws/s3`) isn't supported.
2930
+ # **Directory buckets** - To encrypt data using SSE-KMS, it's
2931
+ # recommended to specify the `x-amz-server-side-encryption` header to
2932
+ # `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
2933
+ # header implicitly uses the bucket's default KMS customer managed key
2934
+ # ID. If you want to explicitly set the `
2935
+ # x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
2936
+ # bucket's default customer managed key (using key ID or ARN, not
2937
+ # alias). Your SSE-KMS configuration can only support 1 [customer
2938
+ # managed key][1] per directory bucket's lifetime. The [Amazon Web
2939
+ # Services managed key][2] (`aws/s3`) isn't supported. Incorrect key
2940
+ # specification results in an HTTP `400 Bad Request` error.
2745
2941
  #
2746
2942
  #
2747
2943
  #
@@ -2750,7 +2946,7 @@ module Aws::S3
2750
2946
  # @option options [String] :ssekms_encryption_context
2751
2947
  # Specifies the Amazon Web Services KMS Encryption Context as an
2752
2948
  # additional encryption context to use for object encryption. The value
2753
- # of this header is a Base64-encoded string of a UTF-8 encoded JSON,
2949
+ # of this header is a Base64 encoded string of a UTF-8 encoded JSON,
2754
2950
  # which contains the encryption context as key-value pairs. This value
2755
2951
  # is stored as object metadata and automatically gets passed on to
2756
2952
  # Amazon Web Services KMS for future `GetObject` operations on this
@@ -2909,7 +3105,7 @@ module Aws::S3
2909
3105
  # bucket_name: "BucketName", # required
2910
3106
  # prefix: "LocationPrefix", # required
2911
3107
  # encryption: {
2912
- # encryption_type: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
3108
+ # encryption_type: "AES256", # required, accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
2913
3109
  # kms_key_id: "SSEKMSKeyId",
2914
3110
  # kms_context: "KMSContext",
2915
3111
  # },
@@ -2940,12 +3136,12 @@ module Aws::S3
2940
3136
  # value: "MetadataValue",
2941
3137
  # },
2942
3138
  # ],
2943
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
3139
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
2944
3140
  # },
2945
3141
  # },
2946
3142
  # },
2947
3143
  # request_payer: "requester", # accepts requester
2948
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
3144
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
2949
3145
  # expected_bucket_owner: "AccountId",
2950
3146
  # })
2951
3147
  # @param [Hash] options ({})
@@ -3312,7 +3508,7 @@ module Aws::S3
3312
3508
  # request_payer: "requester", # accepts requester
3313
3509
  # bypass_governance_retention: false,
3314
3510
  # expected_bucket_owner: "AccountId",
3315
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
3511
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
3316
3512
  # })
3317
3513
  # @param options ({})
3318
3514
  # @option options [String] :mfa
@@ -3380,6 +3576,8 @@ module Aws::S3
3380
3576
  #
3381
3577
  # * `CRC32C`
3382
3578
  #
3579
+ # * `CRC64NVME`
3580
+ #
3383
3581
  # * `SHA1`
3384
3582
  #
3385
3583
  # * `SHA256`
@@ -3389,9 +3587,8 @@ module Aws::S3
3389
3587
  #
3390
3588
  # If the individual checksum value you provide through
3391
3589
  # `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
3392
- # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 ignores any
3393
- # provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
3394
- # that matches the provided value in `x-amz-checksum-algorithm `.
3590
+ # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
3591
+ # request with a `BadDigest` error.
3395
3592
  #
3396
3593
  # If you provide an individual checksum, Amazon S3 ignores any provided
3397
3594
  # `ChecksumAlgorithm` parameter.