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
@@ -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,39 +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. For information about downloading objects from Requester
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
378
480
  # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
379
481
  # in the *Amazon S3 User Guide*.
380
482
  #
483
+ # <note markdown="1"> This functionality is not supported for directory buckets.
484
+ #
485
+ # </note>
486
+ #
381
487
  #
382
488
  #
383
489
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
384
490
  # @option options [String] :expected_bucket_owner
385
491
  # The account ID of the expected destination bucket owner. If the
386
- # destination bucket is owned by a different account, the request fails
387
- # 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).
388
495
  # @option options [String] :expected_source_bucket_owner
389
- # The account ID of the expected source bucket owner. If the source
390
- # bucket is owned by a different account, the request fails with the
391
- # 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).
392
500
  # @return [Types::UploadPartCopyOutput]
393
501
  def copy_from(options = {})
394
502
  options = options.merge(
@@ -397,7 +505,7 @@ module Aws::S3
397
505
  upload_id: @multipart_upload_id,
398
506
  part_number: @part_number
399
507
  )
400
- resp = Aws::Plugins::UserAgent.feature('resource') do
508
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
401
509
  @client.upload_part_copy(options)
402
510
  end
403
511
  resp.data
@@ -409,9 +517,10 @@ module Aws::S3
409
517
  # body: source_file,
410
518
  # content_length: 1,
411
519
  # content_md5: "ContentMD5",
412
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
520
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
413
521
  # checksum_crc32: "ChecksumCRC32",
414
522
  # checksum_crc32c: "ChecksumCRC32C",
523
+ # checksum_crc64nvme: "ChecksumCRC64NVME",
415
524
  # checksum_sha1: "ChecksumSHA1",
416
525
  # checksum_sha256: "ChecksumSHA256",
417
526
  # sse_customer_algorithm: "SSECustomerAlgorithm",
@@ -427,17 +536,21 @@ module Aws::S3
427
536
  # Size of the body in bytes. This parameter is useful when the size of
428
537
  # the body cannot be determined automatically.
429
538
  # @option options [String] :content_md5
430
- # 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
431
540
  # is auto-populated when using the command from the CLI. This parameter
432
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>
433
546
  # @option options [String] :checksum_algorithm
434
547
  # Indicates the algorithm used to create the checksum for the object
435
- # when using the SDK. This header will not provide any additional
436
- # functionality if not using the SDK. When sending this header, there
437
- # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
438
- # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
439
- # `400 Bad Request`. For more information, see [Checking object
440
- # 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*.
441
554
  #
442
555
  # If you provide an individual checksum, Amazon S3 ignores any provided
443
556
  # `ChecksumAlgorithm` parameter.
@@ -451,9 +564,9 @@ module Aws::S3
451
564
  # @option options [String] :checksum_crc32
452
565
  # This header can be used as a data integrity check to verify that the
453
566
  # data received is the same data that was originally sent. This header
454
- # specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
455
- # more information, see [Checking object integrity][1] in the *Amazon S3
456
- # 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*.
457
570
  #
458
571
  #
459
572
  #
@@ -461,7 +574,17 @@ module Aws::S3
461
574
  # @option options [String] :checksum_crc32c
462
575
  # This header can be used as a data integrity check to verify that the
463
576
  # data received is the same data that was originally sent. This header
464
- # 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.
465
588
  # For more information, see [Checking object integrity][1] in the
466
589
  # *Amazon S3 User Guide*.
467
590
  #
@@ -471,7 +594,7 @@ module Aws::S3
471
594
  # @option options [String] :checksum_sha1
472
595
  # This header can be used as a data integrity check to verify that the
473
596
  # data received is the same data that was originally sent. This header
474
- # 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
475
598
  # more information, see [Checking object integrity][1] in the *Amazon S3
476
599
  # User Guide*.
477
600
  #
@@ -481,7 +604,7 @@ module Aws::S3
481
604
  # @option options [String] :checksum_sha256
482
605
  # This header can be used as a data integrity check to verify that the
483
606
  # data received is the same data that was originally sent. This header
484
- # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
607
+ # specifies the Base64 encoded, 256-bit `SHA256` digest of the object.
485
608
  # For more information, see [Checking object integrity][1] in the
486
609
  # *Amazon S3 User Guide*.
487
610
  #
@@ -489,8 +612,12 @@ module Aws::S3
489
612
  #
490
613
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
491
614
  # @option options [String] :sse_customer_algorithm
492
- # Specifies the algorithm to use to when encrypting the object (for
615
+ # Specifies the algorithm to use when encrypting the object (for
493
616
  # example, AES256).
617
+ #
618
+ # <note markdown="1"> This functionality is not supported for directory buckets.
619
+ #
620
+ # </note>
494
621
  # @option options [String] :sse_customer_key
495
622
  # Specifies the customer-provided encryption key for Amazon S3 to use in
496
623
  # encrypting data. This value is used to store the object and then it is
@@ -499,24 +626,38 @@ module Aws::S3
499
626
  # `x-amz-server-side-encryption-customer-algorithm header`. This must be
500
627
  # the same encryption key specified in the initiate multipart upload
501
628
  # request.
629
+ #
630
+ # <note markdown="1"> This functionality is not supported for directory buckets.
631
+ #
632
+ # </note>
502
633
  # @option options [String] :sse_customer_key_md5
503
634
  # Specifies the 128-bit MD5 digest of the encryption key according to
504
635
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
505
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>
506
641
  # @option options [String] :request_payer
507
642
  # Confirms that the requester knows that they will be charged for the
508
643
  # request. Bucket owners need not specify this parameter in their
509
- # requests. For information about downloading objects from Requester
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
510
647
  # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
511
648
  # in the *Amazon S3 User Guide*.
512
649
  #
650
+ # <note markdown="1"> This functionality is not supported for directory buckets.
651
+ #
652
+ # </note>
653
+ #
513
654
  #
514
655
  #
515
656
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
516
657
  # @option options [String] :expected_bucket_owner
517
- # The account ID of the expected bucket owner. If the bucket is owned by
518
- # a different account, the request fails with the HTTP status code `403
519
- # 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).
520
661
  # @return [Types::UploadPartOutput]
521
662
  def upload(options = {})
522
663
  options = options.merge(
@@ -525,7 +666,7 @@ module Aws::S3
525
666
  upload_id: @multipart_upload_id,
526
667
  part_number: @part_number
527
668
  )
528
- resp = Aws::Plugins::UserAgent.feature('resource') do
669
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
529
670
  @client.upload_part(options)
530
671
  end
531
672
  resp.data