aws-sdk-s3 1.123.1 → 1.132.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -28,6 +28,7 @@ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
31
32
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
33
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
34
  require 'aws-sdk-core/plugins/sign.rb'
@@ -96,6 +97,7 @@ module Aws::S3
96
97
  add_plugin(Aws::Plugins::TransferEncoding)
97
98
  add_plugin(Aws::Plugins::HttpChecksum)
98
99
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
100
+ add_plugin(Aws::Plugins::RequestCompression)
99
101
  add_plugin(Aws::Plugins::DefaultsMode)
100
102
  add_plugin(Aws::Plugins::RecursionDetection)
101
103
  add_plugin(Aws::Plugins::Sign)
@@ -235,6 +237,10 @@ module Aws::S3
235
237
  # Set to true to disable SDK automatically adding host prefix
236
238
  # to default service endpoint when available.
237
239
  #
240
+ # @option options [Boolean] :disable_request_compression (false)
241
+ # When set to 'true' the request body will not be compressed
242
+ # for supported operations.
243
+ #
238
244
  # @option options [String] :endpoint
239
245
  # The client endpoint is normally constructed from the `:region`
240
246
  # option. You should only configure an `:endpoint` when connecting
@@ -266,6 +272,10 @@ module Aws::S3
266
272
  # When set to `true`, the bucket name is always left in the
267
273
  # request URI and never moved to the host as a sub-domain.
268
274
  #
275
+ # @option options [Boolean] :ignore_configured_endpoint_urls
276
+ # Setting to true disables use of endpoint URLs provided via environment
277
+ # variables and the shared configuration file.
278
+ #
269
279
  # @option options [Proc] :input_event_stream_handler
270
280
  # When an EventStream or Proc object is provided, it can be used for sending events for the event stream.
271
281
  #
@@ -292,6 +302,11 @@ module Aws::S3
292
302
  # Used when loading credentials from the shared credentials file
293
303
  # at HOME/.aws/credentials. When not specified, 'default' is used.
294
304
  #
305
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
306
+ # The minimum size in bytes that triggers compression for request
307
+ # bodies. The value must be non-negative integer value between 0
308
+ # and 10485780 bytes inclusive.
309
+ #
295
310
  # @option options [Boolean] :require_https_for_sse_cpk (true)
296
311
  # When `true`, the endpoint **must** be HTTPS for all operations
297
312
  # where server-side-encryption is used with customer-provided keys.
@@ -513,7 +528,7 @@ module Aws::S3
513
528
  # When you use this action with S3 on Outposts through the Amazon Web
514
529
  # Services SDKs, you provide the Outposts access point ARN in place of
515
530
  # the bucket name. For more information about S3 on Outposts ARNs, see
516
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
531
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
517
532
  #
518
533
  #
519
534
  #
@@ -702,7 +717,7 @@ module Aws::S3
702
717
  # When you use this action with S3 on Outposts through the Amazon Web
703
718
  # Services SDKs, you provide the Outposts access point ARN in place of
704
719
  # the bucket name. For more information about S3 on Outposts ARNs, see
705
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
720
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
706
721
  #
707
722
  #
708
723
  #
@@ -896,7 +911,7 @@ module Aws::S3
896
911
  # resp.checksum_crc32c #=> String
897
912
  # resp.checksum_sha1 #=> String
898
913
  # resp.checksum_sha256 #=> String
899
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
914
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
900
915
  # resp.version_id #=> String
901
916
  # resp.ssekms_key_id #=> String
902
917
  # resp.bucket_key_enabled #=> Boolean
@@ -953,8 +968,10 @@ module Aws::S3
953
968
  # </note>
954
969
  #
955
970
  # The copy request charge is based on the storage class and Region that
956
- # you specify for the destination object. For pricing information, see
957
- # [Amazon S3 pricing][3].
971
+ # you specify for the destination object. The request can also result in
972
+ # a data retrieval charge for the source if the source storage class
973
+ # bills for data retrieval. For pricing information, see [Amazon S3
974
+ # pricing][3].
958
975
  #
959
976
  # Amazon S3 transfer acceleration does not support cross-Region copies.
960
977
  # If you request a cross-Region copy using a transfer acceleration
@@ -963,11 +980,12 @@ module Aws::S3
963
980
  #
964
981
  # Metadata
965
982
  #
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].
983
+ # : When copying an object, you can preserve all metadata (the default)
984
+ # or specify new metadata. However, the access control list (ACL) is
985
+ # not preserved and is set to private for the user making the request.
986
+ # To override the default ACL setting, specify a new ACL when
987
+ # generating a copy request. For more information, see [Using
988
+ # ACLs][5].
971
989
  #
972
990
  # To specify whether you want the object metadata copied from the
973
991
  # source object or replaced with metadata provided in the request, you
@@ -1032,25 +1050,26 @@ module Aws::S3
1032
1050
  # of encryption configuration that uses server-side encryption with
1033
1051
  # Amazon S3 managed keys (SSE-S3). If the destination bucket has a
1034
1052
  # 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.
1053
+ # with Key Management Service (KMS) keys (SSE-KMS), dual-layer
1054
+ # server-side encryption with Amazon Web Services KMS keys (DSSE-KMS),
1055
+ # or server-side encryption with customer-provided encryption keys
1056
+ # (SSE-C), Amazon S3 uses the corresponding KMS key, or a
1057
+ # customer-provided key to encrypt the target object copy.
1039
1058
  #
1040
- # When you perform a CopyObject operation, if you want to use a
1059
+ # When you perform a `CopyObject` operation, if you want to use a
1041
1060
  # different type of encryption setting for the target object, you can
1042
1061
  # use other appropriate encryption-related headers to encrypt the
1043
1062
  # target object with a KMS key, an Amazon S3 managed key, or a
1044
1063
  # 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].
1064
+ # encrypts your data as it writes your data to disks in its data
1065
+ # centers and decrypts the data when you access it. If the encryption
1066
+ # setting in your request is different from the default encryption
1067
+ # configuration of the destination bucket, the encryption setting in
1068
+ # your request takes precedence. If the source object for the copy is
1069
+ # stored in Amazon S3 using SSE-C, you must provide the necessary
1070
+ # encryption information in your request so that Amazon S3 can decrypt
1071
+ # the object for copying. For more information about server-side
1072
+ # encryption, see [Using Server-Side Encryption][8].
1054
1073
  #
1055
1074
  # If a target object uses SSE-KMS, you can enable an S3 Bucket Key for
1056
1075
  # the object. For more information, see [Amazon S3 Bucket Keys][9] in
@@ -1062,16 +1081,16 @@ module Aws::S3
1062
1081
  # ACL-based permissions. By default, all objects are private. Only the
1063
1082
  # owner has full access control. When adding a new object, you can
1064
1083
  # 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].
1084
+ # predefined groups that are defined by Amazon S3. These permissions
1085
+ # are then added to the ACL on the object. For more information, see
1086
+ # [Access Control List (ACL) Overview][10] and [Managing ACLs Using
1087
+ # the REST API][11].
1069
1088
  #
1070
1089
  # If the bucket that you're copying objects to uses the bucket owner
1071
1090
  # enforced setting for S3 Object Ownership, ACLs are disabled and no
1072
1091
  # 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
1092
+ # `PUT` requests that don't specify an ACL or `PUT` requests that
1093
+ # specify bucket owner full control ACLs, such as the
1075
1094
  # `bucket-owner-full-control` canned ACL or an equivalent form of this
1076
1095
  # ACL expressed in the XML format.
1077
1096
  #
@@ -1088,13 +1107,13 @@ module Aws::S3
1088
1107
  #
1089
1108
  # : When copying an object, if it has a checksum, that checksum will be
1090
1109
  # copied to the new object by default. When you copy the object over,
1091
- # you may optionally specify a different checksum algorithm to use
1110
+ # you can optionally specify a different checksum algorithm to use
1092
1111
  # with the `x-amz-checksum-algorithm` header.
1093
1112
  #
1094
1113
  # Storage Class Options
1095
1114
  #
1096
1115
  # : You can use the `CopyObject` action to change the storage class of
1097
- # an object that is already stored in Amazon S3 using the
1116
+ # an object that is already stored in Amazon S3 by using the
1098
1117
  # `StorageClass` parameter. For more information, see [Storage
1099
1118
  # Classes][13] in the *Amazon S3 User Guide*.
1100
1119
  #
@@ -1105,10 +1124,10 @@ module Aws::S3
1105
1124
  #
1106
1125
  # Versioning
1107
1126
  #
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.
1127
+ # : By default, `x-amz-copy-source` header identifies the current
1128
+ # version of an object to copy. If the current version is a delete
1129
+ # marker, Amazon S3 behaves as if the object was deleted. To copy a
1130
+ # different version, use the `versionId` subresource.
1112
1131
  #
1113
1132
  # If you enable versioning on the target bucket, Amazon S3 generates a
1114
1133
  # unique version ID for the object being copied. This version ID is
@@ -1168,7 +1187,7 @@ module Aws::S3
1168
1187
  # When you use this action with S3 on Outposts through the Amazon Web
1169
1188
  # Services SDKs, you provide the Outposts access point ARN in place of
1170
1189
  # the bucket name. For more information about S3 on Outposts ARNs, see
1171
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
1190
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
1172
1191
  #
1173
1192
  #
1174
1193
  #
@@ -1302,7 +1321,7 @@ module Aws::S3
1302
1321
  #
1303
1322
  # @option params [String] :server_side_encryption
1304
1323
  # The server-side encryption algorithm used when storing this object in
1305
- # Amazon S3 (for example, AES256, `aws:kms`).
1324
+ # Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
1306
1325
  #
1307
1326
  # @option params [String] :storage_class
1308
1327
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
@@ -1341,13 +1360,12 @@ module Aws::S3
1341
1360
  # ensure that the encryption key was transmitted without error.
1342
1361
  #
1343
1362
  # @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*.
1363
+ # Specifies the KMS key ID to use for object encryption. All GET and PUT
1364
+ # requests for an object protected by KMS will fail if they're not made
1365
+ # via SSL or using SigV4. For information about configuring any of the
1366
+ # officially supported Amazon Web Services SDKs and Amazon Web Services
1367
+ # CLI, see [Specifying the Signature Version in Request
1368
+ # Authentication][1] in the *Amazon S3 User Guide*.
1351
1369
  #
1352
1370
  #
1353
1371
  #
@@ -1360,9 +1378,9 @@ module Aws::S3
1360
1378
  #
1361
1379
  # @option params [Boolean] :bucket_key_enabled
1362
1380
  # 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.
1381
+ # encryption with server-side encryption using Key Management Service
1382
+ # (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
1383
+ # to use an S3 Bucket Key for object encryption with SSE-KMS.
1366
1384
  #
1367
1385
  # Specifying this header with a COPY action doesn’t affect bucket-level
1368
1386
  # settings for S3 Bucket Key.
@@ -1477,7 +1495,7 @@ module Aws::S3
1477
1495
  # },
1478
1496
  # metadata_directive: "COPY", # accepts COPY, REPLACE
1479
1497
  # tagging_directive: "COPY", # accepts COPY, REPLACE
1480
- # server_side_encryption: "AES256", # accepts AES256, aws:kms
1498
+ # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
1481
1499
  # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
1482
1500
  # website_redirect_location: "WebsiteRedirectLocation",
1483
1501
  # sse_customer_algorithm: "SSECustomerAlgorithm",
@@ -1509,7 +1527,7 @@ module Aws::S3
1509
1527
  # resp.expiration #=> String
1510
1528
  # resp.copy_source_version_id #=> String
1511
1529
  # resp.version_id #=> String
1512
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
1530
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
1513
1531
  # resp.sse_customer_algorithm #=> String
1514
1532
  # resp.sse_customer_key_md5 #=> String
1515
1533
  # resp.ssekms_key_id #=> String
@@ -1545,8 +1563,8 @@ module Aws::S3
1545
1563
  # (Ireland) Region. For more information, see [Accessing a bucket][3].
1546
1564
  #
1547
1565
  # <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
1566
+ # endpoint, the request goes to the `us-east-1` Region. Accordingly, the
1567
+ # signature calculations in Signature Version 4 must use `us-east-1` as
1550
1568
  # the Region, even if the location constraint in the request specifies
1551
1569
  # another Region where the bucket is to be created. If you create a
1552
1570
  # bucket in a Region other than US East (N. Virginia), your application
@@ -1555,108 +1573,62 @@ module Aws::S3
1555
1573
  #
1556
1574
  # </note>
