aws-sdk-s3 1.125.0 → 1.126.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.
@@ -963,11 +963,12 @@ module Aws::S3
963
963
  #
964
964
  # Metadata
965
965
  #
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].
966
+ # : When copying an object, you can preserve all metadata (the default)
967
+ # or specify new metadata. However, the access control list (ACL) is
968
+ # not preserved and is set to private for the user making the request.
969
+ # To override the default ACL setting, specify a new ACL when
970
+ # generating a copy request. For more information, see [Using
971
+ # ACLs][5].
971
972
  #
972
973
  # To specify whether you want the object metadata copied from the
973
974
  # source object or replaced with metadata provided in the request, you
@@ -1032,25 +1033,26 @@ module Aws::S3
1032
1033
  # of encryption configuration that uses server-side encryption with
1033
1034
  # Amazon S3 managed keys (SSE-S3). If the destination bucket has a
1034
1035
  # 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.
1036
+ # with Key Management Service (KMS) keys (SSE-KMS), dual-layer
1037
+ # server-side encryption with Amazon Web Services KMS keys (DSSE-KMS),
1038
+ # or server-side encryption with customer-provided encryption keys
1039
+ # (SSE-C), Amazon S3 uses the corresponding KMS key, or a
1040
+ # customer-provided key to encrypt the target object copy.
1039
1041
  #
1040
- # When you perform a CopyObject operation, if you want to use a
1042
+ # When you perform a `CopyObject` operation, if you want to use a
1041
1043
  # different type of encryption setting for the target object, you can
1042
1044
  # use other appropriate encryption-related headers to encrypt the
1043
1045
  # target object with a KMS key, an Amazon S3 managed key, or a
1044
1046
  # 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].
1047
+ # encrypts your data as it writes your data to disks in its data
1048
+ # centers and decrypts the data when you access it. If the encryption
1049
+ # setting in your request is different from the default encryption
1050
+ # configuration of the destination bucket, the encryption setting in
1051
+ # your request takes precedence. If the source object for the copy is
1052
+ # stored in Amazon S3 using SSE-C, you must provide the necessary
1053
+ # encryption information in your request so that Amazon S3 can decrypt
1054
+ # the object for copying. For more information about server-side
1055
+ # encryption, see [Using Server-Side Encryption][8].
1054
1056
  #
1055
1057
  # If a target object uses SSE-KMS, you can enable an S3 Bucket Key for
1056
1058
  # the object. For more information, see [Amazon S3 Bucket Keys][9] in
@@ -1062,16 +1064,16 @@ module Aws::S3
1062
1064
  # ACL-based permissions. By default, all objects are private. Only the
1063
1065
  # owner has full access control. When adding a new object, you can
1064
1066
  # 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].
1067
+ # predefined groups that are defined by Amazon S3. These permissions
1068
+ # are then added to the ACL on the object. For more information, see
1069
+ # [Access Control List (ACL) Overview][10] and [Managing ACLs Using
1070
+ # the REST API][11].
1069
1071
  #
1070
1072
  # If the bucket that you're copying objects to uses the bucket owner
1071
1073
  # enforced setting for S3 Object Ownership, ACLs are disabled and no
1072
1074
  # 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
1075
+ # `PUT` requests that don't specify an ACL or `PUT` requests that
1076
+ # specify bucket owner full control ACLs, such as the
1075
1077
  # `bucket-owner-full-control` canned ACL or an equivalent form of this
1076
1078
  # ACL expressed in the XML format.
1077
1079
  #
@@ -1088,13 +1090,13 @@ module Aws::S3
1088
1090
  #
1089
1091
  # : When copying an object, if it has a checksum, that checksum will be
1090
1092
  # copied to the new object by default. When you copy the object over,
1091
- # you may optionally specify a different checksum algorithm to use
1093
+ # you can optionally specify a different checksum algorithm to use
1092
1094
  # with the `x-amz-checksum-algorithm` header.
1093
1095
  #
1094
1096
  # Storage Class Options
1095
1097
  #
1096
1098
  # : You can use the `CopyObject` action to change the storage class of
1097
- # an object that is already stored in Amazon S3 using the
1099
+ # an object that is already stored in Amazon S3 by using the
1098
1100
  # `StorageClass` parameter. For more information, see [Storage
1099
1101
  # Classes][13] in the *Amazon S3 User Guide*.
1100
1102
  #
@@ -1105,10 +1107,10 @@ module Aws::S3
1105
1107
  #
1106
1108
  # Versioning
1107
1109
  #
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.
1110
+ # : By default, `x-amz-copy-source` header identifies the current
1111
+ # version of an object to copy. If the current version is a delete
1112
+ # marker, Amazon S3 behaves as if the object was deleted. To copy a
1113
+ # different version, use the `versionId` subresource.
1112
1114
  #
1113
1115
  # If you enable versioning on the target bucket, Amazon S3 generates a
1114
1116
  # unique version ID for the object being copied. This version ID is
@@ -1302,7 +1304,7 @@ module Aws::S3
1302
1304
  #
1303
1305
  # @option params [String] :server_side_encryption
1304
1306
  # The server-side encryption algorithm used when storing this object in
1305
- # Amazon S3 (for example, AES256, `aws:kms`).
1307
+ # Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
1306
1308
  #
1307
1309
  # @option params [String] :storage_class
1308
1310
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
@@ -1341,13 +1343,12 @@ module Aws::S3
1341
1343
  # ensure that the encryption key was transmitted without error.
1342
1344
  #
1343
1345
  # @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*.
1346
+ # Specifies the KMS key ID to use for object encryption. All GET and PUT
1347
+ # requests for an object protected by KMS will fail if they're not made
1348
+ # via SSL or using SigV4. For information about configuring any of the
1349
+ # officially supported Amazon Web Services SDKs and Amazon Web Services
1350
+ # CLI, see [Specifying the Signature Version in Request
1351
+ # Authentication][1] in the *Amazon S3 User Guide*.
1351
1352
  #
1352
1353
  #
1353
1354
  #
@@ -1360,9 +1361,9 @@ module Aws::S3
1360
1361
  #
1361
1362
  # @option params [Boolean] :bucket_key_enabled
1362
1363
  # 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.
1364
+ # encryption with server-side encryption using Key Management Service
1365
+ # (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
1366
+ # to use an S3 Bucket Key for object encryption with SSE-KMS.
1366
1367
  #
1367
1368
  # Specifying this header with a COPY action doesn’t affect bucket-level
1368
1369
  # settings for S3 Bucket Key.
@@ -1545,8 +1546,8 @@ module Aws::S3
1545
1546
  # (Ireland) Region. For more information, see [Accessing a bucket][3].
1546
1547
  #
1547
1548
  # <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
1549
+ # endpoint, the request goes to the `us-east-1` Region. Accordingly, the
1550
+ # signature calculations in Signature Version 4 must use `us-east-1` as
1550
1551
  # the Region, even if the location constraint in the request specifies
1551
1552
  # another Region where the bucket is to be created. If you create a
1552
1553
  # bucket in a Region other than US East (N. Virginia), your application
@@ -1555,108 +1556,62 @@ module Aws::S3
1555
1556
  #
1556
1557
  # </note>
1557
1558
  #
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
1559
  # Permissions
1634
1560
  #
1635
1561
  # : In addition to `s3:CreateBucket`, the following permissions are
