aws-sdk-s3 1.103.0 → 1.202.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 +664 -0
- 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 +858 -116
- data/lib/aws-sdk-s3/bucket_acl.rb +32 -9
- data/lib/aws-sdk-s3/bucket_cors.rb +38 -13
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +43 -12
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +100 -13
- data/lib/aws-sdk-s3/bucket_logging.rb +35 -6
- data/lib/aws-sdk-s3/bucket_notification.rb +27 -9
- data/lib/aws-sdk-s3/bucket_policy.rb +79 -10
- data/lib/aws-sdk-s3/bucket_region_cache.rb +9 -5
- data/lib/aws-sdk-s3/bucket_request_payment.rb +29 -7
- data/lib/aws-sdk-s3/bucket_tagging.rb +35 -11
- data/lib/aws-sdk-s3/bucket_versioning.rb +108 -17
- data/lib/aws-sdk-s3/bucket_website.rb +35 -11
- data/lib/aws-sdk-s3/client.rb +11799 -3636
- data/lib/aws-sdk-s3/client_api.rb +1201 -276
- data/lib/aws-sdk-s3/customizations/bucket.rb +23 -47
- data/lib/aws-sdk-s3/customizations/errors.rb +40 -0
- data/lib/aws-sdk-s3/customizations/object.rb +216 -70
- 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/types/permanent_redirect.rb +26 -0
- data/lib/aws-sdk-s3/customizations.rb +27 -29
- data/lib/aws-sdk-s3/default_executor.rb +103 -0
- data/lib/aws-sdk-s3/encryption/client.rb +6 -2
- data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +13 -9
- data/lib/aws-sdk-s3/encryptionV2/client.rb +6 -2
- data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +1 -0
- data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -6
- data/lib/aws-sdk-s3/endpoint_parameters.rb +181 -0
- data/lib/aws-sdk-s3/endpoint_provider.rb +716 -0
- data/lib/aws-sdk-s3/endpoints.rb +1518 -0
- 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 +241 -87
- data/lib/aws-sdk-s3/file_uploader.rb +16 -13
- data/lib/aws-sdk-s3/legacy_signer.rb +2 -1
- data/lib/aws-sdk-s3/multipart_download_error.rb +8 -0
- data/lib/aws-sdk-s3/multipart_file_uploader.rb +108 -86
- data/lib/aws-sdk-s3/multipart_stream_uploader.rb +110 -92
- data/lib/aws-sdk-s3/multipart_upload.rb +294 -19
- data/lib/aws-sdk-s3/multipart_upload_error.rb +3 -4
- data/lib/aws-sdk-s3/multipart_upload_part.rb +297 -31
- data/lib/aws-sdk-s3/object.rb +2224 -269
- data/lib/aws-sdk-s3/object_acl.rb +59 -17
- data/lib/aws-sdk-s3/object_copier.rb +7 -5
- data/lib/aws-sdk-s3/object_multipart_copier.rb +48 -23
- data/lib/aws-sdk-s3/object_summary.rb +1915 -220
- data/lib/aws-sdk-s3/object_version.rb +450 -58
- data/lib/aws-sdk-s3/plugins/accelerate.rb +3 -44
- data/lib/aws-sdk-s3/plugins/access_grants.rb +178 -0
- data/lib/aws-sdk-s3/plugins/arn.rb +0 -197
- data/lib/aws-sdk-s3/plugins/bucket_dns.rb +3 -39
- data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +1 -6
- data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
- data/lib/aws-sdk-s3/plugins/dualstack.rb +1 -55
- data/lib/aws-sdk-s3/plugins/endpoints.rb +86 -0
- data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +2 -1
- 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/iad_regional_endpoint.rb +6 -29
- data/lib/aws-sdk-s3/plugins/location_constraint.rb +3 -1
- data/lib/aws-sdk-s3/plugins/md5s.rb +10 -68
- data/lib/aws-sdk-s3/plugins/s3_signer.rb +42 -111
- data/lib/aws-sdk-s3/plugins/streaming_retry.rb +28 -9
- data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -1
- data/lib/aws-sdk-s3/presigned_post.rb +99 -78
- data/lib/aws-sdk-s3/presigner.rb +32 -41
- data/lib/aws-sdk-s3/resource.rb +139 -12
- data/lib/aws-sdk-s3/transfer_manager.rb +304 -0
- data/lib/aws-sdk-s3/types.rb +10204 -5378
- data/lib/aws-sdk-s3.rb +35 -27
- 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 +2586 -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 +2868 -0
- data/sig/waiters.rbs +95 -0
- metadata +51 -16
- data/lib/aws-sdk-s3/arn/access_point_arn.rb +0 -69
- data/lib/aws-sdk-s3/arn/multi_region_access_point_arn.rb +0 -69
- data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +0 -69
- data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +0 -73
- data/lib/aws-sdk-s3/plugins/object_lambda_endpoint.rb +0 -25
|
@@ -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]
|
|
@@ -87,6 +99,24 @@ module Aws::S3
|
|
|
87
99
|
data[:initiator]
|
|
88
100
|
end
|
|
89
101
|
|
|
102
|
+
# The algorithm that was used to create a checksum of the object.
|
|
103
|
+
# @return [String]
|
|
104
|
+
def checksum_algorithm
|
|
105
|
+
data[:checksum_algorithm]
|
|
106
|
+
end
|
|
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
|
+
|
|
90
120
|
# @!endgroup
|
|
91
121
|
|
|
92
122
|
# @return [Client]
|
|
@@ -211,7 +241,9 @@ module Aws::S3
|
|
|
211
241
|
:retry
|
|
212
242
|
end
|
|
213
243
|
end
|
|
214
|
-
Aws::
|
|
244
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
|
245
|
+
Aws::Waiters::Waiter.new(options).wait({})
|
|
246
|
+
end
|
|
215
247
|
end
|
|
216
248
|
|
|
217
249
|
# @!group Actions
|
|
@@ -221,22 +253,40 @@ module Aws::S3
|
|
|
221
253
|
# multipart_upload.abort({
|
|
222
254
|
# request_payer: "requester", # accepts requester
|
|
223
255
|
# expected_bucket_owner: "AccountId",
|
|
256
|
+
# if_match_initiated_time: Time.now,
|
|
224
257
|
# })
|
|
225
258
|
# @param [Hash] options ({})
|
|
226
259
|
# @option options [String] :request_payer
|
|
227
260
|
# Confirms that the requester knows that they will be charged for the
|
|
228
261
|
# request. Bucket owners need not specify this parameter in their
|
|
229
|
-
# requests.
|
|
230
|
-
#
|
|
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]
|
|
231
266
|
# in the *Amazon S3 User Guide*.
|
|
232
267
|
#
|
|
268
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
269
|
+
#
|
|
270
|
+
# </note>
|
|
271
|
+
#
|
|
233
272
|
#
|
|
234
273
|
#
|
|
235
274
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
|
236
275
|
# @option options [String] :expected_bucket_owner
|
|
237
|
-
# The account ID of the expected bucket owner. If the
|
|
238
|
-
#
|
|
239
|
-
#
|
|
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>
|
|
240
290
|
# @return [Types::AbortMultipartUploadOutput]
|
|
241
291
|
def abort(options = {})
|
|
242
292
|
options = options.merge(
|
|
@@ -244,7 +294,9 @@ module Aws::S3
|
|
|
244
294
|
key: @object_key,
|
|
245
295
|
upload_id: @id
|
|
246
296
|
)
|
|
247
|
-
resp =
|
|
297
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
|
298
|
+
@client.abort_multipart_upload(options)
|
|
299
|
+
end
|
|
248
300
|
resp.data
|
|
249
301
|
end
|
|
250
302
|
|
|
@@ -255,30 +307,198 @@ module Aws::S3
|
|
|
255
307
|
# parts: [
|
|
256
308
|
# {
|
|
257
309
|
# etag: "ETag",
|
|
310
|
+
# checksum_crc32: "ChecksumCRC32",
|
|
311
|
+
# checksum_crc32c: "ChecksumCRC32C",
|
|
312
|
+
# checksum_crc64nvme: "ChecksumCRC64NVME",
|
|
313
|
+
# checksum_sha1: "ChecksumSHA1",
|
|
314
|
+
# checksum_sha256: "ChecksumSHA256",
|
|
258
315
|
# part_number: 1,
|
|
259
316
|
# },
|
|
260
317
|
# ],
|
|
261
318
|
# },
|
|
319
|
+
# checksum_crc32: "ChecksumCRC32",
|
|
320
|
+
# checksum_crc32c: "ChecksumCRC32C",
|
|
321
|
+
# checksum_crc64nvme: "ChecksumCRC64NVME",
|
|
322
|
+
# checksum_sha1: "ChecksumSHA1",
|
|
323
|
+
# checksum_sha256: "ChecksumSHA256",
|
|
324
|
+
# checksum_type: "COMPOSITE", # accepts COMPOSITE, FULL_OBJECT
|
|
325
|
+
# mpu_object_size: 1,
|
|
262
326
|
# request_payer: "requester", # accepts requester
|
|
263
327
|
# expected_bucket_owner: "AccountId",
|
|
328
|
+
# if_match: "IfMatch",
|
|
329
|
+
# if_none_match: "IfNoneMatch",
|
|
330
|
+
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
|
331
|
+
# sse_customer_key: "SSECustomerKey",
|
|
332
|
+
# sse_customer_key_md5: "SSECustomerKeyMD5",
|
|
264
333
|
# })
|
|
265
334
|
# @param [Hash] options ({})
|
|
266
335
|
# @option options [Types::CompletedMultipartUpload] :multipart_upload
|
|
267
336
|
# The container for the multipart upload request information.
|
|
337
|
+
# @option options [String] :checksum_crc32
|
|
338
|
+
# This header can be used as a data integrity check to verify that the
|
|
339
|
+
# data received is the same data that was originally sent. This header
|
|
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*.
|
|
343
|
+
#
|
|
344
|
+
#
|
|
345
|
+
#
|
|
346
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
|
347
|
+
# @option options [String] :checksum_crc32c
|
|
348
|
+
# This header can be used as a data integrity check to verify that the
|
|
349
|
+
# data received is the same data that was originally sent. This header
|
|
350
|
+
# specifies the Base64 encoded, 32-bit `CRC32C` checksum of the object.
|
|
351
|
+
# For more information, see [Checking object integrity][1] in the
|
|
352
|
+
# *Amazon S3 User Guide*.
|
|
353
|
+
#
|
|
354
|
+
#
|
|
355
|
+
#
|
|
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
|
|
368
|
+
# @option options [String] :checksum_sha1
|
|
369
|
+
# This header can be used as a data integrity check to verify that the
|
|
370
|
+
# data received is the same data that was originally sent. This header
|
|
371
|
+
# specifies the Base64 encoded, 160-bit `SHA1` digest of the object. For
|
|
372
|
+
# more information, see [Checking object integrity][1] in the *Amazon S3
|
|
373
|
+
# User Guide*.
|
|
374
|
+
#
|
|
375
|
+
#
|
|
376
|
+
#
|
|
377
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
|
378
|
+
# @option options [String] :checksum_sha256
|
|
379
|
+
# This header can be used as a data integrity check to verify that the
|
|
380
|
+
# data received is the same data that was originally sent. This header
|
|
381
|
+
# specifies the Base64 encoded, 256-bit `SHA256` digest of the object.
|
|
382
|
+
# For more information, see [Checking object integrity][1] in the
|
|
383
|
+
# *Amazon S3 User Guide*.
|
|
384
|
+
#
|
|
385
|
+
#
|
|
386
|
+
#
|
|
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.
|
|
268
403
|
# @option options [String] :request_payer
|
|
269
404
|
# Confirms that the requester knows that they will be charged for the
|
|
270
405
|
# request. Bucket owners need not specify this parameter in their
|
|
271
|
-
# requests.
|
|
272
|
-
#
|
|
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]
|
|
273
410
|
# in the *Amazon S3 User Guide*.
|
|
274
411
|
#
|
|
412
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
413
|
+
#
|
|
414
|
+
# </note>
|
|
415
|
+
#
|
|
275
416
|
#
|
|
276
417
|
#
|
|
277
418
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
|
278
419
|
# @option options [String] :expected_bucket_owner
|
|
279
|
-
# The account ID of the expected bucket owner. If the
|
|
280
|
-
#
|
|
281
|
-
#
|
|
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
|
|
462
|
+
# @option options [String] :sse_customer_algorithm
|
|
463
|
+
# The server-side encryption (SSE) algorithm used to encrypt the object.
|
|
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*.
|
|
468
|
+
#
|
|
469
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
470
|
+
#
|
|
471
|
+
# </note>
|
|
472
|
+
#
|
|
473
|
+
#
|
|
474
|
+
#
|
|
475
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#ssec-require-condition-key
|
|
476
|
+
# @option options [String] :sse_customer_key
|
|
477
|
+
# The server-side encryption (SSE) customer managed key. This parameter
|
|
478
|
+
# is needed only when the object was created using a checksum algorithm.
|
|
479
|
+
# For more information, see [Protecting data using SSE-C keys][1] in the
|
|
480
|
+
# *Amazon S3 User Guide*.
|
|
481
|
+
#
|
|
482
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
483
|
+
#
|
|
484
|
+
# </note>
|
|
485
|
+
#
|
|
486
|
+
#
|
|
487
|
+
#
|
|
488
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
|
489
|
+
# @option options [String] :sse_customer_key_md5
|
|
490
|
+
# The MD5 server-side encryption (SSE) customer managed key. This
|
|
491
|
+
# parameter is needed only when the object was created using a checksum
|
|
492
|
+
# algorithm. For more information, see [Protecting data using SSE-C
|
|
493
|
+
# keys][1] in the *Amazon S3 User Guide*.
|
|
494
|
+
#
|
|
495
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
496
|
+
#
|
|
497
|
+
# </note>
|
|
498
|
+
#
|
|
499
|
+
#
|
|
500
|
+
#
|
|
501
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
|
282
502
|
# @return [Object]
|
|
283
503
|
def complete(options = {})
|
|
284
504
|
options = options.merge(
|
|
@@ -286,7 +506,9 @@ module Aws::S3
|
|
|
286
506
|
key: @object_key,
|
|
287
507
|
upload_id: @id
|
|
288
508
|
)
|
|
289
|
-
|
|
509
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
|
510
|
+
@client.complete_multipart_upload(options)
|
|
511
|
+
end
|
|
290
512
|
Object.new(
|
|
291
513
|
bucket_name: @bucket_name,
|
|
292
514
|
key: @object_key,
|
|
@@ -322,22 +544,70 @@ module Aws::S3
|
|
|
322
544
|
# parts = multipart_upload.parts({
|
|
323
545
|
# request_payer: "requester", # accepts requester
|
|
324
546
|
# expected_bucket_owner: "AccountId",
|
|
547
|
+
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
|
548
|
+
# sse_customer_key: "SSECustomerKey",
|
|
549
|
+
# sse_customer_key_md5: "SSECustomerKeyMD5",
|
|
325
550
|
# })
|
|
326
551
|
# @param [Hash] options ({})
|
|
327
552
|
# @option options [String] :request_payer
|
|
328
553
|
# Confirms that the requester knows that they will be charged for the
|
|
329
554
|
# request. Bucket owners need not specify this parameter in their
|
|
330
|
-
# requests.
|
|
331
|
-
#
|
|
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]
|
|
332
559
|
# in the *Amazon S3 User Guide*.
|
|
333
560
|
#
|
|
561
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
562
|
+
#
|
|
563
|
+
# </note>
|
|
564
|
+
#
|
|
334
565
|
#
|
|
335
566
|
#
|
|
336
567
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
|
337
568
|
# @option options [String] :expected_bucket_owner
|
|
338
|
-
# The account ID of the expected bucket owner. If the
|
|
339
|
-
#
|
|
340
|
-
#
|
|
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).
|
|
572
|
+
# @option options [String] :sse_customer_algorithm
|
|
573
|
+
# The server-side encryption (SSE) algorithm used to encrypt the object.
|
|
574
|
+
# This parameter is needed only when the object was created using a
|
|
575
|
+
# checksum algorithm. For more information, see [Protecting data using
|
|
576
|
+
# SSE-C keys][1] in the *Amazon S3 User Guide*.
|
|
577
|
+
#
|
|
578
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
579
|
+
#
|
|
580
|
+
# </note>
|
|
581
|
+
#
|
|
582
|
+
#
|
|
583
|
+
#
|
|
584
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
|
585
|
+
# @option options [String] :sse_customer_key
|
|
586
|
+
# The server-side encryption (SSE) customer managed key. This parameter
|
|
587
|
+
# is needed only when the object was created using a checksum algorithm.
|
|
588
|
+
# For more information, see [Protecting data using SSE-C keys][1] in the
|
|
589
|
+
# *Amazon S3 User Guide*.
|
|
590
|
+
#
|
|
591
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
592
|
+
#
|
|
593
|
+
# </note>
|
|
594
|
+
#
|
|
595
|
+
#
|
|
596
|
+
#
|
|
597
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
|
598
|
+
# @option options [String] :sse_customer_key_md5
|
|
599
|
+
# The MD5 server-side encryption (SSE) customer managed key. This
|
|
600
|
+
# parameter is needed only when the object was created using a checksum
|
|
601
|
+
# algorithm. For more information, see [Protecting data using SSE-C
|
|
602
|
+
# keys][1] in the *Amazon S3 User Guide*.
|
|
603
|
+
#
|
|
604
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
605
|
+
#
|
|
606
|
+
# </note>
|
|
607
|
+
#
|
|
608
|
+
#
|
|
609
|
+
#
|
|
610
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
|
341
611
|
# @return [MultipartUploadPart::Collection]
|
|
342
612
|
def parts(options = {})
|
|
343
613
|
batches = Enumerator.new do |y|
|
|
@@ -346,7 +616,9 @@ module Aws::S3
|
|
|
346
616
|
key: @object_key,
|
|
347
617
|
upload_id: @id
|
|
348
618
|
)
|
|
349
|
-
resp =
|
|
619
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
|
620
|
+
@client.list_parts(options)
|
|
621
|
+
end
|
|
350
622
|
resp.each_page do |page|
|
|
351
623
|
batch = []
|
|
352
624
|
page.data.parts.each do |p|
|
|
@@ -414,3 +686,6 @@ module Aws::S3
|
|
|
414
686
|
class Collection < Aws::Resources::Collection; end
|
|
415
687
|
end
|
|
416
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
|