1557
1575
  #
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
1576
  # Permissions
1634
1577
  #
1635
1578
  # : In addition to `s3:CreateBucket`, the following permissions are
1636
- # required when your CreateBucket includes specific headers:
1579
+ # required when your `CreateBucket` request includes specific headers:
1637
1580
  #
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.
1581
+ # * **Access control lists (ACLs)** - If your `CreateBucket` request
1582
+ # specifies access control list (ACL) permissions and the ACL is
1583
+ # public-read, public-read-write, authenticated-read, or if you
1584
+ # specify access permissions explicitly through any other ACL, both
1585
+ # `s3:CreateBucket` and `s3:PutBucketAcl` permissions are needed. If
1586
+ # the ACL for the `CreateBucket` request is private or if the
1587
+ # request doesn't specify any ACLs, only `s3:CreateBucket`
1588
+ # permission is needed.
1645
1589
  #
1646
1590
  # * **Object Lock** - If `ObjectLockEnabledForBucket` is set to true
1647
1591
  # in your `CreateBucket` request,
1648
1592
  # `s3:PutBucketObjectLockConfiguration` and `s3:PutBucketVersioning`
1649
1593
  # permissions are required.
1650
1594
  #
1651
- # * **S3 Object Ownership** - If your CreateBucket request includes
1652
- # the `x-amz-object-ownership` header,
1653
- # `s3:PutBucketOwnershipControls` permission is required.
1595
+ # * **S3 Object Ownership** - If your `CreateBucket` request includes
1596
+ # the `x-amz-object-ownership` header, then the
1597
+ # `s3:PutBucketOwnershipControls` permission is required. By
1598
+ # default, `ObjectOwnership` is set to `BucketOWnerEnforced` and
1599
+ # ACLs are disabled. We recommend keeping ACLs disabled, except in
1600
+ # uncommon use cases where you must control access for each object
1601
+ # individually. If you want to change the `ObjectOwnership` setting,
1602
+ # you can use the `x-amz-object-ownership` header in your
1603
+ # `CreateBucket` request to set the `ObjectOwnership` setting of
1604
+ # your choice. For more information about S3 Object Ownership, see
1605
+ # [Controlling object ownership ][5] in the *Amazon S3 User Guide*.
1606
+ #
1607
+ # * **S3 Block Public Access** - If your specific use case requires
1608
+ # granting public access to your S3 resources, you can disable Block
1609
+ # Public Access. You can create a new bucket with Block Public
1610
+ # Access enabled, then separately call the [
1611
+ # `DeletePublicAccessBlock` ][6] API. To use this operation, you
1612
+ # must have the `s3:PutBucketPublicAccessBlock` permission. By
1613
+ # default, all Block Public Access settings are enabled for new
1614
+ # buckets. To avoid inadvertent exposure of your resources, we
1615
+ # recommend keeping the S3 Block Public Access settings enabled. For
1616
+ # more information about S3 Block Public Access, see [Blocking
1617
+ # public access to your Amazon S3 storage ][5] in the *Amazon S3
1618
+ # User Guide*.
1619
+ #
1620
+ # If your `CreateBucket` request sets `BucketOwnerEnforced` for Amazon
1621
+ # S3 Object Ownership and specifies a bucket ACL that provides access to
1622
+ # an external Amazon Web Services account, your request fails with a
1623
+ # `400` error and returns the `InvalidBucketAcLWithObjectOwnership`
1624
+ # error code. For more information, see [Setting Object Ownership on an
1625
+ # existing bucket ][7] in the *Amazon S3 User Guide*.
1654
1626
  #
1655
1627
  # The following operations are related to `CreateBucket`:
1656
1628
  #
1657
- # * [PutObject][9]
1629
+ # * [PutObject][8]
1658
1630
  #
1659
- # * [DeleteBucket][10]
1631
+ # * [DeleteBucket][9]
1660
1632
  #
1661
1633
  #
1662
1634
  #
@@ -1665,11 +1637,10 @@ module Aws::S3
1665
1637
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro
1666
1638
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html
1667
1639
  # [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
1640
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html
1641
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-existing-bucket.html
1642
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
1643
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
1673
1644
  #
1674
1645
  # @option params [String] :acl
1675
1646
  # The canned ACL to apply to the bucket.
@@ -1726,33 +1697,33 @@ module Aws::S3
1726
1697
  # * {Types::CreateBucketOutput#location #location} => String
1727
1698
  #
1728
1699
  #
1729
- # @example Example: To create a bucket
1700
+ # @example Example: To create a bucket in a specific region
1730
1701
  #
1731
- # # The following example creates a bucket.
1702
+ # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1732
1703
  #
1733
1704
  # resp = client.create_bucket({
1734
1705
  # bucket: "examplebucket",
1706
+ # create_bucket_configuration: {
1707
+ # location_constraint: "eu-west-1",
1708
+ # },
1735
1709
  # })
1736
1710
  #
1737
1711
  # resp.to_h outputs the following:
1738
1712
  # {
1739
- # location: "/examplebucket",
1713
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1740
1714
  # }
1741
1715
  #
1742
- # @example Example: To create a bucket in a specific region
1716
+ # @example Example: To create a bucket
1743
1717
  #
1744
- # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1718
+ # # The following example creates a bucket.
1745
1719
  #
1746
1720
  # resp = client.create_bucket({
1747
1721
  # bucket: "examplebucket",
1748
- # create_bucket_configuration: {
1749
- # location_constraint: "eu-west-1",
1750
- # },
1751
1722
  # })
1752
1723
  #
1753
1724
  # resp.to_h outputs the following:
1754
1725
  # {
1755
- # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1726
+ # location: "/examplebucket",
1756
1727
  # }
1757
1728
  #
1758
1729
  # @example Request syntax with placeholder values
@@ -1761,7 +1732,7 @@ module Aws::S3
1761
1732
  # acl: "private", # accepts private, public-read, public-read-write, authenticated-read
1762
1733
  # bucket: "BucketName", # required
1763
1734
  # create_bucket_configuration: {
1764
- # location_constraint: "af-south-1", # accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-southeast-1, ap-southeast-2, ap-southeast-3, ca-central-1, cn-north-1, cn-northwest-1, EU, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, me-south-1, sa-east-1, us-east-2, us-gov-east-1, us-gov-west-1, us-west-1, us-west-2
1735
+ # location_constraint: "af-south-1", # accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-southeast-1, ap-southeast-2, ap-southeast-3, ca-central-1, cn-north-1, cn-northwest-1, EU, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, me-south-1, sa-east-1, us-east-2, us-gov-east-1, us-gov-west-1, us-west-1, us-west-2, ap-south-2, eu-south-2
1765
1736
  # },
1766
1737
  # grant_full_control: "GrantFullControl",
1767
1738
  # grant_read: "GrantRead",
@@ -2072,7 +2043,7 @@ module Aws::S3
2072
2043
  # When you use this action with S3 on Outposts through the Amazon Web
2073
2044
  # Services SDKs, you provide the Outposts access point ARN in place of
2074
2045
  # the bucket name. For more information about S3 on Outposts ARNs, see
2075
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
2046
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
2076
2047
  #
2077
2048
  #
2078
2049
  #
@@ -2128,7 +2099,7 @@ module Aws::S3
2128
2099
  #
2129
2100
  # @option params [String] :server_side_encryption
2130
2101
  # The server-side encryption algorithm used when storing this object in
2131
- # Amazon S3 (for example, AES256, `aws:kms`).
2102
+ # Amazon S3 (for example, `AES256`, `aws:kms`).
2132
2103
  #
2133
2104
  # @option params [String] :storage_class
2134
2105
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
@@ -2166,11 +2137,11 @@ module Aws::S3
2166
2137
  # @option params [String] :ssekms_key_id
2167
2138
  # Specifies the ID of the symmetric encryption customer managed key to
2168
2139
  # 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*.
2140
+ # protected by KMS will fail if they're not made via SSL or using
2141
+ # SigV4. For information about configuring any of the officially
2142
+ # supported Amazon Web Services SDKs and Amazon Web Services CLI, see
2143
+ # [Specifying the Signature Version in Request Authentication][1] in the
2144
+ # *Amazon S3 User Guide*.
2174
2145
  #
2175
2146
  #
2176
2147
  #
@@ -2183,9 +2154,9 @@ module Aws::S3
2183
2154
  #
2184
2155
  # @option params [Boolean] :bucket_key_enabled
2185
2156
  # 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.
2157
+ # encryption with server-side encryption using Key Management Service
2158
+ # (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
2159
+ # to use an S3 Bucket Key for object encryption with SSE-KMS.
2189
2160
  #
2190
2161
  # Specifying this header with an object action doesn’t affect
2191
2162
  # bucket-level settings for S3 Bucket Key.
@@ -2282,7 +2253,7 @@ module Aws::S3
2282
2253
  # metadata: {
2283
2254
  # "MetadataKey" => "MetadataValue",
2284
2255
  # },
2285
- # server_side_encryption: "AES256", # accepts AES256, aws:kms
2256
+ # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
2286
2257
  # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
2287
2258
  # website_redirect_location: "WebsiteRedirectLocation",
2288
2259
  # sse_customer_algorithm: "SSECustomerAlgorithm",
@@ -2307,7 +2278,7 @@ module Aws::S3
2307
2278
  # resp.bucket #=> String
2308
2279
  # resp.key #=> String
2309
2280
  # resp.upload_id #=> String
2310
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
2281
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
2311
2282
  # resp.sse_customer_algorithm #=> String
2312
2283
  # resp.sse_customer_key_md5 #=> String
2313
2284
  # resp.ssekms_key_id #=> String
@@ -2446,7 +2417,7 @@ module Aws::S3
2446
2417
  # For information about `cors`, see [Enabling Cross-Origin Resource
2447
2418
  # Sharing][1] in the *Amazon S3 User Guide*.
2448
2419
  #
2449
- # The following operations are related to `DeleteBucketCors`:
2420
+ # **Related Resources**
2450
2421
  #
2451
2422
  # * [PutBucketCors][2]
2452
2423
  #
@@ -3157,7 +3128,7 @@ module Aws::S3
3157
3128
  # When you use this action with S3 on Outposts through the Amazon Web
3158
3129
  # Services SDKs, you provide the Outposts access point ARN in place of
3159
3130
  # the bucket name. For more information about S3 on Outposts ARNs, see
3160
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
3131
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
3161
3132
  #
3162
3133
  #
3163
3134
  #
@@ -3293,7 +3264,7 @@ module Aws::S3
3293
3264
  # When you use this action with S3 on Outposts through the Amazon Web
3294
3265
  # Services SDKs, you provide the Outposts access point ARN in place of
3295
3266
  # the bucket name. For more information about S3 on Outposts ARNs, see
3296
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
3267
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
3297
3268
  #
3298
3269
  #
3299
3270
  #
@@ -3317,35 +3288,35 @@ module Aws::S3
3317
3288
  # * {Types::DeleteObjectTaggingOutput#version_id #version_id} => String
3318
3289
  #
3319
3290
  #
3320
- # @example Example: To remove tag set from an object version
3291
+ # @example Example: To remove tag set from an object
3321
3292
  #
3322
- # # The following example removes tag set associated with the specified object version. The request specifies both the
3323
- # # object key and object version.
3293
+ # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
3294
+ # # operation removes tag set from the latest object version.
3324
3295
  #
3325
3296
  # resp = client.delete_object_tagging({
3326
3297
  # bucket: "examplebucket",
3327
3298
  # key: "HappyFace.jpg",
3328
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3329
3299
  # })
3330
3300
  #
3331
3301
  # resp.to_h outputs the following:
3332
3302
  # {
3333
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3303
+ # version_id: "null",
3334
3304
  # }
3335
3305
  #
3336
- # @example Example: To remove tag set from an object
3306
+ # @example Example: To remove tag set from an object version
3337
3307
  #
3338
- # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
3339
- # # operation removes tag set from the latest object version.
3308
+ # # The following example removes tag set associated with the specified object version. The request specifies both the
3309
+ # # object key and object version.
3340
3310
  #
3341
3311
  # resp = client.delete_object_tagging({
3342
3312
  # bucket: "examplebucket",
3343
3313
  # key: "HappyFace.jpg",
3314
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3344
3315
  # })
3345
3316
  #
3346
3317
  # resp.to_h outputs the following:
3347
3318
  # {
3348
- # version_id: "null",
3319
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3349
3320
  # }
3350
3321
  #
3351
3322
  # @example Request syntax with placeholder values
