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.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +452 -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 +728 -145
  7. data/lib/aws-sdk-s3/bucket_acl.rb +19 -18
  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 +74 -41
  18. data/lib/aws-sdk-s3/bucket_website.rb +19 -19
  19. data/lib/aws-sdk-s3/client.rb +9951 -3365
  20. data/lib/aws-sdk-s3/client_api.rb +758 -164
  21. data/lib/aws-sdk-s3/customizations/bucket.rb +1 -1
  22. data/lib/aws-sdk-s3/customizations/errors.rb +15 -2
  23. data/lib/aws-sdk-s3/customizations/object.rb +87 -91
  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 +28 -31
  27. data/lib/aws-sdk-s3/default_executor.rb +103 -0
  28. data/lib/aws-sdk-s3/encryption/client.rb +4 -4
  29. data/lib/aws-sdk-s3/encryption/default_cipher_provider.rb +2 -0
  30. data/lib/aws-sdk-s3/encryption/encrypt_handler.rb +2 -0
  31. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +4 -2
  32. data/lib/aws-sdk-s3/encryptionV2/client.rb +100 -25
  33. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +7 -162
  34. data/lib/aws-sdk-s3/encryptionV2/decryption.rb +205 -0
  35. data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +17 -0
  36. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +2 -0
  37. data/lib/aws-sdk-s3/encryptionV2/io_encrypter.rb +2 -0
  38. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -2
  39. data/lib/aws-sdk-s3/encryptionV2/utils.rb +5 -0
  40. data/lib/aws-sdk-s3/encryptionV3/client.rb +885 -0
  41. data/lib/aws-sdk-s3/encryptionV3/decrypt_handler.rb +98 -0
  42. data/lib/aws-sdk-s3/encryptionV3/decryption.rb +244 -0
  43. data/lib/aws-sdk-s3/encryptionV3/default_cipher_provider.rb +159 -0
  44. data/lib/aws-sdk-s3/encryptionV3/default_key_provider.rb +35 -0
  45. data/lib/aws-sdk-s3/encryptionV3/encrypt_handler.rb +98 -0
  46. data/lib/aws-sdk-s3/encryptionV3/errors.rb +47 -0
  47. data/lib/aws-sdk-s3/encryptionV3/io_auth_decrypter.rb +60 -0
  48. data/lib/aws-sdk-s3/encryptionV3/io_decrypter.rb +35 -0
  49. data/lib/aws-sdk-s3/encryptionV3/io_encrypter.rb +84 -0
  50. data/lib/aws-sdk-s3/encryptionV3/key_provider.rb +28 -0
  51. data/lib/aws-sdk-s3/encryptionV3/kms_cipher_provider.rb +159 -0
  52. data/lib/aws-sdk-s3/encryptionV3/materials.rb +58 -0
  53. data/lib/aws-sdk-s3/encryptionV3/utils.rb +321 -0
  54. data/lib/aws-sdk-s3/encryption_v2.rb +1 -0
  55. data/lib/aws-sdk-s3/encryption_v3.rb +24 -0
  56. data/lib/aws-sdk-s3/endpoint_parameters.rb +65 -30
  57. data/lib/aws-sdk-s3/endpoint_provider.rb +604 -227
  58. data/lib/aws-sdk-s3/endpoints.rb +655 -1261
  59. data/lib/aws-sdk-s3/errors.rb +58 -0
  60. data/lib/aws-sdk-s3/express_credentials.rb +55 -0
  61. data/lib/aws-sdk-s3/express_credentials_provider.rb +59 -0
  62. data/lib/aws-sdk-s3/file_downloader.rb +192 -147
  63. data/lib/aws-sdk-s3/file_uploader.rb +10 -14
  64. data/lib/aws-sdk-s3/legacy_signer.rb +2 -1
  65. data/lib/aws-sdk-s3/multipart_download_error.rb +8 -0
  66. data/lib/aws-sdk-s3/multipart_file_uploader.rb +106 -103
  67. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +99 -109
  68. data/lib/aws-sdk-s3/multipart_upload.rb +185 -38
  69. data/lib/aws-sdk-s3/multipart_upload_error.rb +3 -4
  70. data/lib/aws-sdk-s3/multipart_upload_part.rb +205 -68
  71. data/lib/aws-sdk-s3/object.rb +2052 -315
  72. data/lib/aws-sdk-s3/object_acl.rb +46 -28
  73. data/lib/aws-sdk-s3/object_copier.rb +1 -1
  74. data/lib/aws-sdk-s3/object_multipart_copier.rb +12 -9
  75. data/lib/aws-sdk-s3/object_summary.rb +1778 -262
  76. data/lib/aws-sdk-s3/object_version.rb +400 -68
  77. data/lib/aws-sdk-s3/plugins/access_grants.rb +178 -0
  78. data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
  79. data/lib/aws-sdk-s3/plugins/endpoints.rb +32 -208
  80. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +88 -0
  81. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +55 -18
  82. data/lib/aws-sdk-s3/plugins/location_constraint.rb +3 -1
  83. data/lib/aws-sdk-s3/plugins/md5s.rb +10 -70
  84. data/lib/aws-sdk-s3/plugins/s3_signer.rb +7 -2
  85. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +5 -7
  86. data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -1
  87. data/lib/aws-sdk-s3/presigner.rb +9 -7
  88. data/lib/aws-sdk-s3/resource.rb +127 -22
  89. data/lib/aws-sdk-s3/transfer_manager.rb +303 -0
  90. data/lib/aws-sdk-s3/types.rb +8065 -1783
  91. data/lib/aws-sdk-s3.rb +35 -31
  92. data/sig/bucket.rbs +231 -0
  93. data/sig/bucket_acl.rbs +78 -0
  94. data/sig/bucket_cors.rbs +69 -0
  95. data/sig/bucket_lifecycle.rbs +88 -0
  96. data/sig/bucket_lifecycle_configuration.rbs +115 -0
  97. data/sig/bucket_logging.rbs +76 -0
  98. data/sig/bucket_notification.rbs +114 -0
  99. data/sig/bucket_policy.rbs +59 -0
  100. data/sig/bucket_request_payment.rbs +54 -0
  101. data/sig/bucket_tagging.rbs +65 -0
  102. data/sig/bucket_versioning.rbs +77 -0
  103. data/sig/bucket_website.rbs +93 -0
  104. data/sig/client.rbs +2612 -0
  105. data/sig/customizations/bucket.rbs +19 -0
  106. data/sig/customizations/object.rbs +38 -0
  107. data/sig/customizations/object_summary.rbs +35 -0
  108. data/sig/errors.rbs +44 -0
  109. data/sig/multipart_upload.rbs +120 -0
  110. data/sig/multipart_upload_part.rbs +109 -0
  111. data/sig/object.rbs +464 -0
  112. data/sig/object_acl.rbs +86 -0
  113. data/sig/object_summary.rbs +347 -0
  114. data/sig/object_version.rbs +143 -0
  115. data/sig/resource.rbs +141 -0
  116. data/sig/types.rbs +2899 -0
  117. data/sig/waiters.rbs +95 -0
  118. metadata +61 -12
  119. 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,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 Amazon S3 bucket has
