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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +158 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/bucket.rb +145 -39
- data/lib/aws-sdk-s3/bucket_acl.rb +6 -5
- data/lib/aws-sdk-s3/bucket_cors.rb +6 -5
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +7 -2
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +22 -2
- data/lib/aws-sdk-s3/bucket_logging.rb +2 -2
- data/lib/aws-sdk-s3/bucket_policy.rb +6 -5
- data/lib/aws-sdk-s3/bucket_request_payment.rb +3 -3
- data/lib/aws-sdk-s3/bucket_tagging.rb +3 -3
- data/lib/aws-sdk-s3/bucket_versioning.rb +9 -9
- data/lib/aws-sdk-s3/bucket_website.rb +3 -3
- data/lib/aws-sdk-s3/client.rb +3670 -1773
- data/lib/aws-sdk-s3/client_api.rb +558 -160
- data/lib/aws-sdk-s3/endpoint_parameters.rb +13 -18
- data/lib/aws-sdk-s3/endpoint_provider.rb +400 -276
- data/lib/aws-sdk-s3/endpoints.rb +529 -1403
- data/lib/aws-sdk-s3/errors.rb +55 -0
- data/lib/aws-sdk-s3/file_downloader.rb +14 -31
- data/lib/aws-sdk-s3/legacy_signer.rb +2 -1
- data/lib/aws-sdk-s3/multipart_file_uploader.rb +31 -13
- data/lib/aws-sdk-s3/multipart_upload.rb +83 -6
- data/lib/aws-sdk-s3/multipart_upload_part.rb +50 -34
- data/lib/aws-sdk-s3/object.rb +326 -129
- data/lib/aws-sdk-s3/object_acl.rb +11 -5
- data/lib/aws-sdk-s3/object_multipart_copier.rb +2 -1
- data/lib/aws-sdk-s3/object_summary.rb +240 -96
- data/lib/aws-sdk-s3/object_version.rb +60 -13
- data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
- data/lib/aws-sdk-s3/plugins/endpoints.rb +1 -204
- data/lib/aws-sdk-s3/plugins/express_session_auth.rb +11 -20
- data/lib/aws-sdk-s3/plugins/http_200_errors.rb +3 -3
- data/lib/aws-sdk-s3/plugins/md5s.rb +10 -71
- data/lib/aws-sdk-s3/plugins/streaming_retry.rb +5 -7
- data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -1
- data/lib/aws-sdk-s3/presigner.rb +5 -5
- data/lib/aws-sdk-s3/resource.rb +41 -10
- data/lib/aws-sdk-s3/types.rb +3423 -1093
- data/lib/aws-sdk-s3.rb +1 -1
- data/sig/bucket.rbs +27 -9
- data/sig/bucket_acl.rbs +1 -1
- data/sig/bucket_cors.rbs +1 -1
- data/sig/bucket_lifecycle.rbs +1 -1
- data/sig/bucket_lifecycle_configuration.rbs +1 -1
- data/sig/bucket_logging.rbs +1 -1
- data/sig/bucket_policy.rbs +1 -1
- data/sig/bucket_request_payment.rbs +1 -1
- data/sig/bucket_tagging.rbs +1 -1
- data/sig/bucket_versioning.rbs +3 -3
- data/sig/bucket_website.rbs +1 -1
- data/sig/client.rbs +249 -68
- data/sig/errors.rbs +10 -0
- data/sig/multipart_upload.rbs +12 -3
- data/sig/multipart_upload_part.rbs +5 -1
- data/sig/object.rbs +35 -16
- data/sig/object_acl.rbs +1 -1
- data/sig/object_summary.rbs +26 -16
- data/sig/object_version.rbs +9 -3
- data/sig/resource.rbs +15 -4
- data/sig/types.rbs +339 -65
- metadata +7 -10
- data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +0 -31
data/lib/aws-sdk-s3/object.rb
CHANGED
@@ -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">
|
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.
|
99
|
-
#
|
100
|
-
#
|
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
|
136
|
-
# only be present if
|
137
|
-
# API operation on an object that was uploaded
|
138
|
-
# this value may not be a direct checksum value
|
139
|
-
# Instead, it's a calculation based on the checksum
|
140
|
-
# individual part. For more information about how
|
141
|
-
# calculated with multipart uploads, see [ Checking object
|
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
|
153
|
-
# only
|
154
|
-
# API operation on an object that was uploaded using
|
155
|
-
# this value may not be a direct checksum value of
|
156
|
-
# Instead, it's a calculation based on the checksum
|
157
|
-
# individual part. For more information about how
|
158
|
-
# calculated with multipart uploads, see [ Checking object
|
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
|
170
|
-
#
|
171
|
-
#
|
172
|
-
#
|
173
|
-
#
|
174
|
-
#
|
175
|
-
#
|
176
|
-
#
|
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
|
187
|
-
# only be present if
|
188
|
-
# API operation on an object that was uploaded using multipart
|
189
|
-
# this value may not be a direct checksum value of the full
|
190
|
-
# Instead, it's a calculation based on the checksum values of
|
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
|
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> -
|
348
|
-
#
|
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]
|
1077
|
-
# isn't supported. Your SSE-KMS configuration can only
|
1078
|
-
# [customer managed key][4] per directory bucket for the
|
1079
|
-
# the bucket. After you specify a customer managed key for
|
1080
|
-
# you can't override the customer managed key for the
|
1081
|
-
# SSE-KMS configuration. Then, when you perform a
|
1082
|
-
# operation and want to specify server-side encryption
|
1083
|
-
# new object copies with SSE-KMS in the
|
1084
|
-
# headers, you must ensure the encryption
|
1085
|
-
# managed key that you specified for the
|
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> -
|
1103
|
-
# Express One Zone storage class
|
1104
|
-
#
|
1105
|
-
#
|
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** -
|
1194
|
-
#
|
1195
|
-
# x-amz-server-side-encryption-aws-kms-key-id`
|
1196
|
-
#
|
1197
|
-
#
|
1198
|
-
# key
|
1199
|
-
#
|
1200
|
-
#
|
1201
|
-
#
|
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
|
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"> *
|
2121
|
-
#
|
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** -
|
2179
|
-
#
|
2180
|
-
# x-amz-server-side-encryption-aws-kms-key-id`
|
2181
|
-
#
|
2182
|
-
#
|
2183
|
-
# key
|
2184
|
-
#
|
2185
|
-
#
|
2186
|
-
#
|
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
|
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
|
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
|
2427
|
-
# object with a retention period configured
|
2428
|
-
#
|
2429
|
-
# Object Lock
|
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/
|
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
|
2474
|
-
#
|
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">
|
2478
|
-
#
|
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
|
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
|
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
|
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
|
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
|
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"> *
|
2658
|
-
#
|
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** -
|
2737
|
-
#
|
2738
|
-
# x-amz-server-side-encryption-aws-kms-key-id`
|
2739
|
-
#
|
2740
|
-
#
|
2741
|
-
# key
|
2742
|
-
#
|
2743
|
-
#
|
2744
|
-
#
|
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
|
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
|
3393
|
-
#
|
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.
|