@@ -3441,7 +3412,7 @@ module Aws::S3
3441
3412
  # When you use this action with S3 on Outposts through the Amazon Web
3442
3413
  # Services SDKs, you provide the Outposts access point ARN in place of
3443
3414
  # the bucket name. For more information about S3 on Outposts ARNs, see
3444
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
3415
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
3445
3416
  #
3446
3417
  #
3447
3418
  #
@@ -3504,22 +3475,20 @@ module Aws::S3
3504
3475
  # * {Types::DeleteObjectsOutput#errors #errors} => Array&lt;Types::Error&gt;
3505
3476
  #
3506
3477
  #
3507
- # @example Example: To delete multiple object versions from a versioned bucket
3478
+ # @example Example: To delete multiple objects from a versioned bucket
3508
3479
  #
3509
- # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
3510
- # # versions and returns the key and versions of deleted objects in the response.
3480
+ # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
3481
+ # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
3511
3482
  #
3512
3483
  # resp = client.delete_objects({
3513
3484
  # bucket: "examplebucket",
3514
3485
  # delete: {
3515
3486
  # objects: [
3516
3487
  # {
3517
- # key: "HappyFace.jpg",
3518
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3488
+ # key: "objectkey1",
3519
3489
  # },
3520
3490
  # {
3521
- # key: "HappyFace.jpg",
3522
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3491
+ # key: "objectkey2",
3523
3492
  # },
3524
3493
  # ],
3525
3494
  # quiet: false,
@@ -3530,30 +3499,34 @@ module Aws::S3
3530
3499
  # {
3531
3500
  # deleted: [
3532
3501
  # {
3533
- # key: "HappyFace.jpg",
3534
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3502
+ # delete_marker: true,
3503
+ # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
3504
+ # key: "objectkey1",
3535
3505
  # },
3536
3506
  # {
3537
- # key: "HappyFace.jpg",
3538
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3507
+ # delete_marker: true,
3508
+ # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
3509
+ # key: "objectkey2",
3539
3510
  # },
3540
3511
  # ],
3541
3512
  # }
3542
3513
  #
3543
- # @example Example: To delete multiple objects from a versioned bucket
3514
+ # @example Example: To delete multiple object versions from a versioned bucket
3544
3515
  #
3545
- # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
3546
- # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
3516
+ # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
3517
+ # # versions and returns the key and versions of deleted objects in the response.
3547
3518
  #
3548
3519
  # resp = client.delete_objects({
3549
3520
  # bucket: "examplebucket",
3550
3521
  # delete: {
3551
3522
  # objects: [
3552
3523
  # {
3553
- # key: "objectkey1",
3524
+ # key: "HappyFace.jpg",
3525
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3554
3526
  # },
3555
3527
  # {
3556
- # key: "objectkey2",
3528
+ # key: "HappyFace.jpg",
3529
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3557
3530
  # },
3558
3531
  # ],
3559
3532
  # quiet: false,
@@ -3564,14 +3537,12 @@ module Aws::S3
3564
3537
  # {
3565
3538
  # deleted: [
3566
3539
  # {
3567
- # delete_marker: true,
3568
- # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
3569
- # key: "objectkey1",
3540
+ # key: "HappyFace.jpg",
3541
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3570
3542
  # },
3571
3543
  # {
3572
- # delete_marker: true,
3573
- # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
3574
- # key: "objectkey2",
3544
+ # key: "HappyFace.jpg",
3545
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3575
3546
  # },
3576
3547
  # ],
3577
3548
  # }
@@ -3720,20 +3691,34 @@ module Aws::S3
3720
3691
  # a different account, the request fails with the HTTP status code `403
3721
3692
  # Forbidden` (access denied).
3722
3693
  #
3694
+ # @option params [String] :request_payer
3695
+ # Confirms that the requester knows that they will be charged for the
3696
+ # request. Bucket owners need not specify this parameter in their
3697
+ # requests. For information about downloading objects from Requester
3698
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
3699
+ # in the *Amazon S3 User Guide*.
3700
+ #
3701
+ #
3702
+ #
3703
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
3704
+ #
3723
3705
  # @return [Types::GetBucketAccelerateConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3724
3706
  #
3725
3707
  # * {Types::GetBucketAccelerateConfigurationOutput#status #status} => String
3708
+ # * {Types::GetBucketAccelerateConfigurationOutput#request_charged #request_charged} => String
3726
3709
  #
3727
3710
  # @example Request syntax with placeholder values
3728
3711
  #
3729
3712
  # resp = client.get_bucket_accelerate_configuration({
3730
3713
  # bucket: "BucketName", # required
3731
3714
  # expected_bucket_owner: "AccountId",
3715
+ # request_payer: "requester", # accepts requester
3732
3716
  # })
3733
3717
  #
3734
3718
  # @example Response structure
3735
3719
  #
3736
3720
  # resp.status #=> String, one of "Enabled", "Suspended"
3721
+ # resp.request_charged #=> String, one of "requester"
3737
3722
  #
3738
3723
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration AWS API Documentation
3739
3724
  #
@@ -4084,7 +4069,7 @@ module Aws::S3
4084
4069
  # @example Response structure
4085
4070
  #
4086
4071
  # resp.server_side_encryption_configuration.rules #=> Array
4087
- # resp.server_side_encryption_configuration.rules[0].apply_server_side_encryption_by_default.sse_algorithm #=> String, one of "AES256", "aws:kms"
4072
+ # resp.server_side_encryption_configuration.rules[0].apply_server_side_encryption_by_default.sse_algorithm #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
4088
4073
  # resp.server_side_encryption_configuration.rules[0].apply_server_side_encryption_by_default.kms_master_key_id #=> String
4089
4074
  # resp.server_side_encryption_configuration.rules[0].bucket_key_enabled #=> Boolean
4090
4075
  #
@@ -4244,7 +4229,7 @@ module Aws::S3
4244
4229
  # resp.inventory_configuration.id #=> String
4245
4230
  # resp.inventory_configuration.included_object_versions #=> String, one of "All", "Current"
4246
4231
  # resp.inventory_configuration.optional_fields #=> Array
4247
- # resp.inventory_configuration.optional_fields[0] #=> String, one of "Size", "LastModifiedDate", "StorageClass", "ETag", "IsMultipartUploaded", "ReplicationStatus", "EncryptionStatus", "ObjectLockRetainUntilDate", "ObjectLockMode", "ObjectLockLegalHoldStatus", "IntelligentTieringAccessTier", "BucketKeyStatus", "ChecksumAlgorithm"
4232
+ # resp.inventory_configuration.optional_fields[0] #=> String, one of "Size", "LastModifiedDate", "StorageClass", "ETag", "IsMultipartUploaded", "ReplicationStatus", "EncryptionStatus", "ObjectLockRetainUntilDate", "ObjectLockMode", "ObjectLockLegalHoldStatus", "IntelligentTieringAccessTier", "BucketKeyStatus", "ChecksumAlgorithm", "ObjectAccessControlList", "ObjectOwner"
4248
4233
  # resp.inventory_configuration.schedule.frequency #=> String, one of "Daily", "Weekly"
4249
4234
  #
4250
4235
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration AWS API Documentation
@@ -4588,7 +4573,7 @@ module Aws::S3
4588
4573
  #
4589
4574
  # @example Response structure
4590
4575
  #
4591
- # resp.location_constraint #=> String, one of "af-south-1", "ap-east-1", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ca-central-1", "cn-north-1", "cn-northwest-1", "EU", "eu-central-1", "eu-north-1", "eu-south-1", "eu-west-1", "eu-west-2", "eu-west-3", "me-south-1", "sa-east-1", "us-east-2", "us-gov-east-1", "us-gov-west-1", "us-west-1", "us-west-2"
4576
+ # resp.location_constraint #=> String, one of "af-south-1", "ap-east-1", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ca-central-1", "cn-north-1", "cn-northwest-1", "EU", "eu-central-1", "eu-north-1", "eu-south-1", "eu-west-1", "eu-west-2", "eu-west-3", "me-south-1", "sa-east-1", "us-east-2", "us-gov-east-1", "us-gov-west-1", "us-west-1", "us-west-2", "ap-south-2", "eu-south-2"
4592
4577
  #
4593
4578
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation AWS API Documentation
4594
4579
  #
@@ -5639,30 +5624,32 @@ module Aws::S3
5639
5624
  # For more information about returning the ACL of an object, see
5640
5625
  # [GetObjectAcl][2].
5641
5626
  #
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].
5627
+ # If the object you are retrieving is stored in the S3 Glacier Flexible
5628
+ # Retrieval or S3 Glacier Deep Archive storage class, or S3
5629
+ # Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive
5630
+ # tiers, before you can retrieve the object you must first restore a
5631
+ # copy using [RestoreObject][3]. Otherwise, this action returns an
5632
+ # `InvalidObjectState` error. For information about restoring archived
5633
+ # objects, see [Restoring Archived Objects][4].
5649
5634
  #
5650
5635
  # Encryption request headers, like `x-amz-server-side-encryption`,
5651
5636
  # 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.
5637
+ # encryption with Key Management Service (KMS) keys (SSE-KMS),
5638
+ # dual-layer server-side encryption with Amazon Web Services KMS keys
5639
+ # (DSSE-KMS), or server-side encryption with Amazon S3 managed
5640
+ # encryption keys (SSE-S3). If your object does use these types of keys,
5641
+ # you’ll get an HTTP 400 Bad Request error.
5655
5642
  #
5656
5643
  # If you encrypt an object by using server-side encryption with
5657
5644
  # customer-provided encryption keys (SSE-C) when you store the object in
5658
5645
  # Amazon S3, then when you GET the object, you must use the following
5659
5646
  # headers:
5660
5647
  #
5661
- # * x-amz-server-side-encryption-customer-algorithm
5648
+ # * `x-amz-server-side-encryption-customer-algorithm`
5662
5649
  #
5663
- # * x-amz-server-side-encryption-customer-key
5650
+ # * `x-amz-server-side-encryption-customer-key`
5664
5651
  #
5665
- # * x-amz-server-side-encryption-customer-key-MD5
5652
+ # * `x-amz-server-side-encryption-customer-key-MD5`
5666
5653
  #
5667
5654
  # For more information about SSE-C, see [Server-Side Encryption (Using
5668
5655
  # Customer-Provided Encryption Keys)][5].
@@ -5677,20 +5664,21 @@ module Aws::S3
5677
5664
  #
5678
5665
  # : You need the relevant read object (or version) permission for this
5679
5666
  # 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
5667
+ # Policy][7]. If the object that you request doesn’t exist, the error
5668
+ # that Amazon S3 returns depends on whether you also have the
5682
5669
  # `s3:ListBucket` permission.
5683
5670
  #
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.
5671
+ # If you have the `s3:ListBucket` permission on the bucket, Amazon S3
5672
+ # returns an HTTP status code 404 (Not Found) error.
5686
5673
  #
5687
- # * If you don’t have the `s3:ListBucket` permission, Amazon S3 will
5688
- # return an HTTP status code 403 ("access denied") error.
5674
+ # If you don’t have the `s3:ListBucket` permission, Amazon S3 returns
5675
+ # an HTTP status code 403 ("access denied") error.
5689
5676
  #
5690
5677
  # Versioning
5691
5678
  #
5692
- # : By default, the GET action returns the current version of an object.
5693
- # To return a different version, use the `versionId` subresource.
5679
+ # : By default, the `GET` action returns the current version of an
5680
+ # object. To return a different version, use the `versionId`
5681
+ # subresource.
5694
5682
  #
5695
5683
  # <note markdown="1"> * If you supply a `versionId`, you need the `s3:GetObjectVersion`
5696
5684
  # permission to access a specific version of an object. If you
@@ -5710,18 +5698,18 @@ module Aws::S3
5710
5698
  # Overriding Response Header Values
5711
5699
  #
5712
5700
  # : 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.
5701
+ # values in a `GET` response. For example, you might override the
5702
+ # `Content-Disposition` response header value in your `GET` request.
5715
5703
  #
5716
5704
  # You can override values for a set of response headers using the
5717
5705
  # following query parameters. These response header values are sent
5718
5706
  # only on a successful request, that is, when status code 200 OK is
5719
5707
  # returned. The set of headers you can override using these parameters
5720
5708
  # 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
5709
+ # object. The response headers that you can override for the `GET`
5722
5710
  # response are `Content-Type`, `Content-Language`, `Expires`,
5723
5711
  # `Cache-Control`, `Content-Disposition`, and `Content-Encoding`. To
