aws-sdk-s3 1.136.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 +452 -1
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/access_grants_credentials.rb +57 -0
- data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +250 -0
- data/lib/aws-sdk-s3/bucket.rb +728 -145
- data/lib/aws-sdk-s3/bucket_acl.rb +19 -18
- data/lib/aws-sdk-s3/bucket_cors.rb +22 -21
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +23 -18
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +76 -19
- data/lib/aws-sdk-s3/bucket_logging.rb +21 -14
- data/lib/aws-sdk-s3/bucket_notification.rb +6 -6
- data/lib/aws-sdk-s3/bucket_policy.rb +65 -20
- data/lib/aws-sdk-s3/bucket_region_cache.rb +9 -5
- data/lib/aws-sdk-s3/bucket_request_payment.rb +15 -15
- data/lib/aws-sdk-s3/bucket_tagging.rb +19 -19
- data/lib/aws-sdk-s3/bucket_versioning.rb +74 -41
- data/lib/aws-sdk-s3/bucket_website.rb +19 -19
- data/lib/aws-sdk-s3/client.rb +9951 -3365
- data/lib/aws-sdk-s3/client_api.rb +758 -164
- data/lib/aws-sdk-s3/customizations/bucket.rb +1 -1
- data/lib/aws-sdk-s3/customizations/errors.rb +15 -2
- 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 -31
- 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 +65 -30
- data/lib/aws-sdk-s3/endpoint_provider.rb +604 -227
- data/lib/aws-sdk-s3/endpoints.rb +655 -1261
- data/lib/aws-sdk-s3/errors.rb +58 -0
- data/lib/aws-sdk-s3/express_credentials.rb +55 -0
- data/lib/aws-sdk-s3/express_credentials_provider.rb +59 -0
- data/lib/aws-sdk-s3/file_downloader.rb +192 -147
- 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 +106 -103
- data/lib/aws-sdk-s3/multipart_stream_uploader.rb +99 -109
- data/lib/aws-sdk-s3/multipart_upload.rb +185 -38
- data/lib/aws-sdk-s3/multipart_upload_error.rb +3 -4
- data/lib/aws-sdk-s3/multipart_upload_part.rb +205 -68
- data/lib/aws-sdk-s3/object.rb +2052 -315
- data/lib/aws-sdk-s3/object_acl.rb +46 -28
- data/lib/aws-sdk-s3/object_copier.rb +1 -1
- data/lib/aws-sdk-s3/object_multipart_copier.rb +12 -9
- data/lib/aws-sdk-s3/object_summary.rb +1778 -262
- data/lib/aws-sdk-s3/object_version.rb +400 -68
- data/lib/aws-sdk-s3/plugins/access_grants.rb +178 -0
- data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
- data/lib/aws-sdk-s3/plugins/endpoints.rb +32 -208
- data/lib/aws-sdk-s3/plugins/express_session_auth.rb +88 -0
- data/lib/aws-sdk-s3/plugins/http_200_errors.rb +55 -18
- data/lib/aws-sdk-s3/plugins/location_constraint.rb +3 -1
- data/lib/aws-sdk-s3/plugins/md5s.rb +10 -70
- data/lib/aws-sdk-s3/plugins/s3_signer.rb +7 -2
- 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 +9 -7
- data/lib/aws-sdk-s3/resource.rb +127 -22
- data/lib/aws-sdk-s3/transfer_manager.rb +303 -0
- data/lib/aws-sdk-s3/types.rb +8065 -1783
- data/lib/aws-sdk-s3.rb +35 -31
- data/sig/bucket.rbs +231 -0
- data/sig/bucket_acl.rbs +78 -0
- data/sig/bucket_cors.rbs +69 -0
- data/sig/bucket_lifecycle.rbs +88 -0
- data/sig/bucket_lifecycle_configuration.rbs +115 -0
- data/sig/bucket_logging.rbs +76 -0
- data/sig/bucket_notification.rbs +114 -0
- data/sig/bucket_policy.rbs +59 -0
- data/sig/bucket_request_payment.rbs +54 -0
- data/sig/bucket_tagging.rbs +65 -0
- data/sig/bucket_versioning.rbs +77 -0
- data/sig/bucket_website.rbs +93 -0
- data/sig/client.rbs +2612 -0
- data/sig/customizations/bucket.rbs +19 -0
- data/sig/customizations/object.rbs +38 -0
- data/sig/customizations/object_summary.rbs +35 -0
- data/sig/errors.rbs +44 -0
- data/sig/multipart_upload.rbs +120 -0
- data/sig/multipart_upload_part.rbs +109 -0
- data/sig/object.rbs +464 -0
- data/sig/object_acl.rbs +86 -0
- data/sig/object_summary.rbs +347 -0
- data/sig/object_version.rbs +143 -0
- data/sig/resource.rbs +141 -0
- data/sig/types.rbs +2899 -0
- data/sig/waiters.rbs +95 -0
- metadata +61 -12
- data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +0 -31
|
@@ -69,6 +69,13 @@ module Aws::S3
|
|
|
69
69
|
end
|
|
70
70
|
|
|
71
71
|
# The class of storage used to store the object.
|
|
72
|
+
#
|
|
73
|
+
# <note markdown="1"> **Directory buckets** - Directory buckets only support
|
|
74
|
+
# `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
|
|
75
|
+
# Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent Access
|
|
76
|
+
# storage class) in Dedicated Local Zones.
|
|
77
|
+
#
|
|
78
|
+
# </note>
|
|
72
79
|
# @return [String]
|
|
73
80
|
def storage_class
|
|
74
81
|
data[:storage_class]
|
|
@@ -76,6 +83,11 @@ module Aws::S3
|
|
|
76
83
|
|
|
77
84
|
# Specifies the owner of the object that is part of the multipart
|
|
78
85
|
# upload.
|
|
86
|
+
#
|
|
87
|
+
# <note markdown="1"> **Directory buckets** - The bucket owner is returned as the object
|
|
88
|
+
# owner for all the objects.
|
|
89
|
+
#
|
|
90
|
+
# </note>
|
|
79
91
|
# @return [Types::Owner]
|
|
80
92
|
def owner
|
|
81
93
|
data[:owner]
|
|
@@ -93,6 +105,18 @@ module Aws::S3
|
|
|
93
105
|
data[:checksum_algorithm]
|
|
94
106
|
end
|
|
95
107
|
|
|
108
|
+
# The checksum type that is used to calculate the object’s checksum
|
|
109
|
+
# value. For more information, see [Checking object integrity][1] in the
|
|
110
|
+
# *Amazon S3 User Guide*.
|
|
111
|
+
#
|
|
112
|
+
#
|
|
113
|
+
#
|
|
114
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
|
115
|
+
# @return [String]
|
|
116
|
+
def checksum_type
|
|
117
|
+
data[:checksum_type]
|
|
118
|
+
end
|
|
119
|
+
|
|
96
120
|
# @!endgroup
|
|
97
121
|
|
|
98
122
|
# @return [Client]
|
|
@@ -217,7 +241,7 @@ module Aws::S3
|
|
|
217
241
|
:retry
|
|
218
242
|
end
|
|
219
243
|
end
|
|
220
|
-
Aws::Plugins::UserAgent.
|
|
244
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
|
221
245
|
Aws::Waiters::Waiter.new(options).wait({})
|
|
222
246
|
end
|
|
223
247
|
end
|
|
@@ -229,24 +253,40 @@ module Aws::S3
|
|
|
229
253
|
# multipart_upload.abort({
|
|
230
254
|
# request_payer: "requester", # accepts requester
|
|
231
255
|
# expected_bucket_owner: "AccountId",
|
|
256
|
+
# if_match_initiated_time: Time.now,
|
|
232
257
|
# })
|
|
233
258
|
# @param [Hash] options ({})
|
|
234
259
|
# @option options [String] :request_payer
|
|
235
260
|
# Confirms that the requester knows that they will be charged for the
|
|
236
261
|
# request. Bucket owners need not specify this parameter in their
|
|
237
|
-
# requests. If either the source or destination
|
|
238
|
-
#
|
|
239
|
-
#
|
|
240
|
-
#
|
|
241
|
-
#
|
|
262
|
+
# requests. If either the source or destination S3 bucket has Requester
|
|
263
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
|
264
|
+
# the object. For information about downloading objects from Requester
|
|
265
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
|
266
|
+
# in the *Amazon S3 User Guide*.
|
|
267
|
+
#
|
|
268
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
269
|
+
#
|
|
270
|
+
# </note>
|
|
242
271
|
#
|
|
243
272
|
#
|
|
244
273
|
#
|
|
245
274
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
|
246
275
|
# @option options [String] :expected_bucket_owner
|
|
247
|
-
# The account ID of the expected bucket owner. If the
|
|
248
|
-
#
|
|
249
|
-
# Forbidden` (access denied).
|
|
276
|
+
# The account ID of the expected bucket owner. If the account ID that
|
|
277
|
+
# you provide does not match the actual owner of the bucket, the request
|
|
278
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
|
279
|
+
# @option options [Time,DateTime,Date,Integer,String] :if_match_initiated_time
|
|
280
|
+
# If present, this header aborts an in progress multipart upload only if
|
|
281
|
+
# it was initiated on the provided timestamp. If the initiated timestamp
|
|
282
|
+
# of the multipart upload does not match the provided value, the
|
|
283
|
+
# operation returns a `412 Precondition Failed` error. If the initiated
|
|
284
|
+
# timestamp matches or if the multipart upload doesn’t exist, the
|
|
285
|
+
# operation returns a `204 Success (No Content)` response.
|
|
286
|
+
#
|
|
287
|
+
# <note markdown="1"> This functionality is only supported for directory buckets.
|
|
288
|
+
#
|
|
289
|
+
# </note>
|
|
250
290
|
# @return [Types::AbortMultipartUploadOutput]
|
|
251
291
|
def abort(options = {})
|
|
252
292
|
options = options.merge(
|
|
@@ -254,7 +294,7 @@ module Aws::S3
|
|
|
254
294
|
key: @object_key,
|
|
255
295
|
upload_id: @id
|
|
256
296
|
)
|
|
257
|
-
resp = Aws::Plugins::UserAgent.
|
|
297
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
|
258
298
|
@client.abort_multipart_upload(options)
|
|
259
299
|
end
|
|
260
300
|
resp.data
|
|
@@ -269,6 +309,7 @@ module Aws::S3
|
|
|
269
309
|
# etag: "ETag",
|
|
270
310
|
# checksum_crc32: "ChecksumCRC32",
|
|
271
311
|
# checksum_crc32c: "ChecksumCRC32C",
|
|
312
|
+
# checksum_crc64nvme: "ChecksumCRC64NVME",
|
|
272
313
|
# checksum_sha1: "ChecksumSHA1",
|
|
273
314
|
# checksum_sha256: "ChecksumSHA256",
|
|
274
315
|
# part_number: 1,
|
|
@@ -277,10 +318,15 @@ module Aws::S3
|
|
|
277
318
|
# },
|
|
278
319
|
# checksum_crc32: "ChecksumCRC32",
|
|
279
320
|
# checksum_crc32c: "ChecksumCRC32C",
|
|
321
|
+
# checksum_crc64nvme: "ChecksumCRC64NVME",
|
|
280
322
|
# checksum_sha1: "ChecksumSHA1",
|
|
281
323
|
# checksum_sha256: "ChecksumSHA256",
|
|
324
|
+
# checksum_type: "COMPOSITE", # accepts COMPOSITE, FULL_OBJECT
|
|
325
|
+
# mpu_object_size: 1,
|
|
282
326
|
# request_payer: "requester", # accepts requester
|
|
283
327
|
# expected_bucket_owner: "AccountId",
|
|
328
|
+
# if_match: "IfMatch",
|
|
329
|
+
# if_none_match: "IfNoneMatch",
|
|
284
330
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
|
285
331
|
# sse_customer_key: "SSECustomerKey",
|
|
286
332
|
# sse_customer_key_md5: "SSECustomerKeyMD5",
|
|
@@ -291,9 +337,9 @@ module Aws::S3
|
|
|
291
337
|
# @option options [String] :checksum_crc32
|
|
292
338
|
# This header can be used as a data integrity check to verify that the
|
|
293
339
|
# data received is the same data that was originally sent. This header
|
|
294
|
-
# specifies the
|
|
295
|
-
# more information, see [Checking object integrity][1] in the
|
|
296
|
-
# User Guide*.
|
|
340
|
+
# specifies the Base64 encoded, 32-bit `CRC32` checksum of the object.
|
|
341
|
+
# For more information, see [Checking object integrity][1] in the
|
|
342
|
+
# *Amazon S3 User Guide*.
|
|
297
343
|
#
|
|
298
344
|
#
|
|
299
345
|
#
|
|
@@ -301,17 +347,28 @@ module Aws::S3
|
|
|
301
347
|
# @option options [String] :checksum_crc32c
|
|
302
348
|
# This header can be used as a data integrity check to verify that the
|
|
303
349
|
# data received is the same data that was originally sent. This header
|
|
304
|
-
# specifies the
|
|
350
|
+
# specifies the Base64 encoded, 32-bit `CRC32C` checksum of the object.
|
|
305
351
|
# For more information, see [Checking object integrity][1] in the
|
|
306
352
|
# *Amazon S3 User Guide*.
|
|
307
353
|
#
|
|
308
354
|
#
|
|
309
355
|
#
|
|
310
356
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
|
357
|
+
# @option options [String] :checksum_crc64nvme
|
|
358
|
+
# This header can be used as a data integrity check to verify that the
|
|
359
|
+
# data received is the same data that was originally sent. This header
|
|
360
|
+
# specifies the Base64 encoded, 64-bit `CRC64NVME` checksum of the
|
|
361
|
+
# object. The `CRC64NVME` checksum is always a full object checksum. For
|
|
362
|
+
# more information, see [Checking object integrity in the Amazon S3 User
|
|
363
|
+
# Guide][1].
|
|
364
|
+
#
|
|
365
|
+
#
|
|
366
|
+
#
|
|
367
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
|
311
368
|
# @option options [String] :checksum_sha1
|
|
312
369
|
# This header can be used as a data integrity check to verify that the
|
|
313
370
|
# data received is the same data that was originally sent. This header
|
|
314
|
-
# specifies the
|
|
371
|
+
# specifies the Base64 encoded, 160-bit `SHA1` digest of the object. For
|
|
315
372
|
# more information, see [Checking object integrity][1] in the *Amazon S3
|
|
316
373
|
# User Guide*.
|
|
317
374
|
#
|
|
@@ -321,44 +378,111 @@ module Aws::S3
|
|
|
321
378
|
# @option options [String] :checksum_sha256
|
|
322
379
|
# This header can be used as a data integrity check to verify that the
|
|
323
380
|
# data received is the same data that was originally sent. This header
|
|
324
|
-
# specifies the
|
|
381
|
+
# specifies the Base64 encoded, 256-bit `SHA256` digest of the object.
|
|
325
382
|
# For more information, see [Checking object integrity][1] in the
|
|
326
383
|
# *Amazon S3 User Guide*.
|
|
327
384
|
#
|
|
328
385
|
#
|
|
329
386
|
#
|
|
330
387
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
|
388
|
+
# @option options [String] :checksum_type
|
|
389
|
+
# This header specifies the checksum type of the object, which
|
|
390
|
+
# determines how part-level checksums are combined to create an
|
|
391
|
+
# object-level checksum for multipart objects. You can use this header
|
|
392
|
+
# as a data integrity check to verify that the checksum type that is
|
|
393
|
+
# received is the same checksum that was specified. If the checksum type
|
|
394
|
+
# doesn’t match the checksum type that was specified for the object
|
|
395
|
+
# during the `CreateMultipartUpload` request, it’ll result in a
|
|
396
|
+
# `BadDigest` error. For more information, see Checking object integrity
|
|
397
|
+
# in the Amazon S3 User Guide.
|
|
398
|
+
# @option options [Integer] :mpu_object_size
|
|
399
|
+
# The expected total object size of the multipart upload request. If
|
|
400
|
+
# there’s a mismatch between the specified object size value and the
|
|
401
|
+
# actual object size value, it results in an `HTTP 400 InvalidRequest`
|
|
402
|
+
# error.
|
|
331
403
|
# @option options [String] :request_payer
|
|
332
404
|
# Confirms that the requester knows that they will be charged for the
|
|
333
405
|
# request. Bucket owners need not specify this parameter in their
|
|
334
|
-
# requests. If either the source or destination
|
|
335
|
-
#
|
|
336
|
-
#
|
|
337
|
-
#
|
|
338
|
-
#
|
|
406
|
+
# requests. If either the source or destination S3 bucket has Requester
|
|
407
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
|
408
|
+
# the object. For information about downloading objects from Requester
|
|
409
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
|
410
|
+
# in the *Amazon S3 User Guide*.
|
|
411
|
+
#
|
|
412
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
413
|
+
#
|
|
414
|
+
# </note>
|
|
339
415
|
#
|
|
340
416
|
#
|
|
341
417
|
#
|
|
342
418
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
|
343
419
|
# @option options [String] :expected_bucket_owner
|
|
344
|
-
# The account ID of the expected bucket owner. If the
|
|
345
|
-
#
|
|
346
|
-
# Forbidden` (access denied).
|
|
420
|
+
# The account ID of the expected bucket owner. If the account ID that
|
|
421
|
+
# you provide does not match the actual owner of the bucket, the request
|
|
422
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
|
423
|
+
# @option options [String] :if_match
|
|
424
|
+
# Uploads the object only if the ETag (entity tag) value provided during
|
|
425
|
+
# the WRITE operation matches the ETag of the object in S3. If the ETag
|
|
426
|
+
# values do not match, the operation returns a `412 Precondition Failed`
|
|
427
|
+
# error.
|
|
428
|
+
#
|
|
429
|
+
# If a conflicting operation occurs during the upload S3 returns a `409
|
|
430
|
+
# ConditionalRequestConflict` response. On a 409 failure you should
|
|
431
|
+
# fetch the object's ETag, re-initiate the multipart upload with
|
|
432
|
+
# `CreateMultipartUpload`, and re-upload each part.
|
|
433
|
+
#
|
|
434
|
+
# Expects the ETag value as a string.
|
|
435
|
+
#
|
|
436
|
+
# For more information about conditional requests, see [RFC 7232][1], or
|
|
437
|
+
# [Conditional requests][2] in the *Amazon S3 User Guide*.
|
|
438
|
+
#
|
|
439
|
+
#
|
|
440
|
+
#
|
|
441
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
|
442
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
|
|
443
|
+
# @option options [String] :if_none_match
|
|
444
|
+
# Uploads the object only if the object key name does not already exist
|
|
445
|
+
# in the bucket specified. Otherwise, Amazon S3 returns a `412
|
|
446
|
+
# Precondition Failed` error.
|
|
447
|
+
#
|
|
448
|
+
# If a conflicting operation occurs during the upload S3 returns a `409
|
|
449
|
+
# ConditionalRequestConflict` response. On a 409 failure you should
|
|
450
|
+
# re-initiate the multipart upload with `CreateMultipartUpload` and
|
|
451
|
+
# re-upload each part.
|
|
452
|
+
#
|
|
453
|
+
# Expects the '*' (asterisk) character.
|
|
454
|
+
#
|
|
455
|
+
# For more information about conditional requests, see [RFC 7232][1], or
|
|
456
|
+
# [Conditional requests][2] in the *Amazon S3 User Guide*.
|
|
457
|
+
#
|
|
458
|
+
#
|
|
459
|
+
#
|
|
460
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
|
461
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
|
|
347
462
|
# @option options [String] :sse_customer_algorithm
|
|
348
463
|
# The server-side encryption (SSE) algorithm used to encrypt the object.
|
|
349
|
-
# This parameter is
|
|
350
|
-
# checksum algorithm
|
|
351
|
-
# SSE-C keys][1] in the
|
|
464
|
+
# This parameter is required only when the object was created using a
|
|
465
|
+
# checksum algorithm or if your bucket policy requires the use of SSE-C.
|
|
466
|
+
# For more information, see [Protecting data using SSE-C keys][1] in the
|
|
467
|
+
# *Amazon S3 User Guide*.
|
|
352
468
|
#
|
|
469
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
353
470
|
#
|
|
471
|
+
# </note>
|
|
354
472
|
#
|
|
355
|
-
#
|
|
473
|
+
#
|
|
474
|
+
#
|
|
475
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#ssec-require-condition-key
|
|
356
476
|
# @option options [String] :sse_customer_key
|
|
357
477
|
# The server-side encryption (SSE) customer managed key. This parameter
|
|
358
478
|
# is needed only when the object was created using a checksum algorithm.
|
|
359
479
|
# For more information, see [Protecting data using SSE-C keys][1] in the
|
|
360
480
|
# *Amazon S3 User Guide*.
|
|
361
481
|
#
|
|
482
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
483
|
+
#
|
|
484
|
+
# </note>
|
|
485
|
+
#
|
|
362
486
|
#
|
|
363
487
|
#
|
|
364
488
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
|
@@ -368,6 +492,10 @@ module Aws::S3
|
|
|
368
492
|
# algorithm. For more information, see [Protecting data using SSE-C
|
|
369
493
|
# keys][1] in the *Amazon S3 User Guide*.
|
|
370
494
|
#
|
|
495
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
496
|
+
#
|
|
497
|
+
# </note>
|
|
498
|
+
#
|
|
371
499
|
#
|
|
372
500
|
#
|
|
373
501
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
|
@@ -378,7 +506,7 @@ module Aws::S3
|
|
|
378
506
|
key: @object_key,
|
|
379
507
|
upload_id: @id
|
|
380
508
|
)
|
|
381
|
-
Aws::Plugins::UserAgent.
|
|
509
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
|
382
510
|
@client.complete_multipart_upload(options)
|
|
383
511
|
end
|
|
384
512
|
Object.new(
|
|
@@ -424,25 +552,33 @@ module Aws::S3
|
|
|
424
552
|
# @option options [String] :request_payer
|
|
425
553
|
# Confirms that the requester knows that they will be charged for the
|
|
426
554
|
# request. Bucket owners need not specify this parameter in their
|
|
427
|
-
# requests. If either the source or destination
|
|
428
|
-
#
|
|
429
|
-
#
|
|
430
|
-
#
|
|
431
|
-
#
|
|
555
|
+
# requests. If either the source or destination S3 bucket has Requester
|
|
556
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
|
557
|
+
# the object. For information about downloading objects from Requester
|
|
558
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
|
559
|
+
# in the *Amazon S3 User Guide*.
|
|
560
|
+
#
|
|
561
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
562
|
+
#
|
|
563
|
+
# </note>
|
|
432
564
|
#
|
|
433
565
|
#
|
|
434
566
|
#
|
|
435
567
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
|
436
568
|
# @option options [String] :expected_bucket_owner
|
|
437
|
-
# The account ID of the expected bucket owner. If the
|
|
438
|
-
#
|
|
439
|
-
# Forbidden` (access denied).
|
|
569
|
+
# The account ID of the expected bucket owner. If the account ID that
|
|
570
|
+
# you provide does not match the actual owner of the bucket, the request
|
|
571
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
|
440
572
|
# @option options [String] :sse_customer_algorithm
|
|
441
573
|
# The server-side encryption (SSE) algorithm used to encrypt the object.
|
|
442
574
|
# This parameter is needed only when the object was created using a
|
|
443
575
|
# checksum algorithm. For more information, see [Protecting data using
|
|
444
576
|
# SSE-C keys][1] in the *Amazon S3 User Guide*.
|
|
445
577
|
#
|
|
578
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
579
|
+
#
|
|
580
|
+
# </note>
|
|
581
|
+
#
|
|
446
582
|
#
|
|
447
583
|
#
|
|
448
584
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
|
@@ -452,6 +588,10 @@ module Aws::S3
|
|
|
452
588
|
# For more information, see [Protecting data using SSE-C keys][1] in the
|
|
453
589
|
# *Amazon S3 User Guide*.
|
|
454
590
|
#
|
|
591
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
592
|
+
#
|
|
593
|
+
# </note>
|
|
594
|
+
#
|
|
455
595
|
#
|
|
456
596
|
#
|
|
457
597
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
|
@@ -461,6 +601,10 @@ module Aws::S3
|
|
|
461
601
|
# algorithm. For more information, see [Protecting data using SSE-C
|
|
462
602
|
# keys][1] in the *Amazon S3 User Guide*.
|
|
463
603
|
#
|
|
604
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
605
|
+
#
|
|
606
|
+
# </note>
|
|
607
|
+
#
|
|
464
608
|
#
|
|
465
609
|
#
|
|
466
610
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
|
@@ -472,7 +616,7 @@ module Aws::S3
|
|
|
472
616
|
key: @object_key,
|
|
473
617
|
upload_id: @id
|
|
474
618
|
)
|
|
475
|
-
resp = Aws::Plugins::UserAgent.
|
|
619
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
|
476
620
|
@client.list_parts(options)
|
|
477
621
|
end
|
|
478
622
|
resp.each_page do |page|
|
|
@@ -542,3 +686,6 @@ module Aws::S3
|
|
|
542
686
|
class Collection < Aws::Resources::Collection; end
|
|
543
687
|
end
|
|
544
688
|
end
|
|
689
|
+
|
|
690
|
+
# Load customizations if they exist
|
|
691
|
+
require 'aws-sdk-s3/customizations/multipart_upload'
|
|
@@ -2,17 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
module Aws
|
|
4
4
|
module S3
|
|
5
|
+
# Raise when multipart upload fails to complete.
|
|
5
6
|
class MultipartUploadError < StandardError
|
|
6
7
|
|
|
7
|
-
def initialize(message, errors)
|
|
8
|
+
def initialize(message, errors = [])
|
|
8
9
|
@errors = errors
|
|
9
10
|
super(message)
|
|
10
11
|
end
|
|
11
12
|
|
|
12
|
-
# @return [Array<StandardError>] The list of errors encountered
|
|
13
|
-
# when uploading or aborting the upload.
|
|
13
|
+
# @return [Array<StandardError>] The list of errors encountered when uploading or aborting the upload.
|
|
14
14
|
attr_reader :errors
|
|
15
|
-
|
|
16
15
|
end
|
|
17
16
|
end
|
|
18
17
|
end
|