aws-sdk-s3 1.121.0 → 1.123.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +48 -25
  5. data/lib/aws-sdk-s3/bucket_acl.rb +9 -3
  6. data/lib/aws-sdk-s3/bucket_cors.rb +12 -4
  7. data/lib/aws-sdk-s3/bucket_lifecycle.rb +12 -4
  8. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +12 -4
  9. data/lib/aws-sdk-s3/bucket_logging.rb +9 -3
  10. data/lib/aws-sdk-s3/bucket_notification.rb +9 -3
  11. data/lib/aws-sdk-s3/bucket_policy.rb +12 -4
  12. data/lib/aws-sdk-s3/bucket_request_payment.rb +9 -3
  13. data/lib/aws-sdk-s3/bucket_tagging.rb +12 -4
  14. data/lib/aws-sdk-s3/bucket_versioning.rb +15 -5
  15. data/lib/aws-sdk-s3/bucket_website.rb +12 -4
  16. data/lib/aws-sdk-s3/client.rb +1547 -1300
  17. data/lib/aws-sdk-s3/customizations/bucket.rb +3 -1
  18. data/lib/aws-sdk-s3/customizations/object.rb +28 -18
  19. data/lib/aws-sdk-s3/encryption/client.rb +6 -2
  20. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +13 -9
  21. data/lib/aws-sdk-s3/encryptionV2/client.rb +6 -2
  22. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -6
  23. data/lib/aws-sdk-s3/file_downloader.rb +28 -24
  24. data/lib/aws-sdk-s3/file_uploader.rb +8 -6
  25. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +5 -3
  26. data/lib/aws-sdk-s3/multipart_upload.rb +12 -4
  27. data/lib/aws-sdk-s3/multipart_upload_part.rb +9 -3
  28. data/lib/aws-sdk-s3/object.rb +77 -48
  29. data/lib/aws-sdk-s3/object_acl.rb +9 -3
  30. data/lib/aws-sdk-s3/object_copier.rb +7 -5
  31. data/lib/aws-sdk-s3/object_summary.rb +63 -37
  32. data/lib/aws-sdk-s3/object_version.rb +21 -9
  33. data/lib/aws-sdk-s3/resource.rb +6 -2
  34. data/lib/aws-sdk-s3/types.rb +403 -263
  35. data/lib/aws-sdk-s3.rb +1 -1
  36. metadata +4 -4
@@ -356,6 +356,11 @@ module Aws::S3
356
356
  # use the region in the ARN, allowing for cross-region requests to
357
357
  # be made. Set to `false` to use the client's region instead.
358
358
  #
359
+ # @option options [String] :sdk_ua_app_id
360
+ # A unique and opaque application ID that is appended to the
361
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
362
+ # maximum length of 50.
363
+ #
359
364
  # @option options [String] :secret_access_key
360
365
  #
361
366
  # @option options [String] :session_token
@@ -501,14 +506,14 @@ module Aws::S3
501
506
  # name. For more information about access point ARNs, see [Using access
502
507
  # points][1] in the *Amazon S3 User Guide*.
503
508
  #
504
- # When using this action with Amazon S3 on Outposts, you must direct
509
+ # When you use this action with Amazon S3 on Outposts, you must direct
505
510
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
506
511
  # takes the form `
507
512
  # 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*.
513
+ # When you use this action with S3 on Outposts through the Amazon Web
514
+ # Services SDKs, you provide the Outposts access point ARN in place of
515
+ # the bucket name. For more information about S3 on Outposts ARNs, see
516
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
512
517
  #
513
518
  #
514
519
  #
@@ -596,10 +601,17 @@ module Aws::S3
596
601
  # minutes to complete. After Amazon S3 begins processing the request, it
597
602
  # sends an HTTP response header that specifies a 200 OK response. While
598
603
  # 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.
604
+ # characters to keep the connection from timing out. A request could
605
+ # fail after the initial 200 OK response has been sent. This means that
606
+ # a `200 OK` response can contain either a success or an error. If you
607
+ # call the S3 API directly, make sure to design your application to
608
+ # parse the contents of the response and handle it appropriately. If you
609
+ # use Amazon Web Services SDKs, SDKs handle this condition. The SDKs
610
+ # detect the embedded error and apply error handling per your
611
+ # configuration settings (including automatically retrying the request
612
+ # as appropriate). If the condition persists, the SDKs throws an
613
+ # exception (or, for the SDKs that don't use exceptions, they return
614
+ # the error).
603
615
  #
604
616
  # Note that if `CompleteMultipartUpload` fails, applications should be
605
617
  # prepared to retry the failed requests. For more information, see
@@ -683,14 +695,14 @@ module Aws::S3
683
695
  # name. For more information about access point ARNs, see [Using access
684
696
  # points][1] in the *Amazon S3 User Guide*.
685
697
  #
686
- # When using this action with Amazon S3 on Outposts, you must direct
698
+ # When you use this action with Amazon S3 on Outposts, you must direct
687
699
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
688
700
  # takes the form `
689
701
  # 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*.
702
+ # When you use this action with S3 on Outposts through the Amazon Web
703
+ # Services SDKs, you provide the Outposts access point ARN in place of
704
+ # the bucket name. For more information about S3 on Outposts ARNs, see
705
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
694
706
  #
695
707
  #
696
708
  #
@@ -922,8 +934,14 @@ module Aws::S3
922
934
  # before the copy action starts, you receive a standard Amazon S3 error.
923
935
  # If the error occurs during the copy operation, the error response is
924
936
  # 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.
937
+ # can contain either a success or an error. If you call the S3 API
938
+ # directly, make sure to design your application to parse the contents
939
+ # of the response and handle it appropriately. If you use Amazon Web
940
+ # Services SDKs, SDKs handle this condition. The SDKs detect the
941
+ # embedded error and apply error handling per your configuration
942
+ # settings (including automatically retrying the request as
943
+ # appropriate). If the condition persists, the SDKs throws an exception
944
+ # (or, for the SDKs that don't use exceptions, they return the error).
927
945
  #
928
946
  # If the copy is successful, you receive a response with information
929
947
  # about the copied object.
@@ -943,145 +961,169 @@ module Aws::S3
943
961
  # endpoint, you get a 400 `Bad Request` error. For more information, see
944
962
  # [Transfer Acceleration][4].
945
963
  #
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].
953
- #
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].
964
+ # Metadata
963
965
  #
964
- # **x-amz-copy-source-if Headers**
966
+ # : When copying an object, you can preserve all metadata (default) or
967
+ # specify new metadata. However, the ACL is not preserved and is set
968
+ # to private for the user making the request. To override the default
969
+ # ACL setting, specify a new ACL when generating a copy request. For
970
+ # more information, see [Using ACLs][5].
965
971
  #
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:
972
+ # To specify whether you want the object metadata copied from the
973
+ # source object or replaced with metadata provided in the request, you
974
+ # can optionally add the `x-amz-metadata-directive` header. When you
975
+ # grant permissions, you can use the `s3:x-amz-metadata-directive`
976
+ # condition key to enforce certain metadata behavior when objects are
977
+ # uploaded. For more information, see [Specifying Conditions in a
978
+ # Policy][6] in the *Amazon S3 User Guide*. For a complete list of
979
+ # Amazon S3-specific condition keys, see [Actions, Resources, and
980
+ # Condition Keys for Amazon S3][7].
969
981
  #
970
- # * `x-amz-copy-source-if-match`
982
+ # <note markdown="1"> `x-amz-website-redirect-location` is unique to each object and must
983
+ # be specified in the request headers to copy the value.
971
984
  #
972
- # * `x-amz-copy-source-if-none-match`
985
+ # </note>
973
986
  #
974
- # * `x-amz-copy-source-if-unmodified-since`
987
+ # x-amz-copy-source-if Headers
975
988
  #
976
- # * `x-amz-copy-source-if-modified-since`
989
+ # : To only copy an object under certain conditions, such as whether the
990
+ # `Etag` matches or whether the object was modified before or after a
991
+ # specified date, use the following request parameters:
977
992
  #
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:
993
+ # * `x-amz-copy-source-if-match`
982
994
  #
983
- # * `x-amz-copy-source-if-match` condition evaluates to true
995
+ # * `x-amz-copy-source-if-none-match`
984
996
  #
985
- # * `x-amz-copy-source-if-unmodified-since` condition evaluates to false
997
+ # * `x-amz-copy-source-if-unmodified-since`
986
998
  #
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:
999
+ # * `x-amz-copy-source-if-modified-since`
991
1000
  #
992
- # * `x-amz-copy-source-if-none-match` condition evaluates to false
1001
+ # If both the `x-amz-copy-source-if-match` and
1002
+ # `x-amz-copy-source-if-unmodified-since` headers are present in the
1003
+ # request and evaluate as follows, Amazon S3 returns `200 OK` and
1004
+ # copies the data:
993
1005
  #
994
- # * `x-amz-copy-source-if-modified-since` condition evaluates to true
1006
+ # * `x-amz-copy-source-if-match` condition evaluates to true
995
1007
  #
996
- # <note markdown="1"> All headers with the `x-amz-` prefix, including `x-amz-copy-source`,
997
- # must be signed.
1008
+ # * `x-amz-copy-source-if-unmodified-since` condition evaluates to
1009
+ # false
998
1010
  #
999
- # </note>
1011
+ # If both the `x-amz-copy-source-if-none-match` and
1012
+ # `x-amz-copy-source-if-modified-since` headers are present in the
1013
+ # request and evaluate as follows, Amazon S3 returns the `412
1014
+ # Precondition Failed` response code:
1000
1015
  #
1001
- # **Server-side encryption**
1016
+ # * `x-amz-copy-source-if-none-match` condition evaluates to false
1002
1017
  #
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].
1018
+ # * `x-amz-copy-source-if-modified-since` condition evaluates to true
1011
1019
  #
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*.
1020
+ # <note markdown="1"> All headers with the `x-amz-` prefix, including `x-amz-copy-source`,
1021
+ # must be signed.
1015
1022
  #
1016
- # **Access Control List (ACL)-Specific Request Headers**
1023
+ # </note>
1017
1024
  #
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].
1025
+ # Server-side encryption
1026
+ #
1027
+ # : Amazon S3 automatically encrypts all new objects that are copied to
1028
+ # an S3 bucket. When copying an object, if you don't specify
1029
+ # encryption information in your copy request, the encryption setting
1030
+ # of the target object is set to the default encryption configuration
1031
+ # of the destination bucket. By default, all buckets have a base level
1032
+ # of encryption configuration that uses server-side encryption with
1033
+ # Amazon S3 managed keys (SSE-S3). If the destination bucket has a
1034
+ # default encryption configuration that uses server-side encryption
1035
+ # with an Key Management Service (KMS) key (SSE-KMS), or a
1036
+ # customer-provided encryption key (SSE-C), Amazon S3 uses the
1037
+ # corresponding KMS key, or a customer-provided key to encrypt the
1038
+ # target object copy.
1039
+ #
1040
+ # When you perform a CopyObject operation, if you want to use a
1041
+ # different type of encryption setting for the target object, you can
1042
+ # use other appropriate encryption-related headers to encrypt the
1043
+ # target object with a KMS key, an Amazon S3 managed key, or a
1044
+ # customer-provided key. With server-side encryption, Amazon S3
1045
+ # encrypts your data as it writes it to disks in its data centers and
1046
+ # decrypts the data when you access it. If the encryption setting in
1047
+ # your request is different from the default encryption configuration
1048
+ # of the destination bucket, the encryption setting in your request
1049
+ # takes precedence. If the source object for the copy is stored in
1050
+ # Amazon S3 using SSE-C, you must provide the necessary encryption
1051
+ # information in your request so that Amazon S3 can decrypt the object
1052
+ # for copying. For more information about server-side encryption, see
1053
+ # [Using Server-Side Encryption][8].
1054
+ #
1055
+ # If a target object uses SSE-KMS, you can enable an S3 Bucket Key for
1056
+ # the object. For more information, see [Amazon S3 Bucket Keys][9] in
1057
+ # the *Amazon S3 User Guide*.
1058
+ #
1059
+ # Access Control List (ACL)-Specific Request Headers
1060
+ #
1061
+ # : When copying an object, you can optionally use headers to grant
1062
+ # ACL-based permissions. By default, all objects are private. Only the
1063
+ # owner has full access control. When adding a new object, you can
1064
+ # grant permissions to individual Amazon Web Services accounts or to
1065
+ # predefined groups defined by Amazon S3. These permissions are then
1066
+ # added to the ACL on the object. For more information, see [Access
1067
+ # Control List (ACL) Overview][10] and [Managing ACLs Using the REST
1068
+ # API][11].
1026
1069
  #
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.
1070
+ # If the bucket that you're copying objects to uses the bucket owner
1071
+ # enforced setting for S3 Object Ownership, ACLs are disabled and no
1072
+ # longer affect permissions. Buckets that use this setting only accept
1073
+ # PUT requests that don't specify an ACL or PUT requests that specify
1074
+ # bucket owner full control ACLs, such as the
1075
+ # `bucket-owner-full-control` canned ACL or an equivalent form of this
1076
+ # ACL expressed in the XML format.
1034
1077
  #
1035
- # For more information, see [ Controlling ownership of objects and
1036
- # disabling ACLs][12] in the *Amazon S3 User Guide*.
1078
+ # For more information, see [ Controlling ownership of objects and
1079
+ # disabling ACLs][12] in the *Amazon S3 User Guide*.
1037
1080
  #
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.
1081
+ # <note markdown="1"> If your bucket uses the bucket owner enforced setting for Object
1082
+ # Ownership, all objects written to the bucket by any account will be
1083
+ # owned by the bucket owner.
1041
1084
  #
1042
- # </note>
1085
+ # </note>
1043
1086
  #
1044
- # **Checksums**
1087
+ # Checksums
1045
1088
  #
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.
1089
+ # : When copying an object, if it has a checksum, that checksum will be
1090
+ # copied to the new object by default. When you copy the object over,
1091
+ # you may optionally specify a different checksum algorithm to use
1092
+ # with the `x-amz-checksum-algorithm` header.
1050
1093
  #
1051
- # **Storage Class Options**
1094
+ # Storage Class Options
1052
1095
  #
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*.
1096
+ # : You can use the `CopyObject` action to change the storage class of
1097
+ # an object that is already stored in Amazon S3 using the
1098
+ # `StorageClass` parameter. For more information, see [Storage
1099
+ # Classes][13] in the *Amazon S3 User Guide*.
1057
1100
  #
1058
- # **Versioning**
1101
+ # If the source object's storage class is GLACIER, you must restore a
1102
+ # copy of this object before you can use it as a source object for the
1103
+ # copy operation. For more information, see [RestoreObject][14]. For
1104
+ # more information, see [Copying Objects][15].
1059
1105
  #
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.
1106
+ # Versioning
1064
1107
  #
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.
1108
+ # : By default, `x-amz-copy-source` identifies the current version of an
1109
+ # object to copy. If the current version is a delete marker, Amazon S3
1110
+ # behaves as if the object was deleted. To copy a different version,
1111
+ # use the `versionId` subresource.
1070
1112
  #
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.
1113
+ # If you enable versioning on the target bucket, Amazon S3 generates a
1114
+ # unique version ID for the object being copied. This version ID is
1115
+ # different from the version ID of the source object. Amazon S3
1116
+ # returns the version ID of the copied object in the
1117
+ # `x-amz-version-id` response header in the response.
1073
1118
  #
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].
1119
+ # If you do not enable versioning or suspend it on the target bucket,
1120
+ # the version ID that Amazon S3 generates is always null.
1077
1121
  #
1078
1122
  # The following operations are related to `CopyObject`:
1079
1123
  #
1080
- # * [PutObject][15]
1081
- #
1082
- # * [GetObject][16]
1124
+ # * [PutObject][16]
1083
1125
  #
1084
- # For more information, see [Copying Objects][17].
1126
+ # * [GetObject][17]
1085
1127
  #
1086
1128
  #
1087
1129
  #
@@ -1099,9 +1141,9 @@ module Aws::S3
1099
1141
  # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
1100
1142
  # [13]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
1101
1143
  # [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
1144
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html
1145
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
1146
+ # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
1105
1147
  #
1106
1148
  # @option params [String] :acl
1107
1149
  # The canned ACL to apply to the object.
@@ -1119,14 +1161,14 @@ module Aws::S3
1119
1161
  # name. For more information about access point ARNs, see [Using access
1120
1162
  # points][1] in the *Amazon S3 User Guide*.
1121
1163
  #
1122
- # When using this action with Amazon S3 on Outposts, you must direct
1164
+ # When you use this action with Amazon S3 on Outposts, you must direct
1123
1165
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
1124
1166
  # takes the form `
1125
1167
  # 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*.
1168
+ # When you use this action with S3 on Outposts through the Amazon Web
1169
+ # Services SDKs, you provide the Outposts access point ARN in place of
1170
+ # the bucket name. For more information about S3 on Outposts ARNs, see
1171
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
1130
1172
  #
1131
1173
  #
1132
1174
  #
@@ -1260,7 +1302,7 @@ module Aws::S3
1260
1302
  #
1261
1303
  # @option params [String] :server_side_encryption
1262
1304
  # The server-side encryption algorithm used when storing this object in
1263
- # Amazon S3 (for example, AES256, aws:kms).
1305
+ # Amazon S3 (for example, AES256, `aws:kms`).
1264
1306
  #
1265
1307
  # @option params [String] :storage_class
1266
1308
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
@@ -1277,7 +1319,10 @@ module Aws::S3
1277
1319
  # @option params [String] :website_redirect_location
1278
1320
  # If the bucket is configured as a website, redirects requests for this
1279
1321
  # 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.
1322
+ # Amazon S3 stores the value of this header in the object metadata. This
1323
+ # value is unique to each object and is not copied when using the
1324
+ # `x-amz-metadata-directive` header. Instead, you may opt to provide
1325
+ # this header in combination with the directive.
1281
1326
  #
1282
1327
  # @option params [String] :sse_customer_algorithm
1283
1328
  # Specifies the algorithm to use to when encrypting the object (for
@@ -1510,100 +1555,102 @@ module Aws::S3
1510
1555
  #
1511
1556
  # </note>
1512
1557
  #
1513
- # **Access control lists (ACLs)**
1558
+ # Access control lists (ACLs)
1514
1559
  #
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.
1560
+ # : When creating a bucket using this operation, you can optionally
1561
+ # configure the bucket ACL to specify the accounts or groups that
1562
+ # should be granted specific permissions on the bucket.
1518
1563
  #
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*.
1564
+ # If your CreateBucket request sets bucket owner enforced for S3
1565
+ # Object Ownership and specifies a bucket ACL that provides access to
1566
+ # an external Amazon Web Services account, your request fails with a
1567
+ # `400` error and returns the `InvalidBucketAclWithObjectOwnership`
1568
+ # error code. For more information, see [Controlling object
1569
+ # ownership][5] in the *Amazon S3 User Guide*.
1525
1570
  #
1526
- # There are two ways to grant the appropriate permissions using the
1527
- # request headers.
1571
+ # There are two ways to grant the appropriate permissions using the
1572
+ # request headers.
1528
1573
  #
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].
1574
+ # * Specify a canned ACL using the `x-amz-acl` request header. Amazon
1575
+ # S3 supports a set of predefined ACLs, known as *canned ACLs*. Each
1576
+ # canned ACL has a predefined set of grantees and permissions. For
1577
+ # more information, see [Canned ACL][6].
1533
1578
  #
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].
1579
+ # * Specify access permissions explicitly using the
1580
+ # `x-amz-grant-read`, `x-amz-grant-write`, `x-amz-grant-read-acp`,
1581
+ # `x-amz-grant-write-acp`, and `x-amz-grant-full-control` headers.
1582
+ # These headers map to the set of permissions Amazon S3 supports in
1583
+ # an ACL. For more information, see [Access control list (ACL)
1584
+ # overview][7].
1540
1585
  #
1541
- # You specify each grantee as a type=value pair, where the type is one
1542
- # of the following:
1586
+ # You specify each grantee as a type=value pair, where the type is
1587
+ # one of the following:
1543
1588
  #
1544
- # * `id` – if the value specified is the canonical user ID of an
1545
- # Amazon Web Services account
1589
+ # * `id` – if the value specified is the canonical user ID of an
1590
+ # Amazon Web Services account
1546
1591
  #
1547
- # * `uri` – if you are granting permissions to a predefined group
1592
+ # * `uri` – if you are granting permissions to a predefined group
1548
1593
  #
1549
- # * `emailAddress` – if the value specified is the email address of an
1550
- # Amazon Web Services account
1594
+ # * `emailAddress` – if the value specified is the email address of
1595
+ # an Amazon Web Services account
1551
1596
  #
1552
- # <note markdown="1"> Using email addresses to specify a grantee is only supported in
1553
- # the following Amazon Web Services Regions:
1597
+ # <note markdown="1"> Using email addresses to specify a grantee is only supported in
1598
+ # the following Amazon Web Services Regions:
1554
1599
  #
1555
- # * US East (N. Virginia)
1600
+ # * US East (N. Virginia)
1556
1601
  #
1557
- # * US West (N. California)
1602
+ # * US West (N. California)
1558
1603
  #
1559
- # * US West (Oregon)
1604
+ # * US West (Oregon)
1560
1605
  #
1561
- # * Asia Pacific (Singapore)
1606
+ # * Asia Pacific (Singapore)
1562
1607
  #
1563
- # * Asia Pacific (Sydney)
1608
+ # * Asia Pacific (Sydney)
1564
1609
  #
1565
- # * Asia Pacific (Tokyo)
1610
+ # * Asia Pacific (Tokyo)
1566
1611
  #
1567
- # * Europe (Ireland)
1612
+ # * Europe (Ireland)
1568
1613
  #
1569
- # * South America (São Paulo)
1614
+ # * South America (São Paulo)
1570
1615
  #
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.
1616
+ # For a list of all the Amazon S3 supported Regions and endpoints,
1617
+ # see [Regions and Endpoints][8] in the Amazon Web Services
1618
+ # General Reference.
1574
1619
  #