5724
- # override these header values in the GET response, you use the
5712
+ # override these header values in the `GET` response, you use the
5725
5713
  # following request parameters.
5726
5714
  #
5727
5715
  # <note markdown="1"> You must sign the request, either using an Authorization header or a
@@ -5799,7 +5787,7 @@ module Aws::S3
5799
5787
  # When you use this action with S3 on Outposts through the Amazon Web
5800
5788
  # Services SDKs, you provide the Outposts access point ARN in place of
5801
5789
  # the bucket name. For more information about S3 on Outposts ARNs, see
5802
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
5790
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
5803
5791
  #
5804
5792
  #
5805
5793
  #
@@ -5942,49 +5930,49 @@ module Aws::S3
5942
5930
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
5943
5931
  #
5944
5932
  #
5945
- # @example Example: To retrieve an object
5933
+ # @example Example: To retrieve a byte range of an object
5946
5934
  #
5947
- # # The following example retrieves an object for an S3 bucket.
5935
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5936
+ # # specific byte range.
5948
5937
  #
5949
5938
  # resp = client.get_object({
5950
5939
  # bucket: "examplebucket",
5951
- # key: "HappyFace.jpg",
5940
+ # key: "SampleFile.txt",
5941
+ # range: "bytes=0-9",
5952
5942
  # })
5953
5943
  #
5954
5944
  # resp.to_h outputs the following:
5955
5945
  # {
5956
5946
  # accept_ranges: "bytes",
5957
- # content_length: 3191,
5958
- # content_type: "image/jpeg",
5959
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5960
- # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
5947
+ # content_length: 10,
5948
+ # content_range: "bytes 0-9/43",
5949
+ # content_type: "text/plain",
5950
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5951
+ # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
5961
5952
  # metadata: {
5962
5953
  # },
5963
- # tag_count: 2,
5964
5954
  # version_id: "null",
5965
5955
  # }
5966
5956
  #
5967
- # @example Example: To retrieve a byte range of an object
5957
+ # @example Example: To retrieve an object
5968
5958
  #
5969
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5970
- # # specific byte range.
5959
+ # # The following example retrieves an object for an S3 bucket.
5971
5960
  #
5972
5961
  # resp = client.get_object({
5973
5962
  # bucket: "examplebucket",
5974
- # key: "SampleFile.txt",
5975
- # range: "bytes=0-9",
5963
+ # key: "HappyFace.jpg",
5976
5964
  # })
5977
5965
  #
5978
5966
  # resp.to_h outputs the following:
5979
5967
  # {
5980
5968
  # accept_ranges: "bytes",
5981
- # content_length: 10,
5982
- # content_range: "bytes 0-9/43",
5983
- # content_type: "text/plain",
5984
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5985
- # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
5969
+ # content_length: 3191,
5970
+ # content_type: "image/jpeg",
5971
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5972
+ # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
5986
5973
  # metadata: {
5987
5974
  # },
5975
+ # tag_count: 2,
5988
5976
  # version_id: "null",
5989
5977
  # }
5990
5978
  #
@@ -6068,7 +6056,7 @@ module Aws::S3
6068
6056
  # resp.expires #=> Time
6069
6057
  # resp.expires_string #=> String
6070
6058
  # resp.website_redirect_location #=> String
6071
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
6059
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
6072
6060
  # resp.metadata #=> Hash
6073
6061
  # resp.metadata["MetadataKey"] #=> String
6074
6062
  # resp.sse_customer_algorithm #=> String
@@ -6386,7 +6374,7 @@ module Aws::S3
6386
6374
  # When you use this action with S3 on Outposts through the Amazon Web
6387
6375
  # Services SDKs, you provide the Outposts access point ARN in place of
6388
6376
  # the bucket name. For more information about S3 on Outposts ARNs, see
6389
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
6377
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
6390
6378
  #
6391
6379
  #
6392
6380
  #
@@ -6439,9 +6427,8 @@ module Aws::S3
6439
6427
  # Forbidden` (access denied).
6440
6428
  #
6441
6429
  # @option params [required, Array<String>] :object_attributes
6442
- # An XML header that specifies the fields at the root level that you
6443
- # want returned in the response. Fields that you do not specify are not
6444
- # returned.
6430
+ # Specifies the fields at the root level that you want returned in the
6431
+ # response. Fields that you do not specify are not returned.
6445
6432
  #
6446
6433
  # @return [Types::GetObjectAttributesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6447
6434
  #
@@ -6786,7 +6773,7 @@ module Aws::S3
6786
6773
  # When you use this action with S3 on Outposts through the Amazon Web
6787
6774
  # Services SDKs, you provide the Outposts access point ARN in place of
6788
6775
  # the bucket name. For more information about S3 on Outposts ARNs, see
6789
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
6776
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
6790
6777
  #
6791
6778
  #
6792
6779
  #
@@ -7119,7 +7106,7 @@ module Aws::S3
7119
7106
  # When you use this action with S3 on Outposts through the Amazon Web
7120
7107
  # Services SDKs, you provide the Outposts access point ARN in place of
7121
7108
  # the bucket name. For more information about S3 on Outposts ARNs, see
7122
- # [What is S3 on Outposts][3] in the *Amazon S3 User Guide*.
7109
+ # [What is S3 on Outposts?][3] in the *Amazon S3 User Guide*.
7123
7110
  #
7124
7111
  #
7125
7112
  #
@@ -7165,9 +7152,9 @@ module Aws::S3
7165
7152
  req.send_request(options)
7166
7153
  end
7167
7154
 
7168
- # The HEAD action retrieves metadata from an object without returning
7155
+ # The `HEAD` action retrieves metadata from an object without returning
7169
7156
  # 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
7157
+ # an object's metadata. To use `HEAD`, you must have READ access to the
7171
7158
  # object.
7172
7159
  #
7173
7160
  # A `HEAD` request has the same options as a `GET` action on an object.
@@ -7182,20 +7169,22 @@ module Aws::S3
7182
7169
  # Amazon S3, then when you retrieve the metadata from the object, you
7183
7170
  # must use the following headers:
7184
7171
  #
7185
- # * x-amz-server-side-encryption-customer-algorithm
7172
+ # * `x-amz-server-side-encryption-customer-algorithm`
7186
7173
  #
7187
- # * x-amz-server-side-encryption-customer-key
7174
+ # * `x-amz-server-side-encryption-customer-key`
7188
7175
  #
7189
- # * x-amz-server-side-encryption-customer-key-MD5
7176
+ # * `x-amz-server-side-encryption-customer-key-MD5`
7190
7177
  #
7191
7178
  # For more information about SSE-C, see [Server-Side Encryption (Using
7192
7179
  # Customer-Provided Encryption Keys)][1].
7193
7180
  #
7194
7181
  # <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.
7182
+ # should not be sent for `GET` requests if your object uses
7183
+ # server-side encryption with Key Management Service (KMS) keys
7184
+ # (SSE-KMS), dual-layer server-side encryption with Amazon Web
7185
+ # Services KMS keys (DSSE-KMS), or server-side encryption with Amazon
7186
+ # S3 managed encryption keys (SSE-S3). If your object does use these
7187
+ # types of keys, you’ll get an HTTP 400 Bad Request error.
7199
7188
  #
7200
7189
  # * The last modified property in this case is the creation date of the
7201
7190
  # object.
@@ -7231,15 +7220,15 @@ module Aws::S3
7231
7220
  #
7232
7221
  # : You need the relevant read object (or version) permission for this
7233
7222
  # 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.
7223
+ # condition keys for Amazon S3][4]. If the object you request doesn't
7224
+ # exist, the error that Amazon S3 returns depends on whether you also
7225
+ # have the s3:ListBucket permission.
7237
7226
  #
7238
7227
  # * If you have the `s3:ListBucket` permission on the bucket, Amazon
7239
- # S3 returns an HTTP status code 404 ("no such key") error.
7228
+ # S3 returns an HTTP status code 404 error.
7240
7229
  #
7241
7230
  # * If you don’t have the `s3:ListBucket` permission, Amazon S3
7242
- # returns an HTTP status code 403 ("access denied") error.
7231
+ # returns an HTTP status code 403 error.
7243
7232
  #
7244
7233
  # The following actions are related to `HeadObject`:
7245
7234
  #
@@ -7274,7 +7263,7 @@ module Aws::S3
7274
7263
  # When you use this action with S3 on Outposts through the Amazon Web
7275
7264
  # Services SDKs, you provide the Outposts access point ARN in place of
7276
7265
  # the bucket name. For more information about S3 on Outposts ARNs, see
7277
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
7266
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
7278
7267
  #
7279
7268
  #
7280
7269
  #
@@ -7459,7 +7448,7 @@ module Aws::S3
7459
7448
  # resp.expires #=> Time
7460
7449
  # resp.expires_string #=> String
7461
7450
  # resp.website_redirect_location #=> String
7462
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
7451
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
7463
7452
  # resp.metadata #=> Hash
7464
7453
  # resp.metadata["MetadataKey"] #=> String
7465
7454
  # resp.sse_customer_algorithm #=> String
@@ -7534,7 +7523,7 @@ module Aws::S3
7534
7523
  # retrieved.
7535
7524
  #
7536
7525
  # @option params [String] :continuation_token
7537
- # The ContinuationToken that represents a placeholder from where this
7526
+ # The `ContinuationToken` that represents a placeholder from where this
7538
7527
  # request should begin.
7539
7528
  #
7540
7529
  # @option params [String] :expected_bucket_owner
@@ -7720,7 +7709,7 @@ module Aws::S3
7720
7709
  #
7721
7710
  # @option params [String] :continuation_token
7722
7711
  # The marker used to continue an inventory configuration listing that
7723
- # has been truncated. Use the NextContinuationToken from a previously
7712
+ # has been truncated. Use the `NextContinuationToken` from a previously
7724
7713
  # truncated list response to continue the listing. The continuation
7725
7714
  # token is an opaque value that Amazon S3 understands.
7726
7715
  #
@@ -7758,7 +7747,7 @@ module Aws::S3
7758
7747
  # resp.inventory_configuration_list[0].id #=> String
7759
7748
  # resp.inventory_configuration_list[0].included_object_versions #=> String, one of "All", "Current"
7760
7749
  # resp.inventory_configuration_list[0].optional_fields #=> Array
7761
- # resp.inventory_configuration_list[0].optional_fields[0] #=> String, one of "Size", "LastModifiedDate", "StorageClass", "ETag", "IsMultipartUploaded", "ReplicationStatus", "EncryptionStatus", "ObjectLockRetainUntilDate", "ObjectLockMode", "ObjectLockLegalHoldStatus", "IntelligentTieringAccessTier", "BucketKeyStatus", "ChecksumAlgorithm"
7750
+ # resp.inventory_configuration_list[0].optional_fields[0] #=> String, one of "Size", "LastModifiedDate", "StorageClass", "ETag", "IsMultipartUploaded", "ReplicationStatus", "EncryptionStatus", "ObjectLockRetainUntilDate", "ObjectLockMode", "ObjectLockLegalHoldStatus", "IntelligentTieringAccessTier", "BucketKeyStatus", "ChecksumAlgorithm", "ObjectAccessControlList", "ObjectOwner"
7762
7751
  # resp.inventory_configuration_list[0].schedule.frequency #=> String, one of "Daily", "Weekly"
7763
7752
  # resp.is_truncated #=> Boolean
7764
7753
  # resp.next_continuation_token #=> String
@@ -7820,7 +7809,7 @@ module Aws::S3
7820
7809
  #
7821
7810
  # @option params [String] :continuation_token
7822
7811
  # The marker that is used to continue a metrics configuration listing
7823
- # that has been truncated. Use the NextContinuationToken from a
7812
+ # that has been truncated. Use the `NextContinuationToken` from a
7824
7813
  # previously truncated list response to continue the listing. The
7825
7814
  # continuation token is an opaque value that Amazon S3 understands.
7826
7815
  #
@@ -7999,7 +7988,7 @@ module Aws::S3
7999
7988
  # When you use this action with S3 on Outposts through the Amazon Web
8000
7989
  # Services SDKs, you provide the Outposts access point ARN in place of
8001
7990
  # the bucket name. For more information about S3 on Outposts ARNs, see
8002
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
7991
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
8003
7992
  #
8004
7993
  #
8005
7994
  #
@@ -8018,15 +8007,15 @@ module Aws::S3
8018
8007
  #
8019
8008
  # @option params [String] :encoding_type
8020
8009
  # Requests Amazon S3 to encode the object keys in the response and
