aws-sdk-s3 1.121.0 → 1.122.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -501,14 +501,14 @@ module Aws::S3
501
501
  # name. For more information about access point ARNs, see [Using access
502
502
  # points][1] in the *Amazon S3 User Guide*.
503
503
  #
504
- # When using this action with Amazon S3 on Outposts, you must direct
504
+ # When you use this action with Amazon S3 on Outposts, you must direct
505
505
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
506
506
  # takes the form `
507
507
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
508
- # When using this action with S3 on Outposts through the Amazon Web
509
- # Services SDKs, you provide the Outposts bucket ARN in place of the
510
- # bucket name. For more information about S3 on Outposts ARNs, see
511
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
508
+ # When you use this action with S3 on Outposts through the Amazon Web
509
+ # Services SDKs, you provide the Outposts access point ARN in place of
510
+ # the bucket name. For more information about S3 on Outposts ARNs, see
511
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
512
512
  #
513
513
  #
514
514
  #
@@ -596,10 +596,17 @@ module Aws::S3
596
596
  # minutes to complete. After Amazon S3 begins processing the request, it
597
597
  # sends an HTTP response header that specifies a 200 OK response. While
598
598
  # processing is in progress, Amazon S3 periodically sends white space
599
- # characters to keep the connection from timing out. Because a request
600
- # could fail after the initial 200 OK response has been sent, it is
601
- # important that you check the response body to determine whether the
602
- # request succeeded.
599
+ # characters to keep the connection from timing out. A request could
600
+ # fail after the initial 200 OK response has been sent. This means that
601
+ # a `200 OK` response can contain either a success or an error. If you
602
+ # call the S3 API directly, make sure to design your application to
603
+ # parse the contents of the response and handle it appropriately. If you
604
+ # use Amazon Web Services SDKs, SDKs handle this condition. The SDKs
605
+ # detect the embedded error and apply error handling per your
606
+ # configuration settings (including automatically retrying the request
607
+ # as appropriate). If the condition persists, the SDKs throws an
608
+ # exception (or, for the SDKs that don't use exceptions, they return
609
+ # the error).
603
610
  #
604
611
  # Note that if `CompleteMultipartUpload` fails, applications should be
605
612
  # prepared to retry the failed requests. For more information, see
@@ -683,14 +690,14 @@ module Aws::S3
683
690
  # name. For more information about access point ARNs, see [Using access
684
691
  # points][1] in the *Amazon S3 User Guide*.
685
692
  #
686
- # When using this action with Amazon S3 on Outposts, you must direct
693
+ # When you use this action with Amazon S3 on Outposts, you must direct
687
694
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
688
695
  # takes the form `
689
696
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
690
- # When using this action with S3 on Outposts through the Amazon Web
691
- # Services SDKs, you provide the Outposts bucket ARN in place of the
692
- # bucket name. For more information about S3 on Outposts ARNs, see
693
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
697
+ # When you use this action with S3 on Outposts through the Amazon Web
698
+ # Services SDKs, you provide the Outposts access point ARN in place of
699
+ # the bucket name. For more information about S3 on Outposts ARNs, see
700
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
694
701
  #
695
702
  #
696
703
  #
@@ -922,8 +929,14 @@ module Aws::S3
922
929
  # before the copy action starts, you receive a standard Amazon S3 error.
923
930
  # If the error occurs during the copy operation, the error response is
924
931
  # embedded in the `200 OK` response. This means that a `200 OK` response
925
- # can contain either a success or an error. Design your application to
926
- # parse the contents of the response and handle it appropriately.
932
+ # can contain either a success or an error. If you call the S3 API
933
+ # directly, make sure to design your application to parse the contents
934
+ # of the response and handle it appropriately. If you use Amazon Web
935
+ # Services SDKs, SDKs handle this condition. The SDKs detect the
936
+ # embedded error and apply error handling per your configuration
937
+ # settings (including automatically retrying the request as
938
+ # appropriate). If the condition persists, the SDKs throws an exception
939
+ # (or, for the SDKs that don't use exceptions, they return the error).
927
940
  #
928
941
  # If the copy is successful, you receive a response with information
929
942
  # about the copied object.
@@ -943,145 +956,169 @@ module Aws::S3
943
956
  # endpoint, you get a 400 `Bad Request` error. For more information, see
944
957
  # [Transfer Acceleration][4].
945
958
  #
946
- # **Metadata**
947
- #
948
- # When copying an object, you can preserve all metadata (default) or
949
- # specify new metadata. However, the ACL is not preserved and is set to
950
- # private for the user making the request. To override the default ACL
951
- # setting, specify a new ACL when generating a copy request. For more
952
- # information, see [Using ACLs][5].
959
+ # Metadata
953
960
  #
954
- # To specify whether you want the object metadata copied from the source
955
- # object or replaced with metadata provided in the request, you can
956
- # optionally add the `x-amz-metadata-directive` header. When you grant
957
- # permissions, you can use the `s3:x-amz-metadata-directive` condition
958
- # key to enforce certain metadata behavior when objects are uploaded.
959
- # For more information, see [Specifying Conditions in a Policy][6] in
960
- # the *Amazon S3 User Guide*. For a complete list of Amazon S3-specific
961
- # condition keys, see [Actions, Resources, and Condition Keys for Amazon
962
- # S3][7].
961
+ # : When copying an object, you can preserve all metadata (default) or
962
+ # specify new metadata. However, the ACL is not preserved and is set
963
+ # to private for the user making the request. To override the default
964
+ # ACL setting, specify a new ACL when generating a copy request. For
965
+ # more information, see [Using ACLs][5].
963
966
  #
964
- # **x-amz-copy-source-if Headers**
967
+ # To specify whether you want the object metadata copied from the
968
+ # source object or replaced with metadata provided in the request, you
969
+ # can optionally add the `x-amz-metadata-directive` header. When you
970
+ # grant permissions, you can use the `s3:x-amz-metadata-directive`
971
+ # condition key to enforce certain metadata behavior when objects are
972
+ # uploaded. For more information, see [Specifying Conditions in a
973
+ # Policy][6] in the *Amazon S3 User Guide*. For a complete list of
974
+ # Amazon S3-specific condition keys, see [Actions, Resources, and
975
+ # Condition Keys for Amazon S3][7].
965
976
  #
966
- # To only copy an object under certain conditions, such as whether the
967
- # `Etag` matches or whether the object was modified before or after a
968
- # specified date, use the following request parameters:
977
+ # <note markdown="1"> `x-amz-website-redirect-location` is unique to each object and must
978
+ # be specified in the request headers to copy the value.
969
979
  #
970
- # * `x-amz-copy-source-if-match`
971
- #
972
- # * `x-amz-copy-source-if-none-match`
980
+ # </note>
973
981
  #
974
- # * `x-amz-copy-source-if-unmodified-since`
982
+ # x-amz-copy-source-if Headers
975
983
  #
976
- # * `x-amz-copy-source-if-modified-since`
984
+ # : To only copy an object under certain conditions, such as whether the
985
+ # `Etag` matches or whether the object was modified before or after a
986
+ # specified date, use the following request parameters:
977
987
  #
978
- # If both the `x-amz-copy-source-if-match` and
979
- # `x-amz-copy-source-if-unmodified-since` headers are present in the
980
- # request and evaluate as follows, Amazon S3 returns `200 OK` and copies
981
- # the data:
988
+ # * `x-amz-copy-source-if-match`
982
989
  #
983
- # * `x-amz-copy-source-if-match` condition evaluates to true
990
+ # * `x-amz-copy-source-if-none-match`
984
991
  #
985
- # * `x-amz-copy-source-if-unmodified-since` condition evaluates to false
992
+ # * `x-amz-copy-source-if-unmodified-since`
986
993
  #
987
- # If both the `x-amz-copy-source-if-none-match` and
988
- # `x-amz-copy-source-if-modified-since` headers are present in the
989
- # request and evaluate as follows, Amazon S3 returns the `412
990
- # Precondition Failed` response code:
994
+ # * `x-amz-copy-source-if-modified-since`
991
995
  #
992
- # * `x-amz-copy-source-if-none-match` condition evaluates to false
996
+ # If both the `x-amz-copy-source-if-match` and
997
+ # `x-amz-copy-source-if-unmodified-since` headers are present in the
998
+ # request and evaluate as follows, Amazon S3 returns `200 OK` and
999
+ # copies the data:
993
1000
  #
994
- # * `x-amz-copy-source-if-modified-since` condition evaluates to true
1001
+ # * `x-amz-copy-source-if-match` condition evaluates to true
995
1002
  #
996
- # <note markdown="1"> All headers with the `x-amz-` prefix, including `x-amz-copy-source`,
997
- # must be signed.
1003
+ # * `x-amz-copy-source-if-unmodified-since` condition evaluates to
1004
+ # false
998
1005
  #
999
- # </note>
1006
+ # If both the `x-amz-copy-source-if-none-match` and
1007
+ # `x-amz-copy-source-if-modified-since` headers are present in the
1008
+ # request and evaluate as follows, Amazon S3 returns the `412
1009
+ # Precondition Failed` response code:
1000
1010
  #
1001
- # **Server-side encryption**
1011
+ # * `x-amz-copy-source-if-none-match` condition evaluates to false
1002
1012
  #
1003
- # When you perform a CopyObject operation, you can optionally use the
1004
- # appropriate encryption-related headers to encrypt the object using
1005
- # server-side encryption with Amazon Web Services managed encryption
1006
- # keys (SSE-S3 or SSE-KMS) or a customer-provided encryption key. With
1007
- # server-side encryption, Amazon S3 encrypts your data as it writes it
1008
- # to disks in its data centers and decrypts the data when you access it.
1009
- # For more information about server-side encryption, see [Using
1010
- # Server-Side Encryption][8].
1013
+ # * `x-amz-copy-source-if-modified-since` condition evaluates to true
1011
1014
  #
1012
- # If a target object uses SSE-KMS, you can enable an S3 Bucket Key for
1013
- # the object. For more information, see [Amazon S3 Bucket Keys][9] in
1014
- # the *Amazon S3 User Guide*.
1015
+ # <note markdown="1"> All headers with the `x-amz-` prefix, including `x-amz-copy-source`,
1016
+ # must be signed.
1015
1017
  #
1016
- # **Access Control List (ACL)-Specific Request Headers**
1018
+ # </note>
1017
1019
  #
1018
- # When copying an object, you can optionally use headers to grant
1019
- # ACL-based permissions. By default, all objects are private. Only the
1020
- # owner has full access control. When adding a new object, you can grant
1021
- # permissions to individual Amazon Web Services accounts or to
1022
- # predefined groups defined by Amazon S3. These permissions are then
1023
- # added to the ACL on the object. For more information, see [Access
1024
- # Control List (ACL) Overview][10] and [Managing ACLs Using the REST
1025
- # API][11].
1020
+ # Server-side encryption
1021
+ #
1022
+ # : Amazon S3 automatically encrypts all new objects that are copied to
1023
+ # an S3 bucket. When copying an object, if you don't specify
1024
+ # encryption information in your copy request, the encryption setting
1025
+ # of the target object is set to the default encryption configuration
1026
+ # of the destination bucket. By default, all buckets have a base level
1027
+ # of encryption configuration that uses server-side encryption with
1028
+ # Amazon S3 managed keys (SSE-S3). If the destination bucket has a
1029
+ # default encryption configuration that uses server-side encryption
1030
+ # with an Key Management Service (KMS) key (SSE-KMS), or a
1031
+ # customer-provided encryption key (SSE-C), Amazon S3 uses the
1032
+ # corresponding KMS key, or a customer-provided key to encrypt the
1033
+ # target object copy.
1034
+ #
1035
+ # When you perform a CopyObject operation, if you want to use a
1036
+ # different type of encryption setting for the target object, you can
1037
+ # use other appropriate encryption-related headers to encrypt the
1038
+ # target object with a KMS key, an Amazon S3 managed key, or a
1039
+ # customer-provided key. With server-side encryption, Amazon S3
1040
+ # encrypts your data as it writes it to disks in its data centers and
1041
+ # decrypts the data when you access it. If the encryption setting in
1042
+ # your request is different from the default encryption configuration
1043
+ # of the destination bucket, the encryption setting in your request
1044
+ # takes precedence. If the source object for the copy is stored in
1045
+ # Amazon S3 using SSE-C, you must provide the necessary encryption
1046
+ # information in your request so that Amazon S3 can decrypt the object
1047
+ # for copying. For more information about server-side encryption, see
1048
+ # [Using Server-Side Encryption][8].
1049
+ #
1050
+ # If a target object uses SSE-KMS, you can enable an S3 Bucket Key for
1051
+ # the object. For more information, see [Amazon S3 Bucket Keys][9] in
1052
+ # the *Amazon S3 User Guide*.
1053
+ #
1054
+ # Access Control List (ACL)-Specific Request Headers
1055
+ #
1056
+ # : When copying an object, you can optionally use headers to grant
1057
+ # ACL-based permissions. By default, all objects are private. Only the
1058
+ # owner has full access control. When adding a new object, you can
1059
+ # grant permissions to individual Amazon Web Services accounts or to
1060
+ # predefined groups defined by Amazon S3. These permissions are then
1061
+ # added to the ACL on the object. For more information, see [Access
1062
+ # Control List (ACL) Overview][10] and [Managing ACLs Using the REST
1063
+ # API][11].
1026
1064
  #
1027
- # If the bucket that you're copying objects to uses the bucket owner
1028
- # enforced setting for S3 Object Ownership, ACLs are disabled and no
1029
- # longer affect permissions. Buckets that use this setting only accept
1030
- # PUT requests that don't specify an ACL or PUT requests that specify
1031
- # bucket owner full control ACLs, such as the
1032
- # `bucket-owner-full-control` canned ACL or an equivalent form of this
1033
- # ACL expressed in the XML format.
1065
+ # If the bucket that you're copying objects to uses the bucket owner
1066
+ # enforced setting for S3 Object Ownership, ACLs are disabled and no
1067
+ # longer affect permissions. Buckets that use this setting only accept
1068
+ # PUT requests that don't specify an ACL or PUT requests that specify
1069
+ # bucket owner full control ACLs, such as the
1070
+ # `bucket-owner-full-control` canned ACL or an equivalent form of this
1071
+ # ACL expressed in the XML format.
1034
1072
  #
1035
- # For more information, see [ Controlling ownership of objects and
1036
- # disabling ACLs][12] in the *Amazon S3 User Guide*.
1073
+ # For more information, see [ Controlling ownership of objects and
1074
+ # disabling ACLs][12] in the *Amazon S3 User Guide*.
1037
1075
  #
1038
- # <note markdown="1"> If your bucket uses the bucket owner enforced setting for Object
1039
- # Ownership, all objects written to the bucket by any account will be
1040
- # owned by the bucket owner.
1076
+ # <note markdown="1"> If your bucket uses the bucket owner enforced setting for Object
1077
+ # Ownership, all objects written to the bucket by any account will be
1078
+ # owned by the bucket owner.
1041
1079
  #
1042
- # </note>
1080
+ # </note>
1043
1081
  #
1044
- # **Checksums**
1082
+ # Checksums
1045
1083
  #
1046
- # When copying an object, if it has a checksum, that checksum will be
1047
- # copied to the new object by default. When you copy the object over,
1048
- # you may optionally specify a different checksum algorithm to use with
1049
- # the `x-amz-checksum-algorithm` header.
1084
+ # : When copying an object, if it has a checksum, that checksum will be
1085
+ # copied to the new object by default. When you copy the object over,
1086
+ # you may optionally specify a different checksum algorithm to use
1087
+ # with the `x-amz-checksum-algorithm` header.
1050
1088
  #
1051
- # **Storage Class Options**
1089
+ # Storage Class Options
1052
1090
  #
1053
- # You can use the `CopyObject` action to change the storage class of an
1054
- # object that is already stored in Amazon S3 using the `StorageClass`
1055
- # parameter. For more information, see [Storage Classes][13] in the
1056
- # *Amazon S3 User Guide*.
1091
+ # : You can use the `CopyObject` action to change the storage class of
1092
+ # an object that is already stored in Amazon S3 using the
1093
+ # `StorageClass` parameter. For more information, see [Storage
1094
+ # Classes][13] in the *Amazon S3 User Guide*.
1057
1095
  #
1058
- # **Versioning**
1096
+ # If the source object's storage class is GLACIER, you must restore a
1097
+ # copy of this object before you can use it as a source object for the
1098
+ # copy operation. For more information, see [RestoreObject][14]. For
1099
+ # more information, see [Copying Objects][15].
1059
1100
  #
1060
- # By default, `x-amz-copy-source` identifies the current version of an
1061
- # object to copy. If the current version is a delete marker, Amazon S3
1062
- # behaves as if the object was deleted. To copy a different version, use
1063
- # the `versionId` subresource.
1101
+ # Versioning
1064
1102
  #
1065
- # If you enable versioning on the target bucket, Amazon S3 generates a
1066
- # unique version ID for the object being copied. This version ID is
1067
- # different from the version ID of the source object. Amazon S3 returns
1068
- # the version ID of the copied object in the `x-amz-version-id` response
1069
- # header in the response.
1103
+ # : By default, `x-amz-copy-source` identifies the current version of an
1104
+ # object to copy. If the current version is a delete marker, Amazon S3
1105
+ # behaves as if the object was deleted. To copy a different version,
1106
+ # use the `versionId` subresource.
1070
1107
  #
1071
- # If you do not enable versioning or suspend it on the target bucket,
1072
- # the version ID that Amazon S3 generates is always null.
1108
+ # If you enable versioning on the target bucket, Amazon S3 generates a
1109
+ # unique version ID for the object being copied. This version ID is
1110
+ # different from the version ID of the source object. Amazon S3
1111
+ # returns the version ID of the copied object in the
1112
+ # `x-amz-version-id` response header in the response.
1073
1113
  #
1074
- # If the source object's storage class is GLACIER, you must restore a
1075
- # copy of this object before you can use it as a source object for the
1076
- # copy operation. For more information, see [RestoreObject][14].
1114
+ # If you do not enable versioning or suspend it on the target bucket,
1115
+ # the version ID that Amazon S3 generates is always null.
1077
1116
  #
1078
1117
  # The following operations are related to `CopyObject`:
1079
1118
  #
1080
- # * [PutObject][15]
1119
+ # * [PutObject][16]
1081
1120
  #
1082
- # * [GetObject][16]
1083
- #
1084
- # For more information, see [Copying Objects][17].
1121
+ # * [GetObject][17]
1085
1122
  #
1086
1123
  #
1087
1124
  #
@@ -1099,9 +1136,9 @@ module Aws::S3
1099
1136
  # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
1100
1137
  # [13]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
1101
1138
  # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
1102
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
1103
- # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
1104
- # [17]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html
1139
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html
1140
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
1141
+ # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
1105
1142
  #
1106
1143
  # @option params [String] :acl
1107
1144
  # The canned ACL to apply to the object.
@@ -1119,14 +1156,14 @@ module Aws::S3
1119
1156
  # name. For more information about access point ARNs, see [Using access
1120
1157
  # points][1] in the *Amazon S3 User Guide*.
1121
1158
  #
1122
- # When using this action with Amazon S3 on Outposts, you must direct
1159
+ # When you use this action with Amazon S3 on Outposts, you must direct
1123
1160
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
1124
1161
  # takes the form `
1125
1162
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
1126
- # When using this action with S3 on Outposts through the Amazon Web
1127
- # Services SDKs, you provide the Outposts bucket ARN in place of the
1128
- # bucket name. For more information about S3 on Outposts ARNs, see
1129
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
1163
+ # When you use this action with S3 on Outposts through the Amazon Web
1164
+ # Services SDKs, you provide the Outposts access point ARN in place of
1165
+ # the bucket name. For more information about S3 on Outposts ARNs, see
1166
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
1130
1167
  #
1131
1168
  #
1132
1169
  #
@@ -1260,7 +1297,7 @@ module Aws::S3
1260
1297
  #
1261
1298
  # @option params [String] :server_side_encryption
1262
1299
  # The server-side encryption algorithm used when storing this object in
1263
- # Amazon S3 (for example, AES256, aws:kms).
1300
+ # Amazon S3 (for example, AES256, `aws:kms`).
1264
1301
  #
1265
1302
  # @option params [String] :storage_class
1266
1303
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
@@ -1277,7 +1314,10 @@ module Aws::S3
1277
1314
  # @option params [String] :website_redirect_location
1278
1315
  # If the bucket is configured as a website, redirects requests for this
1279
1316
  # object to another object in the same bucket or to an external URL.
1280
- # Amazon S3 stores the value of this header in the object metadata.
1317
+ # Amazon S3 stores the value of this header in the object metadata. This
1318
+ # value is unique to each object and is not copied when using the
1319
+ # `x-amz-metadata-directive` header. Instead, you may opt to provide
1320
+ # this header in combination with the directive.
1281
1321
  #
1282
1322
  # @option params [String] :sse_customer_algorithm
1283
1323
  # Specifies the algorithm to use to when encrypting the object (for
@@ -1510,100 +1550,102 @@ module Aws::S3
1510
1550
  #
1511
1551
  # </note>
1512
1552
  #
1513
- # **Access control lists (ACLs)**
1553
+ # Access control lists (ACLs)
1514
1554
  #
1515
- # When creating a bucket using this operation, you can optionally
1516
- # configure the bucket ACL to specify the accounts or groups that should
1517
- # be granted specific permissions on the bucket.
1555
+ # : When creating a bucket using this operation, you can optionally
1556
+ # configure the bucket ACL to specify the accounts or groups that
1557
+ # should be granted specific permissions on the bucket.
1518
1558
  #
1519
- # If your CreateBucket request sets bucket owner enforced for S3 Object
1520
- # Ownership and specifies a bucket ACL that provides access to an
1521
- # external Amazon Web Services account, your request fails with a `400`
1522
- # error and returns the `InvalidBucketAclWithObjectOwnership` error
1523
- # code. For more information, see [Controlling object ownership][5] in
1524
- # the *Amazon S3 User Guide*.
1559
+ # If your CreateBucket request sets bucket owner enforced for S3
1560
+ # Object Ownership and specifies a bucket ACL that provides access to
1561
+ # an external Amazon Web Services account, your request fails with a
1562
+ # `400` error and returns the `InvalidBucketAclWithObjectOwnership`
1563
+ # error code. For more information, see [Controlling object
1564
+ # ownership][5] in the *Amazon S3 User Guide*.
1525
1565
  #
1526
- # There are two ways to grant the appropriate permissions using the
1527
- # request headers.
1566
+ # There are two ways to grant the appropriate permissions using the
1567
+ # request headers.
1528
1568
  #
1529
- # * Specify a canned ACL using the `x-amz-acl` request header. Amazon S3
1530
- # supports a set of predefined ACLs, known as *canned ACLs*. Each
1531
- # canned ACL has a predefined set of grantees and permissions. For
1532
- # more information, see [Canned ACL][6].
1569
+ # * Specify a canned ACL using the `x-amz-acl` request header. Amazon
1570
+ # S3 supports a set of predefined ACLs, known as *canned ACLs*. Each
1571
+ # canned ACL has a predefined set of grantees and permissions. For
1572
+ # more information, see [Canned ACL][6].
1533
1573
  #
1534
- # * Specify access permissions explicitly using the `x-amz-grant-read`,
1535
- # `x-amz-grant-write`, `x-amz-grant-read-acp`,
1536
- # `x-amz-grant-write-acp`, and `x-amz-grant-full-control` headers.
1537
- # These headers map to the set of permissions Amazon S3 supports in an
1538
- # ACL. For more information, see [Access control list (ACL)
1539
- # overview][7].
1574
+ # * Specify access permissions explicitly using the
1575
+ # `x-amz-grant-read`, `x-amz-grant-write`, `x-amz-grant-read-acp`,
1576
+ # `x-amz-grant-write-acp`, and `x-amz-grant-full-control` headers.
1577
+ # These headers map to the set of permissions Amazon S3 supports in
1578
+ # an ACL. For more information, see [Access control list (ACL)
1579
+ # overview][7].
1540
1580
  #
1541
- # You specify each grantee as a type=value pair, where the type is one
1542
- # of the following:
1581
+ # You specify each grantee as a type=value pair, where the type is
1582
+ # one of the following:
1543
1583
  #
1544
- # * `id` – if the value specified is the canonical user ID of an
1545
- # Amazon Web Services account
1584
+ # * `id` – if the value specified is the canonical user ID of an
1585
+ # Amazon Web Services account
1546
1586
  #
1547
- # * `uri` – if you are granting permissions to a predefined group
1587
+ # * `uri` – if you are granting permissions to a predefined group
1548
1588
  #
1549
- # * `emailAddress` – if the value specified is the email address of an
1550
- # Amazon Web Services account
1589
+ # * `emailAddress` – if the value specified is the email address of
1590
+ # an Amazon Web Services account
1551
1591
  #
1552
- # <note markdown="1"> Using email addresses to specify a grantee is only supported in
1553
- # the following Amazon Web Services Regions:
1592
+ # <note markdown="1"> Using email addresses to specify a grantee is only supported in
1593
+ # the following Amazon Web Services Regions:
1554
1594
  #
1555
- # * US East (N. Virginia)
1595
+ # * US East (N. Virginia)
1556
1596
  #
1557
- # * US West (N. California)
1597
+ # * US West (N. California)
1558
1598
  #
1559
- # * US West (Oregon)
1599
+ # * US West (Oregon)
1560
1600
  #
1561
- # * Asia Pacific (Singapore)
1601
+ # * Asia Pacific (Singapore)
1562
1602
  #
1563
- # * Asia Pacific (Sydney)
1603
+ # * Asia Pacific (Sydney)
1564
1604
  #
1565
- # * Asia Pacific (Tokyo)
1605
+ # * Asia Pacific (Tokyo)
1566
1606
  #
1567
- # * Europe (Ireland)
1607
+ # * Europe (Ireland)
1568
1608
  #
1569
- # * South America (São Paulo)
1609
+ # * South America (São Paulo)
1570
1610
  #
1571
- # For a list of all the Amazon S3 supported Regions and endpoints,
1572
- # see [Regions and Endpoints][8] in the Amazon Web Services General
1573
- # Reference.
1611
+ # For a list of all the Amazon S3 supported Regions and endpoints,
1612
+ # see [Regions and Endpoints][8] in the Amazon Web Services
1613
+ # General Reference.
1574
1614
  #
1575
- # </note>
1615
+ # </note>
1576
1616
  #
1577
- # For example, the following `x-amz-grant-read` header grants the
1578
- # Amazon Web Services accounts identified by account IDs permissions
1579
- # to read object data and its metadata:
1617
+ # For example, the following `x-amz-grant-read` header grants the
1618
+ # Amazon Web Services accounts identified by account IDs permissions
1619
+ # to read object data and its metadata:
1580
1620
  #
1581
- # `x-amz-grant-read: id="11112222333", id="444455556666" `
1621
+ # `x-amz-grant-read: id="11112222333", id="444455556666" `
1582
1622
  #