1575
- # </note>
1620
+ # </note>
1576
1621
  #
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:
1622
+ # For example, the following `x-amz-grant-read` header grants the
1623
+ # Amazon Web Services accounts identified by account IDs permissions
1624
+ # to read object data and its metadata:
1580
1625
  #
1581
- # `x-amz-grant-read: id="11112222333", id="444455556666" `
1626
+ # `x-amz-grant-read: id="11112222333", id="444455556666" `
1582
1627
  #
1583
- # <note markdown="1"> You can use either a canned ACL or specify access permissions
1584
- # explicitly. You cannot do both.
1628
+ # <note markdown="1"> You can use either a canned ACL or specify access permissions
1629
+ # explicitly. You cannot do both.
1585
1630
  #
1586
- # </note>
1631
+ # </note>
1587
1632
  #
1588
- # **Permissions**
1633
+ # Permissions
1589
1634
  #
1590
- # In addition to `s3:CreateBucket`, the following permissions are
1591
- # required when your CreateBucket includes specific headers:
1635
+ # : In addition to `s3:CreateBucket`, the following permissions are
1636
+ # required when your CreateBucket includes specific headers:
1592
1637
  #
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.
1638
+ # * **ACLs** - If your `CreateBucket` request specifies ACL
1639
+ # permissions and the ACL is public-read, public-read-write,
1640
+ # authenticated-read, or if you specify access permissions
1641
+ # explicitly through any other ACL, both `s3:CreateBucket` and
1642
+ # `s3:PutBucketAcl` permissions are needed. If the ACL the
1643
+ # `CreateBucket` request is private or doesn't specify any ACLs,
1644
+ # only `s3:CreateBucket` permission is needed.
1599
1645
  #
1600
- # * **Object Lock** - If `ObjectLockEnabledForBucket` is set to true in
1601
- # your `CreateBucket` request, `s3:PutBucketObjectLockConfiguration`
1602
- # and `s3:PutBucketVersioning` permissions are required.
1646
+ # * **Object Lock** - If `ObjectLockEnabledForBucket` is set to true
1647
+ # in your `CreateBucket` request,
1648
+ # `s3:PutBucketObjectLockConfiguration` and `s3:PutBucketVersioning`
1649
+ # permissions are required.
1603
1650
  #
1604
- # * **S3 Object Ownership** - If your CreateBucket request includes the
1605
- # the `x-amz-object-ownership` header, `s3:PutBucketOwnershipControls`
1606
- # permission is required.
1651
+ # * **S3 Object Ownership** - If your CreateBucket request includes
1652
+ # the `x-amz-object-ownership` header,
1653
+ # `s3:PutBucketOwnershipControls` permission is required.
1607
1654
  #
1608
1655
  # The following operations are related to `CreateBucket`:
1609
1656
  #
@@ -1679,33 +1726,33 @@ module Aws::S3
1679
1726
  # * {Types::CreateBucketOutput#location #location} => String
1680
1727
  #
1681
1728
  #
1682
- # @example Example: To create a bucket in a specific region
1729
+ # @example Example: To create a bucket
1683
1730
  #
1684
- # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1731
+ # # The following example creates a bucket.
1685
1732
  #
1686
1733
  # resp = client.create_bucket({
1687
1734
  # bucket: "examplebucket",
1688
- # create_bucket_configuration: {
1689
- # location_constraint: "eu-west-1",
1690
- # },
1691
1735
  # })
1692
1736
  #
1693
1737
  # resp.to_h outputs the following:
1694
1738
  # {
1695
- # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1739
+ # location: "/examplebucket",
1696
1740
  # }
1697
1741
  #
1698
- # @example Example: To create a bucket
1742
+ # @example Example: To create a bucket in a specific region
1699
1743
  #
1700
- # # The following example creates a bucket.
1744
+ # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1701
1745
  #
1702
1746
  # resp = client.create_bucket({
1703
1747
  # bucket: "examplebucket",
1748
+ # create_bucket_configuration: {
1749
+ # location_constraint: "eu-west-1",
1750
+ # },
1704
1751
  # })
1705
1752
  #
1706
1753
  # resp.to_h outputs the following:
1707
1754
  # {
1708
- # location: "/examplebucket",
1755
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1709
1756
  # }
1710
1757
  #
1711
1758
  # @example Request syntax with placeholder values
@@ -1753,7 +1800,8 @@ module Aws::S3
1753
1800
  # in the bucket lifecycle configuration. Otherwise, the incomplete
1754
1801
  # multipart upload becomes eligible for an abort action and Amazon S3
1755
1802
  # aborts the multipart upload. For more information, see [Aborting
1756
- # Incomplete Multipart Uploads Using a Bucket Lifecycle Policy][3].
1803
+ # Incomplete Multipart Uploads Using a Bucket Lifecycle
1804
+ # Configuration][3].
1757
1805
  #
1758
1806
  # For information about the permissions required to use the multipart
1759
1807
  # upload API, see [Multipart Upload and Permissions][4].
@@ -1774,22 +1822,42 @@ module Aws::S3
1774
1822
  #
1775
1823
  # </note>
1776
1824
  #
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
1825
+ # Server-side encryption is for data encryption at rest. Amazon S3
1826
+ # encrypts your data as it writes it to disks in its data centers and
1827
+ # decrypts it when you access it. Amazon S3 automatically encrypts all
1828
+ # new objects that are uploaded to an S3 bucket. When doing a multipart
1829
+ # upload, if you don't specify encryption information in your request,
1830
+ # the encryption setting of the uploaded parts is set to the default
1831
+ # encryption configuration of the destination bucket. By default, all
1832
+ # buckets have a base level of encryption configuration that uses
1833
+ # server-side encryption with Amazon S3 managed keys (SSE-S3). If the
1834
+ # destination bucket has a default encryption configuration that uses
1835
+ # server-side encryption with an Key Management Service (KMS) key
1836
+ # (SSE-KMS), or a customer-provided encryption key (SSE-C), Amazon S3
1837
+ # uses the corresponding KMS key, or a customer-provided key to encrypt
1838
+ # the uploaded parts. When you perform a CreateMultipartUpload
1839
+ # operation, if you want to use a different type of encryption setting
1840
+ # for the uploaded parts, you can request that Amazon S3 encrypts the
1841
+ # object with a KMS key, an Amazon S3 managed key, or a
1842
+ # customer-provided key. If the encryption setting in your request is
1843
+ # different from the default encryption configuration of the destination
1844
+ # bucket, the encryption setting in your request takes precedence. If
1845
+ # you choose to provide your own encryption key, the request headers you
1846
+ # provide in [UploadPart][1] and [UploadPartCopy][6] requests must match
1847
+ # the headers you used in the request to initiate the upload by using
1848
+ # `CreateMultipartUpload`. You can request that Amazon S3 save the
1849
+ # uploaded parts encrypted with server-side encryption with an Amazon S3
1850
+ # managed key (SSE-S3), an Key Management Service (KMS) key (SSE-KMS),
1851
+ # or a customer-provided encryption key (SSE-C).
1852
+ #
1853
+ # To perform a multipart upload with encryption by using an Amazon Web
1787
1854
  # Services KMS key, the requester must have permission to the
1788
1855
  # `kms:Decrypt` and `kms:GenerateDataKey*` actions on the key. These
1789
1856
  # permissions are required because Amazon S3 must decrypt and read data
1790
1857
  # from the encrypted file parts before it completes the multipart
1791
1858
  # upload. For more information, see [Multipart upload API and
1792
- # permissions][7] in the *Amazon S3 User Guide*.
1859
+ # permissions][7] and [Protecting data using server-side encryption with
1860
+ # Amazon Web Services KMS][8] in the *Amazon S3 User Guide*.
1793
1861
  #
1794
1862
  # If your Identity and Access Management (IAM) user or role is in the
1795
1863
  # same Amazon Web Services account as the KMS key, then you must have
@@ -1798,7 +1866,7 @@ module Aws::S3
1798
1866
  # permissions on both the key policy and your IAM user or role.
1799
1867
  #
1800
1868
  # For more information, see [Protecting Data Using Server-Side
1801
- # Encryption][8].
1869
+ # Encryption][9].
1802
1870
  #
1803
1871
  # Access Permissions
1804
1872
  #
@@ -1808,31 +1876,33 @@ module Aws::S3
1808
1876
  # request headers:
1809
1877
  #
1810
1878
  # * Specify a canned ACL with the `x-amz-acl` request header. For more
1811
- # information, see [Canned ACL][9].
1879
+ # information, see [Canned ACL][10].
1812
1880
  #
1813
1881
  # * Specify access permissions explicitly with the `x-amz-grant-read`,
1814
1882
  # `x-amz-grant-read-acp`, `x-amz-grant-write-acp`, and
1815
1883
  # `x-amz-grant-full-control` headers. These parameters map to the
1816
1884
  # set of permissions that Amazon S3 supports in an ACL. For more
1817
- # information, see [Access Control List (ACL) Overview][10].
1885
+ # information, see [Access Control List (ACL) Overview][11].
1818
1886
  #
1819
1887
  # You can use either a canned ACL or specify access permissions
1820
1888
  # explicitly. You cannot do both.
1821
1889
  #
1822
1890
  # Server-Side- Encryption-Specific Request Headers
1823
1891
  #
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.
1892
+ # : Amazon S3 encrypts data by using server-side encryption with an
1893
+ # Amazon S3 managed key (SSE-S3) by default. Server-side encryption is
1894
+ # for data encryption at rest. Amazon S3 encrypts your data as it
1895
+ # writes it to disks in its data centers and decrypts it when you
1896
+ # access it. You can request that Amazon S3 encrypts data at rest by
1897
+ # using server-side encryption with other key options. The option you
1898
+ # use depends on whether you want to use KMS keys (SSE-KMS) or provide
1899
+ # your own encryption keys (SSE-C).
1900
+ #
1901
+ # * Use KMS keys (SSE-KMS) that include the Amazon Web Services
1902
+ # managed key (`aws/s3`) and KMS customer managed keys stored in Key
1903
+ # Management Service (KMS) – If you want Amazon Web Services to
1904
+ # manage the keys used to encrypt data, specify the following
1905
+ # headers in the request.
1836
1906
  #
1837
1907
  # * `x-amz-server-side-encryption`
1838
1908
  #
@@ -1842,22 +1912,22 @@ module Aws::S3
1842
1912
  #
1843
1913
  # <note markdown="1"> If you specify `x-amz-server-side-encryption:aws:kms`, but don't
1844
1914
  # 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.
1915
+ # uses the Amazon Web Services managed key (`aws/s3` key) in KMS to
1916
+ # protect the data.
1847
1917
  #
1848
1918
  # </note>
1849
1919
  #
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.
1920
+ # All `GET` and `PUT` requests for an object protected by KMS fail
1921
+ # if you don't make them by using Secure Sockets Layer (SSL),
1922
+ # Transport Layer Security (TLS), or Signature Version 4.
1853
1923
  #
1854
- # For more information about server-side encryption with KMS key
1924
+ # For more information about server-side encryption with KMS keys
1855
1925
  # (SSE-KMS), see [Protecting Data Using Server-Side Encryption with
1856
- # KMS keys][11].
1926
+ # KMS keys][8].
1857
1927
  #
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.
1928
+ # * Use customer-provided encryption keys (SSE-C) – If you want to
1929
+ # manage your own encryption keys, provide all the following headers
1930
+ # in the request.
1861
1931
  #
1862
1932
  # * `x-amz-server-side-encryption-customer-algorithm`
1863
1933
  #
@@ -1865,9 +1935,10 @@ module Aws::S3
1865
1935
  #
1866
1936
  # * `x-amz-server-side-encryption-customer-key-MD5`
1867
1937
  #
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].
1938
+ # For more information about server-side encryption with
1939
+ # customer-provided encryption keys (SSE-C), see [ Protecting data
1940
+ # using server-side encryption with customer-provided encryption
1941
+ # keys (SSE-C)][12].
1871
1942
  #
1872
1943
  # Access-Control-List (ACL)-Specific Request Headers
1873
1944
  #
@@ -1877,19 +1948,19 @@ module Aws::S3
1877
1948
  # permissions to individual Amazon Web Services accounts or to
1878
1949
  # predefined groups defined by Amazon S3. These permissions are then
1879
1950
  # added to the access control list (ACL) on the object. For more
1880
- # information, see [Using ACLs][12]. With this operation, you can
1951
+ # information, see [Using ACLs][13]. With this operation, you can
1881
1952
  # grant access permissions using one of the following two methods:
1882
1953
  #
1883
1954
  # * Specify a canned ACL (`x-amz-acl`) — Amazon S3 supports a set of
1884
1955
  # predefined ACLs, known as *canned ACLs*. Each canned ACL has a
1885
1956
  # predefined set of grantees and permissions. For more information,
1886
- # see [Canned ACL][9].
1957
+ # see [Canned ACL][10].
1887
1958
  #
1888
1959
  # * Specify access permissions explicitly — To explicitly grant access
1889
1960
  # permissions to specific Amazon Web Services accounts or groups,
1890
1961
  # use the following headers. Each header maps to specific
1891
1962
  # permissions that Amazon S3 supports in an ACL. For more
1892
- # information, see [Access Control List (ACL) Overview][10]. In the
1963
+ # information, see [Access Control List (ACL) Overview][11]. In the
1893
1964
  # header, you specify a list of grantees who get the specific
1894
1965
  # permission. To grant permissions explicitly, use:
1895
1966
  #
@@ -1934,7 +2005,7 @@ module Aws::S3
1934
2005
  # * South America (São Paulo)
1935
2006
  #
1936
2007
  # For a list of all the Amazon S3 supported Regions and endpoints,
1937
- # see [Regions and Endpoints][13] in the Amazon Web Services
2008
+ # see [Regions and Endpoints][14] in the Amazon Web Services
1938
2009
  # General Reference.
1939
2010
  #
1940
2011
  # </note>
@@ -1949,13 +2020,13 @@ module Aws::S3
1949
2020
  #
1950
2021
  # * [UploadPart][1]
1951
2022
  #
1952
- # * [CompleteMultipartUpload][14]
2023
+ # * [CompleteMultipartUpload][15]
1953
2024
  #
1954
- # * [AbortMultipartUpload][15]
2025
+ # * [AbortMultipartUpload][16]
1955
2026
  #
1956
- # * [ListParts][16]
2027
+ # * [ListParts][17]
1957
2028
  #
1958
- # * [ListMultipartUploads][17]
2029
+ # * [ListMultipartUploads][18]
1959
2030
  #
1960
2031
  #
1961
2032
  #
@@ -1966,16 +2037,17 @@ module Aws::S3
1966
2037
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
1967
2038
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
1968
2039
  # [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
2040
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
2041
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
2042
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
2043
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
2044
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
2045
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
2046
+ # [14]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
2047
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
2048
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
2049
+ # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
2050
+ # [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
1979
2051
  #
1980
2052
  # @option params [String] :acl
1981
2053
  # The canned ACL to apply to the object.
@@ -1993,14 +2065,14 @@ module Aws::S3
1993
2065
  # name. For more information about access point ARNs, see [Using access
1994
2066
  # points][1] in the *Amazon S3 User Guide*.
1995
2067
  #
1996
- # When using this action with Amazon S3 on Outposts, you must direct
2068
+ # When you use this action with Amazon S3 on Outposts, you must direct
1997
2069
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
1998
2070
  # takes the form `
1999
2071
  # 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*.
2072
+ # When you use this action with S3 on Outposts through the Amazon Web
2073
+ # Services SDKs, you provide the Outposts access point ARN in place of
2074
+ # the bucket name. For more information about S3 on Outposts ARNs, see
2075
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
2004
2076
  #
2005
2077
  #
2006
2078
  #
@@ -2056,7 +2128,7 @@ module Aws::S3
2056
2128
  #
2057
2129
  # @option params [String] :server_side_encryption
2058
2130
  # The server-side encryption algorithm used when storing this object in
2059
- # Amazon S3 (for example, AES256, aws:kms).
2131
+ # Amazon S3 (for example, AES256, `aws:kms`).
2060
2132
  #
2061
2133
  # @option params [String] :storage_class
2062
2134
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
@@ -2092,13 +2164,13 @@ module Aws::S3
2092
2164
  # ensure that the encryption key was transmitted without error.
2093
2165
  #
2094
2166
  # @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*.
2167
+ # Specifies the ID of the symmetric encryption customer managed key to
2168
+ # use for object encryption. All GET and PUT requests for an object
2169
+ # protected by Amazon Web Services KMS will fail if not made via SSL or
2170
+ # using SigV4. For information about configuring using any of the
2171
+ # officially supported Amazon Web Services SDKs and Amazon Web Services
2172
+ # CLI, see [Specifying the Signature Version in Request
2173
+ # Authentication][1] in the *Amazon S3 User Guide*.
2102
2174
  #
2103
2175
  #
2104
2176
  #
@@ -2257,7 +2329,7 @@ module Aws::S3
2257
2329
  # delete markers) in the bucket must be deleted before the bucket itself
2258
2330
  # can be deleted.
2259
2331
  #
2260
- # **Related Resources**
2332
+ # The following operations are related to `DeleteBucket`:
2261
2333
  #
2262
2334
  # * [CreateBucket][1]
2263
2335
  #
@@ -2374,7 +2446,7 @@ module Aws::S3
2374
2446
  # For information about `cors`, see [Enabling Cross-Origin Resource
2375
2447
  # Sharing][1] in the *Amazon S3 User Guide*.
2376
2448
  #
2377
- # **Related Resources:**
2449
+ # The following operations are related to `DeleteBucketCors`:
2378
2450
  #
2379
2451
  # * [PutBucketCors][2]
2380
2452
  #
@@ -2421,10 +2493,11 @@ module Aws::S3
2421
2493
  req.send_request(options)
2422
2494
  end
2423
2495
 
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*.
2496
+ # This implementation of the DELETE action resets the default encryption
2497
+ # for the bucket as server-side encryption with Amazon S3 managed keys
2498
+ # (SSE-S3). For information about the bucket default encryption feature,
2499
+ # see [Amazon S3 Bucket Default Encryption][1] in the *Amazon S3 User
2500
+ # Guide*.
2428
2501
  #
2429
2502
  # To use this operation, you must have permissions to perform the
2430
2503
  # `s3:PutEncryptionConfiguration` action. The bucket owner has this
@@ -2434,7 +2507,7 @@ module Aws::S3
2434
2507
  # Permissions to your Amazon S3 Resources][3] in the *Amazon S3 User
2435
2508
  # Guide*.
2436
2509
  #
2437
- # **Related Resources**
2510
+ # The following operations are related to `DeleteBucketEncryption`:
2438
2511
  #
2439
2512
  # * [PutBucketEncryption][4]
2440
2513
  #
@@ -2701,7 +2774,9 @@ module Aws::S3
2701
2774
  # The name of the bucket containing the metrics configuration to delete.
2702
2775
  #
2703
2776
  # @option params [required, String] :id
2704
- # The ID used to identify the metrics configuration.
2777
+ # The ID used to identify the metrics configuration. The ID has a 64
2778
+ # character limit and can only contain letters, numbers, periods,
2779
+ # dashes, and underscores.
2705
2780
  #
2706
2781
  # @option params [String] :expected_bucket_owner
2707
2782
  # The account ID of the expected bucket owner. If the bucket is owned by
@@ -2785,10 +2860,14 @@ module Aws::S3
2785
2860
  # you're not using an identity that belongs to the bucket owner's
2786
2861
  # account, Amazon S3 returns a `405 Method Not Allowed` error.
2787
2862
  #
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.
2863
+ # To ensure that bucket owners don't inadvertently lock themselves out
2864
+ # of their own buckets, the root principal in a bucket owner's Amazon
2865
+ # Web Services account can perform the `GetBucketPolicy`,
2866
+ # `PutBucketPolicy`, and `DeleteBucketPolicy` API actions, even if their
2867
+ # bucket policy explicitly denies the root principal's access. Bucket
2868
+ # owner root principals can only be blocked from performing these API
2869
+ # actions by VPC endpoint policies and Amazon Web Services Organizations
2870
+ # policies.
2792
2871
  #
2793
2872
  # For more information about bucket policies, see [Using Bucket Policies
2794
2873
  # and UserPolicies][1].
@@ -3027,11 +3106,10 @@ module Aws::S3
3027
3106
  # there isn't a null version, Amazon S3 does not remove any objects but
3028
3107
  # will still respond that the command was successful.
3029
3108
  #
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.
3109
+ # To remove a specific version, you must use the version Id subresource.
3110
+ # Using this subresource permanently deletes the version. If the object
3111
+ # deleted is a delete marker, Amazon S3 sets the response header,
3112
+ # `x-amz-delete-marker`, to true.
3035
3113
  #
3036
3114
  # If the object you want to delete is in a bucket where the bucket
3037
3115
  # versioning configuration is MFA Delete enabled, you must include the
@@ -3072,14 +3150,14 @@ module Aws::S3
3072
3150
  # name. For more information about access point ARNs, see [Using access
3073
3151
  # points][1] in the *Amazon S3 User Guide*.
3074
3152
  #
3075
- # When using this action with Amazon S3 on Outposts, you must direct
3153
+ # When you use this action with Amazon S3 on Outposts, you must direct
3076
3154
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
3077
3155
  # takes the form `
3078
3156
  # 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*.
3157
+ # When you use this action with S3 on Outposts through the Amazon Web
3158
+ # Services SDKs, you provide the Outposts access point ARN in place of
3159
+ # the bucket name. For more information about S3 on Outposts ARNs, see
3160
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
3083
3161
  #
3084
3162
  #
3085
3163
  #
@@ -3126,6 +3204,15 @@ module Aws::S3
3126
3204
  # * {Types::DeleteObjectOutput#request_charged #request_charged} => String
3127
3205
  #
3128
3206
  #