8021
- # specifies the encoding method to use. An object key may contain any
8022
- # Unicode character; however, XML 1.0 parser cannot parse some
8010
+ # specifies the encoding method to use. An object key can contain any
8011
+ # Unicode character; however, the XML 1.0 parser cannot parse some
8023
8012
  # characters, such as characters with an ASCII value from 0 to 10. For
8024
8013
  # characters that are not supported in XML 1.0, you can add this
8025
8014
  # parameter to request that Amazon S3 encode the keys in the response.
8026
8015
  #
8027
8016
  # @option params [String] :key_marker
8028
- # Together with upload-id-marker, this parameter specifies the multipart
8029
- # upload after which listing should begin.
8017
+ # Together with `upload-id-marker`, this parameter specifies the
8018
+ # multipart upload after which listing should begin.
8030
8019
  #
8031
8020
  # If `upload-id-marker` is not specified, only the keys
8032
8021
  # lexicographically greater than the specified `key-marker` will be
@@ -8045,8 +8034,8 @@ module Aws::S3
8045
8034
  # @option params [String] :prefix
8046
8035
  # Lists in-progress uploads only for those keys that begin with the
8047
8036
  # specified prefix. You can use prefixes to separate a bucket into
8048
- # different grouping of keys. (You can think of using prefix to make
8049
- # groups in the same way you'd use a folder in a file system.)
8037
+ # different grouping of keys. (You can think of using `prefix` to make
8038
+ # groups in the same way that you'd use a folder in a file system.)
8050
8039
  #
8051
8040
  # @option params [String] :upload_id_marker
8052
8041
  # Together with key-marker, specifies the multipart upload after which
@@ -8061,6 +8050,17 @@ module Aws::S3
8061
8050
  # a different account, the request fails with the HTTP status code `403
8062
8051
  # Forbidden` (access denied).
8063
8052
  #
8053
+ # @option params [String] :request_payer
8054
+ # Confirms that the requester knows that they will be charged for the
8055
+ # request. Bucket owners need not specify this parameter in their
8056
+ # requests. For information about downloading objects from Requester
8057
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
8058
+ # in the *Amazon S3 User Guide*.
8059
+ #
8060
+ #
8061
+ #
8062
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
8063
+ #
8064
8064
  # @return [Types::ListMultipartUploadsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8065
8065
  #
8066
8066
  # * {Types::ListMultipartUploadsOutput#bucket #bucket} => String
@@ -8075,6 +8075,7 @@ module Aws::S3
8075
8075
  # * {Types::ListMultipartUploadsOutput#uploads #uploads} => Array&lt;Types::MultipartUpload&gt;
8076
8076
  # * {Types::ListMultipartUploadsOutput#common_prefixes #common_prefixes} => Array&lt;Types::CommonPrefix&gt;
8077
8077
  # * {Types::ListMultipartUploadsOutput#encoding_type #encoding_type} => String
8078
+ # * {Types::ListMultipartUploadsOutput#request_charged #request_charged} => String
8078
8079
  #
8079
8080
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8080
8081
  #
@@ -8185,6 +8186,7 @@ module Aws::S3
8185
8186
  # prefix: "Prefix",
8186
8187
  # upload_id_marker: "UploadIdMarker",
8187
8188
  # expected_bucket_owner: "AccountId",
8189
+ # request_payer: "requester", # accepts requester
8188
8190
  # })
8189
8191
  #
8190
8192
  # @example Response structure
@@ -8211,6 +8213,7 @@ module Aws::S3
8211
8213
  # resp.common_prefixes #=> Array
8212
8214
  # resp.common_prefixes[0].prefix #=> String
8213
8215
  # resp.encoding_type #=> String, one of "url"
8216
+ # resp.request_charged #=> String, one of "requester"
8214
8217
  #
8215
8218
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads AWS API Documentation
8216
8219
  #
@@ -8225,10 +8228,10 @@ module Aws::S3
8225
8228
  # can also use request parameters as selection criteria to return
8226
8229
  # metadata about a subset of all the object versions.
8227
8230
  #
8228
- # To use this operation, you must have permissions to perform the
8231
+ # To use this operation, you must have permission to perform the
8229
8232
  # `s3:ListBucketVersions` action. Be aware of the name difference.
8230
8233
  #
8231
- # <note markdown="1"> A 200 OK response can contain valid or invalid XML. Make sure to
8234
+ # <note markdown="1"> A `200 OK` response can contain valid or invalid XML. Make sure to
8232
8235
  # design your application to parse the contents of the response and
8233
8236
  # handle it appropriately.
8234
8237
  #
@@ -8262,14 +8265,14 @@ module Aws::S3
8262
8265
  # A delimiter is a character that you specify to group keys. All keys
8263
8266
  # that contain the same string between the `prefix` and the first
8264
8267
  # occurrence of the delimiter are grouped under a single result element
8265
- # in CommonPrefixes. These groups are counted as one result against the
8266
- # max-keys limitation. These keys are not returned elsewhere in the
8267
- # response.
8268
+ # in `CommonPrefixes`. These groups are counted as one result against
8269
+ # the `max-keys` limitation. These keys are not returned elsewhere in
8270
+ # the response.
8268
8271
  #
8269
8272
  # @option params [String] :encoding_type
8270
8273
  # Requests Amazon S3 to encode the object keys in the response and
8271
- # specifies the encoding method to use. An object key may contain any
8272
- # Unicode character; however, XML 1.0 parser cannot parse some
8274
+ # specifies the encoding method to use. An object key can contain any
8275
+ # Unicode character; however, the XML 1.0 parser cannot parse some
8273
8276
  # characters, such as characters with an ASCII value from 0 to 10. For
8274
8277
  # characters that are not supported in XML 1.0, you can add this
8275
8278
  # parameter to request that Amazon S3 encode the keys in the response.
@@ -8278,20 +8281,20 @@ module Aws::S3
8278
8281
  # Specifies the key to start with when listing objects in a bucket.
8279
8282
  #
8280
8283
  # @option params [Integer] :max_keys
8281
- # Sets the maximum number of keys returned in the response. By default
8284
+ # Sets the maximum number of keys returned in the response. By default,
8282
8285
  # the action returns up to 1,000 key names. The response might contain
8283
8286
  # fewer keys but will never contain more. If additional keys satisfy the
8284
- # search criteria, but were not returned because max-keys was exceeded,
8285
- # the response contains &lt;isTruncated&gt;true&lt;/isTruncated&gt;. To
8286
- # return the additional keys, see key-marker and version-id-marker.
8287
+ # search criteria, but were not returned because `max-keys` was
8288
+ # exceeded, the response contains `<isTruncated>true</isTruncated>`. To
8289
+ # return the additional keys, see `key-marker` and `version-id-marker`.
8287
8290
  #
8288
8291
  # @option params [String] :prefix
8289
8292
  # Use this parameter to select only those keys that begin with the
8290
8293
  # specified prefix. You can use prefixes to separate a bucket into
8291
- # different groupings of keys. (You can think of using prefix to make
8292
- # groups in the same way you'd use a folder in a file system.) You can
8293
- # use prefix with delimiter to roll up numerous objects into a single
8294
- # result under CommonPrefixes.
8294
+ # different groupings of keys. (You can think of using `prefix` to make
8295
+ # groups in the same way that you'd use a folder in a file system.) You
8296
+ # can use `prefix` with `delimiter` to roll up numerous objects into a
8297
+ # single result under `CommonPrefixes`.
8295
8298
  #
8296
8299
  # @option params [String] :version_id_marker
8297
8300
  # Specifies the object version you want to start listing from.
@@ -8301,6 +8304,21 @@ module Aws::S3
8301
8304
  # a different account, the request fails with the HTTP status code `403
8302
8305
  # Forbidden` (access denied).
8303
8306
  #
8307
+ # @option params [String] :request_payer
8308
+ # Confirms that the requester knows that they will be charged for the
8309
+ # request. Bucket owners need not specify this parameter in their
8310
+ # requests. For information about downloading objects from Requester
8311
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
8312
+ # in the *Amazon S3 User Guide*.
8313
+ #
8314
+ #
8315
+ #
8316
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
8317
+ #
8318
+ # @option params [Array<String>] :optional_object_attributes
8319
+ # Specifies the optional fields that you want returned in the response.
8320
+ # Fields that you do not specify are not returned.
8321
+ #
8304
8322
  # @return [Types::ListObjectVersionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8305
8323
  #
8306
8324
  # * {Types::ListObjectVersionsOutput#is_truncated #is_truncated} => Boolean
@@ -8316,6 +8334,7 @@ module Aws::S3
8316
8334
  # * {Types::ListObjectVersionsOutput#max_keys #max_keys} => Integer
8317
8335
  # * {Types::ListObjectVersionsOutput#common_prefixes #common_prefixes} => Array&lt;Types::CommonPrefix&gt;
8318
8336
  # * {Types::ListObjectVersionsOutput#encoding_type #encoding_type} => String
8337
+ # * {Types::ListObjectVersionsOutput#request_charged #request_charged} => String
8319
8338
  #
8320
8339
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8321
8340
  #
@@ -8374,6 +8393,8 @@ module Aws::S3
8374
8393
  # prefix: "Prefix",
8375
8394
  # version_id_marker: "VersionIdMarker",
8376
8395
  # expected_bucket_owner: "AccountId",
8396
+ # request_payer: "requester", # accepts requester
8397
+ # optional_object_attributes: ["RestoreStatus"], # accepts RestoreStatus
8377
8398
  # })
8378
8399
  #
8379
8400
  # @example Response structure
@@ -8395,6 +8416,8 @@ module Aws::S3
8395
8416
  # resp.versions[0].last_modified #=> Time
8396
8417
  # resp.versions[0].owner.display_name #=> String
8397
8418
  # resp.versions[0].owner.id #=> String
8419
+ # resp.versions[0].restore_status.is_restore_in_progress #=> Boolean
8420
+ # resp.versions[0].restore_status.restore_expiry_date #=> Time
8398
8421
  # resp.delete_markers #=> Array
8399
8422
  # resp.delete_markers[0].owner.display_name #=> String
8400
8423
  # resp.delete_markers[0].owner.id #=> String
@@ -8409,6 +8432,7 @@ module Aws::S3
8409
8432
  # resp.common_prefixes #=> Array
8410
8433
  # resp.common_prefixes[0].prefix #=> String
8411
8434
  # resp.encoding_type #=> String, one of "url"
8435
+ # resp.request_charged #=> String, one of "requester"
8412
8436
  #
8413
8437
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions AWS API Documentation
8414
8438
  #
@@ -8467,7 +8491,7 @@ module Aws::S3
8467
8491
  # When you use this action with S3 on Outposts through the Amazon Web
8468
8492
  # Services SDKs, you provide the Outposts access point ARN in place of
8469
8493
  # the bucket name. For more information about S3 on Outposts ARNs, see
8470
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
8494
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
8471
8495
  #
8472
8496
  #
8473
8497
  #
@@ -8475,12 +8499,12 @@ module Aws::S3
8475
8499
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html
8476
8500
  #
8477
8501
  # @option params [String] :delimiter
8478
- # A delimiter is a character you use to group keys.
8502
+ # A delimiter is a character that you use to group keys.
8479
8503
  #
8480
8504
  # @option params [String] :encoding_type
8481
8505
  # Requests Amazon S3 to encode the object keys in the response and
8482
- # specifies the encoding method to use. An object key may contain any
8483
- # Unicode character; however, XML 1.0 parser cannot parse some
8506
+ # specifies the encoding method to use. An object key can contain any
8507
+ # Unicode character; however, the XML 1.0 parser cannot parse some
8484
8508
  # characters, such as characters with an ASCII value from 0 to 10. For
8485
8509
  # characters that are not supported in XML 1.0, you can add this
8486
8510
  # parameter to request that Amazon S3 encode the keys in the response.
@@ -8491,7 +8515,7 @@ module Aws::S3
8491
8515
  # bucket.
8492
8516
  #
8493
8517
  # @option params [Integer] :max_keys
8494
- # Sets the maximum number of keys returned in the response. By default
8518
+ # Sets the maximum number of keys returned in the response. By default,
8495
8519
  # the action returns up to 1,000 key names. The response might contain
8496
8520
  # fewer keys but will never contain more.
8497
8521
  #
@@ -8508,6 +8532,10 @@ module Aws::S3
8508
8532
  # a different account, the request fails with the HTTP status code `403
8509
8533
  # Forbidden` (access denied).
8510
8534
  #