1583
- # <note markdown="1"> You can use either a canned ACL or specify access permissions
1584
- # explicitly. You cannot do both.
1623
+ # <note markdown="1"> You can use either a canned ACL or specify access permissions
1624
+ # explicitly. You cannot do both.
1585
1625
  #
1586
- # </note>
1626
+ # </note>
1587
1627
  #
1588
- # **Permissions**
1628
+ # Permissions
1589
1629
  #
1590
- # In addition to `s3:CreateBucket`, the following permissions are
1591
- # required when your CreateBucket includes specific headers:
1630
+ # : In addition to `s3:CreateBucket`, the following permissions are
1631
+ # required when your CreateBucket includes specific headers:
1592
1632
  #
1593
- # * **ACLs** - If your `CreateBucket` request specifies ACL permissions
1594
- # and the ACL is public-read, public-read-write, authenticated-read,
1595
- # or if you specify access permissions explicitly through any other
1596
- # ACL, both `s3:CreateBucket` and `s3:PutBucketAcl` permissions are
1597
- # needed. If the ACL the `CreateBucket` request is private or doesn't
1598
- # specify any ACLs, only `s3:CreateBucket` permission is needed.
1633
+ # * **ACLs** - If your `CreateBucket` request specifies ACL
1634
+ # permissions and the ACL is public-read, public-read-write,
1635
+ # authenticated-read, or if you specify access permissions
1636
+ # explicitly through any other ACL, both `s3:CreateBucket` and
1637
+ # `s3:PutBucketAcl` permissions are needed. If the ACL the
1638
+ # `CreateBucket` request is private or doesn't specify any ACLs,
1639
+ # only `s3:CreateBucket` permission is needed.
1599
1640
  #
1600
- # * **Object Lock** - If `ObjectLockEnabledForBucket` is set to true in
1601
- # your `CreateBucket` request, `s3:PutBucketObjectLockConfiguration`
1602
- # and `s3:PutBucketVersioning` permissions are required.
1641
+ # * **Object Lock** - If `ObjectLockEnabledForBucket` is set to true
1642
+ # in your `CreateBucket` request,
1643
+ # `s3:PutBucketObjectLockConfiguration` and `s3:PutBucketVersioning`
1644
+ # permissions are required.
1603
1645
  #
1604
- # * **S3 Object Ownership** - If your CreateBucket request includes the
1605
- # the `x-amz-object-ownership` header, `s3:PutBucketOwnershipControls`
1606
- # permission is required.
1646
+ # * **S3 Object Ownership** - If your CreateBucket request includes
1647
+ # the `x-amz-object-ownership` header,
1648
+ # `s3:PutBucketOwnershipControls` permission is required.
1607
1649
  #
1608
1650
  # The following operations are related to `CreateBucket`:
1609
1651
  #
@@ -1679,33 +1721,33 @@ module Aws::S3
1679
1721
  # * {Types::CreateBucketOutput#location #location} => String
1680
1722
  #
1681
1723
  #
1682
- # @example Example: To create a bucket in a specific region
1724
+ # @example Example: To create a bucket
1683
1725
  #
1684
- # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1726
+ # # The following example creates a bucket.
1685
1727
  #
1686
1728
  # resp = client.create_bucket({
1687
1729
  # bucket: "examplebucket",
1688
- # create_bucket_configuration: {
1689
- # location_constraint: "eu-west-1",
1690
- # },
1691
1730
  # })
1692
1731
  #
1693
1732
  # resp.to_h outputs the following:
1694
1733
  # {
1695
- # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1734
+ # location: "/examplebucket",
1696
1735
  # }
1697
1736
  #
1698
- # @example Example: To create a bucket
1737
+ # @example Example: To create a bucket in a specific region
1699
1738
  #
1700
- # # The following example creates a bucket.
1739
+ # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1701
1740
  #
1702
1741
  # resp = client.create_bucket({
1703
1742
  # bucket: "examplebucket",
1743
+ # create_bucket_configuration: {
1744
+ # location_constraint: "eu-west-1",
1745
+ # },
1704
1746
  # })
1705
1747
  #
1706
1748
  # resp.to_h outputs the following:
1707
1749
  # {
1708
- # location: "/examplebucket",
1750
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1709
1751
  # }
1710
1752
  #
1711
1753
  # @example Request syntax with placeholder values
@@ -1753,7 +1795,8 @@ module Aws::S3
1753
1795
  # in the bucket lifecycle configuration. Otherwise, the incomplete
1754
1796
  # multipart upload becomes eligible for an abort action and Amazon S3
1755
1797
  # aborts the multipart upload. For more information, see [Aborting
1756
- # Incomplete Multipart Uploads Using a Bucket Lifecycle Policy][3].
1798
+ # Incomplete Multipart Uploads Using a Bucket Lifecycle
1799
+ # Configuration][3].
1757
1800
  #
1758
1801
  # For information about the permissions required to use the multipart
1759
1802
  # upload API, see [Multipart Upload and Permissions][4].
@@ -1774,22 +1817,42 @@ module Aws::S3
1774
1817
  #
1775
1818
  # </note>
1776
1819
  #
1777
- # You can optionally request server-side encryption. For server-side
1778
- # encryption, Amazon S3 encrypts your data as it writes it to disks in
1779
- # its data centers and decrypts it when you access it. You can provide
1780
- # your own encryption key, or use Amazon Web Services KMS keys or Amazon
1781
- # S3-managed encryption keys. If you choose to provide your own
1782
- # encryption key, the request headers you provide in [UploadPart][1] and
1783
- # [UploadPartCopy][6] requests must match the headers you used in the
1784
- # request to initiate the upload by using `CreateMultipartUpload`.
1785
- #
1786
- # To perform a multipart upload with encryption using an Amazon Web
1820
+ # Server-side encryption is for data encryption at rest. Amazon S3
1821
+ # encrypts your data as it writes it to disks in its data centers and
1822
+ # decrypts it when you access it. Amazon S3 automatically encrypts all
1823
+ # new objects that are uploaded to an S3 bucket. When doing a multipart
1824
+ # upload, if you don't specify encryption information in your request,
1825
+ # the encryption setting of the uploaded parts is set to the default
1826
+ # encryption configuration of the destination bucket. By default, all
1827
+ # buckets have a base level of encryption configuration that uses
1828
+ # server-side encryption with Amazon S3 managed keys (SSE-S3). If the
1829
+ # destination bucket has a default encryption configuration that uses
1830
+ # server-side encryption with an Key Management Service (KMS) key
1831
+ # (SSE-KMS), or a customer-provided encryption key (SSE-C), Amazon S3
1832
+ # uses the corresponding KMS key, or a customer-provided key to encrypt
1833
+ # the uploaded parts. When you perform a CreateMultipartUpload
1834
+ # operation, if you want to use a different type of encryption setting
1835
+ # for the uploaded parts, you can request that Amazon S3 encrypts the
1836
+ # object with a KMS key, an Amazon S3 managed key, or a
1837
+ # customer-provided key. If the encryption setting in your request is
1838
+ # different from the default encryption configuration of the destination
1839
+ # bucket, the encryption setting in your request takes precedence. If
1840
+ # you choose to provide your own encryption key, the request headers you
1841
+ # provide in [UploadPart][1] and [UploadPartCopy][6] requests must match
1842
+ # the headers you used in the request to initiate the upload by using
1843
+ # `CreateMultipartUpload`. You can request that Amazon S3 save the
1844
+ # uploaded parts encrypted with server-side encryption with an Amazon S3
1845
+ # managed key (SSE-S3), an Key Management Service (KMS) key (SSE-KMS),
1846
+ # or a customer-provided encryption key (SSE-C).
1847
+ #
1848
+ # To perform a multipart upload with encryption by using an Amazon Web
1787
1849
  # Services KMS key, the requester must have permission to the
1788
1850
  # `kms:Decrypt` and `kms:GenerateDataKey*` actions on the key. These
1789
1851
  # permissions are required because Amazon S3 must decrypt and read data
1790
1852
  # from the encrypted file parts before it completes the multipart
1791
1853
  # upload. For more information, see [Multipart upload API and
1792
- # permissions][7] in the *Amazon S3 User Guide*.
1854
+ # permissions][7] and [Protecting data using server-side encryption with
1855
+ # Amazon Web Services KMS][8] in the *Amazon S3 User Guide*.
1793
1856
  #
1794
1857
  # If your Identity and Access Management (IAM) user or role is in the
1795
1858
  # same Amazon Web Services account as the KMS key, then you must have
@@ -1798,7 +1861,7 @@ module Aws::S3
1798
1861
  # permissions on both the key policy and your IAM user or role.
1799
1862
  #
1800
1863
  # For more information, see [Protecting Data Using Server-Side
1801
- # Encryption][8].
1864
+ # Encryption][9].
1802
1865
  #
1803
1866
  # Access Permissions
1804
1867
  #
@@ -1808,31 +1871,33 @@ module Aws::S3
1808
1871
  # request headers:
1809
1872
  #
1810
1873
  # * Specify a canned ACL with the `x-amz-acl` request header. For more
1811
- # information, see [Canned ACL][9].
1874
+ # information, see [Canned ACL][10].
1812
1875
  #
1813
1876
  # * Specify access permissions explicitly with the `x-amz-grant-read`,
1814
1877
  # `x-amz-grant-read-acp`, `x-amz-grant-write-acp`, and
1815
1878
  # `x-amz-grant-full-control` headers. These parameters map to the
1816
1879
  # set of permissions that Amazon S3 supports in an ACL. For more
1817
- # information, see [Access Control List (ACL) Overview][10].
1880
+ # information, see [Access Control List (ACL) Overview][11].
1818
1881
  #
1819
1882
  # You can use either a canned ACL or specify access permissions
1820
1883
  # explicitly. You cannot do both.
1821
1884
  #
1822
1885
  # Server-Side- Encryption-Specific Request Headers
1823
1886
  #
1824
- # : You can optionally tell Amazon S3 to encrypt data at rest using
1825
- # server-side encryption. Server-side encryption is for data
1826
- # encryption at rest. Amazon S3 encrypts your data as it writes it to
1827
- # disks in its data centers and decrypts it when you access it. The
1828
- # option you use depends on whether you want to use Amazon Web
1829
- # Services managed encryption keys or provide your own encryption key.
1830
- #
1831
- # * Use encryption keys managed by Amazon S3 or customer managed key
1832
- # stored in Amazon Web Services Key Management Service (Amazon Web
1833
- # Services KMS) If you want Amazon Web Services to manage the keys
1834
- # used to encrypt data, specify the following headers in the
1835
- # request.
1887
+ # : Amazon S3 encrypts data by using server-side encryption with an
1888
+ # Amazon S3 managed key (SSE-S3) by default. Server-side encryption is
1889
+ # for data encryption at rest. Amazon S3 encrypts your data as it
1890
+ # writes it to disks in its data centers and decrypts it when you
1891
+ # access it. You can request that Amazon S3 encrypts data at rest by
1892
+ # using server-side encryption with other key options. The option you
1893
+ # use depends on whether you want to use KMS keys (SSE-KMS) or provide
1894
+ # your own encryption keys (SSE-C).
1895
+ #
1896
+ # * Use KMS keys (SSE-KMS) that include the Amazon Web Services
1897
+ # managed key (`aws/s3`) and KMS customer managed keys stored in Key
1898
+ # Management Service (KMS) – If you want Amazon Web Services to
1899
+ # manage the keys used to encrypt data, specify the following
1900
+ # headers in the request.
1836
1901
  #
1837
1902
  # * `x-amz-server-side-encryption`
1838
1903
  #
@@ -1842,22 +1907,22 @@ module Aws::S3
1842
1907
  #
1843
1908
  # <note markdown="1"> If you specify `x-amz-server-side-encryption:aws:kms`, but don't
1844
1909
  # provide `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3
1845
- # uses the Amazon Web Services managed key in Amazon Web Services
1846
- # KMS to protect the data.
1910
+ # uses the Amazon Web Services managed key (`aws/s3` key) in KMS to
1911
+ # protect the data.
1847
1912
  #
1848
1913
  # </note>
1849
1914
  #
1850
- # All GET and PUT requests for an object protected by Amazon Web
1851
- # Services KMS fail if you don't make them with SSL or by using
1852
- # SigV4.
1915
+ # All `GET` and `PUT` requests for an object protected by KMS fail
1916
+ # if you don't make them by using Secure Sockets Layer (SSL),
1917
+ # Transport Layer Security (TLS), or Signature Version 4.
1853
1918
  #
1854
- # For more information about server-side encryption with KMS key
1919
+ # For more information about server-side encryption with KMS keys
1855
1920
  # (SSE-KMS), see [Protecting Data Using Server-Side Encryption with
1856
- # KMS keys][11].
1921
+ # KMS keys][8].
1857
1922
  #
1858
- # * Use customer-provided encryption keys – If you want to manage your
1859
- # own encryption keys, provide all the following headers in the
1860
- # request.
1923
+ # * Use customer-provided encryption keys (SSE-C) – If you want to
1924
+ # manage your own encryption keys, provide all the following headers
1925
+ # in the request.
1861
1926
  #
1862
1927
  # * `x-amz-server-side-encryption-customer-algorithm`
1863
1928
  #
@@ -1865,9 +1930,10 @@ module Aws::S3
1865
1930
  #
1866
1931
  # * `x-amz-server-side-encryption-customer-key-MD5`
1867
1932
  #
1868
- # For more information about server-side encryption with KMS keys
1869
- # (SSE-KMS), see [Protecting Data Using Server-Side Encryption with
1870
- # KMS keys][11].
1933
+ # For more information about server-side encryption with
1934
+ # customer-provided encryption keys (SSE-C), see [ Protecting data
1935
+ # using server-side encryption with customer-provided encryption
1936
+ # keys (SSE-C)][12].
1871
1937
  #
1872
1938
  # Access-Control-List (ACL)-Specific Request Headers
1873
1939
  #
@@ -1877,19 +1943,19 @@ module Aws::S3
1877
1943
  # permissions to individual Amazon Web Services accounts or to
1878
1944
  # predefined groups defined by Amazon S3. These permissions are then
1879
1945
  # added to the access control list (ACL) on the object. For more
1880
- # information, see [Using ACLs][12]. With this operation, you can
1946
+ # information, see [Using ACLs][13]. With this operation, you can
1881
1947
  # grant access permissions using one of the following two methods:
1882
1948
  #
1883
1949
  # * Specify a canned ACL (`x-amz-acl`) — Amazon S3 supports a set of
1884
1950
  # predefined ACLs, known as *canned ACLs*. Each canned ACL has a
1885
1951
  # predefined set of grantees and permissions. For more information,
1886
- # see [Canned ACL][9].
1952
+ # see [Canned ACL][10].
1887
1953
  #
1888
1954
  # * Specify access permissions explicitly — To explicitly grant access
1889
1955
  # permissions to specific Amazon Web Services accounts or groups,
1890
1956
  # use the following headers. Each header maps to specific
1891
1957
  # permissions that Amazon S3 supports in an ACL. For more
1892
- # information, see [Access Control List (ACL) Overview][10]. In the
1958
+ # information, see [Access Control List (ACL) Overview][11]. In the
1893
1959
  # header, you specify a list of grantees who get the specific
1894
1960
  # permission. To grant permissions explicitly, use:
1895
1961
  #
@@ -1934,7 +2000,7 @@ module Aws::S3
1934
2000
  # * South America (São Paulo)
1935
2001
  #
1936
2002
  # For a list of all the Amazon S3 supported Regions and endpoints,
1937
- # see [Regions and Endpoints][13] in the Amazon Web Services
2003
+ # see [Regions and Endpoints][14] in the Amazon Web Services
1938
2004
  # General Reference.
1939
2005
  #
1940
2006
  # </note>
@@ -1949,13 +2015,13 @@ module Aws::S3
1949
2015
  #
1950
2016
  # * [UploadPart][1]
1951
2017
  #
1952
- # * [CompleteMultipartUpload][14]
2018
+ # * [CompleteMultipartUpload][15]
1953
2019
  #
1954
- # * [AbortMultipartUpload][15]
2020
+ # * [AbortMultipartUpload][16]
1955
2021
  #
1956
- # * [ListParts][16]
2022
+ # * [ListParts][17]
1957
2023
  #
1958
- # * [ListMultipartUploads][17]
2024
+ # * [ListMultipartUploads][18]
1959
2025
  #
1960
2026
  #
1961
2027
  #
@@ -1966,16 +2032,17 @@ module Aws::S3
1966
2032
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
1967
2033
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
1968
2034
  # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
1969
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
1970
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
1971
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
1972
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html
1973
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
1974
- # [13]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
1975
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
1976
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
1977
- # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
1978
- # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
2035
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
2036
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
2037
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
2038
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
2039
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
2040
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
2041
+ # [14]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
2042
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
2043
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
2044
+ # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
2045
+ # [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
1979
2046
  #
1980
2047
  # @option params [String] :acl
1981
2048
  # The canned ACL to apply to the object.
@@ -1993,14 +2060,14 @@ module Aws::S3
1993
2060
  # name. For more information about access point ARNs, see [Using access
1994
2061
  # points][1] in the *Amazon S3 User Guide*.
1995
2062
  #
1996
- # When using this action with Amazon S3 on Outposts, you must direct
2063
+ # When you use this action with Amazon S3 on Outposts, you must direct
1997
2064
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
1998
2065
  # takes the form `
1999
2066
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
2000
- # When using this action with S3 on Outposts through the Amazon Web
2001
- # Services SDKs, you provide the Outposts bucket ARN in place of the
2002
- # bucket name. For more information about S3 on Outposts ARNs, see
2003
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
2067
+ # When you use this action with S3 on Outposts through the Amazon Web
2068
+ # Services SDKs, you provide the Outposts access point ARN in place of
2069
+ # the bucket name. For more information about S3 on Outposts ARNs, see
2070
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
2004
2071
  #
2005
2072
  #
2006
2073
  #
@@ -2056,7 +2123,7 @@ module Aws::S3
2056
2123
  #
2057
2124
  # @option params [String] :server_side_encryption
2058
2125
  # The server-side encryption algorithm used when storing this object in
2059
- # Amazon S3 (for example, AES256, aws:kms).
2126
+ # Amazon S3 (for example, AES256, `aws:kms`).
2060
2127
  #
2061
2128
  # @option params [String] :storage_class
2062
2129
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
@@ -2092,13 +2159,13 @@ module Aws::S3
2092
2159
  # ensure that the encryption key was transmitted without error.
2093
2160
  #
2094
2161
  # @option params [String] :ssekms_key_id
2095
- # Specifies the ID of the symmetric customer managed key to use for
2096
- # object encryption. All GET and PUT requests for an object protected by
2097
- # Amazon Web Services KMS will fail if not made via SSL or using SigV4.
2098
- # For information about configuring using any of the officially
2099
- # supported Amazon Web Services SDKs and Amazon Web Services CLI, see
2100
- # [Specifying the Signature Version in Request Authentication][1] in the
2101
- # *Amazon S3 User Guide*.
2162
+ # Specifies the ID of the symmetric encryption customer managed key to
2163
+ # use for object encryption. All GET and PUT requests for an object
2164
+ # protected by Amazon Web Services KMS will fail if not made via SSL or
2165
+ # using SigV4. For information about configuring using any of the
2166
+ # officially supported Amazon Web Services SDKs and Amazon Web Services
2167
+ # CLI, see [Specifying the Signature Version in Request
2168
+ # Authentication][1] in the *Amazon S3 User Guide*.
2102
2169
  #
2103
2170
  #
2104
2171
  #
@@ -2257,7 +2324,7 @@ module Aws::S3
2257
2324
  # delete markers) in the bucket must be deleted before the bucket itself
2258
2325
  # can be deleted.
2259
2326
  #
2260
- # **Related Resources**
2327
+ # The following operations are related to `DeleteBucket`:
2261
2328
  #
2262
2329
  # * [CreateBucket][1]
2263
2330
  #
@@ -2374,7 +2441,7 @@ module Aws::S3
2374
2441
  # For information about `cors`, see [Enabling Cross-Origin Resource
2375
2442
  # Sharing][1] in the *Amazon S3 User Guide*.
2376
2443
  #
2377
- # **Related Resources:**
2444
+ # The following operations are related to `DeleteBucketCors`:
2378
2445
  #
2379
2446
  # * [PutBucketCors][2]
2380
2447
  #
@@ -2421,10 +2488,11 @@ module Aws::S3
2421
2488
  req.send_request(options)
2422
2489
  end
2423
2490
 
2424
- # This implementation of the DELETE action removes default encryption
2425
- # from the bucket. For information about the Amazon S3 default
2426
- # encryption feature, see [Amazon S3 Default Bucket Encryption][1] in
2427
- # the *Amazon S3 User Guide*.
2491
+ # This implementation of the DELETE action resets the default encryption
2492
+ # for the bucket as server-side encryption with Amazon S3 managed keys
2493
+ # (SSE-S3). For information about the bucket default encryption feature,
2494
+ # see [Amazon S3 Bucket Default Encryption][1] in the *Amazon S3 User
2495
+ # Guide*.
2428
2496
  #
2429
2497
  # To use this operation, you must have permissions to perform the
2430
2498
  # `s3:PutEncryptionConfiguration` action. The bucket owner has this
@@ -2434,7 +2502,7 @@ module Aws::S3
2434
2502
  # Permissions to your Amazon S3 Resources][3] in the *Amazon S3 User
2435
2503
  # Guide*.
2436
2504
  #
2437
- # **Related Resources**
2505
+ # The following operations are related to `DeleteBucketEncryption`:
2438
2506
  #
2439
2507
  # * [PutBucketEncryption][4]
2440
2508
  #
@@ -2701,7 +2769,9 @@ module Aws::S3
2701
2769
  # The name of the bucket containing the metrics configuration to delete.
2702
2770
  #
2703
2771
  # @option params [required, String] :id
2704
- # The ID used to identify the metrics configuration.
2772
+ # The ID used to identify the metrics configuration. The ID has a 64
2773
+ # character limit and can only contain letters, numbers, periods,
2774
+ # dashes, and underscores.
2705
2775
  #
2706
2776
  # @option params [String] :expected_bucket_owner
2707
2777
  # The account ID of the expected bucket owner. If the bucket is owned by
@@ -2785,10 +2855,14 @@ module Aws::S3
2785
2855
  # you're not using an identity that belongs to the bucket owner's
2786
2856
  # account, Amazon S3 returns a `405 Method Not Allowed` error.
2787
2857
  #
2788
- # As a security precaution, the root user of the Amazon Web Services
2789
- # account that owns a bucket can always use this operation, even if the
2790
- # policy explicitly denies the root user the ability to perform this
2791
- # action.
2858
+ # To ensure that bucket owners don't inadvertently lock themselves out
2859
+ # of their own buckets, the root principal in a bucket owner's Amazon
2860
+ # Web Services account can perform the `GetBucketPolicy`,
2861
+ # `PutBucketPolicy`, and `DeleteBucketPolicy` API actions, even if their
2862
+ # bucket policy explicitly denies the root principal's access. Bucket
2863
+ # owner root principals can only be blocked from performing these API
2864
+ # actions by VPC endpoint policies and Amazon Web Services Organizations
2865
+ # policies.
2792
2866
  #
2793
2867
  # For more information about bucket policies, see [Using Bucket Policies
2794
2868
  # and UserPolicies][1].
@@ -3027,11 +3101,10 @@ module Aws::S3
3027
3101
  # there isn't a null version, Amazon S3 does not remove any objects but
3028
3102
  # will still respond that the command was successful.
3029
3103
  #
3030
- # To remove a specific version, you must be the bucket owner and you
3031
- # must use the version Id subresource. Using this subresource
3032
- # permanently deletes the version. If the object deleted is a delete
3033
- # marker, Amazon S3 sets the response header, `x-amz-delete-marker`, to
3034
- # true.
3104
+ # To remove a specific version, you must use the version Id subresource.
3105
+ # Using this subresource permanently deletes the version. If the object
3106
+ # deleted is a delete marker, Amazon S3 sets the response header,
3107
+ # `x-amz-delete-marker`, to true.
3035
3108
  #
3036
3109
  # If the object you want to delete is in a bucket where the bucket
3037
3110
  # versioning configuration is MFA Delete enabled, you must include the
@@ -3072,14 +3145,14 @@ module Aws::S3
3072
3145
  # name. For more information about access point ARNs, see [Using access
3073
3146
  # points][1] in the *Amazon S3 User Guide*.
3074
3147
  #
3075
- # When using this action with Amazon S3 on Outposts, you must direct
3148
+ # When you use this action with Amazon S3 on Outposts, you must direct
3076
3149
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
3077
3150
  # takes the form `
3078
3151
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
3079
- # When using this action with S3 on Outposts through the Amazon Web
3080
- # Services SDKs, you provide the Outposts bucket ARN in place of the
3081
- # bucket name. For more information about S3 on Outposts ARNs, see
3082
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
3152
+ # When you use this action with S3 on Outposts through the Amazon Web
3153
+ # Services SDKs, you provide the Outposts access point ARN in place of
3154
+ # the bucket name. For more information about S3 on Outposts ARNs, see
3155
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
3083
3156
  #
3084
3157
  #
3085
3158
  #
@@ -3126,6 +3199,15 @@ module Aws::S3
3126
3199
  # * {Types::DeleteObjectOutput#request_charged #request_charged} => String
3127
3200
  #
3128
3201
  #
3202
+ # @example Example: To delete an object (from a non-versioned bucket)
3203
+ #
3204
+ # # The following example deletes an object from a non-versioned bucket.
3205
+ #
3206
+ # resp = client.delete_object({
3207
+ # bucket: "ExampleBucket",
3208
+ # key: "HappyFace.jpg",
3209
+ # })
3210
+ #
3129
3211
  # @example Example: To delete an object
3130
3212
  #
3131
3213
  # # The following example deletes an object from an S3 bucket.
@@ -3139,15 +3221,6 @@ module Aws::S3
3139
3221
  # {
3140
3222
  # }
3141
3223
  #
3142
- # @example Example: To delete an object (from a non-versioned bucket)
3143
- #
3144
- # # The following example deletes an object from a non-versioned bucket.
3145
- #
3146
- # resp = client.delete_object({
3147
- # bucket: "ExampleBucket",
3148
- # key: "HappyFace.jpg",
3149
- # })
3150
- #
3151
3224
  # @example Request syntax with placeholder values
3152
3225
  #
3153
3226
  # resp = client.delete_object({
@@ -3185,8 +3258,7 @@ module Aws::S3
3185
3258
  # parameter in the request. You will need permission for the
3186
3259
  # `s3:DeleteObjectVersionTagging` action.
3187
3260
  #
3188
- # The following operations are related to
3189
- # `DeleteBucketMetricsConfiguration`:
3261
+ # The following operations are related to `DeleteObjectTagging`:
3190
3262
  #
3191
3263
  # * [PutObjectTagging][2]
3192
3264
  #
@@ -3209,14 +3281,14 @@ module Aws::S3
3209
3281
  # name. For more information about access point ARNs, see [Using access
3210
3282
  # points][1] in the *Amazon S3 User Guide*.
