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
@@ -76,11 +76,10 @@ module Aws::S3
76
76
  data[:size]
77
77
  end
78
78
 
79
- # This header can be used as a data integrity check to verify that the
80
- # data received is the same data that was originally sent. This header
81
- # specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
82
- # more information, see [Checking object integrity][1] in the *Amazon S3
83
- # User Guide*.
79
+ # The Base64 encoded, 32-bit `CRC32` checksum of the part. This checksum
80
+ # is present if the object was uploaded with the `CRC32` checksum
81
+ # algorithm. For more information, see [Checking object integrity][1] in
82
+ # the *Amazon S3 User Guide*.
84
83
  #
85
84
  #
86
85
  #
@@ -90,39 +89,51 @@ module Aws::S3
90
89
  data[:checksum_crc32]
91
90
  end
92
91
 
93
- # The base64-encoded, 32-bit CRC32C checksum of the object. This will
94
- # only be present if it was uploaded with the object. With multipart
95
- # uploads, this may not be a checksum value of the object. For more
96
- # information about how checksums are calculated with multipart uploads,
97
- # see [ Checking object integrity][1] in the *Amazon S3 User Guide*.
92
+ # The Base64 encoded, 32-bit `CRC32C` checksum of the part. This
93
+ # checksum is present if the object was uploaded with the `CRC32C`
94
+ # checksum algorithm. For more information, see [Checking object
95
+ # integrity][1] in the *Amazon S3 User Guide*.
98
96
  #
99
97
  #
100
98
  #
101
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
99
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
102
100
  # @return [String]
103
101
  def checksum_crc32c
104
102
  data[:checksum_crc32c]
105
103
  end
106
104
 
107
- # The base64-encoded, 160-bit SHA-1 digest of the object. This will only
108
- # be present if it was uploaded with the object. With multipart uploads,
109
- # this may not be a checksum value of the object. For more information
110
- # about how checksums are calculated with multipart uploads, see [
111
- # Checking object integrity][1] in the *Amazon S3 User Guide*.
105
+ # The Base64 encoded, 64-bit `CRC64NVME` checksum of the part. This
106
+ # checksum is present if the multipart upload request was created with
107
+ # the `CRC64NVME` checksum algorithm, or if the object was uploaded
108
+ # without a checksum (and Amazon S3 added the default checksum,
109
+ # `CRC64NVME`, to the uploaded object). For more information, see
110
+ # [Checking object integrity][1] in the *Amazon S3 User Guide*.
112
111
  #
113
112
  #
114
113
  #
115
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
114
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
115
+ # @return [String]
116
+ def checksum_crc64nvme
117
+ data[:checksum_crc64nvme]
118
+ end
119
+
120
+ # The Base64 encoded, 160-bit `SHA1` checksum of the part. This checksum
121
+ # is present if the object was uploaded with the `SHA1` checksum
122
+ # algorithm. For more information, see [Checking object integrity][1] in
123
+ # the *Amazon S3 User Guide*.
124
+ #
125
+ #
126
+ #
127
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
116
128
  # @return [String]
117
129
  def checksum_sha1
118
130
  data[:checksum_sha1]
119
131
  end
120
132
 
121
- # This header can be used as a data integrity check to verify that the
122
- # data received is the same data that was originally sent. This header
123
- # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
124
- # For more information, see [Checking object integrity][1] in the
125
- # *Amazon S3 User Guide*.
133
+ # The Base64 encoded, 256-bit `SHA256` checksum of the part. This
134
+ # checksum is present if the object was uploaded with the `SHA256`
135
+ # checksum algorithm. For more information, see [Checking object
136
+ # integrity][1] in the *Amazon S3 User Guide*.
126
137
  #
127
138
  #
128
139
  #
@@ -256,7 +267,7 @@ module Aws::S3
256
267
  :retry
257
268
  end
258
269
  end
259
- Aws::Plugins::UserAgent.feature('resource') do
270
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
260
271
  Aws::Waiters::Waiter.new(options).wait({})
261
272
  end
262
273
  end
@@ -305,9 +316,11 @@ module Aws::S3
305
316
  # `arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf`.
306
317
  # The value must be URL encoded.
307
318
  #
