aws-sdk-s3 1.136.0 → 1.176.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 (86) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +250 -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 +671 -139
  7. data/lib/aws-sdk-s3/bucket_acl.rb +12 -12
  8. data/lib/aws-sdk-s3/bucket_cors.rb +16 -16
  9. data/lib/aws-sdk-s3/bucket_lifecycle.rb +21 -16
  10. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +74 -17
  11. data/lib/aws-sdk-s3/bucket_logging.rb +19 -12
  12. data/lib/aws-sdk-s3/bucket_notification.rb +6 -6
  13. data/lib/aws-sdk-s3/bucket_policy.rb +62 -18
  14. data/lib/aws-sdk-s3/bucket_region_cache.rb +9 -5
  15. data/lib/aws-sdk-s3/bucket_request_payment.rb +12 -12
  16. data/lib/aws-sdk-s3/bucket_tagging.rb +16 -16
  17. data/lib/aws-sdk-s3/bucket_versioning.rb +32 -32
  18. data/lib/aws-sdk-s3/bucket_website.rb +16 -16
  19. data/lib/aws-sdk-s3/client.rb +7597 -2823
  20. data/lib/aws-sdk-s3/client_api.rb +288 -22
  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 +11 -5
  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 +25 -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 +53 -18
  32. data/lib/aws-sdk-s3/endpoint_provider.rb +125 -6
  33. data/lib/aws-sdk-s3/endpoints.rb +545 -1261
  34. data/lib/aws-sdk-s3/errors.rb +47 -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 +1 -2
  38. data/lib/aws-sdk-s3/file_uploader.rb +1 -1
  39. data/lib/aws-sdk-s3/multipart_file_uploader.rb +4 -4
  40. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +6 -5
  41. data/lib/aws-sdk-s3/multipart_upload.rb +139 -36
  42. data/lib/aws-sdk-s3/multipart_upload_part.rb +175 -54
  43. data/lib/aws-sdk-s3/object.rb +1923 -313
  44. data/lib/aws-sdk-s3/object_acl.rb +34 -22
  45. data/lib/aws-sdk-s3/object_copier.rb +1 -1
  46. data/lib/aws-sdk-s3/object_multipart_copier.rb +10 -8
  47. data/lib/aws-sdk-s3/object_summary.rb +1690 -250
  48. data/lib/aws-sdk-s3/object_version.rb +397 -67
  49. data/lib/aws-sdk-s3/plugins/access_grants.rb +178 -0
  50. data/lib/aws-sdk-s3/plugins/endpoints.rb +32 -208
  51. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +97 -0
  52. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +55 -18
  53. data/lib/aws-sdk-s3/plugins/location_constraint.rb +3 -1
  54. data/lib/aws-sdk-s3/plugins/md5s.rb +2 -1
  55. data/lib/aws-sdk-s3/plugins/s3_signer.rb +7 -2
  56. data/lib/aws-sdk-s3/presigner.rb +5 -2
  57. data/lib/aws-sdk-s3/resource.rb +121 -22
  58. data/lib/aws-sdk-s3/types.rb +5960 -1526
  59. data/lib/aws-sdk-s3.rb +35 -31
  60. data/sig/bucket.rbs +221 -0
  61. data/sig/bucket_acl.rbs +78 -0
  62. data/sig/bucket_cors.rbs +69 -0
  63. data/sig/bucket_lifecycle.rbs +88 -0
  64. data/sig/bucket_lifecycle_configuration.rbs +115 -0
  65. data/sig/bucket_logging.rbs +76 -0
  66. data/sig/bucket_notification.rbs +114 -0
  67. data/sig/bucket_policy.rbs +59 -0
  68. data/sig/bucket_request_payment.rbs +54 -0
  69. data/sig/bucket_tagging.rbs +65 -0
  70. data/sig/bucket_versioning.rbs +77 -0
  71. data/sig/bucket_website.rbs +93 -0
  72. data/sig/client.rbs +2450 -0
  73. data/sig/customizations/bucket.rbs +19 -0
  74. data/sig/customizations/object.rbs +38 -0
  75. data/sig/customizations/object_summary.rbs +35 -0
  76. data/sig/errors.rbs +42 -0
  77. data/sig/multipart_upload.rbs +113 -0
  78. data/sig/multipart_upload_part.rbs +105 -0
  79. data/sig/object.rbs +448 -0
  80. data/sig/object_acl.rbs +86 -0
  81. data/sig/object_summary.rbs +340 -0
  82. data/sig/object_version.rbs +140 -0
  83. data/sig/resource.rbs +132 -0
  84. data/sig/types.rbs +2682 -0
  85. data/sig/waiters.rbs +95 -0
  86. metadata +44 -11