3211
3283
  #
3212
- # When using this action with Amazon S3 on Outposts, you must direct
3284
+ # When you use this action with Amazon S3 on Outposts, you must direct
3213
3285
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
3214
3286
  # takes the form `
3215
3287
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
3216
- # When using this action with S3 on Outposts through the Amazon Web
3217
- # Services SDKs, you provide the Outposts bucket ARN in place of the
3218
- # bucket name. For more information about S3 on Outposts ARNs, see
3219
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
3288
+ # When you use this action with S3 on Outposts through the Amazon Web
3289
+ # Services SDKs, you provide the Outposts access point ARN in place of
3290
+ # the bucket name. For more information about S3 on Outposts ARNs, see
3291
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
3220
3292
  #
3221
3293
  #
3222
3294
  #
@@ -3240,35 +3312,35 @@ module Aws::S3
3240
3312
  # * {Types::DeleteObjectTaggingOutput#version_id #version_id} => String
3241
3313
  #
3242
3314
  #
3243
- # @example Example: To remove tag set from an object
3315
+ # @example Example: To remove tag set from an object version
3244
3316
  #
3245
- # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
3246
- # # operation removes tag set from the latest object version.
3317
+ # # The following example removes tag set associated with the specified object version. The request specifies both the
3318
+ # # object key and object version.
3247
3319
  #
3248
3320
  # resp = client.delete_object_tagging({
3249
3321
  # bucket: "examplebucket",
3250
3322
  # key: "HappyFace.jpg",
3323
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3251
3324
  # })
3252
3325
  #
3253
3326
  # resp.to_h outputs the following:
3254
3327
  # {
3255
- # version_id: "null",
3328
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3256
3329
  # }
3257
3330
  #
3258
- # @example Example: To remove tag set from an object version
3331
+ # @example Example: To remove tag set from an object
3259
3332
  #
3260
- # # The following example removes tag set associated with the specified object version. The request specifies both the
3261
- # # object key and object version.
3333
+ # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
3334
+ # # operation removes tag set from the latest object version.
3262
3335
  #
3263
3336
  # resp = client.delete_object_tagging({
3264
3337
  # bucket: "examplebucket",
3265
3338
  # key: "HappyFace.jpg",
3266
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3267
3339
  # })
3268
3340
  #
3269
3341
  # resp.to_h outputs the following:
3270
3342
  # {
3271
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3343
+ # version_id: "null",
3272
3344
  # }
3273
3345
  #
3274
3346
  # @example Request syntax with placeholder values
@@ -3357,14 +3429,14 @@ module Aws::S3
3357
3429
  # name. For more information about access point ARNs, see [Using access
3358
3430
  # points][1] in the *Amazon S3 User Guide*.
3359
3431
  #
3360
- # When using this action with Amazon S3 on Outposts, you must direct
3432
+ # When you use this action with Amazon S3 on Outposts, you must direct
3361
3433
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
3362
3434
  # takes the form `
3363
3435
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
3364
- # When using this action with S3 on Outposts through the Amazon Web
3365
- # Services SDKs, you provide the Outposts bucket ARN in place of the
3366
- # bucket name. For more information about S3 on Outposts ARNs, see
3367
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
3436
+ # When you use this action with S3 on Outposts through the Amazon Web
3437
+ # Services SDKs, you provide the Outposts access point ARN in place of
3438
+ # the bucket name. For more information about S3 on Outposts ARNs, see
3439
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
3368
3440
  #
3369
3441
  #
3370
3442
  #
@@ -3427,20 +3499,22 @@ module Aws::S3
3427
3499
  # * {Types::DeleteObjectsOutput#errors #errors} => Array&lt;Types::Error&gt;
3428
3500
  #
3429
3501
  #
3430
- # @example Example: To delete multiple objects from a versioned bucket
3502
+ # @example Example: To delete multiple object versions from a versioned bucket
3431
3503
  #
3432
- # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
3433
- # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
3504
+ # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
3505
+ # # versions and returns the key and versions of deleted objects in the response.
3434
3506
  #
3435
3507
  # resp = client.delete_objects({
3436
3508
  # bucket: "examplebucket",
3437
3509
  # delete: {
3438
3510
  # objects: [
3439
3511
  # {
3440
- # key: "objectkey1",
3512
+ # key: "HappyFace.jpg",
3513
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3441
3514
  # },
3442
3515
  # {
3443
- # key: "objectkey2",
3516
+ # key: "HappyFace.jpg",
3517
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3444
3518
  # },
3445
3519
  # ],
3446
3520
  # quiet: false,
@@ -3451,34 +3525,30 @@ module Aws::S3
3451
3525
  # {
3452
3526
  # deleted: [
3453
3527
  # {
3454
- # delete_marker: true,
3455
- # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
3456
- # key: "objectkey1",
3528
+ # key: "HappyFace.jpg",
3529
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3457
3530
  # },
3458
3531
  # {
3459
- # delete_marker: true,
3460
- # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
3461
- # key: "objectkey2",
3532
+ # key: "HappyFace.jpg",
3533
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3462
3534
  # },
3463
3535
  # ],
3464
3536
  # }
3465
3537
  #
3466
- # @example Example: To delete multiple object versions from a versioned bucket
3538
+ # @example Example: To delete multiple objects from a versioned bucket
3467
3539
  #
3468
- # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
3469
- # # versions and returns the key and versions of deleted objects in the response.
3540
+ # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
3541
+ # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
3470
3542
  #
3471
3543
  # resp = client.delete_objects({
3472
3544
  # bucket: "examplebucket",
3473
3545
  # delete: {
3474
3546
  # objects: [
3475
3547
  # {
3476
- # key: "HappyFace.jpg",
3477
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3548
+ # key: "objectkey1",
3478
3549
  # },
3479
3550
  # {
3480
- # key: "HappyFace.jpg",
3481
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3551
+ # key: "objectkey2",
3482
3552
  # },
3483
3553
  # ],
3484
3554
  # quiet: false,
@@ -3489,12 +3559,14 @@ module Aws::S3
3489
3559
  # {
3490
3560
  # deleted: [
3491
3561
  # {
3492
- # key: "HappyFace.jpg",
3493
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3562
+ # delete_marker: true,
3563
+ # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
3564
+ # key: "objectkey1",
3494
3565
  # },
3495
3566
  # {
3496
- # key: "HappyFace.jpg",
3497
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3567
+ # delete_marker: true,
3568
+ # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
3569
+ # key: "objectkey2",
3498
3570
  # },
3499
3571
  # ],
3500
3572
  # }
@@ -3620,7 +3692,8 @@ module Aws::S3
3620
3692
  # For more information about transfer acceleration, see [Transfer
3621
3693
  # Acceleration][4] in the Amazon S3 User Guide.
3622
3694
  #
3623
- # **Related Resources**
3695
+ # The following operations are related to
3696
+ # `GetBucketAccelerateConfiguration`:
3624
3697
  #
3625
3698
  # * [PutBucketAccelerateConfiguration][3]
3626
3699
  #
@@ -3673,28 +3746,53 @@ module Aws::S3
3673
3746
  # can return the ACL of the bucket without using an authorization
3674
3747
  # header.
3675
3748
  #
3749
+ # To use this API operation against an access point, provide the alias
3750
+ # of the access point in place of the bucket name.
3751
+ #
3752
+ # To use this API operation against an Object Lambda access point,
3753
+ # provide the alias of the Object Lambda access point in place of the
3754
+ # bucket name. If the Object Lambda access point alias in a request is
3755
+ # not valid, the error code `InvalidAccessPointAliasError` is returned.
3756
+ # For more information about `InvalidAccessPointAliasError`, see [List
3757
+ # of Error Codes][1].
3758
+ #
3676
3759
  # <note markdown="1"> If your bucket uses the bucket owner enforced setting for S3 Object
3677
3760
  # Ownership, requests to read ACLs are still supported and return the
3678
3761
  # `bucket-owner-full-control` ACL with the owner being the account that
3679
3762
  # created the bucket. For more information, see [ Controlling object
3680
- # ownership and disabling ACLs][1] in the *Amazon S3 User Guide*.
3763
+ # ownership and disabling ACLs][2] in the *Amazon S3 User Guide*.
3681
3764
  #
3682
3765
  # </note>
3683
3766
  #
3684
- # **Related Resources**
3767
+ # The following operations are related to `GetBucketAcl`:
3685
3768
  #
3686
- # * [ListObjects][2]
3769
+ # * [ListObjects][3]
3687
3770
  #
3688
3771
  # ^
3689
3772
  #
3690
3773
  #
3691
3774
  #
3692
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
3693
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html
3775
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
3776
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
3777
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html
3694
3778
  #
3695
3779
  # @option params [required, String] :bucket
3696
3780
  # Specifies the S3 bucket whose ACL is being requested.
3697
3781
  #
3782
+ # To use this API operation against an access point, provide the alias
3783
+ # of the access point in place of the bucket name.
3784
+ #
3785
+ # To use this API operation against an Object Lambda access point,
3786
+ # provide the alias of the Object Lambda access point in place of the
3787
+ # bucket name. If the Object Lambda access point alias in a request is
3788
+ # not valid, the error code `InvalidAccessPointAliasError` is returned.
3789
+ # For more information about `InvalidAccessPointAliasError`, see [List
3790
+ # of Error Codes][1].
3791
+ #
3792
+ #
3793
+ #
3794
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
3795
+ #
3698
3796
  # @option params [String] :expected_bucket_owner
3699
3797
  # The account ID of the expected bucket owner. If the bucket is owned by
3700
3798
  # a different account, the request fails with the HTTP status code `403
@@ -3748,7 +3846,8 @@ module Aws::S3
3748
3846
  # For information about Amazon S3 analytics feature, see [Amazon S3
3749
3847
  # Analytics – Storage Class Analysis][3] in the *Amazon S3 User Guide*.
3750
3848
  #
3751
- # **Related Resources**
3849
+ # The following operations are related to
3850
+ # `GetBucketAnalyticsConfiguration`:
3752
3851
  #
3753
3852
  # * [DeleteBucketAnalyticsConfiguration][4]
3754
3853
  #
@@ -3821,24 +3920,49 @@ module Aws::S3
3821
3920
  # `s3:GetBucketCORS` action. By default, the bucket owner has this
3822
3921
  # permission and can grant it to others.
3823
3922
  #
3923
+ # To use this API operation against an access point, provide the alias
3924
+ # of the access point in place of the bucket name.
3925
+ #
3926
+ # To use this API operation against an Object Lambda access point,
3927
+ # provide the alias of the Object Lambda access point in place of the
3928
+ # bucket name. If the Object Lambda access point alias in a request is
3929
+ # not valid, the error code `InvalidAccessPointAliasError` is returned.
3930
+ # For more information about `InvalidAccessPointAliasError`, see [List
3931
+ # of Error Codes][1].
3932
+ #
3824
3933
  # For more information about CORS, see [ Enabling Cross-Origin Resource
3825
- # Sharing][1].
3934
+ # Sharing][2].
3826
3935
  #
3827
3936
  # The following operations are related to `GetBucketCors`:
3828
3937
  #
3829
- # * [PutBucketCors][2]
3938
+ # * [PutBucketCors][3]
3830
3939
  #
3831
- # * [DeleteBucketCors][3]
3940
+ # * [DeleteBucketCors][4]
3832
3941
  #
3833
3942
  #
3834
3943
  #
3835
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html
3836
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html
3837
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html
3944
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
3945
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html
3946
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html
3947
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html
3838
3948
  #
3839
3949
  # @option params [required, String] :bucket
3840
3950
  # The bucket name for which to get the cors configuration.
3841
3951
  #
3952
+ # To use this API operation against an access point, provide the alias
3953
+ # of the access point in place of the bucket name.
3954
+ #
3955
+ # To use this API operation against an Object Lambda access point,
3956
+ # provide the alias of the Object Lambda access point in place of the
3957
+ # bucket name. If the Object Lambda access point alias in a request is
3958
+ # not valid, the error code `InvalidAccessPointAliasError` is returned.
3959
+ # For more information about `InvalidAccessPointAliasError`, see [List
3960
+ # of Error Codes][1].
3961
+ #
3962
+ #
3963
+ #
3964
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
3965
+ #
3842
3966
  # @option params [String] :expected_bucket_owner
3843
3967
  # The account ID of the expected bucket owner. If the bucket is owned by
3844
3968
  # a different account, the request fails with the HTTP status code `403
@@ -3906,12 +4030,10 @@ module Aws::S3
3906
4030
  end
3907
4031
 
3908
4032
  # Returns the default encryption configuration for an Amazon S3 bucket.
3909
- # If the bucket does not have a default encryption configuration,
3910
- # GetBucketEncryption returns
3911
- # `ServerSideEncryptionConfigurationNotFoundError`.
3912
- #
3913
- # For information about the Amazon S3 default encryption feature, see
3914
- # [Amazon S3 Default Bucket Encryption][1].
4033
+ # By default, all buckets have a default encryption configuration that
4034
+ # uses server-side encryption with Amazon S3 managed keys (SSE-S3). For
4035
+ # information about the bucket default encryption feature, see [Amazon
4036
+ # S3 Bucket Default Encryption][1] in the *Amazon S3 User Guide*.
3915
4037
  #
3916
4038
  # To use this operation, you must have permission to perform the
3917
4039
  # `s3:GetEncryptionConfiguration` action. The bucket owner has this
@@ -4383,26 +4505,52 @@ module Aws::S3
4383
4505
  # using the `LocationConstraint` request parameter in a `CreateBucket`
4384
4506
  # request. For more information, see [CreateBucket][1].
4385
4507
  #
4386
- # To use this implementation of the operation, you must be the bucket
4387
- # owner.
4508
+ # To use this API operation against an access point, provide the alias
4509
+ # of the access point in place of the bucket name.
4388
4510
  #
4389
- # To use this API against an access point, provide the alias of the
4390
- # access point in place of the bucket name.
4511
+ # To use this API operation against an Object Lambda access point,
4512
+ # provide the alias of the Object Lambda access point in place of the
4513
+ # bucket name. If the Object Lambda access point alias in a request is
4514
+ # not valid, the error code `InvalidAccessPointAliasError` is returned.
4515
+ # For more information about `InvalidAccessPointAliasError`, see [List
4516
+ # of Error Codes][2].
4517
+ #
4518
+ # <note markdown="1"> We recommend that you use [HeadBucket][3] to return the Region that a
4519
+ # bucket resides in. For backward compatibility, Amazon S3 continues to
4520
+ # support GetBucketLocation.
4521
+ #
4522
+ # </note>
4391
4523
  #
4392
4524
  # The following operations are related to `GetBucketLocation`:
4393
4525
  #
4394
- # * [GetObject][2]
4526
+ # * [GetObject][4]
4395
4527
  #
4396
4528
  # * [CreateBucket][1]
4397
4529
  #
4398
4530
  #
4399
4531
  #
4400
4532
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
4401
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
4533
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
4534
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html
4535
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
4402
4536
  #
4403
4537
  # @option params [required, String] :bucket
4404
4538
  # The name of the bucket for which to get the location.
4405
4539
  #
4540
+ # To use this API operation against an access point, provide the alias
4541
+ # of the access point in place of the bucket name.
4542
+ #
4543
+ # To use this API operation against an Object Lambda access point,
4544
+ # provide the alias of the Object Lambda access point in place of the
4545
+ # bucket name. If the Object Lambda access point alias in a request is
4546
+ # not valid, the error code `InvalidAccessPointAliasError` is returned.
4547
+ # For more information about `InvalidAccessPointAliasError`, see [List
4548
+ # of Error Codes][1].
4549
+ #
4550
+ #
4551
+ #
4552
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
4553
+ #
4406
4554
  # @option params [String] :expected_bucket_owner
4407
4555
  # The account ID of the expected bucket owner. If the bucket is owned by
4408
4556
  # a different account, the request fails with the HTTP status code `403
@@ -4447,8 +4595,7 @@ module Aws::S3
4447
4595
  end
4448
4596
 
4449
4597
  # Returns the logging status of a bucket and the permissions users have
4450
- # to view and modify that status. To use GET, you must be the bucket
4451
- # owner.
4598
+ # to view and modify that status.
4452
4599
  #
4453
4600
  # The following operations are related to `GetBucketLogging`:
4454
4601
  #
@@ -4540,7 +4687,9 @@ module Aws::S3
4540
4687
  # retrieve.
4541
4688
  #
4542
4689
  # @option params [required, String] :id
4543
- # The ID used to identify the metrics configuration.
4690
+ # The ID used to identify the metrics configuration. The ID has a 64
4691
+ # character limit and can only contain letters, numbers, periods,
4692
+ # dashes, and underscores.
4544
4693
  #
4545
4694
  # @option params [String] :expected_bucket_owner
4546
4695
  # The account ID of the expected bucket owner. If the bucket is owned by
@@ -4591,6 +4740,20 @@ module Aws::S3
4591
4740
  # The name of the bucket for which to get the notification
4592
4741
  # configuration.
4593
4742
  #
4743
+ # To use this API operation against an access point, provide the alias
4744
+ # of the access point in place of the bucket name.
4745
+ #
4746
+ # To use this API operation against an Object Lambda access point,
4747
+ # provide the alias of the Object Lambda access point in place of the
4748
+ # bucket name. If the Object Lambda access point alias in a request is
4749
+ # not valid, the error code `InvalidAccessPointAliasError` is returned.
4750
+ # For more information about `InvalidAccessPointAliasError`, see [List
4751
+ # of Error Codes][1].
4752
+ #
4753
+ #
4754
+ #
4755
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
4756
+ #
4594
4757
  # @option params [String] :expected_bucket_owner
4595
4758
  # The account ID of the expected bucket owner. If the bucket is owned by
4596
4759
  # a different account, the request fails with the HTTP status code `403
@@ -4704,27 +4867,52 @@ module Aws::S3
4704
4867
  # policy to grant permission to other users to read this configuration
4705
4868
  # with the `s3:GetBucketNotification` permission.
4706
4869
  #
4870
+ # To use this API operation against an access point, provide the alias
4871
+ # of the access point in place of the bucket name.
4872
+ #
4873
+ # To use this API operation against an Object Lambda access point,
4874
+ # provide the alias of the Object Lambda access point in place of the
4875
+ # bucket name. If the Object Lambda access point alias in a request is
4876
+ # not valid, the error code `InvalidAccessPointAliasError` is returned.
4877
+ # For more information about `InvalidAccessPointAliasError`, see [List
4878
+ # of Error Codes][1].
4879
+ #
4707
4880
  # For more information about setting and reading the notification
4708
4881
  # configuration on a bucket, see [Setting Up Notification of Bucket
4709
- # Events][1]. For more information about bucket policies, see [Using
4710
- # Bucket Policies][2].
4882
+ # Events][2]. For more information about bucket policies, see [Using
4883
+ # Bucket Policies][3].
4711
4884
  #
4712
4885
  # The following action is related to `GetBucketNotification`:
4713
4886
  #
4714
- # * [PutBucketNotification][3]
4887
+ # * [PutBucketNotification][4]
4715
4888
  #
4716
4889
  # ^
4717
4890
  #
4718
4891
  #
4719
4892
  #
4720
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
4721
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
4722
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotification.html
4893
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
4894
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
4895
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
4896
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotification.html
4723
4897
  #
4724
4898
  # @option params [required, String] :bucket
4725
4899
  # The name of the bucket for which to get the notification
4726
4900
  # configuration.
4727
4901
  #
4902
+ # To use this API operation against an access point, provide the alias
4903
+ # of the access point in place of the bucket name.
4904
+ #
4905
+ # To use this API operation against an Object Lambda access point,
4906
+ # provide the alias of the Object Lambda access point in place of the
4907
+ # bucket name. If the Object Lambda access point alias in a request is
4908
+ # not valid, the error code `InvalidAccessPointAliasError` is returned.
4909
+ # For more information about `InvalidAccessPointAliasError`, see [List
4910
+ # of Error Codes][1].
4911
+ #
4912
+ #
4913
+ #
4914
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
4915
+ #
4728
4916
  # @option params [String] :expected_bucket_owner
4729
4917
  # The account ID of the expected bucket owner. If the bucket is owned by
4730
4918
  # a different account, the request fails with the HTTP status code `403
@@ -4844,28 +5032,57 @@ module Aws::S3
4844
5032
  # you're not using an identity that belongs to the bucket owner's
4845
5033
  # account, Amazon S3 returns a `405 Method Not Allowed` error.
4846
5034
  #
4847
- # As a security precaution, the root user of the Amazon Web Services
4848
- # account that owns a bucket can always use this operation, even if the
4849
- # policy explicitly denies the root user the ability to perform this
4850
- # action.
5035
+ # To ensure that bucket owners don't inadvertently lock themselves out
5036
+ # of their own buckets, the root principal in a bucket owner's Amazon
5037
+ # Web Services account can perform the `GetBucketPolicy`,
5038
+ # `PutBucketPolicy`, and `DeleteBucketPolicy` API actions, even if their
5039
+ # bucket policy explicitly denies the root principal's access. Bucket
5040
+ # owner root principals can only be blocked from performing these API
5041
+ # actions by VPC endpoint policies and Amazon Web Services Organizations
5042
+ # policies.
5043
+ #
5044
+ # To use this API operation against an access point, provide the alias
5045
+ # of the access point in place of the bucket name.
5046
+ #
5047
+ # To use this API operation against an Object Lambda access point,
5048
+ # provide the alias of the Object Lambda access point in place of the
5049
+ # bucket name. If the Object Lambda access point alias in a request is
5050
+ # not valid, the error code `InvalidAccessPointAliasError` is returned.
5051
+ # For more information about `InvalidAccessPointAliasError`, see [List
5052
+ # of Error Codes][1].
4851
5053
  #
4852
5054
  # For more information about bucket policies, see [Using Bucket Policies
4853
- # and User Policies][1].
5055
+ # and User Policies][2].
4854
5056
  #
4855
5057
  # The following action is related to `GetBucketPolicy`:
4856
5058
  #
4857
- # * [GetObject][2]
5059
+ # * [GetObject][3]
4858
5060
  #
4859
5061
  # ^
4860
5062
  #
4861
5063
  #
4862
5064
  #
4863
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
4864
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
5065
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
5066
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
5067
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
4865
5068
  #
4866
5069
  # @option params [required, String] :bucket
4867
5070
  # The bucket name for which to get the bucket policy.
4868
5071
  #
5072
+ # To use this API operation against an access point, provide the alias
5073
+ # of the access point in place of the bucket name.
5074
+ #
5075
+ # To use this API operation against an Object Lambda access point,
5076
+ # provide the alias of the Object Lambda access point in place of the
5077
+ # bucket name. If the Object Lambda access point alias in a request is
5078
+ # not valid, the error code `InvalidAccessPointAliasError` is returned.
5079
+ # For more information about `InvalidAccessPointAliasError`, see [List
5080
+ # of Error Codes][1].
5081
+ #
5082
+ #
5083
+ #
5084
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
5085
+ #
4869
5086
  # @option params [String] :expected_bucket_owner
4870
5087
  # The account ID of the expected bucket owner. If the bucket is owned by
4871
5088
  # a different account, the request fails with the HTTP status code `403
@@ -5317,7 +5534,7 @@ module Aws::S3
5317
5534
  # the website configuration by writing a bucket policy granting them the
5318
5535
  # `S3:GetBucketWebsite` permission.
5319
5536
  #
5320
- # The following operations are related to `DeleteBucketWebsite`:
5537
+ # The following operations are related to `GetBucketWebsite`:
5321
5538
  #
5322
5539
  # * [DeleteBucketWebsite][2]
5323
5540
  #
@@ -5421,7 +5638,7 @@ module Aws::S3
5421
5638
  # Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive
5422
5639
  # or S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve
5423
5640
  # the object you must first restore a copy using [RestoreObject][3].
5424
- # Otherwise, this action returns an `InvalidObjectStateError` error. For
5641
+ # Otherwise, this action returns an `InvalidObjectState` error. For
5425
5642
  # information about restoring archived objects, see [Restoring Archived
5426
5643
  # Objects][4].
5427
5644
  #
@@ -5451,86 +5668,88 @@ module Aws::S3
5451
5668
  # [GetObjectTagging][6] to retrieve the tag set associated with an
5452
5669
  # object.
5453
5670
  #
5454
- # **Permissions**
5671
+ # Permissions
5455
5672
  #
5456
- # You need the relevant read object (or version) permission for this
5457
- # operation. For more information, see [Specifying Permissions in a
5458
- # Policy][7]. If the object you request does not exist, the error Amazon
5459
- # S3 returns depends on whether you also have the `s3:ListBucket`
5460
- # permission.
5673
+ # : You need the relevant read object (or version) permission for this
5674
+ # operation. For more information, see [Specifying Permissions in a
5675
+ # Policy][7]. If the object you request does not exist, the error
5676
+ # Amazon S3 returns depends on whether you also have the
5677
+ # `s3:ListBucket` permission.
5461
5678
  #
5462
- # * If you have the `s3:ListBucket` permission on the bucket, Amazon S3
5463
- # will return an HTTP status code 404 ("no such key") error.
5679
+ # * If you have the `s3:ListBucket` permission on the bucket, Amazon
5680
+ # S3 will return an HTTP status code 404 ("no such key") error.
5464
5681
  #
5465
- # * If you don’t have the `s3:ListBucket` permission, Amazon S3 will
5466
- # return an HTTP status code 403 ("access denied") error.
5682
+ # * If you don’t have the `s3:ListBucket` permission, Amazon S3 will
5683
+ # return an HTTP status code 403 ("access denied") error.
5467
5684
  #
5468
- # **Versioning**
5685
+ # Versioning
5469
5686
  #
5470
- # By default, the GET action returns the current version of an object.
5471
- # To return a different version, use the `versionId` subresource.
5687
+ # : By default, the GET action returns the current version of an object.
5688
+ # To return a different version, use the `versionId` subresource.
5472
5689
  #
5473
- # <note markdown="1"> * If you supply a `versionId`, you need the `s3:GetObjectVersion`
5474
- # permission to access a specific version of an object. If you request
5475
- # a specific version, you do not need to have the `s3:GetObject`
5476
- # permission.
5690
+ # <note markdown="1"> * If you supply a `versionId`, you need the `s3:GetObjectVersion`
5691
+ # permission to access a specific version of an object. If you
5692
+ # request a specific version, you do not need to have the
5693
+ # `s3:GetObject` permission. If you request the current version
5694
+ # without a specific version ID, only `s3:GetObject` permission is
5695
+ # required. `s3:GetObjectVersion` permission won't be required.
5477
5696
  #
5478
- # * If the current version of the object is a delete marker, Amazon S3
5479
- # behaves as if the object was deleted and includes
5480
- # `x-amz-delete-marker: true` in the response.
5697
+ # * If the current version of the object is a delete marker, Amazon S3
5698
+ # behaves as if the object was deleted and includes
5699
+ # `x-amz-delete-marker: true` in the response.
5481
5700
  #
5482
- # </note>
5701
+ # </note>
5483
5702
  #
