aws-sdk-s3 1.124.0 → 1.128.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.
@@ -28,6 +28,7 @@ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
31
32
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
33
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
34
  require 'aws-sdk-core/plugins/sign.rb'
@@ -96,6 +97,7 @@ module Aws::S3
96
97
  add_plugin(Aws::Plugins::TransferEncoding)
97
98
  add_plugin(Aws::Plugins::HttpChecksum)
98
99
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
100
+ add_plugin(Aws::Plugins::RequestCompression)
99
101
  add_plugin(Aws::Plugins::DefaultsMode)
100
102
  add_plugin(Aws::Plugins::RecursionDetection)
101
103
  add_plugin(Aws::Plugins::Sign)
@@ -235,6 +237,10 @@ module Aws::S3
235
237
  # Set to true to disable SDK automatically adding host prefix
236
238
  # to default service endpoint when available.
237
239
  #
240
+ # @option options [Boolean] :disable_request_compression (false)
241
+ # When set to 'true' the request body will not be compressed
242
+ # for supported operations.
243
+ #
238
244
  # @option options [String] :endpoint
239
245
  # The client endpoint is normally constructed from the `:region`
240
246
  # option. You should only configure an `:endpoint` when connecting
@@ -292,6 +298,11 @@ module Aws::S3
292
298
  # Used when loading credentials from the shared credentials file
293
299
  # at HOME/.aws/credentials. When not specified, 'default' is used.
294
300
  #
301
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
302
+ # The minimum size in bytes that triggers compression for request
303
+ # bodies. The value must be non-negative integer value between 0
304
+ # and 10485780 bytes inclusive.
305
+ #
295
306
  # @option options [Boolean] :require_https_for_sse_cpk (true)
296
307
  # When `true`, the endpoint **must** be HTTPS for all operations
297
308
  # where server-side-encryption is used with customer-provided keys.
@@ -513,7 +524,7 @@ module Aws::S3
513
524
  # When you use this action with S3 on Outposts through the Amazon Web
514
525
  # Services SDKs, you provide the Outposts access point ARN in place of
515
526
  # the bucket name. For more information about S3 on Outposts ARNs, see
516
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
527
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
517
528
  #
518
529
  #
519
530
  #
@@ -702,7 +713,7 @@ module Aws::S3
702
713
  # When you use this action with S3 on Outposts through the Amazon Web
703
714
  # Services SDKs, you provide the Outposts access point ARN in place of
704
715
  # the bucket name. For more information about S3 on Outposts ARNs, see
705
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
716
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
706
717
  #
707
718
  #
708
719
  #
@@ -963,11 +974,12 @@ module Aws::S3
963
974
  #
964
975
  # Metadata
965
976
  #
966
- # : When copying an object, you can preserve all metadata (default) or
967
- # specify new metadata. However, the ACL is not preserved and is set
968
- # to private for the user making the request. To override the default
969
- # ACL setting, specify a new ACL when generating a copy request. For
970
- # more information, see [Using ACLs][5].
977
+ # : When copying an object, you can preserve all metadata (the default)
978
+ # or specify new metadata. However, the access control list (ACL) is
979
+ # not preserved and is set to private for the user making the request.
980
+ # To override the default ACL setting, specify a new ACL when
981
+ # generating a copy request. For more information, see [Using
982
+ # ACLs][5].
971
983
  #
972
984
  # To specify whether you want the object metadata copied from the
973
985
  # source object or replaced with metadata provided in the request, you
@@ -1032,25 +1044,26 @@ module Aws::S3
1032
1044
  # of encryption configuration that uses server-side encryption with
1033
1045
  # Amazon S3 managed keys (SSE-S3). If the destination bucket has a
1034
1046
  # default encryption configuration that uses server-side encryption
1035
- # with an Key Management Service (KMS) key (SSE-KMS), or a
1036
- # customer-provided encryption key (SSE-C), Amazon S3 uses the
1037
- # corresponding KMS key, or a customer-provided key to encrypt the
1038
- # target object copy.
1047
+ # with Key Management Service (KMS) keys (SSE-KMS), dual-layer
1048
+ # server-side encryption with Amazon Web Services KMS keys (DSSE-KMS),
1049
+ # or server-side encryption with customer-provided encryption keys
1050
+ # (SSE-C), Amazon S3 uses the corresponding KMS key, or a
1051
+ # customer-provided key to encrypt the target object copy.
1039
1052
  #
1040
- # When you perform a CopyObject operation, if you want to use a
1053
+ # When you perform a `CopyObject` operation, if you want to use a
1041
1054
  # different type of encryption setting for the target object, you can
1042
1055
  # use other appropriate encryption-related headers to encrypt the
1043
1056
  # target object with a KMS key, an Amazon S3 managed key, or a
1044
1057
  # customer-provided key. With server-side encryption, Amazon S3
1045
- # encrypts your data as it writes it to disks in its data centers and
1046
- # decrypts the data when you access it. If the encryption setting in
1047
- # your request is different from the default encryption configuration
1048
- # of the destination bucket, the encryption setting in your request
1049
- # takes precedence. If the source object for the copy is stored in
1050
- # Amazon S3 using SSE-C, you must provide the necessary encryption
1051
- # information in your request so that Amazon S3 can decrypt the object
1052
- # for copying. For more information about server-side encryption, see
1053
- # [Using Server-Side Encryption][8].
1058
+ # encrypts your data as it writes your data to disks in its data
1059
+ # centers and decrypts the data when you access it. If the encryption
1060
+ # setting in your request is different from the default encryption
1061
+ # configuration of the destination bucket, the encryption setting in
1062
+ # your request takes precedence. If the source object for the copy is
1063
+ # stored in Amazon S3 using SSE-C, you must provide the necessary
1064
+ # encryption information in your request so that Amazon S3 can decrypt
1065
+ # the object for copying. For more information about server-side
1066
+ # encryption, see [Using Server-Side Encryption][8].
1054
1067
  #
1055
1068
  # If a target object uses SSE-KMS, you can enable an S3 Bucket Key for
1056
1069
  # the object. For more information, see [Amazon S3 Bucket Keys][9] in
@@ -1062,16 +1075,16 @@ module Aws::S3
1062
1075
  # ACL-based permissions. By default, all objects are private. Only the
1063
1076
  # owner has full access control. When adding a new object, you can
1064
1077
  # grant permissions to individual Amazon Web Services accounts or to
1065
- # predefined groups defined by Amazon S3. These permissions are then
1066
- # added to the ACL on the object. For more information, see [Access
1067
- # Control List (ACL) Overview][10] and [Managing ACLs Using the REST
1068
- # API][11].
1078
+ # predefined groups that are defined by Amazon S3. These permissions
1079
+ # are then added to the ACL on the object. For more information, see
1080
+ # [Access Control List (ACL) Overview][10] and [Managing ACLs Using
1081
+ # the REST API][11].
1069
1082
  #
1070
1083
  # If the bucket that you're copying objects to uses the bucket owner
1071
1084
  # enforced setting for S3 Object Ownership, ACLs are disabled and no
1072
1085
  # longer affect permissions. Buckets that use this setting only accept
1073
- # PUT requests that don't specify an ACL or PUT requests that specify
1074
- # bucket owner full control ACLs, such as the
1086
+ # `PUT` requests that don't specify an ACL or `PUT` requests that
1087
+ # specify bucket owner full control ACLs, such as the
1075
1088
  # `bucket-owner-full-control` canned ACL or an equivalent form of this
1076
1089
  # ACL expressed in the XML format.
1077
1090
  #
@@ -1088,13 +1101,13 @@ module Aws::S3
1088
1101
  #
1089
1102
  # : When copying an object, if it has a checksum, that checksum will be
1090
1103
  # copied to the new object by default. When you copy the object over,
1091
- # you may optionally specify a different checksum algorithm to use
1104
+ # you can optionally specify a different checksum algorithm to use
1092
1105
  # with the `x-amz-checksum-algorithm` header.
1093
1106
  #
1094
1107
  # Storage Class Options
1095
1108
  #
1096
1109
  # : You can use the `CopyObject` action to change the storage class of
1097
- # an object that is already stored in Amazon S3 using the
1110
+ # an object that is already stored in Amazon S3 by using the
1098
1111
  # `StorageClass` parameter. For more information, see [Storage
1099
1112
  # Classes][13] in the *Amazon S3 User Guide*.
1100
1113
  #
@@ -1105,10 +1118,10 @@ module Aws::S3
1105
1118
  #
1106
1119
  # Versioning
1107
1120
  #
1108
- # : By default, `x-amz-copy-source` identifies the current version of an
1109
- # object to copy. If the current version is a delete marker, Amazon S3
1110
- # behaves as if the object was deleted. To copy a different version,
1111
- # use the `versionId` subresource.
1121
+ # : By default, `x-amz-copy-source` header identifies the current
1122
+ # version of an object to copy. If the current version is a delete
1123
+ # marker, Amazon S3 behaves as if the object was deleted. To copy a
1124
+ # different version, use the `versionId` subresource.
1112
1125
  #
1113
1126
  # If you enable versioning on the target bucket, Amazon S3 generates a
1114
1127
  # unique version ID for the object being copied. This version ID is
@@ -1168,7 +1181,7 @@ module Aws::S3
1168
1181
  # When you use this action with S3 on Outposts through the Amazon Web
1169
1182
  # Services SDKs, you provide the Outposts access point ARN in place of
1170
1183
  # the bucket name. For more information about S3 on Outposts ARNs, see
1171
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
1184
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
1172
1185
  #
1173
1186
  #
1174
1187
  #
@@ -1302,7 +1315,7 @@ module Aws::S3
1302
1315
  #
1303
1316
  # @option params [String] :server_side_encryption
1304
1317
  # The server-side encryption algorithm used when storing this object in
1305
- # Amazon S3 (for example, AES256, `aws:kms`).
1318
+ # Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
1306
1319
  #
1307
1320
  # @option params [String] :storage_class
1308
1321
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
@@ -1341,13 +1354,12 @@ module Aws::S3
1341
1354
  # ensure that the encryption key was transmitted without error.
1342
1355
  #
1343
1356
  # @option params [String] :ssekms_key_id
1344
- # Specifies the Amazon Web Services KMS key ID to use for object
1345
- # encryption. All GET and PUT requests for an object protected by Amazon
1346
- # Web Services KMS will fail if not made via SSL or using SigV4. For
1347
- # information about configuring using any of the officially supported
1348
- # Amazon Web Services SDKs and Amazon Web Services CLI, see [Specifying
1349
- # the Signature Version in Request Authentication][1] in the *Amazon S3
1350
- # User Guide*.
1357
+ # Specifies the KMS key ID to use for object encryption. All GET and PUT
1358
+ # requests for an object protected by KMS will fail if they're not made
1359
+ # via SSL or using SigV4. For information about configuring any of the
1360
+ # officially supported Amazon Web Services SDKs and Amazon Web Services
1361
+ # CLI, see [Specifying the Signature Version in Request
1362
+ # Authentication][1] in the *Amazon S3 User Guide*.
1351
1363
  #
1352
1364
  #
1353
1365
  #
@@ -1360,9 +1372,9 @@ module Aws::S3
1360
1372
  #
1361
1373
  # @option params [Boolean] :bucket_key_enabled
1362
1374
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
1363
- # encryption with server-side encryption using AWS KMS (SSE-KMS).
1364
- # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
1365
- # for object encryption with SSE-KMS.
1375
+ # encryption with server-side encryption using Key Management Service
1376
+ # (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
1377
+ # to use an S3 Bucket Key for object encryption with SSE-KMS.
1366
1378
  #
1367
1379
  # Specifying this header with a COPY action doesn’t affect bucket-level
