aws-sdk-s3 1.151.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 +352 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +12 -3
- data/lib/aws-sdk-s3/bucket.rb +358 -109
- data/lib/aws-sdk-s3/bucket_acl.rb +10 -9
- data/lib/aws-sdk-s3/bucket_cors.rb +10 -9
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +11 -6
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +64 -7
- data/lib/aws-sdk-s3/bucket_logging.rb +5 -5
- data/lib/aws-sdk-s3/bucket_notification.rb +3 -3
- data/lib/aws-sdk-s3/bucket_policy.rb +14 -13
- data/lib/aws-sdk-s3/bucket_request_payment.rb +6 -6
- data/lib/aws-sdk-s3/bucket_tagging.rb +7 -7
- data/lib/aws-sdk-s3/bucket_versioning.rb +47 -14
- data/lib/aws-sdk-s3/bucket_website.rb +7 -7
- data/lib/aws-sdk-s3/client.rb +5530 -2075
- data/lib/aws-sdk-s3/client_api.rb +660 -162
- data/lib/aws-sdk-s3/customizations/bucket.rb +1 -1
- data/lib/aws-sdk-s3/customizations/object.rb +87 -91
- data/lib/aws-sdk-s3/customizations/object_summary.rb +5 -0
- data/lib/aws-sdk-s3/customizations/object_version.rb +13 -0
- data/lib/aws-sdk-s3/customizations.rb +28 -39
- data/lib/aws-sdk-s3/default_executor.rb +103 -0
- data/lib/aws-sdk-s3/encryption/client.rb +4 -4
- 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 +4 -2
- data/lib/aws-sdk-s3/encryptionV2/client.rb +100 -25
- 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 +10 -2
- 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 +37 -34
- data/lib/aws-sdk-s3/endpoint_provider.rb +572 -277
- data/lib/aws-sdk-s3/endpoints.rb +566 -1612
- data/lib/aws-sdk-s3/errors.rb +58 -0
- data/lib/aws-sdk-s3/file_downloader.rb +192 -146
- data/lib/aws-sdk-s3/file_uploader.rb +10 -14
- 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 +97 -108
- data/lib/aws-sdk-s3/multipart_upload.rb +112 -12
- data/lib/aws-sdk-s3/multipart_upload_error.rb +3 -4
- data/lib/aws-sdk-s3/multipart_upload_part.rb +55 -39
- data/lib/aws-sdk-s3/object.rb +713 -227
- data/lib/aws-sdk-s3/object_acl.rb +15 -9
- data/lib/aws-sdk-s3/object_copier.rb +1 -1
- data/lib/aws-sdk-s3/object_multipart_copier.rb +2 -1
- data/lib/aws-sdk-s3/object_summary.rb +592 -173
- data/lib/aws-sdk-s3/object_version.rb +102 -17
- data/lib/aws-sdk-s3/plugins/access_grants.rb +75 -5
- data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
- data/lib/aws-sdk-s3/plugins/endpoints.rb +25 -213
- data/lib/aws-sdk-s3/plugins/express_session_auth.rb +18 -21
- data/lib/aws-sdk-s3/plugins/http_200_errors.rb +55 -18
- 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 +53 -20
- data/lib/aws-sdk-s3/transfer_manager.rb +303 -0
- data/lib/aws-sdk-s3/types.rb +4705 -1528
- data/lib/aws-sdk-s3.rb +35 -31
- data/sig/bucket.rbs +28 -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 +8 -4
- 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 +322 -72
- data/sig/errors.rbs +10 -0
- data/sig/multipart_upload.rbs +13 -3
- data/sig/multipart_upload_part.rbs +5 -1
- data/sig/object.rbs +44 -16
- data/sig/object_acl.rbs +1 -1
- data/sig/object_summary.rbs +29 -16
- data/sig/object_version.rbs +15 -3
- data/sig/resource.rbs +20 -5
- data/sig/types.rbs +403 -66
- data/sig/waiters.rbs +12 -0
- metadata +29 -12
- 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,10 +324,10 @@ 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.
|
|
291
328
|
#
|
|
292
|
-
# <note markdown="1">
|
|
293
|
-
#
|
|
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`.
|
|
294
331
|
#
|
|
295
332
|
# </note>
|
|
296
333
|
# @return [String]
|
|
@@ -329,13 +366,8 @@ module Aws::S3
|
|
|
329
366
|
data[:sse_customer_key_md5]
|
|
330
367
|
end
|
|
331
368
|
|
|
332
|
-
# If present, indicates the ID of the
|
|
333
|
-
#
|
|
334
|
-
# object.
|
|
335
|
-
#
|
|
336
|
-
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
337
|
-
#
|
|
338
|
-
# </note>
|
|
369
|
+
# If present, indicates the ID of the KMS key that was used for object
|
|
370
|
+
# encryption.
|
|
339
371
|
# @return [String]
|
|
340
372
|
def ssekms_key_id
|
|
341
373
|
data[:ssekms_key_id]
|
|
@@ -343,10 +375,6 @@ module Aws::S3
|
|
|
343
375
|
|
|
344
376
|
# Indicates whether the object uses an S3 Bucket Key for server-side
|
|
345
377
|
# encryption with Key Management Service (KMS) keys (SSE-KMS).
|
|
346
|
-
#
|
|
347
|
-
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
348
|
-
#
|
|
349
|
-
# </note>
|
|
350
378
|
# @return [Boolean]
|
|
351
379
|
def bucket_key_enabled
|
|
352
380
|
data[:bucket_key_enabled]
|
|
@@ -358,8 +386,10 @@ module Aws::S3
|
|
|
358
386
|
#
|
|
359
387
|
# For more information, see [Storage Classes][1].
|
|
360
388
|
#
|
|
361
|
-
# <note markdown="1"> <b>Directory buckets </b> -
|
|
362
|
-
#
|
|
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.
|
|
363
393
|
#
|
|
364
394
|
# </note>
|
|
365
395
|
#
|
|
@@ -372,11 +402,17 @@ module Aws::S3
|
|
|
372
402
|
end
|
|
373
403
|
|
|
374
404
|
# If present, indicates that the requester was successfully charged for
|
|
375
|
-
# 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*.
|
|
376
408
|
#
|
|
377
409
|
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
378
410
|
#
|
|
379
411
|
# </note>
|
|
412
|
+
#
|
|
413
|
+
#
|
|
414
|
+
#
|
|
415
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
|
|
380
416
|
# @return [String]
|
|
381
417
|
def request_charged
|
|
382
418
|
data[:request_charged]
|
|
@@ -439,6 +475,24 @@ module Aws::S3
|
|
|
439
475
|
data[:parts_count]
|
|
440
476
|
end
|
|
441
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
|
+
|
|
442
496
|
# The Object Lock mode, if any, that's in effect for this object. This
|
|
443
497
|
# header is only returned if the requester has the
|
|
444
498
|
# `s3:GetObjectRetention` permission. For more information about S3
|
|
@@ -500,7 +554,7 @@ module Aws::S3
|
|
|
500
554
|
#
|
|
501
555
|
# @return [self]
|
|
502
556
|
def load
|
|
503
|
-
resp = Aws::Plugins::UserAgent.
|
|
557
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
|
504
558
|
@client.head_object(
|
|
505
559
|
bucket: @bucket_name,
|
|
506
560
|
key: @key
|
|
@@ -550,7 +604,7 @@ module Aws::S3
|
|
|
550
604
|
options, params = separate_params_and_options(options)
|
|
551
605
|
waiter = Waiters::ObjectExists.new(options)
|
|
552
606
|
yield_waiter_and_warn(waiter, &block) if block_given?
|
|
553
|
-
Aws::Plugins::UserAgent.
|
|
607
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
|
554
608
|
waiter.wait(params.merge(bucket: @bucket_name,
|
|
555
609
|
key: @key))
|
|
556
610
|
end
|
|
@@ -571,7 +625,7 @@ module Aws::S3
|
|
|
571
625
|
options, params = separate_params_and_options(options)
|
|
572
626
|
waiter = Waiters::ObjectNotExists.new(options)
|
|
573
627
|
yield_waiter_and_warn(waiter, &block) if block_given?
|
|
574
|
-
Aws::Plugins::UserAgent.
|
|
628
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
|
575
629
|
waiter.wait(params.merge(bucket: @bucket_name,
|
|
576
630
|
key: @key))
|
|
577
631
|
end
|
|
@@ -676,7 +730,7 @@ module Aws::S3
|
|
|
676
730
|
:retry
|
|
677
731
|
end
|
|
678
732
|
end
|
|
679
|
-
Aws::Plugins::UserAgent.
|
|
733
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
|
680
734
|
Aws::Waiters::Waiter.new(options).wait({})
|
|
681
735
|
end
|
|
682
736
|
end
|
|
@@ -688,7 +742,7 @@ module Aws::S3
|
|
|
688
742
|
# object.copy_from({
|
|
689
743
|
# acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
|
|
690
744
|
# cache_control: "CacheControl",
|
|
691
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
|
745
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
|
692
746
|
# content_disposition: "ContentDisposition",
|
|
693
747
|
# content_encoding: "ContentEncoding",
|
|
694
748
|
# content_language: "ContentLanguage",
|
|
@@ -703,13 +757,15 @@ module Aws::S3
|
|
|
703
757
|
# grant_read: "GrantRead",
|
|
704
758
|
# grant_read_acp: "GrantReadACP",
|
|
705
759
|
# grant_write_acp: "GrantWriteACP",
|
|
760
|
+
# if_match: "IfMatch",
|
|
761
|
+
# if_none_match: "IfNoneMatch",
|
|
706
762
|
# metadata: {
|
|
707
763
|
# "MetadataKey" => "MetadataValue",
|
|
708
764
|
# },
|
|
709
765
|
# metadata_directive: "COPY", # accepts COPY, REPLACE
|
|
710
766
|
# tagging_directive: "COPY", # accepts COPY, REPLACE
|
|
711
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
|
712
|
-
# 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
|
|
713
769
|
# website_redirect_location: "WebsiteRedirectLocation",
|
|
714
770
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
|
715
771
|
# sse_customer_key: "SSECustomerKey",
|
|
@@ -959,6 +1015,35 @@ module Aws::S3
|
|
|
959
1015
|
# * This functionality is not supported for Amazon S3 on Outposts.
|
|
960
1016
|
#
|
|
961
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
|
|
962
1047
|
# @option options [Hash<String,String>] :metadata
|
|
963
1048
|
# A map of metadata to store with the object in S3.
|
|
964
1049
|
# @option options [String] :metadata_directive
|
|
@@ -1031,9 +1116,8 @@ module Aws::S3
|
|
|
1031
1116
|
# </note>
|
|
1032
1117
|
# @option options [String] :server_side_encryption
|
|
1033
1118
|
# The server-side encryption algorithm used when storing this object in
|
|
1034
|
-
# Amazon S3
|
|
1035
|
-
#
|
|
1036
|
-
# and will receive a `400 Bad Request` response.
|
|
1119
|
+
# Amazon S3. Unrecognized or unsupported values won’t write a
|
|
1120
|
+
# destination object and will receive a `400 Bad Request` response.
|
|
1037
1121
|
#
|
|
1038
1122
|
# Amazon S3 automatically encrypts all new objects that are copied to an
|
|
1039
1123
|
# S3 bucket. When copying an object, if you don't specify encryption
|
|
@@ -1041,35 +1125,80 @@ module Aws::S3
|
|
|
1041
1125
|
# object is set to the default encryption configuration of the
|
|
1042
1126
|
# destination bucket. By default, all buckets have a base level of
|
|
1043
1127
|
# encryption configuration that uses server-side encryption with Amazon
|
|
1044
|
-
# S3 managed keys (SSE-S3). If the destination bucket has a
|
|
1045
|
-
# encryption configuration
|
|
1046
|
-
#
|
|
1047
|
-
# encryption with Amazon Web Services KMS keys (DSSE-KMS), or
|
|
1048
|
-
# server-side encryption with customer-provided encryption keys (SSE-C),
|
|
1049
|
-
# Amazon S3 uses the corresponding KMS key, or a customer-provided key
|
|
1050
|
-
# to encrypt the target object copy.
|
|
1051
|
-
#
|
|
1052
|
-
# When you perform a `CopyObject` operation, if you want to use a
|
|
1053
|
-
# different type of encryption setting for the target object, you can
|
|
1054
|
-
# specify appropriate encryption-related headers to encrypt the target
|
|
1055
|
-
# object with an Amazon S3 managed key, a KMS key, or a
|
|
1056
|
-
# customer-provided key. If the encryption setting in your request is
|
|
1057
|
-
# different from the default encryption configuration of the destination
|
|
1058
|
-
# bucket, the encryption setting in your request takes precedence.
|
|
1128
|
+
# S3 managed keys (SSE-S3). If the destination bucket has a different
|
|
1129
|
+
# default encryption configuration, Amazon S3 uses the corresponding
|
|
1130
|
+
# encryption key to encrypt the target object copy.
|
|
1059
1131
|
#
|
|
1060
1132
|
# With server-side encryption, Amazon S3 encrypts your data as it writes
|
|
1061
1133
|
# your data to disks in its data centers and decrypts the data when you
|
|
1062
1134
|
# access it. For more information about server-side encryption, see
|
|
1063
1135
|
# [Using Server-Side Encryption][1] in the *Amazon S3 User Guide*.
|
|
1064
1136
|
#
|
|
1065
|
-
# <
|
|
1066
|
-
#
|
|
1067
|
-
#
|
|
1068
|
-
#
|
|
1137
|
+
# <b>General purpose buckets </b>
|
|
1138
|
+
#
|
|
1139
|
+
# * For general purpose buckets, there are the following supported
|
|
1140
|
+
# options for server-side encryption: server-side encryption with Key
|
|
1141
|
+
# Management Service (KMS) keys (SSE-KMS), dual-layer server-side
|
|
1142
|
+
# encryption with Amazon Web Services KMS keys (DSSE-KMS), and
|
|
1143
|
+
# server-side encryption with customer-provided encryption keys
|
|
1144
|
+
# (SSE-C). Amazon S3 uses the corresponding KMS key, or a
|
|
1145
|
+
# customer-provided key to encrypt the target object copy.
|
|
1146
|
+
#
|
|
1147
|
+
# * When you perform a `CopyObject` operation, if you want to use a
|
|
1148
|
+
# different type of encryption setting for the target object, you can
|
|
1149
|
+
# specify appropriate encryption-related headers to encrypt the target
|
|
1150
|
+
# object with an Amazon S3 managed key, a KMS key, or a
|
|
1151
|
+
# customer-provided key. If the encryption setting in your request is
|
|
1152
|
+
# different from the default encryption configuration of the
|
|
1153
|
+
# destination bucket, the encryption setting in your request takes
|
|
1154
|
+
# precedence.
|
|
1155
|
+
#
|
|
1156
|
+
# <b>Directory buckets </b>
|
|
1157
|
+
#
|
|
1158
|
+
# * For directory buckets, there are only two supported options for
|
|
1159
|
+
# server-side encryption: server-side encryption with Amazon S3
|
|
1160
|
+
# managed keys (SSE-S3) (`AES256`) and server-side encryption with KMS
|
|
1161
|
+
# keys (SSE-KMS) (`aws:kms`). We recommend that the bucket's default
|
|
1162
|
+
# encryption uses the desired encryption configuration and you don't
|
|
1163
|
+
# override the bucket default encryption in your `CreateSession`
|
|
1164
|
+
# requests or `PUT` object requests. Then, new objects are
|
|
1165
|
+
# automatically encrypted with the desired encryption settings. For
|
|
1166
|
+
# more information, see [Protecting data with server-side
|
|
1167
|
+
# encryption][2] in the *Amazon S3 User Guide*. For more information
|
|
1168
|
+
# about the encryption overriding behaviors in directory buckets, see
|
|
1169
|
+
# [Specifying server-side encryption with KMS for new object
|
|
1170
|
+
# uploads][3].
|
|
1171
|
+
#
|
|
1172
|
+
# * To encrypt new object copies to a directory bucket with SSE-KMS, we
|
|
1173
|
+
# recommend you specify SSE-KMS as the directory bucket's default
|
|
1174
|
+
# encryption configuration with a KMS key (specifically, a [customer
|
|
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.
|
|
1069
1194
|
#
|
|
1070
1195
|
#
|
|
1071
1196
|
#
|
|
1072
1197
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
|
|
1198
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
|
1199
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
|
1200
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
|
1201
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
|
1073
1202
|
# @option options [String] :storage_class
|
|
1074
1203
|
# If the `x-amz-storage-class` header is not used, the copied object
|
|
1075
1204
|
# will be stored in the `STANDARD` Storage Class by default. The
|
|
@@ -1077,10 +1206,12 @@ module Aws::S3
|
|
|
1077
1206
|
# availability. Depending on performance needs, you can specify a
|
|
1078
1207
|
# different Storage Class.
|
|
1079
1208
|
#
|
|
1080
|
-
# <note markdown="1"> * <b>Directory buckets </b> -
|
|
1081
|
-
# Express One Zone storage class
|
|
1082
|
-
#
|
|
1083
|
-
#
|
|
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`.
|
|
1084
1215
|
#
|
|
1085
1216
|
# * <b>Amazon S3 on Outposts </b> - S3 on Outposts only uses the
|
|
1086
1217
|
# `OUTPOSTS` Storage Class.
|
|
@@ -1160,32 +1291,52 @@ module Aws::S3
|
|
|
1160
1291
|
#
|
|
1161
1292
|
# </note>
|
|
1162
1293
|
# @option options [String] :ssekms_key_id
|
|
1163
|
-
# Specifies the KMS ID (Key ID, Key ARN, or Key Alias) to use for
|
|
1164
|
-
# encryption. All GET and PUT requests for an object protected by
|
|
1165
|
-
# will fail if they're not made via SSL or using SigV4. For
|
|
1166
|
-
# about configuring any of the officially supported Amazon
|
|
1167
|
-
# SDKs and Amazon Web Services CLI, see [Specifying the
|
|
1168
|
-
# Version in Request Authentication][1] in the *Amazon S3 User
|
|
1169
|
-
#
|
|
1170
|
-
#
|
|
1171
|
-
#
|
|
1172
|
-
#
|
|
1173
|
-
#
|
|
1294
|
+
# Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for
|
|
1295
|
+
# object encryption. All GET and PUT requests for an object protected by
|
|
1296
|
+
# KMS will fail if they're not made via SSL or using SigV4. For
|
|
1297
|
+
# information about configuring any of the officially supported Amazon
|
|
1298
|
+
# Web Services SDKs and Amazon Web Services CLI, see [Specifying the
|
|
1299
|
+
# Signature Version in Request Authentication][1] in the *Amazon S3 User
|
|
1300
|
+
# Guide*.
|
|
1301
|
+
#
|
|
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.
|
|
1174
1313
|
#
|
|
1175
1314
|
#
|
|
1176
1315
|
#
|
|
1177
1316
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
|
|
1317
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
|
1318
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
|
1178
1319
|
# @option options [String] :ssekms_encryption_context
|
|
1179
|
-
# Specifies the Amazon Web Services KMS Encryption Context
|
|
1180
|
-
#
|
|
1181
|
-
#
|
|
1182
|
-
#
|
|
1183
|
-
# `CopyObject` requests.
|
|
1320
|
+
# Specifies the Amazon Web Services KMS Encryption Context as an
|
|
1321
|
+
# additional encryption context to use for the destination object
|
|
1322
|
+
# encryption. The value of this header is a base64-encoded UTF-8 string
|
|
1323
|
+
# holding JSON with the encryption context key-value pairs.
|
|
1184
1324
|
#
|
|
1185
|
-
#
|
|
1186
|
-
#
|
|
1325
|
+
# **General purpose buckets** - This value must be explicitly added to
|
|
1326
|
+
# specify encryption context for `CopyObject` requests if you want an
|
|
1327
|
+
# additional encryption context for your destination object. The
|
|
1328
|
+
# additional encryption context of the source object won't be copied to
|
|
1329
|
+
# the destination object. For more information, see [Encryption
|
|
1330
|
+
# context][1] in the *Amazon S3 User Guide*.
|
|
1187
1331
|
#
|
|
1188
|
-
#
|
|
1332
|
+
# **Directory buckets** - You can optionally provide an explicit
|
|
1333
|
+
# encryption context value. The value must match the default encryption
|
|
1334
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
|
1335
|
+
# encryption context value is not supported.
|
|
1336
|
+
#
|
|
1337
|
+
#
|
|
1338
|
+
#
|
|
1339
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context
|
|
1189
1340
|
# @option options [Boolean] :bucket_key_enabled
|
|
1190
1341
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
|
1191
1342
|
# encryption with server-side encryption using Key Management Service
|
|
@@ -1199,14 +1350,19 @@ module Aws::S3
|
|
|
1199
1350
|
# For more information, see [Amazon S3 Bucket Keys][1] in the *Amazon S3
|
|
1200
1351
|
# User Guide*.
|
|
1201
1352
|
#
|
|
1202
|
-
# <note markdown="1">
|
|
1203
|
-
#
|
|
1353
|
+
# <note markdown="1"> **Directory buckets** - S3 Bucket Keys aren't supported, when you
|
|
1354
|
+
# copy SSE-KMS encrypted objects from general purpose buckets to
|
|
1355
|
+
# directory buckets, from directory buckets to general purpose buckets,
|
|
1356
|
+
# or between directory buckets, through [CopyObject][2]. In this case,
|
|
1357
|
+
# Amazon S3 makes a call to KMS every time a copy request is made for a
|
|
1358
|
+
# KMS-encrypted object.
|
|
1204
1359
|
#
|
|
1205
1360
|
# </note>
|
|
1206
1361
|
#
|
|
1207
1362
|
#
|
|
1208
1363
|
#
|
|
1209
1364
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
|
|
1365
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
|
1210
1366
|
# @option options [String] :copy_source_sse_customer_algorithm
|
|
1211
1367
|
# Specifies the algorithm to use when decrypting the source object (for
|
|
1212
1368
|
# example, `AES256`).
|
|
@@ -1346,7 +1502,7 @@ module Aws::S3
|
|
|
1346
1502
|
bucket: @bucket_name,
|
|
1347
1503
|
key: @key
|
|
1348
1504
|
)
|
|
1349
|
-
resp = Aws::Plugins::UserAgent.
|
|
1505
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
|
1350
1506
|
@client.copy_object(options)
|
|
1351
1507
|
end
|
|
1352
1508
|
resp.data
|
|
@@ -1360,6 +1516,9 @@ module Aws::S3
|
|
|
1360
1516
|
# request_payer: "requester", # accepts requester
|
|
1361
1517
|
# bypass_governance_retention: false,
|
|
1362
1518
|
# expected_bucket_owner: "AccountId",
|
|
1519
|
+
# if_match: "IfMatch",
|
|
1520
|
+
# if_match_last_modified_time: Time.now,
|
|
1521
|
+
# if_match_size: 1,
|
|
1363
1522
|
# })
|
|
1364
1523
|
# @param [Hash] options ({})
|
|
1365
1524
|
# @option options [String] :mfa
|
|
@@ -1406,13 +1565,51 @@ module Aws::S3
|
|
|
1406
1565
|
# The account ID of the expected bucket owner. If the account ID that
|
|
1407
1566
|
# you provide does not match the actual owner of the bucket, the request
|
|
1408
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.
|
|
1409
1606
|
# @return [Types::DeleteObjectOutput]
|
|
1410
1607
|
def delete(options = {})
|
|
1411
1608
|
options = options.merge(
|
|
1412
1609
|
bucket: @bucket_name,
|
|
1413
1610
|
key: @key
|
|
1414
1611
|
)
|
|
1415
|
-
resp = Aws::Plugins::UserAgent.
|
|
1612
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
|
1416
1613
|
@client.delete_object(options)
|
|
1417
1614
|
end
|
|
1418
1615
|
resp.data
|
|
@@ -1668,7 +1865,7 @@ module Aws::S3
|
|
|
1668
1865
|
bucket: @bucket_name,
|
|
1669
1866
|
key: @key
|
|
1670
1867
|
)
|
|
1671
|
-
resp = Aws::Plugins::UserAgent.
|
|
1868
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
|
1672
1869
|
@client.get_object(options, &block)
|
|
1673
1870
|
end
|
|
1674
1871
|
resp.data
|
|
@@ -1691,8 +1888,8 @@ module Aws::S3
|
|
|
1691
1888
|
# metadata: {
|
|
1692
1889
|
# "MetadataKey" => "MetadataValue",
|
|
1693
1890
|
# },
|
|
1694
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
|
1695
|
-
# 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
|
|
1696
1893
|
# website_redirect_location: "WebsiteRedirectLocation",
|
|
1697
1894
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
|
1698
1895
|
# sse_customer_key: "SSECustomerKey",
|
|
@@ -1706,7 +1903,8 @@ module Aws::S3
|
|
|
1706
1903
|
# object_lock_retain_until_date: Time.now,
|
|
1707
1904
|
# object_lock_legal_hold_status: "ON", # accepts ON, OFF
|
|
1708
1905
|
# expected_bucket_owner: "AccountId",
|
|
1709
|
-
# 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
|
|
1710
1908
|
# })
|
|
1711
1909
|
# @param [Hash] options ({})
|
|
1712
1910
|
# @option options [String] :acl
|
|
@@ -2008,12 +2206,62 @@ module Aws::S3
|
|
|
2008
2206
|
# A map of metadata to store with the object in S3.
|
|
2009
2207
|
# @option options [String] :server_side_encryption
|
|
2010
2208
|
# The server-side encryption algorithm used when you store this object
|
|
2011
|
-
# in Amazon S3
|
|
2209
|
+
# in Amazon S3 or Amazon FSx.
|
|
2210
|
+
#
|
|
2211
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
|
2212
|
+
# two supported options for server-side encryption: server-side
|
|
2213
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
|
2214
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). We
|
|
2215
|
+
# recommend that the bucket's default encryption uses the desired
|
|
2216
|
+
# encryption configuration and you don't override the bucket default
|
|
2217
|
+
# encryption in your `CreateSession` requests or `PUT` object
|
|
2218
|
+
# requests. Then, new objects are automatically encrypted with the
|
|
2219
|
+
# desired encryption settings. For more information, see [Protecting
|
|
2220
|
+
# data with server-side encryption][1] in the *Amazon S3 User Guide*.
|
|
2221
|
+
# For more information about the encryption overriding behaviors in
|
|
2222
|
+
# directory buckets, see [Specifying server-side encryption with KMS
|
|
2223
|
+
# for new object uploads][2].
|
|
2224
|
+
#
|
|
2225
|
+
# In the Zonal endpoint API calls (except [CopyObject][3] and
|
|
2226
|
+
# [UploadPartCopy][4]) using the REST API, the encryption request
|
|
2227
|
+
# headers must match the encryption settings that are specified in the
|
|
2228
|
+
# `CreateSession` request. You can't override the values of the
|
|
2229
|
+
# encryption settings (`x-amz-server-side-encryption`,
|
|
2230
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`,
|
|
2231
|
+
# `x-amz-server-side-encryption-context`, and
|
|
2232
|
+
# `x-amz-server-side-encryption-bucket-key-enabled`) that are
|
|
2233
|
+
# specified in the `CreateSession` request. You don't need to
|
|
2234
|
+
# explicitly specify these encryption settings values in Zonal
|
|
2235
|
+
# endpoint API calls, and Amazon S3 will use the encryption settings
|
|
2236
|
+
# values from the `CreateSession` request to protect new objects in
|
|
2237
|
+
# the directory bucket.
|
|
2238
|
+
#
|
|
2239
|
+
# <note markdown="1"> When you use the CLI or the Amazon Web Services SDKs, for
|
|
2240
|
+
# `CreateSession`, the session token refreshes automatically to avoid
|
|
2241
|
+
# service interruptions when a session expires. The CLI or the Amazon
|
|
2242
|
+
# Web Services SDKs use the bucket's default encryption configuration
|
|
2243
|
+
# for the `CreateSession` request. It's not supported to override the
|
|
2244
|
+
# encryption settings values in the `CreateSession` request. So in the
|
|
2245
|
+
# Zonal endpoint API calls (except [CopyObject][3] and
|
|
2246
|
+
# [UploadPartCopy][4]), the encryption request headers must match the
|
|
2247
|
+
# default encryption configuration of the directory bucket.
|
|
2012
2248
|
#
|
|
2013
|
-
#
|
|
2014
|
-
# managed keys (SSE-S3) (`AES256`) is supported.
|
|
2249
|
+
# </note>
|
|
2015
2250
|
#
|
|
2016
|
-
#
|
|
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
|
+
#
|
|
2259
|
+
#
|
|
2260
|
+
#
|
|
2261
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
|
2262
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
|
2263
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
|
2264
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
|
2017
2265
|
# @option options [String] :storage_class
|
|
2018
2266
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
|
2019
2267
|
# created objects. The STANDARD storage class provides high durability
|
|
@@ -2021,8 +2269,9 @@ module Aws::S3
|
|
|
2021
2269
|
# a different Storage Class. For more information, see [Storage
|
|
2022
2270
|
# Classes][1] in the *Amazon S3 User Guide*.
|
|
2023
2271
|
#
|
|
2024
|
-
# <note markdown="1"> *
|
|
2025
|
-
#
|
|
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.
|
|
2026
2275
|
#
|
|
2027
2276
|
# * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
|
|
2028
2277
|
#
|
|
@@ -2066,32 +2315,71 @@ module Aws::S3
|
|
|
2066
2315
|
#
|
|
2067
2316
|
# </note>
|
|
2068
2317
|
# @option options [String] :ssekms_key_id
|
|
2069
|
-
# Specifies the ID (Key ID, Key ARN, or Key Alias)
|
|
2070
|
-
# encryption
|
|
2071
|
-
#
|
|
2072
|
-
#
|
|
2073
|
-
#
|
|
2074
|
-
#
|
|
2318
|
+
# Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for
|
|
2319
|
+
# object encryption. If the KMS key doesn't exist in the same account
|
|
2320
|
+
# that's issuing the command, you must use the full Key ARN not the Key
|
|
2321
|
+
# ID.
|
|
2322
|
+
#
|
|
2323
|
+
# **General purpose buckets** - If you specify
|
|
2324
|
+
# `x-amz-server-side-encryption` with `aws:kms` or `aws:kms:dsse`, this
|
|
2325
|
+
# header specifies the ID (Key ID, Key ARN, or Key Alias) of the KMS key
|
|
2326
|
+
# to use. If you specify `x-amz-server-side-encryption:aws:kms` or
|
|
2327
|
+
# `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide
|
|
2328
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
|
2329
|
+
# Amazon Web Services managed key (`aws/s3`) to protect the data.
|
|
2330
|
+
#
|
|
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.
|
|
2342
|
+
#
|
|
2343
|
+
#
|
|
2344
|
+
#
|
|
2345
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
|
2346
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
|
2075
2347
|
# @option options [String] :ssekms_encryption_context
|
|
2076
2348
|
# Specifies the Amazon Web Services KMS Encryption Context to use for
|
|
2077
|
-
# object encryption. The value of this header is a
|
|
2078
|
-
#
|
|
2079
|
-
#
|
|
2080
|
-
#
|
|
2081
|
-
#
|
|
2082
|
-
#
|
|
2349
|
+
# object encryption. The value of this header is a Base64 encoded string
|
|
2350
|
+
# of a UTF-8 encoded JSON, which contains the encryption context as
|
|
2351
|
+
# key-value pairs.
|
|
2352
|
+
#
|
|
2353
|
+
# **Directory buckets** - You can optionally provide an explicit
|
|
2354
|
+
# encryption context value. The value must match the default encryption
|
|
2355
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
|
2356
|
+
# encryption context value is not supported.
|
|
2083
2357
|
# @option options [Boolean] :bucket_key_enabled
|
|
2084
2358
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
|
2085
2359
|
# encryption with server-side encryption using Key Management Service
|
|
2086
|
-
# (KMS) keys (SSE-KMS).
|
|
2087
|
-
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
|
2360
|
+
# (KMS) keys (SSE-KMS).
|
|
2088
2361
|
#
|
|
2089
|
-
#
|
|
2362
|
+
# **General purpose buckets** - Setting this header to `true` causes
|
|
2363
|
+
# Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.
|
|
2364
|
+
# Also, specifying this header with a PUT action doesn't affect
|
|
2090
2365
|
# bucket-level settings for S3 Bucket Key.
|
|
2091
2366
|
#
|
|
2092
|
-
#
|
|
2367
|
+
# **Directory buckets** - S3 Bucket Keys are always enabled for `GET`
|
|
2368
|
+
# and `PUT` operations in a directory bucket and can’t be disabled. S3
|
|
2369
|
+
# Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects
|
|
2370
|
+
# from general purpose buckets to directory buckets, from directory
|
|
2371
|
+
# buckets to general purpose buckets, or between directory buckets,
|
|
2372
|
+
# through [CopyObject][1], [UploadPartCopy][2], [the Copy operation in
|
|
2373
|
+
# Batch Operations][3], or [the import jobs][4]. In this case, Amazon S3
|
|
2374
|
+
# makes a call to KMS every time a copy request is made for a
|
|
2375
|
+
# KMS-encrypted object.
|
|
2093
2376
|
#
|
|
2094
|
-
#
|
|
2377
|
+
#
|
|
2378
|
+
#
|
|
2379
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
|
2380
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
|
2381
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
|
|
2382
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
|
|
2095
2383
|
# @option options [String] :request_payer
|
|
2096
2384
|
# Confirms that the requester knows that they will be charged for the
|
|
2097
2385
|
# request. Bucket owners need not specify this parameter in their
|
|
@@ -2147,13 +2435,21 @@ module Aws::S3
|
|
|
2147
2435
|
#
|
|
2148
2436
|
#
|
|
2149
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
|
|
2150
2446
|
# @return [MultipartUpload]
|
|
2151
2447
|
def initiate_multipart_upload(options = {})
|
|
2152
2448
|
options = options.merge(
|
|
2153
2449
|
bucket: @bucket_name,
|
|
2154
2450
|
key: @key
|
|
2155
2451
|
)
|
|
2156
|
-
resp = Aws::Plugins::UserAgent.
|
|
2452
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
|
2157
2453
|
@client.create_multipart_upload(options)
|
|
2158
2454
|
end
|
|
2159
2455
|
MultipartUpload.new(
|
|
@@ -2176,21 +2472,25 @@ module Aws::S3
|
|
|
2176
2472
|
# content_length: 1,
|
|
2177
2473
|
# content_md5: "ContentMD5",
|
|
2178
2474
|
# content_type: "ContentType",
|
|
2179
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
|
2475
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
|
2180
2476
|
# checksum_crc32: "ChecksumCRC32",
|
|
2181
2477
|
# checksum_crc32c: "ChecksumCRC32C",
|
|
2478
|
+
# checksum_crc64nvme: "ChecksumCRC64NVME",
|
|
2182
2479
|
# checksum_sha1: "ChecksumSHA1",
|
|
2183
2480
|
# checksum_sha256: "ChecksumSHA256",
|
|
2184
2481
|
# expires: Time.now,
|
|
2482
|
+
# if_match: "IfMatch",
|
|
2483
|
+
# if_none_match: "IfNoneMatch",
|
|
2185
2484
|
# grant_full_control: "GrantFullControl",
|
|
2186
2485
|
# grant_read: "GrantRead",
|
|
2187
2486
|
# grant_read_acp: "GrantReadACP",
|
|
2188
2487
|
# grant_write_acp: "GrantWriteACP",
|
|
2488
|
+
# write_offset_bytes: 1,
|
|
2189
2489
|
# metadata: {
|
|
2190
2490
|
# "MetadataKey" => "MetadataValue",
|
|
2191
2491
|
# },
|
|
2192
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
|
2193
|
-
# 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
|
|
2194
2494
|
# website_redirect_location: "WebsiteRedirectLocation",
|
|
2195
2495
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
|
2196
2496
|
# sse_customer_key: "SSECustomerKey",
|
|
@@ -2281,7 +2581,7 @@ module Aws::S3
|
|
|
2281
2581
|
#
|
|
2282
2582
|
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
|
|
2283
2583
|
# @option options [String] :content_md5
|
|
2284
|
-
# The
|
|
2584
|
+
# The Base64 encoded 128-bit `MD5` digest of the message (without the
|
|
2285
2585
|
# headers) according to RFC 1864. This header can be used as a message
|
|
2286
2586
|
# integrity check to verify that the data is the same data that was
|
|
2287
2587
|
# originally sent. Although it is optional, we recommend using the
|
|
@@ -2289,10 +2589,11 @@ module Aws::S3
|
|
|
2289
2589
|
# information about REST request authentication, see [REST
|
|
2290
2590
|
# Authentication][1].
|
|
2291
2591
|
#
|
|
2292
|
-
# <note markdown="1"> The `Content-MD5` header is required
|
|
2293
|
-
# object with a retention period configured
|
|
2294
|
-
#
|
|
2295
|
-
# 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*.
|
|
2296
2597
|
#
|
|
2297
2598
|
# </note>
|
|
2298
2599
|
#
|
|
@@ -2303,7 +2604,7 @@ module Aws::S3
|
|
|
2303
2604
|
#
|
|
2304
2605
|
#
|
|
2305
2606
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
|
|
2306
|
-
# [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
|
|
2307
2608
|
# @option options [String] :content_type
|
|
2308
2609
|
# A standard MIME type describing the format of the contents. For more
|
|
2309
2610
|
# information, see
|
|
@@ -2323,37 +2624,45 @@ module Aws::S3
|
|
|
2323
2624
|
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
|
2324
2625
|
# the supported algorithm from the following list:
|
|
2325
2626
|
#
|
|
2326
|
-
# * CRC32
|
|
2627
|
+
# * `CRC32`
|
|
2327
2628
|
#
|
|
2328
|
-
# * CRC32C
|
|
2629
|
+
# * `CRC32C`
|
|
2329
2630
|
#
|
|
2330
|
-
# *
|
|
2631
|
+
# * `CRC64NVME`
|
|
2331
2632
|
#
|
|
2332
|
-
# *
|
|
2633
|
+
# * `SHA1`
|
|
2634
|
+
#
|
|
2635
|
+
# * `SHA256`
|
|
2333
2636
|
#
|
|
2334
2637
|
# For more information, see [Checking object integrity][1] in the
|
|
2335
2638
|
# *Amazon S3 User Guide*.
|
|
2336
2639
|
#
|
|
2337
2640
|
# If the individual checksum value you provide through
|
|
2338
2641
|
# `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
|
|
2339
|
-
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3
|
|
2340
|
-
#
|
|
2341
|
-
# 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.
|
|
2342
2644
|
#
|
|
2343
|
-
# <note markdown="1">
|
|
2344
|
-
#
|
|
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*.
|
|
2345
2650
|
#
|
|
2346
2651
|
# </note>
|
|
2347
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
|
+
#
|
|
2348
2656
|
#
|
|
2349
2657
|
#
|
|
2350
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
|
|
2351
2660
|
# @option options [String] :checksum_crc32
|
|
2352
2661
|
# This header can be used as a data integrity check to verify that the
|
|
2353
2662
|
# data received is the same data that was originally sent. This header
|
|
2354
|
-
# specifies the
|
|
2355
|
-
# more information, see [Checking object integrity][1] in the
|
|
2356
|
-
# User Guide*.
|
|
2663
|
+
# specifies the Base64 encoded, 32-bit `CRC32` checksum of the object.
|
|
2664
|
+
# For more information, see [Checking object integrity][1] in the
|
|
2665
|
+
# *Amazon S3 User Guide*.
|
|
2357
2666
|
#
|
|
2358
2667
|
#
|
|
2359
2668
|
#
|
|
@@ -2361,17 +2670,28 @@ module Aws::S3
|
|
|
2361
2670
|
# @option options [String] :checksum_crc32c
|
|
2362
2671
|
# This header can be used as a data integrity check to verify that the
|
|
2363
2672
|
# data received is the same data that was originally sent. This header
|
|
2364
|
-
# specifies the
|
|
2673
|
+
# specifies the Base64 encoded, 32-bit `CRC32C` checksum of the object.
|
|
2365
2674
|
# For more information, see [Checking object integrity][1] in the
|
|
2366
2675
|
# *Amazon S3 User Guide*.
|
|
2367
2676
|
#
|
|
2368
2677
|
#
|
|
2369
2678
|
#
|
|
2370
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
|
|
2371
2691
|
# @option options [String] :checksum_sha1
|
|
2372
2692
|
# This header can be used as a data integrity check to verify that the
|
|
2373
2693
|
# data received is the same data that was originally sent. This header
|
|
2374
|
-
# specifies the
|
|
2694
|
+
# specifies the Base64 encoded, 160-bit `SHA1` digest of the object. For
|
|
2375
2695
|
# more information, see [Checking object integrity][1] in the *Amazon S3
|
|
2376
2696
|
# User Guide*.
|
|
2377
2697
|
#
|
|
@@ -2381,7 +2701,7 @@ module Aws::S3
|
|
|
2381
2701
|
# @option options [String] :checksum_sha256
|
|
2382
2702
|
# This header can be used as a data integrity check to verify that the
|
|
2383
2703
|
# data received is the same data that was originally sent. This header
|
|
2384
|
-
# specifies the
|
|
2704
|
+
# specifies the Base64 encoded, 256-bit `SHA256` digest of the object.
|
|
2385
2705
|
# For more information, see [Checking object integrity][1] in the
|
|
2386
2706
|
# *Amazon S3 User Guide*.
|
|
2387
2707
|
#
|
|
@@ -2396,6 +2716,43 @@ module Aws::S3
|
|
|
2396
2716
|
#
|
|
2397
2717
|
#
|
|
2398
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
|
|
2738
|
+
# @option options [String] :if_none_match
|
|
2739
|
+
# Uploads the object only if the object key name does not already exist
|
|
2740
|
+
# in the bucket specified. Otherwise, Amazon S3 returns a `412
|
|
2741
|
+
# Precondition Failed` error.
|
|
2742
|
+
#
|
|
2743
|
+
# If a conflicting operation occurs during the upload S3 returns a `409
|
|
2744
|
+
# ConditionalRequestConflict` response. On a 409 failure you should
|
|
2745
|
+
# retry the upload.
|
|
2746
|
+
#
|
|
2747
|
+
# Expects the '*' (asterisk) character.
|
|
2748
|
+
#
|
|
2749
|
+
# For more information about conditional requests, see [RFC 7232][1], or
|
|
2750
|
+
# [Conditional requests][2] in the *Amazon S3 User Guide*.
|
|
2751
|
+
#
|
|
2752
|
+
#
|
|
2753
|
+
#
|
|
2754
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
|
2755
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
|
|
2399
2756
|
# @option options [String] :grant_full_control
|
|
2400
2757
|
# Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
|
|
2401
2758
|
# object.
|
|
@@ -2429,32 +2786,89 @@ module Aws::S3
|
|
|
2429
2786
|
# * This functionality is not supported for Amazon S3 on Outposts.
|
|
2430
2787
|
#
|
|
2431
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>
|
|
2432
2799
|
# @option options [Hash<String,String>] :metadata
|
|
2433
2800
|
# A map of metadata to store with the object in S3.
|
|
2434
2801
|
# @option options [String] :server_side_encryption
|
|
2435
2802
|
# The server-side encryption algorithm that was used when you store this
|
|
2436
|
-
# object in Amazon S3
|
|
2437
|
-
#
|
|
2438
|
-
#
|
|
2439
|
-
#
|
|
2440
|
-
#
|
|
2441
|
-
#
|
|
2442
|
-
#
|
|
2443
|
-
#
|
|
2444
|
-
#
|
|
2445
|
-
#
|
|
2446
|
-
#
|
|
2447
|
-
#
|
|
2448
|
-
#
|
|
2449
|
-
#
|
|
2803
|
+
# object in Amazon S3 or Amazon FSx.
|
|
2804
|
+
#
|
|
2805
|
+
# * <b>General purpose buckets </b> - You have four mutually exclusive
|
|
2806
|
+
# options to protect data using server-side encryption in Amazon S3,
|
|
2807
|
+
# depending on how you choose to manage the encryption keys.
|
|
2808
|
+
# Specifically, the encryption key options are Amazon S3 managed keys
|
|
2809
|
+
# (SSE-S3), Amazon Web Services KMS keys (SSE-KMS or DSSE-KMS), and
|
|
2810
|
+
# customer-provided keys (SSE-C). Amazon S3 encrypts data with
|
|
2811
|
+
# server-side encryption by using Amazon S3 managed keys (SSE-S3) by
|
|
2812
|
+
# default. You can optionally tell Amazon S3 to encrypt data at rest
|
|
2813
|
+
# by using server-side encryption with other key options. For more
|
|
2814
|
+
# information, see [Using Server-Side Encryption][1] in the *Amazon S3
|
|
2815
|
+
# User Guide*.
|
|
2816
|
+
#
|
|
2817
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
|
2818
|
+
# two supported options for server-side encryption: server-side
|
|
2819
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
|
2820
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). We
|
|
2821
|
+
# recommend that the bucket's default encryption uses the desired
|
|
2822
|
+
# encryption configuration and you don't override the bucket default
|
|
2823
|
+
# encryption in your `CreateSession` requests or `PUT` object
|
|
2824
|
+
# requests. Then, new objects are automatically encrypted with the
|
|
2825
|
+
# desired encryption settings. For more information, see [Protecting
|
|
2826
|
+
# data with server-side encryption][2] in the *Amazon S3 User Guide*.
|
|
2827
|
+
# For more information about the encryption overriding behaviors in
|
|
2828
|
+
# directory buckets, see [Specifying server-side encryption with KMS
|
|
2829
|
+
# for new object uploads][3].
|
|
2830
|
+
#
|
|
2831
|
+
# In the Zonal endpoint API calls (except [CopyObject][4] and
|
|
2832
|
+
# [UploadPartCopy][5]) using the REST API, the encryption request
|
|
2833
|
+
# headers must match the encryption settings that are specified in the
|
|
2834
|
+
# `CreateSession` request. You can't override the values of the
|
|
2835
|
+
# encryption settings (`x-amz-server-side-encryption`,
|
|
2836
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`,
|
|
2837
|
+
# `x-amz-server-side-encryption-context`, and
|
|
2838
|
+
# `x-amz-server-side-encryption-bucket-key-enabled`) that are
|
|
2839
|
+
# specified in the `CreateSession` request. You don't need to
|
|
2840
|
+
# explicitly specify these encryption settings values in Zonal
|
|
2841
|
+
# endpoint API calls, and Amazon S3 will use the encryption settings
|
|
2842
|
+
# values from the `CreateSession` request to protect new objects in
|
|
2843
|
+
# the directory bucket.
|
|
2844
|
+
#
|
|
2845
|
+
# <note markdown="1"> When you use the CLI or the Amazon Web Services SDKs, for
|
|
2846
|
+
# `CreateSession`, the session token refreshes automatically to avoid
|
|
2847
|
+
# service interruptions when a session expires. The CLI or the Amazon
|
|
2848
|
+
# Web Services SDKs use the bucket's default encryption configuration
|
|
2849
|
+
# for the `CreateSession` request. It's not supported to override the
|
|
2850
|
+
# encryption settings values in the `CreateSession` request. So in the
|
|
2851
|
+
# Zonal endpoint API calls (except [CopyObject][4] and
|
|
2852
|
+
# [UploadPartCopy][5]), the encryption request headers must match the
|
|
2853
|
+
# default encryption configuration of the directory bucket.
|
|
2854
|
+
#
|
|
2855
|
+
# </note>
|
|
2450
2856
|
#
|
|
2451
|
-
# <b>
|
|
2452
|
-
#
|
|
2453
|
-
#
|
|
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.
|
|
2454
2864
|
#
|
|
2455
2865
|
#
|
|
2456
2866
|
#
|
|
2457
2867
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
|
2868
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
|
2869
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
|
2870
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
|
2871
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
|
2458
2872
|
# @option options [String] :storage_class
|
|
2459
2873
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
|
2460
2874
|
# created objects. The STANDARD storage class provides high durability
|
|
@@ -2462,8 +2876,9 @@ module Aws::S3
|
|
|
2462
2876
|
# a different Storage Class. For more information, see [Storage
|
|
2463
2877
|
# Classes][1] in the *Amazon S3 User Guide*.
|
|
2464
2878
|
#
|
|
2465
|
-
# <note markdown="1"> *
|
|
2466
|
-
#
|
|
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.
|
|
2467
2882
|
#
|
|
2468
2883
|
# * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
|
|
2469
2884
|
#
|
|
@@ -2528,44 +2943,83 @@ module Aws::S3
|
|
|
2528
2943
|
#
|
|
2529
2944
|
# </note>
|
|
2530
2945
|
# @option options [String] :ssekms_key_id
|
|
2531
|
-
#
|
|
2532
|
-
#
|
|
2533
|
-
#
|
|
2534
|
-
#
|
|
2535
|
-
#
|
|
2536
|
-
#
|
|
2537
|
-
# x-amz-server-side-encryption
|
|
2538
|
-
#
|
|
2539
|
-
#
|
|
2540
|
-
#
|
|
2946
|
+
# Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for
|
|
2947
|
+
# object encryption. If the KMS key doesn't exist in the same account
|
|
2948
|
+
# that's issuing the command, you must use the full Key ARN not the Key
|
|
2949
|
+
# ID.
|
|
2950
|
+
#
|
|
2951
|
+
# **General purpose buckets** - If you specify
|
|
2952
|
+
# `x-amz-server-side-encryption` with `aws:kms` or `aws:kms:dsse`, this
|
|
2953
|
+
# header specifies the ID (Key ID, Key ARN, or Key Alias) of the KMS key
|
|
2954
|
+
# to use. If you specify `x-amz-server-side-encryption:aws:kms` or
|
|
2955
|
+
# `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide
|
|
2956
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
|
2957
|
+
# Amazon Web Services managed key (`aws/s3`) to protect the data.
|
|
2958
|
+
#
|
|
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.
|
|
2970
|
+
#
|
|
2971
|
+
#
|
|
2972
|
+
#
|
|
2973
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
|
2974
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
|
2975
|
+
# @option options [String] :ssekms_encryption_context
|
|
2976
|
+
# Specifies the Amazon Web Services KMS Encryption Context as an
|
|
2977
|
+
# additional encryption context to use for object encryption. The value
|
|
2978
|
+
# of this header is a Base64 encoded string of a UTF-8 encoded JSON,
|
|
2979
|
+
# which contains the encryption context as key-value pairs. This value
|
|
2980
|
+
# is stored as object metadata and automatically gets passed on to
|
|
2981
|
+
# Amazon Web Services KMS for future `GetObject` operations on this
|
|
2982
|
+
# object.
|
|
2541
2983
|
#
|
|
2542
|
-
#
|
|
2984
|
+
# **General purpose buckets** - This value must be explicitly added
|
|
2985
|
+
# during `CopyObject` operations if you want an additional encryption
|
|
2986
|
+
# context for your object. For more information, see [Encryption
|
|
2987
|
+
# context][1] in the *Amazon S3 User Guide*.
|
|
2543
2988
|
#
|
|
2544
|
-
#
|
|
2545
|
-
#
|
|
2546
|
-
#
|
|
2547
|
-
#
|
|
2548
|
-
# string holding JSON with the encryption context key-value pairs. This
|
|
2549
|
-
# value is stored as object metadata and automatically gets passed on to
|
|
2550
|
-
# Amazon Web Services KMS for future `GetObject` or `CopyObject`
|
|
2551
|
-
# operations on this object. This value must be explicitly added during
|
|
2552
|
-
# `CopyObject` operations.
|
|
2989
|
+
# **Directory buckets** - You can optionally provide an explicit
|
|
2990
|
+
# encryption context value. The value must match the default encryption
|
|
2991
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
|
2992
|
+
# encryption context value is not supported.
|
|
2553
2993
|
#
|
|
2554
|
-
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
2555
2994
|
#
|
|
2556
|
-
#
|
|
2995
|
+
#
|
|
2996
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context
|
|
2557
2997
|
# @option options [Boolean] :bucket_key_enabled
|
|
2558
2998
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
|
2559
2999
|
# encryption with server-side encryption using Key Management Service
|
|
2560
|
-
# (KMS) keys (SSE-KMS).
|
|
2561
|
-
#
|
|
3000
|
+
# (KMS) keys (SSE-KMS).
|
|
3001
|
+
#
|
|
3002
|
+
# **General purpose buckets** - Setting this header to `true` causes
|
|
3003
|
+
# Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.
|
|
3004
|
+
# Also, specifying this header with a PUT action doesn't affect
|
|
3005
|
+
# bucket-level settings for S3 Bucket Key.
|
|
2562
3006
|
#
|
|
2563
|
-
#
|
|
2564
|
-
#
|
|
3007
|
+
# **Directory buckets** - S3 Bucket Keys are always enabled for `GET`
|
|
3008
|
+
# and `PUT` operations in a directory bucket and can’t be disabled. S3
|
|
3009
|
+
# Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects
|
|
3010
|
+
# from general purpose buckets to directory buckets, from directory
|
|
3011
|
+
# buckets to general purpose buckets, or between directory buckets,
|
|
3012
|
+
# through [CopyObject][1], [UploadPartCopy][2], [the Copy operation in
|
|
3013
|
+
# Batch Operations][3], or [the import jobs][4]. In this case, Amazon S3
|
|
3014
|
+
# makes a call to KMS every time a copy request is made for a
|
|
3015
|
+
# KMS-encrypted object.
|
|
2565
3016
|
#
|
|
2566
|
-
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
2567
3017
|
#
|
|
2568
|
-
#
|
|
3018
|
+
#
|
|
3019
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
|
3020
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
|
3021
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
|
|
3022
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
|
|
2569
3023
|
# @option options [String] :request_payer
|
|
2570
3024
|
# Confirms that the requester knows that they will be charged for the
|
|
2571
3025
|
# request. Bucket owners need not specify this parameter in their
|
|
@@ -2624,7 +3078,7 @@ module Aws::S3
|
|
|
2624
3078
|
bucket: @bucket_name,
|
|
2625
3079
|
key: @key
|
|
2626
3080
|
)
|
|
2627
|
-
resp = Aws::Plugins::UserAgent.
|
|
3081
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
|
2628
3082
|
@client.put_object(options)
|
|
2629
3083
|
end
|
|
2630
3084
|
resp.data
|
|
@@ -2680,7 +3134,7 @@ module Aws::S3
|
|
|
2680
3134
|
# bucket_name: "BucketName", # required
|
|
2681
3135
|
# prefix: "LocationPrefix", # required
|
|
2682
3136
|
# encryption: {
|
|
2683
|
-
# 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
|
|
2684
3138
|
# kms_key_id: "SSEKMSKeyId",
|
|
2685
3139
|
# kms_context: "KMSContext",
|
|
2686
3140
|
# },
|
|
@@ -2711,12 +3165,12 @@ module Aws::S3
|
|
|
2711
3165
|
# value: "MetadataValue",
|
|
2712
3166
|
# },
|
|
2713
3167
|
# ],
|
|
2714
|
-
# 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
|
|
2715
3169
|
# },
|
|
2716
3170
|
# },
|
|
2717
3171
|
# },
|
|
2718
3172
|
# request_payer: "requester", # accepts requester
|
|
2719
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
|
3173
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
|
2720
3174
|
# expected_bucket_owner: "AccountId",
|
|
2721
3175
|
# })
|
|
2722
3176
|
# @param [Hash] options ({})
|
|
@@ -2765,7 +3219,7 @@ module Aws::S3
|
|
|
2765
3219
|
bucket: @bucket_name,
|
|
2766
3220
|
key: @key
|
|
2767
3221
|
)
|
|
2768
|
-
resp = Aws::Plugins::UserAgent.
|
|
3222
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
|
2769
3223
|
@client.restore_object(options)
|
|
2770
3224
|
end
|
|
2771
3225
|
resp.data
|
|
@@ -2779,6 +3233,12 @@ module Aws::S3
|
|
|
2779
3233
|
# if_none_match: "IfNoneMatch",
|
|
2780
3234
|
# if_unmodified_since: Time.now,
|
|
2781
3235
|
# range: "Range",
|
|
3236
|
+
# response_cache_control: "ResponseCacheControl",
|
|
3237
|
+
# response_content_disposition: "ResponseContentDisposition",
|
|
3238
|
+
# response_content_encoding: "ResponseContentEncoding",
|
|
3239
|
+
# response_content_language: "ResponseContentLanguage",
|
|
3240
|
+
# response_content_type: "ResponseContentType",
|
|
3241
|
+
# response_expires: Time.now,
|
|
2782
3242
|
# version_id: "ObjectVersionId",
|
|
2783
3243
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
|
2784
3244
|
# sse_customer_key: "SSECustomerKey",
|
|
@@ -2866,6 +3326,18 @@ module Aws::S3
|
|
|
2866
3326
|
# satisfiable, only the `ContentLength` is affected in the response. If
|
|
2867
3327
|
# the Range is not satisfiable, S3 returns a `416 - Requested Range Not
|
|
2868
3328
|
# Satisfiable` error.
|
|
3329
|
+
# @option options [String] :response_cache_control
|
|
3330
|
+
# Sets the `Cache-Control` header of the response.
|
|
3331
|
+
# @option options [String] :response_content_disposition
|
|
3332
|
+
# Sets the `Content-Disposition` header of the response.
|
|
3333
|
+
# @option options [String] :response_content_encoding
|
|
3334
|
+
# Sets the `Content-Encoding` header of the response.
|
|
3335
|
+
# @option options [String] :response_content_language
|
|
3336
|
+
# Sets the `Content-Language` header of the response.
|
|
3337
|
+
# @option options [String] :response_content_type
|
|
3338
|
+
# Sets the `Content-Type` header of the response.
|
|
3339
|
+
# @option options [Time,DateTime,Date,Integer,String] :response_expires
|
|
3340
|
+
# Sets the `Expires` header of the response.
|
|
2869
3341
|
# @option options [String] :version_id
|
|
2870
3342
|
# Version ID used to reference a specific version of the object.
|
|
2871
3343
|
#
|
|
@@ -2926,17 +3398,27 @@ module Aws::S3
|
|
|
2926
3398
|
# @option options [String] :checksum_mode
|
|
2927
3399
|
# To retrieve the checksum, this parameter must be enabled.
|
|
2928
3400
|
#
|
|
2929
|
-
#
|
|
2930
|
-
#
|
|
2931
|
-
# KMS), you must have permission to use the
|
|
2932
|
-
#
|
|
3401
|
+
# **General purpose buckets** - If you enable checksum mode and the
|
|
3402
|
+
# object is uploaded with a [checksum][1] and encrypted with an Key
|
|
3403
|
+
# Management Service (KMS) key, you must have permission to use the
|
|
3404
|
+
# `kms:Decrypt` action to retrieve the checksum.
|
|
3405
|
+
#
|
|
3406
|
+
# **Directory buckets** - If you enable `ChecksumMode` and the object is
|
|
3407
|
+
# encrypted with Amazon Web Services Key Management Service (Amazon Web
|
|
3408
|
+
# Services KMS), you must also have the `kms:GenerateDataKey` and
|
|
3409
|
+
# `kms:Decrypt` permissions in IAM identity-based policies and KMS key
|
|
3410
|
+
# policies for the KMS key to retrieve the checksum of the object.
|
|
3411
|
+
#
|
|
3412
|
+
#
|
|
3413
|
+
#
|
|
3414
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
|
|
2933
3415
|
# @return [Types::HeadObjectOutput]
|
|
2934
3416
|
def head(options = {})
|
|
2935
3417
|
options = options.merge(
|
|
2936
3418
|
bucket: @bucket_name,
|
|
2937
3419
|
key: @key
|
|
2938
3420
|
)
|
|
2939
|
-
resp = Aws::Plugins::UserAgent.
|
|
3421
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
|
2940
3422
|
@client.head_object(options)
|
|
2941
3423
|
end
|
|
2942
3424
|
resp.data
|
|
@@ -3055,7 +3537,7 @@ module Aws::S3
|
|
|
3055
3537
|
# request_payer: "requester", # accepts requester
|
|
3056
3538
|
# bypass_governance_retention: false,
|
|
3057
3539
|
# expected_bucket_owner: "AccountId",
|
|
3058
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
|
3540
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
|
3059
3541
|
# })
|
|
3060
3542
|
# @param options ({})
|
|
3061
3543
|
# @option options [String] :mfa
|
|
@@ -3119,22 +3601,23 @@ module Aws::S3
|
|
|
3119
3601
|
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
|
3120
3602
|
# the supported algorithm from the following list:
|
|
3121
3603
|
#
|
|
3122
|
-
# * CRC32
|
|
3604
|
+
# * `CRC32`
|
|
3605
|
+
#
|
|
3606
|
+
# * `CRC32C`
|
|
3123
3607
|
#
|
|
3124
|
-
# *
|
|
3608
|
+
# * `CRC64NVME`
|
|
3125
3609
|
#
|
|
3126
|
-
# * SHA1
|
|
3610
|
+
# * `SHA1`
|
|
3127
3611
|
#
|
|
3128
|
-
# * SHA256
|
|
3612
|
+
# * `SHA256`
|
|
3129
3613
|
#
|
|
3130
3614
|
# For more information, see [Checking object integrity][1] in the
|
|
3131
3615
|
# *Amazon S3 User Guide*.
|
|
3132
3616
|
#
|
|
3133
3617
|
# If the individual checksum value you provide through
|
|
3134
3618
|
# `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
|
|
3135
|
-
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3
|
|
3136
|
-
#
|
|
3137
|
-
# 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.
|
|
3138
3621
|
#
|
|
3139
3622
|
# If you provide an individual checksum, Amazon S3 ignores any provided
|
|
3140
3623
|
# `ChecksumAlgorithm` parameter.
|
|
@@ -3154,7 +3637,7 @@ module Aws::S3
|
|
|
3154
3637
|
key: item.key
|
|
3155
3638
|
}
|
|
3156
3639
|
end
|
|
3157
|
-
Aws::Plugins::UserAgent.
|
|
3640
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
|
3158
3641
|
batch[0].client.delete_objects(params)
|
|
3159
3642
|
end
|
|
3160
3643
|
end
|
|
@@ -3166,3 +3649,6 @@ module Aws::S3
|
|
|
3166
3649
|
end
|
|
3167
3650
|
end
|
|
3168
3651
|
end
|
|
3652
|
+
|
|
3653
|
+
# Load customizations if they exist
|
|
3654
|
+
require 'aws-sdk-s3/customizations/object'
|