1636
- # required when your CreateBucket includes specific headers:
1562
+ # required when your `CreateBucket` request includes specific headers:
1637
1563
  #
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.
1564
+ # * **Access control lists (ACLs)** - If your `CreateBucket` request
1565
+ # specifies access control list (ACL) permissions and the ACL is
1566
+ # public-read, public-read-write, authenticated-read, or if you
1567
+ # specify access permissions explicitly through any other ACL, both
1568
+ # `s3:CreateBucket` and `s3:PutBucketAcl` permissions are needed. If
1569
+ # the ACL for the `CreateBucket` request is private or if the
1570
+ # request doesn't specify any ACLs, only `s3:CreateBucket`
1571
+ # permission is needed.
1645
1572
  #
1646
1573
  # * **Object Lock** - If `ObjectLockEnabledForBucket` is set to true
1647
1574
  # in your `CreateBucket` request,
1648
1575
  # `s3:PutBucketObjectLockConfiguration` and `s3:PutBucketVersioning`
1649
1576
  # permissions are required.
1650
1577
  #
1651
- # * **S3 Object Ownership** - If your CreateBucket request includes
1652
- # the `x-amz-object-ownership` header,
1653
- # `s3:PutBucketOwnershipControls` permission is required.
1578
+ # * **S3 Object Ownership** - If your `CreateBucket` request includes
1579
+ # the `x-amz-object-ownership` header, then the
1580
+ # `s3:PutBucketOwnershipControls` permission is required. By
1581
+ # default, `ObjectOwnership` is set to `BucketOWnerEnforced` and
1582
+ # ACLs are disabled. We recommend keeping ACLs disabled, except in
1583
+ # uncommon use cases where you must control access for each object
1584
+ # individually. If you want to change the `ObjectOwnership` setting,
1585
+ # you can use the `x-amz-object-ownership` header in your
1586
+ # `CreateBucket` request to set the `ObjectOwnership` setting of
1587
+ # your choice. For more information about S3 Object Ownership, see
1588
+ # [Controlling object ownership ][5] in the *Amazon S3 User Guide*.
1589
+ #
1590
+ # * **S3 Block Public Access** - If your specific use case requires
1591
+ # granting public access to your S3 resources, you can disable Block
1592
+ # Public Access. You can create a new bucket with Block Public
1593
+ # Access enabled, then separately call the [
1594
+ # `DeletePublicAccessBlock` ][6] API. To use this operation, you
1595
+ # must have the `s3:PutBucketPublicAccessBlock` permission. By
1596
+ # default, all Block Public Access settings are enabled for new
1597
+ # buckets. To avoid inadvertent exposure of your resources, we
1598
+ # recommend keeping the S3 Block Public Access settings enabled. For
1599
+ # more information about S3 Block Public Access, see [Blocking
1600
+ # public access to your Amazon S3 storage ][5] in the *Amazon S3
1601
+ # User Guide*.
1602
+ #
1603
+ # If your `CreateBucket` request sets `BucketOwnerEnforced` for Amazon
1604
+ # S3 Object Ownership and specifies a bucket ACL that provides access to
1605
+ # an external Amazon Web Services account, your request fails with a
1606
+ # `400` error and returns the `InvalidBucketAcLWithObjectOwnership`
1607
+ # error code. For more information, see [Setting Object Ownership on an
1608
+ # existing bucket ][7] in the *Amazon S3 User Guide*.
1654
1609
  #
1655
1610
  # The following operations are related to `CreateBucket`:
1656
1611
  #
1657
- # * [PutObject][9]
1612
+ # * [PutObject][8]
1658
1613
  #
1659
- # * [DeleteBucket][10]
1614
+ # * [DeleteBucket][9]
1660
1615
  #
1661
1616
  #
1662
1617
  #
@@ -1665,11 +1620,10 @@ module Aws::S3
1665
1620
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro
1666
1621
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html
1667
1622
  # [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
1623
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html
1624
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-existing-bucket.html
1625
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
1626
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
1673
1627
  #
1674
1628
  # @option params [String] :acl
1675
1629
  # The canned ACL to apply to the bucket.
@@ -1726,33 +1680,33 @@ module Aws::S3
1726
1680
  # * {Types::CreateBucketOutput#location #location} => String
1727
1681
  #
1728
1682
  #
1729
- # @example Example: To create a bucket in a specific region
1683
+ # @example Example: To create a bucket
1730
1684
  #
1731
- # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1685
+ # # The following example creates a bucket.
1732
1686
  #
1733
1687
  # resp = client.create_bucket({
1734
1688
  # bucket: "examplebucket",
1735
- # create_bucket_configuration: {
1736
- # location_constraint: "eu-west-1",
1737
- # },
1738
1689
  # })
1739
1690
  #
1740
1691
  # resp.to_h outputs the following:
1741
1692
  # {
1742
- # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1693
+ # location: "/examplebucket",
1743
1694
  # }
1744
1695
  #
1745
- # @example Example: To create a bucket
1696
+ # @example Example: To create a bucket in a specific region
1746
1697
  #
1747
- # # The following example creates a bucket.
1698
+ # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1748
1699
  #
1749
1700
  # resp = client.create_bucket({
1750
1701
  # bucket: "examplebucket",
1702
+ # create_bucket_configuration: {
1703
+ # location_constraint: "eu-west-1",
1704
+ # },
1751
1705
  # })
1752
1706
  #
1753
1707
  # resp.to_h outputs the following:
1754
1708
  # {
1755
- # location: "/examplebucket",
1709
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1756
1710
  # }
1757
1711
  #
1758
1712
  # @example Request syntax with placeholder values
@@ -2128,7 +2082,7 @@ module Aws::S3
2128
2082
  #
2129
2083
  # @option params [String] :server_side_encryption
2130
2084
  # The server-side encryption algorithm used when storing this object in
2131
- # Amazon S3 (for example, AES256, `aws:kms`).
2085
+ # Amazon S3 (for example, `AES256`, `aws:kms`).
2132
2086
  #
2133
2087
  # @option params [String] :storage_class
2134
2088
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
@@ -2166,11 +2120,11 @@ module Aws::S3
2166
2120
  # @option params [String] :ssekms_key_id
2167
2121
  # Specifies the ID of the symmetric encryption customer managed key to
2168
2122
  # 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*.
2123
+ # protected by KMS will fail if they're not made via SSL or using
2124
+ # SigV4. For information about configuring any of the officially
2125
+ # supported Amazon Web Services SDKs and Amazon Web Services CLI, see
2126
+ # [Specifying the Signature Version in Request Authentication][1] in the
2127
+ # *Amazon S3 User Guide*.
2174
2128
  #
2175
2129
  #
2176
2130
  #
@@ -2183,9 +2137,9 @@ module Aws::S3
2183
2137
  #
2184
2138
  # @option params [Boolean] :bucket_key_enabled
2185
2139
  # 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.
2140
+ # encryption with server-side encryption using Key Management Service
2141
+ # (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
2142
+ # to use an S3 Bucket Key for object encryption with SSE-KMS.
2189
2143
  #
2190
2144
  # Specifying this header with an object action doesn’t affect
2191
2145
  # bucket-level settings for S3 Bucket Key.
@@ -2446,7 +2400,7 @@ module Aws::S3
2446
2400
  # For information about `cors`, see [Enabling Cross-Origin Resource