1368
1380
  # settings for S3 Bucket Key.
@@ -1545,8 +1557,8 @@ module Aws::S3
1545
1557
  # (Ireland) Region. For more information, see [Accessing a bucket][3].
1546
1558
  #
1547
1559
  # <note markdown="1"> If you send your create bucket request to the `s3.amazonaws.com`
1548
- # endpoint, the request goes to the us-east-1 Region. Accordingly, the
1549
- # signature calculations in Signature Version 4 must use us-east-1 as
1560
+ # endpoint, the request goes to the `us-east-1` Region. Accordingly, the
1561
+ # signature calculations in Signature Version 4 must use `us-east-1` as
1550
1562
  # the Region, even if the location constraint in the request specifies
1551
1563
  # another Region where the bucket is to be created. If you create a
1552
1564
  # bucket in a Region other than US East (N. Virginia), your application
@@ -1555,108 +1567,62 @@ module Aws::S3
1555
1567
  #
1556
1568
  # </note>
1557
1569
  #
1558
- # Access control lists (ACLs)
1559
- #
1560
- # : When creating a bucket using this operation, you can optionally
1561
- # configure the bucket ACL to specify the accounts or groups that
1562
- # should be granted specific permissions on the bucket.
1563
- #
1564
- # If your CreateBucket request sets bucket owner enforced for S3
1565
- # Object Ownership and specifies a bucket ACL that provides access to
1566
- # an external Amazon Web Services account, your request fails with a
1567
- # `400` error and returns the `InvalidBucketAclWithObjectOwnership`
1568
- # error code. For more information, see [Controlling object
1569
- # ownership][5] in the *Amazon S3 User Guide*.
1570
- #
1571
- # There are two ways to grant the appropriate permissions using the
1572
- # request headers.
1573
- #
1574
- # * Specify a canned ACL using the `x-amz-acl` request header. Amazon
1575
- # S3 supports a set of predefined ACLs, known as *canned ACLs*. Each
1576
- # canned ACL has a predefined set of grantees and permissions. For
1577
- # more information, see [Canned ACL][6].
1578
- #
1579
- # * Specify access permissions explicitly using the
1580
- # `x-amz-grant-read`, `x-amz-grant-write`, `x-amz-grant-read-acp`,
1581
- # `x-amz-grant-write-acp`, and `x-amz-grant-full-control` headers.
1582
- # These headers map to the set of permissions Amazon S3 supports in
1583
- # an ACL. For more information, see [Access control list (ACL)
1584
- # overview][7].
1585
- #
1586
- # You specify each grantee as a type=value pair, where the type is
1587
- # one of the following:
1588
- #
1589
- # * `id` – if the value specified is the canonical user ID of an
1590
- # Amazon Web Services account
1591
- #
1592
- # * `uri` – if you are granting permissions to a predefined group
1593
- #
1594
- # * `emailAddress` – if the value specified is the email address of
1595
- # an Amazon Web Services account
1596
- #
1597
- # <note markdown="1"> Using email addresses to specify a grantee is only supported in
1598
- # the following Amazon Web Services Regions:
1599
- #
1600
- # * US East (N. Virginia)
1601
- #
1602
- # * US West (N. California)
1603
- #
1604
- # * US West (Oregon)
1605
- #
1606
- # * Asia Pacific (Singapore)
1607
- #
1608
- # * Asia Pacific (Sydney)
1609
- #
1610
- # * Asia Pacific (Tokyo)
1611
- #
1612
- # * Europe (Ireland)
1613
- #
1614
- # * South America (São Paulo)
1615
- #
1616
- # For a list of all the Amazon S3 supported Regions and endpoints,
1617
- # see [Regions and Endpoints][8] in the Amazon Web Services
1618
- # General Reference.
1619
- #
1620
- # </note>
1621
- #
1622
- # For example, the following `x-amz-grant-read` header grants the
1623
- # Amazon Web Services accounts identified by account IDs permissions
1624
- # to read object data and its metadata:
1625
- #
1626
- # `x-amz-grant-read: id="11112222333", id="444455556666" `
1627
- #
1628
- # <note markdown="1"> You can use either a canned ACL or specify access permissions
1629
- # explicitly. You cannot do both.
1630
- #
1631
- # </note>
1632
- #
1633
1570
  # Permissions
1634
1571
  #
1635
1572
  # : In addition to `s3:CreateBucket`, the following permissions are
1636
- # required when your CreateBucket includes specific headers:
1573
+ # required when your `CreateBucket` request includes specific headers:
1637
1574
  #
1638
- # * **ACLs** - If your `CreateBucket` request specifies ACL
1639
- # permissions and the ACL is public-read, public-read-write,
1640
- # authenticated-read, or if you specify access permissions
1641
- # explicitly through any other ACL, both `s3:CreateBucket` and
1642
- # `s3:PutBucketAcl` permissions are needed. If the ACL the
1643
- # `CreateBucket` request is private or doesn't specify any ACLs,
1644
- # only `s3:CreateBucket` permission is needed.
1575
+ # * **Access control lists (ACLs)** - If your `CreateBucket` request
1576
+ # specifies access control list (ACL) permissions and the ACL is
1577
+ # public-read, public-read-write, authenticated-read, or if you
1578
+ # specify access permissions explicitly through any other ACL, both
1579
+ # `s3:CreateBucket` and `s3:PutBucketAcl` permissions are needed. If
1580
+ # the ACL for the `CreateBucket` request is private or if the
1581
+ # request doesn't specify any ACLs, only `s3:CreateBucket`
1582
+ # permission is needed.
1645
1583
  #
1646
1584
  # * **Object Lock** - If `ObjectLockEnabledForBucket` is set to true
1647
1585
  # in your `CreateBucket` request,
1648
1586
  # `s3:PutBucketObjectLockConfiguration` and `s3:PutBucketVersioning`
1649
1587
  # permissions are required.
1650
1588
  #
1651
- # * **S3 Object Ownership** - If your CreateBucket request includes
1652
- # the `x-amz-object-ownership` header,
1653
- # `s3:PutBucketOwnershipControls` permission is required.
1589
+ # * **S3 Object Ownership** - If your `CreateBucket` request includes
1590
+ # the `x-amz-object-ownership` header, then the
1591
+ # `s3:PutBucketOwnershipControls` permission is required. By
1592
+ # default, `ObjectOwnership` is set to `BucketOWnerEnforced` and
1593
+ # ACLs are disabled. We recommend keeping ACLs disabled, except in
1594
+ # uncommon use cases where you must control access for each object
1595
+ # individually. If you want to change the `ObjectOwnership` setting,
1596
+ # you can use the `x-amz-object-ownership` header in your
1597
+ # `CreateBucket` request to set the `ObjectOwnership` setting of
1598
+ # your choice. For more information about S3 Object Ownership, see
1599
+ # [Controlling object ownership ][5] in the *Amazon S3 User Guide*.
1600
+ #
1601
+ # * **S3 Block Public Access** - If your specific use case requires
1602
+ # granting public access to your S3 resources, you can disable Block
1603
+ # Public Access. You can create a new bucket with Block Public
1604
+ # Access enabled, then separately call the [
1605
+ # `DeletePublicAccessBlock` ][6] API. To use this operation, you
1606
+ # must have the `s3:PutBucketPublicAccessBlock` permission. By
1607
+ # default, all Block Public Access settings are enabled for new
1608
+ # buckets. To avoid inadvertent exposure of your resources, we
1609
+ # recommend keeping the S3 Block Public Access settings enabled. For
1610
+ # more information about S3 Block Public Access, see [Blocking
1611
+ # public access to your Amazon S3 storage ][5] in the *Amazon S3
1612
+ # User Guide*.
1613
+ #
1614
+ # If your `CreateBucket` request sets `BucketOwnerEnforced` for Amazon
1615
+ # S3 Object Ownership and specifies a bucket ACL that provides access to
1616
+ # an external Amazon Web Services account, your request fails with a
1617
+ # `400` error and returns the `InvalidBucketAcLWithObjectOwnership`
1618
+ # error code. For more information, see [Setting Object Ownership on an
1619
+ # existing bucket ][7] in the *Amazon S3 User Guide*.
1654
1620
  #
1655
1621
  # The following operations are related to `CreateBucket`:
1656
1622
  #
1657
- # * [PutObject][9]
1623
+ # * [PutObject][8]
1658
1624
  #
1659
- # * [DeleteBucket][10]
1625
+ # * [DeleteBucket][9]
1660
1626
  #
1661
1627
  #
1662
1628
  #
@@ -1665,11 +1631,10 @@ module Aws::S3
1665
1631
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro
1666
1632
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html
1667
1633
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
1668
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
1669
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html
1670
- # [8]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
1671
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
1672
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
1634
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html
1635
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-existing-bucket.html
1636
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
1637
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
1673
1638
  #
1674
1639
  # @option params [String] :acl
1675
1640
  # The canned ACL to apply to the bucket.
@@ -1726,33 +1691,33 @@ module Aws::S3
1726
1691
  # * {Types::CreateBucketOutput#location #location} => String
1727
1692
  #
1728
1693
  #
1729
- # @example Example: To create a bucket in a specific region
1694
+ # @example Example: To create a bucket
1730
1695
  #
1731
- # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1696
+ # # The following example creates a bucket.
1732
1697
  #
1733
1698
  # resp = client.create_bucket({
1734
1699
  # bucket: "examplebucket",
1735
- # create_bucket_configuration: {
1736
- # location_constraint: "eu-west-1",
1737
- # },
1738
1700
  # })
1739
1701
  #
1740
1702
  # resp.to_h outputs the following:
1741
1703
  # {
1742
- # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1704
+ # location: "/examplebucket",
1743
1705
  # }
1744
1706
  #
1745
- # @example Example: To create a bucket
1707
+ # @example Example: To create a bucket in a specific region
1746
1708
  #
1747
- # # The following example creates a bucket.
1709
+ # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1748
1710
  #
1749
1711
  # resp = client.create_bucket({
1750
1712
  # bucket: "examplebucket",
1713
+ # create_bucket_configuration: {
1714
+ # location_constraint: "eu-west-1",
1715
+ # },
1751
1716
  # })
1752
1717
  #
1753
1718
  # resp.to_h outputs the following:
1754
1719
  # {
1755
- # location: "/examplebucket",
1720
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1756
1721
  # }
1757
1722
  #
1758
1723
  # @example Request syntax with placeholder values
@@ -2072,7 +2037,7 @@ module Aws::S3
2072
2037
  # When you use this action with S3 on Outposts through the Amazon Web
2073
2038
  # Services SDKs, you provide the Outposts access point ARN in place of
2074
2039
  # the bucket name. For more information about S3 on Outposts ARNs, see
2075
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
2040
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
2076
2041
  #
2077
2042
  #
2078
2043
  #
@@ -2128,7 +2093,7 @@ module Aws::S3
2128
2093
  #
2129
2094
  # @option params [String] :server_side_encryption
2130
2095
  # The server-side encryption algorithm used when storing this object in
2131
- # Amazon S3 (for example, AES256, `aws:kms`).
2096
+ # Amazon S3 (for example, `AES256`, `aws:kms`).
2132
2097
  #
2133
2098
  # @option params [String] :storage_class
2134
2099
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
@@ -2166,11 +2131,11 @@ module Aws::S3
2166
2131
  # @option params [String] :ssekms_key_id
2167
2132
  # Specifies the ID of the symmetric encryption customer managed key to
2168
2133
  # use for object encryption. All GET and PUT requests for an object
