aws-sdk-s3 1.123.1 → 1.132.0

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