@@ -78,9 +78,9 @@ module Aws::S3
78
78
 
79
79
  # This header can be used as a data integrity check to verify that the
80
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*.
81
+ # specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
82
+ # For more information, see [Checking object integrity][1] in the
83
+ # *Amazon S3 User Guide*.
84
84
  #
85
85
  #
86
86
  #
@@ -90,11 +90,14 @@ module Aws::S3
90
90
  data[:checksum_crc32]
91
91
  end
92
92
 
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*.
93
+ # The base64-encoded, 32-bit CRC-32C checksum of the object. This will
94
+ # only be present if it was uploaded with the object. When you use an
95
+ # API operation on an object that was uploaded using multipart uploads,
96
+ # this value may not be a direct checksum value of the full object.
97
+ # Instead, it's a calculation based on the checksum values of each
98
+ # individual part. For more information about how checksums are
99
+ # calculated with multipart uploads, see [ Checking object integrity][1]
100
+ # in the *Amazon S3 User Guide*.
98
101
  #
99
102
  #
100
103
  #
@@ -105,10 +108,13 @@ module Aws::S3
105
108
  end
106
109
 
107
110
  # 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*.
111
+ # be present if it was uploaded with the object. When you use the API
112
+ # operation on an object that was uploaded using multipart uploads, this
113
+ # value may not be a direct checksum value of the full object. Instead,
114
+ # it's a calculation based on the checksum values of each individual
115
+ # part. For more information about how checksums are calculated with
116
+ # multipart uploads, see [ Checking object integrity][1] in the *Amazon
117
+ # S3 User Guide*.
112
118
  #
113
119
  #
114
120
  #
@@ -256,7 +262,7 @@ module Aws::S3
256
262
  :retry
257
263
  end
258
264
  end
259
- Aws::Plugins::UserAgent.feature('resource') do
265
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
260
266
  Aws::Waiters::Waiter.new(options).wait({})
261
267
  end
262
268
  end
@@ -305,9 +311,11 @@ module Aws::S3
305
311
  # `arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf`.
306
312
  # The value must be URL encoded.
307
313
  #
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.
314
+ # <note markdown="1"> * Amazon S3 supports copy operations using Access points only when
315
+ # the source and destination buckets are in the same Amazon Web
316
+ # Services Region.
317
+ #
318
+ # * Access points are not supported by directory buckets.
311
319
  #
312
320
  # </note>
313
321
  #
@@ -320,25 +328,82 @@ module Aws::S3
320
328
  # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
321
329
  # The value must be URL-encoded.
322
330
  #
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.
331
+ # If your bucket has versioning enabled, you could have multiple
332
+ # versions of the same object. By default, `x-amz-copy-source`
333
+ # identifies the current version of the source object to copy. To copy a
334
+ # specific version of the source object to copy, append
335
+ # `?versionId=<version-id>` to the `x-amz-copy-source` request header
336
+ # (for example, `x-amz-copy-source:
337
+ # /awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893`).
338
+ #
339
+ # If the current version is a delete marker and you don't specify a
340
+ # versionId in the `x-amz-copy-source` request header, Amazon S3 returns
341
+ # a `404 Not Found` error, because the object does not exist. If you
342
+ # specify versionId in the `x-amz-copy-source` and the versionId is a
343
+ # delete marker, Amazon S3 returns an HTTP `400 Bad Request` error,
344
+ # because you are not allowed to specify a delete marker as a version
345
+ # for the `x-amz-copy-source`.
346
+ #
347
+ # <note markdown="1"> **Directory buckets** - S3 Versioning isn't enabled and supported for
348
+ # directory buckets.
349
+ #
350
+ # </note>
328
351
  #