5484
- # For more information about versioning, see [PutBucketVersioning][8].
5703
+ # For more information about versioning, see [PutBucketVersioning][8].
5485
5704
  #
5486
- # **Overriding Response Header Values**
5705
+ # Overriding Response Header Values
5487
5706
  #
5488
- # There are times when you want to override certain response header
5489
- # values in a GET response. For example, you might override the
5490
- # `Content-Disposition` response header value in your GET request.
5707
+ # : There are times when you want to override certain response header
5708
+ # values in a GET response. For example, you might override the
5709
+ # `Content-Disposition` response header value in your GET request.
5491
5710
  #
5492
- # You can override values for a set of response headers using the
5493
- # following query parameters. These response header values are sent only
5494
- # on a successful request, that is, when status code 200 OK is returned.
5495
- # The set of headers you can override using these parameters is a subset
5496
- # of the headers that Amazon S3 accepts when you create an object. The
5497
- # response headers that you can override for the GET response are
5498
- # `Content-Type`, `Content-Language`, `Expires`, `Cache-Control`,
5499
- # `Content-Disposition`, and `Content-Encoding`. To override these
5500
- # header values in the GET response, you use the following request
5501
- # parameters.
5711
+ # You can override values for a set of response headers using the
5712
+ # following query parameters. These response header values are sent
5713
+ # only on a successful request, that is, when status code 200 OK is
5714
+ # returned. The set of headers you can override using these parameters
5715
+ # is a subset of the headers that Amazon S3 accepts when you create an
5716
+ # object. The response headers that you can override for the GET
5717
+ # response are `Content-Type`, `Content-Language`, `Expires`,
5718
+ # `Cache-Control`, `Content-Disposition`, and `Content-Encoding`. To
5719
+ # override these header values in the GET response, you use the
5720
+ # following request parameters.
5502
5721
  #
5503
- # <note markdown="1"> You must sign the request, either using an Authorization header or a
5504
- # presigned URL, when using these parameters. They cannot be used with
5505
- # an unsigned (anonymous) request.
5722
+ # <note markdown="1"> You must sign the request, either using an Authorization header or a
5723
+ # presigned URL, when using these parameters. They cannot be used with
5724
+ # an unsigned (anonymous) request.
5506
5725
  #
5507
- # </note>
5726
+ # </note>
5508
5727
  #
5509
- # * `response-content-type`
5728
+ # * `response-content-type`
5510
5729
  #
5511
- # * `response-content-language`
5730
+ # * `response-content-language`
5512
5731
  #
5513
- # * `response-expires`
5732
+ # * `response-expires`
5514
5733
  #
5515
- # * `response-cache-control`
5734
+ # * `response-cache-control`
5516
5735
  #
5517
- # * `response-content-disposition`
5736
+ # * `response-content-disposition`
5518
5737
  #
5519
- # * `response-content-encoding`
5738
+ # * `response-content-encoding`
5520
5739
  #
5521
- # **Additional Considerations about Request Headers**
5740
+ # Overriding Response Header Values
5522
5741
  #
5523
- # If both of the `If-Match` and `If-Unmodified-Since` headers are
5524
- # present in the request as follows: `If-Match` condition evaluates to
5525
- # `true`, and; `If-Unmodified-Since` condition evaluates to `false`;
5526
- # then, S3 returns 200 OK and the data requested.
5742
+ # : If both of the `If-Match` and `If-Unmodified-Since` headers are
5743
+ # present in the request as follows: `If-Match` condition evaluates to
5744
+ # `true`, and; `If-Unmodified-Since` condition evaluates to `false`;
5745
+ # then, S3 returns 200 OK and the data requested.
5527
5746
  #
5528
- # If both of the `If-None-Match` and `If-Modified-Since` headers are
5529
- # present in the request as follows:` If-None-Match` condition evaluates
5530
- # to `false`, and; `If-Modified-Since` condition evaluates to `true`;
5531
- # then, S3 returns 304 Not Modified response code.
5747
+ # If both of the `If-None-Match` and `If-Modified-Since` headers are
5748
+ # present in the request as follows:` If-None-Match` condition
5749
+ # evaluates to `false`, and; `If-Modified-Since` condition evaluates
5750
+ # to `true`; then, S3 returns 304 Not Modified response code.
5532
5751
  #
5533
- # For more information about conditional requests, see [RFC 7232][9].
5752
+ # For more information about conditional requests, see [RFC 7232][9].
5534
5753
  #
5535
5754
  # The following operations are related to `GetObject`:
5536
5755
  #
@@ -5568,14 +5787,14 @@ module Aws::S3
5568
5787
  # When using an Object Lambda access point the hostname takes the form
5569
5788
  # *AccessPointName*-*AccountId*.s3-object-lambda.*Region*.amazonaws.com.
5570
5789
  #
5571
- # When using this action with Amazon S3 on Outposts, you must direct
5790
+ # When you use this action with Amazon S3 on Outposts, you must direct
5572
5791
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
5573
5792
  # takes the form `
5574
5793
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
5575
- # When using this action with S3 on Outposts through the Amazon Web
5576
- # Services SDKs, you provide the Outposts bucket ARN in place of the
5577
- # bucket name. For more information about S3 on Outposts ARNs, see
5578
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
5794
+ # When you use this action with S3 on Outposts through the Amazon Web
5795
+ # Services SDKs, you provide the Outposts access point ARN in place of
5796
+ # the bucket name. For more information about S3 on Outposts ARNs, see
5797
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
5579
5798
  #
5580
5799
  #
5581
5800
  #
@@ -5604,7 +5823,7 @@ module Aws::S3
5604
5823
  # @option params [String] :range
5605
5824
  # Downloads the specified range bytes of an object. For more information
5606
5825
  # about the HTTP Range header, see
5607
- # [https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
5826
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#name-range][1].
5608
5827
  #
5609
5828
  # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
5610
5829
  # `GET` request.
@@ -5613,7 +5832,7 @@ module Aws::S3
5613
5832
  #
5614
5833
  #
5615
5834
  #
5616
- # [1]: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
5835
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-range
5617
5836
  #
5618
5837
  # @option params [String] :response_cache_control
5619
5838
  # Sets the `Cache-Control` header of the response.
@@ -5877,8 +6096,6 @@ module Aws::S3
5877
6096
  #
5878
6097
  # This action is not supported by Amazon S3 on Outposts.
5879
6098
  #
5880
- # **Versioning**
5881
- #
5882
6099
  # By default, GET returns ACL information about the current version of
5883
6100
  # an object. To return ACL information about a different version, use
5884
6101
  # the versionId subresource.
@@ -6043,9 +6260,7 @@ module Aws::S3
6043
6260
  # object's metadata. To use `GetObjectAttributes`, you must have READ
6044
6261
  # access to the object.
6045
6262
  #
6046
- # `GetObjectAttributes` combines the functionality of `GetObjectAcl`,
6047
- # `GetObjectLegalHold`, `GetObjectLockConfiguration`,
6048
- # `GetObjectRetention`, `GetObjectTagging`, `HeadObject`, and
6263
+ # `GetObjectAttributes` combines the functionality of `HeadObject` and
6049
6264
  # `ListParts`. All of the data returned with each of those individual
6050
6265
  # calls can be returned with a single call to `GetObjectAttributes`.
6051
6266
  #
@@ -6067,9 +6282,8 @@ module Aws::S3
6067
6282
  # should not be sent for GET requests if your object uses server-side
6068
6283
  # encryption with Amazon Web Services KMS keys stored in Amazon Web
6069
6284
  # Services Key Management Service (SSE-KMS) or server-side encryption
6070
- # with Amazon S3 managed encryption keys (SSE-S3). If your object does
6071
- # use these types of keys, you'll get an HTTP `400 Bad Request`
6072
- # error.
6285
+ # with Amazon S3 managed keys (SSE-S3). If your object does use these
6286
+ # types of keys, you'll get an HTTP `400 Bad Request` error.
6073
6287
  #
6074
6288
  # * The last modified property in this case is the creation date of the
6075
6289
  # object.
@@ -6096,23 +6310,26 @@ module Aws::S3
6096
6310
  #
6097
6311
  # For more information about conditional requests, see [RFC 7232][2].
6098
6312
  #
6099
- # **Permissions**
6313
+ # Permissions
6100
6314
  #
6101
- # The permissions that you need to use this operation depend on whether
6102
- # the bucket is versioned. If the bucket is versioned, you need both the
6103
- # `s3:GetObjectVersion` and `s3:GetObjectVersionAttributes` permissions
6104
- # for this operation. If the bucket is not versioned, you need the
6105
- # `s3:GetObject` and `s3:GetObjectAttributes` permissions. For more
6106
- # information, see [Specifying Permissions in a Policy][3] in the
6107
- # *Amazon S3 User Guide*. If the object that you request does not exist,
6108
- # the error Amazon S3 returns depends on whether you also have the
6109
- # `s3:ListBucket` permission.
6315
+ # : The permissions that you need to use this operation depend on
6316
+ # whether the bucket is versioned. If the bucket is versioned, you
6317
+ # need both the `s3:GetObjectVersion` and
6318
+ # `s3:GetObjectVersionAttributes` permissions for this operation. If
6319
+ # the bucket is not versioned, you need the `s3:GetObject` and
6320
+ # `s3:GetObjectAttributes` permissions. For more information, see
6321
+ # [Specifying Permissions in a Policy][3] in the *Amazon S3 User
6322
+ # Guide*. If the object that you request does not exist, the error
6323
+ # Amazon S3 returns depends on whether you also have the
6324
+ # `s3:ListBucket` permission.
6110
6325
  #
6111
- # * If you have the `s3:ListBucket` permission on the bucket, Amazon S3
6112
- # returns an HTTP status code `404 Not Found` ("no such key") error.
6326
+ # * If you have the `s3:ListBucket` permission on the bucket, Amazon
6327
+ # S3 returns an HTTP status code `404 Not Found` ("no such key")
6328
+ # error.
6113
6329
  #
6114
- # * If you don't have the `s3:ListBucket` permission, Amazon S3 returns
6115
- # an HTTP status code `403 Forbidden` ("access denied") error.
6330
+ # * If you don't have the `s3:ListBucket` permission, Amazon S3
6331
+ # returns an HTTP status code `403 Forbidden` ("access denied")
6332
+ # error.
6116
6333
  #
6117
6334
  # The following actions are related to `GetObjectAttributes`:
6118
6335
  #
@@ -6157,14 +6374,14 @@ module Aws::S3
6157
6374
  # name. For more information about access point ARNs, see [Using access
6158
6375
  # points][1] in the *Amazon S3 User Guide*.
6159
6376
  #
6160
- # When using this action with Amazon S3 on Outposts, you must direct
6377
+ # When you use this action with Amazon S3 on Outposts, you must direct
6161
6378
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6162
6379
  # takes the form `
6163
6380
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
6164
- # When using this action with S3 on Outposts through the Amazon Web
6165
- # Services SDKs, you provide the Outposts bucket ARN in place of the
6166
- # bucket name. For more information about S3 on Outposts ARNs, see
6167
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
6381
+ # When you use this action with S3 on Outposts through the Amazon Web
6382
+ # Services SDKs, you provide the Outposts access point ARN in place of
6383
+ # the bucket name. For more information about S3 on Outposts ARNs, see
6384
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
6168
6385
  #
6169
6386
  #
6170
6387
  #
@@ -6557,14 +6774,14 @@ module Aws::S3
6557
6774
  # name. For more information about access point ARNs, see [Using access
6558
6775
  # points][1] in the *Amazon S3 User Guide*.
6559
6776
  #
6560
- # When using this action with Amazon S3 on Outposts, you must direct
6777
+ # When you use this action with Amazon S3 on Outposts, you must direct
6561
6778
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6562
6779
  # takes the form `
6563
6780
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
6564
- # When using this action with S3 on Outposts through the Amazon Web
6565
- # Services SDKs, you provide the Outposts bucket ARN in place of the
6566
- # bucket name. For more information about S3 on Outposts ARNs, see
6567
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
6781
+ # When you use this action with S3 on Outposts through the Amazon Web
6782
+ # Services SDKs, you provide the Outposts access point ARN in place of
6783
+ # the bucket name. For more information about S3 on Outposts ARNs, see
6784
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
6568
6785
  #
6569
6786
  #
6570
6787
  #
@@ -6671,8 +6888,7 @@ module Aws::S3
6671
6888
  end
6672
6889
 
6673
6890
  # Returns torrent files from a bucket. BitTorrent can save you bandwidth
6674
- # when you're distributing large files. For more information about
6675
- # BitTorrent, see [Using BitTorrent with Amazon S3][1].
6891
+ # when you're distributing large files.
6676
6892
  #
6677
6893
  # <note markdown="1"> You can get torrent only for objects that are less than 5 GB in size,
6678
6894
  # and that are not encrypted using server-side encryption with a
@@ -6686,14 +6902,13 @@ module Aws::S3
6686
6902
  #
6687
6903
  # The following action is related to `GetObjectTorrent`:
6688
6904
  #
6689
- # * [GetObject][2]
6905
+ # * [GetObject][1]
6690
6906
  #
6691
6907
  # ^
6692
6908
  #
6693
6909
  #
6694
6910
  #
6695
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html
6696
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
6911
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
6697
6912
  #
6698
6913
  # @option params [String, IO] :response_target
6699
6914
  # Where to write response data, file path, or IO object.
@@ -6839,9 +7054,9 @@ module Aws::S3
6839
7054
  # exists and you have permission to access it.
6840
7055
  #
6841
7056
  # If the bucket does not exist or you do not have permission to access
6842
- # it, the `HEAD` request returns a generic `404 Not Found` or `403
6843
- # Forbidden` code. A message body is not included, so you cannot
6844
- # determine the exception beyond these error codes.
7057
+ # it, the `HEAD` request returns a generic `400 Bad Request`, `403
7058
+ # Forbidden` or `404 Not Found` code. A message body is not included, so
7059
+ # you cannot determine the exception beyond these error codes.
6845
7060
  #
6846
7061
  # To use this operation, you must have permissions to perform the
6847
7062
  # `s3:ListBucket` action. The bucket owner has this permission by
@@ -6850,19 +7065,29 @@ module Aws::S3
6850
7065
  # Operations][1] and [Managing Access Permissions to Your Amazon S3
6851
7066
  # Resources][2].
6852
7067
  #
6853
- # To use this API against an access point, you must provide the alias of
6854
- # the access point in place of the bucket name or specify the access
6855
- # point ARN. When using the access point ARN, you must direct requests
6856
- # to the access point hostname. The access point hostname takes the form
6857
- # AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When
6858
- # using the Amazon Web Services SDKs, you provide the ARN in place of
6859
- # the bucket name. For more information see, [Using access points][3].
7068
+ # To use this API operation against an access point, you must provide
7069
+ # the alias of the access point in place of the bucket name or specify
7070
+ # the access point ARN. When using the access point ARN, you must direct
7071
+ # requests to the access point hostname. The access point hostname takes
7072
+ # the form
7073
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
7074
+ # When using the Amazon Web Services SDKs, you provide the ARN in place
7075
+ # of the bucket name. For more information, see [Using access
7076
+ # points][3].
7077
+ #
7078
+ # To use this API operation against an Object Lambda access point,
7079
+ # provide the alias of the Object Lambda access point in place of the
7080
+ # bucket name. If the Object Lambda access point alias in a request is
7081
+ # not valid, the error code `InvalidAccessPointAliasError` is returned.
7082
+ # For more information about `InvalidAccessPointAliasError`, see [List
7083
+ # of Error Codes][4].
6860
7084
  #
6861
7085
  #
6862
7086
  #
6863
7087
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
6864
7088
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
6865
7089
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html
7090
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
6866
7091
  #
6867
7092
  # @option params [required, String] :bucket
6868
7093
  # The bucket name.
@@ -6875,19 +7100,27 @@ module Aws::S3
6875
7100
  # name. For more information about access point ARNs, see [Using access
6876
7101
  # points][1] in the *Amazon S3 User Guide*.
6877
7102
  #
6878
- # When using this action with Amazon S3 on Outposts, you must direct
7103
+ # When you use this action with an Object Lambda access point, provide
7104
+ # the alias of the Object Lambda access point in place of the bucket
7105
+ # name. If the Object Lambda access point alias in a request is not
7106
+ # valid, the error code `InvalidAccessPointAliasError` is returned. For
7107
+ # more information about `InvalidAccessPointAliasError`, see [List of
7108
+ # Error Codes][2].
7109
+ #
7110
+ # When you use this action with Amazon S3 on Outposts, you must direct
6879
7111
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6880
7112
  # takes the form `
6881
7113
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
6882
- # When using this action with S3 on Outposts through the Amazon Web
6883
- # Services SDKs, you provide the Outposts bucket ARN in place of the
6884
- # bucket name. For more information about S3 on Outposts ARNs, see
6885
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
7114
+ # When you use this action with S3 on Outposts through the Amazon Web
7115
+ # Services SDKs, you provide the Outposts access point ARN in place of
7116
+ # the bucket name. For more information about S3 on Outposts ARNs, see
7117
+ # [What is S3 on Outposts][3] in the *Amazon S3 User Guide*.
6886
7118
  #
6887
7119
  #
6888
7120
  #
6889
7121
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html
6890
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html
7122
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
7123
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html
6891
7124
  #
6892
7125
  # @option params [String] :expected_bucket_owner
6893
7126
  # The account ID of the expected bucket owner. If the bucket is owned by
@@ -6935,9 +7168,9 @@ module Aws::S3
6935
7168
  # A `HEAD` request has the same options as a `GET` action on an object.
6936
7169
  # The response is identical to the `GET` response except that there is
6937
7170
  # no response body. Because of this, if the `HEAD` request generates an
6938
- # error, it returns a generic `404 Not Found` or `403 Forbidden` code.
6939
- # It is not possible to retrieve the exact exception beyond these error
6940
- # codes.
7171
+ # error, it returns a generic `400 Bad Request`, `403 Forbidden` or `404
7172
+ # Not Found` code. It is not possible to retrieve the exact exception
7173
+ # beyond these error codes.
6941
7174
  #
6942
7175
  # If you encrypt an object by using server-side encryption with
6943
7176
  # customer-provided encryption keys (SSE-C) when you store the object in
@@ -6989,19 +7222,19 @@ module Aws::S3
6989
7222
  #
6990
7223
  # For more information about conditional requests, see [RFC 7232][3].
6991
7224
  #
6992
- # **Permissions**
7225
+ # Permissions
6993
7226
  #
6994
- # You need the relevant read object (or version) permission for this
6995
- # operation. For more information, see [Specifying Permissions in a
6996
- # Policy][4]. If the object you request does not exist, the error Amazon
6997
- # S3 returns depends on whether you also have the s3:ListBucket
6998
- # permission.
7227
+ # : You need the relevant read object (or version) permission for this
7228
+ # operation. For more information, see [Actions, resources, and
7229
+ # condition keys for Amazon S3][4]. If the object you request does not
7230
+ # exist, the error Amazon S3 returns depends on whether you also have
7231
+ # the s3:ListBucket permission.
6999
7232
  #
7000
- # * If you have the `s3:ListBucket` permission on the bucket, Amazon S3
7001
- # returns an HTTP status code 404 ("no such key") error.
7233
+ # * If you have the `s3:ListBucket` permission on the bucket, Amazon
7234
+ # S3 returns an HTTP status code 404 ("no such key") error.
7002
7235
  #
7003
- # * If you don’t have the `s3:ListBucket` permission, Amazon S3 returns
7004
- # an HTTP status code 403 ("access denied") error.
7236
+ # * If you don’t have the `s3:ListBucket` permission, Amazon S3
7237
+ # returns an HTTP status code 403 ("access denied") error.
7005
7238
  #
7006
7239
  # The following actions are related to `HeadObject`:
7007
7240
  #
@@ -7014,7 +7247,7 @@ module Aws::S3
7014
7247
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
7015
7248
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html
7016
7249
  # [3]: https://tools.ietf.org/html/rfc7232
7017
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
7250
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html
7018
7251
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
7019
7252
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
7020
7253
  #
@@ -7029,14 +7262,14 @@ module Aws::S3
7029
7262
  # name. For more information about access point ARNs, see [Using access
7030
7263
  # points][1] in the *Amazon S3 User Guide*.
7031
7264
  #
7032
- # When using this action with Amazon S3 on Outposts, you must direct
7265
+ # When you use this action with Amazon S3 on Outposts, you must direct
7033
7266
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
7034
7267
  # takes the form `
7035
7268
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
7036
- # When using this action with S3 on Outposts through the Amazon Web
7037
- # Services SDKs, you provide the Outposts bucket ARN in place of the
7038
- # bucket name. For more information about S3 on Outposts ARNs, see
7039
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
7269
+ # When you use this action with S3 on Outposts through the Amazon Web
7270
+ # Services SDKs, you provide the Outposts access point ARN in place of
7271
+ # the bucket name. For more information about S3 on Outposts ARNs, see
7272
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
7040
7273
  #
7041
7274
  #
7042
7275
  #
@@ -7063,8 +7296,10 @@ module Aws::S3
7063
7296
  # The object key.
7064
7297
  #
7065
7298
  # @option params [String] :range
7066
- # Because `HeadObject` returns only the metadata for an object, this
7067
- # parameter has no effect.
7299
+ # HeadObject returns only the metadata for an object. If the Range is
7300
+ # satisfiable, only the `ContentLength` is affected in the response. If
7301
+ # the Range is not satisfiable, S3 returns a `416 - Requested Range Not
7302
+ # Satisfiable` error.
7068
7303
  #
7069
7304
  # @option params [String] :version_id
7070
7305
  # VersionId used to reference a specific version of the object.
@@ -7634,17 +7869,22 @@ module Aws::S3
7634
7869
  # request. To use this operation, you must have the
7635
7870
  # `s3:ListAllMyBuckets` permission.
7636
7871
  #
7872
+ # For information about Amazon S3 buckets, see [Creating, configuring,
7873
+ # and working with Amazon S3 buckets][1].
7874
+ #
7875
+ #
7876
+ #
7877
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html
7878
+ #
7637
7879
  # @return [Types::ListBucketsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7638
7880
  #
7639
7881
  # * {Types::ListBucketsOutput#buckets #buckets} => Array&lt;Types::Bucket&gt;
7640
7882
  # * {Types::ListBucketsOutput#owner #owner} => Types::Owner
7641
7883
  #
7642
7884
  #
7643
- # @example Example: To list object versions
7885
+ # @example Example: To list all buckets
7644
7886
  #
7645
- # # The following example return versions of an object with specific key name prefix. The request limits the number of items
7646
- # # returned to two. If there are are more than two object version, S3 returns NextToken in the response. You can specify
7647
- # # this token value in your next request to fetch next set of object versions.
7887
+ # # The following example returns all the buckets owned by the sender of this request.
7648
7888
  #
7649
7889
  # resp = client.list_buckets({
7650
7890
  # })
@@ -7653,15 +7893,15 @@ module Aws::S3
7653
7893
  # {
7654
7894
  # buckets: [
7655
7895
  # {
7656
- # creation_date: Time.parse("2012-02-15T21: 03: 02.000Z"),
7896
+ # creation_date: Time.parse("2012-02-15T21:03:02.000Z"),
7657
7897
  # name: "examplebucket",
7658
7898
  # },
7659
7899
  # {
7660
- # creation_date: Time.parse("2011-07-24T19: 33: 50.000Z"),
7900
+ # creation_date: Time.parse("2011-07-24T19:33:50.000Z"),
7661
7901
  # name: "examplebucket2",
7662
7902
  # },
7663
7903
  # {
7664
- # creation_date: Time.parse("2010-12-17T00: 56: 49.000Z"),
7904
+ # creation_date: Time.parse("2010-12-17T00:56:49.000Z"),
7665
7905
  # name: "examplebucket3",
7666
7906
  # },
7667
7907
  # ],
@@ -7747,14 +7987,14 @@ module Aws::S3
7747
7987
  # name. For more information about access point ARNs, see [Using access
7748
7988
  # points][1] in the *Amazon S3 User Guide*.
7749
7989
  #
7750
- # When using this action with Amazon S3 on Outposts, you must direct
7990
+ # When you use this action with Amazon S3 on Outposts, you must direct
7751
7991
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
7752
7992
  # takes the form `
7753
7993
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
7754
- # When using this action with S3 on Outposts through the Amazon Web
7755
- # Services SDKs, you provide the Outposts bucket ARN in place of the
7756
- # bucket name. For more information about S3 on Outposts ARNs, see
7757
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
7994
+ # When you use this action with S3 on Outposts through the Amazon Web
7995
+ # Services SDKs, you provide the Outposts access point ARN in place of
7996
+ # the bucket name. For more information about S3 on Outposts ARNs, see
7997
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
7758
7998
  #
7759
7999
  #
7760
8000
  #
@@ -8215,14 +8455,14 @@ module Aws::S3
8215
8455
  # name. For more information about access point ARNs, see [Using access
8216
8456
  # points][1] in the *Amazon S3 User Guide*.
8217
8457
  #
8218
- # When using this action with Amazon S3 on Outposts, you must direct
8458
+ # When you use this action with Amazon S3 on Outposts, you must direct
8219
8459
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
8220
8460
  # takes the form `
8221
8461
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
8222
- # When using this action with S3 on Outposts through the Amazon Web
8223
- # Services SDKs, you provide the Outposts bucket ARN in place of the
8224
- # bucket name. For more information about S3 on Outposts ARNs, see
8225
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
8462
+ # When you use this action with S3 on Outposts through the Amazon Web
8463
+ # Services SDKs, you provide the Outposts access point ARN in place of
8464
+ # the bucket name. For more information about S3 on Outposts ARNs, see
8465
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
8226
8466
  #
8227
8467
  #
8228
8468
  #
@@ -8417,14 +8657,14 @@ module Aws::S3
8417
8657
  # name. For more information about access point ARNs, see [Using access
8418
8658
  # points][1] in the *Amazon S3 User Guide*.
8419
8659
  #
8420
- # When using this action with Amazon S3 on Outposts, you must direct
8660
+ # When you use this action with Amazon S3 on Outposts, you must direct
8421
8661
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
8422
8662
  # takes the form `
8423
8663
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
8424
- # When using this action with S3 on Outposts through the Amazon Web
8425
- # Services SDKs, you provide the Outposts bucket ARN in place of the
8426
- # bucket name. For more information about S3 on Outposts ARNs, see
8427
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
8664
+ # When you use this action with S3 on Outposts through the Amazon Web
8665
+ # Services SDKs, you provide the Outposts access point ARN in place of
8666
+ # the bucket name. For more information about S3 on Outposts ARNs, see
8667
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
8428
8668
  #
8429
8669
  #
8430
8670
  #
@@ -8494,7 +8734,7 @@ module Aws::S3
8494
8734
  # # keys.
8495
8735
  #
8496
8736
  # resp = client.list_objects_v2({
8497
- # bucket: "examplebucket",
8737
+ # bucket: "DOC-EXAMPLE-BUCKET",
8498
8738
  # max_keys: 2,
8499
8739
  # })
8500
8740
  #
