aws-sdk-s3 1.128.0 → 1.199.1

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.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +450 -1
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/access_grants_credentials.rb +57 -0
  5. data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +250 -0
  6. data/lib/aws-sdk-s3/bucket.rb +720 -128
  7. data/lib/aws-sdk-s3/bucket_acl.rb +18 -17
  8. data/lib/aws-sdk-s3/bucket_cors.rb +22 -21
  9. data/lib/aws-sdk-s3/bucket_lifecycle.rb +23 -18
  10. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +76 -19
  11. data/lib/aws-sdk-s3/bucket_logging.rb +21 -14
  12. data/lib/aws-sdk-s3/bucket_notification.rb +6 -6
  13. data/lib/aws-sdk-s3/bucket_policy.rb +65 -20
  14. data/lib/aws-sdk-s3/bucket_region_cache.rb +9 -5
  15. data/lib/aws-sdk-s3/bucket_request_payment.rb +15 -15
  16. data/lib/aws-sdk-s3/bucket_tagging.rb +19 -19
  17. data/lib/aws-sdk-s3/bucket_versioning.rb +41 -41
  18. data/lib/aws-sdk-s3/bucket_website.rb +19 -19
  19. data/lib/aws-sdk-s3/client.rb +9352 -3264
  20. data/lib/aws-sdk-s3/client_api.rb +697 -164
  21. data/lib/aws-sdk-s3/customizations/bucket.rb +1 -1
  22. data/lib/aws-sdk-s3/customizations/errors.rb +16 -3
  23. data/lib/aws-sdk-s3/customizations/object.rb +112 -56
  24. data/lib/aws-sdk-s3/customizations/object_summary.rb +5 -0
  25. data/lib/aws-sdk-s3/customizations/object_version.rb +13 -0
  26. data/lib/aws-sdk-s3/customizations.rb +26 -31
  27. data/lib/aws-sdk-s3/encryption/client.rb +2 -2
  28. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +2 -2
  29. data/lib/aws-sdk-s3/encryptionV2/client.rb +2 -2
  30. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +2 -2
  31. data/lib/aws-sdk-s3/endpoint_parameters.rb +54 -15
  32. data/lib/aws-sdk-s3/endpoint_provider.rb +439 -456
  33. data/lib/aws-sdk-s3/endpoints.rb +629 -1261
  34. data/lib/aws-sdk-s3/errors.rb +58 -0
  35. data/lib/aws-sdk-s3/express_credentials.rb +55 -0
  36. data/lib/aws-sdk-s3/express_credentials_provider.rb +59 -0
  37. data/lib/aws-sdk-s3/file_downloader.rb +156 -69
  38. data/lib/aws-sdk-s3/file_uploader.rb +4 -6
  39. data/lib/aws-sdk-s3/legacy_signer.rb +2 -1
  40. data/lib/aws-sdk-s3/multipart_download_error.rb +8 -0
  41. data/lib/aws-sdk-s3/multipart_file_uploader.rb +56 -69
  42. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +84 -91
  43. data/lib/aws-sdk-s3/multipart_upload.rb +179 -26
  44. data/lib/aws-sdk-s3/multipart_upload_error.rb +3 -4
  45. data/lib/aws-sdk-s3/multipart_upload_part.rb +201 -60
  46. data/lib/aws-sdk-s3/object.rb +2007 -281
  47. data/lib/aws-sdk-s3/object_acl.rb +43 -23
  48. data/lib/aws-sdk-s3/object_copier.rb +1 -1
  49. data/lib/aws-sdk-s3/object_multipart_copier.rb +44 -25
  50. data/lib/aws-sdk-s3/object_summary.rb +1735 -232
  51. data/lib/aws-sdk-s3/object_version.rb +394 -52
  52. data/lib/aws-sdk-s3/plugins/access_grants.rb +178 -0
  53. data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
  54. data/lib/aws-sdk-s3/plugins/endpoints.rb +32 -208
  55. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +88 -0
  56. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +55 -18
  57. data/lib/aws-sdk-s3/plugins/location_constraint.rb +3 -1
  58. data/lib/aws-sdk-s3/plugins/md5s.rb +10 -70
  59. data/lib/aws-sdk-s3/plugins/s3_signer.rb +7 -2
  60. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +5 -7
  61. data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -1
  62. data/lib/aws-sdk-s3/presigned_post.rb +52 -43
  63. data/lib/aws-sdk-s3/presigner.rb +9 -7
  64. data/lib/aws-sdk-s3/resource.rb +127 -22
  65. data/lib/aws-sdk-s3/transfer_manager.rb +252 -0
  66. data/lib/aws-sdk-s3/types.rb +8068 -1887
  67. data/lib/aws-sdk-s3.rb +35 -31
  68. data/sig/bucket.rbs +231 -0
  69. data/sig/bucket_acl.rbs +78 -0
  70. data/sig/bucket_cors.rbs +69 -0
  71. data/sig/bucket_lifecycle.rbs +88 -0
  72. data/sig/bucket_lifecycle_configuration.rbs +115 -0
  73. data/sig/bucket_logging.rbs +76 -0
  74. data/sig/bucket_notification.rbs +114 -0
  75. data/sig/bucket_policy.rbs +59 -0
  76. data/sig/bucket_request_payment.rbs +54 -0
  77. data/sig/bucket_tagging.rbs +65 -0
  78. data/sig/bucket_versioning.rbs +77 -0
  79. data/sig/bucket_website.rbs +93 -0
  80. data/sig/client.rbs +2584 -0
  81. data/sig/customizations/bucket.rbs +19 -0
  82. data/sig/customizations/object.rbs +38 -0
  83. data/sig/customizations/object_summary.rbs +35 -0
  84. data/sig/errors.rbs +44 -0
  85. data/sig/multipart_upload.rbs +120 -0
  86. data/sig/multipart_upload_part.rbs +109 -0
  87. data/sig/object.rbs +462 -0
  88. data/sig/object_acl.rbs +86 -0
  89. data/sig/object_summary.rbs +345 -0
  90. data/sig/object_version.rbs +143 -0
  91. data/sig/resource.rbs +141 -0
  92. data/sig/types.rbs +2866 -0
  93. data/sig/waiters.rbs +95 -0
  94. metadata +44 -12
  95. 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.feature('resource') do