3207
+ # @example Example: To delete an object (from a non-versioned bucket)
3208
+ #
3209
+ # # The following example deletes an object from a non-versioned bucket.
3210
+ #
3211
+ # resp = client.delete_object({
3212
+ # bucket: "ExampleBucket",
3213
+ # key: "HappyFace.jpg",
3214
+ # })
3215
+ #
3129
3216
  # @example Example: To delete an object
3130
3217
  #
3131
3218
  # # The following example deletes an object from an S3 bucket.
@@ -3139,15 +3226,6 @@ module Aws::S3
3139
3226
  # {
3140
3227
  # }
3141
3228
  #
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
3229
  # @example Request syntax with placeholder values
3152
3230
  #
3153
3231
  # resp = client.delete_object({
@@ -3185,8 +3263,7 @@ module Aws::S3
3185
3263
  # parameter in the request. You will need permission for the
3186
3264
  # `s3:DeleteObjectVersionTagging` action.
3187
3265
  #
3188
- # The following operations are related to
3189
- # `DeleteBucketMetricsConfiguration`:
3266
+ # The following operations are related to `DeleteObjectTagging`:
3190
3267
  #
3191
3268
  # * [PutObjectTagging][2]
3192
3269
  #
@@ -3209,14 +3286,14 @@ module Aws::S3
3209
3286
  # name. For more information about access point ARNs, see [Using access
3210
3287
  # points][1] in the *Amazon S3 User Guide*.
3211
3288
  #
3212
- # When using this action with Amazon S3 on Outposts, you must direct
3289
+ # When you use this action with Amazon S3 on Outposts, you must direct
3213
3290
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
3214
3291
  # takes the form `
3215
3292
  # 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*.
3293
+ # When you use this action with S3 on Outposts through the Amazon Web
3294
+ # Services SDKs, you provide the Outposts access point ARN in place of
3295
+ # the bucket name. For more information about S3 on Outposts ARNs, see
3296
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
3220
3297
  #
3221
3298
  #
3222
3299
  #
@@ -3240,35 +3317,35 @@ module Aws::S3
3240
3317
  # * {Types::DeleteObjectTaggingOutput#version_id #version_id} => String
3241
3318
  #
3242
3319
  #
3243
- # @example Example: To remove tag set from an object
3320
+ # @example Example: To remove tag set from an object version
3244
3321
  #
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.
3322
+ # # The following example removes tag set associated with the specified object version. The request specifies both the
3323
+ # # object key and object version.
3247
3324
  #
3248
3325
  # resp = client.delete_object_tagging({
3249
3326
  # bucket: "examplebucket",
3250
3327
  # key: "HappyFace.jpg",
3328
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3251
3329
  # })
3252
3330
  #
3253
3331
  # resp.to_h outputs the following:
3254
3332
  # {
3255
- # version_id: "null",
3333
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3256
3334
  # }
3257
3335
  #
3258
- # @example Example: To remove tag set from an object version
3336
+ # @example Example: To remove tag set from an object
3259
3337
  #
3260
- # # The following example removes tag set associated with the specified object version. The request specifies both the
3261
- # # object key and object version.
3338
+ # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
3339
+ # # operation removes tag set from the latest object version.
3262
3340
  #
3263
3341
  # resp = client.delete_object_tagging({
3264
3342
  # bucket: "examplebucket",
3265
3343
  # key: "HappyFace.jpg",
3266
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3267
3344
  # })
3268
3345
  #
3269
3346
  # resp.to_h outputs the following:
3270
3347
  # {
3271
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3348
+ # version_id: "null",
3272
3349
  # }
3273
3350
  #
3274
3351
  # @example Request syntax with placeholder values
@@ -3357,14 +3434,14 @@ module Aws::S3
3357
3434
  # name. For more information about access point ARNs, see [Using access
3358
3435
  # points][1] in the *Amazon S3 User Guide*.
3359
3436
  #
3360
- # When using this action with Amazon S3 on Outposts, you must direct
3437
+ # When you use this action with Amazon S3 on Outposts, you must direct
3361
3438
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
3362
3439
  # takes the form `
3363
3440
  # 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*.
3441
+ # When you use this action with S3 on Outposts through the Amazon Web
3442
+ # Services SDKs, you provide the Outposts access point ARN in place of
3443
+ # the bucket name. For more information about S3 on Outposts ARNs, see
3444
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
3368
3445
  #
3369
3446
  #
3370
3447
  #
@@ -3427,20 +3504,22 @@ module Aws::S3
3427
3504
  # * {Types::DeleteObjectsOutput#errors #errors} => Array&lt;Types::Error&gt;
3428
3505
  #
3429
3506
  #
3430
- # @example Example: To delete multiple objects from a versioned bucket
3507
+ # @example Example: To delete multiple object versions from a versioned bucket
3431
3508
  #
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.
3509
+ # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
3510
+ # # versions and returns the key and versions of deleted objects in the response.
3434
3511
  #
3435
3512
  # resp = client.delete_objects({
3436
3513
  # bucket: "examplebucket",
3437
3514
  # delete: {
3438
3515
  # objects: [
3439
3516
  # {
3440
- # key: "objectkey1",
3517
+ # key: "HappyFace.jpg",
3518
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3441
3519
  # },
3442
3520
  # {
3443
- # key: "objectkey2",
3521
+ # key: "HappyFace.jpg",
3522
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3444
3523
  # },
3445
3524
  # ],
3446
3525
  # quiet: false,
@@ -3451,34 +3530,30 @@ module Aws::S3
3451
3530
  # {
3452
3531
  # deleted: [
3453
3532
  # {
3454
- # delete_marker: true,
3455
- # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
3456
- # key: "objectkey1",
3533
+ # key: "HappyFace.jpg",
3534
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3457
3535
  # },
3458
3536
  # {
3459
- # delete_marker: true,
3460
- # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
3461
- # key: "objectkey2",
3537
+ # key: "HappyFace.jpg",
3538
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3462
3539
  # },
3463
3540
  # ],
3464
3541
  # }
3465
3542
  #
3466
- # @example Example: To delete multiple object versions from a versioned bucket
3543
+ # @example Example: To delete multiple objects from a versioned bucket
3467
3544
  #
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.
3545
+ # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
3546
+ # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
3470
3547
  #
3471
3548
  # resp = client.delete_objects({
3472
3549
  # bucket: "examplebucket",
3473
3550
  # delete: {
3474
3551
  # objects: [
3475
3552
  # {
3476
- # key: "HappyFace.jpg",
3477
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3553
+ # key: "objectkey1",
3478
3554
  # },
3479
3555
  # {
3480
- # key: "HappyFace.jpg",
3481
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3556
+ # key: "objectkey2",
3482
3557
  # },
3483
3558
  # ],
3484
3559
  # quiet: false,
@@ -3489,12 +3564,14 @@ module Aws::S3
3489
3564
  # {
3490
3565
  # deleted: [
3491
3566
  # {
3492
- # key: "HappyFace.jpg",
3493
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3567
+ # delete_marker: true,
3568
+ # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
3569
+ # key: "objectkey1",
3494
3570
  # },
3495
3571
  # {
3496
- # key: "HappyFace.jpg",
3497
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3572
+ # delete_marker: true,
3573
+ # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
3574
+ # key: "objectkey2",
3498
3575
  # },
3499
3576
  # ],
3500
3577
  # }
@@ -3620,7 +3697,8 @@ module Aws::S3
3620
3697
  # For more information about transfer acceleration, see [Transfer
3621
3698
  # Acceleration][4] in the Amazon S3 User Guide.
3622
3699
  #
3623
- # **Related Resources**
3700
+ # The following operations are related to
3701
+ # `GetBucketAccelerateConfiguration`:
3624
3702
  #
3625
3703
  # * [PutBucketAccelerateConfiguration][3]
3626
3704
  #
@@ -3673,28 +3751,53 @@ module Aws::S3
3673
3751
  # can return the ACL of the bucket without using an authorization
3674
3752
  # header.
3675
3753
  #
3754
+ # To use this API operation against an access point, provide the alias
3755
+ # of the access point in place of the bucket name.
3756
+ #
3757
+ # To use this API operation against an Object Lambda access point,
3758
+ # provide the alias of the Object Lambda access point in place of the
3759
+ # bucket name. If the Object Lambda access point alias in a request is
3760
+ # not valid, the error code `InvalidAccessPointAliasError` is returned.
3761
+ # For more information about `InvalidAccessPointAliasError`, see [List
3762
+ # of Error Codes][1].
3763
+ #
3676
3764
  # <note markdown="1"> If your bucket uses the bucket owner enforced setting for S3 Object
3677
3765
  # Ownership, requests to read ACLs are still supported and return the
3678
3766
  # `bucket-owner-full-control` ACL with the owner being the account that
3679
3767
  # created the bucket. For more information, see [ Controlling object
3680
- # ownership and disabling ACLs][1] in the *Amazon S3 User Guide*.
3768
+ # ownership and disabling ACLs][2] in the *Amazon S3 User Guide*.
3681
3769
  #
3682
3770
  # </note>
3683
3771
  #
3684
- # **Related Resources**
3772
+ # The following operations are related to `GetBucketAcl`:
3685
3773
  #
3686
- # * [ListObjects][2]
3774
+ # * [ListObjects][3]
3687
3775
  #
3688
3776
  # ^
3689
3777
  #
3690
3778
  #
3691
3779
  #
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
3780
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
3781
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
3782
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html
3694
3783
  #
3695
3784
  # @option params [required, String] :bucket
3696
3785
  # Specifies the S3 bucket whose ACL is being requested.
3697
3786
  #
3787
+ # To use this API operation against an access point, provide the alias
3788
+ # of the access point in place of the bucket name.
3789
+ #
3790
+ # To use this API operation against an Object Lambda access point,
3791
+ # provide the alias of the Object Lambda access point in place of the
3792
+ # bucket name. If the Object Lambda access point alias in a request is
3793
+ # not valid, the error code `InvalidAccessPointAliasError` is returned.
3794
+ # For more information about `InvalidAccessPointAliasError`, see [List
3795
+ # of Error Codes][1].
3796
+ #
3797
+ #
3798
+ #
3799
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
3800
+ #
3698
3801
  # @option params [String] :expected_bucket_owner
3699
3802
  # The account ID of the expected bucket owner. If the bucket is owned by
3700
3803
  # a different account, the request fails with the HTTP status code `403
@@ -3748,7 +3851,8 @@ module Aws::S3
3748
3851
  # For information about Amazon S3 analytics feature, see [Amazon S3
3749
3852
  # Analytics – Storage Class Analysis][3] in the *Amazon S3 User Guide*.
3750
3853
  #
3751
- # **Related Resources**
3854
+ # The following operations are related to
3855
+ # `GetBucketAnalyticsConfiguration`:
3752
3856
  #
3753
3857
  # * [DeleteBucketAnalyticsConfiguration][4]
3754
3858
  #
@@ -3821,24 +3925,49 @@ module Aws::S3
3821
3925
  # `s3:GetBucketCORS` action. By default, the bucket owner has this
3822
3926
  # permission and can grant it to others.
3823
3927
  #
3928
+ # To use this API operation against an access point, provide the alias
3929
+ # of the access point in place of the bucket name.
3930
+ #
3931
+ # To use this API operation against an Object Lambda access point,
3932
+ # provide the alias of the Object Lambda access point in place of the
3933
+ # bucket name. If the Object Lambda access point alias in a request is
3934
+ # not valid, the error code `InvalidAccessPointAliasError` is returned.
3935
+ # For more information about `InvalidAccessPointAliasError`, see [List
3936
+ # of Error Codes][1].
3937
+ #
3824
3938
  # For more information about CORS, see [ Enabling Cross-Origin Resource
3825
- # Sharing][1].
3939
+ # Sharing][2].
3826
3940
  #
3827
3941
  # The following operations are related to `GetBucketCors`:
3828
3942
  #
3829
- # * [PutBucketCors][2]
3943
+ # * [PutBucketCors][3]
3830
3944
  #
3831
- # * [DeleteBucketCors][3]
3945
+ # * [DeleteBucketCors][4]
3832
3946
  #
3833
3947
  #
3834
3948
  #
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
3949
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
3950
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html
3951
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html
3952
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html
3838
3953
  #
3839
3954
  # @option params [required, String] :bucket
3840
3955
  # The bucket name for which to get the cors configuration.
3841
3956
  #
3957
+ # To use this API operation against an access point, provide the alias
3958
+ # of the access point in place of the bucket name.
3959
+ #
3960
+ # To use this API operation against an Object Lambda access point,
3961
+ # provide the alias of the Object Lambda access point in place of the
3962
+ # bucket name. If the Object Lambda access point alias in a request is
3963
+ # not valid, the error code `InvalidAccessPointAliasError` is returned.
3964
+ # For more information about `InvalidAccessPointAliasError`, see [List
3965
+ # of Error Codes][1].
3966
+ #
3967
+ #
3968
+ #
3969
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
3970
+ #
3842
3971
  # @option params [String] :expected_bucket_owner
3843
3972
  # The account ID of the expected bucket owner. If the bucket is owned by
3844
3973
  # a different account, the request fails with the HTTP status code `403
@@ -3906,12 +4035,10 @@ module Aws::S3
3906
4035
  end
3907
4036
 
3908
4037
  # 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].
4038
+ # By default, all buckets have a default encryption configuration that
4039
+ # uses server-side encryption with Amazon S3 managed keys (SSE-S3). For
4040
+ # information about the bucket default encryption feature, see [Amazon
4041
+ # S3 Bucket Default Encryption][1] in the *Amazon S3 User Guide*.
3915
4042
  #
3916
4043
  # To use this operation, you must have permission to perform the
3917
4044
  # `s3:GetEncryptionConfiguration` action. The bucket owner has this
@@ -4383,26 +4510,52 @@ module Aws::S3
4383
4510
  # using the `LocationConstraint` request parameter in a `CreateBucket`
4384
4511
  # request. For more information, see [CreateBucket][1].
4385
4512
  #
4386
- # To use this implementation of the operation, you must be the bucket
4387
- # owner.
4513
+ # To use this API operation against an access point, provide the alias
4514
+ # of the access point in place of the bucket name.
4515
+ #
4516
+ # To use this API operation against an Object Lambda access point,
4517
+ # provide the alias of the Object Lambda access point in place of the
4518
+ # bucket name. If the Object Lambda access point alias in a request is
4519
+ # not valid, the error code `InvalidAccessPointAliasError` is returned.
4520
+ # For more information about `InvalidAccessPointAliasError`, see [List
4521
+ # of Error Codes][2].
4388
4522
  #
4389
- # To use this API against an access point, provide the alias of the
4390
- # access point in place of the bucket name.
4523
+ # <note markdown="1"> We recommend that you use [HeadBucket][3] to return the Region that a
4524
+ # bucket resides in. For backward compatibility, Amazon S3 continues to
4525
+ # support GetBucketLocation.
4526
+ #
4527
+ # </note>
4391
4528
  #
4392
4529
  # The following operations are related to `GetBucketLocation`:
4393
4530
  #
4394
- # * [GetObject][2]
4531
+ # * [GetObject][4]
4395
4532
  #
4396
4533
  # * [CreateBucket][1]
4397
4534
  #
4398
4535
  #
4399
4536
  #
4400
4537
  # [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
4538
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
4539
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html
4540
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
4402
4541
  #
4403
4542
  # @option params [required, String] :bucket
4404
4543
  # The name of the bucket for which to get the location.
4405
4544
  #
4545
+ # To use this API operation against an access point, provide the alias
4546
+ # of the access point in place of the bucket name.
4547
+ #
4548
+ # To use this API operation against an Object Lambda access point,
4549
+ # provide the alias of the Object Lambda access point in place of the
4550
+ # bucket name. If the Object Lambda access point alias in a request is
4551
+ # not valid, the error code `InvalidAccessPointAliasError` is returned.
4552
+ # For more information about `InvalidAccessPointAliasError`, see [List
4553
+ # of Error Codes][1].
4554
+ #
4555
+ #
4556
+ #
4557
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
4558
+ #
4406
4559
  # @option params [String] :expected_bucket_owner
4407
4560
  # The account ID of the expected bucket owner. If the bucket is owned by
4408
4561
  # a different account, the request fails with the HTTP status code `403
@@ -4447,8 +4600,7 @@ module Aws::S3
4447
4600
  end
4448
4601
 
4449
4602
  # 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.
4603
+ # to view and modify that status.
4452
4604
  #
4453
4605
  # The following operations are related to `GetBucketLogging`:
4454
4606
  #
@@ -4540,7 +4692,9 @@ module Aws::S3
4540
4692
  # retrieve.
4541
4693
  #
4542
4694
  # @option params [required, String] :id
4543
- # The ID used to identify the metrics configuration.
4695
+ # The ID used to identify the metrics configuration. The ID has a 64
4696
+ # character limit and can only contain letters, numbers, periods,
4697
+ # dashes, and underscores.
4544
4698
  #
4545
4699
  # @option params [String] :expected_bucket_owner
4546
4700
  # The account ID of the expected bucket owner. If the bucket is owned by
@@ -4591,6 +4745,20 @@ module Aws::S3
4591
4745
  # The name of the bucket for which to get the notification
4592
4746
  # configuration.
4593
4747
  #
4748
+ # To use this API operation against an access point, provide the alias
4749
+ # of the access point in place of the bucket name.
4750
+ #
4751
+ # To use this API operation against an Object Lambda access point,
4752
+ # provide the alias of the Object Lambda access point in place of the
4753
+ # bucket name. If the Object Lambda access point alias in a request is
4754
+ # not valid, the error code `InvalidAccessPointAliasError` is returned.
4755
+ # For more information about `InvalidAccessPointAliasError`, see [List
4756
+ # of Error Codes][1].
4757
+ #
4758
+ #
4759
+ #
4760
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
4761
+ #
4594
4762
  # @option params [String] :expected_bucket_owner
4595
4763
  # The account ID of the expected bucket owner. If the bucket is owned by
4596
4764
  # a different account, the request fails with the HTTP status code `403
@@ -4704,27 +4872,52 @@ module Aws::S3
4704
4872
  # policy to grant permission to other users to read this configuration
4705
4873
  # with the `s3:GetBucketNotification` permission.
4706
4874
  #
4875
+ # To use this API operation against an access point, provide the alias
4876
+ # of the access point in place of the bucket name.
4877
+ #
4878
+ # To use this API operation against an Object Lambda access point,
4879
+ # provide the alias of the Object Lambda access point in place of the
4880
+ # bucket name. If the Object Lambda access point alias in a request is
4881
+ # not valid, the error code `InvalidAccessPointAliasError` is returned.
4882
+ # For more information about `InvalidAccessPointAliasError`, see [List
4883
+ # of Error Codes][1].
4884
+ #
4707
4885
  # For more information about setting and reading the notification
4708
4886
  # 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].
4887
+ # Events][2]. For more information about bucket policies, see [Using
4888
+ # Bucket Policies][3].
4711
4889
  #
4712
4890
  # The following action is related to `GetBucketNotification`:
4713
4891
  #
4714
- # * [PutBucketNotification][3]
4892
+ # * [PutBucketNotification][4]
4715
4893
  #
4716
4894
  # ^
4717
4895
  #
4718
4896
  #
4719
4897
  #
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
4898
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
4899
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
4900
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
4901
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotification.html
4723
4902
  #
4724
4903
  # @option params [required, String] :bucket
4725
4904
  # The name of the bucket for which to get the notification
4726
4905
  # configuration.
4727
4906
  #
4907
+ # To use this API operation against an access point, provide the alias
4908
+ # of the access point in place of the bucket name.
4909
+ #
4910
+ # To use this API operation against an Object Lambda access point,
4911
+ # provide the alias of the Object Lambda access point in place of the
4912
+ # bucket name. If the Object Lambda access point alias in a request is
4913
+ # not valid, the error code `InvalidAccessPointAliasError` is returned.
4914
+ # For more information about `InvalidAccessPointAliasError`, see [List
4915
+ # of Error Codes][1].
4916
+ #
4917
+ #
4918
+ #
4919
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
4920
+ #
4728
4921
  # @option params [String] :expected_bucket_owner
4729
4922
  # The account ID of the expected bucket owner. If the bucket is owned by
4730
4923
  # a different account, the request fails with the HTTP status code `403
@@ -4844,28 +5037,57 @@ module Aws::S3
4844
5037
  # you're not using an identity that belongs to the bucket owner's
4845
5038
  # account, Amazon S3 returns a `405 Method Not Allowed` error.
4846
5039
  #
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.
5040
+ # To ensure that bucket owners don't inadvertently lock themselves out
5041
+ # of their own buckets, the root principal in a bucket owner's Amazon
5042
+ # Web Services account can perform the `GetBucketPolicy`,
5043
+ # `PutBucketPolicy`, and `DeleteBucketPolicy` API actions, even if their
5044
+ # bucket policy explicitly denies the root principal's access. Bucket
5045
+ # owner root principals can only be blocked from performing these API
5046
+ # actions by VPC endpoint policies and Amazon Web Services Organizations
5047
+ # policies.
5048
+ #
5049
+ # To use this API operation against an access point, provide the alias
5050
+ # of the access point in place of the bucket name.
5051
+ #
5052
+ # To use this API operation against an Object Lambda access point,
5053
+ # provide the alias of the Object Lambda access point in place of the
5054
+ # bucket name. If the Object Lambda access point alias in a request is
5055
+ # not valid, the error code `InvalidAccessPointAliasError` is returned.
5056
+ # For more information about `InvalidAccessPointAliasError`, see [List
5057
+ # of Error Codes][1].
4851
5058
  #
4852
5059
  # For more information about bucket policies, see [Using Bucket Policies
4853
- # and User Policies][1].
5060
+ # and User Policies][2].
4854
5061
  #
4855
5062
  # The following action is related to `GetBucketPolicy`:
4856
5063
  #
4857
- # * [GetObject][2]
5064
+ # * [GetObject][3]
4858
5065
  #