2447
2401
  # Sharing][1] in the *Amazon S3 User Guide*.
2448
2402
  #
2449
- # The following operations are related to `DeleteBucketCors`:
2403
+ # **Related Resources**
2450
2404
  #
2451
2405
  # * [PutBucketCors][2]
2452
2406
  #
@@ -3204,15 +3158,6 @@ module Aws::S3
3204
3158
  # * {Types::DeleteObjectOutput#request_charged #request_charged} => String
3205
3159
  #
3206
3160
  #
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
3161
  # @example Example: To delete an object
3217
3162
  #
3218
3163
  # # The following example deletes an object from an S3 bucket.
@@ -3226,6 +3171,15 @@ module Aws::S3
3226
3171
  # {
3227
3172
  # }
3228
3173
  #
3174
+ # @example Example: To delete an object (from a non-versioned bucket)
3175
+ #
3176
+ # # The following example deletes an object from a non-versioned bucket.
3177
+ #
3178
+ # resp = client.delete_object({
3179
+ # bucket: "ExampleBucket",
3180
+ # key: "HappyFace.jpg",
3181
+ # })
3182
+ #
3229
3183
  # @example Request syntax with placeholder values
3230
3184
  #
3231
3185
  # resp = client.delete_object({
@@ -3317,35 +3271,35 @@ module Aws::S3
3317
3271
  # * {Types::DeleteObjectTaggingOutput#version_id #version_id} => String
3318
3272
  #
3319
3273
  #
3320
- # @example Example: To remove tag set from an object
3274
+ # @example Example: To remove tag set from an object version
3321
3275
  #
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.
3276
+ # # The following example removes tag set associated with the specified object version. The request specifies both the
3277
+ # # object key and object version.
3324
3278
  #
3325
3279
  # resp = client.delete_object_tagging({
3326
3280
  # bucket: "examplebucket",
3327
3281
  # key: "HappyFace.jpg",
3282
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3328
3283
  # })
3329
3284
  #
3330
3285
  # resp.to_h outputs the following:
3331
3286
  # {
3332
- # version_id: "null",
3287
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3333
3288
  # }
3334
3289
  #
3335
- # @example Example: To remove tag set from an object version
3290
+ # @example Example: To remove tag set from an object
3336
3291
  #
3337
- # # The following example removes tag set associated with the specified object version. The request specifies both the
3338
- # # object key and object version.
3292
+ # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
3293
+ # # operation removes tag set from the latest object version.
3339
3294
  #
3340
3295
  # resp = client.delete_object_tagging({
3341
3296
  # bucket: "examplebucket",
3342
3297
  # key: "HappyFace.jpg",
3343
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3344
3298
  # })
3345
3299
  #
3346
3300
  # resp.to_h outputs the following:
3347
3301
  # {
3348
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3302
+ # version_id: "null",
3349
3303
  # }
3350
3304
  #
3351
3305
  # @example Request syntax with placeholder values
@@ -3720,20 +3674,34 @@ module Aws::S3
3720
3674
  # a different account, the request fails with the HTTP status code `403
3721
3675
  # Forbidden` (access denied).
3722
3676
  #
3677
+ # @option params [String] :request_payer
3678
+ # Confirms that the requester knows that they will be charged for the
3679
+ # request. Bucket owners need not specify this parameter in their
3680
+ # requests. For information about downloading objects from Requester
3681
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
3682
+ # in the *Amazon S3 User Guide*.
3683
+ #
3684
+ #
3685
+ #
3686
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
3687
+ #
3723
3688
  # @return [Types::GetBucketAccelerateConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3724
3689
  #
3725
3690
  # * {Types::GetBucketAccelerateConfigurationOutput#status #status} => String
3691
+ # * {Types::GetBucketAccelerateConfigurationOutput#request_charged #request_charged} => String
3726
3692
  #
3727
3693
  # @example Request syntax with placeholder values
3728
3694
  #
3729
3695
  # resp = client.get_bucket_accelerate_configuration({
3730
3696
  # bucket: "BucketName", # required
3731
3697
  # expected_bucket_owner: "AccountId",
3698
+ # request_payer: "requester", # accepts requester
3732
3699
  # })
3733
3700
  #
3734
3701
  # @example Response structure
3735
3702
  #
3736
3703
  # resp.status #=> String, one of "Enabled", "Suspended"
3704
+ # resp.request_charged #=> String, one of "requester"
3737
3705
  #
3738
3706
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration AWS API Documentation
3739
3707
  #
@@ -5639,30 +5607,32 @@ module Aws::S3
5639
5607
  # For more information about returning the ACL of an object, see
5640
5608
  # [GetObjectAcl][2].
5641
5609
  #
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].
5610
+ # If the object you are retrieving is stored in the S3 Glacier Flexible
5611
+ # Retrieval or S3 Glacier Deep Archive storage class, or S3
5612
+ # Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive
5613
+ # tiers, before you can retrieve the object you must first restore a
5614
+ # copy using [RestoreObject][3]. Otherwise, this action returns an
5615
+ # `InvalidObjectState` error. For information about restoring archived
5616
+ # objects, see [Restoring Archived Objects][4].
5649
5617
  #
5650
5618
  # Encryption request headers, like `x-amz-server-side-encryption`,
5651
5619
  # 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.
5620
+ # encryption with Key Management Service (KMS) keys (SSE-KMS),
5621
+ # dual-layer server-side encryption with Amazon Web Services KMS keys
5622
+ # (DSSE-KMS), or server-side encryption with Amazon S3 managed
5623
+ # encryption keys (SSE-S3). If your object does use these types of keys,
5624
+ # you’ll get an HTTP 400 Bad Request error.
5655
5625
  #
5656
5626
  # If you encrypt an object by using server-side encryption with
5657
5627
  # customer-provided encryption keys (SSE-C) when you store the object in
5658
5628
  # Amazon S3, then when you GET the object, you must use the following
5659
5629
  # headers:
5660
5630
  #
5661
- # * x-amz-server-side-encryption-customer-algorithm
5631
+ # * `x-amz-server-side-encryption-customer-algorithm`
5662
5632
  #
5663
- # * x-amz-server-side-encryption-customer-key
5633
+ # * `x-amz-server-side-encryption-customer-key`
5664
5634
  #
5665
- # * x-amz-server-side-encryption-customer-key-MD5
5635
+ # * `x-amz-server-side-encryption-customer-key-MD5`
5666
5636
  #
5667
5637
  # For more information about SSE-C, see [Server-Side Encryption (Using
5668
5638
  # Customer-Provided Encryption Keys)][5].
@@ -5677,20 +5647,21 @@ module Aws::S3
5677
5647
  #
5678
5648
  # : You need the relevant read object (or version) permission for this
5679
5649
  # 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
5650
+ # Policy][7]. If the object that you request doesn’t exist, the error
5651
+ # that Amazon S3 returns depends on whether you also have the
5682
5652
  # `s3:ListBucket` permission.
5683
5653
  #
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.
5654
+ # If you have the `s3:ListBucket` permission on the bucket, Amazon S3
5655
+ # returns an HTTP status code 404 (Not Found) error.
5686
5656
  #
5687
- # * If you don’t have the `s3:ListBucket` permission, Amazon S3 will
5688
- # return an HTTP status code 403 ("access denied") error.
5657
+ # If you don’t have the `s3:ListBucket` permission, Amazon S3 returns
5658
+ # an HTTP status code 403 ("access denied") error.
5689
5659
  #