308
- # <note markdown="1"> Amazon S3 supports copy operations using access points only when the
309
- # source and destination buckets are in the same Amazon Web Services
310
- # Region.
319
+ # <note markdown="1"> * Amazon S3 supports copy operations using Access points only when
320
+ # the source and destination buckets are in the same Amazon Web
321
+ # Services Region.
322
+ #
323
+ # * Access points are not supported by directory buckets.
311
324
  #
312
325
  # </note>
313
326
  #
@@ -320,25 +333,82 @@ module Aws::S3
320
333
  # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
321
334
  # The value must be URL-encoded.
322
335
  #
323
- # To copy a specific version of an object, append
324
- # `?versionId=<version-id>` to the value (for example,
325
- # `awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893`).
326
- # If you don't specify a version ID, Amazon S3 copies the latest
327
- # version of the source object.
336
+ # If your bucket has versioning enabled, you could have multiple
337
+ # versions of the same object. By default, `x-amz-copy-source`
338
+ # identifies the current version of the source object to copy. To copy a
339
+ # specific version of the source object to copy, append
340
+ # `?versionId=<version-id>` to the `x-amz-copy-source` request header
341
+ # (for example, `x-amz-copy-source:
342
+ # /awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893`).
343
+ #
344
+ # If the current version is a delete marker and you don't specify a
345
+ # versionId in the `x-amz-copy-source` request header, Amazon S3 returns
346
+ # a `404 Not Found` error, because the object does not exist. If you
347
+ # specify versionId in the `x-amz-copy-source` and the versionId is a
348
+ # delete marker, Amazon S3 returns an HTTP `400 Bad Request` error,
349
+ # because you are not allowed to specify a delete marker as a version
350
+ # for the `x-amz-copy-source`.
351
+ #
352
+ # <note markdown="1"> **Directory buckets** - S3 Versioning isn't enabled and supported for
353
+ # directory buckets.
354
+ #
355
+ # </note>
328
356
  #
329
357
  #
330
358
  #
331
359
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html
332
360
  # @option options [String] :copy_source_if_match
333
361
  # Copies the object if its entity tag (ETag) matches the specified tag.
362
+ #
363
+ # If both of the `x-amz-copy-source-if-match` and
364
+ # `x-amz-copy-source-if-unmodified-since` headers are present in the
365
+ # request as follows:
366
+ #
367
+ # `x-amz-copy-source-if-match` condition evaluates to `true`, and;
368
+ #
369
+ # `x-amz-copy-source-if-unmodified-since` condition evaluates to
370
+ # `false`;
371
+ #
372
+ # Amazon S3 returns `200 OK` and copies the data.
334
373
  # @option options [Time,DateTime,Date,Integer,String] :copy_source_if_modified_since
335
374
  # Copies the object if it has been modified since the specified time.
375
+ #
376
+ # If both of the `x-amz-copy-source-if-none-match` and
377
+ # `x-amz-copy-source-if-modified-since` headers are present in the
378
+ # request as follows:
379
+ #
380
+ # `x-amz-copy-source-if-none-match` condition evaluates to `false`, and;
381
+ #
382
+ # `x-amz-copy-source-if-modified-since` condition evaluates to `true`;
383
+ #
384
+ # Amazon S3 returns `412 Precondition Failed` response code.
336
385
  # @option options [String] :copy_source_if_none_match
337
386
  # Copies the object if its entity tag (ETag) is different than the
338
387
  # specified ETag.
388
+ #
389
+ # If both of the `x-amz-copy-source-if-none-match` and
390
+ # `x-amz-copy-source-if-modified-since` headers are present in the
391
+ # request as follows:
392
+ #
393
+ # `x-amz-copy-source-if-none-match` condition evaluates to `false`, and;
394
+ #
395
+ # `x-amz-copy-source-if-modified-since` condition evaluates to `true`;
396
+ #
397
+ # Amazon S3 returns `412 Precondition Failed` response code.
339
398
  # @option options [Time,DateTime,Date,Integer,String] :copy_source_if_unmodified_since
340
399
  # Copies the object if it hasn't been modified since the specified
341
400
  # time.
401
+ #
402
+ # If both of the `x-amz-copy-source-if-match` and
403
+ # `x-amz-copy-source-if-unmodified-since` headers are present in the
404
+ # request as follows:
405
+ #
406
+ # `x-amz-copy-source-if-match` condition evaluates to `true`, and;
407
+ #
408
+ # `x-amz-copy-source-if-unmodified-since` condition evaluates to
409
+ # `false`;
410
+ #
411
+ # Amazon S3 returns `200 OK` and copies the data.
342
412
  # @option options [String] :copy_source_range