329
352
  #
330
353
  #
331
354
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html
332
355
  # @option options [String] :copy_source_if_match
333
356
  # Copies the object if its entity tag (ETag) matches the specified tag.
357
+ #
358
+ # If both of the `x-amz-copy-source-if-match` and
359
+ # `x-amz-copy-source-if-unmodified-since` headers are present in the
360
+ # request as follows:
361
+ #
362
+ # `x-amz-copy-source-if-match` condition evaluates to `true`, and;
363
+ #
364
+ # `x-amz-copy-source-if-unmodified-since` condition evaluates to
365
+ # `false`;
366
+ #
367
+ # Amazon S3 returns `200 OK` and copies the data.
334
368
  # @option options [Time,DateTime,Date,Integer,String] :copy_source_if_modified_since
335
369
  # Copies the object if it has been modified since the specified time.
370
+ #
371
+ # If both of the `x-amz-copy-source-if-none-match` and
372
+ # `x-amz-copy-source-if-modified-since` headers are present in the
373
+ # request as follows:
374
+ #
375
+ # `x-amz-copy-source-if-none-match` condition evaluates to `false`, and;
376
+ #
377
+ # `x-amz-copy-source-if-modified-since` condition evaluates to `true`;
378
+ #
379
+ # Amazon S3 returns `412 Precondition Failed` response code.
336
380
  # @option options [String] :copy_source_if_none_match
337
381
  # Copies the object if its entity tag (ETag) is different than the
338
382
  # specified ETag.
383
+ #
384
+ # If both of the `x-amz-copy-source-if-none-match` and
385
+ # `x-amz-copy-source-if-modified-since` headers are present in the
386
+ # request as follows:
387
+ #
388
+ # `x-amz-copy-source-if-none-match` condition evaluates to `false`, and;
389
+ #
390
+ # `x-amz-copy-source-if-modified-since` condition evaluates to `true`;
391
+ #
392
+ # Amazon S3 returns `412 Precondition Failed` response code.
339
393
  # @option options [Time,DateTime,Date,Integer,String] :copy_source_if_unmodified_since
340
394
  # Copies the object if it hasn't been modified since the specified
341
395
  # time.
396
+ #
397
+ # If both of the `x-amz-copy-source-if-match` and
398
+ # `x-amz-copy-source-if-unmodified-since` headers are present in the
399
+ # request as follows:
400
+ #
401
+ # `x-amz-copy-source-if-match` condition evaluates to `true`, and;
402
+ #
403
+ # `x-amz-copy-source-if-unmodified-since` condition evaluates to
404
+ # `false`;
405
+ #
406
+ # Amazon S3 returns `200 OK` and copies the data.
342
407
  # @option options [String] :copy_source_range
343
408
  # The range of bytes to copy from the source object. The range value
344
409
  # must use the form bytes=first-last, where the first and last are the
@@ -346,8 +411,13 @@ module Aws::S3
346
411
  # you want to copy the first 10 bytes of the source. You can copy a
347
412
  # range only if the source object is greater than 5 MB.
348
413
  # @option options [String] :sse_customer_algorithm
349
- # Specifies the algorithm to use to when encrypting the object (for
414
+ # Specifies the algorithm to use when encrypting the object (for
350
415
  # example, AES256).
416
+ #
417
+ # <note markdown="1"> This functionality is not supported when the destination bucket is a
418
+ # directory bucket.
419
+ #
420
+ # </note>
351
421
  # @option options [String] :sse_customer_key
352
422
  # Specifies the customer-provided encryption key for Amazon S3 to use in
353
423
  # encrypting data. This value is used to store the object and then it is