@@ -8519,7 +8759,7 @@ module Aws::S3
8519
8759
  # is_truncated: true,
8520
8760
  # key_count: 2,
8521
8761
  # max_keys: 2,
8522
- # name: "examplebucket",
8762
+ # name: "DOC-EXAMPLE-BUCKET",
8523
8763
  # next_continuation_token: "1w41l63U0xa8q7smH50vCxyTQqdxo69O3EmK28Bi5PcROI4wI/EyIJg==",
8524
8764
  # prefix: "",
8525
8765
  # }
@@ -8632,14 +8872,14 @@ module Aws::S3
8632
8872
  # name. For more information about access point ARNs, see [Using access
8633
8873
  # points][1] in the *Amazon S3 User Guide*.
8634
8874
  #
8635
- # When using this action with Amazon S3 on Outposts, you must direct
8875
+ # When you use this action with Amazon S3 on Outposts, you must direct
8636
8876
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
8637
8877
  # takes the form `
8638
8878
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
8639
- # When using this action with S3 on Outposts through the Amazon Web
8640
- # Services SDKs, you provide the Outposts bucket ARN in place of the
8641
- # bucket name. For more information about S3 on Outposts ARNs, see
8642
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
8879
+ # When you use this action with S3 on Outposts through the Amazon Web
8880
+ # Services SDKs, you provide the Outposts access point ARN in place of
8881
+ # the bucket name. For more information about S3 on Outposts ARNs, see
8882
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
8643
8883
  #
8644
8884
  #
8645
8885
  #
@@ -8940,127 +9180,128 @@ module Aws::S3
8940
9180
  # still supported. For more information, see [Controlling object
8941
9181
  # ownership][2] in the *Amazon S3 User Guide*.
8942
9182
  #
8943
- # **Access Permissions**
9183
+ # Permissions
8944
9184
  #
8945
- # You can set access permissions using one of the following methods:
9185
+ # : You can set access permissions using one of the following methods:
8946
9186
  #
8947
- # * Specify a canned ACL with the `x-amz-acl` request header. Amazon S3
8948
- # supports a set of predefined ACLs, known as *canned ACLs*. Each
8949
- # canned ACL has a predefined set of grantees and permissions. Specify
8950
- # the canned ACL name as the value of `x-amz-acl`. If you use this
8951
- # header, you cannot use other access control-specific headers in your
8952
- # request. For more information, see [Canned ACL][3].
9187
+ # * Specify a canned ACL with the `x-amz-acl` request header. Amazon
9188
+ # S3 supports a set of predefined ACLs, known as *canned ACLs*. Each
9189
+ # canned ACL has a predefined set of grantees and permissions.
9190
+ # Specify the canned ACL name as the value of `x-amz-acl`. If you
9191
+ # use this header, you cannot use other access control-specific
9192
+ # headers in your request. For more information, see [Canned
9193
+ # ACL][3].
8953
9194
  #
8954
- # * Specify access permissions explicitly with the `x-amz-grant-read`,
8955
- # `x-amz-grant-read-acp`, `x-amz-grant-write-acp`, and
8956
- # `x-amz-grant-full-control` headers. When using these headers, you
8957
- # specify explicit access permissions and grantees (Amazon Web
8958
- # Services accounts or Amazon S3 groups) who will receive the
8959
- # permission. If you use these ACL-specific headers, you cannot use
8960
- # the `x-amz-acl` header to set a canned ACL. These parameters map to
8961
- # the set of permissions that Amazon S3 supports in an ACL. For more
8962
- # information, see [Access Control List (ACL) Overview][4].
9195
+ # * Specify access permissions explicitly with the `x-amz-grant-read`,
9196
+ # `x-amz-grant-read-acp`, `x-amz-grant-write-acp`, and
9197
+ # `x-amz-grant-full-control` headers. When using these headers, you
9198
+ # specify explicit access permissions and grantees (Amazon Web
9199
+ # Services accounts or Amazon S3 groups) who will receive the
9200
+ # permission. If you use these ACL-specific headers, you cannot use
9201
+ # the `x-amz-acl` header to set a canned ACL. These parameters map
9202
+ # to the set of permissions that Amazon S3 supports in an ACL. For
9203
+ # more information, see [Access Control List (ACL) Overview][4].
8963
9204
  #
8964
- # You specify each grantee as a type=value pair, where the type is one
8965
- # of the following:
9205
+ # You specify each grantee as a type=value pair, where the type is
9206
+ # one of the following:
8966
9207
  #
8967
- # * `id` – if the value specified is the canonical user ID of an
8968
- # Amazon Web Services account
9208
+ # * `id` – if the value specified is the canonical user ID of an
9209
+ # Amazon Web Services account
8969
9210
  #
8970
- # * `uri` – if you are granting permissions to a predefined group
9211
+ # * `uri` – if you are granting permissions to a predefined group
8971
9212
  #
8972
- # * `emailAddress` – if the value specified is the email address of an
8973
- # Amazon Web Services account
9213
+ # * `emailAddress` – if the value specified is the email address of
9214
+ # an Amazon Web Services account
8974
9215
  #
8975
- # <note markdown="1"> Using email addresses to specify a grantee is only supported in
8976
- # the following Amazon Web Services Regions:
9216
+ # <note markdown="1"> Using email addresses to specify a grantee is only supported in
9217
+ # the following Amazon Web Services Regions:
8977
9218
  #
8978
- # * US East (N. Virginia)
9219
+ # * US East (N. Virginia)
8979
9220
  #
8980
- # * US West (N. California)
9221
+ # * US West (N. California)
8981
9222
  #
8982
- # * US West (Oregon)
9223
+ # * US West (Oregon)
8983
9224
  #
8984
- # * Asia Pacific (Singapore)
9225
+ # * Asia Pacific (Singapore)
8985
9226
  #
8986
- # * Asia Pacific (Sydney)
9227
+ # * Asia Pacific (Sydney)
8987
9228
  #
8988
- # * Asia Pacific (Tokyo)
9229
+ # * Asia Pacific (Tokyo)
8989
9230
  #
8990
- # * Europe (Ireland)
9231
+ # * Europe (Ireland)
8991
9232
  #
8992
- # * South America (São Paulo)
9233
+ # * South America (São Paulo)
8993
9234
  #
8994
- # For a list of all the Amazon S3 supported Regions and endpoints,
8995
- # see [Regions and Endpoints][5] in the Amazon Web Services General
8996
- # Reference.
9235
+ # For a list of all the Amazon S3 supported Regions and endpoints,
9236
+ # see [Regions and Endpoints][5] in the Amazon Web Services
9237
+ # General Reference.
8997
9238
  #
8998
- # </note>
9239
+ # </note>
8999
9240
  #
9000
- # For example, the following `x-amz-grant-write` header grants create,
9001
- # overwrite, and delete objects permission to LogDelivery group
9002
- # predefined by Amazon S3 and two Amazon Web Services accounts
9003
- # identified by their email addresses.
9241
+ # For example, the following `x-amz-grant-write` header grants
9242
+ # create, overwrite, and delete objects permission to LogDelivery
9243
+ # group predefined by Amazon S3 and two Amazon Web Services accounts
9244
+ # identified by their email addresses.
9004
9245
  #
9005
- # `x-amz-grant-write:
9006
- # uri="http://acs.amazonaws.com/groups/s3/LogDelivery",
9007
- # id="111122223333", id="555566667777" `
9246
+ # `x-amz-grant-write:
9247
+ # uri="http://acs.amazonaws.com/groups/s3/LogDelivery",
9248
+ # id="111122223333", id="555566667777" `
9008
9249
  #
9009
- # You can use either a canned ACL or specify access permissions
9010
- # explicitly. You cannot do both.
9250
+ # You can use either a canned ACL or specify access permissions
9251
+ # explicitly. You cannot do both.
9011
9252
  #
9012
- # **Grantee Values**
9253
+ # Grantee Values
9013
9254
  #
9014
- # You can specify the person (grantee) to whom you're assigning access
9015
- # rights (using request elements) in the following ways:
9255
+ # : You can specify the person (grantee) to whom you're assigning
9256
+ # access rights (using request elements) in the following ways:
9016
9257
  #
9017
- # * By the person's ID:
9258
+ # * By the person's ID:
9018
9259
  #
9019
- # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9020
- # xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName>
9021
- # </Grantee>`
9260
+ # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9261
+ # xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName>
9262
+ # </Grantee>`
9022
9263
  #
9023
- # DisplayName is optional and ignored in the request
9264
+ # DisplayName is optional and ignored in the request
9024
9265
  #
9025
- # * By URI:
9266
+ # * By URI:
9026
9267
  #
9027
- # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9028
- # xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>`
9268
+ # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9269
+ # xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>`
9029
9270
  #
9030
- # * By Email address:
9271
+ # * By Email address:
9031
9272
  #
9032
- # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9033
- # xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee>`
9273
+ # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9274
+ # xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>&</Grantee>`
9034
9275
  #
9035
- # The grantee is resolved to the CanonicalUser and, in a response to a
9036
- # GET Object acl request, appears as the CanonicalUser.
9276
+ # The grantee is resolved to the CanonicalUser and, in a response to
9277
+ # a GET Object acl request, appears as the CanonicalUser.
9037
9278
  #
9038
- # <note markdown="1"> Using email addresses to specify a grantee is only supported in the
9039
- # following Amazon Web Services Regions:
9279
+ # <note markdown="1"> Using email addresses to specify a grantee is only supported in
9280
+ # the following Amazon Web Services Regions:
9040
9281
  #
9041
- # * US East (N. Virginia)
9282
+ # * US East (N. Virginia)
9042
9283
  #
9043
- # * US West (N. California)
9284
+ # * US West (N. California)
9044
9285
  #
9045
- # * US West (Oregon)
9286
+ # * US West (Oregon)
9046
9287
  #
9047
- # * Asia Pacific (Singapore)
9288
+ # * Asia Pacific (Singapore)
9048
9289
  #
9049
- # * Asia Pacific (Sydney)
9290
+ # * Asia Pacific (Sydney)
9050
9291
  #
9051
- # * Asia Pacific (Tokyo)
9292
+ # * Asia Pacific (Tokyo)
9052
9293
  #
9053
- # * Europe (Ireland)
9294
+ # * Europe (Ireland)
9054
9295
  #
9055
- # * South America (São Paulo)
9296
+ # * South America (São Paulo)
9056
9297
  #
9057
- # For a list of all the Amazon S3 supported Regions and endpoints, see
9058
- # [Regions and Endpoints][5] in the Amazon Web Services General
9059
- # Reference.
9298
+ # For a list of all the Amazon S3 supported Regions and endpoints,
9299
+ # see [Regions and Endpoints][5] in the Amazon Web Services General
9300
+ # Reference.
9060
9301
  #
9061
- # </note>
9302
+ # </note>
9062
9303
  #
9063
- # **Related Resources**
9304
+ # The following operations are related to `PutBucketAcl`:
9064
9305
  #
9065
9306
  # * [CreateBucket][6]
9066
9307
  #
@@ -9226,7 +9467,7 @@ module Aws::S3
9226
9467
  # Related to Bucket Subresource Operations][3] and [Managing Access
9227
9468
  # Permissions to Your Amazon S3 Resources][4].
9228
9469
  #
9229
- # **Special Errors**
9470
+ # `PutBucketAnalyticsConfiguration` has the following special errors:
9230
9471
  #
9231
9472
  # * * *HTTP Error: HTTP 400 Bad Request*
9232
9473
  #
@@ -9249,7 +9490,8 @@ module Aws::S3
9249
9490
  # not have the s3:PutAnalyticsConfiguration bucket permission to set
9250
9491
  # the configuration on the bucket.*
9251
9492
  #
9252
- # **Related Resources**
9493
+ # The following operations are related to
9494
+ # `PutBucketAnalyticsConfiguration`:
9253
9495
  #
9254
9496
  # * [GetBucketAnalyticsConfiguration][5]
9255
9497
  #
@@ -9370,7 +9612,7 @@ module Aws::S3
9370
9612
  # For more information about CORS, go to [Enabling Cross-Origin Resource
9371
9613
  # Sharing][1] in the *Amazon S3 User Guide*.
9372
9614
  #
9373
- # **Related Resources**
9615
+ # The following operations are related to `PutBucketCors`:
9374
9616
  #
9375
9617
  # * [GetBucketCors][2]
9376
9618
  #
@@ -9508,18 +9750,18 @@ module Aws::S3
9508
9750
  end
9509
9751
 
9510
9752
  # This action uses the `encryption` subresource to configure default
9511
- # encryption and Amazon S3 Bucket Key for an existing bucket.
9512
- #
9513
- # Default encryption for a bucket can use server-side encryption with
9514
- # Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS). If
9515
- # you specify default encryption using SSE-KMS, you can also configure
9516
- # Amazon S3 Bucket Key. When the default encryption is SSE-KMS, if you
9517
- # upload an object to the bucket and do not specify the KMS key to use
9518
- # for encryption, Amazon S3 uses the default Amazon Web Services managed
9519
- # KMS key for your account. For information about default encryption,
9520
- # see [Amazon S3 default bucket encryption][1] in the *Amazon S3 User
9521
- # Guide*. For more information about S3 Bucket Keys, see [Amazon S3
9522
- # Bucket Keys][2] in the *Amazon S3 User Guide*.
9753
+ # encryption and Amazon S3 Bucket Keys for an existing bucket.
9754
+ #
9755
+ # By default, all buckets have a default encryption configuration that
9756
+ # uses server-side encryption with Amazon S3 managed keys (SSE-S3). You
9757
+ # can optionally configure default encryption for a bucket by using
9758
+ # server-side encryption with an Amazon Web Services KMS key (SSE-KMS)
9759
+ # or a customer-provided key (SSE-C). If you specify default encryption
9760
+ # by using SSE-KMS, you can also configure Amazon S3 Bucket Keys. For
9761
+ # information about bucket default encryption, see [Amazon S3 bucket
9762
+ # default encryption][1] in the *Amazon S3 User Guide*. For more
9763
+ # information about S3 Bucket Keys, see [Amazon S3 Bucket Keys][2] in
9764
+ # the *Amazon S3 User Guide*.
9523
9765
  #
9524
9766
  # This action requires Amazon Web Services Signature Version 4. For more
9525
9767
  # information, see [ Authenticating Requests (Amazon Web Services
@@ -9530,10 +9772,10 @@ module Aws::S3
9530
9772
  # permission by default. The bucket owner can grant this permission to
9531
9773
  # others. For more information about permissions, see [Permissions
9532
9774
  # Related to Bucket Subresource Operations][4] and [Managing Access
9533
- # Permissions to Your Amazon S3 Resources][5] in the Amazon S3 User
9534
- # Guide.
9775
+ # Permissions to Your Amazon S3 Resources][5] in the *Amazon S3 User
9776
+ # Guide*.
9535
9777
  #
9536
- # **Related Resources**
9778
+ # The following operations are related to `PutBucketEncryption`:
9537
9779
  #
9538
9780
  # * [GetBucketEncryption][6]
9539
9781
  #
@@ -9551,10 +9793,13 @@ module Aws::S3
9551
9793
  #
9552
9794
  # @option params [required, String] :bucket
9553
9795
  # Specifies default encryption for a bucket using server-side encryption
9554
- # with Amazon S3-managed keys (SSE-S3) or customer managed keys
9555
- # (SSE-KMS). For information about the Amazon S3 default encryption
9556
- # feature, see [Amazon S3 Default Bucket Encryption][1] in the *Amazon
9557
- # S3 User Guide*.
9796
+ # with different key options. By default, all buckets have a default
9797
+ # encryption configuration that uses server-side encryption with Amazon
9798
+ # S3 managed keys (SSE-S3). You can optionally configure default
9799
+ # encryption for a bucket by using server-side encryption with an Amazon
9800
+ # Web Services KMS key (SSE-KMS) or a customer-provided key (SSE-C). For
9801
+ # information about the bucket default encryption feature, see [Amazon
9802
+ # S3 Bucket Default Encryption][1] in the *Amazon S3 User Guide*.
9558
9803
  #
9559
9804
  #
9560
9805
  #
@@ -9661,28 +9906,27 @@ module Aws::S3
9661
9906
  #
9662
9907
  # </note>
9663
9908
  #
9664
- # **Special Errors**
9909
+ # `PutBucketIntelligentTieringConfiguration` has the following special
9910
+ # errors:
9665
9911
  #
9666
- # * **HTTP 400 Bad Request Error**
9912
+ # HTTP 400 Bad Request Error
9667
9913
  #
9668
- # * *Code:* InvalidArgument
9914
+ # : *Code:* InvalidArgument
9669
9915
  #
9670
- # * *Cause:* Invalid Argument
9916
+ # *Cause:* Invalid Argument
9671
9917
  #
9672
- # * **HTTP 400 Bad Request Error**
9918
+ # HTTP 400 Bad Request Error
9673
9919
  #
9674
- # * *Code:* TooManyConfigurations
9920
+ # : *Code:* TooManyConfigurations
9675
9921
  #
9676
- # * *Cause:* You are attempting to create a new configuration but have
9677
- # already reached the 1,000-configuration limit.
9922
+ # *Cause:* You are attempting to create a new configuration but have
9923
+ # already reached the 1,000-configuration limit.
9678
9924
  #
9679
- # * **HTTP 403 Forbidden Error**
9925
+ # HTTP 403 Forbidden Error
9680
9926
  #
9681
- # * *Code:* AccessDenied
9682
- #
9683
- # * *Cause:* You are not the owner of the specified bucket, or you do
9684
- # not have the `s3:PutIntelligentTieringConfiguration` bucket
9685
- # permission to set the configuration on the bucket.
9927
+ # : *Cause:* You are not the owner of the specified bucket, or you do
9928
+ # not have the `s3:PutIntelligentTieringConfiguration` bucket
9929
+ # permission to set the configuration on the bucket.
9686
9930
  #
9687
9931
  #
9688
9932
  #
@@ -9768,53 +10012,69 @@ module Aws::S3
9768
10012
  # location. For an example policy, see [ Granting Permissions for Amazon
9769
10013
  # S3 Inventory and Storage Class Analysis][2].
9770
10014
  #
9771
- # To use this operation, you must have permissions to perform the
9772
- # `s3:PutInventoryConfiguration` action. The bucket owner has this
9773
- # permission by default and can grant this permission to others. For
9774
- # more information about permissions, see [Permissions Related to Bucket
9775
- # Subresource Operations][3] and [Managing Access Permissions to Your
9776
- # Amazon S3 Resources][4] in the Amazon S3 User Guide.
10015
+ # Permissions
9777
10016
  #
9778
- # **Special Errors**
10017
+ # : To use this operation, you must have permission to perform the
10018
+ # `s3:PutInventoryConfiguration` action. The bucket owner has this
10019
+ # permission by default and can grant this permission to others.
9779
10020
  #
9780
- # * **HTTP 400 Bad Request Error**
10021
+ # The `s3:PutInventoryConfiguration` permission allows a user to
10022
+ # create an [S3 Inventory][3] report that includes all object metadata
10023
+ # fields available and to specify the destination bucket to store the
10024
+ # inventory. A user with read access to objects in the destination
10025
+ # bucket can also access all object metadata fields that are available
10026
+ # in the inventory report.
9781
10027
  #
9782
- # * *Code:* InvalidArgument
10028
+ # To restrict access to an inventory report, see [Restricting access
10029
+ # to an Amazon S3 Inventory report][4] in the *Amazon S3 User Guide*.
10030
+ # For more information about the metadata fields available in S3
10031
+ # Inventory, see [Amazon S3 Inventory lists][5] in the *Amazon S3 User
10032
+ # Guide*. For more information about permissions, see [Permissions
10033
+ # related to bucket subresource operations][6] and [Identity and
10034
+ # access management in Amazon S3][7] in the *Amazon S3 User Guide*.
9783
10035
  #
9784
- # * *Cause:* Invalid Argument
10036
+ # `PutBucketInventoryConfiguration` has the following special errors:
9785
10037
  #
9786
- # * **HTTP 400 Bad Request Error**
10038
+ # HTTP 400 Bad Request Error
9787
10039
  #
9788
- # * *Code:* TooManyConfigurations
10040
+ # : *Code:* InvalidArgument
9789
10041
  #
9790
- # * *Cause:* You are attempting to create a new configuration but have
9791
- # already reached the 1,000-configuration limit.
10042
+ # *Cause:* Invalid Argument
9792
10043
  #
9793
- # * **HTTP 403 Forbidden Error**
10044
+ # HTTP 400 Bad Request Error
9794
10045
  #
9795
- # * *Code:* AccessDenied
10046
+ # : *Code:* TooManyConfigurations
9796
10047
  #
9797
- # * *Cause:* You are not the owner of the specified bucket, or you do
9798
- # not have the `s3:PutInventoryConfiguration` bucket permission to
9799
- # set the configuration on the bucket.
10048
+ # *Cause:* You are attempting to create a new configuration but have
10049
+ # already reached the 1,000-configuration limit.
9800
10050
  #
9801
- # **Related Resources**
10051
+ # HTTP 403 Forbidden Error
9802
10052
  #
9803
- # * [GetBucketInventoryConfiguration][5]
10053
+ # : *Cause:* You are not the owner of the specified bucket, or you do
10054
+ # not have the `s3:PutInventoryConfiguration` bucket permission to set
10055
+ # the configuration on the bucket.
9804
10056
  #
9805
- # * [DeleteBucketInventoryConfiguration][6]
10057
+ # The following operations are related to
10058
+ # `PutBucketInventoryConfiguration`:
10059
+ #
10060
+ # * [GetBucketInventoryConfiguration][8]
9806
10061
  #
9807
- # * [ListBucketInventoryConfigurations][7]
10062
+ # * [DeleteBucketInventoryConfiguration][9]
10063
+ #
10064
+ # * [ListBucketInventoryConfigurations][10]
9808
10065
  #
9809
10066
  #
9810
10067
  #
9811
10068
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html
9812
10069
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9
9813
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
9814
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
9815
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html
9816
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html
9817
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html
10070
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-inventory.html
10071
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html#example-bucket-policies-use-case-10
10072
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-inventory.html#storage-inventory-contents
10073
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
10074
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
10075
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html
10076
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html
10077
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html
9818
10078
  #
9819
10079
  # @option params [required, String] :bucket
9820
10080
  # The name of the bucket where the inventory configuration will be
@@ -9914,7 +10174,7 @@ module Aws::S3
9914
10174
  # STANDARD\_IA or ONEZONE\_IA, see [Examples of Lifecycle
9915
10175
  # Configuration][4].
9916
10176
  #
9917
- # **Related Resources**
10177
+ # The following operations are related to `PutBucketLifecycle`:
9918
10178
  #
9919
10179
  # * [GetBucketLifecycle][5](Deprecated)
9920
10180
  #
@@ -10041,56 +10301,58 @@ module Aws::S3
10041
10301
  #
10042
10302
  # </note>
10043
10303
  #
10044
- # **Rules**
10304
+ # Rules
10045
10305
  #
10046
- # You specify the lifecycle configuration in your request body. The
10047
- # lifecycle configuration is specified as XML consisting of one or more
10048
- # rules. An Amazon S3 Lifecycle configuration can have up to 1,000
10049
- # rules. This limit is not adjustable. Each rule consists of the
10050
- # following:
10306
+ # : You specify the lifecycle configuration in your request body. The
10307
+ # lifecycle configuration is specified as XML consisting of one or
10308
+ # more rules. An Amazon S3 Lifecycle configuration can have up to
10309
+ # 1,000 rules. This limit is not adjustable. Each rule consists of the
10310
+ # following:
10051
10311
  #
10052
- # * Filter identifying a subset of objects to which the rule applies.
10053
- # The filter can be based on a key name prefix, object tags, or a
10054
- # combination of both.
10312
+ # * Filter identifying a subset of objects to which the rule applies.
10313
+ # The filter can be based on a key name prefix, object tags, or a
10314
+ # combination of both.
10055
10315
  #
10056
- # * Status whether the rule is in effect.
10316
+ # * Status whether the rule is in effect.
10057
10317
  #
10058
- # * One or more lifecycle transition and expiration actions that you
10059
- # want Amazon S3 to perform on the objects identified by the filter.
10060
- # If the state of your bucket is versioning-enabled or
10061
- # versioning-suspended, you can have many versions of the same object
10062
- # (one current version and zero or more noncurrent versions). Amazon
10063
- # S3 provides predefined actions that you can specify for current and
10064
- # noncurrent object versions.
10318
+ # * One or more lifecycle transition and expiration actions that you
10319
+ # want Amazon S3 to perform on the objects identified by the filter.
10320
+ # If the state of your bucket is versioning-enabled or
10321
+ # versioning-suspended, you can have many versions of the same
10322
+ # object (one current version and zero or more noncurrent versions).
10323
+ # Amazon S3 provides predefined actions that you can specify for
10324
+ # current and noncurrent object versions.
10065
10325
  #
10066
- # For more information, see [Object Lifecycle Management][3] and
10067
- # [Lifecycle Configuration Elements][4].
10326
+ # For more information, see [Object Lifecycle Management][3] and
10327
+ # [Lifecycle Configuration Elements][4].
10068
10328
  #
10069
- # **Permissions**
10329
+ # Permissions
10070
10330
  #
10071
- # By default, all Amazon S3 resources are private, including buckets,
10072
- # objects, and related subresources (for example, lifecycle
10073
- # configuration and website configuration). Only the resource owner
10074
- # (that is, the Amazon Web Services account that created it) can access
10075
- # the resource. The resource owner can optionally grant access
10076
- # permissions to others by writing an access policy. For this operation,
10077
- # a user must get the `s3:PutLifecycleConfiguration` permission.
10331
+ # : By default, all Amazon S3 resources are private, including buckets,
10332
+ # objects, and related subresources (for example, lifecycle
10333
+ # configuration and website configuration). Only the resource owner
10334
+ # (that is, the Amazon Web Services account that created it) can
10335
+ # access the resource. The resource owner can optionally grant access
10336
+ # permissions to others by writing an access policy. For this
10337
+ # operation, a user must get the `s3:PutLifecycleConfiguration`
10338
+ # permission.
10078
10339
  #
10079
- # You can also explicitly deny permissions. Explicit deny also
10080
- # supersedes any other permissions. If you want to block users or
10081
- # accounts from removing or deleting objects from your bucket, you must
10082
- # deny them permissions for the following actions:
10340
+ # You can also explicitly deny permissions. Explicit deny also
10341
+ # supersedes any other permissions. If you want to block users or
10342
+ # accounts from removing or deleting objects from your bucket, you
10343
+ # must deny them permissions for the following actions:
10083
10344
  #
10084
- # * `s3:DeleteObject`
10345
+ # * `s3:DeleteObject`
10085
10346
  #
10086
- # * `s3:DeleteObjectVersion`
10347
+ # * `s3:DeleteObjectVersion`
10087
10348
  #
10088
- # * `s3:PutLifecycleConfiguration`
10349
+ # * `s3:PutLifecycleConfiguration`
10089
10350
  #