238
- # Requester Pays enabled, the requester will pay for corresponding
239
- # charges to copy the object. For information about downloading objects
240
- # from Requester Pays buckets, see [Downloading Objects in Requester
241
- # Pays Buckets][1] in the *Amazon S3 User Guide*.
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 bucket is owned by
248
- # a different account, the request fails with the HTTP status code `403
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.feature('resource') do
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 base64-encoded, 32-bit CRC32 checksum of the object. For
295
- # more information, see [Checking object integrity][1] in the *Amazon S3
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 base64-encoded, 32-bit CRC32C checksum of the object.
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 base64-encoded, 160-bit SHA-1 digest of the object. For
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 base64-encoded, 256-bit SHA-256 digest of the object.
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 Amazon S3 bucket has
335
- # Requester Pays enabled, the requester will pay for corresponding
336
- # charges to copy the object. For information about downloading objects
337
- # from Requester Pays buckets, see [Downloading Objects in Requester
338
- # Pays Buckets][1] in the *Amazon S3 User Guide*.
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 bucket is owned by
345
- # a different account, the request fails with the HTTP status code `403
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 needed only when the object was created using a
350
- # checksum algorithm. For more information, see [Protecting data using
351
- # 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*.
352
468
  #
469
+ # <note markdown="1"> This functionality is not supported for directory buckets.
353
470
  #
471
+ # </note>
354
472
  #
355
- # [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
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.feature('resource') do
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 Amazon S3 bucket has
428
- # Requester Pays enabled, the requester will pay for corresponding
429
- # charges to copy the object. For information about downloading objects
430
- # from Requester Pays buckets, see [Downloading Objects in Requester
431
- # Pays Buckets][1] in the *Amazon S3 User Guide*.
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 bucket is owned by
438
- # a different account, the request fails with the HTTP status code `403
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.feature('resource') do
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