aws-sdk-s3 1.121.0 → 1.123.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -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 +14 -12
  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.0'
15358
15605
  Seahorse::Client::Request.new(handlers, context)
15359
15606
  end
15360
15607