4859
5066
  # ^
4860
5067
  #
4861
5068
  #
4862
5069
  #
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
5070
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
5071
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
5072
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
4865
5073
  #
4866
5074
  # @option params [required, String] :bucket
4867
5075
  # The bucket name for which to get the bucket policy.
4868
5076
  #
5077
+ # To use this API operation against an access point, provide the alias
5078
+ # of the access point in place of the bucket name.
5079
+ #
5080
+ # To use this API operation against an Object Lambda access point,
5081
+ # provide the alias of the Object Lambda access point in place of the
5082
+ # bucket name. If the Object Lambda access point alias in a request is
5083
+ # not valid, the error code `InvalidAccessPointAliasError` is returned.
5084
+ # For more information about `InvalidAccessPointAliasError`, see [List
5085
+ # of Error Codes][1].
5086
+ #
5087
+ #
5088
+ #
5089
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
5090
+ #
4869
5091
  # @option params [String] :expected_bucket_owner
4870
5092
  # The account ID of the expected bucket owner. If the bucket is owned by
4871
5093
  # a different account, the request fails with the HTTP status code `403
@@ -5317,7 +5539,7 @@ module Aws::S3
5317
5539
  # the website configuration by writing a bucket policy granting them the
5318
5540
  # `S3:GetBucketWebsite` permission.
5319
5541
  #
5320
- # The following operations are related to `DeleteBucketWebsite`:
5542
+ # The following operations are related to `GetBucketWebsite`:
5321
5543
  #
5322
5544
  # * [DeleteBucketWebsite][2]
5323
5545
  #
@@ -5421,7 +5643,7 @@ module Aws::S3
5421
5643
  # Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive
5422
5644
  # or S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve
5423
5645
  # the object you must first restore a copy using [RestoreObject][3].
5424
- # Otherwise, this action returns an `InvalidObjectStateError` error. For
5646
+ # Otherwise, this action returns an `InvalidObjectState` error. For
5425
5647
  # information about restoring archived objects, see [Restoring Archived
5426
5648
  # Objects][4].
5427
5649
  #
@@ -5451,86 +5673,88 @@ module Aws::S3
5451
5673
  # [GetObjectTagging][6] to retrieve the tag set associated with an
5452
5674
  # object.
5453
5675
  #
5454
- # **Permissions**
5676
+ # Permissions
5455
5677
  #
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.
5678
+ # : You need the relevant read object (or version) permission for this
5679
+ # operation. For more information, see [Specifying Permissions in a
5680
+ # Policy][7]. If the object you request does not exist, the error
5681
+ # Amazon S3 returns depends on whether you also have the
5682
+ # `s3:ListBucket` permission.
5461
5683
  #
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.
5684
+ # * If you have the `s3:ListBucket` permission on the bucket, Amazon
5685
+ # S3 will return an HTTP status code 404 ("no such key") error.
5464
5686
  #
5465
- # * If you don’t have the `s3:ListBucket` permission, Amazon S3 will
5466
- # return an HTTP status code 403 ("access denied") error.
5687
+ # * If you don’t have the `s3:ListBucket` permission, Amazon S3 will
5688
+ # return an HTTP status code 403 ("access denied") error.
5467
5689
  #
5468
- # **Versioning**
5690
+ # Versioning
5469
5691
  #
5470
- # By default, the GET action returns the current version of an object.
5471
- # To return a different version, use the `versionId` subresource.
5692
+ # : By default, the GET action returns the current version of an object.
5693
+ # To return a different version, use the `versionId` subresource.
5472
5694
  #
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.
5695
+ # <note markdown="1"> * If you supply a `versionId`, you need the `s3:GetObjectVersion`
5696
+ # permission to access a specific version of an object. If you
5697
+ # request a specific version, you do not need to have the
5698
+ # `s3:GetObject` permission. If you request the current version
5699
+ # without a specific version ID, only `s3:GetObject` permission is
5700
+ # required. `s3:GetObjectVersion` permission won't be required.
5477
5701
  #
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.
5702
+ # * If the current version of the object is a delete marker, Amazon S3
5703
+ # behaves as if the object was deleted and includes
5704
+ # `x-amz-delete-marker: true` in the response.
5481
5705
  #
5482
- # </note>
5706
+ # </note>
5483
5707
  #
5484
- # For more information about versioning, see [PutBucketVersioning][8].
5708
+ # For more information about versioning, see [PutBucketVersioning][8].
5485
5709
  #
5486
- # **Overriding Response Header Values**
5710
+ # Overriding Response Header Values
5487
5711
  #
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.
5712
+ # : There are times when you want to override certain response header
5713
+ # values in a GET response. For example, you might override the
5714
+ # `Content-Disposition` response header value in your GET request.
5491
5715
  #
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.
5716
+ # You can override values for a set of response headers using the
5717
+ # following query parameters. These response header values are sent
5718
+ # only on a successful request, that is, when status code 200 OK is
5719
+ # returned. The set of headers you can override using these parameters
5720
+ # is a subset of the headers that Amazon S3 accepts when you create an
5721
+ # object. The response headers that you can override for the GET
5722
+ # response are `Content-Type`, `Content-Language`, `Expires`,
5723
+ # `Cache-Control`, `Content-Disposition`, and `Content-Encoding`. To
5724
+ # override these header values in the GET response, you use the
5725
+ # following request parameters.
5502
5726
  #
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.
5727
+ # <note markdown="1"> You must sign the request, either using an Authorization header or a
5728
+ # presigned URL, when using these parameters. They cannot be used with
5729
+ # an unsigned (anonymous) request.
5506
5730
  #
5507
- # </note>
5731
+ # </note>
5508
5732
  #
5509
- # * `response-content-type`
5733
+ # * `response-content-type`
5510
5734
  #
5511
- # * `response-content-language`
5735
+ # * `response-content-language`
5512
5736
  #
5513
- # * `response-expires`
5737
+ # * `response-expires`
5514
5738
  #
5515
- # * `response-cache-control`
5739
+ # * `response-cache-control`
5516
5740
  #
5517
- # * `response-content-disposition`
5741
+ # * `response-content-disposition`
5518
5742
  #
5519
- # * `response-content-encoding`
5743
+ # * `response-content-encoding`
5520
5744
  #
5521
- # **Additional Considerations about Request Headers**
5745
+ # Overriding Response Header Values
5522
5746
  #
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.
5747
+ # : If both of the `If-Match` and `If-Unmodified-Since` headers are
5748
+ # present in the request as follows: `If-Match` condition evaluates to
5749
+ # `true`, and; `If-Unmodified-Since` condition evaluates to `false`;
5750
+ # then, S3 returns 200 OK and the data requested.
5527
5751
  #
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.
5752
+ # If both of the `If-None-Match` and `If-Modified-Since` headers are
5753
+ # present in the request as follows:` If-None-Match` condition
5754
+ # evaluates to `false`, and; `If-Modified-Since` condition evaluates
5755
+ # to `true`; then, S3 returns 304 Not Modified response code.
5532
5756
  #
5533
- # For more information about conditional requests, see [RFC 7232][9].
5757
+ # For more information about conditional requests, see [RFC 7232][9].
5534
5758
  #
5535
5759
  # The following operations are related to `GetObject`:
5536
5760
  #
@@ -5568,14 +5792,14 @@ module Aws::S3
5568
5792
  # When using an Object Lambda access point the hostname takes the form
5569
5793
  # *AccessPointName*-*AccountId*.s3-object-lambda.*Region*.amazonaws.com.
5570
5794
  #
5571
- # When using this action with Amazon S3 on Outposts, you must direct
5795
+ # When you use this action with Amazon S3 on Outposts, you must direct
5572
5796
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
5573
5797
  # takes the form `
5574
5798
  # 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*.
5799
+ # When you use this action with S3 on Outposts through the Amazon Web
5800
+ # Services SDKs, you provide the Outposts access point ARN in place of
5801
+ # the bucket name. For more information about S3 on Outposts ARNs, see
5802
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
5579
5803
  #
5580
5804
  #
5581
5805
  #
@@ -5604,7 +5828,7 @@ module Aws::S3
5604
5828
  # @option params [String] :range
5605
5829
  # Downloads the specified range bytes of an object. For more information
5606
5830
  # about the HTTP Range header, see
5607
- # [https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
5831
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#name-range][1].
5608
5832
  #
5609
5833
  # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
5610
5834
  # `GET` request.
@@ -5613,7 +5837,7 @@ module Aws::S3
5613
5837
  #
5614
5838
  #
5615
5839
  #
5616
- # [1]: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
5840
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-range
5617
5841
  #
5618
5842
  # @option params [String] :response_cache_control
5619
5843
  # Sets the `Cache-Control` header of the response.
@@ -5877,8 +6101,6 @@ module Aws::S3
5877
6101
  #
5878
6102
  # This action is not supported by Amazon S3 on Outposts.
5879
6103
  #
5880
- # **Versioning**
5881
- #
5882
6104
  # By default, GET returns ACL information about the current version of
5883
6105
  # an object. To return ACL information about a different version, use
5884
6106
  # the versionId subresource.
@@ -6043,9 +6265,7 @@ module Aws::S3
6043
6265
  # object's metadata. To use `GetObjectAttributes`, you must have READ
6044
6266
  # access to the object.
6045
6267
  #
6046
- # `GetObjectAttributes` combines the functionality of `GetObjectAcl`,
6047
- # `GetObjectLegalHold`, `GetObjectLockConfiguration`,
6048
- # `GetObjectRetention`, `GetObjectTagging`, `HeadObject`, and
6268
+ # `GetObjectAttributes` combines the functionality of `HeadObject` and
6049
6269
  # `ListParts`. All of the data returned with each of those individual
6050
6270
  # calls can be returned with a single call to `GetObjectAttributes`.
6051
6271
  #
@@ -6067,9 +6287,8 @@ module Aws::S3
6067
6287
  # should not be sent for GET requests if your object uses server-side
6068
6288
  # encryption with Amazon Web Services KMS keys stored in Amazon Web
6069
6289
  # 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.
6290
+ # with Amazon S3 managed keys (SSE-S3). If your object does use these
6291
+ # types of keys, you'll get an HTTP `400 Bad Request` error.
6073
6292
  #
6074
6293
  # * The last modified property in this case is the creation date of the
6075
6294
  # object.
@@ -6096,23 +6315,26 @@ module Aws::S3
6096
6315
  #
6097
6316
  # For more information about conditional requests, see [RFC 7232][2].
6098
6317
  #
6099
- # **Permissions**
6318
+ # Permissions
6100
6319
  #
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.
6320
+ # : The permissions that you need to use this operation depend on
6321
+ # whether the bucket is versioned. If the bucket is versioned, you
6322
+ # need both the `s3:GetObjectVersion` and
6323
+ # `s3:GetObjectVersionAttributes` permissions for this operation. If
6324
+ # the bucket is not versioned, you need the `s3:GetObject` and
6325
+ # `s3:GetObjectAttributes` permissions. For more information, see
6326
+ # [Specifying Permissions in a Policy][3] in the *Amazon S3 User
6327
+ # Guide*. If the object that you request does not exist, the error
6328
+ # Amazon S3 returns depends on whether you also have the
6329
+ # `s3:ListBucket` permission.
6110
6330
  #
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.
6331
+ # * If you have the `s3:ListBucket` permission on the bucket, Amazon
6332
+ # S3 returns an HTTP status code `404 Not Found` ("no such key")
6333
+ # error.
6113
6334
  #
6114
- # * If you don't have the `s3:ListBucket` permission, Amazon S3 returns
6115
- # an HTTP status code `403 Forbidden` ("access denied") error.
6335
+ # * If you don't have the `s3:ListBucket` permission, Amazon S3
6336
+ # returns an HTTP status code `403 Forbidden` ("access denied")
6337
+ # error.
6116
6338
  #
6117
6339
  # The following actions are related to `GetObjectAttributes`:
6118
6340
  #
@@ -6157,14 +6379,14 @@ module Aws::S3
6157
6379
  # name. For more information about access point ARNs, see [Using access
6158
6380
  # points][1] in the *Amazon S3 User Guide*.
6159
6381
  #
6160
- # When using this action with Amazon S3 on Outposts, you must direct
6382
+ # When you use this action with Amazon S3 on Outposts, you must direct
6161
6383
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6162
6384
  # takes the form `
6163
6385
  # 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*.
6386
+ # When you use this action with S3 on Outposts through the Amazon Web
6387
+ # Services SDKs, you provide the Outposts access point ARN in place of
6388
+ # the bucket name. For more information about S3 on Outposts ARNs, see
6389
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
6168
6390
  #
6169
6391
  #
6170
6392
  #
@@ -6557,14 +6779,14 @@ module Aws::S3
6557
6779
  # name. For more information about access point ARNs, see [Using access
6558
6780
  # points][1] in the *Amazon S3 User Guide*.
6559
6781
  #
6560
- # When using this action with Amazon S3 on Outposts, you must direct
6782
+ # When you use this action with Amazon S3 on Outposts, you must direct
6561
6783
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6562
6784
  # takes the form `
6563
6785
  # 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*.
6786
+ # When you use this action with S3 on Outposts through the Amazon Web
6787
+ # Services SDKs, you provide the Outposts access point ARN in place of
6788
+ # the bucket name. For more information about S3 on Outposts ARNs, see
6789
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
6568
6790
  #
6569
6791
  #
6570
6792
  #
@@ -6671,8 +6893,7 @@ module Aws::S3
6671
6893
  end
6672
6894
 
6673
6895
  # 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].
6896
+ # when you're distributing large files.
6676
6897
  #
6677
6898
  # <note markdown="1"> You can get torrent only for objects that are less than 5 GB in size,
6678
6899
  # and that are not encrypted using server-side encryption with a
@@ -6686,14 +6907,13 @@ module Aws::S3
6686
6907
  #
6687
6908
  # The following action is related to `GetObjectTorrent`:
6688
6909
  #
6689
- # * [GetObject][2]
6910
+ # * [GetObject][1]
6690
6911
  #
6691
6912
  # ^
6692
6913
  #
6693
6914
  #
6694
6915
  #
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
6916
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
6697
6917
  #
6698
6918
  # @option params [String, IO] :response_target
6699
6919
  # Where to write response data, file path, or IO object.
@@ -6839,9 +7059,9 @@ module Aws::S3
6839
7059
  # exists and you have permission to access it.
6840
7060
  #
6841
7061
  # 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.
7062
+ # it, the `HEAD` request returns a generic `400 Bad Request`, `403
7063
+ # Forbidden` or `404 Not Found` code. A message body is not included, so
7064
+ # you cannot determine the exception beyond these error codes.
6845
7065
  #
6846
7066
  # To use this operation, you must have permissions to perform the
6847
7067
  # `s3:ListBucket` action. The bucket owner has this permission by
@@ -6850,19 +7070,29 @@ module Aws::S3
6850
7070
  # Operations][1] and [Managing Access Permissions to Your Amazon S3
6851
7071
  # Resources][2].
6852
7072
  #
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].
7073
+ # To use this API operation against an access point, you must provide
7074
+ # the alias of the access point in place of the bucket name or specify
7075
+ # the access point ARN. When using the access point ARN, you must direct
7076
+ # requests to the access point hostname. The access point hostname takes
7077
+ # the form
7078
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
7079
+ # When using the Amazon Web Services SDKs, you provide the ARN in place
7080
+ # of the bucket name. For more information, see [Using access
7081
+ # points][3].
7082
+ #
7083
+ # To use this API operation against an Object Lambda access point,
7084
+ # provide the alias of the Object Lambda access point in place of the
7085
+ # bucket name. If the Object Lambda access point alias in a request is
7086
+ # not valid, the error code `InvalidAccessPointAliasError` is returned.
7087
+ # For more information about `InvalidAccessPointAliasError`, see [List
7088
+ # of Error Codes][4].
6860
7089
  #
6861
7090
  #
6862
7091
  #
6863
7092
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
6864
7093
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
6865
7094
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html
7095
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
6866
7096
  #
6867
7097
  # @option params [required, String] :bucket
6868
7098
  # The bucket name.
@@ -6875,19 +7105,27 @@ module Aws::S3
6875
7105
  # name. For more information about access point ARNs, see [Using access
6876
7106
  # points][1] in the *Amazon S3 User Guide*.
6877
7107
  #
6878
- # When using this action with Amazon S3 on Outposts, you must direct
7108
+ # When you use this action with an Object Lambda access point, provide
7109
+ # the alias of the Object Lambda access point in place of the bucket
7110
+ # name. If the Object Lambda access point alias in a request is not
7111
+ # valid, the error code `InvalidAccessPointAliasError` is returned. For
7112
+ # more information about `InvalidAccessPointAliasError`, see [List of
7113
+ # Error Codes][2].
7114
+ #
7115
+ # When you use this action with Amazon S3 on Outposts, you must direct
6879
7116
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6880
7117
  # takes the form `
6881
7118
  # 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*.
7119
+ # When you use this action with S3 on Outposts through the Amazon Web
7120
+ # Services SDKs, you provide the Outposts access point ARN in place of
7121
+ # the bucket name. For more information about S3 on Outposts ARNs, see
7122
+ # [What is S3 on Outposts][3] in the *Amazon S3 User Guide*.
6886
7123
  #
6887
7124
  #
6888
7125
  #
6889
7126
  # [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
7127
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
7128
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html
6891
7129
  #
6892
7130
  # @option params [String] :expected_bucket_owner
6893
7131
  # The account ID of the expected bucket owner. If the bucket is owned by
@@ -6935,9 +7173,9 @@ module Aws::S3
6935
7173
  # A `HEAD` request has the same options as a `GET` action on an object.
6936
7174
  # The response is identical to the `GET` response except that there is
6937
7175
  # 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.
7176
+ # error, it returns a generic `400 Bad Request`, `403 Forbidden` or `404
7177
+ # Not Found` code. It is not possible to retrieve the exact exception
7178
+ # beyond these error codes.
6941
7179
  #
6942
7180
  # If you encrypt an object by using server-side encryption with
6943
7181
  # customer-provided encryption keys (SSE-C) when you store the object in
@@ -6989,19 +7227,19 @@ module Aws::S3
6989
7227
  #
6990
7228
  # For more information about conditional requests, see [RFC 7232][3].
6991
7229
  #
6992
- # **Permissions**
7230
+ # Permissions
6993
7231
  #
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.
7232
+ # : You need the relevant read object (or version) permission for this
7233
+ # operation. For more information, see [Actions, resources, and
7234
+ # condition keys for Amazon S3][4]. If the object you request does not
7235
+ # exist, the error Amazon S3 returns depends on whether you also have
7236
+ # the s3:ListBucket permission.
6999
7237
  #
7000
- # * If you have the `s3:ListBucket` permission on the bucket, Amazon S3
7001
- # returns an HTTP status code 404 ("no such key") error.
7238
+ # * If you have the `s3:ListBucket` permission on the bucket, Amazon
7239
+ # S3 returns an HTTP status code 404 ("no such key") error.
7002
7240
  #
7003
- # * If you don’t have the `s3:ListBucket` permission, Amazon S3 returns
7004
- # an HTTP status code 403 ("access denied") error.
7241
+ # * If you don’t have the `s3:ListBucket` permission, Amazon S3
7242
+ # returns an HTTP status code 403 ("access denied") error.
7005
7243
  #
7006
7244
  # The following actions are related to `HeadObject`:
7007
7245
  #
@@ -7014,7 +7252,7 @@ module Aws::S3
7014
7252
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
7015
7253
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html
7016
7254
  # [3]: https://tools.ietf.org/html/rfc7232
7017
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
7255
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html
7018
7256
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
7019
7257
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
7020
7258
  #
@@ -7029,14 +7267,14 @@ module Aws::S3
7029
7267
  # name. For more information about access point ARNs, see [Using access
7030
7268
  # points][1] in the *Amazon S3 User Guide*.
7031
7269
  #
7032
- # When using this action with Amazon S3 on Outposts, you must direct
7270
+ # When you use this action with Amazon S3 on Outposts, you must direct
7033
7271
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
7034
7272
  # takes the form `
7035
7273
  # 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*.
7274
+ # When you use this action with S3 on Outposts through the Amazon Web
7275
+ # Services SDKs, you provide the Outposts access point ARN in place of
7276
+ # the bucket name. For more information about S3 on Outposts ARNs, see
7277
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
7040
7278
  #
7041
7279
  #
7042
7280
  #
@@ -7063,8 +7301,10 @@ module Aws::S3
7063
7301
  # The object key.
7064
7302
  #
7065
7303
  # @option params [String] :range
7066
- # Because `HeadObject` returns only the metadata for an object, this
7067
- # parameter has no effect.
7304
+ # HeadObject returns only the metadata for an object. If the Range is
7305
+ # satisfiable, only the `ContentLength` is affected in the response. If
7306
+ # the Range is not satisfiable, S3 returns a `416 - Requested Range Not
7307
+ # Satisfiable` error.
7068
7308
  #
7069
7309
  # @option params [String] :version_id
7070
7310
  # VersionId used to reference a specific version of the object.
@@ -7634,17 +7874,22 @@ module Aws::S3
7634
7874
  # request. To use this operation, you must have the
7635
7875
  # `s3:ListAllMyBuckets` permission.
7636
7876
  #
7877
+ # For information about Amazon S3 buckets, see [Creating, configuring,
7878
+ # and working with Amazon S3 buckets][1].
7879
+ #
7880
+ #
7881
+ #
7882
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html
7883
+ #
7637
7884
  # @return [Types::ListBucketsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7638
7885
  #
7639
7886
  # * {Types::ListBucketsOutput#buckets #buckets} => Array&lt;Types::Bucket&gt;
7640
7887
  # * {Types::ListBucketsOutput#owner #owner} => Types::Owner
7641
7888
  #
7642
7889
  #
7643
- # @example Example: To list object versions
7890
+ # @example Example: To list all buckets
7644
7891
  #
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.
7892
+ # # The following example returns all the buckets owned by the sender of this request.
7648
7893
  #