5690
5660
  # Versioning
5691
5661
  #
5692
- # : By default, the GET action returns the current version of an object.
5693
- # To return a different version, use the `versionId` subresource.
5662
+ # : By default, the `GET` action returns the current version of an
5663
+ # object. To return a different version, use the `versionId`
5664
+ # subresource.
5694
5665
  #
5695
5666
  # <note markdown="1"> * If you supply a `versionId`, you need the `s3:GetObjectVersion`
5696
5667
  # permission to access a specific version of an object. If you
@@ -5710,18 +5681,18 @@ module Aws::S3
5710
5681
  # Overriding Response Header Values
5711
5682
  #
5712
5683
  # : 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.
5684
+ # values in a `GET` response. For example, you might override the
5685
+ # `Content-Disposition` response header value in your `GET` request.
5715
5686
  #
5716
5687
  # You can override values for a set of response headers using the
5717
5688
  # following query parameters. These response header values are sent
5718
5689
  # only on a successful request, that is, when status code 200 OK is
5719
5690
  # returned. The set of headers you can override using these parameters
5720
5691
  # 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
5692
+ # object. The response headers that you can override for the `GET`
5722
5693
  # response are `Content-Type`, `Content-Language`, `Expires`,
5723
5694
  # `Cache-Control`, `Content-Disposition`, and `Content-Encoding`. To
5724
- # override these header values in the GET response, you use the
5695
+ # override these header values in the `GET` response, you use the
5725
5696
  # following request parameters.
5726
5697
  #
5727
5698
  # <note markdown="1"> You must sign the request, either using an Authorization header or a
@@ -6821,49 +6792,49 @@ module Aws::S3
6821
6792
  # * {Types::GetObjectTaggingOutput#tag_set #tag_set} => Array&lt;Types::Tag&gt;
6822
6793
  #
6823
6794
  #
6824
- # @example Example: To retrieve tag set of a specific object version
6795
+ # @example Example: To retrieve tag set of an object
6825
6796
  #
6826
- # # The following example retrieves tag set of an object. The request specifies object version.
6797
+ # # The following example retrieves tag set of an object.
6827
6798
  #
6828
6799
  # resp = client.get_object_tagging({
6829
6800
  # bucket: "examplebucket",
6830
- # key: "exampleobject",
6831
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6801
+ # key: "HappyFace.jpg",
6832
6802
  # })
6833
6803
  #
6834
6804
  # resp.to_h outputs the following:
6835
6805
  # {
6836
6806
  # tag_set: [
6837
6807
  # {
6838
- # key: "Key1",
6839
- # value: "Value1",
6808
+ # key: "Key4",
6809
+ # value: "Value4",
6810
+ # },
6811
+ # {
6812
+ # key: "Key3",
6813
+ # value: "Value3",
6840
6814
  # },
6841
6815
  # ],
6842
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6816
+ # version_id: "null",
6843
6817
  # }
6844
6818
  #
6845
- # @example Example: To retrieve tag set of an object
6819
+ # @example Example: To retrieve tag set of a specific object version
6846
6820
  #
6847
- # # The following example retrieves tag set of an object.
6821
+ # # The following example retrieves tag set of an object. The request specifies object version.
6848
6822
  #
6849
6823
  # resp = client.get_object_tagging({
6850
6824
  # bucket: "examplebucket",
6851
- # key: "HappyFace.jpg",
6825
+ # key: "exampleobject",
6826
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6852
6827
  # })
6853
6828
  #
6854
6829
  # resp.to_h outputs the following:
6855
6830
  # {
6856
6831
  # tag_set: [
6857
6832
  # {
6858
- # key: "Key4",
6859
- # value: "Value4",
6860
- # },
6861
- # {
6862
- # key: "Key3",
6863
- # value: "Value3",
6833
+ # key: "Key1",
6834
+ # value: "Value1",
6864
6835
  # },
6865
6836
  # ],
6866
- # version_id: "null",
6837
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6867
6838
  # }
6868
6839
  #
6869
6840
  # @example Request syntax with placeholder values
@@ -7165,9 +7136,9 @@ module Aws::S3
7165
7136
  req.send_request(options)
7166
7137
  end
7167
7138
 
7168
- # The HEAD action retrieves metadata from an object without returning
7139
+ # The `HEAD` action retrieves metadata from an object without returning
7169
7140
  # 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
7141
+ # an object's metadata. To use `HEAD`, you must have READ access to the
7171
7142
  # object.
7172
7143
  #
7173
7144
  # A `HEAD` request has the same options as a `GET` action on an object.
@@ -7182,20 +7153,22 @@ module Aws::S3
7182
7153
  # Amazon S3, then when you retrieve the metadata from the object, you
7183
7154
  # must use the following headers:
7184
7155
  #
7185
- # * x-amz-server-side-encryption-customer-algorithm
7156
+ # * `x-amz-server-side-encryption-customer-algorithm`
7186
7157
  #
7187
- # * x-amz-server-side-encryption-customer-key
7158
+ # * `x-amz-server-side-encryption-customer-key`
7188
7159
  #
7189
- # * x-amz-server-side-encryption-customer-key-MD5
7160
+ # * `x-amz-server-side-encryption-customer-key-MD5`
7190
7161
  #
7191
7162
  # For more information about SSE-C, see [Server-Side Encryption (Using
7192
7163
  # Customer-Provided Encryption Keys)][1].
7193
7164
  #
7194
7165
  # <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.
7166
+ # should not be sent for `GET` requests if your object uses
7167
+ # server-side encryption with Key Management Service (KMS) keys
7168
+ # (SSE-KMS), dual-layer server-side encryption with Amazon Web
7169
+ # Services KMS keys (DSSE-KMS), or server-side encryption with Amazon
7170
+ # S3 managed encryption keys (SSE-S3). If your object does use these
7171
+ # types of keys, you’ll get an HTTP 400 Bad Request error.
7199
7172
  #
7200
7173
  # * The last modified property in this case is the creation date of the
7201
7174
  # object.
@@ -7231,15 +7204,15 @@ module Aws::S3
7231
7204
  #
7232
7205
  # : You need the relevant read object (or version) permission for this
7233
7206
  # 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.
7207
+ # condition keys for Amazon S3][4]. If the object you request doesn't
7208
+ # exist, the error that Amazon S3 returns depends on whether you also
7209
+ # have the s3:ListBucket permission.
7237
7210
  #
7238
7211
  # * If you have the `s3:ListBucket` permission on the bucket, Amazon
7239
- # S3 returns an HTTP status code 404 ("no such key") error.
7212
+ # S3 returns an HTTP status code 404 error.
7240
7213
  #
7241
7214
  # * If you don’t have the `s3:ListBucket` permission, Amazon S3
7242
- # returns an HTTP status code 403 ("access denied") error.
7215
+ # returns an HTTP status code 403 error.
7243
7216
  #
7244
7217
  # The following actions are related to `HeadObject`:
7245
7218
  #
@@ -8061,6 +8034,17 @@ module Aws::S3
8061
8034
  # a different account, the request fails with the HTTP status code `403
8062
8035
  # Forbidden` (access denied).
8063
8036
  #