@@ -356,41 +426,72 @@ module Aws::S3
356
426
  # `x-amz-server-side-encryption-customer-algorithm` header. This must be
357
427
  # the same encryption key specified in the initiate multipart upload
358
428
  # request.
429
+ #
430
+ # <note markdown="1"> This functionality is not supported when the destination bucket is a
431
+ # directory bucket.
432
+ #
433
+ # </note>
359
434
  # @option options [String] :sse_customer_key_md5
360
435
  # Specifies the 128-bit MD5 digest of the encryption key according to
361
436
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
362
437
  # ensure that the encryption key was transmitted without error.
438
+ #
439
+ # <note markdown="1"> This functionality is not supported when the destination bucket is a
440
+ # directory bucket.
441
+ #
442
+ # </note>
363
443
  # @option options [String] :copy_source_sse_customer_algorithm
364
444
  # Specifies the algorithm to use when decrypting the source object (for
365
- # example, AES256).
445
+ # example, `AES256`).
446
+ #
447
+ # <note markdown="1"> This functionality is not supported when the source object is in a
448
+ # directory bucket.
449
+ #
450
+ # </note>
366
451
  # @option options [String] :copy_source_sse_customer_key
367
452
  # Specifies the customer-provided encryption key for Amazon S3 to use to
368
453
  # decrypt the source object. The encryption key provided in this header
369
454
  # must be one that was used when the source object was created.
455
+ #
456
+ # <note markdown="1"> This functionality is not supported when the source object is in a
457
+ # directory bucket.
458
+ #
459
+ # </note>
370
460
  # @option options [String] :copy_source_sse_customer_key_md5
371
461
  # Specifies the 128-bit MD5 digest of the encryption key according to
372
462
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
373
463
  # ensure that the encryption key was transmitted without error.
464
+ #
465
+ # <note markdown="1"> This functionality is not supported when the source object is in a
466
+ # directory bucket.
467
+ #
468
+ # </note>
374
469
  # @option options [String] :request_payer
375
470
  # Confirms that the requester knows that they will be charged for the
376
471
  # 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*.
472
+ # requests. If either the source or destination S3 bucket has Requester
473
+ # Pays enabled, the requester will pay for corresponding charges to copy
474
+ # the object. For information about downloading objects from Requester
475
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
476
+ # in the *Amazon S3 User Guide*.
477
+ #
478
+ # <note markdown="1"> This functionality is not supported for directory buckets.
479
+ #
480
+ # </note>
382
481
  #
383
482
  #
384
483
  #
385
484
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
386
485
  # @option options [String] :expected_bucket_owner
387
486
  # 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).
487
+ # account ID that you provide does not match the actual owner of the
488
+ # destination bucket, the request fails with the HTTP status code `403
489
+ # Forbidden` (access denied).
390
490
  # @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).
491
+ # The account ID of the expected source bucket owner. If the account ID
492
+ # that you provide does not match the actual owner of the source bucket,
493
+ # the request fails with the HTTP status code `403 Forbidden` (access
494
+ # denied).
394
495
  # @return [Types::UploadPartCopyOutput]
395
496
  def copy_from(options = {})
396
497
  options = options.merge(
@@ -399,7 +500,7 @@ module Aws::S3
399
500
  upload_id: @multipart_upload_id,
400
501
  part_number: @part_number
401
502
  )
402
- resp = Aws::Plugins::UserAgent.feature('resource') do
503
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
403
504
  @client.upload_part_copy(options)
404
505
  end
405
506
  resp.data
@@ -432,14 +533,18 @@ module Aws::S3
432
533
  # The base64-encoded 128-bit MD5 digest of the part data. This parameter
433
534
  # is auto-populated when using the command from the CLI. This parameter
434
535
  # is required if object lock parameters are specified.
536
+ #
537
+ # <note markdown="1"> This functionality is not supported for directory buckets.
538
+ #
539
+ # </note>
435
540
  # @option options [String] :checksum_algorithm
436
541
  # 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*.