7649
7894
  # resp = client.list_buckets({
7650
7895
  # })
@@ -7653,15 +7898,15 @@ module Aws::S3
7653
7898
  # {
7654
7899
  # buckets: [
7655
7900
  # {
7656
- # creation_date: Time.parse("2012-02-15T21: 03: 02.000Z"),
7901
+ # creation_date: Time.parse("2012-02-15T21:03:02.000Z"),
7657
7902
  # name: "examplebucket",
7658
7903
  # },
7659
7904
  # {
7660
- # creation_date: Time.parse("2011-07-24T19: 33: 50.000Z"),
7905
+ # creation_date: Time.parse("2011-07-24T19:33:50.000Z"),
7661
7906
  # name: "examplebucket2",
7662
7907
  # },
7663
7908
  # {
7664
- # creation_date: Time.parse("2010-12-17T00: 56: 49.000Z"),
7909
+ # creation_date: Time.parse("2010-12-17T00:56:49.000Z"),
7665
7910
  # name: "examplebucket3",
7666
7911
  # },
7667
7912
  # ],
@@ -7747,14 +7992,14 @@ module Aws::S3
7747
7992
  # name. For more information about access point ARNs, see [Using access
7748
7993
  # points][1] in the *Amazon S3 User Guide*.
7749
7994
  #
7750
- # When using this action with Amazon S3 on Outposts, you must direct
7995
+ # When you use this action with Amazon S3 on Outposts, you must direct
7751
7996
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
7752
7997
  # takes the form `
7753
7998
  # 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*.
7999
+ # When you use this action with S3 on Outposts through the Amazon Web
8000
+ # Services SDKs, you provide the Outposts access point ARN in place of
8001
+ # the bucket name. For more information about S3 on Outposts ARNs, see
8002
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
7758
8003
  #
7759
8004
  #
7760
8005
  #
@@ -8215,14 +8460,14 @@ module Aws::S3
8215
8460
  # name. For more information about access point ARNs, see [Using access
8216
8461
  # points][1] in the *Amazon S3 User Guide*.
8217
8462
  #
8218
- # When using this action with Amazon S3 on Outposts, you must direct
8463
+ # When you use this action with Amazon S3 on Outposts, you must direct
8219
8464
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
8220
8465
  # takes the form `
8221
8466
  # 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*.
8467
+ # When you use this action with S3 on Outposts through the Amazon Web
8468
+ # Services SDKs, you provide the Outposts access point ARN in place of
8469
+ # the bucket name. For more information about S3 on Outposts ARNs, see
8470
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
8226
8471
  #
8227
8472
  #
8228
8473
  #
@@ -8417,14 +8662,14 @@ module Aws::S3
8417
8662
  # name. For more information about access point ARNs, see [Using access
8418
8663
  # points][1] in the *Amazon S3 User Guide*.
8419
8664
  #
8420
- # When using this action with Amazon S3 on Outposts, you must direct
8665
+ # When you use this action with Amazon S3 on Outposts, you must direct
8421
8666
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
8422
8667
  # takes the form `
8423
8668
  # 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*.
8669
+ # When you use this action with S3 on Outposts through the Amazon Web
8670
+ # Services SDKs, you provide the Outposts access point ARN in place of
8671
+ # the bucket name. For more information about S3 on Outposts ARNs, see
8672
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
8428
8673
  #
8429
8674
  #
8430
8675
  #
@@ -8494,7 +8739,7 @@ module Aws::S3
8494
8739
  # # keys.
8495
8740
  #
8496
8741
  # resp = client.list_objects_v2({
8497
- # bucket: "examplebucket",
8742
+ # bucket: "DOC-EXAMPLE-BUCKET",
8498
8743
  # max_keys: 2,
8499
8744
  # })
8500
8745
  #
@@ -8519,7 +8764,7 @@ module Aws::S3
8519
8764
  # is_truncated: true,
8520
8765
  # key_count: 2,
8521
8766
  # max_keys: 2,
8522
- # name: "examplebucket",
8767
+ # name: "DOC-EXAMPLE-BUCKET",
8523
8768
  # next_continuation_token: "1w41l63U0xa8q7smH50vCxyTQqdxo69O3EmK28Bi5PcROI4wI/EyIJg==",
8524
8769
  # prefix: "",
8525
8770
  # }
@@ -8632,14 +8877,14 @@ module Aws::S3
8632
8877
  # name. For more information about access point ARNs, see [Using access
8633
8878
  # points][1] in the *Amazon S3 User Guide*.
8634
8879
  #
8635
- # When using this action with Amazon S3 on Outposts, you must direct
8880
+ # When you use this action with Amazon S3 on Outposts, you must direct
8636
8881
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
8637
8882
  # takes the form `
8638
8883
  # 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*.
8884
+ # When you use this action with S3 on Outposts through the Amazon Web
8885
+ # Services SDKs, you provide the Outposts access point ARN in place of
8886
+ # the bucket name. For more information about S3 on Outposts ARNs, see
8887
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
8643
8888
  #
8644
8889
  #
8645
8890
  #
@@ -8940,127 +9185,128 @@ module Aws::S3
8940
9185
  # still supported. For more information, see [Controlling object
8941
9186
  # ownership][2] in the *Amazon S3 User Guide*.
8942
9187
  #
8943
- # **Access Permissions**
9188
+ # Permissions
8944
9189
  #
8945
- # You can set access permissions using one of the following methods:
9190
+ # : You can set access permissions using one of the following methods:
8946
9191
  #
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].
9192
+ # * Specify a canned ACL with the `x-amz-acl` request header. Amazon
9193
+ # S3 supports a set of predefined ACLs, known as *canned ACLs*. Each
9194
+ # canned ACL has a predefined set of grantees and permissions.
9195
+ # Specify the canned ACL name as the value of `x-amz-acl`. If you
9196
+ # use this header, you cannot use other access control-specific
9197
+ # headers in your request. For more information, see [Canned
9198
+ # ACL][3].
8953
9199
  #
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].
9200
+ # * Specify access permissions explicitly with the `x-amz-grant-read`,
9201
+ # `x-amz-grant-read-acp`, `x-amz-grant-write-acp`, and
9202
+ # `x-amz-grant-full-control` headers. When using these headers, you
9203
+ # specify explicit access permissions and grantees (Amazon Web
9204
+ # Services accounts or Amazon S3 groups) who will receive the
9205
+ # permission. If you use these ACL-specific headers, you cannot use
9206
+ # the `x-amz-acl` header to set a canned ACL. These parameters map
9207
+ # to the set of permissions that Amazon S3 supports in an ACL. For
9208
+ # more information, see [Access Control List (ACL) Overview][4].
8963
9209
  #
8964
- # You specify each grantee as a type=value pair, where the type is one
8965
- # of the following:
9210
+ # You specify each grantee as a type=value pair, where the type is
9211
+ # one of the following:
8966
9212
  #
8967
- # * `id` – if the value specified is the canonical user ID of an
8968
- # Amazon Web Services account
9213
+ # * `id` – if the value specified is the canonical user ID of an
9214
+ # Amazon Web Services account
8969
9215
  #
8970
- # * `uri` – if you are granting permissions to a predefined group
9216
+ # * `uri` – if you are granting permissions to a predefined group
8971
9217
  #
8972
- # * `emailAddress` – if the value specified is the email address of an
8973
- # Amazon Web Services account
9218
+ # * `emailAddress` – if the value specified is the email address of
9219
+ # an Amazon Web Services account
8974
9220
  #
8975
- # <note markdown="1"> Using email addresses to specify a grantee is only supported in
8976
- # the following Amazon Web Services Regions:
9221
+ # <note markdown="1"> Using email addresses to specify a grantee is only supported in
9222
+ # the following Amazon Web Services Regions:
8977
9223
  #
8978
- # * US East (N. Virginia)
9224
+ # * US East (N. Virginia)
8979
9225
  #
8980
- # * US West (N. California)
9226
+ # * US West (N. California)
8981
9227
  #
8982
- # * US West (Oregon)
9228
+ # * US West (Oregon)
8983
9229
  #
8984
- # * Asia Pacific (Singapore)
9230
+ # * Asia Pacific (Singapore)
8985
9231
  #
8986
- # * Asia Pacific (Sydney)
9232
+ # * Asia Pacific (Sydney)
8987
9233
  #
8988
- # * Asia Pacific (Tokyo)
9234
+ # * Asia Pacific (Tokyo)
8989
9235
  #
8990
- # * Europe (Ireland)
9236
+ # * Europe (Ireland)
8991
9237
  #
8992
- # * South America (São Paulo)
9238
+ # * South America (São Paulo)
8993
9239
  #
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.
9240
+ # For a list of all the Amazon S3 supported Regions and endpoints,
9241
+ # see [Regions and Endpoints][5] in the Amazon Web Services
9242
+ # General Reference.
8997
9243
  #
8998
- # </note>
9244
+ # </note>
8999
9245
  #
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.
9246
+ # For example, the following `x-amz-grant-write` header grants
9247
+ # create, overwrite, and delete objects permission to LogDelivery
9248
+ # group predefined by Amazon S3 and two Amazon Web Services accounts
9249
+ # identified by their email addresses.
9004
9250
  #
9005
- # `x-amz-grant-write:
9006
- # uri="http://acs.amazonaws.com/groups/s3/LogDelivery",
9007
- # id="111122223333", id="555566667777" `
9251
+ # `x-amz-grant-write:
9252
+ # uri="http://acs.amazonaws.com/groups/s3/LogDelivery",
9253
+ # id="111122223333", id="555566667777" `
9008
9254
  #
9009
- # You can use either a canned ACL or specify access permissions
9010
- # explicitly. You cannot do both.
9255
+ # You can use either a canned ACL or specify access permissions
9256
+ # explicitly. You cannot do both.
9011
9257
  #
9012
- # **Grantee Values**
9258
+ # Grantee Values
9013
9259
  #
9014
- # You can specify the person (grantee) to whom you're assigning access
9015
- # rights (using request elements) in the following ways:
9260
+ # : You can specify the person (grantee) to whom you're assigning
9261
+ # access rights (using request elements) in the following ways:
9016
9262
  #
9017
- # * By the person's ID:
9263
+ # * By the person's ID:
9018
9264
  #
9019
- # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9020
- # xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName>
9021
- # </Grantee>`
9265
+ # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9266
+ # xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName>
9267
+ # </Grantee>`
9022
9268
  #
9023
- # DisplayName is optional and ignored in the request
9269
+ # DisplayName is optional and ignored in the request
9024
9270
  #
9025
- # * By URI:
9271
+ # * By URI:
9026
9272
  #
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>`
9273
+ # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9274
+ # xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>`
9029
9275
  #
9030
- # * By Email address:
9276
+ # * By Email address:
9031
9277
  #
9032
- # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9033
- # xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee>`
9278
+ # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9279
+ # xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>&</Grantee>`
9034
9280
  #
9035
- # The grantee is resolved to the CanonicalUser and, in a response to a
9036
- # GET Object acl request, appears as the CanonicalUser.
9281
+ # The grantee is resolved to the CanonicalUser and, in a response to
9282
+ # a GET Object acl request, appears as the CanonicalUser.
9037
9283
  #
9038
- # <note markdown="1"> Using email addresses to specify a grantee is only supported in the
9039
- # following Amazon Web Services Regions:
9284
+ # <note markdown="1"> Using email addresses to specify a grantee is only supported in
9285
+ # the following Amazon Web Services Regions:
9040
9286
  #
9041
- # * US East (N. Virginia)
9287
+ # * US East (N. Virginia)
9042
9288
  #
9043
- # * US West (N. California)
9289
+ # * US West (N. California)
9044
9290
  #
9045
- # * US West (Oregon)
9291
+ # * US West (Oregon)
9046
9292
  #
9047
- # * Asia Pacific (Singapore)
9293
+ # * Asia Pacific (Singapore)
9048
9294
  #
9049
- # * Asia Pacific (Sydney)
9295
+ # * Asia Pacific (Sydney)
9050
9296
  #
9051
- # * Asia Pacific (Tokyo)
9297
+ # * Asia Pacific (Tokyo)
9052
9298
  #
9053
- # * Europe (Ireland)
9299
+ # * Europe (Ireland)
9054
9300
  #
9055
- # * South America (São Paulo)
9301
+ # * South America (São Paulo)
9056
9302
  #
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.
9303
+ # For a list of all the Amazon S3 supported Regions and endpoints,
9304
+ # see [Regions and Endpoints][5] in the Amazon Web Services General
9305
+ # Reference.
9060
9306
  #
9061
- # </note>
9307
+ # </note>
9062
9308
  #
9063
- # **Related Resources**
9309
+ # The following operations are related to `PutBucketAcl`:
9064
9310
  #
9065
9311
  # * [CreateBucket][6]
9066
9312
  #
@@ -9226,7 +9472,7 @@ module Aws::S3
9226
9472
  # Related to Bucket Subresource Operations][3] and [Managing Access
9227
9473
  # Permissions to Your Amazon S3 Resources][4].
9228
9474
  #
9229
- # **Special Errors**
9475
+ # `PutBucketAnalyticsConfiguration` has the following special errors:
9230
9476
  #
9231
9477
  # * * *HTTP Error: HTTP 400 Bad Request*
9232
9478
  #
@@ -9249,7 +9495,8 @@ module Aws::S3
9249
9495
  # not have the s3:PutAnalyticsConfiguration bucket permission to set
9250
9496
  # the configuration on the bucket.*
9251
9497
  #
9252
- # **Related Resources**
9498
+ # The following operations are related to
9499
+ # `PutBucketAnalyticsConfiguration`:
9253
9500
  #
9254
9501
  # * [GetBucketAnalyticsConfiguration][5]
9255
9502
  #
@@ -9370,7 +9617,7 @@ module Aws::S3
9370
9617
  # For more information about CORS, go to [Enabling Cross-Origin Resource
9371
9618
  # Sharing][1] in the *Amazon S3 User Guide*.
9372
9619
  #
9373
- # **Related Resources**
9620
+ # The following operations are related to `PutBucketCors`:
9374
9621
  #
9375
9622
  # * [GetBucketCors][2]
9376
9623
  #
@@ -9508,18 +9755,18 @@ module Aws::S3
9508
9755
  end
9509
9756
 
9510
9757
  # 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*.
9758
+ # encryption and Amazon S3 Bucket Keys for an existing bucket.
9759
+ #
9760
+ # By default, all buckets have a default encryption configuration that
9761
+ # uses server-side encryption with Amazon S3 managed keys (SSE-S3). You
9762
+ # can optionally configure default encryption for a bucket by using
9763
+ # server-side encryption with an Amazon Web Services KMS key (SSE-KMS)
9764
+ # or a customer-provided key (SSE-C). If you specify default encryption
9765
+ # by using SSE-KMS, you can also configure Amazon S3 Bucket Keys. For
9766
+ # information about bucket default encryption, see [Amazon S3 bucket
9767
+ # default encryption][1] in the *Amazon S3 User Guide*. For more
9768
+ # information about S3 Bucket Keys, see [Amazon S3 Bucket Keys][2] in
9769
+ # the *Amazon S3 User Guide*.
9523
9770
  #
9524
9771
  # This action requires Amazon Web Services Signature Version 4. For more
9525
9772
  # information, see [ Authenticating Requests (Amazon Web Services
@@ -9530,10 +9777,10 @@ module Aws::S3
9530
9777
  # permission by default. The bucket owner can grant this permission to
9531
9778
  # others. For more information about permissions, see [Permissions
9532
9779
  # Related to Bucket Subresource Operations][4] and [Managing Access
9533
- # Permissions to Your Amazon S3 Resources][5] in the Amazon S3 User
9534
- # Guide.
9780
+ # Permissions to Your Amazon S3 Resources][5] in the *Amazon S3 User
9781
+ # Guide*.
9535
9782
  #
9536
- # **Related Resources**
9783
+ # The following operations are related to `PutBucketEncryption`:
9537
9784
  #
9538
9785
  # * [GetBucketEncryption][6]
9539
9786
  #
@@ -9551,10 +9798,13 @@ module Aws::S3
9551
9798
  #
9552
9799
  # @option params [required, String] :bucket
9553
9800
  # 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*.
9801
+ # with different key options. By default, all buckets have a default
9802
+ # encryption configuration that uses server-side encryption with Amazon
9803
+ # S3 managed keys (SSE-S3). You can optionally configure default
9804
+ # encryption for a bucket by using server-side encryption with an Amazon
9805
+ # Web Services KMS key (SSE-KMS) or a customer-provided key (SSE-C). For
9806
+ # information about the bucket default encryption feature, see [Amazon
9807
+ # S3 Bucket Default Encryption][1] in the *Amazon S3 User Guide*.
9558
9808
  #
9559
9809
  #
9560
9810
  #
@@ -9661,28 +9911,27 @@ module Aws::S3
9661
9911
  #
9662
9912
  # </note>
9663
9913
  #
9664
- # **Special Errors**
9665
- #
9666
- # * **HTTP 400 Bad Request Error**
9914
+ # `PutBucketIntelligentTieringConfiguration` has the following special
9915
+ # errors:
9667
9916
  #
9668
- # * *Code:* InvalidArgument
9917
+ # HTTP 400 Bad Request Error
9669
9918
  #
9670
- # * *Cause:* Invalid Argument
9919
+ # : *Code:* InvalidArgument
9671
9920
  #
9672
- # * **HTTP 400 Bad Request Error**
9921
+ # *Cause:* Invalid Argument
9673
9922
  #
9674
- # * *Code:* TooManyConfigurations
9923
+ # HTTP 400 Bad Request Error
9675
9924
  #
9676
- # * *Cause:* You are attempting to create a new configuration but have
9677
- # already reached the 1,000-configuration limit.
9925
+ # : *Code:* TooManyConfigurations
9678
9926
  #
9679
- # * **HTTP 403 Forbidden Error**
9927
+ # *Cause:* You are attempting to create a new configuration but have
9928
+ # already reached the 1,000-configuration limit.
9680
9929
  #
9681
- # * *Code:* AccessDenied
9930
+ # HTTP 403 Forbidden Error
9682
9931
  #
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.
9932
+ # : *Cause:* You are not the owner of the specified bucket, or you do
9933
+ # not have the `s3:PutIntelligentTieringConfiguration` bucket
9934
+ # permission to set the configuration on the bucket.
9686
9935
  #
9687
9936
  #
9688
9937
  #
@@ -9768,53 +10017,69 @@ module Aws::S3
9768
10017
  # location. For an example policy, see [ Granting Permissions for Amazon
9769
10018
  # S3 Inventory and Storage Class Analysis][2].
9770
10019
  #
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.
10020
+ # Permissions
10021
+ #
10022
+ # : To use this operation, you must have permission to perform the
10023
+ # `s3:PutInventoryConfiguration` action. The bucket owner has this
10024
+ # permission by default and can grant this permission to others.
9777
10025
  #
9778
- # **Special Errors**
10026
+ # The `s3:PutInventoryConfiguration` permission allows a user to
10027
+ # create an [S3 Inventory][3] report that includes all object metadata
10028
+ # fields available and to specify the destination bucket to store the
10029
+ # inventory. A user with read access to objects in the destination
10030
+ # bucket can also access all object metadata fields that are available
10031
+ # in the inventory report.
9779
10032
  #
9780
- # * **HTTP 400 Bad Request Error**
10033
+ # To restrict access to an inventory report, see [Restricting access
10034
+ # to an Amazon S3 Inventory report][4] in the *Amazon S3 User Guide*.
10035
+ # For more information about the metadata fields available in S3
10036
+ # Inventory, see [Amazon S3 Inventory lists][5] in the *Amazon S3 User
10037
+ # Guide*. For more information about permissions, see [Permissions
10038
+ # related to bucket subresource operations][6] and [Identity and
10039
+ # access management in Amazon S3][7] in the *Amazon S3 User Guide*.
9781
10040
  #
9782
- # * *Code:* InvalidArgument
10041
+ # `PutBucketInventoryConfiguration` has the following special errors:
9783
10042
  #
9784
- # * *Cause:* Invalid Argument
10043
+ # HTTP 400 Bad Request Error
9785
10044
  #
9786
- # * **HTTP 400 Bad Request Error**
10045
+ # : *Code:* InvalidArgument
9787
10046
  #
9788
- # * *Code:* TooManyConfigurations
10047
+ # *Cause:* Invalid Argument
9789
10048
  #
9790
- # * *Cause:* You are attempting to create a new configuration but have
9791
- # already reached the 1,000-configuration limit.
10049
+ # HTTP 400 Bad Request Error
9792
10050
  #
9793
- # * **HTTP 403 Forbidden Error**
10051
+ # : *Code:* TooManyConfigurations
9794
10052
  #
9795
- # * *Code:* AccessDenied
10053
+ # *Cause:* You are attempting to create a new configuration but have
10054
+ # already reached the 1,000-configuration limit.
9796
10055
  #
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.
10056
+ # HTTP 403 Forbidden Error
9800
10057
  #
9801
- # **Related Resources**
10058
+ # : *Cause:* You are not the owner of the specified bucket, or you do
10059
+ # not have the `s3:PutInventoryConfiguration` bucket permission to set
10060
+ # the configuration on the bucket.
10061
+ #
10062
+ # The following operations are related to
10063
+ # `PutBucketInventoryConfiguration`:
9802
10064
  #
9803
- # * [GetBucketInventoryConfiguration][5]
10065
+ # * [GetBucketInventoryConfiguration][8]
9804
10066
  #
9805
- # * [DeleteBucketInventoryConfiguration][6]
10067
+ # * [DeleteBucketInventoryConfiguration][9]
9806
10068
  #
9807
- # * [ListBucketInventoryConfigurations][7]
10069
+ # * [ListBucketInventoryConfigurations][10]
9808
10070
  #
9809
10071
  #
9810
10072
  #
9811
10073
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html
9812
10074
  # [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