2169
- # protected by Amazon Web Services KMS will fail if not made via SSL or
2170
- # using SigV4. For information about configuring using any of the
2171
- # officially supported Amazon Web Services SDKs and Amazon Web Services
2172
- # CLI, see [Specifying the Signature Version in Request
2173
- # Authentication][1] in the *Amazon S3 User Guide*.
2134
+ # protected by KMS will fail if they're not made via SSL or using
2135
+ # SigV4. For information about configuring any of the officially
2136
+ # supported Amazon Web Services SDKs and Amazon Web Services CLI, see
2137
+ # [Specifying the Signature Version in Request Authentication][1] in the
2138
+ # *Amazon S3 User Guide*.
2174
2139
  #
2175
2140
  #
2176
2141
  #
@@ -2183,9 +2148,9 @@ module Aws::S3
2183
2148
  #
2184
2149
  # @option params [Boolean] :bucket_key_enabled
2185
2150
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
2186
- # encryption with server-side encryption using AWS KMS (SSE-KMS).
2187
- # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
2188
- # for object encryption with SSE-KMS.
2151
+ # encryption with server-side encryption using Key Management Service
2152
+ # (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
2153
+ # to use an S3 Bucket Key for object encryption with SSE-KMS.
2189
2154
  #
2190
2155
  # Specifying this header with an object action doesn’t affect
2191
2156
  # bucket-level settings for S3 Bucket Key.
@@ -2446,7 +2411,7 @@ module Aws::S3
2446
2411
  # For information about `cors`, see [Enabling Cross-Origin Resource
2447
2412
  # Sharing][1] in the *Amazon S3 User Guide*.
2448
2413
  #
2449
- # The following operations are related to `DeleteBucketCors`:
2414
+ # **Related Resources**
2450
2415
  #
2451
2416
  # * [PutBucketCors][2]
2452
2417
  #
@@ -3157,7 +3122,7 @@ module Aws::S3
3157
3122
  # When you use this action with S3 on Outposts through the Amazon Web
3158
3123
  # Services SDKs, you provide the Outposts access point ARN in place of
3159
3124
  # the bucket name. For more information about S3 on Outposts ARNs, see
3160
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
3125
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
3161
3126
  #
3162
3127
  #
3163
3128
  #
@@ -3204,15 +3169,6 @@ module Aws::S3
3204
3169
  # * {Types::DeleteObjectOutput#request_charged #request_charged} => String
3205
3170
  #
3206
3171
  #
3207
- # @example Example: To delete an object (from a non-versioned bucket)
3208
- #
3209
- # # The following example deletes an object from a non-versioned bucket.
3210
- #
3211
- # resp = client.delete_object({
3212
- # bucket: "ExampleBucket",
3213
- # key: "HappyFace.jpg",
3214
- # })
3215
- #
3216
3172
  # @example Example: To delete an object
3217
3173
  #
3218
3174
  # # The following example deletes an object from an S3 bucket.
@@ -3226,6 +3182,15 @@ module Aws::S3
3226
3182
  # {
3227
3183
  # }
3228
3184
  #
3185
+ # @example Example: To delete an object (from a non-versioned bucket)
3186
+ #
3187
+ # # The following example deletes an object from a non-versioned bucket.
3188
+ #
3189
+ # resp = client.delete_object({
3190
+ # bucket: "ExampleBucket",
3191
+ # key: "HappyFace.jpg",
3192
+ # })
3193
+ #
3229
3194
  # @example Request syntax with placeholder values
3230
3195
  #
3231
3196
  # resp = client.delete_object({
@@ -3293,7 +3258,7 @@ module Aws::S3
3293
3258
  # When you use this action with S3 on Outposts through the Amazon Web
3294
3259
  # Services SDKs, you provide the Outposts access point ARN in place of
3295
3260
  # the bucket name. For more information about S3 on Outposts ARNs, see
3296
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
3261
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
3297
3262
  #
3298
3263
  #
3299
3264
  #
@@ -3317,35 +3282,35 @@ module Aws::S3
3317
3282
  # * {Types::DeleteObjectTaggingOutput#version_id #version_id} => String
3318
3283
  #
3319
3284
  #
3320
- # @example Example: To remove tag set from an object
3285
+ # @example Example: To remove tag set from an object version
3321
3286
  #
3322
- # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
3323
- # # operation removes tag set from the latest object version.
3287
+ # # The following example removes tag set associated with the specified object version. The request specifies both the
3288
+ # # object key and object version.
3324
3289
  #
3325
3290
  # resp = client.delete_object_tagging({
3326
3291
  # bucket: "examplebucket",
3327
3292
  # key: "HappyFace.jpg",
3293
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3328
3294
  # })
3329
3295
  #
3330
3296
  # resp.to_h outputs the following:
3331
3297
  # {
3332
- # version_id: "null",
3298
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3333
3299
  # }
3334
3300
  #
3335
- # @example Example: To remove tag set from an object version
3301
+ # @example Example: To remove tag set from an object
3336
3302
  #
3337
- # # The following example removes tag set associated with the specified object version. The request specifies both the
3338
- # # object key and object version.
3303
+ # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
3304
+ # # operation removes tag set from the latest object version.
3339
3305
  #
3340
3306
  # resp = client.delete_object_tagging({
3341
3307
  # bucket: "examplebucket",
3342
3308
  # key: "HappyFace.jpg",
3343
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3344
3309
  # })
3345
3310
  #
3346
3311
  # resp.to_h outputs the following:
3347
3312
  # {
3348
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3313
+ # version_id: "null",
3349
3314
  # }
3350
3315
  #
3351
3316
  # @example Request syntax with placeholder values
@@ -3441,7 +3406,7 @@ module Aws::S3
3441
3406
  # When you use this action with S3 on Outposts through the Amazon Web
3442
3407
  # Services SDKs, you provide the Outposts access point ARN in place of
3443
3408
  # the bucket name. For more information about S3 on Outposts ARNs, see
3444
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
3409
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
3445
3410
  #
3446
3411
  #
3447
3412
  #
@@ -3720,20 +3685,34 @@ module Aws::S3
3720
3685
  # a different account, the request fails with the HTTP status code `403
3721
3686
  # Forbidden` (access denied).
3722
3687
  #
3688
+ # @option params [String] :request_payer
3689
+ # Confirms that the requester knows that they will be charged for the
3690
+ # request. Bucket owners need not specify this parameter in their
3691
+ # requests. For information about downloading objects from Requester
3692
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
3693
+ # in the *Amazon S3 User Guide*.
3694
+ #
3695
+ #
3696
+ #
3697
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
3698
+ #
3723
3699
  # @return [Types::GetBucketAccelerateConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3724
3700
  #
3725
3701
  # * {Types::GetBucketAccelerateConfigurationOutput#status #status} => String
3702
+ # * {Types::GetBucketAccelerateConfigurationOutput#request_charged #request_charged} => String
3726
3703
  #
3727
3704
  # @example Request syntax with placeholder values
3728
3705
  #
3729
3706
  # resp = client.get_bucket_accelerate_configuration({
3730
3707
  # bucket: "BucketName", # required
3731
3708
  # expected_bucket_owner: "AccountId",
3709
+ # request_payer: "requester", # accepts requester
3732
3710
  # })
3733
3711
  #
3734
3712
  # @example Response structure
3735
3713
  #
3736
3714
  # resp.status #=> String, one of "Enabled", "Suspended"
3715
+ # resp.request_charged #=> String, one of "requester"
3737
3716
  #
3738
3717
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration AWS API Documentation
3739
3718
  #
@@ -5639,30 +5618,32 @@ module Aws::S3
5639
5618
  # For more information about returning the ACL of an object, see
5640
5619
  # [GetObjectAcl][2].
5641
5620
  #
5642
- # If the object you are retrieving is stored in the S3 Glacier or S3
5643
- # Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive
5644
- # or S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve
5645
- # the object you must first restore a copy using [RestoreObject][3].
5646
- # Otherwise, this action returns an `InvalidObjectState` error. For
5647
- # information about restoring archived objects, see [Restoring Archived
5648
- # Objects][4].
5621
+ # If the object you are retrieving is stored in the S3 Glacier Flexible
5622
+ # Retrieval or S3 Glacier Deep Archive storage class, or S3
5623
+ # Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive
5624
+ # tiers, before you can retrieve the object you must first restore a
5625
+ # copy using [RestoreObject][3]. Otherwise, this action returns an
5626
+ # `InvalidObjectState` error. For information about restoring archived
5627
+ # objects, see [Restoring Archived Objects][4].
5649
5628
  #
5650
5629
  # Encryption request headers, like `x-amz-server-side-encryption`,
5651
5630
  # should not be sent for GET requests if your object uses server-side
5652
- # encryption with KMS keys (SSE-KMS) or server-side encryption with
5653
- # Amazon S3–managed encryption keys (SSE-S3). If your object does use
5654
- # these types of keys, you’ll get an HTTP 400 BadRequest error.
5631
+ # encryption with Key Management Service (KMS) keys (SSE-KMS),
5632
+ # dual-layer server-side encryption with Amazon Web Services KMS keys
5633
+ # (DSSE-KMS), or server-side encryption with Amazon S3 managed
5634
+ # encryption keys (SSE-S3). If your object does use these types of keys,
5635
+ # you’ll get an HTTP 400 Bad Request error.
5655
5636
  #
5656
5637
  # If you encrypt an object by using server-side encryption with
5657
5638
  # customer-provided encryption keys (SSE-C) when you store the object in
5658
5639
  # Amazon S3, then when you GET the object, you must use the following
5659
5640
  # headers:
5660
5641
  #
5661
- # * x-amz-server-side-encryption-customer-algorithm
5642
+ # * `x-amz-server-side-encryption-customer-algorithm`
5662
5643
  #
5663
- # * x-amz-server-side-encryption-customer-key
5644
+ # * `x-amz-server-side-encryption-customer-key`
5664
5645
  #
5665
- # * x-amz-server-side-encryption-customer-key-MD5
5646
+ # * `x-amz-server-side-encryption-customer-key-MD5`
5666
5647
  #
5667
5648
  # For more information about SSE-C, see [Server-Side Encryption (Using
5668
5649
  # Customer-Provided Encryption Keys)][5].
@@ -5677,20 +5658,21 @@ module Aws::S3
5677
5658
  #
5678
5659
  # : You need the relevant read object (or version) permission for this
5679
5660
  # operation. For more information, see [Specifying Permissions in a
5680
- # Policy][7]. If the object you request does not exist, the error
5681
- # Amazon S3 returns depends on whether you also have the
5661
+ # Policy][7]. If the object that you request doesn’t exist, the error
5662
+ # that Amazon S3 returns depends on whether you also have the
5682
5663
  # `s3:ListBucket` permission.
5683
5664
  #
5684
- # * If you have the `s3:ListBucket` permission on the bucket, Amazon
5685
- # S3 will return an HTTP status code 404 ("no such key") error.
5665
+ # If you have the `s3:ListBucket` permission on the bucket, Amazon S3
5666
+ # returns an HTTP status code 404 (Not Found) error.
5686
5667
  #
5687
- # * If you don’t have the `s3:ListBucket` permission, Amazon S3 will
5688
- # return an HTTP status code 403 ("access denied") error.
5668
+ # If you don’t have the `s3:ListBucket` permission, Amazon S3 returns
5669
+ # an HTTP status code 403 ("access denied") error.
5689
5670
  #
5690
5671
  # Versioning
5691
5672
  #
5692
- # : By default, the GET action returns the current version of an object.
5693
- # To return a different version, use the `versionId` subresource.
5673
+ # : By default, the `GET` action returns the current version of an
5674
+ # object. To return a different version, use the `versionId`
5675
+ # subresource.
5694
5676
  #
5695
5677
  # <note markdown="1"> * If you supply a `versionId`, you need the `s3:GetObjectVersion`
5696
5678
  # permission to access a specific version of an object. If you