8037
+ # @option params [String] :request_payer
8038
+ # Confirms that the requester knows that they will be charged for the
8039
+ # request. Bucket owners need not specify this parameter in their
8040
+ # requests. For information about downloading objects from Requester
8041
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
8042
+ # in the *Amazon S3 User Guide*.
8043
+ #
8044
+ #
8045
+ #
8046
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
8047
+ #
8064
8048
  # @return [Types::ListMultipartUploadsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8065
8049
  #
8066
8050
  # * {Types::ListMultipartUploadsOutput#bucket #bucket} => String
@@ -8075,101 +8059,102 @@ module Aws::S3
8075
8059
  # * {Types::ListMultipartUploadsOutput#uploads #uploads} => Array&lt;Types::MultipartUpload&gt;
8076
8060
  # * {Types::ListMultipartUploadsOutput#common_prefixes #common_prefixes} => Array&lt;Types::CommonPrefix&gt;
8077
8061
  # * {Types::ListMultipartUploadsOutput#encoding_type #encoding_type} => String
8062
+ # * {Types::ListMultipartUploadsOutput#request_charged #request_charged} => String
8078
8063
  #
8079
8064
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8080
8065
  #
8081
8066
  #
8082
- # @example Example: To list in-progress multipart uploads on a bucket
8067
+ # @example Example: List next set of multipart uploads when previous result is truncated
8083
8068
  #
8084
- # # The following example lists in-progress multipart uploads on a specific bucket.
8069
+ # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
8070
+ # # setup of multipart uploads.
8085
8071
  #
8086
8072
  # resp = client.list_multipart_uploads({
8087
8073
  # bucket: "examplebucket",
8074
+ # key_marker: "nextkeyfrompreviousresponse",
8075
+ # max_uploads: 2,
8076
+ # upload_id_marker: "valuefrompreviousresponse",
8088
8077
  # })
8089
8078
  #
8090
8079
  # resp.to_h outputs the following:
8091
8080
  # {
8081
+ # bucket: "acl1",
8082
+ # is_truncated: true,
8083
+ # key_marker: "",
8084
+ # max_uploads: 2,
8085
+ # next_key_marker: "someobjectkey",
8086
+ # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
8087
+ # upload_id_marker: "",
8092
8088
  # uploads: [
8093
8089
  # {
8094
8090
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
8095
8091
  # initiator: {
8096
- # display_name: "display-name",
8092
+ # display_name: "ownder-display-name",
8097
8093
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
8098
8094
  # },
8099
8095
  # key: "JavaFile",
8100
8096
  # owner: {
8101
- # display_name: "display-name",
8102
- # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
8097
+ # display_name: "mohanataws",
8098
+ # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
8103
8099
  # },
8104
8100
  # storage_class: "STANDARD",
8105
- # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
8101
+ # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
8106
8102
  # },
8107
8103
  # {
8108
8104
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
8109
8105
  # initiator: {
8110
- # display_name: "display-name",
8106
+ # display_name: "ownder-display-name",
8111
8107
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
8112
8108
  # },
8113
8109
  # key: "JavaFile",
8114
8110
  # owner: {
8115
- # display_name: "display-name",
8111
+ # display_name: "ownder-display-name",
8116
8112
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
8117
8113
  # },
8118
8114
  # storage_class: "STANDARD",
8119
- # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
8115
+ # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
8120
8116
  # },
8121
8117
  # ],
8122
8118
  # }
8123
8119
  #
8124
- # @example Example: List next set of multipart uploads when previous result is truncated
8120
+ # @example Example: To list in-progress multipart uploads on a bucket
8125
8121
  #
8126
- # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
8127
- # # setup of multipart uploads.
8122
+ # # The following example lists in-progress multipart uploads on a specific bucket.
8128
8123
  #
8129
8124
  # resp = client.list_multipart_uploads({
8130
8125
  # bucket: "examplebucket",
8131
- # key_marker: "nextkeyfrompreviousresponse",
8132
- # max_uploads: 2,
8133
- # upload_id_marker: "valuefrompreviousresponse",
8134
8126
  # })
8135
8127
  #
8136
8128
  # resp.to_h outputs the following:
8137
8129
  # {
8138
- # bucket: "acl1",
8139
- # is_truncated: true,
8140
- # key_marker: "",
8141
- # max_uploads: 2,
8142
- # next_key_marker: "someobjectkey",
8143
- # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
8144
- # upload_id_marker: "",
8145
8130
  # uploads: [
8146
8131
  # {
8147
8132
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
8148
8133
  # initiator: {
8149
- # display_name: "ownder-display-name",
8134
+ # display_name: "display-name",
8150
8135
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
8151
8136
  # },
8152
8137
  # key: "JavaFile",
8153
8138
  # owner: {
8154
- # display_name: "mohanataws",
8155
- # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
8139
+ # display_name: "display-name",
8140
+ # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
8156
8141
  # },
8157
8142
  # storage_class: "STANDARD",
8158
- # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
8143
+ # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
8159
8144
  # },
8160
8145
  # {
8161
8146
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
8162
8147
  # initiator: {
8163
- # display_name: "ownder-display-name",
8148
+ # display_name: "display-name",
8164
8149
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
8165
8150
  # },
8166
8151
  # key: "JavaFile",
8167
8152
  # owner: {
8168
- # display_name: "ownder-display-name",
8153
+ # display_name: "display-name",
8169
8154
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
8170
8155
  # },
8171
8156
  # storage_class: "STANDARD",
8172
- # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
8157
+ # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
8173
8158
  # },
8174
8159
  # ],
8175
8160
  # }
@@ -8185,6 +8170,7 @@ module Aws::S3
8185
8170
  # prefix: "Prefix",
8186
8171
  # upload_id_marker: "UploadIdMarker",
8187
8172
  # expected_bucket_owner: "AccountId",
8173
+ # request_payer: "requester", # accepts requester
8188
8174
  # })
8189
8175
  #
8190
8176
  # @example Response structure
@@ -8211,6 +8197,7 @@ module Aws::S3
8211
8197
  # resp.common_prefixes #=> Array
8212
8198
  # resp.common_prefixes[0].prefix #=> String
8213
8199
  # resp.encoding_type #=> String, one of "url"
8200
+ # resp.request_charged #=> String, one of "requester"
8214
8201
  #
8215
8202
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads AWS API Documentation
8216
8203
  #
@@ -8301,6 +8288,17 @@ module Aws::S3
8301
8288
  # a different account, the request fails with the HTTP status code `403
8302
8289
  # Forbidden` (access denied).
8303
8290
  #
8291
+ # @option params [String] :request_payer
8292
+ # Confirms that the requester knows that they will be charged for the
8293
+ # request. Bucket owners need not specify this parameter in their
8294
+ # requests. For information about downloading objects from Requester
8295
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
8296
+ # in the *Amazon S3 User Guide*.
8297
+ #
8298
+ #
8299
+ #
8300
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
8301
+ #
8304
8302
  # @return [Types::ListObjectVersionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8305
8303
  #
8306
8304
  # * {Types::ListObjectVersionsOutput#is_truncated #is_truncated} => Boolean
@@ -8316,6 +8314,7 @@ module Aws::S3
8316
8314
  # * {Types::ListObjectVersionsOutput#max_keys #max_keys} => Integer
8317
8315
  # * {Types::ListObjectVersionsOutput#common_prefixes #common_prefixes} => Array&lt;Types::CommonPrefix&gt;