343
413
  # The range of bytes to copy from the source object. The range value
344
414
  # must use the form bytes=first-last, where the first and last are the
@@ -346,8 +416,13 @@ module Aws::S3
346
416
  # you want to copy the first 10 bytes of the source. You can copy a
347
417
  # range only if the source object is greater than 5 MB.
348
418
  # @option options [String] :sse_customer_algorithm
349
- # Specifies the algorithm to use to when encrypting the object (for
419
+ # Specifies the algorithm to use when encrypting the object (for
350
420
  # example, AES256).
421
+ #
422
+ # <note markdown="1"> This functionality is not supported when the destination bucket is a
423
+ # directory bucket.
424
+ #
425
+ # </note>
351
426
  # @option options [String] :sse_customer_key
352
427
  # Specifies the customer-provided encryption key for Amazon S3 to use in
353
428
  # encrypting data. This value is used to store the object and then it is
@@ -356,41 +431,72 @@ module Aws::S3
356
431
  # `x-amz-server-side-encryption-customer-algorithm` header. This must be
357
432
  # the same encryption key specified in the initiate multipart upload
358
433
  # request.
434
+ #
435
+ # <note markdown="1"> This functionality is not supported when the destination bucket is a
436
+ # directory bucket.
437
+ #
438
+ # </note>
359
439
  # @option options [String] :sse_customer_key_md5
360
440
  # Specifies the 128-bit MD5 digest of the encryption key according to
361
441
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
362
442
  # ensure that the encryption key was transmitted without error.
443
+ #
444
+ # <note markdown="1"> This functionality is not supported when the destination bucket is a
445
+ # directory bucket.
446
+ #
447
+ # </note>
363
448
  # @option options [String] :copy_source_sse_customer_algorithm
364
449
  # Specifies the algorithm to use when decrypting the source object (for
365
- # example, AES256).
450
+ # example, `AES256`).
451
+ #
452
+ # <note markdown="1"> This functionality is not supported when the source object is in a
453
+ # directory bucket.
454
+ #
455
+ # </note>
366
456
  # @option options [String] :copy_source_sse_customer_key
367
457
  # Specifies the customer-provided encryption key for Amazon S3 to use to
368
458
  # decrypt the source object. The encryption key provided in this header
369
459
  # must be one that was used when the source object was created.
460
+ #
461
+ # <note markdown="1"> This functionality is not supported when the source object is in a
462
+ # directory bucket.
463
+ #
464
+ # </note>
370
465
  # @option options [String] :copy_source_sse_customer_key_md5
371
466
  # Specifies the 128-bit MD5 digest of the encryption key according to
372
467
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
373
468
  # ensure that the encryption key was transmitted without error.
469
+ #
470
+ # <note markdown="1"> This functionality is not supported when the source object is in a
471
+ # directory bucket.
472
+ #
473
+ # </note>
374
474
  # @option options [String] :request_payer
375
475
  # Confirms that the requester knows that they will be charged for the
376
476
  # request. Bucket owners need not specify this parameter in their
377
- # requests. If either the source or destination Amazon S3 bucket has
378
- # Requester Pays enabled, the requester will pay for corresponding
379
- # charges to copy the object. For information about downloading objects
380
- # from Requester Pays buckets, see [Downloading Objects in Requester
381
- # Pays Buckets][1] in the *Amazon S3 User Guide*.
477
+ # requests. If either the source or destination S3 bucket has Requester
478
+ # Pays enabled, the requester will pay for corresponding charges to copy
479
+ # the object. For information about downloading objects from Requester
480
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
481
+ # in the *Amazon S3 User Guide*.
482
+ #
483
+ # <note markdown="1"> This functionality is not supported for directory buckets.
484
+ #
485
+ # </note>
382
486
  #
383
487
  #
384
488
  #
385
489
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
386
490
  # @option options [String] :expected_bucket_owner
387
491
  # The account ID of the expected destination bucket owner. If the
388
- # destination bucket is owned by a different account, the request fails
389
- # with the HTTP status code `403 Forbidden` (access denied).
492
+ # account ID that you provide does not match the actual owner of the
493
+ # destination bucket, the request fails with the HTTP status code `403
494
+ # Forbidden` (access denied).
390
495
  # @option options [String] :expected_source_bucket_owner