10090
- # For more information about permissions, see [Managing Access
10091
- # Permissions to Your Amazon S3 Resources][5].
10351
+ # For more information about permissions, see [Managing Access
10352
+ # Permissions to Your Amazon S3 Resources][5].
10092
10353
  #
10093
- # The following are related to `PutBucketLifecycleConfiguration`:
10354
+ # The following operations are related to
10355
+ # `PutBucketLifecycleConfiguration`:
10094
10356
  #
10095
10357
  # * [Examples of Lifecycle Configuration][6]
10096
10358
  #
@@ -10255,31 +10517,31 @@ module Aws::S3
10255
10517
  # using policies. For more information, see [Permissions for server
10256
10518
  # access log delivery][1] in the *Amazon S3 User Guide*.
10257
10519
  #
10258
- # **Grantee Values**
10520
+ # Grantee Values
10259
10521
  #
10260
- # You can specify the person (grantee) to whom you're assigning access
10261
- # rights (using request elements) in the following ways:
10522
+ # : You can specify the person (grantee) to whom you're assigning
10523
+ # access rights (using request elements) in the following ways:
10262
10524
  #
10263
- # * By the person's ID:
10525
+ # * By the person's ID:
10264
10526
  #
10265
- # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10266
- # xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName>
10267
- # </Grantee>`
10527
+ # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10528
+ # xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName>
10529
+ # </Grantee>`
10268
10530
  #
10269
- # DisplayName is optional and ignored in the request.
10531
+ # DisplayName is optional and ignored in the request.
10270
10532
  #
10271
- # * By Email address:
10533
+ # * By Email address:
10272
10534
  #
10273
- # ` <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10274
- # xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress></Grantee>`
10535
+ # ` <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10536
+ # xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress></Grantee>`
10275
10537
  #
10276
- # The grantee is resolved to the CanonicalUser and, in a response to a
10277
- # GET Object acl request, appears as the CanonicalUser.
10538
+ # The grantee is resolved to the CanonicalUser and, in a response to
10539
+ # a GET Object acl request, appears as the CanonicalUser.
10278
10540
  #
10279
- # * By URI:
10541
+ # * By URI:
10280
10542
  #
10281
- # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10282
- # xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>`
10543
+ # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10544
+ # xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>`
10283
10545
  #
10284
10546
  # To enable logging, you use LoggingEnabled and its children request
10285
10547
  # elements. To disable logging, you use an empty BucketLoggingStatus
@@ -10459,7 +10721,9 @@ module Aws::S3
10459
10721
  # The name of the bucket for which the metrics configuration is set.
10460
10722
  #
10461
10723
  # @option params [required, String] :id
10462
- # The ID used to identify the metrics configuration.
10724
+ # The ID used to identify the metrics configuration. The ID has a 64
10725
+ # character limit and can only contain letters, numbers, periods,
10726
+ # dashes, and underscores.
10463
10727
  #
10464
10728
  # @option params [required, Types::MetricsConfiguration] :metrics_configuration
10465
10729
  # Specifies the metrics configuration.
@@ -10642,8 +10906,6 @@ module Aws::S3
10642
10906
  #
10643
10907
  # </note>
10644
10908
  #
10645
- # **Responses**
10646
- #
10647
10909
  # If the configuration in the request body includes only one
10648
10910
  # `TopicConfiguration` specifying only the
10649
10911
  # `s3:ReducedRedundancyLostObject` event type, the response will also
@@ -10849,10 +11111,14 @@ module Aws::S3
10849
11111
  # you're not using an identity that belongs to the bucket owner's
10850
11112
  # account, Amazon S3 returns a `405 Method Not Allowed` error.
10851
11113
  #
10852
- # As a security precaution, the root user of the Amazon Web Services
10853
- # account that owns a bucket can always use this operation, even if the
10854
- # policy explicitly denies the root user the ability to perform this
10855
- # action.
11114
+ # To ensure that bucket owners don't inadvertently lock themselves out
11115
+ # of their own buckets, the root principal in a bucket owner's Amazon
11116
+ # Web Services account can perform the `GetBucketPolicy`,
11117
+ # `PutBucketPolicy`, and `DeleteBucketPolicy` API actions, even if their
11118
+ # bucket policy explicitly denies the root principal's access. Bucket
11119
+ # owner root principals can only be blocked from performing these API
11120
+ # actions by VPC endpoint policies and Amazon Web Services Organizations
11121
+ # policies.
10856
11122
  #
10857
11123
  # For more information, see [Bucket policy examples][1].
10858
11124
  #
@@ -10969,35 +11235,35 @@ module Aws::S3
10969
11235
  # For information about enabling versioning on a bucket, see [Using
10970
11236
  # Versioning][3].
10971
11237
  #
10972
- # **Handling Replication of Encrypted Objects**
11238
+ # Handling Replication of Encrypted Objects
10973
11239
  #
10974
- # By default, Amazon S3 doesn't replicate objects that are stored at
10975
- # rest using server-side encryption with KMS keys. To replicate Amazon
10976
- # Web Services KMS-encrypted objects, add the following:
10977
- # `SourceSelectionCriteria`, `SseKmsEncryptedObjects`, `Status`,
10978
- # `EncryptionConfiguration`, and `ReplicaKmsKeyID`. For information
10979
- # about replication configuration, see [Replicating Objects Created with
10980
- # SSE Using KMS keys][4].
11240
+ # : By default, Amazon S3 doesn't replicate objects that are stored at
11241
+ # rest using server-side encryption with KMS keys. To replicate Amazon
11242
+ # Web Services KMS-encrypted objects, add the following:
11243
+ # `SourceSelectionCriteria`, `SseKmsEncryptedObjects`, `Status`,
11244
+ # `EncryptionConfiguration`, and `ReplicaKmsKeyID`. For information
11245
+ # about replication configuration, see [Replicating Objects Created
11246
+ # with SSE Using KMS keys][4].
10981
11247
  #
10982
- # For information on `PutBucketReplication` errors, see [List of
10983
- # replication-related error codes][5]
11248
+ # For information on `PutBucketReplication` errors, see [List of
11249
+ # replication-related error codes][5]
10984
11250
  #
10985
- # **Permissions**
11251
+ # Permissions
10986
11252
  #
10987
- # To create a `PutBucketReplication` request, you must have
10988
- # `s3:PutReplicationConfiguration` permissions for the bucket.
11253
+ # : To create a `PutBucketReplication` request, you must have
11254
+ # `s3:PutReplicationConfiguration` permissions for the bucket.
10989
11255
  #
10990
- # By default, a resource owner, in this case the Amazon Web Services
10991
- # account that created the bucket, can perform this operation. The
10992
- # resource owner can also grant others permissions to perform the
10993
- # operation. For more information about permissions, see [Specifying
10994
- # Permissions in a Policy][6] and [Managing Access Permissions to Your
10995
- # Amazon S3 Resources][7].
11256
+ # By default, a resource owner, in this case the Amazon Web Services
11257
+ # account that created the bucket, can perform this operation. The
11258
+ # resource owner can also grant others permissions to perform the
11259
+ # operation. For more information about permissions, see [Specifying
11260
+ # Permissions in a Policy][6] and [Managing Access Permissions to Your
11261
+ # Amazon S3 Resources][7].
10996
11262
  #
10997
- # <note markdown="1"> To perform this operation, the user or role performing the action must
10998
- # have the [iam:PassRole][8] permission.
11263
+ # <note markdown="1"> To perform this operation, the user or role performing the action
11264
+ # must have the [iam:PassRole][8] permission.
10999
11265
  #
11000
- # </note>
11266
+ # </note>
11001
11267
  #
11002
11268
  # The following operations are related to `PutBucketReplication`:
11003
11269
  #
@@ -11446,16 +11712,16 @@ module Aws::S3
11446
11712
  # header and the `Status` and the `MfaDelete` request elements in a
11447
11713
  # request to set the versioning state of the bucket.
11448
11714
  #
11449
- # If you have an object expiration lifecycle policy in your
11715
+ # If you have an object expiration lifecycle configuration in your
11450
11716
  # non-versioned bucket and you want to maintain the same permanent
11451
11717
  # delete behavior when you enable versioning, you must add a noncurrent
11452
- # expiration policy. The noncurrent expiration lifecycle policy will
11453
- # manage the deletes of the noncurrent object versions in the
11718
+ # expiration policy. The noncurrent expiration lifecycle configuration
11719
+ # will manage the deletes of the noncurrent object versions in the
11454
11720
  # version-enabled bucket. (A version-enabled bucket maintains one
11455
11721
  # current and zero or more noncurrent object versions.) For more
11456
11722
  # information, see [Lifecycle and Versioning][2].
11457
11723
  #
11458
- # **Related Resources**
11724
+ # The following operations are related to `PutBucketVersioning`:
11459
11725
  #
11460
11726
  # * [CreateBucket][3]
11461
11727
  #
@@ -11734,14 +12000,18 @@ module Aws::S3
11734
12000
  # Adds an object to a bucket. You must have WRITE permissions on a
11735
12001
  # bucket to add an object to it.
11736
12002
  #
11737
- # Amazon S3 never adds partial objects; if you receive a success
11738
- # response, Amazon S3 added the entire object to the bucket.
12003
+ # <note markdown="1"> Amazon S3 never adds partial objects; if you receive a success
12004
+ # response, Amazon S3 added the entire object to the bucket. You cannot
12005
+ # use `PutObject` to only update a single piece of metadata for an
12006
+ # existing object. You must put the entire object with updated metadata
12007
+ # if you want to update some values.
12008
+ #
12009
+ # </note>
11739
12010
  #
11740
12011
  # Amazon S3 is a distributed system. If it receives multiple write
11741
12012
  # requests for the same object simultaneously, it overwrites all but the
11742
- # last object written. Amazon S3 does not provide object locking; if you
11743
- # need this, make sure to build it into your application layer or use
11744
- # versioning instead.
12013
+ # last object written. To prevent objects from being deleted or
12014
+ # overwritten, you can use [Amazon S3 Object Lock][1].
11745
12015
  #
11746
12016
  # To ensure that data is not corrupted traversing the network, use the
11747
12017
  # `Content-MD5` header. When you use this header, Amazon S3 checks the
@@ -11756,36 +12026,33 @@ module Aws::S3
11756
12026
  # * To successfully change the objects acl of your `PutObject` request,
11757
12027
  # you must have the `s3:PutObjectAcl` in your IAM permissions.
11758
12028
  #
12029
+ # * To successfully set the tag-set with your `PutObject` request, you
12030
+ # must have the `s3:PutObjectTagging` in your IAM permissions.
12031
+ #
11759
12032
  # * The `Content-MD5` header is required for any request to upload an
11760
12033
  # object with a retention period configured using Amazon S3 Object
11761
12034
  # Lock. For more information about Amazon S3 Object Lock, see [Amazon
11762
- # S3 Object Lock Overview][1] in the *Amazon S3 User Guide*.
12035
+ # S3 Object Lock Overview][2] in the *Amazon S3 User Guide*.
11763
12036
  #
11764
12037
  # </note>
11765
12038
  #
11766
- # **Server-side Encryption**
11767
- #
11768
- # You can optionally request server-side encryption. With server-side
11769
- # encryption, Amazon S3 encrypts your data as it writes it to disks in
11770
- # its data centers and decrypts the data when you access it. You have
11771
- # the option to provide your own encryption key or use Amazon Web
11772
- # Services managed encryption keys (SSE-S3 or SSE-KMS). For more
11773
- # information, see [Using Server-Side Encryption][2].
11774
- #
11775
- # If you request server-side encryption using Amazon Web Services Key
11776
- # Management Service (SSE-KMS), you can enable an S3 Bucket Key at the
11777
- # object-level. For more information, see [Amazon S3 Bucket Keys][3] in
11778
- # the *Amazon S3 User Guide*.
11779
- #
11780
- # **Access Control List (ACL)-Specific Request Headers**
11781
- #
11782
- # You can use headers to grant ACL- based permissions. By default, all
11783
- # objects are private. Only the owner has full access control. When
11784
- # adding a new object, you can grant permissions to individual Amazon
11785
- # Web Services accounts or to predefined groups defined by Amazon S3.
11786
- # These permissions are then added to the ACL on the object. For more
11787
- # information, see [Access Control List (ACL) Overview][4] and [Managing
11788
- # ACLs Using the REST API][5].
12039
+ # You have three mutually exclusive options to protect data using
12040
+ # server-side encryption in Amazon S3, depending on how you choose to
12041
+ # manage the encryption keys. Specifically, the encryption key options
12042
+ # are Amazon S3 managed keys (SSE-S3), Amazon Web Services KMS keys
12043
+ # (SSE-KMS), and customer-provided keys (SSE-C). Amazon S3 encrypts data
12044
+ # with server-side encryption by using Amazon S3 managed keys (SSE-S3)
12045
+ # by default. You can optionally tell Amazon S3 to encrypt data at by
12046
+ # rest using server-side encryption with other key options. For more
12047
+ # information, see [Using Server-Side Encryption][3].
12048
+ #
12049
+ # When adding a new object, you can use headers to grant ACL-based
12050
+ # permissions to individual Amazon Web Services accounts or to
12051
+ # predefined groups defined by Amazon S3. These permissions are then
12052
+ # added to the ACL on the object. By default, all objects are private.
12053
+ # Only the owner has full access control. For more information, see
12054
+ # [Access Control List (ACL) Overview][4] and [Managing ACLs Using the
12055
+ # REST API][5].
11789
12056
  #
11790
12057
  # If the bucket that you're uploading objects to uses the bucket owner
11791
12058
  # enforced setting for S3 Object Ownership, ACLs are disabled and no
@@ -11796,10 +12063,9 @@ module Aws::S3
11796
12063
  # ACL expressed in the XML format. PUT requests that contain other ACLs
11797
12064
  # (for example, custom grants to certain Amazon Web Services accounts)
11798
12065
  # fail and return a `400` error with the error code
11799
- # `AccessControlListNotSupported`.
11800
- #
11801
- # For more information, see [ Controlling ownership of objects and
11802
- # disabling ACLs][6] in the *Amazon S3 User Guide*.
12066
+ # `AccessControlListNotSupported`. For more information, see [
12067
+ # Controlling ownership of objects and disabling ACLs][6] in the *Amazon
12068
+ # S3 User Guide*.
11803
12069
  #
11804
12070
  # <note markdown="1"> If your bucket uses the bucket owner enforced setting for Object
11805
12071
  # Ownership, all objects written to the bucket by any account will be
@@ -11807,8 +12073,6 @@ module Aws::S3
11807
12073
  #
11808
12074
  # </note>
11809
12075
  #
11810
- # **Storage Class Options**
11811
- #
11812
12076
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
11813
12077
  # created objects. The STANDARD storage class provides high durability
11814
12078
  # and high availability. Depending on performance needs, you can specify
@@ -11816,19 +12080,16 @@ module Aws::S3
11816
12080
  # OUTPOSTS Storage Class. For more information, see [Storage Classes][7]
11817
12081
  # in the *Amazon S3 User Guide*.
11818
12082
  #
11819
- # **Versioning**
11820
- #
11821
12083
  # If you enable versioning for a bucket, Amazon S3 automatically
11822
12084
  # generates a unique version ID for the object being stored. Amazon S3
11823
12085
  # returns this ID in the response. When you enable versioning for a
11824
12086
  # bucket, if Amazon S3 receives multiple write requests for the same
11825
- # object simultaneously, it stores all of the objects.
11826
- #
11827
- # For more information about versioning, see [Adding Objects to
11828
- # Versioning Enabled Buckets][8]. For information about returning the
12087
+ # object simultaneously, it stores all of the objects. For more
12088
+ # information about versioning, see [Adding Objects to
12089
+ # Versioning-Enabled Buckets][8]. For information about returning the
11829
12090
  # versioning state of a bucket, see [GetBucketVersioning][9].
11830
12091
  #
11831
- # **Related Resources**
12092
+ # For more information about related Amazon S3 APIs, see the following:
11832
12093
  #
11833
12094
  # * [CopyObject][10]
11834
12095
  #
@@ -11836,9 +12097,9 @@ module Aws::S3
11836
12097
  #
11837
12098
  #
11838
12099
  #
11839
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html
11840
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
11841
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
12100
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html
12101
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html
12102
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
11842
12103
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
11843
12104
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html
11844
12105
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
@@ -11872,14 +12133,14 @@ module Aws::S3
11872
12133
  # name. For more information about access point ARNs, see [Using access
11873
12134
  # points][1] in the *Amazon S3 User Guide*.
11874
12135
  #
11875
- # When using this action with Amazon S3 on Outposts, you must direct
12136
+ # When you use this action with Amazon S3 on Outposts, you must direct
11876
12137
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
11877
12138
  # takes the form `
11878
12139
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
11879
- # When using this action with S3 on Outposts through the Amazon Web
11880
- # Services SDKs, you provide the Outposts bucket ARN in place of the
11881
- # bucket name. For more information about S3 on Outposts ARNs, see
11882
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
12140
+ # When you use this action with S3 on Outposts through the Amazon Web
12141
+ # Services SDKs, you provide the Outposts access point ARN in place of
12142
+ # the bucket name. For more information about S3 on Outposts ARNs, see
12143
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
11883
12144
  #
11884
12145
  #
11885
12146
  #
@@ -11898,21 +12159,21 @@ module Aws::S3
11898
12159
  # @option params [String] :content_disposition
11899
12160
  # Specifies presentational information for the object. For more
11900
12161
  # information, see
11901
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1][1].
12162
+ # [https://www.rfc-editor.org/rfc/rfc6266#section-4][1].
11902
12163
  #
11903
12164
  #
11904
12165
  #
11905
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1
12166
+ # [1]: https://www.rfc-editor.org/rfc/rfc6266#section-4
11906
12167
  #
11907
12168
  # @option params [String] :content_encoding
11908
12169
  # Specifies what content encodings have been applied to the object and
11909
12170
  # thus what decoding mechanisms must be applied to obtain the media-type
11910
12171
  # referenced by the Content-Type header field. For more information, see
11911
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11][1].
12172
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding][1].
11912
12173
  #
11913
12174
  #
11914
12175
  #
11915
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11
12176
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding
11916
12177
  #
11917
12178
  # @option params [String] :content_language
11918
12179
  # The language the content is in.
@@ -11920,11 +12181,11 @@ module Aws::S3
11920
12181
  # @option params [Integer] :content_length
11921
12182
  # Size of the body in bytes. This parameter is useful when the size of
11922
12183
  # the body cannot be determined automatically. For more information, see
11923
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13][1].
12184
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length][1].
11924
12185
  #
11925
12186
  #
11926
12187
  #
11927
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13
12188
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
11928
12189
  #
11929
12190
  # @option params [String] :content_md5
11930
12191
  # The base64-encoded 128-bit MD5 digest of the message (without the
@@ -11942,11 +12203,11 @@ module Aws::S3
11942
12203
  # @option params [String] :content_type
11943
12204
  # A standard MIME type describing the format of the contents. For more
11944
12205
  # information, see
11945
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17][1].
12206
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type][1].
11946
12207
  #
11947
12208
  #
11948
12209
  #
11949
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
12210
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type
11950
12211
  #
11951
12212
  # @option params [String] :checksum_algorithm
11952
12213
  # Indicates the algorithm used to create the checksum for the object
@@ -12011,11 +12272,11 @@ module Aws::S3
12011
12272
  # @option params [Time,DateTime,Date,Integer,String] :expires
12012
12273
  # The date and time at which the object is no longer cacheable. For more
12013
12274
  # information, see
12014
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21][1].
12275
+ # [https://www.rfc-editor.org/rfc/rfc7234#section-5.3][1].
12015
12276
  #
12016
12277
  #
12017
12278
  #
12018
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21
12279
+ # [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
12019
12280
  #
12020
12281
  # @option params [String] :grant_full_control
12021
12282
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
@@ -12046,7 +12307,7 @@ module Aws::S3
12046
12307
  #
12047
12308
  # @option params [String] :server_side_encryption
12048
12309
  # The server-side encryption algorithm used when storing this object in
12049
- # Amazon S3 (for example, AES256, aws:kms).
12310
+ # Amazon S3 (for example, AES256, `aws:kms`).
12050
12311
  #
12051
12312
  # @option params [String] :storage_class
12052
12313
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
@@ -12103,9 +12364,9 @@ module Aws::S3
12103
12364
  # ensure that the encryption key was transmitted without error.
12104
12365
  #
12105
12366
  # @option params [String] :ssekms_key_id
12106
- # If `x-amz-server-side-encryption` is present and has the value of
12107
- # `aws:kms`, this header specifies the ID of the Amazon Web Services Key
12108
- # Management Service (Amazon Web Services KMS) symmetrical customer
12367
+ # If `x-amz-server-side-encryption` has a valid value of `aws:kms`, this
12368
+ # header specifies the ID of the Amazon Web Services Key Management
12369
+ # Service (Amazon Web Services KMS) symmetric encryption customer
12109
12370
  # managed key that was used for the object. If you specify
12110
12371
  # `x-amz-server-side-encryption:aws:kms`, but do not provide`
12111
12372
  # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
@@ -12116,7 +12377,10 @@ module Aws::S3
12116
12377
  # @option params [String] :ssekms_encryption_context
12117
12378
  # Specifies the Amazon Web Services KMS Encryption Context to use for
12118
12379
  # object encryption. The value of this header is a base64-encoded UTF-8
12119
- # string holding JSON with the encryption context key-value pairs.
12380
+ # string holding JSON with the encryption context key-value pairs. This
12381
+ # value is stored as object metadata and automatically gets passed on to
12382
+ # Amazon Web Services KMS for future `GetObject` or `CopyObject`
12383
+ # operations on this object.
12120
12384
  #
12121
12385
  # @option params [Boolean] :bucket_key_enabled
12122
12386
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
@@ -12198,26 +12462,27 @@ module Aws::S3
12198
12462
  # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
12199
12463
  # }
12200
12464
  #
12201
- # @example Example: To upload an object
12465
+ # @example Example: To upload an object and specify canned ACL.
12202
12466
  #
12203
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
12204
- # # syntax. S3 returns VersionId of the newly created object.
12467
+ # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
12468
+ # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
12205
12469
  #
12206
12470
  # resp = client.put_object({
12207
- # body: "HappyFace.jpg",
12471
+ # acl: "authenticated-read",
12472
+ # body: "filetoupload",
12208
12473
  # bucket: "examplebucket",
12209
- # key: "HappyFace.jpg",
12474
+ # key: "exampleobject",
12210
12475
  # })
12211
12476
  #
12212
12477
  # resp.to_h outputs the following:
12213
12478
  # {
12214
12479
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12215
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
12480
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
12216
12481
  # }
12217
12482
  #
12218
12483
  # @example Example: To upload an object and specify server-side encryption and object tags
12219
12484
  #
12220
- # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
12485
+ # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
12221
12486
  # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
12222
12487
  #
12223
12488
  # resp = client.put_object({
@@ -12235,79 +12500,78 @@ module Aws::S3
12235
12500
  # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
12236
12501
  # }
12237
12502
  #
12238
- # @example Example: To upload object and specify user-defined metadata
12503
+ # @example Example: To create an object.
12239
12504
  #
12240
- # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
12241
- # # enabled, S3 returns version ID in response.
12505
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
12242
12506
  #
12243
12507
  # resp = client.put_object({
12244
12508
  # body: "filetoupload",
12245
12509
  # bucket: "examplebucket",
12246
- # key: "exampleobject",
12247
- # metadata: {
12248
- # "metadata1" => "value1",
12249
- # "metadata2" => "value2",
12250
- # },
12510
+ # key: "objectkey",
12251
12511
  # })
12252
12512
  #
12253
12513
  # resp.to_h outputs the following:
12254
12514
  # {
12255
12515
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12256
- # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
12516
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
12257
12517
  # }
12258
12518
  #
12259
- # @example Example: To upload an object (specify optional headers)
12519
+ # @example Example: To upload an object
12260
12520
  #
12261
- # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
12262
- # # storage class and use server-side encryption.
12521
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
12522
+ # # syntax. S3 returns VersionId of the newly created object.
12263
12523
  #
12264
12524
  # resp = client.put_object({
12265
12525
  # body: "HappyFace.jpg",
12266
12526
  # bucket: "examplebucket",
12267
12527
  # key: "HappyFace.jpg",
12268
- # server_side_encryption: "AES256",
12269
- # storage_class: "STANDARD_IA",
12270
12528
  # })
12271
12529
  #
12272
12530
  # resp.to_h outputs the following:
12273
12531
  # {
12274
12532
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12275
- # server_side_encryption: "AES256",
12276
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
12533
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
12277
12534
  # }
12278
12535
  #
12279
- # @example Example: To upload an object and specify canned ACL.
12536
+ # @example Example: To upload an object (specify optional headers)
12280
12537
  #
12281
- # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
12282
- # # access to authenticated users. 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.
12283
12540
  #
12284
12541
  # resp = client.put_object({
12285
- # acl: "authenticated-read",
12286
- # body: "filetoupload",
12542
+ # body: "HappyFace.jpg",
12287
12543
  # bucket: "examplebucket",
12288
- # key: "exampleobject",
12544
+ # key: "HappyFace.jpg",
12545
+ # server_side_encryption: "AES256",
12546
+ # storage_class: "STANDARD_IA",
12289
12547
  # })
12290
12548
  #
12291
12549
  # resp.to_h outputs the following:
12292
12550
  # {
12293
12551
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12294
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
12552
+ # server_side_encryption: "AES256",
12553
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
12295
12554
  # }
12296
12555
  #
12297
- # @example Example: To create an object.
12556
+ # @example Example: To upload object and specify user-defined metadata
12298
12557
  #
12299
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
12558
+ # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
12559
+ # # enabled, S3 returns version ID in response.
12300
12560
  #
12301
12561
  # resp = client.put_object({
12302
12562
  # body: "filetoupload",
12303
12563
  # bucket: "examplebucket",
12304
- # key: "objectkey",
12564
+ # key: "exampleobject",
12565
+ # metadata: {
12566
+ # "metadata1" => "value1",
12567
+ # "metadata2" => "value2",
12568
+ # },
12305
12569
  # })
12306
12570
  #
12307
12571
  # resp.to_h outputs the following:
12308
12572
  # {
12309
12573
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12310
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
12574
+ # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
12311
12575
  # }
12312
12576
  #
12313
12577
  # @example Streaming a file from disk
@@ -12409,131 +12673,132 @@ module Aws::S3
12409
12673
  # still supported. For more information, see [Controlling object
12410
12674
  # ownership][3] in the *Amazon S3 User Guide*.
12411
12675
  #
12412
- # **Access Permissions**
12676
+ # Permissions
12413
12677
  #
12414
- # You can set access permissions using one of the following methods:
12678
+ # : You can set access permissions using one of the following methods:
12415
12679
  #