244
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
221
245
  Aws::Waiters::Waiter.new(options).wait({})
222
246
  end
223
247
  end
@@ -229,22 +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. For information about downloading objects from Requester
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
238
265
  # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
239
266
  # in the *Amazon S3 User Guide*.
240
267
  #
268
+ # <note markdown="1"> This functionality is not supported for directory buckets.
269
+ #
270
+ # </note>
271
+ #
241
272
  #
242
273
  #
243
274
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
244
275
  # @option options [String] :expected_bucket_owner
245
- # The account ID of the expected bucket owner. If the bucket is owned by
246
- # a different account, the request fails with the HTTP status code `403
247
- # 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>
248
290
  # @return [Types::AbortMultipartUploadOutput]
249
291
  def abort(options = {})
250
292
  options = options.merge(
@@ -252,7 +294,7 @@ module Aws::S3
252
294
  key: @object_key,
253
295
  upload_id: @id
254
296
  )
255
- resp = Aws::Plugins::UserAgent.feature('resource') do
297
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
256
298
  @client.abort_multipart_upload(options)
257
299
  end
258
300
  resp.data
@@ -267,6 +309,7 @@ module Aws::S3
267
309
  # etag: "ETag",
268
310
  # checksum_crc32: "ChecksumCRC32",
269
311
  # checksum_crc32c: "ChecksumCRC32C",
312
+ # checksum_crc64nvme: "ChecksumCRC64NVME",
270
313
  # checksum_sha1: "ChecksumSHA1",
271
314
  # checksum_sha256: "ChecksumSHA256",
272
315
  # part_number: 1,