542
+ # when you use the SDK. This header will not provide any additional
543
+ # functionality if you don't use the SDK. When you send this header,
544
+ # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
545
+ # header sent. Otherwise, Amazon S3 fails the request with the HTTP
546
+ # status code `400 Bad Request`. For more information, see [Checking
547
+ # object integrity][1] in the *Amazon S3 User Guide*.
443
548
  #
444
549
  # If you provide an individual checksum, Amazon S3 ignores any provided
445
550
  # `ChecksumAlgorithm` parameter.
@@ -453,9 +558,9 @@ module Aws::S3
453
558
  # @option options [String] :checksum_crc32
454
559
  # This header can be used as a data integrity check to verify that the
455
560
  # 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*.
561
+ # specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
562
+ # For more information, see [Checking object integrity][1] in the
563
+ # *Amazon S3 User Guide*.
459
564
  #
460
565
  #
461
566
  #
@@ -463,7 +568,7 @@ module Aws::S3
463
568
  # @option options [String] :checksum_crc32c
464
569
  # This header can be used as a data integrity check to verify that the
465
570
  # data received is the same data that was originally sent. This header
466
- # specifies the base64-encoded, 32-bit CRC32C checksum of the object.
571
+ # specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
467
572
  # For more information, see [Checking object integrity][1] in the
468
573
  # *Amazon S3 User Guide*.
469
574
  #
@@ -491,8 +596,12 @@ module Aws::S3
491
596
  #
492
597
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
493
598
  # @option options [String] :sse_customer_algorithm
494
- # Specifies the algorithm to use to when encrypting the object (for
599
+ # Specifies the algorithm to use when encrypting the object (for
495
600
  # example, AES256).
601
+ #
602
+ # <note markdown="1"> This functionality is not supported for directory buckets.
603
+ #
604
+ # </note>
496
605
  # @option options [String] :sse_customer_key
497
606
  # Specifies the customer-provided encryption key for Amazon S3 to use in
498
607
  # encrypting data. This value is used to store the object and then it is
@@ -501,26 +610,38 @@ module Aws::S3
501
610
  # `x-amz-server-side-encryption-customer-algorithm header`. This must be
502
611
  # the same encryption key specified in the initiate multipart upload
503
612
  # request.
613
+ #
614
+ # <note markdown="1"> This functionality is not supported for directory buckets.
615
+ #
616
+ # </note>
504
617
  # @option options [String] :sse_customer_key_md5
505
618
  # Specifies the 128-bit MD5 digest of the encryption key according to
506
619
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
507
620
  # ensure that the encryption key was transmitted without error.
621
+ #
622
+ # <note markdown="1"> This functionality is not supported for directory buckets.
623
+ #
624
+ # </note>
508
625
  # @option options [String] :request_payer
509
626
  # Confirms that the requester knows that they will be charged for the
510
627
  # 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*.
628
+ # requests. If either the source or destination S3 bucket has Requester
629
+ # Pays enabled, the requester will pay for corresponding charges to copy
630
+ # the object. For information about downloading objects from Requester
631
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
632
+ # in the *Amazon S3 User Guide*.
633
+ #
634
+ # <note markdown="1"> This functionality is not supported for directory buckets.
635
+ #
636
+ # </note>
516
637
  #
517
638
  #
518
639
  #
519
640
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
520
641
  # @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).
642
+ # The account ID of the expected bucket owner. If the account ID that
643
+ # you provide does not match the actual owner of the bucket, the request
644
+ # fails with the HTTP status code `403 Forbidden` (access denied).
524
645
  # @return [Types::UploadPartOutput]
525
646
  def upload(options = {})
526
647
  options = options.merge(
@@ -529,7 +650,7 @@ module Aws::S3
529
650
  upload_id: @multipart_upload_id,
530
651
  part_number: @part_number
531
652
  )
532
- resp = Aws::Plugins::UserAgent.feature('resource') do
653
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
533
654
  @client.upload_part(options)
534
655
  end
535
656
  resp.data