8535
+ # @option params [Array<String>] :optional_object_attributes
8536
+ # Specifies the optional fields that you want returned in the response.
8537
+ # Fields that you do not specify are not returned.
8538
+ #
8511
8539
  # @return [Types::ListObjectsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8512
8540
  #
8513
8541
  # * {Types::ListObjectsOutput#is_truncated #is_truncated} => Boolean
@@ -8520,6 +8548,7 @@ module Aws::S3
8520
8548
  # * {Types::ListObjectsOutput#max_keys #max_keys} => Integer
8521
8549
  # * {Types::ListObjectsOutput#common_prefixes #common_prefixes} => Array&lt;Types::CommonPrefix&gt;
8522
8550
  # * {Types::ListObjectsOutput#encoding_type #encoding_type} => String
8551
+ # * {Types::ListObjectsOutput#request_charged #request_charged} => String
8523
8552
  #
8524
8553
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8525
8554
  #
@@ -8573,6 +8602,7 @@ module Aws::S3
8573
8602
  # prefix: "Prefix",
8574
8603
  # request_payer: "requester", # accepts requester
8575
8604
  # expected_bucket_owner: "AccountId",
8605
+ # optional_object_attributes: ["RestoreStatus"], # accepts RestoreStatus
8576
8606
  # })
8577
8607
  #
8578
8608
  # @example Response structure
@@ -8590,6 +8620,8 @@ module Aws::S3
8590
8620
  # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW"
8591
8621
  # resp.contents[0].owner.display_name #=> String
8592
8622
  # resp.contents[0].owner.id #=> String
8623
+ # resp.contents[0].restore_status.is_restore_in_progress #=> Boolean
8624
+ # resp.contents[0].restore_status.restore_expiry_date #=> Time
8593
8625
  # resp.name #=> String
8594
8626
  # resp.prefix #=> String
8595
8627
  # resp.delimiter #=> String
@@ -8597,6 +8629,7 @@ module Aws::S3
8597
8629
  # resp.common_prefixes #=> Array
8598
8630
  # resp.common_prefixes[0].prefix #=> String
8599
8631
  # resp.encoding_type #=> String, one of "url"
8632
+ # resp.request_charged #=> String, one of "requester"
8600
8633
  #
8601
8634
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects AWS API Documentation
8602
8635
  #
@@ -8614,21 +8647,23 @@ module Aws::S3
8614
8647
  # parse the contents of the response and handle it appropriately.
8615
8648
  # Objects are returned sorted in an ascending order of the respective
8616
8649
  # key names in the list. For more information about listing objects, see
8617
- # [Listing object keys programmatically][1]
8650
+ # [Listing object keys programmatically][1] in the *Amazon S3 User
8651
+ # Guide*.
8618
8652
  #
8619
8653
  # To use this operation, you must have READ access to the bucket.
8620
8654
  #
8621
8655
  # To use this action in an Identity and Access Management (IAM) policy,
8622
- # you must have permissions to perform the `s3:ListBucket` action. The
8656
+ # you must have permission to perform the `s3:ListBucket` action. The
8623
8657
  # bucket owner has this permission by default and can grant this
8624
8658
  # permission to others. For more information about permissions, see
8625
8659
  # [Permissions Related to Bucket Subresource Operations][2] and
8626
- # [Managing Access Permissions to Your Amazon S3 Resources][3].
8660
+ # [Managing Access Permissions to Your Amazon S3 Resources][3] in the
8661
+ # *Amazon S3 User Guide*.
8627
8662
  #
8628
8663
  # This section describes the latest revision of this action. We
8629
- # recommend that you use this revised API for application development.
8630
- # For backward compatibility, Amazon S3 continues to support the prior
8631
- # version of this API, [ListObjects][4].
8664
+ # recommend that you use this revised API operation for application
8665
+ # development. For backward compatibility, Amazon S3 continues to
8666
+ # support the prior version of this API operation, [ListObjects][4].
8632
8667
  #
8633
8668
  # To get a list of your buckets, see [ListBuckets][5].
8634
8669
  #
@@ -8669,7 +8704,7 @@ module Aws::S3
8669
8704
  # When you use this action with S3 on Outposts through the Amazon Web
8670
8705
  # Services SDKs, you provide the Outposts access point ARN in place of
8671
8706
  # the bucket name. For more information about S3 on Outposts ARNs, see
8672
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
8707
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
8673
8708
  #
8674
8709
  #
8675
8710
  #
@@ -8677,13 +8712,13 @@ module Aws::S3
8677
8712
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html
8678
8713
  #
8679
8714
  # @option params [String] :delimiter
8680
- # A delimiter is a character you use to group keys.
8715
+ # A delimiter is a character that you use to group keys.
8681
8716
  #
8682
8717
  # @option params [String] :encoding_type
8683
8718
  # Encoding type used by Amazon S3 to encode object keys in the response.
8684
8719
  #
8685
8720
  # @option params [Integer] :max_keys
8686
- # Sets the maximum number of keys returned in the response. By default
8721
+ # Sets the maximum number of keys returned in the response. By default,
8687
8722
  # the action returns up to 1,000 key names. The response might contain
8688
8723
  # fewer keys but will never contain more.
8689
8724
  #
@@ -8691,14 +8726,14 @@ module Aws::S3
8691
8726
  # Limits the response to keys that begin with the specified prefix.
8692
8727
  #
8693
8728
  # @option params [String] :continuation_token
8694
- # ContinuationToken indicates Amazon S3 that the list is being continued
8695
- # on this bucket with a token. ContinuationToken is obfuscated and is
8696
- # not a real key.
8729
+ # `ContinuationToken` indicates to Amazon S3 that the list is being
8730
+ # continued on this bucket with a token. `ContinuationToken` is
8731
+ # obfuscated and is not a real key.
8697
8732
  #
8698
8733
  # @option params [Boolean] :fetch_owner
8699
- # The owner field is not present in listV2 by default, if you want to
8700
- # return owner field with each key in the result then set the fetch
8701
- # owner field to true.
8734
+ # The owner field is not present in `ListObjectsV2` by default. If you
8735
+ # want to return the owner field with each key in the result, then set
8736
+ # the `FetchOwner` field to `true`.
8702
8737
  #
8703
8738
  # @option params [String] :start_after
8704
8739
  # StartAfter is where you want Amazon S3 to start listing from. Amazon
@@ -8715,6 +8750,10 @@ module Aws::S3
8715
8750
  # a different account, the request fails with the HTTP status code `403
8716
8751
  # Forbidden` (access denied).
8717
8752
  #
8753
+ # @option params [Array<String>] :optional_object_attributes
8754
+ # Specifies the optional fields that you want returned in the response.
8755
+ # Fields that you do not specify are not returned.
8756
+ #
8718
8757
  # @return [Types::ListObjectsV2Output] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8719
8758
  #
8720
8759
  # * {Types::ListObjectsV2Output#is_truncated #is_truncated} => Boolean
@@ -8729,6 +8768,7 @@ module Aws::S3
8729
8768
  # * {Types::ListObjectsV2Output#continuation_token #continuation_token} => String
8730
8769
  # * {Types::ListObjectsV2Output#next_continuation_token #next_continuation_token} => String
8731
8770
  # * {Types::ListObjectsV2Output#start_after #start_after} => String
8771
+ # * {Types::ListObjectsV2Output#request_charged #request_charged} => String
8732
8772
  #
8733
8773
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8734
8774
  #
@@ -8782,6 +8822,7 @@ module Aws::S3
8782
8822
  # start_after: "StartAfter",
8783
8823
  # request_payer: "requester", # accepts requester
8784
8824
  # expected_bucket_owner: "AccountId",
8825
+ # optional_object_attributes: ["RestoreStatus"], # accepts RestoreStatus
8785
8826
  # })
8786
8827
  #
8787
8828
  # @example Response structure
@@ -8797,6 +8838,8 @@ module Aws::S3
8797
8838
  # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW"
8798
8839
  # resp.contents[0].owner.display_name #=> String
8799
8840
  # resp.contents[0].owner.id #=> String
8841
+ # resp.contents[0].restore_status.is_restore_in_progress #=> Boolean
8842
+ # resp.contents[0].restore_status.restore_expiry_date #=> Time
8800
8843
  # resp.name #=> String
8801
8844
  # resp.prefix #=> String
8802
8845
  # resp.delimiter #=> String
@@ -8808,6 +8851,7 @@ module Aws::S3
8808
8851
  # resp.continuation_token #=> String
8809
8852
  # resp.next_continuation_token #=> String
8810
8853
  # resp.start_after #=> String
8854
+ # resp.request_charged #=> String, one of "requester"
8811
8855
  #
8812
8856
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2 AWS API Documentation
8813
8857
  #
@@ -8884,7 +8928,7 @@ module Aws::S3
8884
8928
  # When you use this action with S3 on Outposts through the Amazon Web
8885
8929
  # Services SDKs, you provide the Outposts access point ARN in place of
8886
8930
  # the bucket name. For more information about S3 on Outposts ARNs, see
8887
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
8931
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
8888
8932
  #
8889
8933
  #
8890
8934
  #
@@ -9187,7 +9231,8 @@ module Aws::S3
9187
9231
  #
9188
9232
  # Permissions
9189
9233
  #
9190
- # : You can set access permissions using one of the following methods:
9234
+ # : You can set access permissions by using one of the following
9235
+ # methods:
9191
9236
  #
9192
9237
  # * Specify a canned ACL with the `x-amz-acl` request header. Amazon
9193
9238
  # S3 supports a set of predefined ACLs, known as *canned ACLs*. Each
@@ -9760,19 +9805,20 @@ module Aws::S3
9760
9805
  # By default, all buckets have a default encryption configuration that
9761
9806
  # uses server-side encryption with Amazon S3 managed keys (SSE-S3). You
9762
9807
  # 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*.
9808
+ # server-side encryption with Key Management Service (KMS) keys
9809
+ # (SSE-KMS), dual-layer server-side encryption with Amazon Web Services
9810
+ # KMS keys (DSSE-KMS), or server-side encryption with customer-provided
9811
+ # keys (SSE-C). If you specify default encryption by using SSE-KMS, you
9812
+ # can also configure Amazon S3 Bucket Keys. For information about bucket
9813
+ # default encryption, see [Amazon S3 bucket default encryption][1] in
9814
+ # the *Amazon S3 User Guide*. For more information about S3 Bucket Keys,
9815
+ # see [Amazon S3 Bucket Keys][2] in the *Amazon S3 User Guide*.
9770
9816
  #
9771
9817
  # This action requires Amazon Web Services Signature Version 4. For more
9772
9818
  # information, see [ Authenticating Requests (Amazon Web Services
9773
9819
  # Signature Version 4)][3].
9774
9820
  #
9775
- # To use this operation, you must have permissions to perform the
9821
+ # To use this operation, you must have permission to perform the
9776
9822
  # `s3:PutEncryptionConfiguration` action. The bucket owner has this
9777
9823
  # permission by default. The bucket owner can grant this permission to
9778
9824
  # others. For more information about permissions, see [Permissions
@@ -9854,7 +9900,7 @@ module Aws::S3
9854
9900
  # rules: [ # required
9855
9901
  # {
9856
9902
  # apply_server_side_encryption_by_default: {
9857
- # sse_algorithm: "AES256", # required, accepts AES256, aws:kms
9903
+ # sse_algorithm: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
9858
9904
  # kms_master_key_id: "SSEKMSKeyId",
9859
9905
  # },
9860
9906
  # bucket_key_enabled: false,
@@ -10125,7 +10171,7 @@ module Aws::S3
10125
10171
  # },
10126
10172
  # id: "InventoryId", # required
10127
10173
  # included_object_versions: "All", # required, accepts All, Current
10128
- # optional_fields: ["Size"], # accepts Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus, EncryptionStatus, ObjectLockRetainUntilDate, ObjectLockMode, ObjectLockLegalHoldStatus, IntelligentTieringAccessTier, BucketKeyStatus, ChecksumAlgorithm
10174
+ # optional_fields: ["Size"], # accepts Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus, EncryptionStatus, ObjectLockRetainUntilDate, ObjectLockMode, ObjectLockLegalHoldStatus, IntelligentTieringAccessTier, BucketKeyStatus, ChecksumAlgorithm, ObjectAccessControlList, ObjectOwner
10129
10175
  # schedule: { # required
10130
10176
  # frequency: "Daily", # required, accepts Daily, Weekly
10131
10177
  # },