@@ -275,10 +318,15 @@ module Aws::S3
275
318
  # },
276
319
  # checksum_crc32: "ChecksumCRC32",
277
320
  # checksum_crc32c: "ChecksumCRC32C",
321
+ # checksum_crc64nvme: "ChecksumCRC64NVME",
278
322
  # checksum_sha1: "ChecksumSHA1",
279
323
  # checksum_sha256: "ChecksumSHA256",
324
+ # checksum_type: "COMPOSITE", # accepts COMPOSITE, FULL_OBJECT
325
+ # mpu_object_size: 1,
280
326
  # request_payer: "requester", # accepts requester
281
327
  # expected_bucket_owner: "AccountId",
328
+ # if_match: "IfMatch",
329
+ # if_none_match: "IfNoneMatch",
282
330
  # sse_customer_algorithm: "SSECustomerAlgorithm",
283
331
  # sse_customer_key: "SSECustomerKey",
284
332
  # sse_customer_key_md5: "SSECustomerKeyMD5",
@@ -289,9 +337,9 @@ module Aws::S3
289
337
  # @option options [String] :checksum_crc32
290
338
  # This header can be used as a data integrity check to verify that the
291
339
  # data received is the same data that was originally sent. This header
292
- # specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
293
- # more information, see [Checking object integrity][1] in the *Amazon S3
294
- # 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*.
295
343
  #
296
344
  #
297
345
  #
@@ -299,17 +347,28 @@ module Aws::S3
299
347
  # @option options [String] :checksum_crc32c
300
348
  # This header can be used as a data integrity check to verify that the
301
349
  # data received is the same data that was originally sent. This header
302
- # specifies the base64-encoded, 32-bit CRC32C checksum of the object.
350
+ # specifies the Base64 encoded, 32-bit `CRC32C` checksum of the object.
303
351
  # For more information, see [Checking object integrity][1] in the
304
352
  # *Amazon S3 User Guide*.
305
353
  #
306
354
  #
307
355
  #
308
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
309
368
  # @option options [String] :checksum_sha1
310
369
  # This header can be used as a data integrity check to verify that the
311
370
  # data received is the same data that was originally sent. This header
312
- # specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
371
+ # specifies the Base64 encoded, 160-bit `SHA1` digest of the object. For
313
372
  # more information, see [Checking object integrity][1] in the *Amazon S3
314
373
  # User Guide*.
315
374
  #
@@ -319,42 +378,111 @@ module Aws::S3
319
378
  # @option options [String] :checksum_sha256
320
379
  # This header can be used as a data integrity check to verify that the
321
380
  # data received is the same data that was originally sent. This header
322
- # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
381
+ # specifies the Base64 encoded, 256-bit `SHA256` digest of the object.
323
382
  # For more information, see [Checking object integrity][1] in the
324
383
  # *Amazon S3 User Guide*.
325
384
  #
326
385
  #
327
386
  #
328
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.
329
403
  # @option options [String] :request_payer
330
404
  # Confirms that the requester knows that they will be charged for the
331
405
  # request. Bucket owners need not specify this parameter in their
332
- # requests. For information about downloading objects from Requester
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
333
409
  # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
334
410
  # in the *Amazon S3 User Guide*.
335
411
  #
412
+ # <note markdown="1"> This functionality is not supported for directory buckets.
413
+ #
414
+ # </note>
415
+ #
336
416
  #
337
417
  #
338
418
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
339
419
  # @option options [String] :expected_bucket_owner
340
- # The account ID of the expected bucket owner. If the bucket is owned by
341
- # a different account, the request fails with the HTTP status code `403
342
- # 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
343
462
  # @option options [String] :sse_customer_algorithm
344
463
  # The server-side encryption (SSE) algorithm used to encrypt the object.
345
- # This parameter is needed only when the object was created using a
346
- # checksum algorithm. For more information, see [Protecting data using
347
- # SSE-C keys][1] in the *Amazon S3 User Guide*.
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*.
348
468
  #