391
- # The account ID of the expected source bucket owner. If the source
392
- # bucket is owned by a different account, the request fails with the
393
- # HTTP status code `403 Forbidden` (access denied).
496
+ # The account ID of the expected source bucket owner. If the account ID
497
+ # that you provide does not match the actual owner of the source bucket,
498
+ # the request fails with the HTTP status code `403 Forbidden` (access
499
+ # denied).
394
500
  # @return [Types::UploadPartCopyOutput]
395
501
  def copy_from(options = {})
396
502
  options = options.merge(
@@ -399,7 +505,7 @@ module Aws::S3
399
505
  upload_id: @multipart_upload_id,
400
506
  part_number: @part_number
401
507
  )
402
- resp = Aws::Plugins::UserAgent.feature('resource') do
508
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
403
509
  @client.upload_part_copy(options)
404
510
  end
405
511
  resp.data
@@ -411,9 +517,10 @@ module Aws::S3
411
517
  # body: source_file,
412
518
  # content_length: 1,
413
519
  # content_md5: "ContentMD5",
414
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
520
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
415
521
  # checksum_crc32: "ChecksumCRC32",
416
522
  # checksum_crc32c: "ChecksumCRC32C",
523
+ # checksum_crc64nvme: "ChecksumCRC64NVME",
417
524
  # checksum_sha1: "ChecksumSHA1",
418
525
  # checksum_sha256: "ChecksumSHA256",
419
526
  # sse_customer_algorithm: "SSECustomerAlgorithm",
@@ -429,17 +536,21 @@ module Aws::S3
429
536
  # Size of the body in bytes. This parameter is useful when the size of
430
537
  # the body cannot be determined automatically.
431
538
  # @option options [String] :content_md5
432
- # The base64-encoded 128-bit MD5 digest of the part data. This parameter
539
+ # The Base64 encoded 128-bit MD5 digest of the part data. This parameter
433
540
  # is auto-populated when using the command from the CLI. This parameter
434
541
  # is required if object lock parameters are specified.
542
+ #
543
+ # <note markdown="1"> This functionality is not supported for directory buckets.
544
+ #
545
+ # </note>
435
546
  # @option options [String] :checksum_algorithm
436
547
  # Indicates the algorithm used to create the checksum for the object
437
- # when using the SDK. This header will not provide any additional
438
- # functionality if not using the SDK. When sending this header, there
439
- # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
440
- # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
441
- # `400 Bad Request`. For more information, see [Checking object
442
- # integrity][1] in the *Amazon S3 User Guide*.
548
+ # when you use the SDK. This header will not provide any additional
549
+ # functionality if you don't use the SDK. When you send this header,
550
+ # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
551
+ # header sent. Otherwise, Amazon S3 fails the request with the HTTP
552
+ # status code `400 Bad Request`. For more information, see [Checking
553
+ # object integrity][1] in the *Amazon S3 User Guide*.
443
554
  #
444
555
  # If you provide an individual checksum, Amazon S3 ignores any provided
445
556
  # `ChecksumAlgorithm` parameter.
@@ -453,9 +564,9 @@ module Aws::S3
453
564
  # @option options [String] :checksum_crc32
454
565
  # This header can be used as a data integrity check to verify that the
455
566
  # data received is the same data that was originally sent. This header
456
- # specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
457
- # more information, see [Checking object integrity][1] in the *Amazon S3
458
- # User Guide*.
567
+ # specifies the Base64 encoded, 32-bit `CRC32` checksum of the object.
568
+ # For more information, see [Checking object integrity][1] in the
569
+ # *Amazon S3 User Guide*.
459
570
  #
460
571
  #
461
572
  #
@@ -463,7 +574,17 @@ module Aws::S3
463
574
  # @option options [String] :checksum_crc32c
464
575
  # This header can be used as a data integrity check to verify that the
465
576
  # data received is the same data that was originally sent. This header
466
- # specifies the base64-encoded, 32-bit CRC32C checksum of the object.
577
+ # specifies the Base64 encoded, 32-bit `CRC32C` checksum of the object.
578
+ # For more information, see [Checking object integrity][1] in the
579
+ # *Amazon S3 User Guide*.
580
+ #
581
+ #
582
+ #
583
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
584
+ # @option options [String] :checksum_crc64nvme
585
+ # This header can be used as a data integrity check to verify that the
586
+ # data received is the same data that was originally sent. This header
587
+ # specifies the Base64 encoded, 64-bit `CRC64NVME` checksum of the part.
467
588
  # For more information, see [Checking object integrity][1] in the
