aws-sdk-s3 1.167.0 → 1.208.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 +257 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/bucket.rb +145 -39
- data/lib/aws-sdk-s3/bucket_acl.rb +7 -6
- 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 +42 -9
- data/lib/aws-sdk-s3/bucket_website.rb +3 -3
- data/lib/aws-sdk-s3/client.rb +4313 -1871
- data/lib/aws-sdk-s3/client_api.rb +619 -160
- data/lib/aws-sdk-s3/customizations/object.rb +76 -86
- data/lib/aws-sdk-s3/customizations.rb +4 -1
- data/lib/aws-sdk-s3/default_executor.rb +103 -0
- data/lib/aws-sdk-s3/encryption/client.rb +2 -2
- data/lib/aws-sdk-s3/encryption/default_cipher_provider.rb +2 -0
- data/lib/aws-sdk-s3/encryption/encrypt_handler.rb +2 -0
- data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +2 -0
- data/lib/aws-sdk-s3/encryptionV2/client.rb +98 -23
- data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +7 -162
- data/lib/aws-sdk-s3/encryptionV2/decryption.rb +205 -0
- data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +17 -0
- data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +2 -0
- data/lib/aws-sdk-s3/encryptionV2/io_encrypter.rb +2 -0
- data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +8 -0
- data/lib/aws-sdk-s3/encryptionV2/utils.rb +5 -0
- data/lib/aws-sdk-s3/encryptionV3/client.rb +885 -0
- data/lib/aws-sdk-s3/encryptionV3/decrypt_handler.rb +98 -0
- data/lib/aws-sdk-s3/encryptionV3/decryption.rb +244 -0
- data/lib/aws-sdk-s3/encryptionV3/default_cipher_provider.rb +159 -0
- data/lib/aws-sdk-s3/encryptionV3/default_key_provider.rb +35 -0
- data/lib/aws-sdk-s3/encryptionV3/encrypt_handler.rb +98 -0
- data/lib/aws-sdk-s3/encryptionV3/errors.rb +47 -0
- data/lib/aws-sdk-s3/encryptionV3/io_auth_decrypter.rb +60 -0
- data/lib/aws-sdk-s3/encryptionV3/io_decrypter.rb +35 -0
- data/lib/aws-sdk-s3/encryptionV3/io_encrypter.rb +84 -0
- data/lib/aws-sdk-s3/encryptionV3/key_provider.rb +28 -0
- data/lib/aws-sdk-s3/encryptionV3/kms_cipher_provider.rb +159 -0
- data/lib/aws-sdk-s3/encryptionV3/materials.rb +58 -0
- data/lib/aws-sdk-s3/encryptionV3/utils.rb +321 -0
- data/lib/aws-sdk-s3/encryption_v2.rb +1 -0
- data/lib/aws-sdk-s3/encryption_v3.rb +24 -0
- data/lib/aws-sdk-s3/endpoint_parameters.rb +30 -35
- data/lib/aws-sdk-s3/endpoint_provider.rb +572 -278
- data/lib/aws-sdk-s3/endpoints.rb +555 -1403
- data/lib/aws-sdk-s3/errors.rb +55 -0
- data/lib/aws-sdk-s3/file_downloader.rb +189 -143
- data/lib/aws-sdk-s3/file_uploader.rb +9 -13
- data/lib/aws-sdk-s3/legacy_signer.rb +2 -1
- data/lib/aws-sdk-s3/multipart_download_error.rb +8 -0
- data/lib/aws-sdk-s3/multipart_file_uploader.rb +105 -102
- data/lib/aws-sdk-s3/multipart_stream_uploader.rb +96 -107
- data/lib/aws-sdk-s3/multipart_upload.rb +83 -6
- data/lib/aws-sdk-s3/multipart_upload_error.rb +3 -4
- data/lib/aws-sdk-s3/multipart_upload_part.rb +50 -34
- data/lib/aws-sdk-s3/object.rb +357 -131
- data/lib/aws-sdk-s3/object_acl.rb +12 -6
- data/lib/aws-sdk-s3/object_multipart_copier.rb +2 -1
- data/lib/aws-sdk-s3/object_summary.rb +269 -96
- data/lib/aws-sdk-s3/object_version.rb +58 -13
- data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
- data/lib/aws-sdk-s3/plugins/endpoints.rb +2 -205
- 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/transfer_manager.rb +303 -0
- data/lib/aws-sdk-s3/types.rb +3758 -1264
- 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 +279 -70
- 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 +37 -16
- data/sig/object_acl.rbs +1 -1
- data/sig/object_summary.rbs +28 -16
- data/sig/object_version.rbs +9 -3
- data/sig/resource.rbs +15 -4
- data/sig/types.rbs +373 -66
- metadata +26 -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
|
|
137
|
-
# API operation on an object that was uploaded using
|
|
138
|
-
# this value may not be a direct checksum value of
|
|
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 present if the checksum was uploaded with the object.
|
|
140
|
+
# When you use an API operation on an object that was uploaded using
|
|
141
|
+
# multipart uploads, this value may not be a direct checksum value of
|
|
142
|
+
# 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 checksum
|
|
185
|
+
# is only present if the checksum 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,14 +198,14 @@ module Aws::S3
|
|
|
183
198
|
data[:checksum_sha1]
|
|
184
199
|
end
|
|
185
200
|
|
|
186
|
-
# The
|
|
187
|
-
# only
|
|
188
|
-
# API operation on an object that was uploaded using
|
|
189
|
-
# this value may not be a direct checksum value of
|
|
190
|
-
# Instead, it's a calculation based on the checksum
|
|
191
|
-
# individual part. For more information about how
|
|
192
|
-
# calculated with multipart uploads, see [ Checking object
|
|
193
|
-
# in the *Amazon S3 User Guide*.
|
|
201
|
+
# The Base64 encoded, 256-bit `SHA256` digest of the object. This
|
|
202
|
+
# checksum is only present if the checksum was uploaded with the object.
|
|
203
|
+
# When you use an API operation on an object that was uploaded using
|
|
204
|
+
# multipart uploads, this value may not be a direct checksum value of
|
|
205
|
+
# the full object. Instead, it's a calculation based on the checksum
|
|
206
|
+
# values of each individual part. For more information about how
|
|
207
|
+
# checksums are calculated with multipart uploads, see [ Checking object
|
|
208
|
+
# integrity][1] in the *Amazon S3 User Guide*.
|
|
194
209
|
#
|
|
195
210
|
#
|
|
196
211
|
#
|
|
@@ -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",
|
|
@@ -689,13 +757,15 @@ module Aws::S3
|
|
|
689
757
|
# grant_read: "GrantRead",
|
|
690
758
|
# grant_read_acp: "GrantReadACP",
|
|
691
759
|
# grant_write_acp: "GrantWriteACP",
|
|
760
|
+
# if_match: "IfMatch",
|
|
761
|
+
# if_none_match: "IfNoneMatch",
|
|
692
762
|
# metadata: {
|
|
693
763
|
# "MetadataKey" => "MetadataValue",
|
|
694
764
|
# },
|
|
695
765
|
# metadata_directive: "COPY", # accepts COPY, REPLACE
|
|
696
766
|
# 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
|
|
767
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
|
768
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS, FSX_ONTAP
|
|
699
769
|
# website_redirect_location: "WebsiteRedirectLocation",
|
|
700
770
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
|
701
771
|
# sse_customer_key: "SSECustomerKey",
|
|
@@ -945,6 +1015,35 @@ module Aws::S3
|
|
|
945
1015
|
# * This functionality is not supported for Amazon S3 on Outposts.
|
|
946
1016
|
#
|
|
947
1017
|
# </note>
|
|
1018
|
+
# @option options [String] :if_match
|
|
1019
|
+
# Copies the object if the entity tag (ETag) of the destination object
|
|
1020
|
+
# matches the specified tag. If the ETag values do not match, the
|
|
1021
|
+
# operation returns a `412 Precondition Failed` error. If a concurrent
|
|
1022
|
+
# operation occurs during the upload S3 returns a `409
|
|
1023
|
+
# ConditionalRequestConflict` response. On a 409 failure you should
|
|
1024
|
+
# fetch the object's ETag and retry the upload.
|
|
1025
|
+
#
|
|
1026
|
+
# Expects the ETag value as a string.
|
|
1027
|
+
#
|
|
1028
|
+
# For more information about conditional requests, see [RFC 7232][1].
|
|
1029
|
+
#
|
|
1030
|
+
#
|
|
1031
|
+
#
|
|
1032
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
|
1033
|
+
# @option options [String] :if_none_match
|
|
1034
|
+
# Copies the object only if the object key name at the destination does
|
|
1035
|
+
# not already exist in the bucket specified. Otherwise, Amazon S3
|
|
1036
|
+
# returns a `412 Precondition Failed` error. If a concurrent operation
|
|
1037
|
+
# occurs during the upload S3 returns a `409 ConditionalRequestConflict`
|
|
1038
|
+
# response. On a 409 failure you should retry the upload.
|
|
1039
|
+
#
|
|
1040
|
+
# Expects the '*' (asterisk) character.
|
|
1041
|
+
#
|
|
1042
|
+
# For more information about conditional requests, see [RFC 7232][1].
|
|
1043
|
+
#
|
|
1044
|
+
#
|
|
1045
|
+
#
|
|
1046
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
|
948
1047
|
# @option options [Hash<String,String>] :metadata
|
|
949
1048
|
# A map of metadata to store with the object in S3.
|
|
950
1049
|
# @option options [String] :metadata_directive
|
|
@@ -1073,17 +1172,25 @@ module Aws::S3
|
|
|
1073
1172
|
# * To encrypt new object copies to a directory bucket with SSE-KMS, we
|
|
1074
1173
|
# recommend you specify SSE-KMS as the directory bucket's default
|
|
1075
1174
|
# 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.
|
|
1175
|
+
# managed key][4]). The [Amazon Web Services managed key][5]
|
|
1176
|
+
# (`aws/s3`) isn't supported. Your SSE-KMS configuration can only
|
|
1177
|
+
# support 1 [customer managed key][4] per directory bucket for the
|
|
1178
|
+
# lifetime of the bucket. After you specify a customer managed key for
|
|
1179
|
+
# SSE-KMS, you can't override the customer managed key for the
|
|
1180
|
+
# bucket's SSE-KMS configuration. Then, when you perform a
|
|
1181
|
+
# `CopyObject` operation and want to specify server-side encryption
|
|
1182
|
+
# settings for new object copies with SSE-KMS in the
|
|
1183
|
+
# encryption-related request headers, you must ensure the encryption
|
|
1184
|
+
# key is the same customer managed key that you specified for the
|
|
1185
|
+
# directory bucket's default encryption configuration.
|
|
1186
|
+
#
|
|
1187
|
+
# * <b>S3 access points for Amazon FSx </b> - When accessing data stored
|
|
1188
|
+
# in Amazon FSx file systems using S3 access points, the only valid
|
|
1189
|
+
# server side encryption option is `aws:fsx`. All Amazon FSx file
|
|
1190
|
+
# systems have encryption configured by default and are encrypted at
|
|
1191
|
+
# rest. Data is automatically encrypted before being written to the
|
|
1192
|
+
# file system, and automatically decrypted as it is read. These
|
|
1193
|
+
# processes are handled transparently by Amazon FSx.
|
|
1087
1194
|
#
|
|
1088
1195
|
#
|
|
1089
1196
|
#
|
|
@@ -1099,10 +1206,12 @@ module Aws::S3
|
|
|
1099
1206
|
# availability. Depending on performance needs, you can specify a
|
|
1100
1207
|
# different Storage Class.
|
|
1101
1208
|
#
|
|
1102
|
-
# <note markdown="1"> * <b>Directory buckets </b> -
|
|
1103
|
-
# Express One Zone storage class
|
|
1104
|
-
#
|
|
1105
|
-
#
|
|
1209
|
+
# <note markdown="1"> * <b>Directory buckets </b> - Directory buckets only support
|
|
1210
|
+
# `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
|
|
1211
|
+
# Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent
|
|
1212
|
+
# Access storage class) in Dedicated Local Zones. Unsupported storage
|
|
1213
|
+
# class values won't write a destination object and will respond with
|
|
1214
|
+
# the HTTP status code `400 Bad Request`.
|
|
1106
1215
|
#
|
|
1107
1216
|
# * <b>Amazon S3 on Outposts </b> - S3 on Outposts only uses the
|
|
1108
1217
|
# `OUTPOSTS` Storage Class.
|
|
@@ -1190,15 +1299,17 @@ module Aws::S3
|
|
|
1190
1299
|
# Signature Version in Request Authentication][1] in the *Amazon S3 User
|
|
1191
1300
|
# Guide*.
|
|
1192
1301
|
#
|
|
1193
|
-
# **Directory buckets** -
|
|
1194
|
-
#
|
|
1195
|
-
# x-amz-server-side-encryption-aws-kms-key-id`
|
|
1196
|
-
#
|
|
1197
|
-
#
|
|
1198
|
-
# key
|
|
1199
|
-
#
|
|
1200
|
-
#
|
|
1201
|
-
#
|
|
1302
|
+
# **Directory buckets** - To encrypt data using SSE-KMS, it's
|
|
1303
|
+
# recommended to specify the `x-amz-server-side-encryption` header to
|
|
1304
|
+
# `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
|
|
1305
|
+
# header implicitly uses the bucket's default KMS customer managed key
|
|
1306
|
+
# ID. If you want to explicitly set the `
|
|
1307
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
|
|
1308
|
+
# bucket's default customer managed key (using key ID or ARN, not
|
|
1309
|
+
# alias). Your SSE-KMS configuration can only support 1 [customer
|
|
1310
|
+
# managed key][2] per directory bucket's lifetime. The [Amazon Web
|
|
1311
|
+
# Services managed key][3] (`aws/s3`) isn't supported. Incorrect key
|
|
1312
|
+
# specification results in an HTTP `400 Bad Request` error.
|
|
1202
1313
|
#
|
|
1203
1314
|
#
|
|
1204
1315
|
#
|
|
@@ -1405,6 +1516,9 @@ module Aws::S3
|
|
|
1405
1516
|
# request_payer: "requester", # accepts requester
|
|
1406
1517
|
# bypass_governance_retention: false,
|
|
1407
1518
|
# expected_bucket_owner: "AccountId",
|
|
1519
|
+
# if_match: "IfMatch",
|
|
1520
|
+
# if_match_last_modified_time: Time.now,
|
|
1521
|
+
# if_match_size: 1,
|
|
1408
1522
|
# })
|
|
1409
1523
|
# @param [Hash] options ({})
|
|
1410
1524
|
# @option options [String] :mfa
|
|
@@ -1451,6 +1565,44 @@ module Aws::S3
|
|
|
1451
1565
|
# The account ID of the expected bucket owner. If the account ID that
|
|
1452
1566
|
# you provide does not match the actual owner of the bucket, the request
|
|
1453
1567
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
|
1568
|
+
# @option options [String] :if_match
|
|
1569
|
+
# Deletes the object if the ETag (entity tag) value provided during the
|
|
1570
|
+
# delete operation matches the ETag of the object in S3. If the ETag
|
|
1571
|
+
# values do not match, the operation returns a `412 Precondition Failed`
|
|
1572
|
+
# error.
|
|
1573
|
+
#
|
|
1574
|
+
# Expects the ETag value as a string. `If-Match` does accept a string
|
|
1575
|
+
# value of an '*' (asterisk) character to denote a match of any ETag.
|
|
1576
|
+
#
|
|
1577
|
+
# For more information about conditional requests, see [RFC 7232][1].
|
|
1578
|
+
#
|
|
1579
|
+
#
|
|
1580
|
+
#
|
|
1581
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
|
1582
|
+
# @option options [Time,DateTime,Date,Integer,String] :if_match_last_modified_time
|
|
1583
|
+
# If present, the object is deleted only if its modification times
|
|
1584
|
+
# matches the provided `Timestamp`. If the `Timestamp` values do not
|
|
1585
|
+
# match, the operation returns a `412 Precondition Failed` error. If the
|
|
1586
|
+
# `Timestamp` matches or if the object doesn’t exist, the operation
|
|
1587
|
+
# returns a `204 Success (No Content)` response.
|
|
1588
|
+
#
|
|
1589
|
+
# <note markdown="1"> This functionality is only supported for directory buckets.
|
|
1590
|
+
#
|
|
1591
|
+
# </note>
|
|
1592
|
+
# @option options [Integer] :if_match_size
|
|
1593
|
+
# If present, the object is deleted only if its size matches the
|
|
1594
|
+
# provided size in bytes. If the `Size` value does not match, the
|
|
1595
|
+
# operation returns a `412 Precondition Failed` error. If the `Size`
|
|
1596
|
+
# matches or if the object doesn’t exist, the operation returns a `204
|
|
1597
|
+
# Success (No Content)` response.
|
|
1598
|
+
#
|
|
1599
|
+
# <note markdown="1"> This functionality is only supported for directory buckets.
|
|
1600
|
+
#
|
|
1601
|
+
# </note>
|
|
1602
|
+
#
|
|
1603
|
+
# You can use the `If-Match`, `x-amz-if-match-last-modified-time` and
|
|
1604
|
+
# `x-amz-if-match-size` conditional headers in conjunction with
|
|
1605
|
+
# each-other or individually.
|
|
1454
1606
|
# @return [Types::DeleteObjectOutput]
|
|
1455
1607
|
def delete(options = {})
|
|
1456
1608
|
options = options.merge(
|
|
@@ -1707,15 +1859,6 @@ module Aws::S3
|
|
|
1707
1859
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
|
1708
1860
|
# @option options [String] :checksum_mode
|
|
1709
1861
|
# 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
1862
|
# @return [Types::GetObjectOutput]
|
|
1720
1863
|
def get(options = {}, &block)
|
|
1721
1864
|
options = options.merge(
|
|
@@ -1745,8 +1888,8 @@ module Aws::S3
|
|
|
1745
1888
|
# metadata: {
|
|
1746
1889
|
# "MetadataKey" => "MetadataValue",
|
|
1747
1890
|
# },
|
|
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
|
|
1891
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
|
1892
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS, FSX_ONTAP
|
|
1750
1893
|
# website_redirect_location: "WebsiteRedirectLocation",
|
|
1751
1894
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
|
1752
1895
|
# sse_customer_key: "SSECustomerKey",
|
|
@@ -1760,7 +1903,8 @@ module Aws::S3
|
|
|
1760
1903
|
# object_lock_retain_until_date: Time.now,
|
|
1761
1904
|
# object_lock_legal_hold_status: "ON", # accepts ON, OFF
|
|
1762
1905
|
# expected_bucket_owner: "AccountId",
|
|
1763
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
|
1906
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
|
1907
|
+
# checksum_type: "COMPOSITE", # accepts COMPOSITE, FULL_OBJECT
|
|
1764
1908
|
# })
|
|
1765
1909
|
# @param [Hash] options ({})
|
|
1766
1910
|
# @option options [String] :acl
|
|
@@ -2062,7 +2206,7 @@ module Aws::S3
|
|
|
2062
2206
|
# A map of metadata to store with the object in S3.
|
|
2063
2207
|
# @option options [String] :server_side_encryption
|
|
2064
2208
|
# The server-side encryption algorithm used when you store this object
|
|
2065
|
-
# in Amazon S3
|
|
2209
|
+
# in Amazon S3 or Amazon FSx.
|
|
2066
2210
|
#
|
|
2067
2211
|
# * <b>Directory buckets </b> - For directory buckets, there are only
|
|
2068
2212
|
# two supported options for server-side encryption: server-side
|
|
@@ -2104,6 +2248,14 @@ module Aws::S3
|
|
|
2104
2248
|
#
|
|
2105
2249
|
# </note>
|
|
2106
2250
|
#
|
|
2251
|
+
# * <b>S3 access points for Amazon FSx </b> - When accessing data stored
|
|
2252
|
+
# in Amazon FSx file systems using S3 access points, the only valid
|
|
2253
|
+
# server side encryption option is `aws:fsx`. All Amazon FSx file
|
|
2254
|
+
# systems have encryption configured by default and are encrypted at
|
|
2255
|
+
# rest. Data is automatically encrypted before being written to the
|
|
2256
|
+
# file system, and automatically decrypted as it is read. These
|
|
2257
|
+
# processes are handled transparently by Amazon FSx.
|
|
2258
|
+
#
|
|
2107
2259
|
#
|
|
2108
2260
|
#
|
|
2109
2261
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
|
@@ -2117,8 +2269,9 @@ module Aws::S3
|
|
|
2117
2269
|
# a different Storage Class. For more information, see [Storage
|
|
2118
2270
|
# Classes][1] in the *Amazon S3 User Guide*.
|
|
2119
2271
|
#
|
|
2120
|
-
# <note markdown="1"> *
|
|
2121
|
-
#
|
|
2272
|
+
# <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express One
|
|
2273
|
+
# Zone storage class) in Availability Zones and `ONEZONE_IA` (the S3
|
|
2274
|
+
# One Zone-Infrequent Access storage class) in Dedicated Local Zones.
|
|
2122
2275
|
#
|
|
2123
2276
|
# * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
|
|
2124
2277
|
#
|
|
@@ -2175,15 +2328,17 @@ module Aws::S3
|
|
|
2175
2328
|
# `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
|
2176
2329
|
# Amazon Web Services managed key (`aws/s3`) to protect the data.
|
|
2177
2330
|
#
|
|
2178
|
-
# **Directory buckets** -
|
|
2179
|
-
#
|
|
2180
|
-
# x-amz-server-side-encryption-aws-kms-key-id`
|
|
2181
|
-
#
|
|
2182
|
-
#
|
|
2183
|
-
# key
|
|
2184
|
-
#
|
|
2185
|
-
#
|
|
2186
|
-
#
|
|
2331
|
+
# **Directory buckets** - To encrypt data using SSE-KMS, it's
|
|
2332
|
+
# recommended to specify the `x-amz-server-side-encryption` header to
|
|
2333
|
+
# `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
|
|
2334
|
+
# header implicitly uses the bucket's default KMS customer managed key
|
|
2335
|
+
# ID. If you want to explicitly set the `
|
|
2336
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
|
|
2337
|
+
# bucket's default customer managed key (using key ID or ARN, not
|
|
2338
|
+
# alias). Your SSE-KMS configuration can only support 1 [customer
|
|
2339
|
+
# managed key][1] per directory bucket's lifetime. The [Amazon Web
|
|
2340
|
+
# Services managed key][2] (`aws/s3`) isn't supported. Incorrect key
|
|
2341
|
+
# specification results in an HTTP `400 Bad Request` error.
|
|
2187
2342
|
#
|
|
2188
2343
|
#
|
|
2189
2344
|
#
|
|
@@ -2191,7 +2346,7 @@ module Aws::S3
|
|
|
2191
2346
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
|
2192
2347
|
# @option options [String] :ssekms_encryption_context
|
|
2193
2348
|
# Specifies the Amazon Web Services KMS Encryption Context to use for
|
|
2194
|
-
# object encryption. The value of this header is a Base64
|
|
2349
|
+
# object encryption. The value of this header is a Base64 encoded string
|
|
2195
2350
|
# of a UTF-8 encoded JSON, which contains the encryption context as
|
|
2196
2351
|
# key-value pairs.
|
|
2197
2352
|
#
|
|
@@ -2280,6 +2435,14 @@ module Aws::S3
|
|
|
2280
2435
|
#
|
|
2281
2436
|
#
|
|
2282
2437
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
|
2438
|
+
# @option options [String] :checksum_type
|
|
2439
|
+
# Indicates the checksum type that you want Amazon S3 to use to
|
|
2440
|
+
# calculate the object’s checksum value. For more information, see
|
|
2441
|
+
# [Checking object integrity in the Amazon S3 User Guide][1].
|
|
2442
|
+
#
|
|
2443
|
+
#
|
|
2444
|
+
#
|
|
2445
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
|
2283
2446
|
# @return [MultipartUpload]
|
|
2284
2447
|
def initiate_multipart_upload(options = {})
|
|
2285
2448
|
options = options.merge(
|
|
@@ -2309,22 +2472,25 @@ module Aws::S3
|
|
|
2309
2472
|
# content_length: 1,
|
|
2310
2473
|
# content_md5: "ContentMD5",
|
|
2311
2474
|
# content_type: "ContentType",
|
|
2312
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
|
2475
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
|
2313
2476
|
# checksum_crc32: "ChecksumCRC32",
|
|
2314
2477
|
# checksum_crc32c: "ChecksumCRC32C",
|
|
2478
|
+
# checksum_crc64nvme: "ChecksumCRC64NVME",
|
|
2315
2479
|
# checksum_sha1: "ChecksumSHA1",
|
|
2316
2480
|
# checksum_sha256: "ChecksumSHA256",
|
|
2317
2481
|
# expires: Time.now,
|
|
2482
|
+
# if_match: "IfMatch",
|
|
2318
2483
|
# if_none_match: "IfNoneMatch",
|
|
2319
2484
|
# grant_full_control: "GrantFullControl",
|
|
2320
2485
|
# grant_read: "GrantRead",
|
|
2321
2486
|
# grant_read_acp: "GrantReadACP",
|
|
2322
2487
|
# grant_write_acp: "GrantWriteACP",
|
|
2488
|
+
# write_offset_bytes: 1,
|
|
2323
2489
|
# metadata: {
|
|
2324
2490
|
# "MetadataKey" => "MetadataValue",
|
|
2325
2491
|
# },
|
|
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
|
|
2492
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
|
2493
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS, FSX_ONTAP
|
|
2328
2494
|
# website_redirect_location: "WebsiteRedirectLocation",
|
|
2329
2495
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
|
2330
2496
|
# sse_customer_key: "SSECustomerKey",
|
|
@@ -2415,7 +2581,7 @@ module Aws::S3
|
|
|
2415
2581
|
#
|
|
2416
2582
|
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
|
|
2417
2583
|
# @option options [String] :content_md5
|
|
2418
|
-
# The
|
|
2584
|
+
# The Base64 encoded 128-bit `MD5` digest of the message (without the
|
|
2419
2585
|
# headers) according to RFC 1864. This header can be used as a message
|
|
2420
2586
|
# integrity check to verify that the data is the same data that was
|
|
2421
2587
|
# originally sent. Although it is optional, we recommend using the
|
|
@@ -2423,10 +2589,11 @@ module Aws::S3
|
|
|
2423
2589
|
# information about REST request authentication, see [REST
|
|
2424
2590
|
# Authentication][1].
|
|
2425
2591
|
#
|
|
2426
|
-
# <note markdown="1"> The `Content-MD5` header is required
|
|
2427
|
-
# object with a retention period configured
|
|
2428
|
-
#
|
|
2429
|
-
# Object Lock
|
|
2592
|
+
# <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
|
|
2593
|
+
# for any request to upload an object with a retention period configured
|
|
2594
|
+
# using Amazon S3 Object Lock. For more information, see [Uploading
|
|
2595
|
+
# objects to an Object Lock enabled bucket ][2] in the *Amazon S3 User
|
|
2596
|
+
# Guide*.
|
|
2430
2597
|
#
|
|
2431
2598
|
# </note>
|
|
2432
2599
|
#
|
|
@@ -2437,7 +2604,7 @@ module Aws::S3
|
|
|
2437
2604
|
#
|
|
2438
2605
|
#
|
|
2439
2606
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
|
|
2440
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/
|
|
2607
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-put-object
|
|
2441
2608
|
# @option options [String] :content_type
|
|
2442
2609
|
# A standard MIME type describing the format of the contents. For more
|
|
2443
2610
|
# information, see
|
|
@@ -2461,6 +2628,8 @@ module Aws::S3
|
|
|
2461
2628
|
#
|
|
2462
2629
|
# * `CRC32C`
|
|
2463
2630
|
#
|
|
2631
|
+
# * `CRC64NVME`
|
|
2632
|
+
#
|
|
2464
2633
|
# * `SHA1`
|
|
2465
2634
|
#
|
|
2466
2635
|
# * `SHA256`
|
|
@@ -2470,22 +2639,28 @@ module Aws::S3
|
|
|
2470
2639
|
#
|
|
2471
2640
|
# If the individual checksum value you provide through
|
|
2472
2641
|
# `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 `.
|
|
2642
|
+
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
|
|
2643
|
+
# request with a `BadDigest` error.
|
|
2476
2644
|
#
|
|
2477
|
-
# <note markdown="1">
|
|
2478
|
-
#
|
|
2645
|
+
# <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
|
|
2646
|
+
# for any request to upload an object with a retention period configured
|
|
2647
|
+
# using Amazon S3 Object Lock. For more information, see [Uploading
|
|
2648
|
+
# objects to an Object Lock enabled bucket ][2] in the *Amazon S3 User
|
|
2649
|
+
# Guide*.
|
|
2479
2650
|
#
|
|
2480
2651
|
# </note>
|
|
2481
2652
|
#
|
|
2653
|
+
# For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
|
|
2654
|
+
# is the default checksum algorithm that's used for performance.
|
|
2655
|
+
#
|
|
2482
2656
|
#
|
|
2483
2657
|
#
|
|
2484
2658
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
|
2659
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-put-object
|
|
2485
2660
|
# @option options [String] :checksum_crc32
|
|
2486
2661
|
# This header can be used as a data integrity check to verify that the
|
|
2487
2662
|
# data received is the same data that was originally sent. This header
|
|
2488
|
-
# specifies the
|
|
2663
|
+
# specifies the Base64 encoded, 32-bit `CRC32` checksum of the object.
|
|
2489
2664
|
# For more information, see [Checking object integrity][1] in the
|
|
2490
2665
|
# *Amazon S3 User Guide*.
|
|
2491
2666
|
#
|
|
@@ -2495,17 +2670,28 @@ module Aws::S3
|
|
|
2495
2670
|
# @option options [String] :checksum_crc32c
|
|
2496
2671
|
# This header can be used as a data integrity check to verify that the
|
|
2497
2672
|
# data received is the same data that was originally sent. This header
|
|
2498
|
-
# specifies the
|
|
2673
|
+
# specifies the Base64 encoded, 32-bit `CRC32C` checksum of the object.
|
|
2499
2674
|
# For more information, see [Checking object integrity][1] in the
|
|
2500
2675
|
# *Amazon S3 User Guide*.
|
|
2501
2676
|
#
|
|
2502
2677
|
#
|
|
2503
2678
|
#
|
|
2504
2679
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
|
2680
|
+
# @option options [String] :checksum_crc64nvme
|
|
2681
|
+
# This header can be used as a data integrity check to verify that the
|
|
2682
|
+
# data received is the same data that was originally sent. This header
|
|
2683
|
+
# specifies the Base64 encoded, 64-bit `CRC64NVME` checksum of the
|
|
2684
|
+
# object. The `CRC64NVME` checksum is always a full object checksum. For
|
|
2685
|
+
# more information, see [Checking object integrity in the Amazon S3 User
|
|
2686
|
+
# Guide][1].
|
|
2687
|
+
#
|
|
2688
|
+
#
|
|
2689
|
+
#
|
|
2690
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
|
2505
2691
|
# @option options [String] :checksum_sha1
|
|
2506
2692
|
# This header can be used as a data integrity check to verify that the
|
|
2507
2693
|
# data received is the same data that was originally sent. This header
|
|
2508
|
-
# specifies the
|
|
2694
|
+
# specifies the Base64 encoded, 160-bit `SHA1` digest of the object. For
|
|
2509
2695
|
# more information, see [Checking object integrity][1] in the *Amazon S3
|
|
2510
2696
|
# User Guide*.
|
|
2511
2697
|
#
|
|
@@ -2515,7 +2701,7 @@ module Aws::S3
|
|
|
2515
2701
|
# @option options [String] :checksum_sha256
|
|
2516
2702
|
# This header can be used as a data integrity check to verify that the
|
|
2517
2703
|
# data received is the same data that was originally sent. This header
|
|
2518
|
-
# specifies the
|
|
2704
|
+
# specifies the Base64 encoded, 256-bit `SHA256` digest of the object.
|
|
2519
2705
|
# For more information, see [Checking object integrity][1] in the
|
|
2520
2706
|
# *Amazon S3 User Guide*.
|
|
2521
2707
|
#
|
|
@@ -2530,6 +2716,25 @@ module Aws::S3
|
|
|
2530
2716
|
#
|
|
2531
2717
|
#
|
|
2532
2718
|
# [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
|
|
2719
|
+
# @option options [String] :if_match
|
|
2720
|
+
# Uploads the object only if the ETag (entity tag) value provided during
|
|
2721
|
+
# the WRITE operation matches the ETag of the object in S3. If the ETag
|
|
2722
|
+
# values do not match, the operation returns a `412 Precondition Failed`
|
|
2723
|
+
# error.
|
|
2724
|
+
#
|
|
2725
|
+
# If a conflicting operation occurs during the upload S3 returns a `409
|
|
2726
|
+
# ConditionalRequestConflict` response. On a 409 failure you should
|
|
2727
|
+
# fetch the object's ETag and retry the upload.
|
|
2728
|
+
#
|
|
2729
|
+
# Expects the ETag value as a string.
|
|
2730
|
+
#
|
|
2731
|
+
# For more information about conditional requests, see [RFC 7232][1], or
|
|
2732
|
+
# [Conditional requests][2] in the *Amazon S3 User Guide*.
|
|
2733
|
+
#
|
|
2734
|
+
#
|
|
2735
|
+
#
|
|
2736
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
|
2737
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
|
|
2533
2738
|
# @option options [String] :if_none_match
|
|
2534
2739
|
# Uploads the object only if the object key name does not already exist
|
|
2535
2740
|
# in the bucket specified. Otherwise, Amazon S3 returns a `412
|
|
@@ -2581,12 +2786,21 @@ module Aws::S3
|
|
|
2581
2786
|
# * This functionality is not supported for Amazon S3 on Outposts.
|
|
2582
2787
|
#
|
|
2583
2788
|
# </note>
|
|
2789
|
+
# @option options [Integer] :write_offset_bytes
|
|
2790
|
+
# Specifies the offset for appending data to existing objects in bytes.
|
|
2791
|
+
# The offset must be equal to the size of the existing object being
|
|
2792
|
+
# appended to. If no object exists, setting this header to 0 will create
|
|
2793
|
+
# a new object.
|
|
2794
|
+
#
|
|
2795
|
+
# <note markdown="1"> This functionality is only supported for objects in the Amazon S3
|
|
2796
|
+
# Express One Zone storage class in directory buckets.
|
|
2797
|
+
#
|
|
2798
|
+
# </note>
|
|
2584
2799
|
# @option options [Hash<String,String>] :metadata
|
|
2585
2800
|
# A map of metadata to store with the object in S3.
|
|
2586
2801
|
# @option options [String] :server_side_encryption
|
|
2587
2802
|
# The server-side encryption algorithm that was used when you store this
|
|
2588
|
-
# object in Amazon S3
|
|
2589
|
-
# `aws:kms:dsse`).
|
|
2803
|
+
# object in Amazon S3 or Amazon FSx.
|
|
2590
2804
|
#
|
|
2591
2805
|
# * <b>General purpose buckets </b> - You have four mutually exclusive
|
|
2592
2806
|
# options to protect data using server-side encryption in Amazon S3,
|
|
@@ -2640,6 +2854,14 @@ module Aws::S3
|
|
|
2640
2854
|
#
|
|
2641
2855
|
# </note>
|
|
2642
2856
|
#
|
|
2857
|
+
# * <b>S3 access points for Amazon FSx </b> - When accessing data stored
|
|
2858
|
+
# in Amazon FSx file systems using S3 access points, the only valid
|
|
2859
|
+
# server side encryption option is `aws:fsx`. All Amazon FSx file
|
|
2860
|
+
# systems have encryption configured by default and are encrypted at
|
|
2861
|
+
# rest. Data is automatically encrypted before being written to the
|
|
2862
|
+
# file system, and automatically decrypted as it is read. These
|
|
2863
|
+
# processes are handled transparently by Amazon FSx.
|
|
2864
|
+
#
|
|
2643
2865
|
#
|
|
2644
2866
|
#
|
|
2645
2867
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
|
@@ -2654,8 +2876,9 @@ module Aws::S3
|
|
|
2654
2876
|
# a different Storage Class. For more information, see [Storage
|
|
2655
2877
|
# Classes][1] in the *Amazon S3 User Guide*.
|
|
2656
2878
|
#
|
|
2657
|
-
# <note markdown="1"> *
|
|
2658
|
-
#
|
|
2879
|
+
# <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express One
|
|
2880
|
+
# Zone storage class) in Availability Zones and `ONEZONE_IA` (the S3
|
|
2881
|
+
# One Zone-Infrequent Access storage class) in Dedicated Local Zones.
|
|
2659
2882
|
#
|
|
2660
2883
|
# * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
|
|
2661
2884
|
#
|
|
@@ -2733,15 +2956,17 @@ module Aws::S3
|
|
|
2733
2956
|
# `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
|
2734
2957
|
# Amazon Web Services managed key (`aws/s3`) to protect the data.
|
|
2735
2958
|
#
|
|
2736
|
-
# **Directory buckets** -
|
|
2737
|
-
#
|
|
2738
|
-
# x-amz-server-side-encryption-aws-kms-key-id`
|
|
2739
|
-
#
|
|
2740
|
-
#
|
|
2741
|
-
# key
|
|
2742
|
-
#
|
|
2743
|
-
#
|
|
2744
|
-
#
|
|
2959
|
+
# **Directory buckets** - To encrypt data using SSE-KMS, it's
|
|
2960
|
+
# recommended to specify the `x-amz-server-side-encryption` header to
|
|
2961
|
+
# `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
|
|
2962
|
+
# header implicitly uses the bucket's default KMS customer managed key
|
|
2963
|
+
# ID. If you want to explicitly set the `
|
|
2964
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
|
|
2965
|
+
# bucket's default customer managed key (using key ID or ARN, not
|
|
2966
|
+
# alias). Your SSE-KMS configuration can only support 1 [customer
|
|
2967
|
+
# managed key][1] per directory bucket's lifetime. The [Amazon Web
|
|
2968
|
+
# Services managed key][2] (`aws/s3`) isn't supported. Incorrect key
|
|
2969
|
+
# specification results in an HTTP `400 Bad Request` error.
|
|
2745
2970
|
#
|
|
2746
2971
|
#
|
|
2747
2972
|
#
|
|
@@ -2750,7 +2975,7 @@ module Aws::S3
|
|
|
2750
2975
|
# @option options [String] :ssekms_encryption_context
|
|
2751
2976
|
# Specifies the Amazon Web Services KMS Encryption Context as an
|
|
2752
2977
|
# additional encryption context to use for object encryption. The value
|
|
2753
|
-
# of this header is a Base64
|
|
2978
|
+
# of this header is a Base64 encoded string of a UTF-8 encoded JSON,
|
|
2754
2979
|
# which contains the encryption context as key-value pairs. This value
|
|
2755
2980
|
# is stored as object metadata and automatically gets passed on to
|
|
2756
2981
|
# Amazon Web Services KMS for future `GetObject` operations on this
|
|
@@ -2909,7 +3134,7 @@ module Aws::S3
|
|
|
2909
3134
|
# bucket_name: "BucketName", # required
|
|
2910
3135
|
# prefix: "LocationPrefix", # required
|
|
2911
3136
|
# encryption: {
|
|
2912
|
-
# encryption_type: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
|
|
3137
|
+
# encryption_type: "AES256", # required, accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
|
2913
3138
|
# kms_key_id: "SSEKMSKeyId",
|
|
2914
3139
|
# kms_context: "KMSContext",
|
|
2915
3140
|
# },
|
|
@@ -2940,12 +3165,12 @@ module Aws::S3
|
|
|
2940
3165
|
# value: "MetadataValue",
|
|
2941
3166
|
# },
|
|
2942
3167
|
# ],
|
|
2943
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
|
3168
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS, FSX_ONTAP
|
|
2944
3169
|
# },
|
|
2945
3170
|
# },
|
|
2946
3171
|
# },
|
|
2947
3172
|
# request_payer: "requester", # accepts requester
|
|
2948
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
|
3173
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
|
2949
3174
|
# expected_bucket_owner: "AccountId",
|
|
2950
3175
|
# })
|
|
2951
3176
|
# @param [Hash] options ({})
|
|
@@ -3312,7 +3537,7 @@ module Aws::S3
|
|
|
3312
3537
|
# request_payer: "requester", # accepts requester
|
|
3313
3538
|
# bypass_governance_retention: false,
|
|
3314
3539
|
# expected_bucket_owner: "AccountId",
|
|
3315
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
|
3540
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
|
3316
3541
|
# })
|
|
3317
3542
|
# @param options ({})
|
|
3318
3543
|
# @option options [String] :mfa
|
|
@@ -3380,6 +3605,8 @@ module Aws::S3
|
|
|
3380
3605
|
#
|
|
3381
3606
|
# * `CRC32C`
|
|
3382
3607
|
#
|
|
3608
|
+
# * `CRC64NVME`
|
|
3609
|
+
#
|
|
3383
3610
|
# * `SHA1`
|
|
3384
3611
|
#
|
|
3385
3612
|
# * `SHA256`
|
|
@@ -3389,9 +3616,8 @@ module Aws::S3
|
|
|
3389
3616
|
#
|
|
3390
3617
|
# If the individual checksum value you provide through
|
|
3391
3618
|
# `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 `.
|
|
3619
|
+
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
|
|
3620
|
+
# request with a `BadDigest` error.
|
|
3395
3621
|
#
|
|
3396
3622
|
# If you provide an individual checksum, Amazon S3 ignores any provided
|
|
3397
3623
|
# `ChecksumAlgorithm` parameter.
|