8318
8316
  # * {Types::ListObjectVersionsOutput#encoding_type #encoding_type} => String
8317
+ # * {Types::ListObjectVersionsOutput#request_charged #request_charged} => String
8319
8318
  #
8320
8319
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8321
8320
  #
@@ -8374,6 +8373,7 @@ module Aws::S3
8374
8373
  # prefix: "Prefix",
8375
8374
  # version_id_marker: "VersionIdMarker",
8376
8375
  # expected_bucket_owner: "AccountId",
8376
+ # request_payer: "requester", # accepts requester
8377
8377
  # })
8378
8378
  #
8379
8379
  # @example Response structure
@@ -8409,6 +8409,7 @@ module Aws::S3
8409
8409
  # resp.common_prefixes #=> Array
8410
8410
  # resp.common_prefixes[0].prefix #=> String
8411
8411
  # resp.encoding_type #=> String, one of "url"
8412
+ # resp.request_charged #=> String, one of "requester"
8412
8413
  #
8413
8414
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions AWS API Documentation
8414
8415
  #
@@ -8520,6 +8521,7 @@ module Aws::S3
8520
8521
  # * {Types::ListObjectsOutput#max_keys #max_keys} => Integer
8521
8522
  # * {Types::ListObjectsOutput#common_prefixes #common_prefixes} => Array&lt;Types::CommonPrefix&gt;
8522
8523
  # * {Types::ListObjectsOutput#encoding_type #encoding_type} => String
8524
+ # * {Types::ListObjectsOutput#request_charged #request_charged} => String
8523
8525
  #
8524
8526
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8525
8527
  #
@@ -8597,6 +8599,7 @@ module Aws::S3
8597
8599
  # resp.common_prefixes #=> Array
8598
8600
  # resp.common_prefixes[0].prefix #=> String
8599
8601
  # resp.encoding_type #=> String, one of "url"
8602
+ # resp.request_charged #=> String, one of "requester"
8600
8603
  #
8601
8604
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects AWS API Documentation
8602
8605
  #
@@ -8729,6 +8732,7 @@ module Aws::S3
8729
8732
  # * {Types::ListObjectsV2Output#continuation_token #continuation_token} => String
8730
8733
  # * {Types::ListObjectsV2Output#next_continuation_token #next_continuation_token} => String
8731
8734
  # * {Types::ListObjectsV2Output#start_after #start_after} => String
8735
+ # * {Types::ListObjectsV2Output#request_charged #request_charged} => String
8732
8736
  #
8733
8737
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8734
8738
  #
@@ -8808,6 +8812,7 @@ module Aws::S3
8808
8812
  # resp.continuation_token #=> String
8809
8813
  # resp.next_continuation_token #=> String
8810
8814
  # resp.start_after #=> String
8815
+ # resp.request_charged #=> String, one of "requester"
8811
8816
  #
8812
8817
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2 AWS API Documentation
8813
8818
  #
@@ -9187,7 +9192,8 @@ module Aws::S3
9187
9192
  #
9188
9193
  # Permissions
9189
9194
  #
9190
- # : You can set access permissions using one of the following methods:
9195
+ # : You can set access permissions by using one of the following
9196
+ # methods:
9191
9197
  #
9192
9198
  # * Specify a canned ACL with the `x-amz-acl` request header. Amazon
9193
9199
  # S3 supports a set of predefined ACLs, known as *canned ACLs*. Each
@@ -9760,19 +9766,20 @@ module Aws::S3
9760
9766
  # By default, all buckets have a default encryption configuration that
9761
9767
  # uses server-side encryption with Amazon S3 managed keys (SSE-S3). You
9762
9768
  # 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*.
9769
+ # server-side encryption with Key Management Service (KMS) keys
9770
+ # (SSE-KMS), dual-layer server-side encryption with Amazon Web Services
9771
+ # KMS keys (DSSE-KMS), or server-side encryption with customer-provided
9772
+ # keys (SSE-C). If you specify default encryption by using SSE-KMS, you
9773
+ # can also configure Amazon S3 Bucket Keys. For information about bucket
9774
+ # default encryption, see [Amazon S3 bucket default encryption][1] in
9775
+ # the *Amazon S3 User Guide*. For more information about S3 Bucket Keys,
9776
+ # see [Amazon S3 Bucket Keys][2] in the *Amazon S3 User Guide*.
9770
9777
  #
9771
9778
  # This action requires Amazon Web Services Signature Version 4. For more
9772
9779
  # information, see [ Authenticating Requests (Amazon Web Services
9773
9780
  # Signature Version 4)][3].
9774
9781
  #
9775
- # To use this operation, you must have permissions to perform the
9782
+ # To use this operation, you must have permission to perform the
9776
9783
  # `s3:PutEncryptionConfiguration` action. The bucket owner has this
9777
9784
  # permission by default. The bucket owner can grant this permission to
9778
9785
  # others. For more information about permissions, see [Permissions
@@ -10314,11 +10321,11 @@ module Aws::S3
10314
10321
  # 1,000 rules. This limit is not adjustable. Each rule consists of the
10315
10322
  # following:
10316
10323
  #
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.
10324
+ # * A filter identifying a subset of objects to which the rule
10325
+ # applies. The filter can be based on a key name prefix, object
10326
+ # tags, or a combination of both.
10320
10327
  #
10321
- # * Status whether the rule is in effect.
10328
+ # * A status indicating whether the rule is in effect.
10322
10329
  #
10323
10330
  # * One or more lifecycle transition and expiration actions that you
10324
10331
  # want Amazon S3 to perform on the objects identified by the filter.
@@ -10342,7 +10349,7 @@ module Aws::S3
10342
10349
  # operation, a user must get the `s3:PutLifecycleConfiguration`
10343
10350
  # permission.
10344
10351
  #
10345
- # You can also explicitly deny permissions. Explicit deny also
10352
+ # You can also explicitly deny permissions. An explicit deny also
10346
10353
  # supersedes any other permissions. If you want to block users or
10347
10354
  # accounts from removing or deleting objects from your bucket, you
10348
10355
  # must deny them permissions for the following actions:
@@ -10525,7 +10532,7 @@ module Aws::S3
10525
10532
  # Grantee Values
10526
10533
  #
10527
10534
  # : You can specify the person (grantee) to whom you're assigning
10528
- # access rights (using request elements) in the following ways:
10535
+ # access rights (by using request elements) in the following ways:
10529
10536
  #
10530
10537
  # * By the person's ID:
10531
10538
  #
@@ -10533,23 +10540,23 @@ module Aws::S3
10533
10540
  # xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName>
10534
10541
  # </Grantee>`
10535
10542
  #
10536
- # DisplayName is optional and ignored in the request.
10543
+ # `DisplayName` is optional and ignored in the request.
10537
10544
  #
10538
10545
  # * By Email address:
10539
10546
  #
10540
10547
  # ` <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10541
10548
  # xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress></Grantee>`
10542
10549
  #
10543
- # The grantee is resolved to the CanonicalUser and, in a response to
10544
- # a GET Object acl request, appears as the CanonicalUser.
10550
+ # The grantee is resolved to the `CanonicalUser` and, in a response
10551
+ # to a `GETObjectAcl` request, appears as the CanonicalUser.
10545
10552
  #
10546
10553
  # * By URI:
10547
10554
  #
10548
10555
  # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10549