12416
- # * Specify a canned ACL with the `x-amz-acl` request header. Amazon S3
12417
- # supports a set of predefined ACLs, known as canned ACLs. Each canned
12418
- # ACL has a predefined set of grantees and permissions. Specify the
12419
- # canned ACL name as the value of `x-amz-ac`l. If you use this header,
12420
- # you cannot use other access control-specific headers in your
12421
- # request. For more information, see [Canned ACL][4].
12680
+ # * Specify a canned ACL with the `x-amz-acl` request header. Amazon
12681
+ # S3 supports a set of predefined ACLs, known as canned ACLs. Each
12682
+ # canned ACL has a predefined set of grantees and permissions.
12683
+ # Specify the canned ACL name as the value of `x-amz-ac`l. If you
12684
+ # use this header, you cannot use other access control-specific
12685
+ # headers in your request. For more information, see [Canned
12686
+ # ACL][4].
12422
12687
  #
12423
- # * Specify access permissions explicitly with the `x-amz-grant-read`,
12424
- # `x-amz-grant-read-acp`, `x-amz-grant-write-acp`, and
12425
- # `x-amz-grant-full-control` headers. When using these headers, you
12426
- # specify explicit access permissions and grantees (Amazon Web
12427
- # Services accounts or Amazon S3 groups) who will receive the
12428
- # permission. If you use these ACL-specific headers, you cannot use
12429
- # `x-amz-acl` header to set a canned ACL. These parameters map to the
12430
- # set of permissions that Amazon S3 supports in an ACL. For more
12431
- # information, see [Access Control List (ACL) Overview][2].
12688
+ # * Specify access permissions explicitly with the `x-amz-grant-read`,
12689
+ # `x-amz-grant-read-acp`, `x-amz-grant-write-acp`, and
12690
+ # `x-amz-grant-full-control` headers. When using these headers, you
12691
+ # specify explicit access permissions and grantees (Amazon Web
12692
+ # Services accounts or Amazon S3 groups) who will receive the
12693
+ # permission. If you use these ACL-specific headers, you cannot use
12694
+ # `x-amz-acl` header to set a canned ACL. These parameters map to
12695
+ # the set of permissions that Amazon S3 supports in an ACL. For more
12696
+ # information, see [Access Control List (ACL) Overview][2].
12432
12697
  #
12433
- # You specify each grantee as a type=value pair, where the type is one
12434
- # of the following:
12698
+ # You specify each grantee as a type=value pair, where the type is
12699
+ # one of the following:
12435
12700
  #
12436
- # * `id` – if the value specified is the canonical user ID of an
12437
- # Amazon Web Services account
12701
+ # * `id` – if the value specified is the canonical user ID of an
12702
+ # Amazon Web Services account
12438
12703
  #
12439
- # * `uri` – if you are granting permissions to a predefined group
12704
+ # * `uri` – if you are granting permissions to a predefined group
12440
12705
  #
12441
- # * `emailAddress` – if the value specified is the email address of an
12442
- # Amazon Web Services account
12706
+ # * `emailAddress` – if the value specified is the email address of
12707
+ # an Amazon Web Services account
12443
12708
  #
12444
- # <note markdown="1"> Using email addresses to specify a grantee is only supported in
12445
- # the following Amazon Web Services Regions:
12709
+ # <note markdown="1"> Using email addresses to specify a grantee is only supported in
12710
+ # the following Amazon Web Services Regions:
12446
12711
  #
12447
- # * US East (N. Virginia)
12712
+ # * US East (N. Virginia)
12448
12713
  #
12449
- # * US West (N. California)
12714
+ # * US West (N. California)
12450
12715
  #
12451
- # * US West (Oregon)
12716
+ # * US West (Oregon)
12452
12717
  #
12453
- # * Asia Pacific (Singapore)
12718
+ # * Asia Pacific (Singapore)
12454
12719
  #
12455
- # * Asia Pacific (Sydney)
12720
+ # * Asia Pacific (Sydney)
12456
12721
  #
12457
- # * Asia Pacific (Tokyo)
12722
+ # * Asia Pacific (Tokyo)
12458
12723
  #
12459
- # * Europe (Ireland)
12724
+ # * Europe (Ireland)
12460
12725
  #
12461
- # * South America (São Paulo)
12726
+ # * South America (São Paulo)
12462
12727
  #
12463
- # For a list of all the Amazon S3 supported Regions and endpoints,
12464
- # see [Regions and Endpoints][5] in the Amazon Web Services General
12465
- # Reference.
12728
+ # For a list of all the Amazon S3 supported Regions and endpoints,
12729
+ # see [Regions and Endpoints][5] in the Amazon Web Services
12730
+ # General Reference.
12466
12731
  #
12467
- # </note>
12732
+ # </note>
12468
12733
  #
12469
- # For example, the following `x-amz-grant-read` header grants list
12470
- # objects permission to the two Amazon Web Services accounts
12471
- # identified by their email addresses.
12734
+ # For example, the following `x-amz-grant-read` header grants list
12735
+ # objects permission to the two Amazon Web Services accounts
12736
+ # identified by their email addresses.
12472
12737
  #
12473
- # `x-amz-grant-read: emailAddress="xyz@amazon.com",
12474
- # emailAddress="abc@amazon.com" `
12738
+ # `x-amz-grant-read: emailAddress="xyz@amazon.com",
12739
+ # emailAddress="abc@amazon.com" `
12475
12740
  #
12476
- # You can use either a canned ACL or specify access permissions
12477
- # explicitly. You cannot do both.
12741
+ # You can use either a canned ACL or specify access permissions
12742
+ # explicitly. You cannot do both.
12478
12743
  #
12479
- # **Grantee Values**
12744
+ # Grantee Values
12480
12745
  #
12481
- # You can specify the person (grantee) to whom you're assigning access
12482
- # rights (using request elements) in the following ways:
12746
+ # : You can specify the person (grantee) to whom you're assigning
12747
+ # access rights (using request elements) in the following ways:
12483
12748
  #
12484
- # * By the person's ID:
12749
+ # * By the person's ID:
12485
12750
  #
12486
- # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
12487
- # xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName>
12488
- # </Grantee>`
12751
+ # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
12752
+ # xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName>
12753
+ # </Grantee>`
12489
12754
  #
12490
- # DisplayName is optional and ignored in the request.
12755
+ # DisplayName is optional and ignored in the request.
12491
12756
  #
12492
- # * By URI:
12757
+ # * By URI:
12493
12758
  #
12494
- # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
12495
- # xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>`
12759
+ # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
12760
+ # xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>`
12496
12761
  #
12497
- # * By Email address:
12762
+ # * By Email address:
12498
12763
  #
12499
- # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
12500
- # xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee>`
12764
+ # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
12765
+ # xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee>`
12501
12766
  #
12502
- # The grantee is resolved to the CanonicalUser and, in a response to a
12503
- # GET Object acl request, appears as the CanonicalUser.
12767
+ # The grantee is resolved to the CanonicalUser and, in a response to
12768
+ # a GET Object acl request, appears as the CanonicalUser.
12504
12769
  #
12505
- # <note markdown="1"> Using email addresses to specify a grantee is only supported in the
12506
- # following Amazon Web Services Regions:
12770
+ # <note markdown="1"> Using email addresses to specify a grantee is only supported in
12771
+ # the following Amazon Web Services Regions:
12507
12772
  #
12508
- # * US East (N. Virginia)
12773
+ # * US East (N. Virginia)
12509
12774
  #
12510
- # * US West (N. California)
12775
+ # * US West (N. California)
12511
12776
  #
12512
- # * US West (Oregon)
12777
+ # * US West (Oregon)
12513
12778
  #
12514
- # * Asia Pacific (Singapore)
12779
+ # * Asia Pacific (Singapore)
12515
12780
  #
12516
- # * Asia Pacific (Sydney)
12781
+ # * Asia Pacific (Sydney)
12517
12782
  #
12518
- # * Asia Pacific (Tokyo)
12783
+ # * Asia Pacific (Tokyo)
12519
12784
  #
12520
- # * Europe (Ireland)
12785
+ # * Europe (Ireland)
12521
12786
  #
12522
- # * South America (São Paulo)
12787
+ # * South America (São Paulo)
12523
12788
  #
12524
- # For a list of all the Amazon S3 supported Regions and endpoints, see
12525
- # [Regions and Endpoints][5] in the Amazon Web Services General
12526
- # Reference.
12789
+ # For a list of all the Amazon S3 supported Regions and endpoints,
12790
+ # see [Regions and Endpoints][5] in the Amazon Web Services General
12791
+ # Reference.
12527
12792
  #
12528
- # </note>
12793
+ # </note>
12529
12794
  #
12530
- # **Versioning**
12795
+ # Versioning
12531
12796
  #
12532
- # The ACL of an object is set at the object version level. By default,
12533
- # PUT sets the ACL of the current version of an object. To set the ACL
12534
- # of a different version, use the `versionId` subresource.
12797
+ # : The ACL of an object is set at the object version level. By default,
12798
+ # PUT sets the ACL of the current version of an object. To set the ACL
12799
+ # of a different version, use the `versionId` subresource.
12535
12800
  #
12536
- # **Related Resources**
12801
+ # The following operations are related to `PutObjectAcl`:
12537
12802
  #
12538
12803
  # * [CopyObject][6]
12539
12804
  #
@@ -12645,14 +12910,14 @@ module Aws::S3
12645
12910
  # name. For more information about access point ARNs, see [Using access
12646
12911
  # points][1] in the *Amazon S3 User Guide*.
12647
12912
  #
12648
- # When using this action with Amazon S3 on Outposts, you must direct
12913
+ # When you use this action with Amazon S3 on Outposts, you must direct
12649
12914
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
12650
12915
  # takes the form `
12651
12916
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
12652
- # When using this action with S3 on Outposts through the Amazon Web
12653
- # Services SDKs, you provide the Outposts bucket ARN in place of the
12654
- # bucket name. For more information about S3 on Outposts ARNs, see
12655
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
12917
+ # When you use this action with S3 on Outposts through the Amazon Web
12918
+ # Services SDKs, you provide the Outposts access point ARN in place of
12919
+ # the bucket name. For more information about S3 on Outposts ARNs, see
12920
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
12656
12921
  #
12657
12922
  #
12658
12923
  #
@@ -13103,7 +13368,7 @@ module Aws::S3
13103
13368
  # For information about the Amazon S3 object tagging feature, see
13104
13369
  # [Object Tagging][3].
13105
13370
  #
13106
- # **Special Errors**
13371
+ # `PutObjectTagging` has the following special errors:
13107
13372
  #
13108
13373
  # * * <i>Code: InvalidTagError </i>
13109
13374
  #
@@ -13125,7 +13390,7 @@ module Aws::S3
13125
13390
  # * *Cause: The service was unable to apply the provided tag to the
13126
13391
  # object.*
13127
13392
  #
13128
- # **Related Resources**
13393
+ # The following operations are related to `PutObjectTagging`:
13129
13394
  #
13130
13395
  # * [GetObjectTagging][1]
13131
13396
  #
@@ -13149,14 +13414,14 @@ module Aws::S3
13149
13414
  # name. For more information about access point ARNs, see [Using access
13150
13415
  # points][1] in the *Amazon S3 User Guide*.
13151
13416
  #
13152
- # When using this action with Amazon S3 on Outposts, you must direct
13417
+ # When you use this action with Amazon S3 on Outposts, you must direct
13153
13418
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
13154
13419
  # takes the form `
13155
13420
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
13156
- # When using this action with S3 on Outposts through the Amazon Web
13157
- # Services SDKs, you provide the Outposts bucket ARN in place of the
13158
- # bucket name. For more information about S3 on Outposts ARNs, see
13159
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
13421
+ # When you use this action with S3 on Outposts through the Amazon Web
13422
+ # Services SDKs, you provide the Outposts access point ARN in place of
13423
+ # the bucket name. For more information about S3 on Outposts ARNs, see
13424
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
13160
13425
  #
13161
13426
  #
13162
13427
  #
@@ -13291,7 +13556,7 @@ module Aws::S3
13291
13556
  # For more information about when Amazon S3 considers a bucket or an
13292
13557
  # object public, see [The Meaning of "Public"][2].
13293
13558
  #
13294
- # **Related Resources**
13559
+ # The following operations are related to `PutPublicAccessBlock`:
13295
13560
  #
13296
13561
  # * [GetPublicAccessBlock][3]
13297
13562
  #
@@ -13389,69 +13654,37 @@ module Aws::S3
13389
13654
  #
13390
13655
  # * `restore an archive` - Restore an archived object
13391
13656
  #
13392
- # To use this operation, you must have permissions to perform the
13393
- # `s3:RestoreObject` action. The bucket owner has this permission by
13394
- # default and can grant this permission to others. For more information
13395
- # about permissions, see [Permissions Related to Bucket Subresource
13396
- # Operations][1] and [Managing Access Permissions to Your Amazon S3
13397
- # Resources][2] in the *Amazon S3 User Guide*.
13398
- #
13399
- # **Querying Archives with Select Requests**
13400
- #
13401
- # You use a select type of request to perform SQL queries on archived
13402
- # objects. The archived objects that are being queried by the select
13403
- # request must be formatted as uncompressed comma-separated values (CSV)
13404
- # files. You can run queries and custom analytics on your archived data
13405
- # without having to restore your data to a hotter Amazon S3 tier. For an
13406
- # overview about select requests, see [Querying Archived Objects][3] in
13407
- # the *Amazon S3 User Guide*.
13408
- #
13409
- # When making a select request, do the following:
13410
- #
13411
- # * Define an output location for the select query's output. This must
13412
- # be an Amazon S3 bucket in the same Amazon Web Services Region as the
13413
- # bucket that contains the archive object that is being queried. The
13414
- # Amazon Web Services account that initiates the job must have
13415
- # permissions to write to the S3 bucket. You can specify the storage
13416
- # class and encryption for the output objects stored in the bucket.
13417
- # For more information about output, see [Querying Archived
13418
- # Objects][3] in the *Amazon S3 User Guide*.
13419
- #
13420
- # For more information about the `S3` structure in the request body,
13421
- # see the following:
13657
+ # For more information about the `S3` structure in the request body, see
13658
+ # the following:
13422
13659
  #
13423
- # * [PutObject][4]
13660
+ # * [PutObject][1]
13424
13661
  #
13425
- # * [Managing Access with ACLs][5] in the *Amazon S3 User Guide*
13662
+ # * [Managing Access with ACLs][2] in the *Amazon S3 User Guide*
13426
13663
  #
13427
- # * [Protecting Data Using Server-Side Encryption][6] in the *Amazon
13428
- # S3 User Guide*
13664
+ # * [Protecting Data Using Server-Side Encryption][3] in the *Amazon S3
13665
+ # User Guide*
13429
13666
  #
13430
- # * Define the SQL expression for the `SELECT` type of restoration for
13431
- # your query in the request body's `SelectParameters` structure. You
13432
- # can use expressions like the following examples.
13667
+ # Define the SQL expression for the `SELECT` type of restoration for
13668
+ # your query in the request body's `SelectParameters` structure. You
13669
+ # can use expressions like the following examples.
13433
13670
  #
13434
- # * The following expression returns all records from the specified
13435
- # object.
13671
+ # * The following expression returns all records from the specified
13672
+ # object.
13436
13673
  #
13437
- # `SELECT * FROM Object`
13674
+ # `SELECT * FROM Object`
13438
13675
  #
13439
- # * Assuming that you are not using any headers for data stored in the
13440
- # object, you can specify columns with positional headers.
13676
+ # * Assuming that you are not using any headers for data stored in the
13677
+ # object, you can specify columns with positional headers.
13441
13678
  #
13442
- # `SELECT s._1, s._2 FROM Object s WHERE s._3 > 100`
13679
+ # `SELECT s._1, s._2 FROM Object s WHERE s._3 > 100`
13443
13680
  #
13444
- # * If you have headers and you set the `fileHeaderInfo` in the `CSV`
13445
- # structure in the request body to `USE`, you can specify headers in
13446
- # the query. (If you set the `fileHeaderInfo` field to `IGNORE`, the
13447
- # first row is skipped for the query.) You cannot mix ordinal
13448
- # positions with header column names.
13681
+ # * If you have headers and you set the `fileHeaderInfo` in the `CSV`
13682
+ # structure in the request body to `USE`, you can specify headers in
13683
+ # the query. (If you set the `fileHeaderInfo` field to `IGNORE`, the
13684
+ # first row is skipped for the query.) You cannot mix ordinal
13685
+ # positions with header column names.
13449
13686
  #
13450
- # `SELECT s.Id, s.FirstName, s.SSN FROM S3Object s`
13451
- #
13452
- # For more information about using SQL with S3 Glacier Select restore,
13453
- # see [SQL Reference for Amazon S3 Select and S3 Glacier Select][7] in
13454
- # the *Amazon S3 User Guide*.
13687
+ # `SELECT s.Id, s.FirstName, s.SSN FROM S3Object s`
13455
13688
  #
13456
13689
  # When making a select request, you can also do the following:
13457
13690
  #
@@ -13467,155 +13700,168 @@ module Aws::S3
13467
13700
  #
13468
13701
  # * The output results are new Amazon S3 objects. Unlike archive
13469
13702
  # retrievals, they are stored until explicitly deleted-manually or
13470
- # through a lifecycle policy.
13703
+ # through a lifecycle configuration.
13471
13704
  #
13472
13705
  # * You can issue more than one select request on the same Amazon S3
13473
- # object. Amazon S3 doesn't deduplicate requests, so avoid issuing
13706
+ # object. Amazon S3 doesn't duplicate requests, so avoid issuing
13474
13707
  # duplicate requests.
13475
13708
  #
13476
13709
  # * Amazon S3 accepts a select request even if the object has already
13477
13710
  # been restored. A select request doesn’t return error response `409`.
13478
13711
  #
13479
- # **Restoring objects**
13480
- #
13481
- # Objects that you archive to the S3 Glacier or S3 Glacier Deep Archive
13482
- # storage class, and S3 Intelligent-Tiering Archive or S3
13483
- # Intelligent-Tiering Deep Archive tiers are not accessible in real
13484
- # time. For objects in Archive Access or Deep Archive Access tiers you
13485
- # must first initiate a restore request, and then wait until the object
13486
- # is moved into the Frequent Access tier. For objects in S3 Glacier or
13487
- # S3 Glacier Deep Archive storage classes you must first initiate a
13488
- # restore request, and then wait until a temporary copy of the object is
13489
- # available. To access an archived object, you must restore the object
13490
- # for the duration (number of days) that you specify.
13491
- #
13492
- # To restore a specific object version, you can provide a version ID. If
13493
- # you don't provide a version ID, Amazon S3 restores the current
13494
- # version.
13495
- #
13496
- # When restoring an archived object (or using a select request), you can
13497
- # specify one of the following data access tier options in the `Tier`
13498
- # element of the request body:
13499
- #
13500
- # * `Expedited` - Expedited retrievals allow you to quickly access your
13501
- # data stored in the S3 Glacier storage class or S3
13502
- # Intelligent-Tiering Archive tier when occasional urgent requests for
13503
- # a subset of archives are required. For all but the largest archived
13504
- # objects (250 MB+), data accessed using Expedited retrievals is
13505
- # typically made available within 1–5 minutes. Provisioned capacity
13506
- # ensures that retrieval capacity for Expedited retrievals is
13507
- # available when you need it. Expedited retrievals and provisioned
13508
- # capacity are not available for objects stored in the S3 Glacier Deep
13509
- # Archive storage class or S3 Intelligent-Tiering Deep Archive tier.
13510
- #
13511
- # * `Standard` - Standard retrievals allow you to access any of your
13512
- # archived objects within several hours. This is the default option
13513
- # for retrieval requests that do not specify the retrieval option.
13514
- # Standard retrievals typically finish within 3–5 hours for objects
13515
- # stored in the S3 Glacier storage class or S3 Intelligent-Tiering
13516
- # Archive tier. They typically finish within 12 hours for objects
13517
- # stored in the S3 Glacier Deep Archive storage class or S3
13518
- # Intelligent-Tiering Deep Archive tier. Standard retrievals are free
13519
- # for objects stored in S3 Intelligent-Tiering.
13520
- #
13521
- # * `Bulk` - Bulk retrievals are the lowest-cost retrieval option in S3
13522
- # Glacier, enabling you to retrieve large amounts, even petabytes, of
13523
- # data inexpensively. Bulk retrievals typically finish within 5–12
13524
- # hours for objects stored in the S3 Glacier storage class or S3
13525
- # Intelligent-Tiering Archive tier. They typically finish within 48
13526
- # hours for objects stored in the S3 Glacier Deep Archive storage
13527
- # class or S3 Intelligent-Tiering Deep Archive tier. Bulk retrievals
13528
- # are free for objects stored in S3 Intelligent-Tiering.
13529
- #
13530
- # For more information about archive retrieval options and provisioned
13531
- # capacity for `Expedited` data access, see [Restoring Archived
13532
- # Objects][8] in the *Amazon S3 User Guide*.
13533
- #
13534
- # You can use Amazon S3 restore speed upgrade to change the restore
13535
- # speed to a faster speed while it is in progress. For more information,
13536
- # see [ Upgrading the speed of an in-progress restore][9] in the *Amazon
13537
- # S3 User Guide*.
13712
+ # Permissions
13713
+ #
13714
+ # : To use this operation, you must have permissions to perform the
13715
+ # `s3:RestoreObject` action. The bucket owner has this permission by
13716
+ # default and can grant this permission to others. For more
13717
+ # information about permissions, see [Permissions Related to Bucket
13718
+ # Subresource Operations][4] and [Managing Access Permissions to Your
13719
+ # Amazon S3 Resources][5] in the *Amazon S3 User Guide*.
13720
+ #
13721
+ # Restoring objects
13722
+ #
13723
+ # : Objects that you archive to the S3 Glacier Flexible Retrieval or S3
13724
+ # Glacier Deep Archive storage class, and S3 Intelligent-Tiering
13725
+ # Archive or S3 Intelligent-Tiering Deep Archive tiers, are not
13726
+ # accessible in real time. For objects in the S3 Glacier Flexible
13727
+ # Retrieval or S3 Glacier Deep Archive storage classes, you must first
13728
+ # initiate a restore request, and then wait until a temporary copy of
13729
+ # the object is available. If you want a permanent copy of the object,
13730
+ # create a copy of it in the Amazon S3 Standard storage class in your
13731
+ # S3 bucket. To access an archived object, you must restore the object
13732
+ # for the duration (number of days) that you specify. For objects in
13733
+ # the Archive Access or Deep Archive Access tiers of S3
13734
+ # Intelligent-Tiering, you must first initiate a restore request, and
13735
+ # then wait until the object is moved into the Frequent Access tier.
13736
+ #
13737
+ # To restore a specific object version, you can provide a version ID.
13738
+ # If you don't provide a version ID, Amazon S3 restores the current
13739
+ # version.
13740
+ #
13741
+ # When restoring an archived object, you can specify one of the
13742
+ # following data access tier options in the `Tier` element of the
13743
+ # request body:
13744
+ #
13745
+ # * `Expedited` - Expedited retrievals allow you to quickly access
13746
+ # your data stored in the S3 Glacier Flexible Retrieval storage
13747
+ # class or S3 Intelligent-Tiering Archive tier when occasional
13748
+ # urgent requests for restoring archives are required. For all but
13749
+ # the largest archived objects (250 MB+), data accessed using
13750
+ # Expedited retrievals is typically made available within 1–5
13751
+ # minutes. Provisioned capacity ensures that retrieval capacity for
13752
+ # Expedited retrievals is available when you need it. Expedited
13753
+ # retrievals and provisioned capacity are not available for objects
13754
+ # stored in the S3 Glacier Deep Archive storage class or S3
13755
+ # Intelligent-Tiering Deep Archive tier.
13756
+ #
13757
+ # * `Standard` - Standard retrievals allow you to access any of your
13758
+ # archived objects within several hours. This is the default option
13759
+ # for retrieval requests that do not specify the retrieval option.
13760
+ # Standard retrievals typically finish within 3–5 hours for objects
13761
+ # stored in the S3 Glacier Flexible Retrieval storage class or S3
13762
+ # Intelligent-Tiering Archive tier. They typically finish within 12
13763
+ # hours for objects stored in the S3 Glacier Deep Archive storage
13764
+ # class or S3 Intelligent-Tiering Deep Archive tier. Standard
13765
+ # retrievals are free for objects stored in S3 Intelligent-Tiering.
13766
+ #
13767
+ # * `Bulk` - Bulk retrievals free for objects stored in the S3 Glacier
13768
+ # Flexible Retrieval and S3 Intelligent-Tiering storage classes,
13769
+ # enabling you to retrieve large amounts, even petabytes, of data at
13770
+ # no cost. Bulk retrievals typically finish within 5–12 hours for
13771
+ # objects stored in the S3 Glacier Flexible Retrieval storage class
13772
+ # or S3 Intelligent-Tiering Archive tier. Bulk retrievals are also
13773
+ # the lowest-cost retrieval option when restoring objects from S3
13774
+ # Glacier Deep Archive. They typically finish within 48 hours for
13775
+ # objects stored in the S3 Glacier Deep Archive storage class or S3
13776
+ # Intelligent-Tiering Deep Archive tier.
13777
+ #
13778
+ # For more information about archive retrieval options and provisioned
13779
+ # capacity for `Expedited` data access, see [Restoring Archived
13780
+ # Objects][6] in the *Amazon S3 User Guide*.
13781
+ #
13782
+ # You can use Amazon S3 restore speed upgrade to change the restore
13783
+ # speed to a faster speed while it is in progress. For more
13784
+ # information, see [ Upgrading the speed of an in-progress restore][7]
13785
+ # in the *Amazon S3 User Guide*.
13538
13786
  #
13539
- # To get the status of object restoration, you can send a `HEAD`
13540
- # request. Operations return the `x-amz-restore` header, which provides
13541
- # information about the restoration status, in the response. You can use
13542
- # Amazon S3 event notifications to notify you when a restore is
13543
- # initiated or completed. For more information, see [Configuring Amazon
13544
- # S3 Event Notifications][10] in the *Amazon S3 User Guide*.
13787
+ # To get the status of object restoration, you can send a `HEAD`
13788
+ # request. Operations return the `x-amz-restore` header, which
13789
+ # provides information about the restoration status, in the response.
13790
+ # You can use Amazon S3 event notifications to notify you when a
13791
+ # restore is initiated or completed. For more information, see
13792
+ # [Configuring Amazon S3 Event Notifications][8] in the *Amazon S3
13793
+ # User Guide*.
13545
13794
  #
13546
- # After restoring an archived object, you can update the restoration
13547
- # period by reissuing the request with a new period. Amazon S3 updates
13548
- # the restoration period relative to the current time and charges only
13549
- # for the request-there are no data transfer charges. You cannot update
13550
- # the restoration period when Amazon S3 is actively processing your
13551
- # current restore request for the object.
13795
+ # After restoring an archived object, you can update the restoration
13796
+ # period by reissuing the request with a new period. Amazon S3 updates
13797
+ # the restoration period relative to the current time and charges only
13798
+ # for the request-there are no data transfer charges. You cannot
13799
+ # update the restoration period when Amazon S3 is actively processing
13800
+ # your current restore request for the object.
13552
13801
  #
