aws-sdk-s3 1.136.0 → 1.176.1

Sign up to get free protection for your applications and to get access to all the features.
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