10556
  # xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>`
10550
10557
  #
10551
- # To enable logging, you use LoggingEnabled and its children request
10552
- # elements. To disable logging, you use an empty BucketLoggingStatus
10558
+ # To enable logging, you use `LoggingEnabled` and its children request
10559
+ # elements. To disable logging, you use an empty `BucketLoggingStatus`
10553
10560
  # request element:
10554
10561
  #
10555
10562
  # `<BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/2006-03-01"
@@ -10704,7 +10711,7 @@ module Aws::S3
10704
10711
  #
10705
10712
  # * [ListBucketMetricsConfigurations][6]
10706
10713
  #
10707
- # `GetBucketLifecycle` has the following special error:
10714
+ # `PutBucketMetricsConfiguration` has the following special error:
10708
10715
  #
10709
10716
  # * Error code: `TooManyConfigurations`
10710
10717
  #
@@ -10899,7 +10906,7 @@ module Aws::S3
10899
10906
  #
10900
10907
  # By default, only the bucket owner can configure notifications on a
10901
10908
  # bucket. However, bucket owners can use a bucket policy to grant
10902
- # permission to other users to set this configuration with
10909
+ # permission to other users to set this configuration with the required
10903
10910
  # `s3:PutBucketNotification` permission.
10904
10911
  #
10905
10912
  # <note markdown="1"> The PUT notification is an atomic operation. For example, suppose your
@@ -12041,15 +12048,15 @@ module Aws::S3
12041
12048
  #
12042
12049
  # </note>
12043
12050
  #
12044
- # You have three mutually exclusive options to protect data using
12051
+ # You have four mutually exclusive options to protect data using
12045
12052
  # server-side encryption in Amazon S3, depending on how you choose to
12046
12053
  # manage the encryption keys. Specifically, the encryption key options
12047
12054
  # 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].
12055
+ # (SSE-KMS or DSSE-KMS), and customer-provided keys (SSE-C). Amazon S3
12056
+ # encrypts data with server-side encryption by using Amazon S3 managed
12057
+ # keys (SSE-S3) by default. You can optionally tell Amazon S3 to encrypt
12058
+ # data at rest by using server-side encryption with other key options.
12059
+ # For more information, see [Using Server-Side Encryption][3].
12053
12060
  #
12054
12061
  # When adding a new object, you can use headers to grant ACL-based
12055
12062
  # permissions to individual Amazon Web Services accounts or to
@@ -12312,7 +12319,7 @@ module Aws::S3
12312
12319
  #
12313
12320
  # @option params [String] :server_side_encryption
12314
12321
  # The server-side encryption algorithm used when storing this object in
12315
- # Amazon S3 (for example, AES256, `aws:kms`).
12322
+ # Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
12316
12323
  #
12317
12324
  # @option params [String] :storage_class
12318
12325
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
@@ -12369,15 +12376,15 @@ module Aws::S3
12369
12376
  # ensure that the encryption key was transmitted without error.
12370
12377
  #
12371
12378
  # @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`
12379
+ # If `x-amz-server-side-encryption` has a valid value of `aws:kms` or
12380
+ # `aws:kms:dsse`, this header specifies the ID of the Key Management
12381
+ # Service (KMS) symmetric encryption customer managed key that was used
12382
+ # for the object. If you specify `x-amz-server-side-encryption:aws:kms`
12383
+ # or `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide`
12377
12384
  # 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.
12385
+ # Amazon Web Services managed key (`aws/s3`) to protect the data. If the
12386
+ # KMS key does not exist in the same account that's issuing the
12387
+ # command, you must use the full ARN and not just the ID.
12381
12388
  #
12382
12389
  # @option params [String] :ssekms_encryption_context
12383
12390
  # Specifies the Amazon Web Services KMS Encryption Context to use for
@@ -12389,9 +12396,9 @@ module Aws::S3
12389
12396
  #
12390
12397
  # @option params [Boolean] :bucket_key_enabled
12391
12398
  # 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.
12399
+ # encryption with server-side encryption using Key Management Service
12400
+ # (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
12401
+ # to use an S3 Bucket Key for object encryption with SSE-KMS.
12395
12402
  #
12396
12403
  # Specifying this header with a PUT action doesn’t affect bucket-level
12397
12404
  # settings for S3 Bucket Key.
@@ -12449,62 +12456,40 @@ module Aws::S3
12449
12456
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
12450
12457
  #
12451
12458
  #
12452
- # @example Example: To upload an object
12459
+ # @example Example: To upload an object and specify optional tags
12453
12460
  #
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.
12461
+ # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
12462
+ # # S3 returns version ID of the newly created object.
12456
12463
  #
12457
12464
  # resp = client.put_object({
12458
- # body: "HappyFace.jpg",
12465
+ # body: "c:\\HappyFace.jpg",
12459
12466
  # bucket: "examplebucket",
12460
12467
  # key: "HappyFace.jpg",
12468
+ # tagging: "key1=value1&key2=value2",
12461
12469
  # })
12462
12470
  #
12463
12471
  # resp.to_h outputs the following:
12464
12472
  # {
12465
12473
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12466
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
12474
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
12467
12475
  # }
12468
12476
  #
12469
- # @example Example: To upload object and specify user-defined metadata
12477
+ # @example Example: To upload an object and specify canned ACL.
12470
12478
  #
12471
- # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
12472
- # # enabled, S3 returns version ID in response.
12479
+ # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
12480
+ # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
12473
12481
  #
12474
12482
  # resp = client.put_object({
12483
+ # acl: "authenticated-read",
12475
12484
  # body: "filetoupload",
12476
12485
  # bucket: "examplebucket",
12477
12486
  # key: "exampleobject",
12478
- # metadata: {
12479
- # "metadata1" => "value1",
12480
- # "metadata2" => "value2",
12481
- # },
12482
- # })
12483
- #
12484
- # resp.to_h outputs the following:
12485
- # {
12486
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12487
- # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
12488
- # }
12489
- #
12490
- # @example Example: To upload an object (specify optional headers)
12491
- #
12492
- # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
12493
- # # storage class and use server-side encryption.
12494
- #
12495
- # resp = client.put_object({
12496
- # body: "HappyFace.jpg",
12497
- # bucket: "examplebucket",
12498
- # key: "HappyFace.jpg",
12499
- # server_side_encryption: "AES256",
12500
- # storage_class: "STANDARD_IA",
12501
12487
  # })
12502
12488
  #
12503
12489
  # resp.to_h outputs the following:
12504
12490
  # {
12505
12491
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12506
- # server_side_encryption: "AES256",
12507
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
12492
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
12508
12493
  # }
12509
12494
  #
12510
12495
  # @example Example: To create an object.
@@ -12543,40 +12528,62 @@ module Aws::S3
12543
12528
  # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
12544
12529
  # }
12545
12530
  #
12546
- # @example Example: To upload an object and specify optional tags
12531
+ # @example Example: To upload object and specify user-defined metadata
12547
12532
  #
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.
12533
+ # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
12534
+ # # enabled, S3 returns version ID in response.
12550
12535
  #
12551
12536
  # resp = client.put_object({