10075
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-inventory.html
10076
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html#example-bucket-policies-use-case-10
10077
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-inventory.html#storage-inventory-contents
10078
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
10079
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
10080
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html
10081
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html
10082
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html
9818
10083
  #
9819
10084
  # @option params [required, String] :bucket
9820
10085
  # The name of the bucket where the inventory configuration will be
@@ -9914,7 +10179,7 @@ module Aws::S3
9914
10179
  # STANDARD\_IA or ONEZONE\_IA, see [Examples of Lifecycle
9915
10180
  # Configuration][4].
9916
10181
  #
9917
- # **Related Resources**
10182
+ # The following operations are related to `PutBucketLifecycle`:
9918
10183
  #
9919
10184
  # * [GetBucketLifecycle][5](Deprecated)
9920
10185
  #
@@ -10041,56 +10306,58 @@ module Aws::S3
10041
10306
  #
10042
10307
  # </note>
10043
10308
  #
10044
- # **Rules**
10309
+ # Rules
10045
10310
  #
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:
10311
+ # : You specify the lifecycle configuration in your request body. The
10312
+ # lifecycle configuration is specified as XML consisting of one or
10313
+ # more rules. An Amazon S3 Lifecycle configuration can have up to
10314
+ # 1,000 rules. This limit is not adjustable. Each rule consists of the
10315
+ # following:
10051
10316
  #
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.
10317
+ # * Filter identifying a subset of objects to which the rule applies.
10318
+ # The filter can be based on a key name prefix, object tags, or a
10319
+ # combination of both.
10055
10320
  #
10056
- # * Status whether the rule is in effect.
10321
+ # * Status whether the rule is in effect.
10057
10322
  #
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.
10323
+ # * One or more lifecycle transition and expiration actions that you
10324
+ # want Amazon S3 to perform on the objects identified by the filter.
10325
+ # If the state of your bucket is versioning-enabled or
10326
+ # versioning-suspended, you can have many versions of the same
10327
+ # object (one current version and zero or more noncurrent versions).
10328
+ # Amazon S3 provides predefined actions that you can specify for
10329
+ # current and noncurrent object versions.
10065
10330
  #
10066
- # For more information, see [Object Lifecycle Management][3] and
10067
- # [Lifecycle Configuration Elements][4].
10331
+ # For more information, see [Object Lifecycle Management][3] and
10332
+ # [Lifecycle Configuration Elements][4].
10068
10333
  #
10069
- # **Permissions**
10334
+ # Permissions
10070
10335
  #
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.
10336
+ # : By default, all Amazon S3 resources are private, including buckets,
10337
+ # objects, and related subresources (for example, lifecycle
10338
+ # configuration and website configuration). Only the resource owner
10339
+ # (that is, the Amazon Web Services account that created it) can
10340
+ # access the resource. The resource owner can optionally grant access
10341
+ # permissions to others by writing an access policy. For this
10342
+ # operation, a user must get the `s3:PutLifecycleConfiguration`
10343
+ # permission.
10078
10344
  #
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:
10345
+ # You can also explicitly deny permissions. Explicit deny also
10346
+ # supersedes any other permissions. If you want to block users or
10347
+ # accounts from removing or deleting objects from your bucket, you
10348
+ # must deny them permissions for the following actions:
10083
10349
  #
10084
- # * `s3:DeleteObject`
10350
+ # * `s3:DeleteObject`
10085
10351
  #
10086
- # * `s3:DeleteObjectVersion`
10352
+ # * `s3:DeleteObjectVersion`
10087
10353
  #
10088
- # * `s3:PutLifecycleConfiguration`
10354
+ # * `s3:PutLifecycleConfiguration`
10089
10355
  #
10090
- # For more information about permissions, see [Managing Access
10091
- # Permissions to Your Amazon S3 Resources][5].
10356
+ # For more information about permissions, see [Managing Access
10357
+ # Permissions to Your Amazon S3 Resources][5].
10092
10358
  #
10093
- # The following are related to `PutBucketLifecycleConfiguration`:
10359
+ # The following operations are related to
10360
+ # `PutBucketLifecycleConfiguration`:
10094
10361
  #
10095
10362
  # * [Examples of Lifecycle Configuration][6]
10096
10363
  #
@@ -10255,31 +10522,31 @@ module Aws::S3
10255
10522
  # using policies. For more information, see [Permissions for server
10256
10523
  # access log delivery][1] in the *Amazon S3 User Guide*.
10257
10524
  #
10258
- # **Grantee Values**
10525
+ # Grantee Values
10259
10526
  #
10260
- # You can specify the person (grantee) to whom you're assigning access
10261
- # rights (using request elements) in the following ways:
10527
+ # : You can specify the person (grantee) to whom you're assigning
10528
+ # access rights (using request elements) in the following ways:
10262
10529
  #
10263
- # * By the person's ID:
10530
+ # * By the person's ID:
10264
10531
  #
10265
- # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10266
- # xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName>
10267
- # </Grantee>`
10532
+ # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10533
+ # xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName>
10534
+ # </Grantee>`
10268
10535
  #
10269
- # DisplayName is optional and ignored in the request.
10536
+ # DisplayName is optional and ignored in the request.
10270
10537
  #
10271
- # * By Email address:
10538
+ # * By Email address:
10272
10539
  #
10273
- # ` <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10274
- # xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress></Grantee>`
10540
+ # ` <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10541
+ # xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress></Grantee>`
10275
10542
  #
10276
- # The grantee is resolved to the CanonicalUser and, in a response to a
10277
- # GET Object acl request, appears as the CanonicalUser.
10543
+ # The grantee is resolved to the CanonicalUser and, in a response to
10544
+ # a GET Object acl request, appears as the CanonicalUser.
10278
10545
  #
10279
- # * By URI:
10546
+ # * By URI:
10280
10547
  #
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>`
10548
+ # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10549
+ # xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>`
10283
10550
  #
10284
10551
  # To enable logging, you use LoggingEnabled and its children request
10285
10552
  # elements. To disable logging, you use an empty BucketLoggingStatus
@@ -10459,7 +10726,9 @@ module Aws::S3
10459
10726
  # The name of the bucket for which the metrics configuration is set.
10460
10727
  #
10461
10728
  # @option params [required, String] :id
10462
- # The ID used to identify the metrics configuration.
10729
+ # The ID used to identify the metrics configuration. The ID has a 64
10730
+ # character limit and can only contain letters, numbers, periods,
10731
+ # dashes, and underscores.
10463
10732
  #
10464
10733
  # @option params [required, Types::MetricsConfiguration] :metrics_configuration
10465
10734
  # Specifies the metrics configuration.
@@ -10642,8 +10911,6 @@ module Aws::S3
10642
10911
  #
10643
10912
  # </note>
10644
10913
  #
10645
- # **Responses**
10646
- #
10647
10914
  # If the configuration in the request body includes only one
10648
10915
  # `TopicConfiguration` specifying only the
10649
10916
  # `s3:ReducedRedundancyLostObject` event type, the response will also
@@ -10849,10 +11116,14 @@ module Aws::S3
10849
11116
  # you're not using an identity that belongs to the bucket owner's
10850
11117
  # account, Amazon S3 returns a `405 Method Not Allowed` error.
10851
11118
  #
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.
11119
+ # To ensure that bucket owners don't inadvertently lock themselves out
11120
+ # of their own buckets, the root principal in a bucket owner's Amazon
11121
+ # Web Services account can perform the `GetBucketPolicy`,
11122
+ # `PutBucketPolicy`, and `DeleteBucketPolicy` API actions, even if their
11123
+ # bucket policy explicitly denies the root principal's access. Bucket
11124
+ # owner root principals can only be blocked from performing these API
11125
+ # actions by VPC endpoint policies and Amazon Web Services Organizations
11126
+ # policies.
10856
11127
  #
10857
11128
  # For more information, see [Bucket policy examples][1].
10858
11129
  #
@@ -10969,35 +11240,35 @@ module Aws::S3
10969
11240
  # For information about enabling versioning on a bucket, see [Using
10970
11241
  # Versioning][3].
10971
11242
  #
10972
- # **Handling Replication of Encrypted Objects**
11243
+ # Handling Replication of Encrypted Objects
10973
11244
  #
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].
11245
+ # : By default, Amazon S3 doesn't replicate objects that are stored at
11246
+ # rest using server-side encryption with KMS keys. To replicate Amazon
11247
+ # Web Services KMS-encrypted objects, add the following:
11248
+ # `SourceSelectionCriteria`, `SseKmsEncryptedObjects`, `Status`,
11249
+ # `EncryptionConfiguration`, and `ReplicaKmsKeyID`. For information
11250
+ # about replication configuration, see [Replicating Objects Created
11251
+ # with SSE Using KMS keys][4].
10981
11252
  #
10982
- # For information on `PutBucketReplication` errors, see [List of
10983
- # replication-related error codes][5]
11253
+ # For information on `PutBucketReplication` errors, see [List of
11254
+ # replication-related error codes][5]
10984
11255
  #
10985
- # **Permissions**
11256
+ # Permissions
10986
11257
  #
10987
- # To create a `PutBucketReplication` request, you must have
10988
- # `s3:PutReplicationConfiguration` permissions for the bucket.
11258
+ # : To create a `PutBucketReplication` request, you must have
11259
+ # `s3:PutReplicationConfiguration` permissions for the bucket.
10989
11260
  #
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].
11261
+ # By default, a resource owner, in this case the Amazon Web Services
11262
+ # account that created the bucket, can perform this operation. The
11263
+ # resource owner can also grant others permissions to perform the
11264
+ # operation. For more information about permissions, see [Specifying
11265
+ # Permissions in a Policy][6] and [Managing Access Permissions to Your
11266
+ # Amazon S3 Resources][7].
10996
11267
  #
10997
- # <note markdown="1"> To perform this operation, the user or role performing the action must
10998
- # have the [iam:PassRole][8] permission.
11268
+ # <note markdown="1"> To perform this operation, the user or role performing the action
11269
+ # must have the [iam:PassRole][8] permission.
10999
11270
  #
11000
- # </note>
11271
+ # </note>
11001
11272
  #
11002
11273
  # The following operations are related to `PutBucketReplication`:
11003
11274
  #
@@ -11446,16 +11717,16 @@ module Aws::S3
11446
11717
  # header and the `Status` and the `MfaDelete` request elements in a
11447
11718
  # request to set the versioning state of the bucket.
11448
11719
  #
11449
- # If you have an object expiration lifecycle policy in your
11720
+ # If you have an object expiration lifecycle configuration in your
11450
11721
  # non-versioned bucket and you want to maintain the same permanent
11451
11722
  # 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
11723
+ # expiration policy. The noncurrent expiration lifecycle configuration
11724
+ # will manage the deletes of the noncurrent object versions in the
11454
11725
  # version-enabled bucket. (A version-enabled bucket maintains one
11455
11726
  # current and zero or more noncurrent object versions.) For more
11456
11727
  # information, see [Lifecycle and Versioning][2].
11457
11728
  #
11458
- # **Related Resources**
11729
+ # The following operations are related to `PutBucketVersioning`:
11459
11730
  #
11460
11731
  # * [CreateBucket][3]
11461
11732
  #
@@ -11734,14 +12005,18 @@ module Aws::S3
11734
12005
  # Adds an object to a bucket. You must have WRITE permissions on a
11735
12006
  # bucket to add an object to it.
11736
12007
  #
11737
- # Amazon S3 never adds partial objects; if you receive a success
11738
- # response, Amazon S3 added the entire object to the bucket.
12008
+ # <note markdown="1"> Amazon S3 never adds partial objects; if you receive a success
12009
+ # response, Amazon S3 added the entire object to the bucket. You cannot
12010
+ # use `PutObject` to only update a single piece of metadata for an
12011
+ # existing object. You must put the entire object with updated metadata
12012
+ # if you want to update some values.
12013
+ #
12014
+ # </note>
11739
12015
  #
11740
12016
  # Amazon S3 is a distributed system. If it receives multiple write
11741
12017
  # 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.
12018
+ # last object written. To prevent objects from being deleted or
12019
+ # overwritten, you can use [Amazon S3 Object Lock][1].
11745
12020
  #
11746
12021
  # To ensure that data is not corrupted traversing the network, use the
11747
12022
  # `Content-MD5` header. When you use this header, Amazon S3 checks the
@@ -11756,36 +12031,33 @@ module Aws::S3
11756
12031
  # * To successfully change the objects acl of your `PutObject` request,
11757
12032
  # you must have the `s3:PutObjectAcl` in your IAM permissions.
11758
12033
  #
12034
+ # * To successfully set the tag-set with your `PutObject` request, you
12035
+ # must have the `s3:PutObjectTagging` in your IAM permissions.
12036
+ #
11759
12037
  # * The `Content-MD5` header is required for any request to upload an
11760
12038
  # object with a retention period configured using Amazon S3 Object
11761
12039
  # Lock. For more information about Amazon S3 Object Lock, see [Amazon
11762
- # S3 Object Lock Overview][1] in the *Amazon S3 User Guide*.
12040
+ # S3 Object Lock Overview][2] in the *Amazon S3 User Guide*.
11763
12041
  #
11764
12042
  # </note>
11765
12043
  #
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].
12044
+ # You have three mutually exclusive options to protect data using
12045
+ # server-side encryption in Amazon S3, depending on how you choose to
12046
+ # manage the encryption keys. Specifically, the encryption key options
12047
+ # are Amazon S3 managed keys (SSE-S3), Amazon Web Services KMS keys
12048
+ # (SSE-KMS), and customer-provided keys (SSE-C). Amazon S3 encrypts data
12049
+ # with server-side encryption by using Amazon S3 managed keys (SSE-S3)
12050
+ # by default. You can optionally tell Amazon S3 to encrypt data at by
12051
+ # rest using server-side encryption with other key options. For more
12052
+ # information, see [Using Server-Side Encryption][3].
12053
+ #
12054
+ # When adding a new object, you can use headers to grant ACL-based
12055
+ # permissions to individual Amazon Web Services accounts or to
12056
+ # predefined groups defined by Amazon S3. These permissions are then
12057
+ # added to the ACL on the object. By default, all objects are private.
12058
+ # Only the owner has full access control. For more information, see
12059
+ # [Access Control List (ACL) Overview][4] and [Managing ACLs Using the
12060
+ # REST API][5].
11789
12061
  #
11790
12062
  # If the bucket that you're uploading objects to uses the bucket owner
11791
12063
  # enforced setting for S3 Object Ownership, ACLs are disabled and no
@@ -11796,10 +12068,9 @@ module Aws::S3
11796
12068
  # ACL expressed in the XML format. PUT requests that contain other ACLs
11797
12069
  # (for example, custom grants to certain Amazon Web Services accounts)
11798
12070
  # 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*.
12071
+ # `AccessControlListNotSupported`. For more information, see [
12072
+ # Controlling ownership of objects and disabling ACLs][6] in the *Amazon
12073
+ # S3 User Guide*.
11803
12074
  #
11804
12075
  # <note markdown="1"> If your bucket uses the bucket owner enforced setting for Object
11805
12076
  # Ownership, all objects written to the bucket by any account will be
@@ -11807,8 +12078,6 @@ module Aws::S3
11807
12078
  #
11808
12079
  # </note>
11809
12080
  #
11810
- # **Storage Class Options**
11811
- #
11812
12081
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
11813
12082
  # created objects. The STANDARD storage class provides high durability
11814
12083
  # and high availability. Depending on performance needs, you can specify
@@ -11816,19 +12085,16 @@ module Aws::S3
11816
12085
  # OUTPOSTS Storage Class. For more information, see [Storage Classes][7]
11817
12086
  # in the *Amazon S3 User Guide*.
11818
12087
  #
11819
- # **Versioning**
11820
- #
11821
12088
  # If you enable versioning for a bucket, Amazon S3 automatically
11822
12089
  # generates a unique version ID for the object being stored. Amazon S3
11823
12090
  # returns this ID in the response. When you enable versioning for a
11824
12091
  # 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
12092
+ # object simultaneously, it stores all of the objects. For more
12093
+ # information about versioning, see [Adding Objects to
12094
+ # Versioning-Enabled Buckets][8]. For information about returning the
11829
12095
  # versioning state of a bucket, see [GetBucketVersioning][9].
11830
12096
  #
11831
- # **Related Resources**
12097
+ # For more information about related Amazon S3 APIs, see the following:
11832
12098
  #
11833
12099
  # * [CopyObject][10]
11834
12100
  #
@@ -11836,9 +12102,9 @@ module Aws::S3
11836
12102
  #
11837
12103
  #
11838
12104
  #
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
12105
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html
12106
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html
12107
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
11842
12108
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
11843
12109
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html
11844
12110
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
@@ -11872,14 +12138,14 @@ module Aws::S3
11872
12138
  # name. For more information about access point ARNs, see [Using access
11873
12139
  # points][1] in the *Amazon S3 User Guide*.
11874
12140
  #
11875
- # When using this action with Amazon S3 on Outposts, you must direct
12141
+ # When you use this action with Amazon S3 on Outposts, you must direct
11876
12142
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
11877
12143
  # takes the form `
11878
12144
  # 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*.
12145
+ # When you use this action with S3 on Outposts through the Amazon Web
12146
+ # Services SDKs, you provide the Outposts access point ARN in place of
12147
+ # the bucket name. For more information about S3 on Outposts ARNs, see
12148
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
11883
12149
  #
11884
12150
  #
11885
12151
  #
@@ -11898,21 +12164,21 @@ module Aws::S3
11898
12164
  # @option params [String] :content_disposition
11899
12165
  # Specifies presentational information for the object. For more
11900
12166
  # information, see
11901
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1][1].
12167
+ # [https://www.rfc-editor.org/rfc/rfc6266#section-4][1].
11902
12168
  #
11903
12169
  #
11904
12170
  #
11905
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1
12171
+ # [1]: https://www.rfc-editor.org/rfc/rfc6266#section-4
11906
12172
  #
11907
12173
  # @option params [String] :content_encoding
11908
12174
  # Specifies what content encodings have been applied to the object and
11909
12175
  # thus what decoding mechanisms must be applied to obtain the media-type
11910
12176
  # referenced by the Content-Type header field. For more information, see
11911
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11][1].
12177
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding][1].
11912
12178
  #
11913
12179
  #
11914
12180
  #
11915
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11
12181
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding
11916
12182
  #
11917
12183
  # @option params [String] :content_language
11918
12184
  # The language the content is in.
@@ -11920,11 +12186,11 @@ module Aws::S3
11920
12186
  # @option params [Integer] :content_length
11921
12187
  # Size of the body in bytes. This parameter is useful when the size of
11922
12188
  # the body cannot be determined automatically. For more information, see
11923
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13][1].
12189
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length][1].
11924
12190
  #
11925
12191
  #
11926
12192
  #
11927
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13
12193
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
11928
12194
  #
11929
12195
  # @option params [String] :content_md5
11930
12196
  # The base64-encoded 128-bit MD5 digest of the message (without the
@@ -11942,11 +12208,11 @@ module Aws::S3
11942
12208
  # @option params [String] :content_type
11943
12209
  # A standard MIME type describing the format of the contents. For more
11944
12210
  # information, see
11945
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17][1].
12211
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type][1].
11946
12212
  #
11947
12213
  #
11948
12214
  #
11949
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
12215
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type
11950
12216
  #
11951
12217
  # @option params [String] :checksum_algorithm
11952
12218
  # Indicates the algorithm used to create the checksum for the object
@@ -12011,11 +12277,11 @@ module Aws::S3
12011
12277
  # @option params [Time,DateTime,Date,Integer,String] :expires
12012
12278
  # The date and time at which the object is no longer cacheable. For more
12013
12279
  # information, see
12014
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21][1].
12280
+ # [https://www.rfc-editor.org/rfc/rfc7234#section-5.3][1].
12015
12281
  #
12016
12282
  #
12017
12283
  #
12018
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21
12284
+ # [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
12019
12285
  #
12020
12286
  # @option params [String] :grant_full_control
12021
12287
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
@@ -12046,7 +12312,7 @@ module Aws::S3
12046
12312
  #
12047
12313
  # @option params [String] :server_side_encryption
12048
12314
  # The server-side encryption algorithm used when storing this object in
12049
- # Amazon S3 (for example, AES256, aws:kms).
12315
+ # Amazon S3 (for example, AES256, `aws:kms`).
12050
12316
  #
12051
12317
  # @option params [String] :storage_class
12052
12318
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
@@ -12103,9 +12369,9 @@ module Aws::S3
12103
12369
  # ensure that the encryption key was transmitted without error.
12104
12370
  #
12105
12371
  # @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
12372
+ # If `x-amz-server-side-encryption` has a valid value of `aws:kms`, this
12373
+ # header specifies the ID of the Amazon Web Services Key Management
12374
+ # Service (Amazon Web Services KMS) symmetric encryption customer
12109
12375
  # managed key that was used for the object. If you specify
12110
12376
  # `x-amz-server-side-encryption:aws:kms`, but do not provide`
12111
12377
  # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
@@ -12116,7 +12382,10 @@ module Aws::S3
12116
12382
  # @option params [String] :ssekms_encryption_context
12117
12383
  # Specifies the Amazon Web Services KMS Encryption Context to use for
12118
12384
  # object encryption. The value of this header is a base64-encoded UTF-8
12119
- # string holding JSON with the encryption context key-value pairs.
12385
+ # string holding JSON with the encryption context key-value pairs. This
12386
+ # value is stored as object metadata and automatically gets passed on to
12387
+ # Amazon Web Services KMS for future `GetObject` or `CopyObject`
12388
+ # operations on this object.
12120
12389
  #
12121
12390
  # @option params [Boolean] :bucket_key_enabled
12122
12391
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
@@ -12198,26 +12467,27 @@ module Aws::S3
12198
12467
  # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
12199
12468
  # }
12200
12469
  #
12201
- # @example Example: To upload an object
12470
+ # @example Example: To upload an object and specify canned ACL.
12202
12471
  #
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.
12472
+ # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
12473
+ # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
12205
12474
  #