@@ -10314,11 +10360,11 @@ module Aws::S3
10314
10360
  # 1,000 rules. This limit is not adjustable. Each rule consists of the
10315
10361
  # following:
10316
10362
  #
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.
10363
+ # * A filter identifying a subset of objects to which the rule
10364
+ # applies. The filter can be based on a key name prefix, object
10365
+ # tags, or a combination of both.
10320
10366
  #
10321
- # * Status whether the rule is in effect.
10367
+ # * A status indicating whether the rule is in effect.
10322
10368
  #
10323
10369
  # * One or more lifecycle transition and expiration actions that you
10324
10370
  # want Amazon S3 to perform on the objects identified by the filter.
@@ -10342,7 +10388,7 @@ module Aws::S3
10342
10388
  # operation, a user must get the `s3:PutLifecycleConfiguration`
10343
10389
  # permission.
10344
10390
  #
10345
- # You can also explicitly deny permissions. Explicit deny also
10391
+ # You can also explicitly deny permissions. An explicit deny also
10346
10392
  # supersedes any other permissions. If you want to block users or
10347
10393
  # accounts from removing or deleting objects from your bucket, you
10348
10394
  # must deny them permissions for the following actions:
@@ -10525,7 +10571,7 @@ module Aws::S3
10525
10571
  # Grantee Values
10526
10572
  #
10527
10573
  # : You can specify the person (grantee) to whom you're assigning
10528
- # access rights (using request elements) in the following ways:
10574
+ # access rights (by using request elements) in the following ways:
10529
10575
  #
10530
10576
  # * By the person's ID:
10531
10577
  #
@@ -10533,23 +10579,23 @@ module Aws::S3
10533
10579
  # xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName>
10534
10580
  # </Grantee>`
10535
10581
  #
10536
- # DisplayName is optional and ignored in the request.
10582
+ # `DisplayName` is optional and ignored in the request.
10537
10583
  #
10538
10584
  # * By Email address:
10539
10585
  #
10540
10586
  # ` <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10541
10587
  # xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress></Grantee>`
10542
10588
  #
10543
- # The grantee is resolved to the CanonicalUser and, in a response to
10544
- # a GET Object acl request, appears as the CanonicalUser.
10589
+ # The grantee is resolved to the `CanonicalUser` and, in a response
10590
+ # to a `GETObjectAcl` request, appears as the CanonicalUser.
10545
10591
  #
10546
10592
  # * By URI:
10547
10593
  #
10548
10594
  # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10549
10595
  # xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>`
10550
10596
  #
10551
- # To enable logging, you use LoggingEnabled and its children request
10552
- # elements. To disable logging, you use an empty BucketLoggingStatus
10597
+ # To enable logging, you use `LoggingEnabled` and its children request
10598
+ # elements. To disable logging, you use an empty `BucketLoggingStatus`
10553
10599
  # request element:
10554
10600
  #
10555
10601
  # `<BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/2006-03-01"
@@ -10704,7 +10750,7 @@ module Aws::S3
10704
10750
  #
10705
10751
  # * [ListBucketMetricsConfigurations][6]
10706
10752
  #
10707
- # `GetBucketLifecycle` has the following special error:
10753
+ # `PutBucketMetricsConfiguration` has the following special error:
10708
10754
  #
10709
10755
  # * Error code: `TooManyConfigurations`
10710
10756
  #
@@ -10899,7 +10945,7 @@ module Aws::S3
10899
10945
  #
10900
10946
  # By default, only the bucket owner can configure notifications on a
10901
10947
  # bucket. However, bucket owners can use a bucket policy to grant
10902
- # permission to other users to set this configuration with
10948
+ # permission to other users to set this configuration with the required
10903
10949
  # `s3:PutBucketNotification` permission.
10904
10950
  #
10905
10951
  # <note markdown="1"> The PUT notification is an atomic operation. For example, suppose your
@@ -12041,15 +12087,15 @@ module Aws::S3
12041
12087
  #
12042
12088
  # </note>
12043
12089
  #
12044
- # You have three mutually exclusive options to protect data using
12090
+ # You have four mutually exclusive options to protect data using
12045
12091
  # server-side encryption in Amazon S3, depending on how you choose to
12046
12092
  # manage the encryption keys. Specifically, the encryption key options
12047
12093
  # 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].
12094
+ # (SSE-KMS or DSSE-KMS), and customer-provided keys (SSE-C). Amazon S3
12095
+ # encrypts data with server-side encryption by using Amazon S3 managed
12096
+ # keys (SSE-S3) by default. You can optionally tell Amazon S3 to encrypt
12097
+ # data at rest by using server-side encryption with other key options.
12098
+ # For more information, see [Using Server-Side Encryption][3].
12053
12099
  #
12054
12100
  # When adding a new object, you can use headers to grant ACL-based
12055
12101
  # permissions to individual Amazon Web Services accounts or to
@@ -12145,7 +12191,7 @@ module Aws::S3
12145
12191
  # When you use this action with S3 on Outposts through the Amazon Web
12146
12192
  # Services SDKs, you provide the Outposts access point ARN in place of
12147
12193
  # the bucket name. For more information about S3 on Outposts ARNs, see
12148
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
12194
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
12149
12195
  #
12150
12196
  #
12151
12197
  #
@@ -12312,7 +12358,7 @@ module Aws::S3
12312
12358
  #
12313
12359
  # @option params [String] :server_side_encryption
12314
12360
  # The server-side encryption algorithm used when storing this object in
12315
- # Amazon S3 (for example, AES256, `aws:kms`).
12361
+ # Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
12316
12362
  #
12317
12363
  # @option params [String] :storage_class
12318
12364
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
@@ -12369,15 +12415,15 @@ module Aws::S3
12369
12415
  # ensure that the encryption key was transmitted without error.
12370
12416
  #
12371
12417
  # @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`
12418
+ # If `x-amz-server-side-encryption` has a valid value of `aws:kms` or
12419
+ # `aws:kms:dsse`, this header specifies the ID of the Key Management
12420
+ # Service (KMS) symmetric encryption customer managed key that was used
12421
+ # for the object. If you specify `x-amz-server-side-encryption:aws:kms`
12422
+ # or `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide`
12377
12423
  # 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.
12424
+ # Amazon Web Services managed key (`aws/s3`) to protect the data. If the
12425
+ # KMS key does not exist in the same account that's issuing the
12426
+ # command, you must use the full ARN and not just the ID.
12381
12427
  #
12382
12428
  # @option params [String] :ssekms_encryption_context
12383
12429
  # Specifies the Amazon Web Services KMS Encryption Context to use for
@@ -12389,9 +12435,9 @@ module Aws::S3
12389
12435
  #
12390
12436
  # @option params [Boolean] :bucket_key_enabled
12391
12437
  # 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.
12438
+ # encryption with server-side encryption using Key Management Service
12439
+ # (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
12440
+ # to use an S3 Bucket Key for object encryption with SSE-KMS.
12395
12441
  #
12396
12442
  # Specifying this header with a PUT action doesn’t affect bucket-level
12397
12443
  # settings for S3 Bucket Key.
@@ -12449,60 +12495,62 @@ module Aws::S3
12449
12495
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
12450
12496
  #
12451
12497
  #
12452
- # @example Example: To upload an object and specify optional tags
12498
+ # @example Example: To upload an object
12453
12499
  #
12454
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
12455
- # # S3 returns version ID of the newly created object.
12500
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
12501
+ # # syntax. S3 returns VersionId of the newly created object.
12456
12502
  #
12457
12503
  # resp = client.put_object({
12458
- # body: "c:\\HappyFace.jpg",
12504
+ # body: "HappyFace.jpg",
12459
12505
  # bucket: "examplebucket",
12460
12506
  # key: "HappyFace.jpg",
12461
- # tagging: "key1=value1&key2=value2",
12462
12507
  # })
12463
12508
  #
12464
12509
  # resp.to_h outputs the following:
12465
12510
  # {
12466
12511
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12467
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
12512
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
12468
12513
  # }
12469
12514
  #
12470
- # @example Example: To upload an object and specify canned ACL.
12515
+ # @example Example: To upload object and specify user-defined metadata
12471
12516
  #
12472
- # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
12473
- # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
12517
+ # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
12518
+ # # enabled, S3 returns version ID in response.
12474
12519
  #
12475
12520
  # resp = client.put_object({
12476
- # acl: "authenticated-read",
12477
12521
  # body: "filetoupload",
12478
12522
  # bucket: "examplebucket",
12479
12523
  # key: "exampleobject",
12524
+ # metadata: {
12525
+ # "metadata1" => "value1",
12526
+ # "metadata2" => "value2",
12527
+ # },
12480
12528
  # })
12481
12529
  #
12482
12530
  # resp.to_h outputs the following:
12483
12531
  # {
12484
12532
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12485
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
12533
+ # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
12486
12534
  # }
12487
12535
  #
12488
- # @example Example: To upload an object and specify server-side encryption and object tags
12536
+ # @example Example: To upload an object (specify optional headers)
12489
12537
  #
12490
- # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
12491
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
12538
+ # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
12539
+ # # storage class and use server-side encryption.
12492
12540
  #
12493
12541
  # resp = client.put_object({
12494
- # body: "filetoupload",
12542
+ # body: "HappyFace.jpg",
12495
12543
  # bucket: "examplebucket",
12496
- # key: "exampleobject",
12544
+ # key: "HappyFace.jpg",
12497
12545
  # server_side_encryption: "AES256",
12498
- # tagging: "key1=value1&key2=value2",
12546
+ # storage_class: "STANDARD_IA",
12499
12547
  # })
12500
12548
  #
12501
12549
  # resp.to_h outputs the following:
12502
12550
  # {
12503
12551
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12504
12552
  # server_side_encryption: "AES256",
12505
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
12553
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
12506
12554
  # }
12507
12555
  #
12508
12556
  # @example Example: To create an object.
@@ -12521,62 +12569,60 @@ module Aws::S3
12521
12569
  # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
12522
12570
  # }
12523
12571
  #
12524
- # @example Example: To upload an object
12572
+ # @example Example: To upload an object and specify server-side encryption and object tags
12525
12573
  #
12526
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
12527
- # # syntax. S3 returns VersionId of the newly created object.
12574
+ # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
12575
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
12528
12576
  #
12529
12577
  # resp = client.put_object({
12530
- # body: "HappyFace.jpg",
12578
+ # body: "filetoupload",
12531
12579
  # bucket: "examplebucket",
12532
- # key: "HappyFace.jpg",
12580
+ # key: "exampleobject",
12581
+ # server_side_encryption: "AES256",
12582
+ # tagging: "key1=value1&key2=value2",
12533
12583
  # })
12534
12584
  #
12535
12585
  # resp.to_h outputs the following:
12536
12586
  # {
12537
12587
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12538
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
12588
+ # server_side_encryption: "AES256",
12589
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
12539
12590
  # }
12540
12591
  #
12541
- # @example Example: To upload an object (specify optional headers)
12592
+ # @example Example: To upload an object and specify optional tags
12542
12593
  #
12543
- # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
12544
- # # storage class and use server-side encryption.
12594
+ # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
12595
+ # # S3 returns version ID of the newly created object.
12545
12596
  #
12546
12597
  # resp = client.put_object({
12547
- # body: "HappyFace.jpg",
12598
+ # body: "c:\\HappyFace.jpg",
12548
12599
  # bucket: "examplebucket",
12549
12600
  # key: "HappyFace.jpg",
12550
- # server_side_encryption: "AES256",
12551
- # storage_class: "STANDARD_IA",
12601
+ # tagging: "key1=value1&key2=value2",
12552
12602
  # })
12553
12603
  #
12554
12604
  # resp.to_h outputs the following:
12555
12605
  # {
12556
12606
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12557
- # server_side_encryption: "AES256",
12558
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
12607
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
12559
12608
  # }
12560
12609
  #
12561
- # @example Example: To upload object and specify user-defined metadata
12610
+ # @example Example: To upload an object and specify canned ACL.
12562
12611
  #
12563
- # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
12564
- # # enabled, S3 returns version ID in response.
12612
+ # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
12613
+ # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
12565
12614
  #
12566
12615
  # resp = client.put_object({
12616
+ # acl: "authenticated-read",
12567
12617
  # body: "filetoupload",
12568
12618
  # bucket: "examplebucket",
12569
12619
  # key: "exampleobject",
12570
- # metadata: {
12571
- # "metadata1" => "value1",
12572
- # "metadata2" => "value2",
12573
- # },
12574
12620
  # })
12575
12621
  #