@@ -5710,18 +5692,18 @@ module Aws::S3
5710
5692
  # Overriding Response Header Values
5711
5693
  #
5712
5694
  # : There are times when you want to override certain response header
5713
- # values in a GET response. For example, you might override the
5714
- # `Content-Disposition` response header value in your GET request.
5695
+ # values in a `GET` response. For example, you might override the
5696
+ # `Content-Disposition` response header value in your `GET` request.
5715
5697
  #
5716
5698
  # You can override values for a set of response headers using the
5717
5699
  # following query parameters. These response header values are sent
5718
5700
  # only on a successful request, that is, when status code 200 OK is
5719
5701
  # returned. The set of headers you can override using these parameters
5720
5702
  # is a subset of the headers that Amazon S3 accepts when you create an
5721
- # object. The response headers that you can override for the GET
5703
+ # object. The response headers that you can override for the `GET`
5722
5704
  # response are `Content-Type`, `Content-Language`, `Expires`,
5723
5705
  # `Cache-Control`, `Content-Disposition`, and `Content-Encoding`. To
5724
- # override these header values in the GET response, you use the
5706
+ # override these header values in the `GET` response, you use the
5725
5707
  # following request parameters.
5726
5708
  #
5727
5709
  # <note markdown="1"> You must sign the request, either using an Authorization header or a
@@ -5799,7 +5781,7 @@ module Aws::S3
5799
5781
  # When you use this action with S3 on Outposts through the Amazon Web
5800
5782
  # Services SDKs, you provide the Outposts access point ARN in place of
5801
5783
  # the bucket name. For more information about S3 on Outposts ARNs, see
5802
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
5784
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
5803
5785
  #
5804
5786
  #
5805
5787
  #
@@ -6386,7 +6368,7 @@ module Aws::S3
6386
6368
  # When you use this action with S3 on Outposts through the Amazon Web
6387
6369
  # Services SDKs, you provide the Outposts access point ARN in place of
6388
6370
  # the bucket name. For more information about S3 on Outposts ARNs, see
6389
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
6371
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
6390
6372
  #
6391
6373
  #
6392
6374
  #
@@ -6439,9 +6421,8 @@ module Aws::S3
6439
6421
  # Forbidden` (access denied).
6440
6422
  #
6441
6423
  # @option params [required, Array<String>] :object_attributes
6442
- # An XML header that specifies the fields at the root level that you
6443
- # want returned in the response. Fields that you do not specify are not
6444
- # returned.
6424
+ # Specifies the fields at the root level that you want returned in the
6425
+ # response. Fields that you do not specify are not returned.
6445
6426
  #
6446
6427
  # @return [Types::GetObjectAttributesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6447
6428
  #
@@ -6786,7 +6767,7 @@ module Aws::S3
6786
6767
  # When you use this action with S3 on Outposts through the Amazon Web
6787
6768
  # Services SDKs, you provide the Outposts access point ARN in place of
6788
6769
  # the bucket name. For more information about S3 on Outposts ARNs, see
6789
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
6770
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
6790
6771
  #
6791
6772
  #
6792
6773
  #
@@ -7119,7 +7100,7 @@ module Aws::S3
7119
7100
  # When you use this action with S3 on Outposts through the Amazon Web
7120
7101
  # Services SDKs, you provide the Outposts access point ARN in place of
7121
7102
  # the bucket name. For more information about S3 on Outposts ARNs, see
7122
- # [What is S3 on Outposts][3] in the *Amazon S3 User Guide*.
7103
+ # [What is S3 on Outposts?][3] in the *Amazon S3 User Guide*.
7123
7104
  #
7124
7105
  #
7125
7106
  #
@@ -7165,9 +7146,9 @@ module Aws::S3
7165
7146
  req.send_request(options)
7166
7147
  end
7167
7148
 
7168
- # The HEAD action retrieves metadata from an object without returning
7149
+ # The `HEAD` action retrieves metadata from an object without returning
7169
7150
  # the object itself. This action is useful if you're only interested in
7170
- # an object's metadata. To use HEAD, you must have READ access to the
7151
+ # an object's metadata. To use `HEAD`, you must have READ access to the
7171
7152
  # object.
7172
7153
  #
7173
7154
  # A `HEAD` request has the same options as a `GET` action on an object.
@@ -7182,20 +7163,22 @@ module Aws::S3
7182
7163
  # Amazon S3, then when you retrieve the metadata from the object, you
7183
7164
  # must use the following headers:
7184
7165
  #
7185
- # * x-amz-server-side-encryption-customer-algorithm
7166
+ # * `x-amz-server-side-encryption-customer-algorithm`
7186
7167
  #
7187
- # * x-amz-server-side-encryption-customer-key
7168
+ # * `x-amz-server-side-encryption-customer-key`
7188
7169
  #
7189
- # * x-amz-server-side-encryption-customer-key-MD5
7170
+ # * `x-amz-server-side-encryption-customer-key-MD5`
7190
7171
  #
7191
7172
  # For more information about SSE-C, see [Server-Side Encryption (Using
7192
7173
  # Customer-Provided Encryption Keys)][1].
7193
7174
  #
7194
7175
  # <note markdown="1"> * Encryption request headers, like `x-amz-server-side-encryption`,
7195
- # should not be sent for GET requests if your object uses server-side
7196
- # encryption with KMS keys (SSE-KMS) or server-side encryption with
7197
- # Amazon S3–managed encryption keys (SSE-S3). If your object does use
7198
- # these types of keys, you’ll get an HTTP 400 BadRequest error.
7176
+ # should not be sent for `GET` requests if your object uses
7177
+ # server-side encryption with Key Management Service (KMS) keys
7178
+ # (SSE-KMS), dual-layer server-side encryption with Amazon Web
7179
+ # Services KMS keys (DSSE-KMS), or server-side encryption with Amazon
7180
+ # S3 managed encryption keys (SSE-S3). If your object does use these
7181
+ # types of keys, you’ll get an HTTP 400 Bad Request error.
7199
7182
  #
7200
7183
  # * The last modified property in this case is the creation date of the
7201
7184
  # object.
@@ -7231,15 +7214,15 @@ module Aws::S3
7231
7214
  #
7232
7215
  # : You need the relevant read object (or version) permission for this
7233
7216
  # operation. For more information, see [Actions, resources, and
7234
- # condition keys for Amazon S3][4]. If the object you request does not
7235
- # exist, the error Amazon S3 returns depends on whether you also have
7236
- # the s3:ListBucket permission.
7217
+ # condition keys for Amazon S3][4]. If the object you request doesn't
7218
+ # exist, the error that Amazon S3 returns depends on whether you also
7219
+ # have the s3:ListBucket permission.
7237
7220
  #
7238
7221
  # * If you have the `s3:ListBucket` permission on the bucket, Amazon
7239
- # S3 returns an HTTP status code 404 ("no such key") error.
7222
+ # S3 returns an HTTP status code 404 error.
7240
7223
  #
7241
7224
  # * If you don’t have the `s3:ListBucket` permission, Amazon S3
7242
- # returns an HTTP status code 403 ("access denied") error.
7225
+ # returns an HTTP status code 403 error.
7243
7226
  #
7244
7227
  # The following actions are related to `HeadObject`:
7245
7228
  #
@@ -7274,7 +7257,7 @@ module Aws::S3
7274
7257
  # When you use this action with S3 on Outposts through the Amazon Web
7275
7258
  # Services SDKs, you provide the Outposts access point ARN in place of
7276
7259
  # the bucket name. For more information about S3 on Outposts ARNs, see
7277
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
7260
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
7278
7261
  #
7279
7262
  #
7280
7263
  #
@@ -7534,7 +7517,7 @@ module Aws::S3
7534
7517
  # retrieved.
7535
7518
  #
7536
7519
  # @option params [String] :continuation_token
7537
- # The ContinuationToken that represents a placeholder from where this
7520
+ # The `ContinuationToken` that represents a placeholder from where this
7538
7521
  # request should begin.
7539
7522
  #
7540
7523
  # @option params [String] :expected_bucket_owner
@@ -7720,7 +7703,7 @@ module Aws::S3
7720
7703
  #
7721
7704
  # @option params [String] :continuation_token
7722
7705
  # The marker used to continue an inventory configuration listing that
7723
- # has been truncated. Use the NextContinuationToken from a previously
7706
+ # has been truncated. Use the `NextContinuationToken` from a previously
7724
7707
  # truncated list response to continue the listing. The continuation
7725
7708
  # token is an opaque value that Amazon S3 understands.
7726
7709
  #
@@ -7820,7 +7803,7 @@ module Aws::S3
7820
7803
  #
7821
7804
  # @option params [String] :continuation_token
7822
7805
  # The marker that is used to continue a metrics configuration listing
7823
- # that has been truncated. Use the NextContinuationToken from a
7806
+ # that has been truncated. Use the `NextContinuationToken` from a
7824
7807
  # previously truncated list response to continue the listing. The
7825
7808
  # continuation token is an opaque value that Amazon S3 understands.
7826
7809
  #
@@ -7999,7 +7982,7 @@ module Aws::S3
7999
7982
  # When you use this action with S3 on Outposts through the Amazon Web
8000
7983
  # Services SDKs, you provide the Outposts access point ARN in place of
8001
7984
  # the bucket name. For more information about S3 on Outposts ARNs, see
8002
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
7985
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
8003
7986
  #
8004
7987
  #
8005
7988
  #
@@ -8018,15 +8001,15 @@ module Aws::S3
8018
8001
  #
8019
8002
  # @option params [String] :encoding_type
8020
8003
  # Requests Amazon S3 to encode the object keys in the response and
8021
- # specifies the encoding method to use. An object key may contain any
8022
- # Unicode character; however, XML 1.0 parser cannot parse some
8004
+ # specifies the encoding method to use. An object key can contain any
8005
+ # Unicode character; however, the XML 1.0 parser cannot parse some
8023
8006
  # characters, such as characters with an ASCII value from 0 to 10. For
8024
8007
  # characters that are not supported in XML 1.0, you can add this
8025
8008
  # parameter to request that Amazon S3 encode the keys in the response.
8026
8009
  #
8027
8010
  # @option params [String] :key_marker
8028
- # Together with upload-id-marker, this parameter specifies the multipart
8029
- # upload after which listing should begin.
8011
+ # Together with `upload-id-marker`, this parameter specifies the
8012
+ # multipart upload after which listing should begin.
8030
8013
  #
8031
8014
  # If `upload-id-marker` is not specified, only the keys
8032
8015
  # lexicographically greater than the specified `key-marker` will be
@@ -8045,8 +8028,8 @@ module Aws::S3
8045
8028
  # @option params [String] :prefix
8046
8029
  # Lists in-progress uploads only for those keys that begin with the
8047
8030
  # specified prefix. You can use prefixes to separate a bucket into
8048
- # different grouping of keys. (You can think of using prefix to make
8049
- # groups in the same way you'd use a folder in a file system.)
8031
+ # different grouping of keys. (You can think of using `prefix` to make
8032
+ # groups in the same way that you'd use a folder in a file system.)
8050
8033
  #
8051
8034
  # @option params [String] :upload_id_marker
8052
8035
  # Together with key-marker, specifies the multipart upload after which
@@ -8061,6 +8044,17 @@ module Aws::S3
8061
8044
  # a different account, the request fails with the HTTP status code `403
8062
8045
  # Forbidden` (access denied).
8063
8046
  #
8047
+ # @option params [String] :request_payer
8048
+ # Confirms that the requester knows that they will be charged for the
8049
+ # request. Bucket owners need not specify this parameter in their
8050
+ # requests. For information about downloading objects from Requester
8051
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
8052
+ # in the *Amazon S3 User Guide*.
8053
+ #
8054
+ #
8055
+ #
8056
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
8057
+ #
8064
8058
  # @return [Types::ListMultipartUploadsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8065