468
589
  # *Amazon S3 User Guide*.
469
590
  #
@@ -473,7 +594,7 @@ module Aws::S3
473
594
  # @option options [String] :checksum_sha1
474
595
  # This header can be used as a data integrity check to verify that the
475
596
  # data received is the same data that was originally sent. This header
476
- # specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
597
+ # specifies the Base64 encoded, 160-bit `SHA1` digest of the object. For
477
598
  # more information, see [Checking object integrity][1] in the *Amazon S3
478
599
  # User Guide*.
479
600
  #
@@ -483,7 +604,7 @@ module Aws::S3
483
604
  # @option options [String] :checksum_sha256
484
605
  # This header can be used as a data integrity check to verify that the
485
606
  # data received is the same data that was originally sent. This header
486
- # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
607
+ # specifies the Base64 encoded, 256-bit `SHA256` digest of the object.
487
608
  # For more information, see [Checking object integrity][1] in the
488
609
  # *Amazon S3 User Guide*.
489
610
  #
@@ -491,8 +612,12 @@ module Aws::S3
491
612
  #
492
613
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
493
614
  # @option options [String] :sse_customer_algorithm
494
- # Specifies the algorithm to use to when encrypting the object (for
615
+ # Specifies the algorithm to use when encrypting the object (for
495
616
  # example, AES256).
617
+ #
618
+ # <note markdown="1"> This functionality is not supported for directory buckets.
619
+ #
620
+ # </note>
496
621
  # @option options [String] :sse_customer_key
497
622
  # Specifies the customer-provided encryption key for Amazon S3 to use in
498
623
  # encrypting data. This value is used to store the object and then it is
@@ -501,26 +626,38 @@ module Aws::S3
501
626
  # `x-amz-server-side-encryption-customer-algorithm header`. This must be
502
627
  # the same encryption key specified in the initiate multipart upload
503
628
  # request.
629
+ #
630
+ # <note markdown="1"> This functionality is not supported for directory buckets.
631
+ #
632
+ # </note>
504
633
  # @option options [String] :sse_customer_key_md5
505
634
  # Specifies the 128-bit MD5 digest of the encryption key according to
506
635
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
507
636
  # ensure that the encryption key was transmitted without error.
637
+ #
638
+ # <note markdown="1"> This functionality is not supported for directory buckets.
639
+ #
640
+ # </note>
508
641
  # @option options [String] :request_payer
509
642
  # Confirms that the requester knows that they will be charged for the
510
643
  # request. Bucket owners need not specify this parameter in their
511
- # requests. If either the source or destination Amazon S3 bucket has
512
- # Requester Pays enabled, the requester will pay for corresponding
513
- # charges to copy the object. For information about downloading objects
514
- # from Requester Pays buckets, see [Downloading Objects in Requester
515
- # Pays Buckets][1] in the *Amazon S3 User Guide*.
644
+ # requests. If either the source or destination S3 bucket has Requester
645
+ # Pays enabled, the requester will pay for corresponding charges to copy
646
+ # the object. For information about downloading objects from Requester
647
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
648
+ # in the *Amazon S3 User Guide*.
649
+ #
650
+ # <note markdown="1"> This functionality is not supported for directory buckets.
651
+ #
652
+ # </note>
516
653
  #
517
654
  #
518
655
  #
519
656
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
520
657
  # @option options [String] :expected_bucket_owner
521
- # The account ID of the expected bucket owner. If the bucket is owned by
522
- # a different account, the request fails with the HTTP status code `403
523
- # Forbidden` (access denied).
658
+ # The account ID of the expected bucket owner. If the account ID that
659
+ # you provide does not match the actual owner of the bucket, the request
660
+ # fails with the HTTP status code `403 Forbidden` (access denied).
524
661
  # @return [Types::UploadPartOutput]
525
662
  def upload(options = {})
526
663
  options = options.merge(
@@ -529,7 +666,7 @@ module Aws::S3
529
666
  upload_id: @multipart_upload_id,
530
667
  part_number: @part_number
531
668
  )
532
- resp = Aws::Plugins::UserAgent.feature('resource') do
669
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
533
670
  @client.upload_part(options)
534
671
  end
535
672
  resp.data