12576
12622
  # resp.to_h outputs the following:
12577
12623
  # {
12578
12624
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12579
- # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
12625
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
12580
12626
  # }
12581
12627
  #
12582
12628
  # @example Streaming a file from disk
@@ -12612,7 +12658,7 @@ module Aws::S3
12612
12658
  # metadata: {
12613
12659
  # "MetadataKey" => "MetadataValue",
12614
12660
  # },
12615
- # server_side_encryption: "AES256", # accepts AES256, aws:kms
12661
+ # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
12616
12662
  # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
12617
12663
  # website_redirect_location: "WebsiteRedirectLocation",
12618
12664
  # sse_customer_algorithm: "SSECustomerAlgorithm",
@@ -12637,7 +12683,7 @@ module Aws::S3
12637
12683
  # resp.checksum_crc32c #=> String
12638
12684
  # resp.checksum_sha1 #=> String
12639
12685
  # resp.checksum_sha256 #=> String
12640
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
12686
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
12641
12687
  # resp.version_id #=> String
12642
12688
  # resp.sse_customer_algorithm #=> String
12643
12689
  # resp.sse_customer_key_md5 #=> String
@@ -12922,7 +12968,7 @@ module Aws::S3
12922
12968
  # When you use this action with S3 on Outposts through the Amazon Web
12923
12969
  # Services SDKs, you provide the Outposts access point ARN in place of
12924
12970
  # the bucket name. For more information about S3 on Outposts ARNs, see
12925
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
12971
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
12926
12972
  #
12927
12973
  #
12928
12974
  #
@@ -13426,7 +13472,7 @@ module Aws::S3
13426
13472
  # When you use this action with S3 on Outposts through the Amazon Web
13427
13473
  # Services SDKs, you provide the Outposts access point ARN in place of
13428
13474
  # the bucket name. For more information about S3 on Outposts ARNs, see
13429
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
13475
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
13430
13476
  #
13431
13477
  #
13432
13478
  #
@@ -13725,19 +13771,20 @@ module Aws::S3
13725
13771
  #
13726
13772
  # Restoring objects
13727
13773
  #
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.
13774
+ # : Objects that you archive to the S3 Glacier Flexible Retrieval
13775
+ # Flexible Retrieval or S3 Glacier Deep Archive storage class, and S3
13776
+ # Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive
13777
+ # tiers, are not accessible in real time. For objects in the S3
13778
+ # Glacier Flexible Retrieval Flexible Retrieval or S3 Glacier Deep
13779
+ # Archive storage classes, you must first initiate a restore request,
13780
+ # and then wait until a temporary copy of the object is available. If
13781
+ # you want a permanent copy of the object, create a copy of it in the
13782
+ # Amazon S3 Standard storage class in your S3 bucket. To access an
13783
+ # archived object, you must restore the object for the duration
13784
+ # (number of days) that you specify. For objects in the Archive Access
13785
+ # or Deep Archive Access tiers of S3 Intelligent-Tiering, you must
13786
+ # first initiate a restore request, and then wait until the object is
13787
+ # moved into the Frequent Access tier.
13741
13788
  #
13742
13789
  # To restore a specific object version, you can provide a version ID.
13743
13790
  # If you don't provide a version ID, Amazon S3 restores the current
@@ -13748,37 +13795,38 @@ module Aws::S3
13748
13795
  # request body:
13749
13796
  #
13750
13797
  # * `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.
13798
+ # your data stored in the S3 Glacier Flexible Retrieval Flexible
13799
+ # Retrieval storage class or S3 Intelligent-Tiering Archive tier
13800
+ # when occasional urgent requests for restoring archives are
13801
+ # required. For all but the largest archived objects (250 MB+), data
13802
+ # accessed using Expedited retrievals is typically made available
13803
+ # within 1–5 minutes. Provisioned capacity ensures that retrieval
13804
+ # capacity for Expedited retrievals is available when you need it.
13805
+ # Expedited retrievals and provisioned capacity are not available
13806
+ # for objects stored in the S3 Glacier Deep Archive storage class or
13807
+ # S3 Intelligent-Tiering Deep Archive tier.
13761
13808
  #
13762
13809
  # * `Standard` - Standard retrievals allow you to access any of your
13763
13810
  # archived objects within several hours. This is the default option
13764
13811
  # for retrieval requests that do not specify the retrieval option.
13765
13812
  # 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.
13813
+ # stored in the S3 Glacier Flexible Retrieval Flexible Retrieval
13814
+ # storage class or S3 Intelligent-Tiering Archive tier. They
13815
+ # typically finish within 12 hours for objects stored in the S3
13816
+ # Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep
13817
+ # Archive tier. Standard retrievals are free for objects stored in
13818
+ # S3 Intelligent-Tiering.
13771
13819
  #
13772
13820
  # * `Bulk` - Bulk retrievals free for objects stored in the S3 Glacier
13773
13821
  # Flexible Retrieval and S3 Intelligent-Tiering storage classes,
13774
13822
  # enabling you to retrieve large amounts, even petabytes, of data at
13775
13823
  # 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.
13824
+ # objects stored in the S3 Glacier Flexible Retrieval Flexible
13825
+ # Retrieval storage class or S3 Intelligent-Tiering Archive tier.
13826
+ # Bulk retrievals are also the lowest-cost retrieval option when
13827
+ # restoring objects from S3 Glacier Deep Archive. They typically
13828
+ # finish within 48 hours for objects stored in the S3 Glacier Deep
13829
+ # Archive storage class or S3 Intelligent-Tiering Deep Archive tier.
13782
13830
  #
13783
13831
  # For more information about archive retrieval options and provisioned
13784
13832
  # capacity for `Expedited` data access, see [Restoring Archived
@@ -13886,7 +13934,7 @@ module Aws::S3
13886
13934
  # When you use this action with S3 on Outposts through the Amazon Web
13887
13935
  # Services SDKs, you provide the Outposts access point ARN in place of
13888
13936
  # the bucket name. For more information about S3 on Outposts ARNs, see
13889
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
13937
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
13890
13938
  #
13891
13939
  #
13892
13940
  #
@@ -14011,7 +14059,7 @@ module Aws::S3
14011
14059
  # bucket_name: "BucketName", # required
14012
14060
  # prefix: "LocationPrefix", # required
14013
14061
  # encryption: {
14014
- # encryption_type: "AES256", # required, accepts AES256, aws:kms
14062
+ # encryption_type: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
14015
14063
  # kms_key_id: "SSEKMSKeyId",
14016
14064
  # kms_context: "KMSContext",
14017
14065
  # },
@@ -14139,10 +14187,14 @@ module Aws::S3
14139
14187
  # the request parameters), you cannot specify the range of bytes of
14140
14188
  # an object to return.
14141
14189
  #
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
14190
+ # * The `GLACIER`, `DEEP_ARCHIVE`, and `REDUCED_REDUNDANCY` storage
14191
+ # classes, or the `ARCHIVE_ACCESS` and `DEEP_ARCHIVE_ACCESS` access
14192
+ # tiers of the `INTELLIGENT_TIERING` storage class: You cannot query
14193
+ # objects in the `GLACIER`, `DEEP_ARCHIVE`, or `REDUCED_REDUNDANCY`
14194
+ # storage classes, nor objects in the `ARCHIVE_ACCESS` or
14195
+ # `DEEP_ARCHIVE_ACCESS` access tiers of the `INTELLIGENT_TIERING`
14196
+ # storage class. For more information about storage classes, see
14197
+ # [Using Amazon S3 storage classes][9] in the *Amazon S3 User
14146
14198
  # Guide*.
14147
14199
  #
14148
14200
  # Special Errors
@@ -14168,7 +14220,7 @@ module Aws::S3
14168
14220
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
14169
14221
  # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html
14170
14222
  # [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
14223
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html
14172
14224
  # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList
14173
14225
  # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
14174
14226
  # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
@@ -14616,7 +14668,7 @@ module Aws::S3
14616
14668
  # When you use this action with S3 on Outposts through the Amazon Web
14617
14669
  # Services SDKs, you provide the Outposts access point ARN in place of
14618
14670
  # the bucket name. For more information about S3 on Outposts ARNs, see
14619
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
14671
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
14620
14672
  #
14621
14673
  #
14622
14674
  #
@@ -14797,7 +14849,7 @@ module Aws::S3
14797
14849
  #
14798
14850
  # @example Response structure
14799
14851
  #
14800
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
14852
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
14801
14853
  # resp.etag #=> String
14802
14854
  # resp.checksum_crc32 #=> String
14803
14855
  # resp.checksum_crc32c #=> String
@@ -14965,7 +15017,7 @@ module Aws::S3
14965
15017
  # When you use this action with S3 on Outposts through the Amazon Web
14966
15018
  # Services SDKs, you provide the Outposts access point ARN in place of
14967
15019
  # the bucket name. For more information about S3 on Outposts ARNs, see
14968
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
15020
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
14969
15021
  #
14970
15022
  #
14971
15023
  #
@@ -15115,45 +15167,45 @@ module Aws::S3
15115
15167
  # * {Types::UploadPartCopyOutput#request_charged #request_charged} => String
15116
15168
  #
15117
15169
  #
15118
- # @example Example: To upload a part by copying data from an existing object as data source
15170
+ # @example Example: To upload a part by copying byte range from an existing object as data source
15119
15171
  #
15120
- # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
15172
+ # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
15173
+ # # data source.
15121
15174
  #
15122
15175
  # resp = client.upload_part_copy({
15123
15176
  # bucket: "examplebucket",
15124
15177
  # copy_source: "/bucketname/sourceobjectkey",
15178
+ # copy_source_range: "bytes=1-100000",
15125
15179
  # key: "examplelargeobject",
15126
- # part_number: 1,
15180
+ # part_number: 2,
15127
15181
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
15128
15182
  # })
15129
15183
  #
15130
15184
  # resp.to_h outputs the following:
15131
15185
  # {
15132
15186
  # copy_part_result: {
15133
- # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
15134
- # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
15187
+ # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
15188
+ # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
15135
15189
  # },
15136
15190
  # }
15137
15191
  #
15138
- # @example Example: To upload a part by copying byte range from an existing object as data source
15192
+ # @example Example: To upload a part by copying data from an existing object as data source
15139
15193
  #
15140
- # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
15141
- # # data source.
15194
+ # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
15142
15195
  #
15143
15196
  # resp = client.upload_part_copy({
15144
15197
  # bucket: "examplebucket",
15145
15198
  # copy_source: "/bucketname/sourceobjectkey",
15146
- # copy_source_range: "bytes=1-100000",
15147
15199
  # key: "examplelargeobject",
15148
- # part_number: 2,
15200
+ # part_number: 1,
15149
15201
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
15150
15202
  # })
15151
15203
  #
15152
15204
  # resp.to_h outputs the following:
15153
15205
  # {
15154
15206
  # copy_part_result: {
15155
- # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
15156
- # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
15207
+ # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
15208
+ # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
15157
15209
  # },
15158
15210
  # }
15159
15211
  #
@@ -15190,7 +15242,7 @@ module Aws::S3
15190
15242
  # resp.copy_part_result.checksum_crc32c #=> String
15191
15243
  # resp.copy_part_result.checksum_sha1 #=> String
15192
15244
  # resp.copy_part_result.checksum_sha256 #=> String
15193
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
15245
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
15194
15246
  # resp.sse_customer_algorithm #=> String
15195
15247
  # resp.sse_customer_key_md5 #=> String
15196
15248
  # resp.ssekms_key_id #=> String
@@ -15569,7 +15621,7 @@ module Aws::S3
15569
15621
  # replication_status: "COMPLETE", # accepts COMPLETE, PENDING, FAILED, REPLICA
15570
15622
  # request_charged: "requester", # accepts requester
15571
15623
  # restore: "Restore",
15572
- # server_side_encryption: "AES256", # accepts AES256, aws:kms
15624
+ # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
15573
15625
  # sse_customer_algorithm: "SSECustomerAlgorithm",
15574
15626
  # ssekms_key_id: "SSEKMSKeyId",
15575
15627
  # sse_customer_key_md5: "SSECustomerKeyMD5",
@@ -15601,7 +15653,7 @@ module Aws::S3
15601
15653
  params: params,
15602
15654
  config: config)
15603
15655
  context[:gem_name] = 'aws-sdk-s3'
15604
- context[:gem_version] = '1.123.1'
15656
+ context[:gem_version] = '1.132.0'
15605
15657
  Seahorse::Client::Request.new(handlers, context)
15606
15658
  end
15607
15659