aws-sdk-s3 1.124.0 → 1.126.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.124.0'
15617
+ context[:gem_version] = '1.126.0'
15605
15618
  Seahorse::Client::Request.new(handlers, context)
15606
15619
  end
15607
15620