469
+ # <note markdown="1"> This functionality is not supported for directory buckets.
349
470
  #
471
+ # </note>
350
472
  #
351
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
473
+ #
474
+ #
475
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#ssec-require-condition-key
352
476
  # @option options [String] :sse_customer_key
353
477
  # The server-side encryption (SSE) customer managed key. This parameter
354
478
  # is needed only when the object was created using a checksum algorithm.
355
479
  # For more information, see [Protecting data using SSE-C keys][1] in the
356
480
  # *Amazon S3 User Guide*.
357
481
  #
482
+ # <note markdown="1"> This functionality is not supported for directory buckets.
483
+ #
484
+ # </note>
485
+ #
358
486
  #
359
487
  #
360
488
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
@@ -364,6 +492,10 @@ module Aws::S3
364
492
  # algorithm. For more information, see [Protecting data using SSE-C
365
493
  # keys][1] in the *Amazon S3 User Guide*.
366
494
  #
495
+ # <note markdown="1"> This functionality is not supported for directory buckets.
496
+ #
497
+ # </note>
498
+ #
367
499
  #
368
500
  #
369
501
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
@@ -374,7 +506,7 @@ module Aws::S3
374
506
  key: @object_key,
375
507
  upload_id: @id
376
508
  )
377
- Aws::Plugins::UserAgent.feature('resource') do
509
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
378
510
  @client.complete_multipart_upload(options)
379
511
  end
380
512
  Object.new(
@@ -420,23 +552,33 @@ module Aws::S3
420
552
  # @option options [String] :request_payer
421
553
  # Confirms that the requester knows that they will be charged for the
422
554
  # request. Bucket owners need not specify this parameter in their
423
- # requests. For information about downloading objects from Requester
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
424
558
  # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
425
559
  # in the *Amazon S3 User Guide*.
426
560
  #
561
+ # <note markdown="1"> This functionality is not supported for directory buckets.
562
+ #
563
+ # </note>
564
+ #
427
565
  #
428
566
  #
429
567
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
430
568
  # @option options [String] :expected_bucket_owner
431
- # The account ID of the expected bucket owner. If the bucket is owned by
432
- # a different account, the request fails with the HTTP status code `403
433
- # 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).
434
572
  # @option options [String] :sse_customer_algorithm
435
573
  # The server-side encryption (SSE) algorithm used to encrypt the object.
436
574
  # This parameter is needed only when the object was created using a
437
575
  # checksum algorithm. For more information, see [Protecting data using
438
576
  # SSE-C keys][1] in the *Amazon S3 User Guide*.
439
577
  #
578
+ # <note markdown="1"> This functionality is not supported for directory buckets.
579
+ #
580
+ # </note>
581
+ #
440
582
  #
441
583
  #
442
584
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
@@ -446,6 +588,10 @@ module Aws::S3
446
588
  # For more information, see [Protecting data using SSE-C keys][1] in the
447
589
  # *Amazon S3 User Guide*.
448
590
  #
591
+ # <note markdown="1"> This functionality is not supported for directory buckets.
592
+ #
593
+ # </note>
594
+ #
449
595
  #
450
596
  #
451
597
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
@@ -455,6 +601,10 @@ module Aws::S3
455
601
  # algorithm. For more information, see [Protecting data using SSE-C
456
602
  # keys][1] in the *Amazon S3 User Guide*.
457
603
  #
604
+ # <note markdown="1"> This functionality is not supported for directory buckets.
605
+ #
606
+ # </note>
607
+ #
458
608
  #
459
609
  #
460
610
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
@@ -466,7 +616,7 @@ module Aws::S3
466
616
  key: @object_key,
467
617
  upload_id: @id
468
618
  )
469
- resp = Aws::Plugins::UserAgent.feature('resource') do
619
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
470
620
  @client.list_parts(options)
471
621
  end
472
622
  resp.each_page do |page|
@@ -536,3 +686,6 @@ module Aws::S3
536
686
  class Collection < Aws::Resources::Collection; end
537
687
  end
538
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