8059
  #
8066
8060
  # * {Types::ListMultipartUploadsOutput#bucket #bucket} => String
@@ -8075,6 +8069,7 @@ module Aws::S3
8075
8069
  # * {Types::ListMultipartUploadsOutput#uploads #uploads} => Array&lt;Types::MultipartUpload&gt;
8076
8070
  # * {Types::ListMultipartUploadsOutput#common_prefixes #common_prefixes} => Array&lt;Types::CommonPrefix&gt;
8077
8071
  # * {Types::ListMultipartUploadsOutput#encoding_type #encoding_type} => String
8072
+ # * {Types::ListMultipartUploadsOutput#request_charged #request_charged} => String
8078
8073
  #
8079
8074
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8080
8075
  #
@@ -8185,6 +8180,7 @@ module Aws::S3
8185
8180
  # prefix: "Prefix",
8186
8181
  # upload_id_marker: "UploadIdMarker",
8187
8182
  # expected_bucket_owner: "AccountId",
8183
+ # request_payer: "requester", # accepts requester
8188
8184
  # })
8189
8185
  #
8190
8186
  # @example Response structure
@@ -8211,6 +8207,7 @@ module Aws::S3
8211
8207
  # resp.common_prefixes #=> Array
8212
8208
  # resp.common_prefixes[0].prefix #=> String
8213
8209
  # resp.encoding_type #=> String, one of "url"
8210
+ # resp.request_charged #=> String, one of "requester"
8214
8211
  #
8215
8212
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads AWS API Documentation
8216
8213
  #
@@ -8225,10 +8222,10 @@ module Aws::S3
8225
8222
  # can also use request parameters as selection criteria to return
8226
8223
  # metadata about a subset of all the object versions.
8227
8224
  #
8228
- # To use this operation, you must have permissions to perform the
8225
+ # To use this operation, you must have permission to perform the
8229
8226
  # `s3:ListBucketVersions` action. Be aware of the name difference.
8230
8227
  #
8231
- # <note markdown="1"> A 200 OK response can contain valid or invalid XML. Make sure to
8228
+ # <note markdown="1"> A `200 OK` response can contain valid or invalid XML. Make sure to
8232
8229
  # design your application to parse the contents of the response and
8233
8230
  # handle it appropriately.
8234
8231
  #
@@ -8262,14 +8259,14 @@ module Aws::S3
8262
8259
  # A delimiter is a character that you specify to group keys. All keys
8263
8260
  # that contain the same string between the `prefix` and the first
8264
8261
  # occurrence of the delimiter are grouped under a single result element
8265
- # in CommonPrefixes. These groups are counted as one result against the
8266
- # max-keys limitation. These keys are not returned elsewhere in the
8267
- # response.
8262
+ # in `CommonPrefixes`. These groups are counted as one result against
8263
+ # the `max-keys` limitation. These keys are not returned elsewhere in
8264
+ # the response.
8268
8265
  #
8269
8266
  # @option params [String] :encoding_type
8270
8267
  # Requests Amazon S3 to encode the object keys in the response and
8271
- # specifies the encoding method to use. An object key may contain any
8272
- # Unicode character; however, XML 1.0 parser cannot parse some
8268
+ # specifies the encoding method to use. An object key can contain any
8269
+ # Unicode character; however, the XML 1.0 parser cannot parse some
8273
8270
  # characters, such as characters with an ASCII value from 0 to 10. For
8274
8271
  # characters that are not supported in XML 1.0, you can add this
8275
8272
  # parameter to request that Amazon S3 encode the keys in the response.
@@ -8278,20 +8275,20 @@ module Aws::S3
8278
8275
  # Specifies the key to start with when listing objects in a bucket.
8279
8276
  #
8280
8277
  # @option params [Integer] :max_keys
8281
- # Sets the maximum number of keys returned in the response. By default
8278
+ # Sets the maximum number of keys returned in the response. By default,
8282
8279
  # the action returns up to 1,000 key names. The response might contain
8283
8280
  # fewer keys but will never contain more. If additional keys satisfy the
8284
- # search criteria, but were not returned because max-keys was exceeded,
8285
- # the response contains &lt;isTruncated&gt;true&lt;/isTruncated&gt;. To
8286
- # return the additional keys, see key-marker and version-id-marker.
8281
+ # search criteria, but were not returned because `max-keys` was
8282
+ # exceeded, the response contains `<isTruncated>true</isTruncated>`. To
8283
+ # return the additional keys, see `key-marker` and `version-id-marker`.
8287
8284
  #
8288
8285
  # @option params [String] :prefix
8289
8286
  # Use this parameter to select only those keys that begin with the
8290
8287
  # specified prefix. You can use prefixes to separate a bucket into
8291
- # different groupings of keys. (You can think of using prefix to make
8292
- # groups in the same way you'd use a folder in a file system.) You can
8293
- # use prefix with delimiter to roll up numerous objects into a single
8294
- # result under CommonPrefixes.
8288
+ # different groupings of keys. (You can think of using `prefix` to make
8289
+ # groups in the same way that you'd use a folder in a file system.) You
8290
+ # can use `prefix` with `delimiter` to roll up numerous objects into a
8291
+ # single result under `CommonPrefixes`.
8295
8292
  #
8296
8293
  # @option params [String] :version_id_marker
8297
8294
  # Specifies the object version you want to start listing from.
@@ -8301,6 +8298,21 @@ module Aws::S3
8301
8298
  # a different account, the request fails with the HTTP status code `403
8302
8299
  # Forbidden` (access denied).
8303
8300
  #
8301
+ # @option params [String] :request_payer
8302
+ # Confirms that the requester knows that they will be charged for the
8303
+ # request. Bucket owners need not specify this parameter in their
8304
+ # requests. For information about downloading objects from Requester
8305
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
8306
+ # in the *Amazon S3 User Guide*.
8307
+ #
8308
+ #
8309
+ #
8310
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
8311
+ #
8312
+ # @option params [Array<String>] :optional_object_attributes
8313
+ # Specifies the optional fields that you want returned in the response.
8314
+ # Fields that you do not specify are not returned.
8315
+ #
8304
8316
  # @return [Types::ListObjectVersionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8305
8317
  #
8306
8318
  # * {Types::ListObjectVersionsOutput#is_truncated #is_truncated} => Boolean
@@ -8316,6 +8328,7 @@ module Aws::S3
8316
8328
  # * {Types::ListObjectVersionsOutput#max_keys #max_keys} => Integer
8317
8329
  # * {Types::ListObjectVersionsOutput#common_prefixes #common_prefixes} => Array&lt;Types::CommonPrefix&gt;
8318
8330
  # * {Types::ListObjectVersionsOutput#encoding_type #encoding_type} => String
8331
+ # * {Types::ListObjectVersionsOutput#request_charged #request_charged} => String
8319
8332
  #
8320
8333
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8321
8334
  #
@@ -8374,6 +8387,8 @@ module Aws::S3
8374
8387
  # prefix: "Prefix",
8375
8388
  # version_id_marker: "VersionIdMarker",
8376
8389
  # expected_bucket_owner: "AccountId",
8390
+ # request_payer: "requester", # accepts requester
8391
+ # optional_object_attributes: ["RestoreStatus"], # accepts RestoreStatus
8377
8392
  # })
8378
8393
  #
8379
8394
  # @example Response structure
@@ -8395,6 +8410,8 @@ module Aws::S3
8395
8410
  # resp.versions[0].last_modified #=> Time
8396
8411
  # resp.versions[0].owner.display_name #=> String
8397
8412
  # resp.versions[0].owner.id #=> String
8413
+ # resp.versions[0].restore_status.is_restore_in_progress #=> Boolean
8414
+ # resp.versions[0].restore_status.restore_expiry_date #=> Time
8398
8415
  # resp.delete_markers #=> Array
8399
8416
  # resp.delete_markers[0].owner.display_name #=> String
8400
8417
  # resp.delete_markers[0].owner.id #=> String
@@ -8409,6 +8426,7 @@ module Aws::S3
8409
8426
  # resp.common_prefixes #=> Array
8410
8427
  # resp.common_prefixes[0].prefix #=> String
8411
8428
  # resp.encoding_type #=> String, one of "url"
8429
+ # resp.request_charged #=> String, one of "requester"
8412
8430
  #
8413
8431
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions AWS API Documentation
8414
8432
  #
@@ -8467,7 +8485,7 @@ module Aws::S3
8467
8485
  # When you use this action with S3 on Outposts through the Amazon Web
8468
8486
  # Services SDKs, you provide the Outposts access point ARN in place of
8469
8487
  # the bucket name. For more information about S3 on Outposts ARNs, see
8470
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
8488
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
8471
8489
  #
8472
8490
  #
8473
8491
  #
@@ -8475,12 +8493,12 @@ module Aws::S3
8475
8493
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html
8476
8494
  #
8477
8495
  # @option params [String] :delimiter
8478
- # A delimiter is a character you use to group keys.
8496
+ # A delimiter is a character that you use to group keys.
8479
8497
  #
8480
8498
  # @option params [String] :encoding_type
8481
8499
  # Requests Amazon S3 to encode the object keys in the response and
8482
- # specifies the encoding method to use. An object key may contain any
8483
- # Unicode character; however, XML 1.0 parser cannot parse some
8500
+ # specifies the encoding method to use. An object key can contain any
8501
+ # Unicode character; however, the XML 1.0 parser cannot parse some
8484
8502
  # characters, such as characters with an ASCII value from 0 to 10. For
8485
8503
  # characters that are not supported in XML 1.0, you can add this
8486
8504
  # parameter to request that Amazon S3 encode the keys in the response.
@@ -8491,7 +8509,7 @@ module Aws::S3
8491
8509
  # bucket.
8492
8510
  #
8493
8511
  # @option params [Integer] :max_keys
8494
- # Sets the maximum number of keys returned in the response. By default
8512
+ # Sets the maximum number of keys returned in the response. By default,
8495
8513
  # the action returns up to 1,000 key names. The response might contain
8496
8514
  # fewer keys but will never contain more.
8497
8515
  #
@@ -8508,6 +8526,10 @@ module Aws::S3
8508
8526
  # a different account, the request fails with the HTTP status code `403
8509
8527
  # Forbidden` (access denied).
8510
8528
  #
8529
+ # @option params [Array<String>] :optional_object_attributes
8530
+ # Specifies the optional fields that you want returned in the response.
8531
+ # Fields that you do not specify are not returned.
8532
+ #
8511
8533
  # @return [Types::ListObjectsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8512
8534
  #
8513
8535
  # * {Types::ListObjectsOutput#is_truncated #is_truncated} => Boolean
@@ -8520,6 +8542,7 @@ module Aws::S3
8520
8542
  # * {Types::ListObjectsOutput#max_keys #max_keys} => Integer
8521
8543
  # * {Types::ListObjectsOutput#common_prefixes #common_prefixes} => Array&lt;Types::CommonPrefix&gt;
8522
8544
  # * {Types::ListObjectsOutput#encoding_type #encoding_type} => String
8545
+ # * {Types::ListObjectsOutput#request_charged #request_charged} => String
8523
8546
  #
8524
8547
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8525
8548
  #
@@ -8573,6 +8596,7 @@ module Aws::S3
8573
8596
  # prefix: "Prefix",
8574
8597
  # request_payer: "requester", # accepts requester
8575
8598
  # expected_bucket_owner: "AccountId",
8599
+ # optional_object_attributes: ["RestoreStatus"], # accepts RestoreStatus
8576
8600
  # })