12206
12475
  # resp = client.put_object({
12207
- # body: "HappyFace.jpg",
12476
+ # acl: "authenticated-read",
12477
+ # body: "filetoupload",
12208
12478
  # bucket: "examplebucket",
12209
- # key: "HappyFace.jpg",
12479
+ # key: "exampleobject",
12210
12480
  # })
12211
12481
  #
12212
12482
  # resp.to_h outputs the following:
12213
12483
  # {
12214
12484
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12215
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
12485
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
12216
12486
  # }
12217
12487
  #
12218
12488
  # @example Example: To upload an object and specify server-side encryption and object tags
12219
12489
  #
12220
- # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
12490
+ # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
12221
12491
  # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
12222
12492
  #
12223
12493
  # resp = client.put_object({
@@ -12235,79 +12505,78 @@ module Aws::S3
12235
12505
  # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
12236
12506
  # }
12237
12507
  #
12238
- # @example Example: To upload object and specify user-defined metadata
12508
+ # @example Example: To create an object.
12239
12509
  #
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.
12510
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
12242
12511
  #
12243
12512
  # resp = client.put_object({
12244
12513
  # body: "filetoupload",
12245
12514
  # bucket: "examplebucket",
12246
- # key: "exampleobject",
12247
- # metadata: {
12248
- # "metadata1" => "value1",
12249
- # "metadata2" => "value2",
12250
- # },
12515
+ # key: "objectkey",
12251
12516
  # })
12252
12517
  #
12253
12518
  # resp.to_h outputs the following:
12254
12519
  # {
12255
12520
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12256
- # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
12521
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
12257
12522
  # }
12258
12523
  #
12259
- # @example Example: To upload an object (specify optional headers)
12524
+ # @example Example: To upload an object
12260
12525
  #
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.
12526
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
12527
+ # # syntax. S3 returns VersionId of the newly created object.
12263
12528
  #
12264
12529
  # resp = client.put_object({
12265
12530
  # body: "HappyFace.jpg",
12266
12531
  # bucket: "examplebucket",
12267
12532
  # key: "HappyFace.jpg",
12268
- # server_side_encryption: "AES256",
12269
- # storage_class: "STANDARD_IA",
12270
12533
  # })
12271
12534
  #
12272
12535
  # resp.to_h outputs the following:
12273
12536
  # {
12274
12537
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12275
- # server_side_encryption: "AES256",
12276
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
12538
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
12277
12539
  # }
12278
12540
  #
12279
- # @example Example: To upload an object and specify canned ACL.
12541
+ # @example Example: To upload an object (specify optional headers)
12280
12542
  #
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.
12543
+ # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
12544
+ # # storage class and use server-side encryption.
12283
12545
  #
12284
12546
  # resp = client.put_object({
12285
- # acl: "authenticated-read",
12286
- # body: "filetoupload",
12547
+ # body: "HappyFace.jpg",
12287
12548
  # bucket: "examplebucket",
12288
- # key: "exampleobject",
12549
+ # key: "HappyFace.jpg",
12550
+ # server_side_encryption: "AES256",
12551
+ # storage_class: "STANDARD_IA",
12289
12552
  # })
12290
12553
  #
12291
12554
  # resp.to_h outputs the following:
12292
12555
  # {
12293
12556
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12294
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
12557
+ # server_side_encryption: "AES256",
12558
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
12295
12559
  # }
12296
12560
  #
12297
- # @example Example: To create an object.
12561
+ # @example Example: To upload object and specify user-defined metadata
12298
12562
  #
12299
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
12563
+ # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
12564
+ # # enabled, S3 returns version ID in response.
12300
12565
  #
12301
12566
  # resp = client.put_object({
12302
12567
  # body: "filetoupload",
12303
12568
  # bucket: "examplebucket",
12304
- # key: "objectkey",
12569
+ # key: "exampleobject",
12570
+ # metadata: {
12571
+ # "metadata1" => "value1",
12572
+ # "metadata2" => "value2",
12573
+ # },
12305
12574
  # })
12306
12575
  #
12307
12576
  # resp.to_h outputs the following:
12308
12577
  # {
12309
12578
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12310
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
12579
+ # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
12311
12580
  # }
12312
12581
  #
12313
12582
  # @example Streaming a file from disk
@@ -12409,131 +12678,132 @@ module Aws::S3
12409
12678
  # still supported. For more information, see [Controlling object
12410
12679
  # ownership][3] in the *Amazon S3 User Guide*.
12411
12680
  #
12412
- # **Access Permissions**
12681
+ # Permissions
12413
12682
  #
12414
- # You can set access permissions using one of the following methods:
12683
+ # : You can set access permissions using one of the following methods:
12415
12684
  #
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].
12685
+ # * Specify a canned ACL with the `x-amz-acl` request header. Amazon
12686
+ # S3 supports a set of predefined ACLs, known as canned ACLs. Each
12687
+ # canned ACL has a predefined set of grantees and permissions.
12688
+ # Specify the canned ACL name as the value of `x-amz-ac`l. If you
12689
+ # use this header, you cannot use other access control-specific
12690
+ # headers in your request. For more information, see [Canned
12691
+ # ACL][4].
12422
12692
  #
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].
12693
+ # * Specify access permissions explicitly with the `x-amz-grant-read`,
12694
+ # `x-amz-grant-read-acp`, `x-amz-grant-write-acp`, and
12695
+ # `x-amz-grant-full-control` headers. When using these headers, you
12696
+ # specify explicit access permissions and grantees (Amazon Web
12697
+ # Services accounts or Amazon S3 groups) who will receive the
12698
+ # permission. If you use these ACL-specific headers, you cannot use
12699
+ # `x-amz-acl` header to set a canned ACL. These parameters map to
12700
+ # the set of permissions that Amazon S3 supports in an ACL. For more
12701
+ # information, see [Access Control List (ACL) Overview][2].
12432
12702
  #
12433
- # You specify each grantee as a type=value pair, where the type is one
12434
- # of the following:
12703
+ # You specify each grantee as a type=value pair, where the type is
12704
+ # one of the following:
12435
12705
  #
12436
- # * `id` – if the value specified is the canonical user ID of an
12437
- # Amazon Web Services account
12706
+ # * `id` – if the value specified is the canonical user ID of an
12707
+ # Amazon Web Services account
12438
12708
  #
12439
- # * `uri` – if you are granting permissions to a predefined group
12709
+ # * `uri` – if you are granting permissions to a predefined group
12440
12710
  #
12441
- # * `emailAddress` – if the value specified is the email address of an
12442
- # Amazon Web Services account
12711
+ # * `emailAddress` – if the value specified is the email address of
12712
+ # an Amazon Web Services account
12443
12713
  #
12444
- # <note markdown="1"> Using email addresses to specify a grantee is only supported in
12445
- # the following Amazon Web Services Regions:
12714
+ # <note markdown="1"> Using email addresses to specify a grantee is only supported in
12715
+ # the following Amazon Web Services Regions:
12446
12716
  #
12447
- # * US East (N. Virginia)
12717
+ # * US East (N. Virginia)
12448
12718
  #
12449
- # * US West (N. California)
12719
+ # * US West (N. California)
12450
12720
  #
12451
- # * US West (Oregon)
12721
+ # * US West (Oregon)
12452
12722
  #
12453
- # * Asia Pacific (Singapore)
12723
+ # * Asia Pacific (Singapore)
12454
12724
  #
12455
- # * Asia Pacific (Sydney)
12725
+ # * Asia Pacific (Sydney)
12456
12726
  #
12457
- # * Asia Pacific (Tokyo)
12727
+ # * Asia Pacific (Tokyo)
12458
12728
  #
12459
- # * Europe (Ireland)
12729
+ # * Europe (Ireland)
12460
12730
  #
12461
- # * South America (São Paulo)
12731
+ # * South America (São Paulo)
12462
12732
  #
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.
12733
+ # For a list of all the Amazon S3 supported Regions and endpoints,
12734
+ # see [Regions and Endpoints][5] in the Amazon Web Services
12735
+ # General Reference.
12466
12736
  #
12467
- # </note>
12737
+ # </note>
12468
12738
  #
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.
12739
+ # For example, the following `x-amz-grant-read` header grants list
12740
+ # objects permission to the two Amazon Web Services accounts
12741
+ # identified by their email addresses.
12472
12742
  #
12473
- # `x-amz-grant-read: emailAddress="xyz@amazon.com",
12474
- # emailAddress="abc@amazon.com" `
12743
+ # `x-amz-grant-read: emailAddress="xyz@amazon.com",
12744
+ # emailAddress="abc@amazon.com" `
12475
12745
  #
12476
- # You can use either a canned ACL or specify access permissions
12477
- # explicitly. You cannot do both.
12746
+ # You can use either a canned ACL or specify access permissions
12747
+ # explicitly. You cannot do both.
12478
12748
  #
12479
- # **Grantee Values**
12749
+ # Grantee Values
12480
12750
  #
12481
- # You can specify the person (grantee) to whom you're assigning access
12482
- # rights (using request elements) in the following ways:
12751
+ # : You can specify the person (grantee) to whom you're assigning
12752
+ # access rights (using request elements) in the following ways:
12483
12753
  #
12484
- # * By the person's ID:
12754
+ # * By the person's ID:
12485
12755
  #
12486
- # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
12487
- # xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName>
12488
- # </Grantee>`
12756
+ # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
12757
+ # xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName>
12758
+ # </Grantee>`
12489
12759
  #
12490
- # DisplayName is optional and ignored in the request.
12760
+ # DisplayName is optional and ignored in the request.
12491
12761
  #
12492
- # * By URI:
12762
+ # * By URI:
12493
12763
  #
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>`
12764
+ # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
12765
+ # xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>`
12496
12766
  #
12497
- # * By Email address:
12767
+ # * By Email address:
12498
12768
  #
12499
- # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
12500
- # xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee>`
12769
+ # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
12770
+ # xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee>`
12501
12771
  #
12502
- # The grantee is resolved to the CanonicalUser and, in a response to a
12503
- # GET Object acl request, appears as the CanonicalUser.
12772
+ # The grantee is resolved to the CanonicalUser and, in a response to
12773
+ # a GET Object acl request, appears as the CanonicalUser.
12504
12774
  #
12505
- # <note markdown="1"> Using email addresses to specify a grantee is only supported in the
12506
- # following Amazon Web Services Regions:
12775
+ # <note markdown="1"> Using email addresses to specify a grantee is only supported in
12776
+ # the following Amazon Web Services Regions:
12507
12777
  #
12508
- # * US East (N. Virginia)
12778
+ # * US East (N. Virginia)
12509
12779
  #
12510
- # * US West (N. California)
12780
+ # * US West (N. California)
12511
12781
  #
12512
- # * US West (Oregon)
12782
+ # * US West (Oregon)
12513
12783
  #
12514
- # * Asia Pacific (Singapore)
12784
+ # * Asia Pacific (Singapore)
12515
12785
  #
12516
- # * Asia Pacific (Sydney)
12786
+ # * Asia Pacific (Sydney)
12517
12787
  #
12518
- # * Asia Pacific (Tokyo)
12788
+ # * Asia Pacific (Tokyo)
12519
12789
  #
12520
- # * Europe (Ireland)
12790
+ # * Europe (Ireland)
12521
12791
  #
12522
- # * South America (São Paulo)
12792
+ # * South America (São Paulo)
12523
12793
  #
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.
12794
+ # For a list of all the Amazon S3 supported Regions and endpoints,
12795
+ # see [Regions and Endpoints][5] in the Amazon Web Services General
12796
+ # Reference.
12527
12797
  #
12528
- # </note>
12798
+ # </note>
12529
12799
  #
12530
- # **Versioning**
12800
+ # Versioning
12531
12801
  #
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.
12802
+ # : The ACL of an object is set at the object version level. By default,
12803
+ # PUT sets the ACL of the current version of an object. To set the ACL
12804
+ # of a different version, use the `versionId` subresource.
12535
12805
  #
12536
- # **Related Resources**
12806
+ # The following operations are related to `PutObjectAcl`:
12537
12807
  #
12538
12808
  # * [CopyObject][6]
12539
12809
  #
@@ -12645,14 +12915,14 @@ module Aws::S3
12645
12915
  # name. For more information about access point ARNs, see [Using access
12646
12916
  # points][1] in the *Amazon S3 User Guide*.
12647
12917
  #
12648
- # When using this action with Amazon S3 on Outposts, you must direct
12918
+ # When you use this action with Amazon S3 on Outposts, you must direct
12649
12919
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
12650
12920
  # takes the form `
12651
12921
  # 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*.
12922
+ # When you use this action with S3 on Outposts through the Amazon Web
12923
+ # Services SDKs, you provide the Outposts access point ARN in place of
12924
+ # the bucket name. For more information about S3 on Outposts ARNs, see
12925
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
12656
12926
  #
12657
12927
  #
12658
12928
  #
@@ -13103,7 +13373,7 @@ module Aws::S3
13103
13373
  # For information about the Amazon S3 object tagging feature, see
13104
13374
  # [Object Tagging][3].
13105
13375
  #
13106
- # **Special Errors**
13376
+ # `PutObjectTagging` has the following special errors:
13107
13377
  #
13108
13378
  # * * <i>Code: InvalidTagError </i>
13109
13379
  #
@@ -13125,7 +13395,7 @@ module Aws::S3
13125
13395
  # * *Cause: The service was unable to apply the provided tag to the
13126
13396
  # object.*
13127
13397
  #
13128
- # **Related Resources**
13398
+ # The following operations are related to `PutObjectTagging`:
13129
13399
  #
13130
13400
  # * [GetObjectTagging][1]
13131
13401
  #
@@ -13149,14 +13419,14 @@ module Aws::S3
13149
13419
  # name. For more information about access point ARNs, see [Using access
13150
13420
  # points][1] in the *Amazon S3 User Guide*.
13151
13421
  #
13152
- # When using this action with Amazon S3 on Outposts, you must direct
13422
+ # When you use this action with Amazon S3 on Outposts, you must direct
13153
13423
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
13154
13424
  # takes the form `
13155
13425
  # 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*.
13426
+ # When you use this action with S3 on Outposts through the Amazon Web
13427
+ # Services SDKs, you provide the Outposts access point ARN in place of
13428
+ # the bucket name. For more information about S3 on Outposts ARNs, see
13429
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
13160
13430
  #
13161
13431
  #
13162
13432
  #
@@ -13291,7 +13561,7 @@ module Aws::S3
13291
13561
  # For more information about when Amazon S3 considers a bucket or an
13292
13562
  # object public, see [The Meaning of "Public"][2].
13293
13563
  #
13294
- # **Related Resources**
13564
+ # The following operations are related to `PutPublicAccessBlock`:
13295
13565
  #
13296
13566
  # * [GetPublicAccessBlock][3]
13297
13567
  #
@@ -13389,69 +13659,37 @@ module Aws::S3
13389
13659
  #
13390
13660
  # * `restore an archive` - Restore an archived object
13391
13661
  #
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:
13662
+ # For more information about the `S3` structure in the request body, see
13663
+ # the following:
13422
13664
  #
13423
- # * [PutObject][4]
13665
+ # * [PutObject][1]
13424
13666
  #
13425
- # * [Managing Access with ACLs][5] in the *Amazon S3 User Guide*
13667
+ # * [Managing Access with ACLs][2] in the *Amazon S3 User Guide*
13426
13668
  #
13427
- # * [Protecting Data Using Server-Side Encryption][6] in the *Amazon
13428
- # S3 User Guide*
13669
+ # * [Protecting Data Using Server-Side Encryption][3] in the *Amazon S3
13670
+ # User Guide*
13429
13671
  #
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.
13672
+ # Define the SQL expression for the `SELECT` type of restoration for
13673
+ # your query in the request body's `SelectParameters` structure. You
13674
+ # can use expressions like the following examples.
13433
13675
  #
13434
- # * The following expression returns all records from the specified
13435
- # object.
13676
+ # * The following expression returns all records from the specified
13677
+ # object.
13436
13678
  #
13437
- # `SELECT * FROM Object`
13679
+ # `SELECT * FROM Object`
13438
13680
  #
13439
- # * Assuming that you are not using any headers for data stored in the
13440
- # object, you can specify columns with positional headers.
13681
+ # * Assuming that you are not using any headers for data stored in the
13682
+ # object, you can specify columns with positional headers.
13441
13683
  #
13442
- # `SELECT s._1, s._2 FROM Object s WHERE s._3 > 100`
13684
+ # `SELECT s._1, s._2 FROM Object s WHERE s._3 > 100`
13443
13685
  #
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.
13686
+ # * If you have headers and you set the `fileHeaderInfo` in the `CSV`
13687
+ # structure in the request body to `USE`, you can specify headers in
13688
+ # the query. (If you set the `fileHeaderInfo` field to `IGNORE`, the
13689
+ # first row is skipped for the query.) You cannot mix ordinal
13690
+ # positions with header column names.
13449
13691
  #
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*.
13692
+ # `SELECT s.Id, s.FirstName, s.SSN FROM S3Object s`
13455
13693
  #
13456
13694
  # When making a select request, you can also do the following:
13457
13695
  #
@@ -13467,155 +13705,168 @@ module Aws::S3
13467
13705
  #
13468
13706
  # * The output results are new Amazon S3 objects. Unlike archive
13469
13707
  # retrievals, they are stored until explicitly deleted-manually or
13470
- # through a lifecycle policy.
13708
+ # through a lifecycle configuration.
13471
13709
  #
13472
13710
  # * You can issue more than one select request on the same Amazon S3
13473
- # object. Amazon S3 doesn't deduplicate requests, so avoid issuing
13711
+ # object. Amazon S3 doesn't duplicate requests, so avoid issuing
13474
13712
  # duplicate requests.
13475
13713
  #
13476
13714
  # * Amazon S3 accepts a select request even if the object has already
13477
13715
  # been restored. A select request doesn’t return error response `409`.
13478
13716
  #
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*.
13717
+ # Permissions
13718
+ #
13719
+ # : To use this operation, you must have permissions to perform the
13720
+ # `s3:RestoreObject` action. The bucket owner has this permission by
13721
+ # default and can grant this permission to others. For more
13722
+ # information about permissions, see [Permissions Related to Bucket
13723
+ # Subresource Operations][4] and [Managing Access Permissions to Your
13724
+ # Amazon S3 Resources][5] in the *Amazon S3 User Guide*.
13725
+ #
13726
+ # Restoring objects
13727
+ #
13728
+ # : Objects that you archive to the S3 Glacier Flexible Retrieval or S3
13729
+ # Glacier Deep Archive storage class, and S3 Intelligent-Tiering
13730
+ # Archive or S3 Intelligent-Tiering Deep Archive tiers, are not
13731
+ # accessible in real time. For objects in the S3 Glacier Flexible
13732
+ # Retrieval or S3 Glacier Deep Archive storage classes, you must first
13733
+ # initiate a restore request, and then wait until a temporary copy of
13734
+ # the object is available. If you want a permanent copy of the object,
13735
+ # create a copy of it in the Amazon S3 Standard storage class in your
13736
+ # S3 bucket. To access an archived object, you must restore the object
13737
+ # for the duration (number of days) that you specify. For objects in
13738
+ # the Archive Access or Deep Archive Access tiers of S3
13739
+ # Intelligent-Tiering, you must first initiate a restore request, and
13740
+ # then wait until the object is moved into the Frequent Access tier.
13741
+ #
13742
+ # To restore a specific object version, you can provide a version ID.
13743
+ # If you don't provide a version ID, Amazon S3 restores the current
13744
+ # version.
13745
+ #
13746
+ # When restoring an archived object, you can specify one of the
13747
+ # following data access tier options in the `Tier` element of the
13748
+ # request body:
13749
+ #
13750
+ # * `Expedited` - Expedited retrievals allow you to quickly access
13751
+ # your data stored in the S3 Glacier Flexible Retrieval storage
13752
+ # class or S3 Intelligent-Tiering Archive tier when occasional
13753
+ # urgent requests for restoring archives are required. For all but
13754
+ # the largest archived objects (250 MB+), data accessed using
13755
+ # Expedited retrievals is typically made available within 1–5
13756
+ # minutes. Provisioned capacity ensures that retrieval capacity for
13757
+ # Expedited retrievals is available when you need it. Expedited
13758
+ # retrievals and provisioned capacity are not available for objects
13759
+ # stored in the S3 Glacier Deep Archive storage class or S3
13760
+ # Intelligent-Tiering Deep Archive tier.
13761
+ #
13762
+ # * `Standard` - Standard retrievals allow you to access any of your
13763
+ # archived objects within several hours. This is the default option
13764
+ # for retrieval requests that do not specify the retrieval option.
13765
+ # Standard retrievals typically finish within 3–5 hours for objects
13766
+ # stored in the S3 Glacier Flexible Retrieval storage class or S3
13767
+ # Intelligent-Tiering Archive tier. They typically finish within 12
13768
+ # hours for objects stored in the S3 Glacier Deep Archive storage
13769
+ # class or S3 Intelligent-Tiering Deep Archive tier. Standard
13770
+ # retrievals are free for objects stored in S3 Intelligent-Tiering.
13771
+ #
13772
+ # * `Bulk` - Bulk retrievals free for objects stored in the S3 Glacier
13773
+ # Flexible Retrieval and S3 Intelligent-Tiering storage classes,
13774
+ # enabling you to retrieve large amounts, even petabytes, of data at
13775
+ # no cost. Bulk retrievals typically finish within 5–12 hours for
13776
+ # objects stored in the S3 Glacier Flexible Retrieval storage class
13777
+ # or S3 Intelligent-Tiering Archive tier. Bulk retrievals are also
13778
+ # the lowest-cost retrieval option when restoring objects from S3
13779
+ # Glacier Deep Archive. They typically finish within 48 hours for
13780
+ # objects stored in the S3 Glacier Deep Archive storage class or S3
13781
+ # Intelligent-Tiering Deep Archive tier.
13782
+ #
13783
+ # For more information about archive retrieval options and provisioned
13784
+ # capacity for `Expedited` data access, see [Restoring Archived
13785
+ # Objects][6] in the *Amazon S3 User Guide*.
13786
+ #
13787
+ # You can use Amazon S3 restore speed upgrade to change the restore
13788
+ # speed to a faster speed while it is in progress. For more
13789
+ # information, see [ Upgrading the speed of an in-progress restore][7]
13790
+ # in the *Amazon S3 User Guide*.
13538
13791
  #
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*.
13792
+ # To get the status of object restoration, you can send a `HEAD`
13793
+ # request. Operations return the `x-amz-restore` header, which
13794
+ # provides information about the restoration status, in the response.
13795
+ # You can use Amazon S3 event notifications to notify you when a
13796
+ # restore is initiated or completed. For more information, see
13797
+ # [Configuring Amazon S3 Event Notifications][8] in the *Amazon S3
13798
+ # User Guide*.
13545
13799
  #
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.
13800
+ # After restoring an archived object, you can update the restoration
13801
+ # period by reissuing the request with a new period. Amazon S3 updates
13802
+ # the restoration period relative to the current time and charges only
13803
+ # for the request-there are no data transfer charges. You cannot
13804
+ # update the restoration period when Amazon S3 is actively processing
13805
+ # your current restore request for the object.
13552
13806
  #
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*.
13807
+ # If your bucket has a lifecycle configuration with a rule that
13808
+ # includes an expiration action, the object expiration overrides the
13809
+ # life span that you specify in a restore request. For example, if you
13810
+ # restore an object copy for 10 days, but the object is scheduled to
13811
+ # expire in 3 days, Amazon S3 deletes the object in 3 days. For more
13812
+ # information about lifecycle configuration, see
13813
+ # [PutBucketLifecycleConfiguration][9] and [Object Lifecycle
13814
+ # Management][10] in *Amazon S3 User Guide*.
13561
13815
  #