12552
- # body: "c:\\HappyFace.jpg",
12537
+ # body: "filetoupload",
12538
+ # bucket: "examplebucket",
12539
+ # key: "exampleobject",
12540
+ # metadata: {
12541
+ # "metadata1" => "value1",
12542
+ # "metadata2" => "value2",
12543
+ # },
12544
+ # })
12545
+ #
12546
+ # resp.to_h outputs the following:
12547
+ # {
12548
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12549
+ # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
12550
+ # }
12551
+ #
12552
+ # @example Example: To upload an object
12553
+ #
12554
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
12555
+ # # syntax. S3 returns VersionId of the newly created object.
12556
+ #
12557
+ # resp = client.put_object({
12558
+ # body: "HappyFace.jpg",
12553
12559
  # bucket: "examplebucket",
12554
12560
  # key: "HappyFace.jpg",
12555
- # tagging: "key1=value1&key2=value2",
12556
12561
  # })
12557
12562
  #
12558
12563
  # resp.to_h outputs the following:
12559
12564
  # {
12560
12565
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12561
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
12566
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
12562
12567
  # }
12563
12568
  #
12564
- # @example Example: To upload an object and specify canned ACL.
12569
+ # @example Example: To upload an object (specify optional headers)
12565
12570
  #
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.
12571
+ # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
12572
+ # # storage class and use server-side encryption.
12568
12573
  #
12569
12574
  # resp = client.put_object({
12570
- # acl: "authenticated-read",
12571
- # body: "filetoupload",
12575
+ # body: "HappyFace.jpg",
12572
12576
  # bucket: "examplebucket",
12573
- # key: "exampleobject",
12577
+ # key: "HappyFace.jpg",
12578
+ # server_side_encryption: "AES256",
12579
+ # storage_class: "STANDARD_IA",
12574
12580
  # })
12575
12581
  #
12576
12582
  # resp.to_h outputs the following:
12577
12583
  # {
12578
12584
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12579
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
12585
+ # server_side_encryption: "AES256",
12586
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
12580
12587
  # }
12581
12588
  #
12582
12589
  # @example Streaming a file from disk
@@ -13725,19 +13732,20 @@ module Aws::S3
13725
13732
  #
13726
13733
  # Restoring objects
13727
13734
  #
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.
13735
+ # : Objects that you archive to the S3 Glacier Flexible Retrieval
13736
+ # Flexible Retrieval or S3 Glacier Deep Archive storage class, and S3
13737
+ # Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive
13738
+ # tiers, are not accessible in real time. For objects in the S3
13739
+ # Glacier Flexible Retrieval Flexible Retrieval or S3 Glacier Deep
13740
+ # Archive storage classes, you must first initiate a restore request,
13741
+ # and then wait until a temporary copy of the object is available. If
13742
+ # you want a permanent copy of the object, create a copy of it in the
13743
+ # Amazon S3 Standard storage class in your S3 bucket. To access an
13744
+ # archived object, you must restore the object for the duration
13745
+ # (number of days) that you specify. For objects in the Archive Access
13746
+ # or Deep Archive Access tiers of S3 Intelligent-Tiering, you must
13747
+ # first initiate a restore request, and then wait until the object is
13748
+ # moved into the Frequent Access tier.
13741
13749
  #
13742
13750
  # To restore a specific object version, you can provide a version ID.
13743
13751
  # If you don't provide a version ID, Amazon S3 restores the current
@@ -13748,37 +13756,38 @@ module Aws::S3
13748
13756
  # request body:
13749
13757
  #
13750
13758
  # * `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.
13759
+ # your data stored in the S3 Glacier Flexible Retrieval Flexible
13760
+ # Retrieval storage class or S3 Intelligent-Tiering Archive tier
13761
+ # when occasional urgent requests for restoring archives are
13762
+ # required. For all but the largest archived objects (250 MB+), data
13763
+ # accessed using Expedited retrievals is typically made available
13764
+ # within 1–5 minutes. Provisioned capacity ensures that retrieval
13765
+ # capacity for Expedited retrievals is available when you need it.
13766
+ # Expedited retrievals and provisioned capacity are not available
13767
+ # for objects stored in the S3 Glacier Deep Archive storage class or
13768
+ # S3 Intelligent-Tiering Deep Archive tier.
13761
13769
  #
13762
13770
  # * `Standard` - Standard retrievals allow you to access any of your
13763
13771
  # archived objects within several hours. This is the default option
13764
13772
  # for retrieval requests that do not specify the retrieval option.
13765
13773
  # 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.
13774
+ # stored in the S3 Glacier Flexible Retrieval Flexible Retrieval
13775
+ # storage class or S3 Intelligent-Tiering Archive tier. They
13776
+ # typically finish within 12 hours for objects stored in the S3
13777
+ # Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep
13778
+ # Archive tier. Standard retrievals are free for objects stored in
13779
+ # S3 Intelligent-Tiering.
13771
13780
  #
13772
13781
  # * `Bulk` - Bulk retrievals free for objects stored in the S3 Glacier
13773
13782
  # Flexible Retrieval and S3 Intelligent-Tiering storage classes,
13774
13783
  # enabling you to retrieve large amounts, even petabytes, of data at
13775
13784
  # 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.
13785
+ # objects stored in the S3 Glacier Flexible Retrieval Flexible
13786
+ # Retrieval storage class or S3 Intelligent-Tiering Archive tier.
13787
+ # Bulk retrievals are also the lowest-cost retrieval option when
13788
+ # restoring objects from S3 Glacier Deep Archive. They typically
13789
+ # finish within 48 hours for objects stored in the S3 Glacier Deep
13790
+ # Archive storage class or S3 Intelligent-Tiering Deep Archive tier.
13782
13791
  #
13783
13792
  # For more information about archive retrieval options and provisioned
13784
13793
  # capacity for `Expedited` data access, see [Restoring Archived
@@ -14139,10 +14148,14 @@ module Aws::S3
14139
14148
  # the request parameters), you cannot specify the range of bytes of
14140
14149
  # an object to return.
14141
14150
  #
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
14151
+ # * The `GLACIER`, `DEEP_ARCHIVE`, and `REDUCED_REDUNDANCY` storage
14152
+ # classes, or the `ARCHIVE_ACCESS` and `DEEP_ARCHIVE_ACCESS` access
14153
+ # tiers of the `INTELLIGENT_TIERING` storage class: You cannot query
14154
+ # objects in the `GLACIER`, `DEEP_ARCHIVE`, or `REDUCED_REDUNDANCY`
14155
+ # storage classes, nor objects in the `ARCHIVE_ACCESS` or
14156
+ # `DEEP_ARCHIVE_ACCESS` access tiers of the `INTELLIGENT_TIERING`
14157
+ # storage class. For more information about storage classes, see
14158
+ # [Using Amazon S3 storage classes][9] in the *Amazon S3 User
14146
14159
  # Guide*.
14147
14160
  #
14148
14161
  # Special Errors
@@ -14168,7 +14181,7 @@ module Aws::S3
14168
14181
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
14169
14182
  # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html
14170
14183
  # [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
14184
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html
14172
14185
  # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList
14173
14186
  # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
14174
14187
  # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
@@ -15601,7 +15614,7 @@ module Aws::S3
15601
15614
  params: params,
15602
15615
  config: config)
15603
15616
  context[:gem_name] = 'aws-sdk-s3'
15604
- context[:gem_version] = '1.125.0'
15617
+ context[:gem_version] = '1.126.0'
15605
15618
  Seahorse::Client::Request.new(handlers, context)
15606
15619
  end
15607
15620