8577
8601
  #
8578
8602
  # @example Response structure
@@ -8590,6 +8614,8 @@ module Aws::S3
8590
8614
  # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW"
8591
8615
  # resp.contents[0].owner.display_name #=> String
8592
8616
  # resp.contents[0].owner.id #=> String
8617
+ # resp.contents[0].restore_status.is_restore_in_progress #=> Boolean
8618
+ # resp.contents[0].restore_status.restore_expiry_date #=> Time
8593
8619
  # resp.name #=> String
8594
8620
  # resp.prefix #=> String
8595
8621
  # resp.delimiter #=> String
@@ -8597,6 +8623,7 @@ module Aws::S3
8597
8623
  # resp.common_prefixes #=> Array
8598
8624
  # resp.common_prefixes[0].prefix #=> String
8599
8625
  # resp.encoding_type #=> String, one of "url"
8626
+ # resp.request_charged #=> String, one of "requester"
8600
8627
  #
8601
8628
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects AWS API Documentation
8602
8629
  #
@@ -8614,21 +8641,23 @@ module Aws::S3
8614
8641
  # parse the contents of the response and handle it appropriately.
8615
8642
  # Objects are returned sorted in an ascending order of the respective
8616
8643
  # key names in the list. For more information about listing objects, see
8617
- # [Listing object keys programmatically][1]
8644
+ # [Listing object keys programmatically][1] in the *Amazon S3 User
8645
+ # Guide*.
8618
8646
  #
8619
8647
  # To use this operation, you must have READ access to the bucket.
8620
8648
  #
8621
8649
  # To use this action in an Identity and Access Management (IAM) policy,
8622
- # you must have permissions to perform the `s3:ListBucket` action. The
8650
+ # you must have permission to perform the `s3:ListBucket` action. The
8623
8651
  # bucket owner has this permission by default and can grant this
8624
8652
  # permission to others. For more information about permissions, see
8625
8653
  # [Permissions Related to Bucket Subresource Operations][2] and
8626
- # [Managing Access Permissions to Your Amazon S3 Resources][3].
8654
+ # [Managing Access Permissions to Your Amazon S3 Resources][3] in the
8655
+ # *Amazon S3 User Guide*.
8627
8656
  #
8628
8657
  # This section describes the latest revision of this action. We
8629
- # recommend that you use this revised API for application development.
8630
- # For backward compatibility, Amazon S3 continues to support the prior
8631
- # version of this API, [ListObjects][4].
8658
+ # recommend that you use this revised API operation for application
8659
+ # development. For backward compatibility, Amazon S3 continues to
8660
+ # support the prior version of this API operation, [ListObjects][4].
8632
8661
  #
8633
8662
  # To get a list of your buckets, see [ListBuckets][5].
8634
8663
  #
@@ -8669,7 +8698,7 @@ module Aws::S3
8669
8698
  # When you use this action with S3 on Outposts through the Amazon Web
8670
8699
  # Services SDKs, you provide the Outposts access point ARN in place of
8671
8700
  # the bucket name. For more information about S3 on Outposts ARNs, see
8672
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
8701
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
8673
8702
  #
8674
8703
  #
8675
8704
  #
@@ -8677,13 +8706,13 @@ module Aws::S3
8677
8706
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html
8678
8707
  #
8679
8708
  # @option params [String] :delimiter
8680
- # A delimiter is a character you use to group keys.
8709
+ # A delimiter is a character that you use to group keys.
8681
8710
  #
8682
8711
  # @option params [String] :encoding_type
8683
8712
  # Encoding type used by Amazon S3 to encode object keys in the response.
8684
8713
  #
8685
8714
  # @option params [Integer] :max_keys
8686
- # Sets the maximum number of keys returned in the response. By default
8715
+ # Sets the maximum number of keys returned in the response. By default,
8687
8716
  # the action returns up to 1,000 key names. The response might contain
8688
8717
  # fewer keys but will never contain more.
8689
8718
  #
@@ -8691,14 +8720,14 @@ module Aws::S3
8691
8720
  # Limits the response to keys that begin with the specified prefix.
8692
8721
  #
8693
8722
  # @option params [String] :continuation_token
8694
- # ContinuationToken indicates Amazon S3 that the list is being continued
8695
- # on this bucket with a token. ContinuationToken is obfuscated and is
8696
- # not a real key.
8723
+ # `ContinuationToken` indicates to Amazon S3 that the list is being
8724
+ # continued on this bucket with a token. `ContinuationToken` is
8725
+ # obfuscated and is not a real key.
8697
8726
  #
8698
8727
  # @option params [Boolean] :fetch_owner
8699
- # The owner field is not present in listV2 by default, if you want to
8700
- # return owner field with each key in the result then set the fetch
8701
- # owner field to true.
8728
+ # The owner field is not present in `ListObjectsV2` by default. If you
8729
+ # want to return the owner field with each key in the result, then set
8730
+ # the `FetchOwner` field to `true`.
8702
8731
  #
8703
8732
  # @option params [String] :start_after
8704
8733
  # StartAfter is where you want Amazon S3 to start listing from. Amazon
@@ -8715,6 +8744,10 @@ module Aws::S3
8715
8744
  # a different account, the request fails with the HTTP status code `403
8716
8745
  # Forbidden` (access denied).
8717
8746
  #
8747
+ # @option params [Array<String>] :optional_object_attributes
8748
+ # Specifies the optional fields that you want returned in the response.
8749
+ # Fields that you do not specify are not returned.
8750
+ #
8718
8751
  # @return [Types::ListObjectsV2Output] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8719
8752
  #
8720
8753
  # * {Types::ListObjectsV2Output#is_truncated #is_truncated} => Boolean
@@ -8729,6 +8762,7 @@ module Aws::S3
8729
8762
  # * {Types::ListObjectsV2Output#continuation_token #continuation_token} => String
8730
8763
  # * {Types::ListObjectsV2Output#next_continuation_token #next_continuation_token} => String
8731
8764
  # * {Types::ListObjectsV2Output#start_after #start_after} => String
8765
+ # * {Types::ListObjectsV2Output#request_charged #request_charged} => String
8732
8766
  #
8733
8767
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8734
8768
  #
@@ -8782,6 +8816,7 @@ module Aws::S3
8782
8816
  # start_after: "StartAfter",
8783
8817
  # request_payer: "requester", # accepts requester
8784
8818
  # expected_bucket_owner: "AccountId",
8819
+ # optional_object_attributes: ["RestoreStatus"], # accepts RestoreStatus
8785
8820
  # })
8786
8821
  #
8787
8822
  # @example Response structure
@@ -8797,6 +8832,8 @@ module Aws::S3
8797
8832
  # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW"
8798
8833
  # resp.contents[0].owner.display_name #=> String
8799
8834
  # resp.contents[0].owner.id #=> String
8835
+ # resp.contents[0].restore_status.is_restore_in_progress #=> Boolean
8836
+ # resp.contents[0].restore_status.restore_expiry_date #=> Time
8800
8837
  # resp.name #=> String
8801
8838
  # resp.prefix #=> String
8802
8839
  # resp.delimiter #=> String
@@ -8808,6 +8845,7 @@ module Aws::S3
8808
8845
  # resp.continuation_token #=> String
8809
8846
  # resp.next_continuation_token #=> String
8810
8847
  # resp.start_after #=> String
8848
+ # resp.request_charged #=> String, one of "requester"
8811
8849
  #
8812
8850
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2 AWS API Documentation
8813
8851
  #
@@ -8884,7 +8922,7 @@ module Aws::S3
8884
8922
  # When you use this action with S3 on Outposts through the Amazon Web
8885
8923
  # Services SDKs, you provide the Outposts access point ARN in place of
8886
8924
  # the bucket name. For more information about S3 on Outposts ARNs, see
8887
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
8925
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
8888
8926
  #
8889
8927
  #
8890
8928
  #
@@ -9187,7 +9225,8 @@ module Aws::S3
9187
9225
  #
9188
9226
  # Permissions
9189
9227
  #
9190
- # : You can set access permissions using one of the following methods:
9228
+ # : You can set access permissions by using one of the following
9229
+ # methods:
9191
9230
  #
9192
9231
  # * Specify a canned ACL with the `x-amz-acl` request header. Amazon
9193
9232
  # S3 supports a set of predefined ACLs, known as *canned ACLs*. Each
@@ -9760,19 +9799,20 @@ module Aws::S3
9760
9799
  # By default, all buckets have a default encryption configuration that
9761
9800
  # uses server-side encryption with Amazon S3 managed keys (SSE-S3). You
9762
9801
  # can optionally configure default encryption for a bucket by using
9763
- # server-side encryption with an Amazon Web Services KMS key (SSE-KMS)
9764
- # or a customer-provided key (SSE-C). If you specify default encryption
9765
- # by using SSE-KMS, you can also configure Amazon S3 Bucket Keys. For
9766
- # information about bucket default encryption, see [Amazon S3 bucket
9767
- # default encryption][1] in the *Amazon S3 User Guide*. For more
9768
- # information about S3 Bucket Keys, see [Amazon S3 Bucket Keys][2] in
9769
- # the *Amazon S3 User Guide*.
9802
+ # server-side encryption with Key Management Service (KMS) keys
9803
+ # (SSE-KMS), dual-layer server-side encryption with Amazon Web Services
9804
+ # KMS keys (DSSE-KMS), or server-side encryption with customer-provided
9805
+ # keys (SSE-C). If you specify default encryption by using SSE-KMS, you
9806
+ # can also configure Amazon S3 Bucket Keys. For information about bucket
9807
+ # default encryption, see [Amazon S3 bucket default encryption][1] in
9808
+ # the *Amazon S3 User Guide*. For more information about S3 Bucket Keys,
9809
+ # see [Amazon S3 Bucket Keys][2] in the *Amazon S3 User Guide*.
9770
9810
  #
9771
9811
  # This action requires Amazon Web Services Signature Version 4. For more
9772
9812
  # information, see [ Authenticating Requests (Amazon Web Services
9773
9813
  # Signature Version 4)][3].
9774
9814
  #
9775
- # To use this operation, you must have permissions to perform the
9815
+ # To use this operation, you must have permission to perform the
9776
9816
  # `s3:PutEncryptionConfiguration` action. The bucket owner has this
9777
9817
  # permission by default. The bucket owner can grant this permission to
9778
9818
  # others. For more information about permissions, see [Permissions
@@ -10314,11 +10354,11 @@ module Aws::S3
10314
10354
  # 1,000 rules. This limit is not adjustable. Each rule consists of the
10315
10355
  # following:
10316
10356
  #
10317
- # * Filter identifying a subset of objects to which the rule applies.
10318
- # The filter can be based on a key name prefix, object tags, or a
10319
- # combination of both.
10357
+ # * A filter identifying a subset of objects to which the rule
10358
+ # applies. The filter can be based on a key name prefix, object
10359
+ # tags, or a combination of both.
10320
10360
  #
10321
- # * Status whether the rule is in effect.
10361
+ # * A status indicating whether the rule is in effect.
10322
10362
  #
10323
10363
  # * One or more lifecycle transition and expiration actions that you
10324
10364
  # want Amazon S3 to perform on the objects identified by the filter.
@@ -10342,7 +10382,7 @@ module Aws::S3
10342
10382
  # operation, a user must get the `s3:PutLifecycleConfiguration`
10343
10383
  # permission.
10344
10384
  #
10345
- # You can also explicitly deny permissions. Explicit deny also
10385
+ # You can also explicitly deny permissions. An explicit deny also
10346
10386
  # supersedes any other permissions. If you want to block users or
10347
10387
  # accounts from removing or deleting objects from your bucket, you
10348
10388
  # must deny them permissions for the following actions:
@@ -10525,7 +10565,7 @@ module Aws::S3
10525
10565
  # Grantee Values
10526
10566
  #
10527
10567
  # : You can specify the person (grantee) to whom you're assigning
10528
- # access rights (using request elements) in the following ways:
10568
+ # access rights (by using request elements) in the following ways:
10529
10569
  #
10530
10570
  # * By the person's ID:
10531
10571
  #
@@ -10533,23 +10573,23 @@ module Aws::S3
10533
10573
  # xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName>
10534
10574
  # </Grantee>`
10535
10575
  #
10536
- # DisplayName is optional and ignored in the request.
10576
+ # `DisplayName` is optional and ignored in the request.
10537
10577
  #
10538
10578
  # * By Email address:
10539
10579
  #
10540
10580
  # ` <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10541
10581
  # xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress></Grantee>`
10542
10582
  #
10543
- # The grantee is resolved to the CanonicalUser and, in a response to
10544
- # a GET Object acl request, appears as the CanonicalUser.
10583
+ # The grantee is resolved to the `CanonicalUser` and, in a response
10584
+ # to a `GETObjectAcl` request, appears as the CanonicalUser.
10545
10585
  #
10546
10586
  # * By URI:
10547
10587
  #
10548
10588
  # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10549
10589
  # xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>`
10550
10590
  #
10551
- # To enable logging, you use LoggingEnabled and its children request
10552
- # elements. To disable logging, you use an empty BucketLoggingStatus
10591
+ # To enable logging, you use `LoggingEnabled` and its children request
10592
+ # elements. To disable logging, you use an empty `BucketLoggingStatus`
10553
10593
  # request element:
10554
10594
  #
10555
10595
  # `<BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/2006-03-01"
@@ -10704,7 +10744,7 @@ module Aws::S3
10704
10744
  #
10705
10745
  # * [ListBucketMetricsConfigurations][6]
10706
10746
  #
10707
- # `GetBucketLifecycle` has the following special error:
10747
+ # `PutBucketMetricsConfiguration` has the following special error:
10708
10748
  #
10709
10749
  # * Error code: `TooManyConfigurations`
10710
10750
  #
@@ -10899,7 +10939,7 @@ module Aws::S3
10899
10939
  #
10900
10940
  # By default, only the bucket owner can configure notifications on a
10901
10941
  # bucket. However, bucket owners can use a bucket policy to grant
10902
- # permission to other users to set this configuration with
10942
+ # permission to other users to set this configuration with the required
10903
10943
  # `s3:PutBucketNotification` permission.
10904
10944
  #
10905
10945
  # <note markdown="1"> The PUT notification is an atomic operation. For example, suppose your
@@ -12041,15 +12081,15 @@ module Aws::S3
12041
12081
  #
12042
12082
  # </note>
12043
12083
  #
12044
- # You have three mutually exclusive options to protect data using
12084
+ # You have four mutually exclusive options to protect data using
12045
12085
  # server-side encryption in Amazon S3, depending on how you choose to
12046
12086
  # manage the encryption keys. Specifically, the encryption key options
12047
12087
  # are Amazon S3 managed keys (SSE-S3), Amazon Web Services KMS keys
12048
- # (SSE-KMS), and customer-provided keys (SSE-C). Amazon S3 encrypts data
12049
- # with server-side encryption by using Amazon S3 managed keys (SSE-S3)
12050
- # by default. You can optionally tell Amazon S3 to encrypt data at by
12051
- # rest using server-side encryption with other key options. For more
12052
- # information, see [Using Server-Side Encryption][3].
12088
+ # (SSE-KMS or DSSE-KMS), and customer-provided keys (SSE-C). Amazon S3
12089
+ # encrypts data with server-side encryption by using Amazon S3 managed
12090
+ # keys (SSE-S3) by default. You can optionally tell Amazon S3 to encrypt
12091
+ # data at rest by using server-side encryption with other key options.
12092
+ # For more information, see [Using Server-Side Encryption][3].
12053
12093
  #
12054
12094
  # When adding a new object, you can use headers to grant ACL-based
12055
12095
  # permissions to individual Amazon Web Services accounts or to
@@ -12145,7 +12185,7 @@ module Aws::S3
12145
12185
  # When you use this action with S3 on Outposts through the Amazon Web
12146
12186
  # Services SDKs, you provide the Outposts access point ARN in place of
12147
12187
  # the bucket name. For more information about S3 on Outposts ARNs, see
12148
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
12188
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
12149
12189
  #
12150
12190
  #
12151
12191
  #
@@ -12312,7 +12352,7 @@ module Aws::S3
12312
12352
  #
12313
12353
  # @option params [String] :server_side_encryption
12314
12354
  # The server-side encryption algorithm used when storing this object in
12315
- # Amazon S3 (for example, AES256, `aws:kms`).
12355
+ # Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
12316
12356
  #
12317
12357
  # @option params [String] :storage_class
12318
12358
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
@@ -12369,15 +12409,15 @@ module Aws::S3
12369
12409
  # ensure that the encryption key was transmitted without error.
12370
12410
  #
12371
12411
  # @option params [String] :ssekms_key_id
12372
- # If `x-amz-server-side-encryption` has a valid value of `aws:kms`, this
12373
- # header specifies the ID of the Amazon Web Services Key Management
12374
- # Service (Amazon Web Services KMS) symmetric encryption customer
12375
- # managed key that was used for the object. If you specify
12376
- # `x-amz-server-side-encryption:aws:kms`, but do not provide`
12412
+ # If `x-amz-server-side-encryption` has a valid value of `aws:kms` or
12413
+ # `aws:kms:dsse`, this header specifies the ID of the Key Management
12414
+ # Service (KMS) symmetric encryption customer managed key that was used
12415
+ # for the object. If you specify `x-amz-server-side-encryption:aws:kms`
12416
+ # or `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide`
12377
12417
  # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
12378
- # Amazon Web Services managed key to protect the data. If the KMS key
12379
- # does not exist in the same account issuing the command, you must use
12380
- # the full ARN and not just the ID.
12418
+ # Amazon Web Services managed key (`aws/s3`) to protect the data. If the
12419
+ # KMS key does not exist in the same account that's issuing the
12420
+ # command, you must use the full ARN and not just the ID.
12381
12421
  #
12382
12422
  # @option params [String] :ssekms_encryption_context
12383
12423
  # Specifies the Amazon Web Services KMS Encryption Context to use for
@@ -12389,9 +12429,9 @@ module Aws::S3
12389
12429
  #
12390
12430
  # @option params [Boolean] :bucket_key_enabled
12391
12431
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
12392
- # encryption with server-side encryption using AWS KMS (SSE-KMS).
12393
- # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
12394
- # for object encryption with SSE-KMS.
12432
+ # encryption with server-side encryption using Key Management Service
12433
+ # (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
12434
+ # to use an S3 Bucket Key for object encryption with SSE-KMS.
12395
12435
  #
12396
12436
  # Specifying this header with a PUT action doesn’t affect bucket-level
12397
12437
  # settings for S3 Bucket Key.
@@ -12449,23 +12489,6 @@ module Aws::S3
12449
12489
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
12450
12490
  #
12451
12491
  #
12452
- # @example Example: To upload an object
12453
- #
12454
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
12455
- # # syntax. S3 returns VersionId of the newly created object.
12456
- #
12457
- # resp = client.put_object({
12458
- # body: "HappyFace.jpg",
12459
- # bucket: "examplebucket",
12460
- # key: "HappyFace.jpg",
12461
- # })
12462
- #
12463
- # resp.to_h outputs the following:
12464
- # {
12465
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12466
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
12467
- # }
12468
- #
12469
12492
  # @example Example: To upload object and specify user-defined metadata
12470
12493
  #
12471
12494
  # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
@@ -12523,60 +12546,77 @@ module Aws::S3
12523
12546
  # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
12524
12547
  # }
12525
12548
  #
12526
- # @example Example: To upload an object and specify server-side encryption and object tags
12549
+ # @example Example: To upload an object and specify canned ACL.
12527
12550
  #
12528
- # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
12529
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
12551
+ # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
12552
+ # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
12530
12553
  #
12531
12554
  # resp = client.put_object({
12555
+ # acl: "authenticated-read",
12532
12556
  # body: "filetoupload",
12533
12557
  # bucket: "examplebucket",
12534
12558
  # key: "exampleobject",
12535
- # server_side_encryption: "AES256",
12536
- # tagging: "key1=value1&key2=value2",
12537
12559
  # })
12538
12560
  #
12539
12561
  # resp.to_h outputs the following:
12540
12562
  # {
12541
12563
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12542
- # server_side_encryption: "AES256",
12543
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
12564
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
12544
12565
  # }
12545
12566
  #
12546
- # @example Example: To upload an object and specify optional tags
12567
+ # @example Example: To upload an object
12547
12568
  #
12548
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
12549
- # # S3 returns version ID of the newly created object.
12569
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
12570
+ # # syntax. S3 returns VersionId of the newly created object.
12550
12571
  #
12551
12572
  # resp = client.put_object({
12552
- # body: "c:\\HappyFace.jpg",
12573
+ # body: "HappyFace.jpg",
12553
12574
  # bucket: "examplebucket",
12554
12575
  # key: "HappyFace.jpg",
12555
- # tagging: "key1=value1&key2=value2",
12556
12576
  # })
12557
12577
  #
12558
12578
  # resp.to_h outputs the following:
12559
12579
  # {
12560
12580
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12561
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
12581
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
12562
12582
  # }
12563
12583
  #
12564
- # @example Example: To upload an object and specify canned ACL.
12584
+ # @example Example: To upload an object and specify server-side encryption and object tags
12565
12585
  #
12566
- # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
12567
- # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
12586
+ # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
12587
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
12568
12588
  #
12569
12589
  # resp = client.put_object({
12570
- # acl: "authenticated-read",
12571
12590
  # body: "filetoupload",
12572
12591
  # bucket: "examplebucket",
12573
12592
  # key: "exampleobject",
12593
+ # server_side_encryption: "AES256",
12594
+ # tagging: "key1=value1&key2=value2",
12574
12595
  # })
12575
12596
  #
12576
12597
  # resp.to_h outputs the following:
12577
12598
  # {
12578
12599
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12579
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
12600
+ # server_side_encryption: "AES256",
12601
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
12602
+ # }
12603
+ #
12604
+ # @example Example: To upload an object and specify optional tags
12605
+ #
12606
+ # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
12607
+ # # S3 returns version ID of the newly created object.
12608
+ #
12609
+ # resp = client.put_object({
12610
+ # body: "c:\\HappyFace.jpg",
12611
+ # bucket: "examplebucket",
12612
+ # key: "HappyFace.jpg",
12613
+ # tagging: "key1=value1&key2=value2",
12614
+ # })
12615
+ #
12616
+ # resp.to_h outputs the following:
12617
+ # {
12618
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12619
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
12580
12620
  # }
12581
12621
  #
12582
12622
  # @example Streaming a file from disk
@@ -12922,7 +12962,7 @@ module Aws::S3
12922
12962
  # When you use this action with S3 on Outposts through the Amazon Web
12923
12963
  # Services SDKs, you provide the Outposts access point ARN in place of
12924
12964
  # the bucket name. For more information about S3 on Outposts ARNs, see
12925
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
12965
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
12926
12966
  #
12927
12967
  #
12928
12968
  #
@@ -13426,7 +13466,7 @@ module Aws::S3
13426
13466
  # When you use this action with S3 on Outposts through the Amazon Web
13427
13467
  # Services SDKs, you provide the Outposts access point ARN in place of
13428
13468
  # the bucket name. For more information about S3 on Outposts ARNs, see
13429
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
13469
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
13430
13470
  #