13562
- # **Responses**
13816
+ # Responses
13563
13817
  #
13564
- # A successful action returns either the `200 OK` or `202 Accepted`
13565
- # status code.
13818
+ # : A successful action returns either the `200 OK` or `202 Accepted`
13819
+ # status code.
13566
13820
  #
13567
- # * If the object is not previously restored, then Amazon S3 returns
13568
- # `202 Accepted` in the response.
13821
+ # * If the object is not previously restored, then Amazon S3 returns
13822
+ # `202 Accepted` in the response.
13569
13823
  #
13570
- # * If the object is previously restored, Amazon S3 returns `200 OK` in
13571
- # the response.
13824
+ # * If the object is previously restored, Amazon S3 returns `200 OK`
13825
+ # in the response.
13826
+ # ^
13572
13827
  #
13573
- # **Special Errors**
13828
+ # * Special errors:
13574
13829
  #
13575
- # * * *Code: RestoreAlreadyInProgress*
13830
+ # * *Code: RestoreAlreadyInProgress*
13576
13831
  #
13577
- # * *Cause: Object restore is already in progress. (This error does
13578
- # not apply to SELECT type requests.)*
13832
+ # * *Cause: Object restore is already in progress. (This error does
13833
+ # not apply to SELECT type requests.)*
13579
13834
  #
13580
- # * *HTTP Status Code: 409 Conflict*
13835
+ # * *HTTP Status Code: 409 Conflict*
13581
13836
  #
13582
- # * *SOAP Fault Code Prefix: Client*
13837
+ # * *SOAP Fault Code Prefix: Client*
13583
13838
  #
13584
- # * * *Code: GlacierExpeditedRetrievalNotAvailable*
13839
+ # * * *Code: GlacierExpeditedRetrievalNotAvailable*
13585
13840
  #
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.)*
13841
+ # * *Cause: expedited retrievals are currently not available. Try
13842
+ # again later. (Returned if there is insufficient capacity to
13843
+ # process the Expedited request. This error applies only to
13844
+ # Expedited retrievals and not to S3 Standard or Bulk
13845
+ # retrievals.)*
13590
13846
  #
13591
- # * *HTTP Status Code: 503*
13847
+ # * *HTTP Status Code: 503*
13592
13848
  #
13593
- # * *SOAP Fault Code Prefix: N/A*
13849
+ # * *SOAP Fault Code Prefix: N/A*
13594
13850
  #
13595
- # **Related Resources**
13851
+ # The following operations are related to `RestoreObject`:
13596
13852
  #
13597
- # * [PutBucketLifecycleConfiguration][11]
13853
+ # * [PutBucketLifecycleConfiguration][9]
13598
13854
  #
13599
- # * [GetBucketNotificationConfiguration][13]
13855
+ # * [GetBucketNotificationConfiguration][11]
13600
13856
  #
13601
- # * [SQL Reference for Amazon S3 Select and S3 Glacier Select ][7] in
13602
- # the *Amazon S3 User Guide*
13603
13857
  #
13604
13858
  #
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
13859
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
13860
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
13861
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
13862
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
13863
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
13864
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
13865
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html#restoring-objects-upgrade-tier.title.html
13866
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
13867
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
13868
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
13869
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html
13619
13870
  #
13620
13871
  # @option params [required, String] :bucket
13621
13872
  # The bucket name containing the object to restore.
@@ -13628,14 +13879,14 @@ module Aws::S3
13628
13879
  # name. For more information about access point ARNs, see [Using access
13629
13880
  # points][1] in the *Amazon S3 User Guide*.
13630
13881
  #
13631
- # When using this action with Amazon S3 on Outposts, you must direct
13882
+ # When you use this action with Amazon S3 on Outposts, you must direct
13632
13883
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
13633
13884
  # takes the form `
13634
13885
  # 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*.
13886
+ # When you use this action with S3 on Outposts through the Amazon Web
13887
+ # Services SDKs, you provide the Outposts access point ARN in place of
13888
+ # the bucket name. For more information about S3 on Outposts ARNs, see
13889
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
13639
13890
  #
13640
13891
  #
13641
13892
  #
@@ -13828,108 +14079,99 @@ module Aws::S3
13828
14079
  # from Objects][1] and [SELECT Command][2] in the *Amazon S3 User
13829
14080
  # Guide*.
13830
14081
  #
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
14082
  #
13844
14083
  #
14084
+ # Permissions
13845
14085
  #
13846
- # *Object Data Formats*
14086
+ # : You must have `s3:GetObject` permission for this operation. Amazon
14087
+ # S3 Select does not support anonymous access. For more information
14088
+ # about permissions, see [Specifying Permissions in a Policy][3] in
14089
+ # the *Amazon S3 User Guide*.
13847
14090
  #
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.
14091
+ # Object Data Formats
13862
14092
  #
13863
- # * *Server-side encryption* - Amazon S3 Select supports querying
13864
- # objects that are protected with server-side encryption.
14093
+ # : You can use Amazon S3 Select to query objects that have the
14094
+ # following format properties:
13865
14095
  #
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*.
14096
+ # * *CSV, JSON, and Parquet* - Objects must be in CSV, JSON, or
14097
+ # Parquet format.
13871
14098
  #
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*.
14099
+ # * *UTF-8* - UTF-8 is the only encoding type Amazon S3 Select
14100
+ # supports.
13878
14101
  #
13879
- # **Working with the Response Body**
14102
+ # * *GZIP or BZIP2* - CSV and JSON files can be compressed using GZIP
14103
+ # or BZIP2. GZIP and BZIP2 are the only compression formats that
14104
+ # Amazon S3 Select supports for CSV and JSON files. Amazon S3 Select
14105
+ # supports columnar compression for Parquet using GZIP or Snappy.
14106
+ # Amazon S3 Select does not support whole-object compression for
14107
+ # Parquet objects.
13880
14108
  #
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].
14109
+ # * *Server-side encryption* - Amazon S3 Select supports querying
14110
+ # objects that are protected with server-side encryption.
13885
14111
  #
14112
+ # For objects that are encrypted with customer-provided encryption
14113
+ # keys (SSE-C), you must use HTTPS, and you must use the headers
14114
+ # that are documented in the [GetObject][4]. For more information
14115
+ # about SSE-C, see [Server-Side Encryption (Using Customer-Provided
14116
+ # Encryption Keys)][5] in the *Amazon S3 User Guide*.
13886
14117
  #
14118
+ # For objects that are encrypted with Amazon S3 managed keys
14119
+ # (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS), server-side
14120
+ # encryption is handled transparently, so you don't need to specify
14121
+ # anything. For more information about server-side encryption,
14122
+ # including SSE-S3 and SSE-KMS, see [Protecting Data Using
14123
+ # Server-Side Encryption][6] in the *Amazon S3 User Guide*.
13887
14124
  #
13888
- # **GetObject Support**
14125
+ # Working with the Response Body
13889
14126
  #
13890
- # The `SelectObjectContent` action does not support the following
13891
- # `GetObject` functionality. For more information, see [GetObject][5].
14127
+ # : Given the response size is unknown, Amazon S3 Select streams the
14128
+ # response as a series of messages and includes a `Transfer-Encoding`
14129
+ # header with `chunked` as its value in the response. For more
14130
+ # information, see [Appendix: SelectObjectContent Response][7].
13892
14131
  #
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.
14132
+ # GetObject Support
13897
14133
  #
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*.
14134
+ # : The `SelectObjectContent` action does not support the following
14135
+ # `GetObject` functionality. For more information, see [GetObject][4].
13902
14136
  #
14137
+ # * `Range`: Although you can specify a scan range for an Amazon S3
14138
+ # Select request (see [SelectObjectContentRequest - ScanRange][8] in
14139
+ # the request parameters), you cannot specify the range of bytes of
14140
+ # an object to return.
13903
14141
  #
14142
+ # * GLACIER, DEEP\_ARCHIVE and REDUCED\_REDUNDANCY storage classes:
14143
+ # You cannot specify the GLACIER, DEEP\_ARCHIVE, or
14144
+ # `REDUCED_REDUNDANCY` storage classes. For more information, about
14145
+ # storage classes see [Storage Classes][9] in the *Amazon S3 User
14146
+ # Guide*.
13904
14147
  #
13905
- # **Special Errors**
14148
+ # Special Errors
13906
14149
  #
13907
- # For a list of special errors for this operation, see [List of SELECT
13908
- # Object Content Error Codes][11]
14150
+ # : For a list of special errors for this operation, see [List of SELECT
14151
+ # Object Content Error Codes][10]
13909
14152
  #
13910
- # **Related Resources**
14153
+ # The following operations are related to `SelectObjectContent`:
13911
14154
  #
13912
- # * [GetObject][5]
14155
+ # * [GetObject][4]
13913
14156
  #
13914
- # * [GetBucketLifecycleConfiguration][12]
14157
+ # * [GetBucketLifecycleConfiguration][11]
13915
14158
  #
13916
- # * [PutBucketLifecycleConfiguration][13]
14159
+ # * [PutBucketLifecycleConfiguration][12]
13917
14160
  #
13918
14161
  #
13919
14162
  #
13920
14163
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html
13921
14164
  # [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
14165
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
14166
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
14167
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
14168
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
14169
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html
14170
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange
14171
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#storage-class-intro
14172
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList
14173
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
14174
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
13933
14175
  #
13934
14176
  # @option params [required, String] :bucket
13935
14177
  # The S3 bucket.
@@ -14279,27 +14521,35 @@ module Aws::S3
14279
14521
  # upload API, go to [Multipart Upload and Permissions][6] in the *Amazon
14280
14522
  # S3 User Guide*.
14281
14523
  #
14282
- # You can optionally request server-side encryption where Amazon S3
14524
+ # Server-side encryption is for data encryption at rest. Amazon S3
14283
14525
  # 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
14526
+ # decrypts it when you access it. You have three mutually exclusive
14527
+ # options to protect data using server-side encryption in Amazon S3,
14528
+ # depending on how you choose to manage the encryption keys.
14529
+ # Specifically, the encryption key options are Amazon S3 managed keys
14530
+ # (SSE-S3), Amazon Web Services KMS keys (SSE-KMS), and
14531
+ # Customer-Provided Keys (SSE-C). Amazon S3 encrypts data with
14532
+ # server-side encryption using Amazon S3 managed keys (SSE-S3) by
14533
+ # default. You can optionally tell Amazon S3 to encrypt data at rest
14534
+ # using server-side encryption with other key options. The option you
14535
+ # use depends on whether you want to use KMS keys (SSE-KMS) or provide
14536
+ # your own encryption key (SSE-C). If you choose to provide your own
14287
14537
  # encryption key, the request headers you provide in the request must
14288
14538
  # match the headers you used in the request to initiate the upload by
14289
14539
  # using [CreateMultipartUpload][2]. For more information, go to [Using
14290
14540
  # Server-Side Encryption][7] in the *Amazon S3 User Guide*.
14291
14541
  #
14292
14542
  # 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].
14543
+ # actions. Unless you are using a customer-provided encryption key
14544
+ # (SSE-C), you don't need to specify the encryption parameters in each
14545
+ # UploadPart request. Instead, you only need to specify the server-side
14546
+ # encryption parameters in the initial Initiate Multipart request. For
14547
+ # more information, see [CreateMultipartUpload][2].
14298
14548
  #
14299
14549
  # 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.
14550
+ # encryption key (SSE-C) in your initiate multipart upload request, you
14551
+ # must provide identical encryption information in each part upload
14552
+ # using the following headers.
14303
14553
  #
14304
14554
  # * x-amz-server-side-encryption-customer-algorithm
14305
14555
  #
@@ -14307,7 +14557,7 @@ module Aws::S3
14307
14557
  #
14308
14558
  # * x-amz-server-side-encryption-customer-key-MD5
14309
14559
  #
14310
- # **Special Errors**
14560
+ # `UploadPart` has the following special errors:
14311
14561
  #
14312
14562
  # * * *Code: NoSuchUpload*
14313
14563
  #
@@ -14319,7 +14569,7 @@ module Aws::S3
14319
14569
  #
14320
14570
  # * *SOAP Fault Code Prefix: Client*
14321
14571
  #
14322
- # **Related Resources**
14572
+ # The following operations are related to `UploadPart`:
14323
14573
  #
14324
14574
  # * [CreateMultipartUpload][2]
14325
14575
  #
@@ -14359,14 +14609,14 @@ module Aws::S3
14359
14609
  # name. For more information about access point ARNs, see [Using access
14360
14610
  # points][1] in the *Amazon S3 User Guide*.
14361
14611
  #
14362
- # When using this action with Amazon S3 on Outposts, you must direct
14612
+ # When you use this action with Amazon S3 on Outposts, you must direct
14363
14613
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
14364
14614
  # takes the form `
14365
14615
  # 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*.
14616
+ # When you use this action with S3 on Outposts through the Amazon Web
14617
+ # Services SDKs, you provide the Outposts access point ARN in place of
14618
+ # the bucket name. For more information about S3 on Outposts ARNs, see
14619
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
14370
14620
  #
14371
14621
  #
14372
14622
  #
@@ -14635,42 +14885,41 @@ module Aws::S3
14635
14885
  #
14636
14886
  # Amazon S3 returns `412 Precondition Failed` response code.
14637
14887
  #
14638
- # **Versioning**
14888
+ # Versioning
14639
14889
  #
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`.
14890
+ # : If your bucket has versioning enabled, you could have multiple
14891
+ # versions of the same object. By default, `x-amz-copy-source`
14892
+ # identifies the current version of the object to copy. If the current
14893
+ # version is a delete marker and you don't specify a versionId in the
14894
+ # `x-amz-copy-source`, Amazon S3 returns a 404 error, because the
14895
+ # object does not exist. If you specify versionId in the
14896
+ # `x-amz-copy-source` and the versionId is a delete marker, Amazon S3
14897
+ # returns an HTTP 400 error, because you are not allowed to specify a
14898
+ # delete marker as a version for the `x-amz-copy-source`.
14649
14899
  #
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:
14900
+ # You can optionally specify a specific version of the source object
14901
+ # to copy by adding the `versionId` subresource as shown in the
14902
+ # following example:
14653
14903
  #
14654
- # `x-amz-copy-source: /bucket/object?versionId=version id`
14904
+ # `x-amz-copy-source: /bucket/object?versionId=version id`
14655
14905
  #
14656
- # **Special Errors**
14906
+ # Special errors
14907
+ # : * * *Code: NoSuchUpload*
14657
14908
  #
14658
- # * * *Code: NoSuchUpload*
14909
+ # * *Cause: The specified multipart upload does not exist. The
14910
+ # upload ID might be invalid, or the multipart upload might have
14911
+ # been aborted or completed.*
14659
14912
  #
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*
14913
+ # * *HTTP Status Code: 404 Not Found*
14665
14914
  #
14666
- # * * *Code: InvalidRequest*
14915
+ # * * *Code: InvalidRequest*
14667
14916
  #
14668
- # * *Cause: The specified copy source is not supported as a byte-range
14669
- # copy source.*
14917
+ # * *Cause: The specified copy source is not supported as a
14918
+ # byte-range copy source.*
14670
14919
  #
14671
- # * *HTTP Status Code: 400 Bad Request*
14920
+ # * *HTTP Status Code: 400 Bad Request*
14672
14921
  #
14673
- # **Related Resources**
14922
+ # The following operations are related to `UploadPartCopy`:
14674
14923
  #
14675
14924
  # * [CreateMultipartUpload][7]
14676
14925
  #
@@ -14709,14 +14958,14 @@ module Aws::S3
14709
14958
  # name. For more information about access point ARNs, see [Using access
14710
14959
  # points][1] in the *Amazon S3 User Guide*.
14711
14960
  #
14712
- # When using this action with Amazon S3 on Outposts, you must direct
14961
+ # When you use this action with Amazon S3 on Outposts, you must direct
14713
14962
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
14714
14963
  # takes the form `
14715
14964
  # 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*.
14965
+ # When you use this action with S3 on Outposts through the Amazon Web
14966
+ # Services SDKs, you provide the Outposts access point ARN in place of
14967
+ # the bucket name. For more information about S3 on Outposts ARNs, see
14968
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
14720
14969
  #
14721
14970
  #
14722
14971
  #
@@ -14866,45 +15115,45 @@ module Aws::S3
14866
15115
  # * {Types::UploadPartCopyOutput#request_charged #request_charged} => String
14867
15116
  #
14868
15117
  #
14869
- # @example Example: To upload a part by copying byte range from an existing object as data source
15118
+ # @example Example: To upload a part by copying data from an existing object as data source
14870
15119
  #
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.
15120
+ # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
14873
15121
  #
14874
15122
  # resp = client.upload_part_copy({
14875
15123
  # bucket: "examplebucket",
14876
15124
  # copy_source: "/bucketname/sourceobjectkey",
14877
- # copy_source_range: "bytes=1-100000",
14878
15125
  # key: "examplelargeobject",
14879
- # part_number: 2,
15126
+ # part_number: 1,
14880
15127
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
14881
15128
  # })
14882
15129
  #
14883
15130
  # resp.to_h outputs the following:
14884
15131
  # {
14885
15132
  # copy_part_result: {
14886
- # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
14887
- # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
15133
+ # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
15134
+ # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
14888
15135
  # },
14889
15136
  # }
14890
15137
  #
14891
- # @example Example: To upload a part by copying data from an existing object as data source
15138
+ # @example Example: To upload a part by copying byte range from an existing object as data source
14892
15139
  #
14893
- # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
15140
+ # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
15141
+ # # data source.
14894
15142
  #
14895
15143
  # resp = client.upload_part_copy({
14896
15144
  # bucket: "examplebucket",
14897
15145
  # copy_source: "/bucketname/sourceobjectkey",
15146
+ # copy_source_range: "bytes=1-100000",
14898
15147
  # key: "examplelargeobject",
14899
- # part_number: 1,
15148
+ # part_number: 2,
14900
15149
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
14901
15150
  # })
14902
15151
  #
14903
15152
  # resp.to_h outputs the following:
14904
15153
  # {
14905
15154
  # copy_part_result: {
14906
- # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
14907
- # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
15155
+ # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
15156
+ # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
14908
15157
  # },
14909
15158
  # }
14910
15159
  #
@@ -15026,9 +15275,7 @@ module Aws::S3
15026
15275
  #
15027
15276
  # @option params [Integer] :status_code
15028
15277
  # The integer status code for an HTTP response of a corresponding
15029
- # `GetObject` request.
15030
- #
15031
- # **Status Codes**
15278
+ # `GetObject` request. The following is a list of status codes.
15032
15279
  #
15033
15280
  # * `200 - OK`
15034
15281
  #
@@ -15240,7 +15487,7 @@ module Aws::S3
15240
15487
  #
15241
15488
  # @option params [String] :server_side_encryption
15242
15489
  # The server-side encryption algorithm used when storing requested
15243
- # object in Amazon S3 (for example, AES256, aws:kms).
15490
+ # object in Amazon S3 (for example, AES256, `aws:kms`).
15244
15491
  #
15245
15492
  # @option params [String] :sse_customer_algorithm
15246
15493
  # Encryption algorithm used if server-side encryption with a
@@ -15249,8 +15496,8 @@ module Aws::S3
15249
15496
  #
15250
15497
  # @option params [String] :ssekms_key_id
15251
15498
  # 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.
15499
+ # Service (Amazon Web Services KMS) symmetric encryption customer
15500
+ # managed key that was used for stored in Amazon S3 object.
15254
15501
  #
15255
15502
  # @option params [String] :sse_customer_key_md5
15256
15503
  # 128-bit MD5 digest of customer-provided encryption key used in Amazon
@@ -15354,7 +15601,7 @@ module Aws::S3
15354
15601
  params: params,
15355
15602
  config: config)
15356
15603
  context[:gem_name] = 'aws-sdk-s3'
15357
- context[:gem_version] = '1.121.0'
15604
+ context[:gem_version] = '1.123.1'
15358
15605
  Seahorse::Client::Request.new(handlers, context)
15359
15606
  end
15360
15607