13553
- # If your bucket has a lifecycle configuration with a rule that includes
13554
- # an expiration action, the object expiration overrides the life span
13555
- # that you specify in a restore request. For example, if you restore an
13556
- # object copy for 10 days, but the object is scheduled to expire in 3
13557
- # days, Amazon S3 deletes the object in 3 days. For more information
13558
- # about lifecycle configuration, see
13559
- # [PutBucketLifecycleConfiguration][11] and [Object Lifecycle
13560
- # Management][12] in *Amazon S3 User Guide*.
13802
+ # If your bucket has a lifecycle configuration with a rule that
13803
+ # includes an expiration action, the object expiration overrides the
13804
+ # life span that you specify in a restore request. For example, if you
13805
+ # restore an object copy for 10 days, but the object is scheduled to
13806
+ # expire in 3 days, Amazon S3 deletes the object in 3 days. For more
13807
+ # information about lifecycle configuration, see
13808
+ # [PutBucketLifecycleConfiguration][9] and [Object Lifecycle
13809
+ # Management][10] in *Amazon S3 User Guide*.
13561
13810
  #
13562
- # **Responses**
13811
+ # Responses
13563
13812
  #
13564
- # A successful action returns either the `200 OK` or `202 Accepted`
13565
- # status code.
13813
+ # : A successful action returns either the `200 OK` or `202 Accepted`
13814
+ # status code.
13566
13815
  #
13567
- # * If the object is not previously restored, then Amazon S3 returns
13568
- # `202 Accepted` in the response.
13816
+ # * If the object is not previously restored, then Amazon S3 returns
13817
+ # `202 Accepted` in the response.
13569
13818
  #
13570
- # * If the object is previously restored, Amazon S3 returns `200 OK` in
13571
- # the response.
13819
+ # * If the object is previously restored, Amazon S3 returns `200 OK`
13820
+ # in the response.
13821
+ # ^
13572
13822
  #
13573
- # **Special Errors**
13823
+ # * Special errors:
13574
13824
  #
13575
- # * * *Code: RestoreAlreadyInProgress*
13825
+ # * *Code: RestoreAlreadyInProgress*
13576
13826
  #
13577
- # * *Cause: Object restore is already in progress. (This error does
13578
- # not apply to SELECT type requests.)*
13827
+ # * *Cause: Object restore is already in progress. (This error does
13828
+ # not apply to SELECT type requests.)*
13579
13829
  #
13580
- # * *HTTP Status Code: 409 Conflict*
13830
+ # * *HTTP Status Code: 409 Conflict*
13581
13831
  #
13582
- # * *SOAP Fault Code Prefix: Client*
13832
+ # * *SOAP Fault Code Prefix: Client*
13583
13833
  #
13584
- # * * *Code: GlacierExpeditedRetrievalNotAvailable*
13834
+ # * * *Code: GlacierExpeditedRetrievalNotAvailable*
13585
13835
  #
13586
- # * *Cause: expedited retrievals are currently not available. Try
13587
- # again later. (Returned if there is insufficient capacity to
13588
- # process the Expedited request. This error applies only to
13589
- # Expedited retrievals and not to S3 Standard or Bulk retrievals.)*
13836
+ # * *Cause: expedited retrievals are currently not available. Try
13837
+ # again later. (Returned if there is insufficient capacity to
13838
+ # process the Expedited request. This error applies only to
13839
+ # Expedited retrievals and not to S3 Standard or Bulk
13840
+ # retrievals.)*
13590
13841
  #
13591
- # * *HTTP Status Code: 503*
13842
+ # * *HTTP Status Code: 503*
13592
13843
  #
13593
- # * *SOAP Fault Code Prefix: N/A*
13844
+ # * *SOAP Fault Code Prefix: N/A*
13594
13845
  #
13595
- # **Related Resources**
13846
+ # The following operations are related to `RestoreObject`:
13596
13847
  #
13597
- # * [PutBucketLifecycleConfiguration][11]
13848
+ # * [PutBucketLifecycleConfiguration][9]
13598
13849
  #
13599
- # * [GetBucketNotificationConfiguration][13]
13850
+ # * [GetBucketNotificationConfiguration][11]
13600
13851
  #
13601
- # * [SQL Reference for Amazon S3 Select and S3 Glacier Select ][7] in
13602
- # the *Amazon S3 User Guide*
13603
13852
  #
13604
13853
  #
13605
- #
13606
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
13607
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
13608
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/querying-glacier-archives.html
13609
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
13610
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
13611
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
13612
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html
13613
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
13614
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html#restoring-objects-upgrade-tier.title.html
13615
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
13616
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
13617
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
13618
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html
13854
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
13855
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
13856
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
13857
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
13858
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
13859
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
13860
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html#restoring-objects-upgrade-tier.title.html
13861
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
13862
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
13863
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
13864
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html
13619
13865
  #
13620
13866
  # @option params [required, String] :bucket
13621
13867
  # The bucket name containing the object to restore.
@@ -13628,14 +13874,14 @@ module Aws::S3
13628
13874
  # name. For more information about access point ARNs, see [Using access
13629
13875
  # points][1] in the *Amazon S3 User Guide*.
13630
13876
  #
13631
- # When using this action with Amazon S3 on Outposts, you must direct
13877
+ # When you use this action with Amazon S3 on Outposts, you must direct
13632
13878
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
13633
13879
  # takes the form `
13634
13880
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
13635
- # When using this action with S3 on Outposts through the Amazon Web
13636
- # Services SDKs, you provide the Outposts bucket ARN in place of the
13637
- # bucket name. For more information about S3 on Outposts ARNs, see
13638
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
13881
+ # When you use this action with S3 on Outposts through the Amazon Web
13882
+ # Services SDKs, you provide the Outposts access point ARN in place of
13883
+ # the bucket name. For more information about S3 on Outposts ARNs, see
13884
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
13639
13885
  #
13640
13886
  #
13641
13887
  #
@@ -13828,108 +14074,99 @@ module Aws::S3
13828
14074
  # from Objects][1] and [SELECT Command][2] in the *Amazon S3 User
13829
14075
  # Guide*.
13830
14076
  #
13831
- # For more information about using SQL with Amazon S3 Select, see [ SQL
13832
- # Reference for Amazon S3 Select and S3 Glacier Select][3] in the
13833
- # *Amazon S3 User Guide*.
13834
- #
13835
- #
13836
- #
13837
- # **Permissions**
13838
- #
13839
- # You must have `s3:GetObject` permission for this operation. Amazon S3
13840
- # Select does not support anonymous access. For more information about
13841
- # permissions, see [Specifying Permissions in a Policy][4] in the
13842
- # *Amazon S3 User Guide*.
13843
14077
  #
13844
14078
  #
14079
+ # Permissions
13845
14080
  #
13846
- # *Object Data Formats*
14081
+ # : You must have `s3:GetObject` permission for this operation. Amazon
14082
+ # S3 Select does not support anonymous access. For more information
14083
+ # about permissions, see [Specifying Permissions in a Policy][3] in
14084
+ # the *Amazon S3 User Guide*.
13847
14085
  #
13848
- # You can use Amazon S3 Select to query objects that have the following
13849
- # format properties:
13850
- #
13851
- # * *CSV, JSON, and Parquet* - Objects must be in CSV, JSON, or Parquet
13852
- # format.
13853
- #
13854
- # * *UTF-8* - UTF-8 is the only encoding type Amazon S3 Select supports.
13855
- #
13856
- # * *GZIP or BZIP2* - CSV and JSON files can be compressed using GZIP or
13857
- # BZIP2. GZIP and BZIP2 are the only compression formats that Amazon
13858
- # S3 Select supports for CSV and JSON files. Amazon S3 Select supports
13859
- # columnar compression for Parquet using GZIP or Snappy. Amazon S3
13860
- # Select does not support whole-object compression for Parquet
13861
- # objects.
14086
+ # Object Data Formats
13862
14087
  #
13863
- # * *Server-side encryption* - Amazon S3 Select supports querying
13864
- # objects that are protected with server-side encryption.
14088
+ # : You can use Amazon S3 Select to query objects that have the
14089
+ # following format properties:
13865
14090
  #
13866
- # For objects that are encrypted with customer-provided encryption
13867
- # keys (SSE-C), you must use HTTPS, and you must use the headers that
13868
- # are documented in the [GetObject][5]. For more information about
13869
- # SSE-C, see [Server-Side Encryption (Using Customer-Provided
13870
- # Encryption Keys)][6] in the *Amazon S3 User Guide*.
14091
+ # * *CSV, JSON, and Parquet* - Objects must be in CSV, JSON, or
14092
+ # Parquet format.
13871
14093
  #
13872
- # For objects that are encrypted with Amazon S3 managed encryption
13873
- # keys (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS),
13874
- # server-side encryption is handled transparently, so you don't need
13875
- # to specify anything. For more information about server-side
13876
- # encryption, including SSE-S3 and SSE-KMS, see [Protecting Data Using
13877
- # Server-Side Encryption][7] in the *Amazon S3 User Guide*.
14094
+ # * *UTF-8* - UTF-8 is the only encoding type Amazon S3 Select
14095
+ # supports.
13878
14096
  #
13879
- # **Working with the Response Body**
14097
+ # * *GZIP or BZIP2* - CSV and JSON files can be compressed using GZIP
14098
+ # or BZIP2. GZIP and BZIP2 are the only compression formats that
14099
+ # Amazon S3 Select supports for CSV and JSON files. Amazon S3 Select
14100
+ # supports columnar compression for Parquet using GZIP or Snappy.
14101
+ # Amazon S3 Select does not support whole-object compression for
14102
+ # Parquet objects.
13880
14103
  #
13881
- # Given the response size is unknown, Amazon S3 Select streams the
13882
- # response as a series of messages and includes a `Transfer-Encoding`
13883
- # header with `chunked` as its value in the response. For more
13884
- # information, see [Appendix: SelectObjectContent Response][8].
14104
+ # * *Server-side encryption* - Amazon S3 Select supports querying
14105
+ # objects that are protected with server-side encryption.
13885
14106
  #
14107
+ # For objects that are encrypted with customer-provided encryption
14108
+ # keys (SSE-C), you must use HTTPS, and you must use the headers
14109
+ # that are documented in the [GetObject][4]. For more information
14110
+ # about SSE-C, see [Server-Side Encryption (Using Customer-Provided
14111
+ # Encryption Keys)][5] in the *Amazon S3 User Guide*.
13886
14112
  #
14113
+ # For objects that are encrypted with Amazon S3 managed keys
14114
+ # (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS), server-side
14115
+ # encryption is handled transparently, so you don't need to specify
14116
+ # anything. For more information about server-side encryption,
14117
+ # including SSE-S3 and SSE-KMS, see [Protecting Data Using
14118
+ # Server-Side Encryption][6] in the *Amazon S3 User Guide*.
13887
14119
  #
13888
- # **GetObject Support**
14120
+ # Working with the Response Body
13889
14121
  #
13890
- # The `SelectObjectContent` action does not support the following
13891
- # `GetObject` functionality. For more information, see [GetObject][5].
14122
+ # : Given the response size is unknown, Amazon S3 Select streams the
14123
+ # response as a series of messages and includes a `Transfer-Encoding`
14124
+ # header with `chunked` as its value in the response. For more
14125
+ # information, see [Appendix: SelectObjectContent Response][7].
13892
14126
  #
13893
- # * `Range`: Although you can specify a scan range for an Amazon S3
13894
- # Select request (see [SelectObjectContentRequest - ScanRange][9] in
13895
- # the request parameters), you cannot specify the range of bytes of an
13896
- # object to return.
14127
+ # GetObject Support
13897
14128
  #
13898
- # * GLACIER, DEEP\_ARCHIVE and REDUCED\_REDUNDANCY storage classes: You
13899
- # cannot specify the GLACIER, DEEP\_ARCHIVE, or `REDUCED_REDUNDANCY`
13900
- # storage classes. For more information, about storage classes see
13901
- # [Storage Classes][10] in the *Amazon S3 User Guide*.
14129
+ # : The `SelectObjectContent` action does not support the following
14130
+ # `GetObject` functionality. For more information, see [GetObject][4].
13902
14131
  #
14132
+ # * `Range`: Although you can specify a scan range for an Amazon S3
14133
+ # Select request (see [SelectObjectContentRequest - ScanRange][8] in
14134
+ # the request parameters), you cannot specify the range of bytes of
14135
+ # an object to return.
13903
14136
  #
14137
+ # * GLACIER, DEEP\_ARCHIVE and REDUCED\_REDUNDANCY storage classes:
14138
+ # You cannot specify the GLACIER, DEEP\_ARCHIVE, or
14139
+ # `REDUCED_REDUNDANCY` storage classes. For more information, about
14140
+ # storage classes see [Storage Classes][9] in the *Amazon S3 User
14141
+ # Guide*.
13904
14142
  #
13905
- # **Special Errors**
14143
+ # Special Errors
13906
14144
  #
13907
- # For a list of special errors for this operation, see [List of SELECT
13908
- # Object Content Error Codes][11]
14145
+ # : For a list of special errors for this operation, see [List of SELECT
14146
+ # Object Content Error Codes][10]
13909
14147
  #
13910
- # **Related Resources**
14148
+ # The following operations are related to `SelectObjectContent`:
13911
14149
  #
13912
- # * [GetObject][5]
14150
+ # * [GetObject][4]
13913
14151
  #
13914
- # * [GetBucketLifecycleConfiguration][12]
14152
+ # * [GetBucketLifecycleConfiguration][11]
13915
14153
  #
13916
- # * [PutBucketLifecycleConfiguration][13]
14154
+ # * [PutBucketLifecycleConfiguration][12]
13917
14155
  #
13918
14156
  #
13919
14157
  #
13920
14158
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html
13921
14159
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-select.html
13922
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html
13923
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
13924
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
13925
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
13926
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
13927
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html
13928
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange
13929
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#storage-class-intro
13930
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList
13931
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
13932
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
14160
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
14161
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
14162
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
14163
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
14164
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html
14165
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange
14166
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#storage-class-intro
14167
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList
14168
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
14169
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
13933
14170
  #
13934
14171
  # @option params [required, String] :bucket
13935
14172
  # The S3 bucket.
@@ -14279,27 +14516,35 @@ module Aws::S3
14279
14516
  # upload API, go to [Multipart Upload and Permissions][6] in the *Amazon
14280
14517
  # S3 User Guide*.
14281
14518
  #
14282
- # You can optionally request server-side encryption where Amazon S3
14519
+ # Server-side encryption is for data encryption at rest. Amazon S3
14283
14520
  # encrypts your data as it writes it to disks in its data centers and
14284
- # decrypts it for you when you access it. You have the option of
14285
- # providing your own encryption key, or you can use the Amazon Web
14286
- # Services managed encryption keys. If you choose to provide your own
14521
+ # decrypts it when you access it. You have three mutually exclusive
14522
+ # options to protect data using server-side encryption in Amazon S3,
14523
+ # depending on how you choose to manage the encryption keys.
14524
+ # Specifically, the encryption key options are Amazon S3 managed keys
14525
+ # (SSE-S3), Amazon Web Services KMS keys (SSE-KMS), and
14526
+ # Customer-Provided Keys (SSE-C). Amazon S3 encrypts data with
14527
+ # server-side encryption using Amazon S3 managed keys (SSE-S3) by
14528
+ # default. You can optionally tell Amazon S3 to encrypt data at rest
14529
+ # using server-side encryption with other key options. The option you
14530
+ # use depends on whether you want to use KMS keys (SSE-KMS) or provide
14531
+ # your own encryption key (SSE-C). If you choose to provide your own
14287
14532
  # encryption key, the request headers you provide in the request must
14288
14533
  # match the headers you used in the request to initiate the upload by
14289
14534
  # using [CreateMultipartUpload][2]. For more information, go to [Using
14290
14535
  # Server-Side Encryption][7] in the *Amazon S3 User Guide*.
14291
14536
  #
14292
14537
  # Server-side encryption is supported by the S3 Multipart Upload
14293
- # actions. Unless you are using a customer-provided encryption key, you
14294
- # don't need to specify the encryption parameters in each UploadPart
14295
- # request. Instead, you only need to specify the server-side encryption
14296
- # parameters in the initial Initiate Multipart request. For more
14297
- # information, see [CreateMultipartUpload][2].
14538
+ # actions. Unless you are using a customer-provided encryption key
14539
+ # (SSE-C), you don't need to specify the encryption parameters in each
14540
+ # UploadPart request. Instead, you only need to specify the server-side
14541
+ # encryption parameters in the initial Initiate Multipart request. For
14542
+ # more information, see [CreateMultipartUpload][2].
14298
14543
  #
14299
14544
  # If you requested server-side encryption using a customer-provided
14300
- # encryption key in your initiate multipart upload request, you must
14301
- # provide identical encryption information in each part upload using the
14302
- # following headers.
14545
+ # encryption key (SSE-C) in your initiate multipart upload request, you
14546
+ # must provide identical encryption information in each part upload
14547
+ # using the following headers.
14303
14548
  #
14304
14549
  # * x-amz-server-side-encryption-customer-algorithm
14305
14550
  #
@@ -14307,7 +14552,7 @@ module Aws::S3
14307
14552
  #
14308
14553
  # * x-amz-server-side-encryption-customer-key-MD5
14309
14554
  #
14310
- # **Special Errors**
14555
+ # `UploadPart` has the following special errors:
14311
14556
  #
14312
14557
  # * * *Code: NoSuchUpload*
14313
14558
  #
@@ -14319,7 +14564,7 @@ module Aws::S3
14319
14564
  #
14320
14565
  # * *SOAP Fault Code Prefix: Client*
14321
14566
  #
14322
- # **Related Resources**
14567
+ # The following operations are related to `UploadPart`:
14323
14568
  #
14324
14569
  # * [CreateMultipartUpload][2]
14325
14570
  #
@@ -14359,14 +14604,14 @@ module Aws::S3
14359
14604
  # name. For more information about access point ARNs, see [Using access
14360
14605
  # points][1] in the *Amazon S3 User Guide*.
14361
14606
  #
14362
- # When using this action with Amazon S3 on Outposts, you must direct
14607
+ # When you use this action with Amazon S3 on Outposts, you must direct
14363
14608
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
14364
14609
  # takes the form `
14365
14610
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
14366
- # When using this action with S3 on Outposts through the Amazon Web
14367
- # Services SDKs, you provide the Outposts bucket ARN in place of the
14368
- # bucket name. For more information about S3 on Outposts ARNs, see
14369
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
14611
+ # When you use this action with S3 on Outposts through the Amazon Web
14612
+ # Services SDKs, you provide the Outposts access point ARN in place of
14613
+ # the bucket name. For more information about S3 on Outposts ARNs, see
14614
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
14370
14615
  #
14371
14616
  #
14372
14617
  #
@@ -14635,42 +14880,41 @@ module Aws::S3
14635
14880
  #
14636
14881
  # Amazon S3 returns `412 Precondition Failed` response code.
14637
14882
  #
14638
- # **Versioning**
14883
+ # Versioning
14639
14884
  #
14640
- # If your bucket has versioning enabled, you could have multiple
14641
- # versions of the same object. By default, `x-amz-copy-source`
14642
- # identifies the current version of the object to copy. If the current
14643
- # version is a delete marker and you don't specify a versionId in the
14644
- # `x-amz-copy-source`, Amazon S3 returns a 404 error, because the object
14645
- # does not exist. If you specify versionId in the `x-amz-copy-source`
14646
- # and the versionId is a delete marker, Amazon S3 returns an HTTP 400
14647
- # error, because you are not allowed to specify a delete marker as a
14648
- # version for the `x-amz-copy-source`.
14885
+ # : If your bucket has versioning enabled, you could have multiple
14886
+ # versions of the same object. By default, `x-amz-copy-source`
14887
+ # identifies the current version of the object to copy. If the current
14888
+ # version is a delete marker and you don't specify a versionId in the
14889
+ # `x-amz-copy-source`, Amazon S3 returns a 404 error, because the
14890
+ # object does not exist. If you specify versionId in the
14891
+ # `x-amz-copy-source` and the versionId is a delete marker, Amazon S3
14892
+ # returns an HTTP 400 error, because you are not allowed to specify a
14893
+ # delete marker as a version for the `x-amz-copy-source`.
14649
14894
  #
14650
- # You can optionally specify a specific version of the source object to
14651
- # copy by adding the `versionId` subresource as shown in the following
14652
- # example:
14895
+ # You can optionally specify a specific version of the source object
14896
+ # to copy by adding the `versionId` subresource as shown in the
14897
+ # following example:
14653
14898
  #
14654
- # `x-amz-copy-source: /bucket/object?versionId=version id`
14899
+ # `x-amz-copy-source: /bucket/object?versionId=version id`
14655
14900
  #
14656
- # **Special Errors**
14901
+ # Special errors
14902
+ # : * * *Code: NoSuchUpload*
14657
14903
  #
14658
- # * * *Code: NoSuchUpload*
14904
+ # * *Cause: The specified multipart upload does not exist. The
14905
+ # upload ID might be invalid, or the multipart upload might have
14906
+ # been aborted or completed.*
14659
14907
  #
14660
- # * *Cause: The specified multipart upload does not exist. The upload
14661
- # ID might be invalid, or the multipart upload might have been
14662
- # aborted or completed.*
14663
- #
14664
- # * *HTTP Status Code: 404 Not Found*
14908
+ # * *HTTP Status Code: 404 Not Found*
14665
14909
  #
14666
- # * * *Code: InvalidRequest*
14910
+ # * * *Code: InvalidRequest*
14667
14911
  #
14668
- # * *Cause: The specified copy source is not supported as a byte-range
14669
- # copy source.*
14912
+ # * *Cause: The specified copy source is not supported as a
14913
+ # byte-range copy source.*
14670
14914
  #
14671
- # * *HTTP Status Code: 400 Bad Request*
14915
+ # * *HTTP Status Code: 400 Bad Request*
14672
14916
  #
14673
- # **Related Resources**
14917
+ # The following operations are related to `UploadPartCopy`:
14674
14918
  #
14675
14919
  # * [CreateMultipartUpload][7]
14676
14920
  #
@@ -14709,14 +14953,14 @@ module Aws::S3
14709
14953
  # name. For more information about access point ARNs, see [Using access
14710
14954
  # points][1] in the *Amazon S3 User Guide*.
14711
14955
  #
14712
- # When using this action with Amazon S3 on Outposts, you must direct
14956
+ # When you use this action with Amazon S3 on Outposts, you must direct
14713
14957
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
14714
14958
  # takes the form `
14715
14959
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
14716
- # When using this action with S3 on Outposts through the Amazon Web
14717
- # Services SDKs, you provide the Outposts bucket ARN in place of the
14718
- # bucket name. For more information about S3 on Outposts ARNs, see
14719
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
14960
+ # When you use this action with S3 on Outposts through the Amazon Web
14961
+ # Services SDKs, you provide the Outposts access point ARN in place of
14962
+ # the bucket name. For more information about S3 on Outposts ARNs, see
14963
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
14720
14964
  #
14721
14965
  #
14722
14966
  #
@@ -14866,45 +15110,45 @@ module Aws::S3
14866
15110
  # * {Types::UploadPartCopyOutput#request_charged #request_charged} => String
14867
15111
  #
14868
15112
  #
14869
- # @example Example: To upload a part by copying byte range from an existing object as data source
15113
+ # @example Example: To upload a part by copying data from an existing object as data source
14870
15114
  #
14871
- # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
14872
- # # data source.
15115
+ # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
14873
15116
  #
14874
15117
  # resp = client.upload_part_copy({
14875
15118
  # bucket: "examplebucket",
14876
15119
  # copy_source: "/bucketname/sourceobjectkey",
14877
- # copy_source_range: "bytes=1-100000",
14878
15120
  # key: "examplelargeobject",
14879
- # part_number: 2,
15121
+ # part_number: 1,
14880
15122
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
14881
15123
  # })
14882
15124
  #
14883
15125
  # resp.to_h outputs the following:
14884
15126
  # {
14885
15127
  # copy_part_result: {
14886
- # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
14887
- # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
15128
+ # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
15129
+ # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
14888
15130
  # },
14889
15131
  # }
14890
15132
  #
14891
- # @example Example: To upload a part by copying data from an existing object as data source
15133
+ # @example Example: To upload a part by copying byte range from an existing object as data source
14892
15134
  #
14893
- # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
15135
+ # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
15136
+ # # data source.
14894
15137
  #
14895
15138
  # resp = client.upload_part_copy({
14896
15139
  # bucket: "examplebucket",
14897
15140
  # copy_source: "/bucketname/sourceobjectkey",
15141
+ # copy_source_range: "bytes=1-100000",
14898
15142
  # key: "examplelargeobject",
14899
- # part_number: 1,
15143
+ # part_number: 2,
14900
15144
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
14901
15145
  # })
14902
15146
  #
14903
15147
  # resp.to_h outputs the following:
14904
15148
  # {
14905
15149
  # copy_part_result: {
14906
- # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
14907
- # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
15150
+ # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
15151
+ # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
14908
15152
  # },
14909
15153
  # }
14910
15154
  #
@@ -15026,9 +15270,7 @@ module Aws::S3
15026
15270
  #
15027
15271
  # @option params [Integer] :status_code
15028
15272
  # The integer status code for an HTTP response of a corresponding
15029
- # `GetObject` request.
15030
- #
15031
- # **Status Codes**
15273
+ # `GetObject` request. The following is a list of status codes.
15032
15274
  #
15033
15275
  # * `200 - OK`
15034
15276
  #
@@ -15240,7 +15482,7 @@ module Aws::S3
15240
15482
  #
15241
15483
  # @option params [String] :server_side_encryption
15242
15484
  # The server-side encryption algorithm used when storing requested
15243
- # object in Amazon S3 (for example, AES256, aws:kms).
15485
+ # object in Amazon S3 (for example, AES256, `aws:kms`).
15244
15486
  #
15245
15487
  # @option params [String] :sse_customer_algorithm
15246
15488
  # Encryption algorithm used if server-side encryption with a
@@ -15249,8 +15491,8 @@ module Aws::S3
15249
15491
  #
15250
15492
  # @option params [String] :ssekms_key_id
15251
15493
  # If present, specifies the ID of the Amazon Web Services Key Management
15252
- # Service (Amazon Web Services KMS) symmetric customer managed key that
15253
- # was used for stored in Amazon S3 object.
15494
+ # Service (Amazon Web Services KMS) symmetric encryption customer
15495
+ # managed key that was used for stored in Amazon S3 object.
15254
15496
  #
15255
15497
  # @option params [String] :sse_customer_key_md5
15256
15498
  # 128-bit MD5 digest of customer-provided encryption key used in Amazon
@@ -15354,7 +15596,7 @@ module Aws::S3
15354
15596
  params: params,
15355
15597
  config: config)
15356
15598
  context[:gem_name] = 'aws-sdk-s3'
15357
- context[:gem_version] = '1.121.0'
15599
+ context[:gem_version] = '1.122.0'
15358
15600
  Seahorse::Client::Request.new(handlers, context)
15359
15601
  end
15360
15602