13431
13471
  #
13432
13472
  #
@@ -13725,19 +13765,20 @@ module Aws::S3
13725
13765
  #
13726
13766
  # Restoring objects
13727
13767
  #
13728
- # : Objects that you archive to the S3 Glacier Flexible Retrieval or S3
13729
- # Glacier Deep Archive storage class, and S3 Intelligent-Tiering
13730
- # Archive or S3 Intelligent-Tiering Deep Archive tiers, are not
13731
- # accessible in real time. For objects in the S3 Glacier Flexible
13732
- # Retrieval or S3 Glacier Deep Archive storage classes, you must first
13733
- # initiate a restore request, and then wait until a temporary copy of
13734
- # the object is available. If you want a permanent copy of the object,
13735
- # create a copy of it in the Amazon S3 Standard storage class in your
13736
- # S3 bucket. To access an archived object, you must restore the object
13737
- # for the duration (number of days) that you specify. For objects in
13738
- # the Archive Access or Deep Archive Access tiers of S3
13739
- # Intelligent-Tiering, you must first initiate a restore request, and
13740
- # then wait until the object is moved into the Frequent Access tier.
13768
+ # : Objects that you archive to the S3 Glacier Flexible Retrieval
13769
+ # Flexible Retrieval or S3 Glacier Deep Archive storage class, and S3
13770
+ # Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive
13771
+ # tiers, are not accessible in real time. For objects in the S3
13772
+ # Glacier Flexible Retrieval Flexible Retrieval or S3 Glacier Deep
13773
+ # Archive storage classes, you must first initiate a restore request,
13774
+ # and then wait until a temporary copy of the object is available. If
13775
+ # you want a permanent copy of the object, create a copy of it in the
13776
+ # Amazon S3 Standard storage class in your S3 bucket. To access an
13777
+ # archived object, you must restore the object for the duration
13778
+ # (number of days) that you specify. For objects in the Archive Access
13779
+ # or Deep Archive Access tiers of S3 Intelligent-Tiering, you must
13780
+ # first initiate a restore request, and then wait until the object is
13781
+ # moved into the Frequent Access tier.
13741
13782
  #
13742
13783
  # To restore a specific object version, you can provide a version ID.
13743
13784
  # If you don't provide a version ID, Amazon S3 restores the current
@@ -13748,37 +13789,38 @@ module Aws::S3
13748
13789
  # request body:
13749
13790
  #
13750
13791
  # * `Expedited` - Expedited retrievals allow you to quickly access
13751
- # your data stored in the S3 Glacier Flexible Retrieval storage
13752
- # class or S3 Intelligent-Tiering Archive tier when occasional
13753
- # urgent requests for restoring archives are required. For all but
13754
- # the largest archived objects (250 MB+), data accessed using
13755
- # Expedited retrievals is typically made available within 1–5
13756
- # minutes. Provisioned capacity ensures that retrieval capacity for
13757
- # Expedited retrievals is available when you need it. Expedited
13758
- # retrievals and provisioned capacity are not available for objects
13759
- # stored in the S3 Glacier Deep Archive storage class or S3
13760
- # Intelligent-Tiering Deep Archive tier.
13792
+ # your data stored in the S3 Glacier Flexible Retrieval Flexible
13793
+ # Retrieval storage class or S3 Intelligent-Tiering Archive tier
13794
+ # when occasional urgent requests for restoring archives are
13795
+ # required. For all but the largest archived objects (250 MB+), data
13796
+ # accessed using Expedited retrievals is typically made available
13797
+ # within 1–5 minutes. Provisioned capacity ensures that retrieval
13798
+ # capacity for Expedited retrievals is available when you need it.
13799
+ # Expedited retrievals and provisioned capacity are not available
13800
+ # for objects stored in the S3 Glacier Deep Archive storage class or
13801
+ # S3 Intelligent-Tiering Deep Archive tier.
13761
13802
  #
13762
13803
  # * `Standard` - Standard retrievals allow you to access any of your
13763
13804
  # archived objects within several hours. This is the default option
13764
13805
  # for retrieval requests that do not specify the retrieval option.
13765
13806
  # Standard retrievals typically finish within 3–5 hours for objects
13766
- # stored in the S3 Glacier Flexible Retrieval storage class or S3
13767
- # Intelligent-Tiering Archive tier. They typically finish within 12
13768
- # hours for objects stored in the S3 Glacier Deep Archive storage
13769
- # class or S3 Intelligent-Tiering Deep Archive tier. Standard
13770
- # retrievals are free for objects stored in S3 Intelligent-Tiering.
13807
+ # stored in the S3 Glacier Flexible Retrieval Flexible Retrieval
13808
+ # storage class or S3 Intelligent-Tiering Archive tier. They
13809
+ # typically finish within 12 hours for objects stored in the S3
13810
+ # Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep
13811
+ # Archive tier. Standard retrievals are free for objects stored in
13812
+ # S3 Intelligent-Tiering.
13771
13813
  #
13772
13814
  # * `Bulk` - Bulk retrievals free for objects stored in the S3 Glacier
13773
13815
  # Flexible Retrieval and S3 Intelligent-Tiering storage classes,
13774
13816
  # enabling you to retrieve large amounts, even petabytes, of data at
13775
13817
  # no cost. Bulk retrievals typically finish within 5–12 hours for
13776
- # objects stored in the S3 Glacier Flexible Retrieval storage class
13777
- # or S3 Intelligent-Tiering Archive tier. Bulk retrievals are also
13778
- # the lowest-cost retrieval option when restoring objects from S3
13779
- # Glacier Deep Archive. They typically finish within 48 hours for
13780
- # objects stored in the S3 Glacier Deep Archive storage class or S3
13781
- # Intelligent-Tiering Deep Archive tier.
13818
+ # objects stored in the S3 Glacier Flexible Retrieval Flexible
13819
+ # Retrieval storage class or S3 Intelligent-Tiering Archive tier.
13820
+ # Bulk retrievals are also the lowest-cost retrieval option when
13821
+ # restoring objects from S3 Glacier Deep Archive. They typically
13822
+ # finish within 48 hours for objects stored in the S3 Glacier Deep
13823
+ # Archive storage class or S3 Intelligent-Tiering Deep Archive tier.
13782
13824
  #
13783
13825
  # For more information about archive retrieval options and provisioned
13784
13826
  # capacity for `Expedited` data access, see [Restoring Archived
@@ -13886,7 +13928,7 @@ module Aws::S3
13886
13928
  # When you use this action with S3 on Outposts through the Amazon Web
13887
13929
  # Services SDKs, you provide the Outposts access point ARN in place of
13888
13930
  # the bucket name. For more information about S3 on Outposts ARNs, see
13889
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
13931
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
13890
13932
  #
13891
13933
  #
13892
13934
  #
@@ -14139,10 +14181,14 @@ module Aws::S3
14139
14181
  # the request parameters), you cannot specify the range of bytes of
14140
14182
  # an object to return.
14141
14183
  #
14142
- # * GLACIER, DEEP\_ARCHIVE and REDUCED\_REDUNDANCY storage classes:
14143
- # You cannot specify the GLACIER, DEEP\_ARCHIVE, or
14144
- # `REDUCED_REDUNDANCY` storage classes. For more information, about
14145
- # storage classes see [Storage Classes][9] in the *Amazon S3 User
14184
+ # * The `GLACIER`, `DEEP_ARCHIVE`, and `REDUCED_REDUNDANCY` storage
14185
+ # classes, or the `ARCHIVE_ACCESS` and `DEEP_ARCHIVE_ACCESS` access
14186
+ # tiers of the `INTELLIGENT_TIERING` storage class: You cannot query
14187
+ # objects in the `GLACIER`, `DEEP_ARCHIVE`, or `REDUCED_REDUNDANCY`
14188
+ # storage classes, nor objects in the `ARCHIVE_ACCESS` or
14189
+ # `DEEP_ARCHIVE_ACCESS` access tiers of the `INTELLIGENT_TIERING`
14190
+ # storage class. For more information about storage classes, see
14191
+ # [Using Amazon S3 storage classes][9] in the *Amazon S3 User
14146
14192
  # Guide*.
14147
14193
  #
14148
14194
  # Special Errors
@@ -14168,7 +14214,7 @@ module Aws::S3
14168
14214
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
14169
14215
  # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html
14170
14216
  # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange
14171
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#storage-class-intro
14217
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html
14172
14218
  # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList
14173
14219
  # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
14174
14220
  # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
@@ -14616,7 +14662,7 @@ module Aws::S3
14616
14662
  # When you use this action with S3 on Outposts through the Amazon Web
14617
14663
  # Services SDKs, you provide the Outposts access point ARN in place of
14618
14664
  # the bucket name. For more information about S3 on Outposts ARNs, see
14619
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
14665
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
14620
14666
  #
14621
14667
  #
14622
14668
  #
@@ -14965,7 +15011,7 @@ module Aws::S3
14965
15011
  # When you use this action with S3 on Outposts through the Amazon Web
14966
15012
  # Services SDKs, you provide the Outposts access point ARN in place of
14967
15013
  # the bucket name. For more information about S3 on Outposts ARNs, see
14968
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
15014
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
14969
15015
  #
14970
15016
  #
14971
15017
  #
@@ -15115,45 +15161,45 @@ module Aws::S3
15115
15161
  # * {Types::UploadPartCopyOutput#request_charged #request_charged} => String
15116
15162
  #
15117
15163
  #
15118
- # @example Example: To upload a part by copying byte range from an existing object as data source
15164
+ # @example Example: To upload a part by copying data from an existing object as data source
15119
15165
  #
15120
- # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
15121
- # # data source.
15166
+ # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
15122
15167
  #
15123
15168
  # resp = client.upload_part_copy({
15124
15169
  # bucket: "examplebucket",
15125
15170
  # copy_source: "/bucketname/sourceobjectkey",
15126
- # copy_source_range: "bytes=1-100000",
15127
15171
  # key: "examplelargeobject",
15128
- # part_number: 2,
15172
+ # part_number: 1,
15129
15173
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
15130
15174
  # })
15131
15175
  #
15132
15176
  # resp.to_h outputs the following:
15133
15177
  # {
15134
15178
  # copy_part_result: {
15135
- # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
15136
- # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
15179
+ # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
15180
+ # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
15137
15181
  # },
15138
15182
  # }
15139
15183
  #
15140
- # @example Example: To upload a part by copying data from an existing object as data source
15184
+ # @example Example: To upload a part by copying byte range from an existing object as data source
15141
15185
  #
15142
- # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
15186
+ # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
15187
+ # # data source.
15143
15188
  #
15144
15189
  # resp = client.upload_part_copy({
15145
15190
  # bucket: "examplebucket",
15146
15191
  # copy_source: "/bucketname/sourceobjectkey",
15192
+ # copy_source_range: "bytes=1-100000",
15147
15193
  # key: "examplelargeobject",
15148
- # part_number: 1,
15194
+ # part_number: 2,
15149
15195
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
15150
15196
  # })
15151
15197
  #
15152
15198
  # resp.to_h outputs the following:
15153
15199
  # {
15154
15200
  # copy_part_result: {
15155
- # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
15156
- # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
15201
+ # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
15202
+ # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
15157
15203
  # },
15158
15204
  # }
15159
15205
  #
@@ -15601,7 +15647,7 @@ module Aws::S3
15601
15647
  params: params,
15602
15648
  config: config)
15603
15649
  context[:gem_name] = 'aws-sdk-s3'
15604
- context[:gem_version] = '1.124.0'
15650
+ context[:gem_version] = '1.128.0'
15605
15651
  Seahorse::Client::Request.new(handlers, context)
15606
15652
  end
15607
15653