aws-sdk-s3 1.122.0 → 1.136.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +94 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +108 -49
  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 +727 -626
  17. data/lib/aws-sdk-s3/client_api.rb +24 -0
  18. data/lib/aws-sdk-s3/customizations/bucket.rb +3 -1
  19. data/lib/aws-sdk-s3/customizations/errors.rb +1 -1
  20. data/lib/aws-sdk-s3/customizations/object.rb +91 -18
  21. data/lib/aws-sdk-s3/encryption/client.rb +6 -2
  22. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +13 -9
  23. data/lib/aws-sdk-s3/encryptionV2/client.rb +6 -2
  24. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +1 -0
  25. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -6
  26. data/lib/aws-sdk-s3/endpoint_parameters.rb +4 -0
  27. data/lib/aws-sdk-s3/endpoint_provider.rb +22 -246
  28. data/lib/aws-sdk-s3/endpoints.rb +1 -0
  29. data/lib/aws-sdk-s3/file_downloader.rb +170 -44
  30. data/lib/aws-sdk-s3/file_uploader.rb +8 -6
  31. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +5 -3
  32. data/lib/aws-sdk-s3/multipart_upload.rb +27 -13
  33. data/lib/aws-sdk-s3/multipart_upload_part.rb +19 -9
  34. data/lib/aws-sdk-s3/object.rb +125 -84
  35. data/lib/aws-sdk-s3/object_acl.rb +14 -6
  36. data/lib/aws-sdk-s3/object_copier.rb +7 -5
  37. data/lib/aws-sdk-s3/object_multipart_copier.rb +33 -17
  38. data/lib/aws-sdk-s3/object_summary.rb +123 -74
  39. data/lib/aws-sdk-s3/object_version.rb +49 -17
  40. data/lib/aws-sdk-s3/presigned_post.rb +52 -43
  41. data/lib/aws-sdk-s3/presigner.rb +4 -2
  42. data/lib/aws-sdk-s3/resource.rb +7 -3
  43. data/lib/aws-sdk-s3/types.rb +529 -299
  44. data/lib/aws-sdk-s3.rb +1 -1
  45. metadata +6 -6
@@ -28,6 +28,7 @@ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
31
32
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
33
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
34
  require 'aws-sdk-core/plugins/sign.rb'
@@ -96,6 +97,7 @@ module Aws::S3
96
97
  add_plugin(Aws::Plugins::TransferEncoding)
97
98
  add_plugin(Aws::Plugins::HttpChecksum)
98
99
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
100
+ add_plugin(Aws::Plugins::RequestCompression)
99
101
  add_plugin(Aws::Plugins::DefaultsMode)
100
102
  add_plugin(Aws::Plugins::RecursionDetection)
101
103
  add_plugin(Aws::Plugins::Sign)
@@ -235,6 +237,10 @@ module Aws::S3
235
237
  # Set to true to disable SDK automatically adding host prefix
236
238
  # to default service endpoint when available.
237
239
  #
240
+ # @option options [Boolean] :disable_request_compression (false)
241
+ # When set to 'true' the request body will not be compressed
242
+ # for supported operations.
243
+ #
238
244
  # @option options [String] :endpoint
239
245
  # The client endpoint is normally constructed from the `:region`
240
246
  # option. You should only configure an `:endpoint` when connecting
@@ -266,6 +272,10 @@ module Aws::S3
266
272
  # When set to `true`, the bucket name is always left in the
267
273
  # request URI and never moved to the host as a sub-domain.
268
274
  #
275
+ # @option options [Boolean] :ignore_configured_endpoint_urls
276
+ # Setting to true disables use of endpoint URLs provided via environment
277
+ # variables and the shared configuration file.
278
+ #
269
279
  # @option options [Proc] :input_event_stream_handler
270
280
  # When an EventStream or Proc object is provided, it can be used for sending events for the event stream.
271
281
  #
@@ -292,6 +302,11 @@ module Aws::S3
292
302
  # Used when loading credentials from the shared credentials file
293
303
  # at HOME/.aws/credentials. When not specified, 'default' is used.
294
304
  #
305
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
306
+ # The minimum size in bytes that triggers compression for request
307
+ # bodies. The value must be non-negative integer value between 0
308
+ # and 10485780 bytes inclusive.
309
+ #
295
310
  # @option options [Boolean] :require_https_for_sse_cpk (true)
296
311
  # When `true`, the endpoint **must** be HTTPS for all operations
297
312
  # where server-side-encryption is used with customer-provided keys.
@@ -356,6 +371,11 @@ module Aws::S3
356
371
  # use the region in the ARN, allowing for cross-region requests to
357
372
  # be made. Set to `false` to use the client's region instead.
358
373
  #
374
+ # @option options [String] :sdk_ua_app_id
375
+ # A unique and opaque application ID that is appended to the
376
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
377
+ # maximum length of 50.
378
+ #
359
379
  # @option options [String] :secret_access_key
360
380
  #
361
381
  # @option options [String] :session_token
@@ -508,7 +528,7 @@ module Aws::S3
508
528
  # When you use this action with S3 on Outposts through the Amazon Web
509
529
  # Services SDKs, you provide the Outposts access point ARN in place of
510
530
  # the bucket name. For more information about S3 on Outposts ARNs, see
511
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
531
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
512
532
  #
513
533
  #
514
534
  #
@@ -524,9 +544,11 @@ module Aws::S3
524
544
  # @option params [String] :request_payer
525
545
  # Confirms that the requester knows that they will be charged for the
526
546
  # request. Bucket owners need not specify this parameter in their
527
- # requests. For information about downloading objects from Requester
528
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
529
- # in the *Amazon S3 User Guide*.
547
+ # requests. If either the source or destination Amazon S3 bucket has
548
+ # Requester Pays enabled, the requester will pay for corresponding
549
+ # charges to copy the object. For information about downloading objects
550
+ # from Requester Pays buckets, see [Downloading Objects in Requester
551
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
530
552
  #
531
553
  #
532
554
  #
@@ -697,7 +719,7 @@ module Aws::S3
697
719
  # When you use this action with S3 on Outposts through the Amazon Web
698
720
  # Services SDKs, you provide the Outposts access point ARN in place of
699
721
  # the bucket name. For more information about S3 on Outposts ARNs, see
700
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
722
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
701
723
  #
702
724
  #
703
725
  #
@@ -760,9 +782,11 @@ module Aws::S3
760
782
  # @option params [String] :request_payer
761
783
  # Confirms that the requester knows that they will be charged for the
762
784
  # request. Bucket owners need not specify this parameter in their
763
- # requests. For information about downloading objects from Requester
764
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
765
- # in the *Amazon S3 User Guide*.
785
+ # requests. If either the source or destination Amazon S3 bucket has
786
+ # Requester Pays enabled, the requester will pay for corresponding
787
+ # charges to copy the object. For information about downloading objects
788
+ # from Requester Pays buckets, see [Downloading Objects in Requester
789
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
766
790
  #
767
791
  #
768
792
  #
@@ -891,7 +915,7 @@ module Aws::S3
891
915
  # resp.checksum_crc32c #=> String
892
916
  # resp.checksum_sha1 #=> String
893
917
  # resp.checksum_sha256 #=> String
894
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
918
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
895
919
  # resp.version_id #=> String
896
920
  # resp.ssekms_key_id #=> String
897
921
  # resp.bucket_key_enabled #=> Boolean
@@ -948,8 +972,10 @@ module Aws::S3
948
972
  # </note>
949
973
  #
950
974
  # The copy request charge is based on the storage class and Region that
951
- # you specify for the destination object. For pricing information, see
952
- # [Amazon S3 pricing][3].
975
+ # you specify for the destination object. The request can also result in
976
+ # a data retrieval charge for the source if the source storage class
977
+ # bills for data retrieval. For pricing information, see [Amazon S3
978
+ # pricing][3].
953
979
  #
954
980
  # Amazon S3 transfer acceleration does not support cross-Region copies.
955
981
  # If you request a cross-Region copy using a transfer acceleration
@@ -958,11 +984,12 @@ module Aws::S3
958
984
  #
959
985
  # Metadata
960
986
  #
961
- # : When copying an object, you can preserve all metadata (default) or
962
- # specify new metadata. However, the ACL is not preserved and is set
963
- # to private for the user making the request. To override the default
964
- # ACL setting, specify a new ACL when generating a copy request. For
965
- # more information, see [Using ACLs][5].
987
+ # : When copying an object, you can preserve all metadata (the default)
988
+ # or specify new metadata. However, the access control list (ACL) is
989
+ # not preserved and is set to private for the user making the request.
990
+ # To override the default ACL setting, specify a new ACL when
991
+ # generating a copy request. For more information, see [Using
992
+ # ACLs][5].
966
993
  #
967
994
  # To specify whether you want the object metadata copied from the
968
995
  # source object or replaced with metadata provided in the request, you
@@ -1027,25 +1054,26 @@ module Aws::S3
1027
1054
  # of encryption configuration that uses server-side encryption with
1028
1055
  # Amazon S3 managed keys (SSE-S3). If the destination bucket has a
1029
1056
  # default encryption configuration that uses server-side encryption
1030
- # with an Key Management Service (KMS) key (SSE-KMS), or a
1031
- # customer-provided encryption key (SSE-C), Amazon S3 uses the
1032
- # corresponding KMS key, or a customer-provided key to encrypt the
1033
- # target object copy.
1057
+ # with Key Management Service (KMS) keys (SSE-KMS), dual-layer
1058
+ # server-side encryption with Amazon Web Services KMS keys (DSSE-KMS),
1059
+ # or server-side encryption with customer-provided encryption keys
1060
+ # (SSE-C), Amazon S3 uses the corresponding KMS key, or a
1061
+ # customer-provided key to encrypt the target object copy.
1034
1062
  #
1035
- # When you perform a CopyObject operation, if you want to use a
1063
+ # When you perform a `CopyObject` operation, if you want to use a
1036
1064
  # different type of encryption setting for the target object, you can
1037
1065
  # use other appropriate encryption-related headers to encrypt the
1038
1066
  # target object with a KMS key, an Amazon S3 managed key, or a
1039
1067
  # customer-provided key. With server-side encryption, Amazon S3
1040
- # encrypts your data as it writes it to disks in its data centers and
1041
- # decrypts the data when you access it. If the encryption setting in
1042
- # your request is different from the default encryption configuration
1043
- # of the destination bucket, the encryption setting in your request
1044
- # takes precedence. If the source object for the copy is stored in
1045
- # Amazon S3 using SSE-C, you must provide the necessary encryption
1046
- # information in your request so that Amazon S3 can decrypt the object
1047
- # for copying. For more information about server-side encryption, see
1048
- # [Using Server-Side Encryption][8].
1068
+ # encrypts your data as it writes your data to disks in its data
1069
+ # centers and decrypts the data when you access it. If the encryption
1070
+ # setting in your request is different from the default encryption
1071
+ # configuration of the destination bucket, the encryption setting in
1072
+ # your request takes precedence. If the source object for the copy is
1073
+ # stored in Amazon S3 using SSE-C, you must provide the necessary
1074
+ # encryption information in your request so that Amazon S3 can decrypt
1075
+ # the object for copying. For more information about server-side
1076
+ # encryption, see [Using Server-Side Encryption][8].
1049
1077
  #
1050
1078
  # If a target object uses SSE-KMS, you can enable an S3 Bucket Key for
1051
1079
  # the object. For more information, see [Amazon S3 Bucket Keys][9] in
@@ -1057,16 +1085,16 @@ module Aws::S3
1057
1085
  # ACL-based permissions. By default, all objects are private. Only the
1058
1086
  # owner has full access control. When adding a new object, you can
1059
1087
  # grant permissions to individual Amazon Web Services accounts or to
1060
- # predefined groups defined by Amazon S3. These permissions are then
1061
- # added to the ACL on the object. For more information, see [Access
1062
- # Control List (ACL) Overview][10] and [Managing ACLs Using the REST
1063
- # API][11].
1088
+ # predefined groups that are defined by Amazon S3. These permissions
1089
+ # are then added to the ACL on the object. For more information, see
1090
+ # [Access Control List (ACL) Overview][10] and [Managing ACLs Using
1091
+ # the REST API][11].
1064
1092
  #
1065
1093
  # If the bucket that you're copying objects to uses the bucket owner
1066
1094
  # enforced setting for S3 Object Ownership, ACLs are disabled and no
1067
1095
  # longer affect permissions. Buckets that use this setting only accept
1068
- # PUT requests that don't specify an ACL or PUT requests that specify
1069
- # bucket owner full control ACLs, such as the
1096
+ # `PUT` requests that don't specify an ACL or `PUT` requests that
1097
+ # specify bucket owner full control ACLs, such as the
1070
1098
  # `bucket-owner-full-control` canned ACL or an equivalent form of this
1071
1099
  # ACL expressed in the XML format.
1072
1100
  #
@@ -1083,27 +1111,30 @@ module Aws::S3
1083
1111
  #
1084
1112
  # : When copying an object, if it has a checksum, that checksum will be
1085
1113
  # copied to the new object by default. When you copy the object over,
1086
- # you may optionally specify a different checksum algorithm to use
1114
+ # you can optionally specify a different checksum algorithm to use
1087
1115
  # with the `x-amz-checksum-algorithm` header.
1088
1116
  #
1089
1117
  # Storage Class Options
1090
1118
  #
1091
1119
  # : You can use the `CopyObject` action to change the storage class of
1092
- # an object that is already stored in Amazon S3 using the
1120
+ # an object that is already stored in Amazon S3 by using the
1093
1121
  # `StorageClass` parameter. For more information, see [Storage
1094
1122
  # Classes][13] in the *Amazon S3 User Guide*.
1095
1123
  #
1096
- # If the source object's storage class is GLACIER, you must restore a
1097
- # copy of this object before you can use it as a source object for the
1098
- # copy operation. For more information, see [RestoreObject][14]. For
1099
- # more information, see [Copying Objects][15].
1124
+ # If the source object's storage class is GLACIER or DEEP\_ARCHIVE,
1125
+ # or the object's storage class is INTELLIGENT\_TIERING and it's [
1126
+ # S3 Intelligent-Tiering access tier][14] is Archive Access or Deep
1127
+ # Archive Access, you must restore a copy of this object before you
1128
+ # can use it as a source object for the copy operation. For more
1129
+ # information, see [RestoreObject][15]. For more information, see
1130
+ # [Copying Objects][16].
1100
1131
  #
1101
1132
  # Versioning
1102
1133
  #
1103
- # : By default, `x-amz-copy-source` identifies the current version of an
1104
- # object to copy. If the current version is a delete marker, Amazon S3
1105
- # behaves as if the object was deleted. To copy a different version,
1106
- # use the `versionId` subresource.
1134
+ # : By default, `x-amz-copy-source` header identifies the current
1135
+ # version of an object to copy. If the current version is a delete
1136
+ # marker, Amazon S3 behaves as if the object was deleted. To copy a
1137
+ # different version, use the `versionId` subresource.
1107
1138
  #
1108
1139
  # If you enable versioning on the target bucket, Amazon S3 generates a
1109
1140
  # unique version ID for the object being copied. This version ID is
@@ -1116,9 +1147,9 @@ module Aws::S3
1116
1147
  #
1117
1148
  # The following operations are related to `CopyObject`:
1118
1149
  #
1119
- # * [PutObject][16]
1150
+ # * [PutObject][17]
1120
1151
  #
1121
- # * [GetObject][17]
1152
+ # * [GetObject][18]
1122
1153
  #
1123
1154
  #
1124
1155
  #
@@ -1135,10 +1166,11 @@ module Aws::S3
1135
1166
  # [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html
1136
1167
  # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
1137
1168
  # [13]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
1138
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
1139
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html
1140
- # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
1141
- # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
1169
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/intelligent-tiering-overview.html#intel-tiering-tier-definition
1170
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
1171
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html
1172
+ # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
1173
+ # [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
1142
1174
  #
1143
1175
  # @option params [String] :acl
1144
1176
  # The canned ACL to apply to the object.
@@ -1163,7 +1195,7 @@ module Aws::S3
1163
1195
  # When you use this action with S3 on Outposts through the Amazon Web
1164
1196
  # Services SDKs, you provide the Outposts access point ARN in place of
1165
1197
  # the bucket name. For more information about S3 on Outposts ARNs, see
1166
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
1198
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
1167
1199
  #
1168
1200
  #
1169
1201
  #
@@ -1297,15 +1329,16 @@ module Aws::S3
1297
1329
  #
1298
1330
  # @option params [String] :server_side_encryption
1299
1331
  # The server-side encryption algorithm used when storing this object in
1300
- # Amazon S3 (for example, AES256, `aws:kms`).
1332
+ # Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
1301
1333
  #
1302
1334
  # @option params [String] :storage_class
1303
- # By default, Amazon S3 uses the STANDARD Storage Class to store newly
1304
- # created objects. The STANDARD storage class provides high durability
1305
- # and high availability. Depending on performance needs, you can specify
1306
- # a different Storage Class. Amazon S3 on Outposts only uses the
1307
- # OUTPOSTS Storage Class. For more information, see [Storage Classes][1]
1308
- # in the *Amazon S3 User Guide*.
1335
+ # If the `x-amz-storage-class` header is not used, the copied object
1336
+ # will be stored in the STANDARD Storage Class by default. The STANDARD
1337
+ # storage class provides high durability and high availability.
1338
+ # Depending on performance needs, you can specify a different Storage
1339
+ # Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For
1340
+ # more information, see [Storage Classes][1] in the *Amazon S3 User
1341
+ # Guide*.
1309
1342
  #
1310
1343
  #
1311
1344
  #
@@ -1336,13 +1369,12 @@ module Aws::S3
1336
1369
  # ensure that the encryption key was transmitted without error.
1337
1370
  #
1338
1371
  # @option params [String] :ssekms_key_id
1339
- # Specifies the Amazon Web Services KMS key ID to use for object
1340
- # encryption. All GET and PUT requests for an object protected by Amazon
1341
- # Web Services KMS will fail if not made via SSL or using SigV4. For
1342
- # information about configuring using any of the officially supported
1343
- # Amazon Web Services SDKs and Amazon Web Services CLI, see [Specifying
1344
- # the Signature Version in Request Authentication][1] in the *Amazon S3
1345
- # User Guide*.
1372
+ # Specifies the KMS ID (Key ID, Key ARN, or Key Alias) to use for object
1373
+ # encryption. All GET and PUT requests for an object protected by KMS
1374
+ # will fail if they're not made via SSL or using SigV4. For information
1375
+ # about configuring any of the officially supported Amazon Web Services
1376
+ # SDKs and Amazon Web Services CLI, see [Specifying the Signature
1377
+ # Version in Request Authentication][1] in the *Amazon S3 User Guide*.
1346
1378
  #
1347
1379
  #
1348
1380
  #
@@ -1355,9 +1387,9 @@ module Aws::S3
1355
1387
  #
1356
1388
  # @option params [Boolean] :bucket_key_enabled
1357
1389
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
1358
- # encryption with server-side encryption using AWS KMS (SSE-KMS).
1359
- # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
1360
- # for object encryption with SSE-KMS.
1390
+ # encryption with server-side encryption using Key Management Service
1391
+ # (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
1392
+ # to use an S3 Bucket Key for object encryption with SSE-KMS.
1361
1393
  #
1362
1394
  # Specifying this header with a COPY action doesn’t affect bucket-level
1363
1395
  # settings for S3 Bucket Key.
@@ -1379,9 +1411,11 @@ module Aws::S3
1379
1411
  # @option params [String] :request_payer
1380
1412
  # Confirms that the requester knows that they will be charged for the
1381
1413
  # request. Bucket owners need not specify this parameter in their
1382
- # requests. For information about downloading objects from Requester
1383
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
1384
- # in the *Amazon S3 User Guide*.
1414
+ # requests. If either the source or destination Amazon S3 bucket has
1415
+ # Requester Pays enabled, the requester will pay for corresponding
1416
+ # charges to copy the object. For information about downloading objects
1417
+ # from Requester Pays buckets, see [Downloading Objects in Requester
1418
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
1385
1419
  #
1386
1420
  #
1387
1421
  #
@@ -1472,7 +1506,7 @@ module Aws::S3
1472
1506
  # },
1473
1507
  # metadata_directive: "COPY", # accepts COPY, REPLACE
1474
1508
  # tagging_directive: "COPY", # accepts COPY, REPLACE
1475
- # server_side_encryption: "AES256", # accepts AES256, aws:kms
1509
+ # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
1476
1510
  # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
1477
1511
  # website_redirect_location: "WebsiteRedirectLocation",
1478
1512
  # sse_customer_algorithm: "SSECustomerAlgorithm",
@@ -1504,7 +1538,7 @@ module Aws::S3
1504
1538
  # resp.expiration #=> String
1505
1539
  # resp.copy_source_version_id #=> String
1506
1540
  # resp.version_id #=> String
1507
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
1541
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
1508
1542
  # resp.sse_customer_algorithm #=> String
1509
1543
  # resp.sse_customer_key_md5 #=> String
1510
1544
  # resp.ssekms_key_id #=> String
@@ -1533,119 +1567,75 @@ module Aws::S3
1533
1567
  # Bucket][2].
1534
1568
  #
1535
1569
  # By default, the bucket is created in the US East (N. Virginia) Region.
1536
- # You can optionally specify a Region in the request body. You might
1537
- # choose a Region to optimize latency, minimize costs, or address
1538
- # regulatory requirements. For example, if you reside in Europe, you
1539
- # will probably find it advantageous to create buckets in the Europe
1540
- # (Ireland) Region. For more information, see [Accessing a bucket][3].
1570
+ # You can optionally specify a Region in the request body. To constrain
1571
+ # the bucket creation to a specific Region, you can use [
1572
+ # `LocationConstraint` ][3] condition key. You might choose a Region to
1573
+ # optimize latency, minimize costs, or address regulatory requirements.
1574
+ # For example, if you reside in Europe, you will probably find it
1575
+ # advantageous to create buckets in the Europe (Ireland) Region. For
1576
+ # more information, see [Accessing a bucket][4].
1541
1577
  #
1542
1578
  # <note markdown="1"> If you send your create bucket request to the `s3.amazonaws.com`
1543
- # endpoint, the request goes to the us-east-1 Region. Accordingly, the
1544
- # signature calculations in Signature Version 4 must use us-east-1 as
1579
+ # endpoint, the request goes to the `us-east-1` Region. Accordingly, the
1580
+ # signature calculations in Signature Version 4 must use `us-east-1` as
1545
1581
  # the Region, even if the location constraint in the request specifies
1546
1582
  # another Region where the bucket is to be created. If you create a
1547
1583
  # bucket in a Region other than US East (N. Virginia), your application
1548
1584
  # must be able to handle 307 redirect. For more information, see
1549
- # [Virtual hosting of buckets][4].
1585
+ # [Virtual hosting of buckets][5].
1550
1586
  #
1551
1587
  # </note>
1552
1588
  #
1553
- # Access control lists (ACLs)
1554
- #
1555
- # : When creating a bucket using this operation, you can optionally
1556
- # configure the bucket ACL to specify the accounts or groups that
1557
- # should be granted specific permissions on the bucket.
1558
- #
1559
- # If your CreateBucket request sets bucket owner enforced for S3
1560
- # Object Ownership and specifies a bucket ACL that provides access to
1561
- # an external Amazon Web Services account, your request fails with a
1562
- # `400` error and returns the `InvalidBucketAclWithObjectOwnership`
1563
- # error code. For more information, see [Controlling object
1564
- # ownership][5] in the *Amazon S3 User Guide*.
1565
- #
1566
- # There are two ways to grant the appropriate permissions using the
1567
- # request headers.
1568
- #
1569
- # * Specify a canned ACL using the `x-amz-acl` request header. Amazon
1570
- # S3 supports a set of predefined ACLs, known as *canned ACLs*. Each
1571
- # canned ACL has a predefined set of grantees and permissions. For
1572
- # more information, see [Canned ACL][6].
1573
- #
1574
- # * Specify access permissions explicitly using the
1575
- # `x-amz-grant-read`, `x-amz-grant-write`, `x-amz-grant-read-acp`,
1576
- # `x-amz-grant-write-acp`, and `x-amz-grant-full-control` headers.
1577
- # These headers map to the set of permissions Amazon S3 supports in
1578
- # an ACL. For more information, see [Access control list (ACL)
1579
- # overview][7].
1580
- #
1581
- # You specify each grantee as a type=value pair, where the type is
1582
- # one of the following:
1583
- #
1584
- # * `id` – if the value specified is the canonical user ID of an
1585
- # Amazon Web Services account
1586
- #
1587
- # * `uri` – if you are granting permissions to a predefined group
1588
- #
1589
- # * `emailAddress` – if the value specified is the email address of
1590
- # an Amazon Web Services account
1591
- #
1592
- # <note markdown="1"> Using email addresses to specify a grantee is only supported in
1593
- # the following Amazon Web Services Regions:
1594
- #
1595
- # * US East (N. Virginia)
1596
- #
1597
- # * US West (N. California)
1598
- #
1599
- # * US West (Oregon)
1600
- #
1601
- # * Asia Pacific (Singapore)
1602
- #
1603
- # * Asia Pacific (Sydney)
1604
- #
1605
- # * Asia Pacific (Tokyo)
1606
- #
1607
- # * Europe (Ireland)
1608
- #
1609
- # * South America (São Paulo)
1610
- #
1611
- # For a list of all the Amazon S3 supported Regions and endpoints,
1612
- # see [Regions and Endpoints][8] in the Amazon Web Services
1613
- # General Reference.
1614
- #
1615
- # </note>
1616
- #
1617
- # For example, the following `x-amz-grant-read` header grants the
1618
- # Amazon Web Services accounts identified by account IDs permissions
1619
- # to read object data and its metadata:
1620
- #
1621
- # `x-amz-grant-read: id="11112222333", id="444455556666" `
1622
- #
1623
- # <note markdown="1"> You can use either a canned ACL or specify access permissions
1624
- # explicitly. You cannot do both.
1625
- #
1626
- # </note>
1627
- #
1628
1589
  # Permissions
1629
1590
  #
1630
1591
  # : In addition to `s3:CreateBucket`, the following permissions are
1631
- # required when your CreateBucket includes specific headers:
1592
+ # required when your `CreateBucket` request includes specific headers:
1632
1593
  #
1633
- # * **ACLs** - If your `CreateBucket` request specifies ACL
1634
- # permissions and the ACL is public-read, public-read-write,
1635
- # authenticated-read, or if you specify access permissions
1636
- # explicitly through any other ACL, both `s3:CreateBucket` and
1637
- # `s3:PutBucketAcl` permissions are needed. If the ACL the
1638
- # `CreateBucket` request is private or doesn't specify any ACLs,
1639
- # only `s3:CreateBucket` permission is needed.
1594
+ # * **Access control lists (ACLs)** - If your `CreateBucket` request
1595
+ # specifies access control list (ACL) permissions and the ACL is
1596
+ # public-read, public-read-write, authenticated-read, or if you
1597
+ # specify access permissions explicitly through any other ACL, both
1598
+ # `s3:CreateBucket` and `s3:PutBucketAcl` permissions are needed. If
1599
+ # the ACL for the `CreateBucket` request is private or if the
1600
+ # request doesn't specify any ACLs, only `s3:CreateBucket`
1601
+ # permission is needed.
1640
1602
  #
1641
1603
  # * **Object Lock** - If `ObjectLockEnabledForBucket` is set to true
1642
1604
  # in your `CreateBucket` request,
1643
1605
  # `s3:PutBucketObjectLockConfiguration` and `s3:PutBucketVersioning`
1644
1606
  # permissions are required.
1645
1607
  #
1646
- # * **S3 Object Ownership** - If your CreateBucket request includes
1647
- # the `x-amz-object-ownership` header,
1648
- # `s3:PutBucketOwnershipControls` permission is required.
1608
+ # * **S3 Object Ownership** - If your `CreateBucket` request includes
1609
+ # the `x-amz-object-ownership` header, then the
1610
+ # `s3:PutBucketOwnershipControls` permission is required. By
1611
+ # default, `ObjectOwnership` is set to `BucketOWnerEnforced` and
1612
+ # ACLs are disabled. We recommend keeping ACLs disabled, except in
1613
+ # uncommon use cases where you must control access for each object
1614
+ # individually. If you want to change the `ObjectOwnership` setting,
1615
+ # you can use the `x-amz-object-ownership` header in your
1616
+ # `CreateBucket` request to set the `ObjectOwnership` setting of
1617
+ # your choice. For more information about S3 Object Ownership, see
1618
+ # [Controlling object ownership ][6] in the *Amazon S3 User Guide*.
1619
+ #
1620
+ # * **S3 Block Public Access** - If your specific use case requires
1621
+ # granting public access to your S3 resources, you can disable Block
1622
+ # Public Access. You can create a new bucket with Block Public
1623
+ # Access enabled, then separately call the [
1624
+ # `DeletePublicAccessBlock` ][7] API. To use this operation, you
1625
+ # must have the `s3:PutBucketPublicAccessBlock` permission. By
1626
+ # default, all Block Public Access settings are enabled for new
1627
+ # buckets. To avoid inadvertent exposure of your resources, we
1628
+ # recommend keeping the S3 Block Public Access settings enabled. For
1629
+ # more information about S3 Block Public Access, see [Blocking
1630
+ # public access to your Amazon S3 storage ][6] in the *Amazon S3
1631
+ # User Guide*.
1632
+ #
1633
+ # If your `CreateBucket` request sets `BucketOwnerEnforced` for Amazon
1634
+ # S3 Object Ownership and specifies a bucket ACL that provides access to
1635
+ # an external Amazon Web Services account, your request fails with a
1636
+ # `400` error and returns the `InvalidBucketAcLWithObjectOwnership`
1637
+ # error code. For more information, see [Setting Object Ownership on an
1638
+ # existing bucket ][8] in the *Amazon S3 User Guide*.
1649
1639
  #
1650
1640
  # The following operations are related to `CreateBucket`:
1651
1641
  #
@@ -1657,12 +1647,12 @@ module Aws::S3
1657
1647
  #
1658
1648
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html
1659
1649
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html
1660
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro
1661
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html
1662
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
1663
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
1664
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html
1665
- # [8]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
1650
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketConfiguration.html
1651
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro
1652
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html
1653
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
1654
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html
1655
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-existing-bucket.html
1666
1656
  # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
1667
1657
  # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
1668
1658
  #
@@ -1756,7 +1746,7 @@ module Aws::S3
1756
1746
  # acl: "private", # accepts private, public-read, public-read-write, authenticated-read
1757
1747
  # bucket: "BucketName", # required
1758
1748
  # create_bucket_configuration: {
1759
- # location_constraint: "af-south-1", # accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-southeast-1, ap-southeast-2, ap-southeast-3, ca-central-1, cn-north-1, cn-northwest-1, EU, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, me-south-1, sa-east-1, us-east-2, us-gov-east-1, us-gov-west-1, us-west-1, us-west-2
1749
+ # location_constraint: "af-south-1", # accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-southeast-1, ap-southeast-2, ap-southeast-3, ca-central-1, cn-north-1, cn-northwest-1, EU, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, me-south-1, sa-east-1, us-east-2, us-gov-east-1, us-gov-west-1, us-west-1, us-west-2, ap-south-2, eu-south-2
1760
1750
  # },
1761
1751
  # grant_full_control: "GrantFullControl",
1762
1752
  # grant_read: "GrantRead",
@@ -2067,7 +2057,7 @@ module Aws::S3
2067
2057
  # When you use this action with S3 on Outposts through the Amazon Web
2068
2058
  # Services SDKs, you provide the Outposts access point ARN in place of
2069
2059
  # the bucket name. For more information about S3 on Outposts ARNs, see
2070
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
2060
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
2071
2061
  #
2072
2062
  #
2073
2063
  #
@@ -2123,7 +2113,7 @@ module Aws::S3
2123
2113
  #
2124
2114
  # @option params [String] :server_side_encryption
2125
2115
  # The server-side encryption algorithm used when storing this object in
2126
- # Amazon S3 (for example, AES256, `aws:kms`).
2116
+ # Amazon S3 (for example, `AES256`, `aws:kms`).
2127
2117
  #
2128
2118
  # @option params [String] :storage_class
2129
2119
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
@@ -2159,12 +2149,12 @@ module Aws::S3
2159
2149
  # ensure that the encryption key was transmitted without error.
2160
2150
  #
2161
2151
  # @option params [String] :ssekms_key_id
2162
- # Specifies the ID of the symmetric encryption customer managed key to
2163
- # use for object encryption. All GET and PUT requests for an object
2164
- # protected by Amazon Web Services KMS will fail if not made via SSL or
2165
- # using SigV4. For information about configuring using any of the
2166
- # officially supported Amazon Web Services SDKs and Amazon Web Services
2167
- # CLI, see [Specifying the Signature Version in Request
2152
+ # Specifies the ID (Key ID, Key ARN, or Key Alias) of the symmetric
2153
+ # encryption customer managed key to use for object encryption. All GET
2154
+ # and PUT requests for an object protected by KMS will fail if they're
2155
+ # not made via SSL or using SigV4. For information about configuring any
2156
+ # of the officially supported Amazon Web Services SDKs and Amazon Web
2157
+ # Services CLI, see [Specifying the Signature Version in Request
2168
2158
  # Authentication][1] in the *Amazon S3 User Guide*.
2169
2159
  #
2170
2160
  #
@@ -2178,9 +2168,9 @@ module Aws::S3
2178
2168
  #
2179
2169
  # @option params [Boolean] :bucket_key_enabled
2180
2170
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
2181
- # encryption with server-side encryption using AWS KMS (SSE-KMS).
2182
- # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
2183
- # for object encryption with SSE-KMS.
2171
+ # encryption with server-side encryption using Key Management Service
2172
+ # (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
2173
+ # to use an S3 Bucket Key for object encryption with SSE-KMS.
2184
2174
  #
2185
2175
  # Specifying this header with an object action doesn’t affect
2186
2176
  # bucket-level settings for S3 Bucket Key.
@@ -2188,9 +2178,11 @@ module Aws::S3
2188
2178
  # @option params [String] :request_payer
2189
2179
  # Confirms that the requester knows that they will be charged for the
2190
2180
  # request. Bucket owners need not specify this parameter in their
2191
- # requests. For information about downloading objects from Requester
2192
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
2193
- # in the *Amazon S3 User Guide*.
2181
+ # requests. If either the source or destination Amazon S3 bucket has
2182
+ # Requester Pays enabled, the requester will pay for corresponding
2183
+ # charges to copy the object. For information about downloading objects
2184
+ # from Requester Pays buckets, see [Downloading Objects in Requester
2185
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
2194
2186
  #
2195
2187
  #
2196
2188
  #
@@ -2277,7 +2269,7 @@ module Aws::S3
2277
2269
  # metadata: {
2278
2270
  # "MetadataKey" => "MetadataValue",
2279
2271
  # },
2280
- # server_side_encryption: "AES256", # accepts AES256, aws:kms
2272
+ # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
2281
2273
  # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
2282
2274
  # website_redirect_location: "WebsiteRedirectLocation",
2283
2275
  # sse_customer_algorithm: "SSECustomerAlgorithm",
@@ -2302,7 +2294,7 @@ module Aws::S3
2302
2294
  # resp.bucket #=> String
2303
2295
  # resp.key #=> String
2304
2296
  # resp.upload_id #=> String
2305
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
2297
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
2306
2298
  # resp.sse_customer_algorithm #=> String
2307
2299
  # resp.sse_customer_key_md5 #=> String
2308
2300
  # resp.ssekms_key_id #=> String
@@ -2441,7 +2433,7 @@ module Aws::S3
2441
2433
  # For information about `cors`, see [Enabling Cross-Origin Resource
2442
2434
  # Sharing][1] in the *Amazon S3 User Guide*.
2443
2435
  #
2444
- # The following operations are related to `DeleteBucketCors`:
2436
+ # **Related Resources**
2445
2437
  #
2446
2438
  # * [PutBucketCors][2]
2447
2439
  #
@@ -3152,7 +3144,7 @@ module Aws::S3
3152
3144
  # When you use this action with S3 on Outposts through the Amazon Web
3153
3145
  # Services SDKs, you provide the Outposts access point ARN in place of
3154
3146
  # the bucket name. For more information about S3 on Outposts ARNs, see
3155
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
3147
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
3156
3148
  #
3157
3149
  #
3158
3150
  #
@@ -3174,9 +3166,11 @@ module Aws::S3
3174
3166
  # @option params [String] :request_payer
3175
3167
  # Confirms that the requester knows that they will be charged for the
3176
3168
  # request. Bucket owners need not specify this parameter in their
3177
- # requests. For information about downloading objects from Requester
3178
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
3179
- # in the *Amazon S3 User Guide*.
3169
+ # requests. If either the source or destination Amazon S3 bucket has
3170
+ # Requester Pays enabled, the requester will pay for corresponding
3171
+ # charges to copy the object. For information about downloading objects
3172
+ # from Requester Pays buckets, see [Downloading Objects in Requester
3173
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
3180
3174
  #
3181
3175
  #
3182
3176
  #
@@ -3288,7 +3282,7 @@ module Aws::S3
3288
3282
  # When you use this action with S3 on Outposts through the Amazon Web
3289
3283
  # Services SDKs, you provide the Outposts access point ARN in place of
3290
3284
  # the bucket name. For more information about S3 on Outposts ARNs, see
3291
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
3285
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
3292
3286
  #
3293
3287
  #
3294
3288
  #
@@ -3436,7 +3430,7 @@ module Aws::S3
3436
3430
  # When you use this action with S3 on Outposts through the Amazon Web
3437
3431
  # Services SDKs, you provide the Outposts access point ARN in place of
3438
3432
  # the bucket name. For more information about S3 on Outposts ARNs, see
3439
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
3433
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
3440
3434
  #
3441
3435
  #
3442
3436
  #
@@ -3455,9 +3449,11 @@ module Aws::S3
3455
3449
  # @option params [String] :request_payer
3456
3450
  # Confirms that the requester knows that they will be charged for the
3457
3451
  # request. Bucket owners need not specify this parameter in their
3458
- # requests. For information about downloading objects from Requester
3459
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
3460
- # in the *Amazon S3 User Guide*.
3452
+ # requests. If either the source or destination Amazon S3 bucket has
3453
+ # Requester Pays enabled, the requester will pay for corresponding
3454
+ # charges to copy the object. For information about downloading objects
3455
+ # from Requester Pays buckets, see [Downloading Objects in Requester
3456
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
3461
3457
  #
3462
3458
  #
3463
3459
  #
@@ -3715,20 +3711,36 @@ module Aws::S3
3715
3711
  # a different account, the request fails with the HTTP status code `403
3716
3712
  # Forbidden` (access denied).
3717
3713
  #
3714
+ # @option params [String] :request_payer
3715
+ # Confirms that the requester knows that they will be charged for the
3716
+ # request. Bucket owners need not specify this parameter in their
3717
+ # requests. If either the source or destination Amazon S3 bucket has
3718
+ # Requester Pays enabled, the requester will pay for corresponding
3719
+ # charges to copy the object. For information about downloading objects
3720
+ # from Requester Pays buckets, see [Downloading Objects in Requester
3721
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
3722
+ #
3723
+ #
3724
+ #
3725
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
3726
+ #
3718
3727
  # @return [Types::GetBucketAccelerateConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3719
3728
  #
3720
3729
  # * {Types::GetBucketAccelerateConfigurationOutput#status #status} => String
3730
+ # * {Types::GetBucketAccelerateConfigurationOutput#request_charged #request_charged} => String
3721
3731
  #
3722
3732
  # @example Request syntax with placeholder values
3723
3733
  #
3724
3734
  # resp = client.get_bucket_accelerate_configuration({
3725
3735
  # bucket: "BucketName", # required
3726
3736
  # expected_bucket_owner: "AccountId",
3737
+ # request_payer: "requester", # accepts requester
3727
3738
  # })
3728
3739
  #
3729
3740
  # @example Response structure
3730
3741
  #
3731
3742
  # resp.status #=> String, one of "Enabled", "Suspended"
3743
+ # resp.request_charged #=> String, one of "requester"
3732
3744
  #
3733
3745
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration AWS API Documentation
3734
3746
  #
@@ -4079,7 +4091,7 @@ module Aws::S3
4079
4091
  # @example Response structure
4080
4092
  #
4081
4093
  # resp.server_side_encryption_configuration.rules #=> Array
4082
- # resp.server_side_encryption_configuration.rules[0].apply_server_side_encryption_by_default.sse_algorithm #=> String, one of "AES256", "aws:kms"
4094
+ # resp.server_side_encryption_configuration.rules[0].apply_server_side_encryption_by_default.sse_algorithm #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
4083
4095
  # resp.server_side_encryption_configuration.rules[0].apply_server_side_encryption_by_default.kms_master_key_id #=> String
4084
4096
  # resp.server_side_encryption_configuration.rules[0].bucket_key_enabled #=> Boolean
4085
4097
  #
@@ -4239,7 +4251,7 @@ module Aws::S3
4239
4251
  # resp.inventory_configuration.id #=> String
4240
4252
  # resp.inventory_configuration.included_object_versions #=> String, one of "All", "Current"
4241
4253
  # resp.inventory_configuration.optional_fields #=> Array
4242
- # resp.inventory_configuration.optional_fields[0] #=> String, one of "Size", "LastModifiedDate", "StorageClass", "ETag", "IsMultipartUploaded", "ReplicationStatus", "EncryptionStatus", "ObjectLockRetainUntilDate", "ObjectLockMode", "ObjectLockLegalHoldStatus", "IntelligentTieringAccessTier", "BucketKeyStatus", "ChecksumAlgorithm"
4254
+ # resp.inventory_configuration.optional_fields[0] #=> String, one of "Size", "LastModifiedDate", "StorageClass", "ETag", "IsMultipartUploaded", "ReplicationStatus", "EncryptionStatus", "ObjectLockRetainUntilDate", "ObjectLockMode", "ObjectLockLegalHoldStatus", "IntelligentTieringAccessTier", "BucketKeyStatus", "ChecksumAlgorithm", "ObjectAccessControlList", "ObjectOwner"
4243
4255
  # resp.inventory_configuration.schedule.frequency #=> String, one of "Daily", "Weekly"
4244
4256
  #
4245
4257
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration AWS API Documentation
@@ -4583,7 +4595,7 @@ module Aws::S3
4583
4595
  #
4584
4596
  # @example Response structure
4585
4597
  #
4586
- # resp.location_constraint #=> String, one of "af-south-1", "ap-east-1", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ca-central-1", "cn-north-1", "cn-northwest-1", "EU", "eu-central-1", "eu-north-1", "eu-south-1", "eu-west-1", "eu-west-2", "eu-west-3", "me-south-1", "sa-east-1", "us-east-2", "us-gov-east-1", "us-gov-west-1", "us-west-1", "us-west-2"
4598
+ # resp.location_constraint #=> String, one of "af-south-1", "ap-east-1", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ca-central-1", "cn-north-1", "cn-northwest-1", "EU", "eu-central-1", "eu-north-1", "eu-south-1", "eu-west-1", "eu-west-2", "eu-west-3", "me-south-1", "sa-east-1", "us-east-2", "us-gov-east-1", "us-gov-west-1", "us-west-1", "us-west-2", "ap-south-2", "eu-south-2"
4587
4599
  #
4588
4600
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation AWS API Documentation
4589
4601
  #
@@ -5634,30 +5646,32 @@ module Aws::S3
5634
5646
  # For more information about returning the ACL of an object, see
5635
5647
  # [GetObjectAcl][2].
5636
5648
  #
5637
- # If the object you are retrieving is stored in the S3 Glacier or S3
5638
- # Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive
5639
- # or S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve
5640
- # the object you must first restore a copy using [RestoreObject][3].
5641
- # Otherwise, this action returns an `InvalidObjectState` error. For
5642
- # information about restoring archived objects, see [Restoring Archived
5643
- # Objects][4].
5649
+ # If the object you are retrieving is stored in the S3 Glacier Flexible
5650
+ # Retrieval or S3 Glacier Deep Archive storage class, or S3
5651
+ # Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive
5652
+ # tiers, before you can retrieve the object you must first restore a
5653
+ # copy using [RestoreObject][3]. Otherwise, this action returns an
5654
+ # `InvalidObjectState` error. For information about restoring archived
5655
+ # objects, see [Restoring Archived Objects][4].
5644
5656
  #
5645
5657
  # Encryption request headers, like `x-amz-server-side-encryption`,
5646
5658
  # should not be sent for GET requests if your object uses server-side
5647
- # encryption with KMS keys (SSE-KMS) or server-side encryption with
5648
- # Amazon S3–managed encryption keys (SSE-S3). If your object does use
5649
- # these types of keys, you’ll get an HTTP 400 BadRequest error.
5659
+ # encryption with Key Management Service (KMS) keys (SSE-KMS),
5660
+ # dual-layer server-side encryption with Amazon Web Services KMS keys
5661
+ # (DSSE-KMS), or server-side encryption with Amazon S3 managed
5662
+ # encryption keys (SSE-S3). If your object does use these types of keys,
5663
+ # you’ll get an HTTP 400 Bad Request error.
5650
5664
  #
5651
5665
  # If you encrypt an object by using server-side encryption with
5652
5666
  # customer-provided encryption keys (SSE-C) when you store the object in
5653
5667
  # Amazon S3, then when you GET the object, you must use the following
5654
5668
  # headers:
5655
5669
  #
5656
- # * x-amz-server-side-encryption-customer-algorithm
5670
+ # * `x-amz-server-side-encryption-customer-algorithm`
5657
5671
  #
5658
- # * x-amz-server-side-encryption-customer-key
5672
+ # * `x-amz-server-side-encryption-customer-key`
5659
5673
  #
5660
- # * x-amz-server-side-encryption-customer-key-MD5
5674
+ # * `x-amz-server-side-encryption-customer-key-MD5`
5661
5675
  #
5662
5676
  # For more information about SSE-C, see [Server-Side Encryption (Using
5663
5677
  # Customer-Provided Encryption Keys)][5].
@@ -5672,20 +5686,21 @@ module Aws::S3
5672
5686
  #
5673
5687
  # : You need the relevant read object (or version) permission for this
5674
5688
  # operation. For more information, see [Specifying Permissions in a
5675
- # Policy][7]. If the object you request does not exist, the error
5676
- # Amazon S3 returns depends on whether you also have the
5689
+ # Policy][7]. If the object that you request doesn’t exist, the error
5690
+ # that Amazon S3 returns depends on whether you also have the
5677
5691
  # `s3:ListBucket` permission.
5678
5692
  #
5679
- # * If you have the `s3:ListBucket` permission on the bucket, Amazon
5680
- # S3 will return an HTTP status code 404 ("no such key") error.
5693
+ # If you have the `s3:ListBucket` permission on the bucket, Amazon S3
5694
+ # returns an HTTP status code 404 (Not Found) error.
5681
5695
  #
5682
- # * If you don’t have the `s3:ListBucket` permission, Amazon S3 will
5683
- # return an HTTP status code 403 ("access denied") error.
5696
+ # If you don’t have the `s3:ListBucket` permission, Amazon S3 returns
5697
+ # an HTTP status code 403 ("access denied") error.
5684
5698
  #
5685
5699
  # Versioning
5686
5700
  #
5687
- # : By default, the GET action returns the current version of an object.
5688
- # To return a different version, use the `versionId` subresource.
5701
+ # : By default, the `GET` action returns the current version of an
5702
+ # object. To return a different version, use the `versionId`
5703
+ # subresource.
5689
5704
  #
5690
5705
  # <note markdown="1"> * If you supply a `versionId`, you need the `s3:GetObjectVersion`
5691
5706
  # permission to access a specific version of an object. If you
@@ -5705,18 +5720,18 @@ module Aws::S3
5705
5720
  # Overriding Response Header Values
5706
5721
  #
5707
5722
  # : There are times when you want to override certain response header
5708
- # values in a GET response. For example, you might override the
5709
- # `Content-Disposition` response header value in your GET request.
5723
+ # values in a `GET` response. For example, you might override the
5724
+ # `Content-Disposition` response header value in your `GET` request.
5710
5725
  #
5711
5726
  # You can override values for a set of response headers using the
5712
5727
  # following query parameters. These response header values are sent
5713
5728
  # only on a successful request, that is, when status code 200 OK is
5714
5729
  # returned. The set of headers you can override using these parameters
5715
5730
  # is a subset of the headers that Amazon S3 accepts when you create an
5716
- # object. The response headers that you can override for the GET
5731
+ # object. The response headers that you can override for the `GET`
5717
5732
  # response are `Content-Type`, `Content-Language`, `Expires`,
5718
5733
  # `Cache-Control`, `Content-Disposition`, and `Content-Encoding`. To
5719
- # override these header values in the GET response, you use the
5734
+ # override these header values in the `GET` response, you use the
5720
5735
  # following request parameters.
5721
5736
  #
5722
5737
  # <note markdown="1"> You must sign the request, either using an Authorization header or a
@@ -5794,7 +5809,7 @@ module Aws::S3
5794
5809
  # When you use this action with S3 on Outposts through the Amazon Web
5795
5810
  # Services SDKs, you provide the Outposts access point ARN in place of
5796
5811
  # the bucket name. For more information about S3 on Outposts ARNs, see
5797
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
5812
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
5798
5813
  #
5799
5814
  #
5800
5815
  #
@@ -5874,9 +5889,11 @@ module Aws::S3
5874
5889
  # @option params [String] :request_payer
5875
5890
  # Confirms that the requester knows that they will be charged for the
5876
5891
  # request. Bucket owners need not specify this parameter in their
5877
- # requests. For information about downloading objects from Requester
5878
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
5879
- # in the *Amazon S3 User Guide*.
5892
+ # requests. If either the source or destination Amazon S3 bucket has
5893
+ # Requester Pays enabled, the requester will pay for corresponding
5894
+ # charges to copy the object. For information about downloading objects
5895
+ # from Requester Pays buckets, see [Downloading Objects in Requester
5896
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
5880
5897
  #
5881
5898
  #
5882
5899
  #
@@ -5937,49 +5954,49 @@ module Aws::S3
5937
5954
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
5938
5955
  #
5939
5956
  #
5940
- # @example Example: To retrieve an object
5957
+ # @example Example: To retrieve a byte range of an object
5941
5958
  #
5942
- # # The following example retrieves an object for an S3 bucket.
5959
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5960
+ # # specific byte range.
5943
5961
  #
5944
5962
  # resp = client.get_object({
5945
5963
  # bucket: "examplebucket",
5946
- # key: "HappyFace.jpg",
5964
+ # key: "SampleFile.txt",
5965
+ # range: "bytes=0-9",
5947
5966
  # })
5948
5967
  #
5949
5968
  # resp.to_h outputs the following:
5950
5969
  # {
5951
5970
  # accept_ranges: "bytes",
5952
- # content_length: 3191,
5953
- # content_type: "image/jpeg",
5954
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5955
- # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
5971
+ # content_length: 10,
5972
+ # content_range: "bytes 0-9/43",
5973
+ # content_type: "text/plain",
5974
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5975
+ # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
5956
5976
  # metadata: {
5957
5977
  # },
5958
- # tag_count: 2,
5959
5978
  # version_id: "null",
5960
5979
  # }
5961
5980
  #
5962
- # @example Example: To retrieve a byte range of an object
5981
+ # @example Example: To retrieve an object
5963
5982
  #
5964
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5965
- # # specific byte range.
5983
+ # # The following example retrieves an object for an S3 bucket.
5966
5984
  #
5967
5985
  # resp = client.get_object({
5968
5986
  # bucket: "examplebucket",
5969
- # key: "SampleFile.txt",
5970
- # range: "bytes=0-9",
5987
+ # key: "HappyFace.jpg",
5971
5988
  # })
5972
5989
  #
5973
5990
  # resp.to_h outputs the following:
5974
5991
  # {
5975
5992
  # accept_ranges: "bytes",
5976
- # content_length: 10,
5977
- # content_range: "bytes 0-9/43",
5978
- # content_type: "text/plain",
5979
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5980
- # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
5993
+ # content_length: 3191,
5994
+ # content_type: "image/jpeg",
5995
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5996
+ # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
5981
5997
  # metadata: {
5982
5998
  # },
5999
+ # tag_count: 2,
5983
6000
  # version_id: "null",
5984
6001
  # }
5985
6002
  #
@@ -6063,7 +6080,7 @@ module Aws::S3
6063
6080
  # resp.expires #=> Time
6064
6081
  # resp.expires_string #=> String
6065
6082
  # resp.website_redirect_location #=> String
6066
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
6083
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
6067
6084
  # resp.metadata #=> Hash
6068
6085
  # resp.metadata["MetadataKey"] #=> String
6069
6086
  # resp.sse_customer_algorithm #=> String
@@ -6072,7 +6089,7 @@ module Aws::S3
6072
6089
  # resp.bucket_key_enabled #=> Boolean
6073
6090
  # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW"
6074
6091
  # resp.request_charged #=> String, one of "requester"
6075
- # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA"
6092
+ # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA", "COMPLETED"
6076
6093
  # resp.parts_count #=> Integer
6077
6094
  # resp.tag_count #=> Integer
6078
6095
  # resp.object_lock_mode #=> String, one of "GOVERNANCE", "COMPLIANCE"
@@ -6152,9 +6169,11 @@ module Aws::S3
6152
6169
  # @option params [String] :request_payer
6153
6170
  # Confirms that the requester knows that they will be charged for the
6154
6171
  # request. Bucket owners need not specify this parameter in their
6155
- # requests. For information about downloading objects from Requester
6156
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
6157
- # in the *Amazon S3 User Guide*.
6172
+ # requests. If either the source or destination Amazon S3 bucket has
6173
+ # Requester Pays enabled, the requester will pay for corresponding
6174
+ # charges to copy the object. For information about downloading objects
6175
+ # from Requester Pays buckets, see [Downloading Objects in Requester
6176
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
6158
6177
  #
6159
6178
  #
6160
6179
  #
@@ -6381,7 +6400,7 @@ module Aws::S3
6381
6400
  # When you use this action with S3 on Outposts through the Amazon Web
6382
6401
  # Services SDKs, you provide the Outposts access point ARN in place of
6383
6402
  # the bucket name. For more information about S3 on Outposts ARNs, see
6384
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
6403
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
6385
6404
  #
6386
6405
  #
6387
6406
  #
@@ -6420,9 +6439,11 @@ module Aws::S3
6420
6439
  # @option params [String] :request_payer
6421
6440
  # Confirms that the requester knows that they will be charged for the
6422
6441
  # request. Bucket owners need not specify this parameter in their
6423
- # requests. For information about downloading objects from Requester
6424
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
6425
- # in the *Amazon S3 User Guide*.
6442
+ # requests. If either the source or destination Amazon S3 bucket has
6443
+ # Requester Pays enabled, the requester will pay for corresponding
6444
+ # charges to copy the object. For information about downloading objects
6445
+ # from Requester Pays buckets, see [Downloading Objects in Requester
6446
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
6426
6447
  #
6427
6448
  #
6428
6449
  #
@@ -6434,9 +6455,8 @@ module Aws::S3
6434
6455
  # Forbidden` (access denied).
6435
6456
  #
6436
6457
  # @option params [required, Array<String>] :object_attributes
6437
- # An XML header that specifies the fields at the root level that you
6438
- # want returned in the response. Fields that you do not specify are not
6439
- # returned.
6458
+ # Specifies the fields at the root level that you want returned in the
6459
+ # response. Fields that you do not specify are not returned.
6440
6460
  #
6441
6461
  # @return [Types::GetObjectAttributesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6442
6462
  #
@@ -6544,9 +6564,11 @@ module Aws::S3
6544
6564
  # @option params [String] :request_payer
6545
6565
  # Confirms that the requester knows that they will be charged for the
6546
6566
  # request. Bucket owners need not specify this parameter in their
6547
- # requests. For information about downloading objects from Requester
6548
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
6549
- # in the *Amazon S3 User Guide*.
6567
+ # requests. If either the source or destination Amazon S3 bucket has
6568
+ # Requester Pays enabled, the requester will pay for corresponding
6569
+ # charges to copy the object. For information about downloading objects
6570
+ # from Requester Pays buckets, see [Downloading Objects in Requester
6571
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
6550
6572
  #
6551
6573
  #
6552
6574
  #
@@ -6690,9 +6712,11 @@ module Aws::S3
6690
6712
  # @option params [String] :request_payer
6691
6713
  # Confirms that the requester knows that they will be charged for the
6692
6714
  # request. Bucket owners need not specify this parameter in their
6693
- # requests. For information about downloading objects from Requester
6694
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
6695
- # in the *Amazon S3 User Guide*.
6715
+ # requests. If either the source or destination Amazon S3 bucket has
6716
+ # Requester Pays enabled, the requester will pay for corresponding
6717
+ # charges to copy the object. For information about downloading objects
6718
+ # from Requester Pays buckets, see [Downloading Objects in Requester
6719
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
6696
6720
  #
6697
6721
  #
6698
6722
  #
@@ -6781,7 +6805,7 @@ module Aws::S3
6781
6805
  # When you use this action with S3 on Outposts through the Amazon Web
6782
6806
  # Services SDKs, you provide the Outposts access point ARN in place of
6783
6807
  # the bucket name. For more information about S3 on Outposts ARNs, see
6784
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
6808
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
6785
6809
  #
6786
6810
  #
6787
6811
  #
@@ -6802,9 +6826,11 @@ module Aws::S3
6802
6826
  # @option params [String] :request_payer
6803
6827
  # Confirms that the requester knows that they will be charged for the
6804
6828
  # request. Bucket owners need not specify this parameter in their
6805
- # requests. For information about downloading objects from Requester
6806
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
6807
- # in the *Amazon S3 User Guide*.
6829
+ # requests. If either the source or destination Amazon S3 bucket has
6830
+ # Requester Pays enabled, the requester will pay for corresponding
6831
+ # charges to copy the object. For information about downloading objects
6832
+ # from Requester Pays buckets, see [Downloading Objects in Requester
6833
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
6808
6834
  #
6809
6835
  #
6810
6836
  #
@@ -6816,49 +6842,49 @@ module Aws::S3
6816
6842
  # * {Types::GetObjectTaggingOutput#tag_set #tag_set} => Array&lt;Types::Tag&gt;
6817
6843
  #
6818
6844
  #
6819
- # @example Example: To retrieve tag set of a specific object version
6845
+ # @example Example: To retrieve tag set of an object
6820
6846
  #
6821
- # # The following example retrieves tag set of an object. The request specifies object version.
6847
+ # # The following example retrieves tag set of an object.
6822
6848
  #
6823
6849
  # resp = client.get_object_tagging({
6824
6850
  # bucket: "examplebucket",
6825
- # key: "exampleobject",
6826
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6851
+ # key: "HappyFace.jpg",
6827
6852
  # })
6828
6853
  #
6829
6854
  # resp.to_h outputs the following:
6830
6855
  # {
6831
6856
  # tag_set: [
6832
6857
  # {
6833
- # key: "Key1",
6834
- # value: "Value1",
6858
+ # key: "Key4",
6859
+ # value: "Value4",
6860
+ # },
6861
+ # {
6862
+ # key: "Key3",
6863
+ # value: "Value3",
6835
6864
  # },
6836
6865
  # ],
6837
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6866
+ # version_id: "null",
6838
6867
  # }
6839
6868
  #
6840
- # @example Example: To retrieve tag set of an object
6869
+ # @example Example: To retrieve tag set of a specific object version
6841
6870
  #
6842
- # # The following example retrieves tag set of an object.
6871
+ # # The following example retrieves tag set of an object. The request specifies object version.
6843
6872
  #
6844
6873
  # resp = client.get_object_tagging({
6845
6874
  # bucket: "examplebucket",
6846
- # key: "HappyFace.jpg",
6875
+ # key: "exampleobject",
6876
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6847
6877
  # })
6848
6878
  #
6849
6879
  # resp.to_h outputs the following:
6850
6880
  # {
6851
6881
  # tag_set: [
6852
6882
  # {
6853
- # key: "Key4",
6854
- # value: "Value4",
6855
- # },
6856
- # {
6857
- # key: "Key3",
6858
- # value: "Value3",
6883
+ # key: "Key1",
6884
+ # value: "Value1",
6859
6885
  # },
6860
6886
  # ],
6861
- # version_id: "null",
6887
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6862
6888
  # }
6863
6889
  #
6864
6890
  # @example Request syntax with placeholder values
@@ -6923,9 +6949,11 @@ module Aws::S3
6923
6949
  # @option params [String] :request_payer
6924
6950
  # Confirms that the requester knows that they will be charged for the
6925
6951
  # request. Bucket owners need not specify this parameter in their
6926
- # requests. For information about downloading objects from Requester
6927
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
6928
- # in the *Amazon S3 User Guide*.
6952
+ # requests. If either the source or destination Amazon S3 bucket has
6953
+ # Requester Pays enabled, the requester will pay for corresponding
6954
+ # charges to copy the object. For information about downloading objects
6955
+ # from Requester Pays buckets, see [Downloading Objects in Requester
6956
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
6929
6957
  #
6930
6958
  #
6931
6959
  #
@@ -7114,7 +7142,7 @@ module Aws::S3
7114
7142
  # When you use this action with S3 on Outposts through the Amazon Web
7115
7143
  # Services SDKs, you provide the Outposts access point ARN in place of
7116
7144
  # the bucket name. For more information about S3 on Outposts ARNs, see
7117
- # [What is S3 on Outposts][3] in the *Amazon S3 User Guide*.
7145
+ # [What is S3 on Outposts?][3] in the *Amazon S3 User Guide*.
7118
7146
  #
7119
7147
  #
7120
7148
  #
@@ -7160,9 +7188,9 @@ module Aws::S3
7160
7188
  req.send_request(options)
7161
7189
  end
7162
7190
 
7163
- # The HEAD action retrieves metadata from an object without returning
7191
+ # The `HEAD` action retrieves metadata from an object without returning
7164
7192
  # the object itself. This action is useful if you're only interested in
7165
- # an object's metadata. To use HEAD, you must have READ access to the
7193
+ # an object's metadata. To use `HEAD`, you must have READ access to the
7166
7194
  # object.
7167
7195
  #
7168
7196
  # A `HEAD` request has the same options as a `GET` action on an object.
@@ -7177,20 +7205,22 @@ module Aws::S3
7177
7205
  # Amazon S3, then when you retrieve the metadata from the object, you
7178
7206
  # must use the following headers:
7179
7207
  #
7180
- # * x-amz-server-side-encryption-customer-algorithm
7208
+ # * `x-amz-server-side-encryption-customer-algorithm`
7181
7209
  #
7182
- # * x-amz-server-side-encryption-customer-key
7210
+ # * `x-amz-server-side-encryption-customer-key`
7183
7211
  #
7184
- # * x-amz-server-side-encryption-customer-key-MD5
7212
+ # * `x-amz-server-side-encryption-customer-key-MD5`
7185
7213
  #
7186
7214
  # For more information about SSE-C, see [Server-Side Encryption (Using
7187
7215
  # Customer-Provided Encryption Keys)][1].
7188
7216
  #
7189
7217
  # <note markdown="1"> * Encryption request headers, like `x-amz-server-side-encryption`,
7190
- # should not be sent for GET requests if your object uses server-side
7191
- # encryption with KMS keys (SSE-KMS) or server-side encryption with
7192
- # Amazon S3–managed encryption keys (SSE-S3). If your object does use
7193
- # these types of keys, you’ll get an HTTP 400 BadRequest error.
7218
+ # should not be sent for `GET` requests if your object uses
7219
+ # server-side encryption with Key Management Service (KMS) keys
7220
+ # (SSE-KMS), dual-layer server-side encryption with Amazon Web
7221
+ # Services KMS keys (DSSE-KMS), or server-side encryption with Amazon
7222
+ # S3 managed encryption keys (SSE-S3). If your object does use these
7223
+ # types of keys, you’ll get an HTTP 400 Bad Request error.
7194
7224
  #
7195
7225
  # * The last modified property in this case is the creation date of the
7196
7226
  # object.
@@ -7226,15 +7256,15 @@ module Aws::S3
7226
7256
  #
7227
7257
  # : You need the relevant read object (or version) permission for this
7228
7258
  # operation. For more information, see [Actions, resources, and
7229
- # condition keys for Amazon S3][4]. If the object you request does not
7230
- # exist, the error Amazon S3 returns depends on whether you also have
7231
- # the s3:ListBucket permission.
7259
+ # condition keys for Amazon S3][4]. If the object you request doesn't
7260
+ # exist, the error that Amazon S3 returns depends on whether you also
7261
+ # have the s3:ListBucket permission.
7232
7262
  #
7233
7263
  # * If you have the `s3:ListBucket` permission on the bucket, Amazon
7234
- # S3 returns an HTTP status code 404 ("no such key") error.
7264
+ # S3 returns an HTTP status code 404 error.
7235
7265
  #
7236
7266
  # * If you don’t have the `s3:ListBucket` permission, Amazon S3
7237
- # returns an HTTP status code 403 ("access denied") error.
7267
+ # returns an HTTP status code 403 error.
7238
7268
  #
7239
7269
  # The following actions are related to `HeadObject`:
7240
7270
  #
@@ -7269,7 +7299,7 @@ module Aws::S3
7269
7299
  # When you use this action with S3 on Outposts through the Amazon Web
7270
7300
  # Services SDKs, you provide the Outposts access point ARN in place of
7271
7301
  # the bucket name. For more information about S3 on Outposts ARNs, see
7272
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
7302
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
7273
7303
  #
7274
7304
  #
7275
7305
  #
@@ -7323,9 +7353,11 @@ module Aws::S3
7323
7353
  # @option params [String] :request_payer
7324
7354
  # Confirms that the requester knows that they will be charged for the
7325
7355
  # request. Bucket owners need not specify this parameter in their
7326
- # requests. For information about downloading objects from Requester
7327
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
7328
- # in the *Amazon S3 User Guide*.
7356
+ # requests. If either the source or destination Amazon S3 bucket has
7357
+ # Requester Pays enabled, the requester will pay for corresponding
7358
+ # charges to copy the object. For information about downloading objects
7359
+ # from Requester Pays buckets, see [Downloading Objects in Requester
7360
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
7329
7361
  #
7330
7362
  #
7331
7363
  #
@@ -7454,7 +7486,7 @@ module Aws::S3
7454
7486
  # resp.expires #=> Time
7455
7487
  # resp.expires_string #=> String
7456
7488
  # resp.website_redirect_location #=> String
7457
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
7489
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
7458
7490
  # resp.metadata #=> Hash
7459
7491
  # resp.metadata["MetadataKey"] #=> String
7460
7492
  # resp.sse_customer_algorithm #=> String
@@ -7463,7 +7495,7 @@ module Aws::S3
7463
7495
  # resp.bucket_key_enabled #=> Boolean
7464
7496
  # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW"
7465
7497
  # resp.request_charged #=> String, one of "requester"
7466
- # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA"
7498
+ # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA", "COMPLETED"
7467
7499
  # resp.parts_count #=> Integer
7468
7500
  # resp.object_lock_mode #=> String, one of "GOVERNANCE", "COMPLIANCE"
7469
7501
  # resp.object_lock_retain_until_date #=> Time
@@ -7529,7 +7561,7 @@ module Aws::S3
7529
7561
  # retrieved.
7530
7562
  #
7531
7563
  # @option params [String] :continuation_token
7532
- # The ContinuationToken that represents a placeholder from where this
7564
+ # The `ContinuationToken` that represents a placeholder from where this
7533
7565
  # request should begin.
7534
7566
  #
7535
7567
  # @option params [String] :expected_bucket_owner
@@ -7715,7 +7747,7 @@ module Aws::S3
7715
7747
  #
7716
7748
  # @option params [String] :continuation_token
7717
7749
  # The marker used to continue an inventory configuration listing that
7718
- # has been truncated. Use the NextContinuationToken from a previously
7750
+ # has been truncated. Use the `NextContinuationToken` from a previously
7719
7751
  # truncated list response to continue the listing. The continuation
7720
7752
  # token is an opaque value that Amazon S3 understands.
7721
7753
  #
@@ -7753,7 +7785,7 @@ module Aws::S3
7753
7785
  # resp.inventory_configuration_list[0].id #=> String
7754
7786
  # resp.inventory_configuration_list[0].included_object_versions #=> String, one of "All", "Current"
7755
7787
  # resp.inventory_configuration_list[0].optional_fields #=> Array
7756
- # resp.inventory_configuration_list[0].optional_fields[0] #=> String, one of "Size", "LastModifiedDate", "StorageClass", "ETag", "IsMultipartUploaded", "ReplicationStatus", "EncryptionStatus", "ObjectLockRetainUntilDate", "ObjectLockMode", "ObjectLockLegalHoldStatus", "IntelligentTieringAccessTier", "BucketKeyStatus", "ChecksumAlgorithm"
7788
+ # resp.inventory_configuration_list[0].optional_fields[0] #=> String, one of "Size", "LastModifiedDate", "StorageClass", "ETag", "IsMultipartUploaded", "ReplicationStatus", "EncryptionStatus", "ObjectLockRetainUntilDate", "ObjectLockMode", "ObjectLockLegalHoldStatus", "IntelligentTieringAccessTier", "BucketKeyStatus", "ChecksumAlgorithm", "ObjectAccessControlList", "ObjectOwner"
7757
7789
  # resp.inventory_configuration_list[0].schedule.frequency #=> String, one of "Daily", "Weekly"
7758
7790
  # resp.is_truncated #=> Boolean
7759
7791
  # resp.next_continuation_token #=> String
@@ -7815,7 +7847,7 @@ module Aws::S3
7815
7847
  #
7816
7848
  # @option params [String] :continuation_token
7817
7849
  # The marker that is used to continue a metrics configuration listing
7818
- # that has been truncated. Use the NextContinuationToken from a
7850
+ # that has been truncated. Use the `NextContinuationToken` from a
7819
7851
  # previously truncated list response to continue the listing. The
7820
7852
  # continuation token is an opaque value that Amazon S3 understands.
7821
7853
  #
@@ -7994,7 +8026,7 @@ module Aws::S3
7994
8026
  # When you use this action with S3 on Outposts through the Amazon Web
7995
8027
  # Services SDKs, you provide the Outposts access point ARN in place of
7996
8028
  # the bucket name. For more information about S3 on Outposts ARNs, see
7997
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
8029
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
7998
8030
  #
7999
8031
  #
8000
8032
  #
@@ -8013,15 +8045,15 @@ module Aws::S3
8013
8045
  #
8014
8046
  # @option params [String] :encoding_type
8015
8047
  # Requests Amazon S3 to encode the object keys in the response and
8016
- # specifies the encoding method to use. An object key may contain any
8017
- # Unicode character; however, XML 1.0 parser cannot parse some
8048
+ # specifies the encoding method to use. An object key can contain any
8049
+ # Unicode character; however, the XML 1.0 parser cannot parse some
8018
8050
  # characters, such as characters with an ASCII value from 0 to 10. For
8019
8051
  # characters that are not supported in XML 1.0, you can add this
8020
8052
  # parameter to request that Amazon S3 encode the keys in the response.
8021
8053
  #
8022
8054
  # @option params [String] :key_marker
8023
- # Together with upload-id-marker, this parameter specifies the multipart
8024
- # upload after which listing should begin.
8055
+ # Together with `upload-id-marker`, this parameter specifies the
8056
+ # multipart upload after which listing should begin.
8025
8057
  #
8026
8058
  # If `upload-id-marker` is not specified, only the keys
8027
8059
  # lexicographically greater than the specified `key-marker` will be
@@ -8040,8 +8072,8 @@ module Aws::S3
8040
8072
  # @option params [String] :prefix
8041
8073
  # Lists in-progress uploads only for those keys that begin with the
8042
8074
  # specified prefix. You can use prefixes to separate a bucket into
8043
- # different grouping of keys. (You can think of using prefix to make
8044
- # groups in the same way you'd use a folder in a file system.)
8075
+ # different grouping of keys. (You can think of using `prefix` to make
8076
+ # groups in the same way that you'd use a folder in a file system.)
8045
8077
  #
8046
8078
  # @option params [String] :upload_id_marker
8047
8079
  # Together with key-marker, specifies the multipart upload after which
@@ -8056,6 +8088,19 @@ module Aws::S3
8056
8088
  # a different account, the request fails with the HTTP status code `403
8057
8089
  # Forbidden` (access denied).
8058
8090
  #
8091
+ # @option params [String] :request_payer
8092
+ # Confirms that the requester knows that they will be charged for the
8093
+ # request. Bucket owners need not specify this parameter in their
8094
+ # requests. If either the source or destination Amazon S3 bucket has
8095
+ # Requester Pays enabled, the requester will pay for corresponding
8096
+ # charges to copy the object. For information about downloading objects
8097
+ # from Requester Pays buckets, see [Downloading Objects in Requester
8098
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
8099
+ #
8100
+ #
8101
+ #
8102
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
8103
+ #
8059
8104
  # @return [Types::ListMultipartUploadsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8060
8105
  #
8061
8106
  # * {Types::ListMultipartUploadsOutput#bucket #bucket} => String
@@ -8070,6 +8115,7 @@ module Aws::S3
8070
8115
  # * {Types::ListMultipartUploadsOutput#uploads #uploads} => Array&lt;Types::MultipartUpload&gt;
8071
8116
  # * {Types::ListMultipartUploadsOutput#common_prefixes #common_prefixes} => Array&lt;Types::CommonPrefix&gt;
8072
8117
  # * {Types::ListMultipartUploadsOutput#encoding_type #encoding_type} => String
8118
+ # * {Types::ListMultipartUploadsOutput#request_charged #request_charged} => String
8073
8119
  #
8074
8120
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8075
8121
  #
@@ -8180,6 +8226,7 @@ module Aws::S3
8180
8226
  # prefix: "Prefix",
8181
8227
  # upload_id_marker: "UploadIdMarker",
8182
8228
  # expected_bucket_owner: "AccountId",
8229
+ # request_payer: "requester", # accepts requester
8183
8230
  # })
8184
8231
  #
8185
8232
  # @example Response structure
@@ -8206,6 +8253,7 @@ module Aws::S3
8206
8253
  # resp.common_prefixes #=> Array
8207
8254
  # resp.common_prefixes[0].prefix #=> String
8208
8255
  # resp.encoding_type #=> String, one of "url"
8256
+ # resp.request_charged #=> String, one of "requester"
8209
8257
  #
8210
8258
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads AWS API Documentation
8211
8259
  #
@@ -8220,10 +8268,10 @@ module Aws::S3
8220
8268
  # can also use request parameters as selection criteria to return
8221
8269
  # metadata about a subset of all the object versions.
8222
8270
  #
8223
- # To use this operation, you must have permissions to perform the
8271
+ # To use this operation, you must have permission to perform the
8224
8272
  # `s3:ListBucketVersions` action. Be aware of the name difference.
8225
8273
  #
8226
- # <note markdown="1"> A 200 OK response can contain valid or invalid XML. Make sure to
8274
+ # <note markdown="1"> A `200 OK` response can contain valid or invalid XML. Make sure to
8227
8275
  # design your application to parse the contents of the response and
8228
8276
  # handle it appropriately.
8229
8277
  #
@@ -8257,14 +8305,14 @@ module Aws::S3
8257
8305
  # A delimiter is a character that you specify to group keys. All keys
8258
8306
  # that contain the same string between the `prefix` and the first
8259
8307
  # occurrence of the delimiter are grouped under a single result element
8260
- # in CommonPrefixes. These groups are counted as one result against the
8261
- # max-keys limitation. These keys are not returned elsewhere in the
8262
- # response.
8308
+ # in `CommonPrefixes`. These groups are counted as one result against
8309
+ # the `max-keys` limitation. These keys are not returned elsewhere in
8310
+ # the response.
8263
8311
  #
8264
8312
  # @option params [String] :encoding_type
8265
8313
  # Requests Amazon S3 to encode the object keys in the response and
8266
- # specifies the encoding method to use. An object key may contain any
8267
- # Unicode character; however, XML 1.0 parser cannot parse some
8314
+ # specifies the encoding method to use. An object key can contain any
8315
+ # Unicode character; however, the XML 1.0 parser cannot parse some
8268
8316
  # characters, such as characters with an ASCII value from 0 to 10. For
8269
8317
  # characters that are not supported in XML 1.0, you can add this
8270
8318
  # parameter to request that Amazon S3 encode the keys in the response.
@@ -8273,20 +8321,20 @@ module Aws::S3
8273
8321
  # Specifies the key to start with when listing objects in a bucket.
8274
8322
  #
8275
8323
  # @option params [Integer] :max_keys
8276
- # Sets the maximum number of keys returned in the response. By default
8324
+ # Sets the maximum number of keys returned in the response. By default,
8277
8325
  # the action returns up to 1,000 key names. The response might contain
8278
8326
  # fewer keys but will never contain more. If additional keys satisfy the
8279
- # search criteria, but were not returned because max-keys was exceeded,
8280
- # the response contains &lt;isTruncated&gt;true&lt;/isTruncated&gt;. To
8281
- # return the additional keys, see key-marker and version-id-marker.
8327
+ # search criteria, but were not returned because `max-keys` was
8328
+ # exceeded, the response contains `<isTruncated>true</isTruncated>`. To
8329
+ # return the additional keys, see `key-marker` and `version-id-marker`.
8282
8330
  #
8283
8331
  # @option params [String] :prefix
8284
8332
  # Use this parameter to select only those keys that begin with the
8285
8333
  # specified prefix. You can use prefixes to separate a bucket into
8286
- # different groupings of keys. (You can think of using prefix to make
8287
- # groups in the same way you'd use a folder in a file system.) You can
8288
- # use prefix with delimiter to roll up numerous objects into a single
8289
- # result under CommonPrefixes.
8334
+ # different groupings of keys. (You can think of using `prefix` to make
8335
+ # groups in the same way that you'd use a folder in a file system.) You
8336
+ # can use `prefix` with `delimiter` to roll up numerous objects into a
8337
+ # single result under `CommonPrefixes`.
8290
8338
  #
8291
8339
  # @option params [String] :version_id_marker
8292
8340
  # Specifies the object version you want to start listing from.
@@ -8296,6 +8344,23 @@ module Aws::S3
8296
8344
  # a different account, the request fails with the HTTP status code `403
8297
8345
  # Forbidden` (access denied).
8298
8346
  #
8347
+ # @option params [String] :request_payer
8348
+ # Confirms that the requester knows that they will be charged for the
8349
+ # request. Bucket owners need not specify this parameter in their
8350
+ # requests. If either the source or destination Amazon S3 bucket has
8351
+ # Requester Pays enabled, the requester will pay for corresponding
8352
+ # charges to copy the object. For information about downloading objects
8353
+ # from Requester Pays buckets, see [Downloading Objects in Requester
8354
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
8355
+ #
8356
+ #
8357
+ #
8358
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
8359
+ #
8360
+ # @option params [Array<String>] :optional_object_attributes
8361
+ # Specifies the optional fields that you want returned in the response.
8362
+ # Fields that you do not specify are not returned.
8363
+ #
8299
8364
  # @return [Types::ListObjectVersionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8300
8365
  #
8301
8366
  # * {Types::ListObjectVersionsOutput#is_truncated #is_truncated} => Boolean
@@ -8311,6 +8376,7 @@ module Aws::S3
8311
8376
  # * {Types::ListObjectVersionsOutput#max_keys #max_keys} => Integer
8312
8377
  # * {Types::ListObjectVersionsOutput#common_prefixes #common_prefixes} => Array&lt;Types::CommonPrefix&gt;
8313
8378
  # * {Types::ListObjectVersionsOutput#encoding_type #encoding_type} => String
8379
+ # * {Types::ListObjectVersionsOutput#request_charged #request_charged} => String
8314
8380
  #
8315
8381
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8316
8382
  #
@@ -8369,6 +8435,8 @@ module Aws::S3
8369
8435
  # prefix: "Prefix",
8370
8436
  # version_id_marker: "VersionIdMarker",
8371
8437
  # expected_bucket_owner: "AccountId",
8438
+ # request_payer: "requester", # accepts requester
8439
+ # optional_object_attributes: ["RestoreStatus"], # accepts RestoreStatus
8372
8440
  # })
8373
8441
  #
8374
8442
  # @example Response structure
@@ -8390,6 +8458,8 @@ module Aws::S3
8390
8458
  # resp.versions[0].last_modified #=> Time
8391
8459
  # resp.versions[0].owner.display_name #=> String
8392
8460
  # resp.versions[0].owner.id #=> String
8461
+ # resp.versions[0].restore_status.is_restore_in_progress #=> Boolean
8462
+ # resp.versions[0].restore_status.restore_expiry_date #=> Time
8393
8463
  # resp.delete_markers #=> Array
8394
8464
  # resp.delete_markers[0].owner.display_name #=> String
8395
8465
  # resp.delete_markers[0].owner.id #=> String
@@ -8404,6 +8474,7 @@ module Aws::S3
8404
8474
  # resp.common_prefixes #=> Array
8405
8475
  # resp.common_prefixes[0].prefix #=> String
8406
8476
  # resp.encoding_type #=> String, one of "url"
8477
+ # resp.request_charged #=> String, one of "requester"
8407
8478
  #
8408
8479
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions AWS API Documentation
8409
8480
  #
@@ -8462,7 +8533,7 @@ module Aws::S3
8462
8533
  # When you use this action with S3 on Outposts through the Amazon Web
8463
8534
  # Services SDKs, you provide the Outposts access point ARN in place of
8464
8535
  # the bucket name. For more information about S3 on Outposts ARNs, see
8465
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
8536
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
8466
8537
  #
8467
8538
  #
8468
8539
  #
@@ -8470,12 +8541,12 @@ module Aws::S3
8470
8541
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html
8471
8542
  #
8472
8543
  # @option params [String] :delimiter
8473
- # A delimiter is a character you use to group keys.
8544
+ # A delimiter is a character that you use to group keys.
8474
8545
  #
8475
8546
  # @option params [String] :encoding_type
8476
8547
  # Requests Amazon S3 to encode the object keys in the response and
8477
- # specifies the encoding method to use. An object key may contain any
8478
- # Unicode character; however, XML 1.0 parser cannot parse some
8548
+ # specifies the encoding method to use. An object key can contain any
8549
+ # Unicode character; however, the XML 1.0 parser cannot parse some
8479
8550
  # characters, such as characters with an ASCII value from 0 to 10. For
8480
8551
  # characters that are not supported in XML 1.0, you can add this
8481
8552
  # parameter to request that Amazon S3 encode the keys in the response.
@@ -8486,7 +8557,7 @@ module Aws::S3
8486
8557
  # bucket.
8487
8558
  #
8488
8559
  # @option params [Integer] :max_keys
8489
- # Sets the maximum number of keys returned in the response. By default
8560
+ # Sets the maximum number of keys returned in the response. By default,
8490
8561
  # the action returns up to 1,000 key names. The response might contain
8491
8562
  # fewer keys but will never contain more.
8492
8563
  #
@@ -8503,6 +8574,10 @@ module Aws::S3
8503
8574
  # a different account, the request fails with the HTTP status code `403
8504
8575
  # Forbidden` (access denied).
8505
8576
  #
8577
+ # @option params [Array<String>] :optional_object_attributes
8578
+ # Specifies the optional fields that you want returned in the response.
8579
+ # Fields that you do not specify are not returned.
8580
+ #
8506
8581
  # @return [Types::ListObjectsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8507
8582
  #
8508
8583
  # * {Types::ListObjectsOutput#is_truncated #is_truncated} => Boolean
@@ -8515,6 +8590,7 @@ module Aws::S3
8515
8590
  # * {Types::ListObjectsOutput#max_keys #max_keys} => Integer
8516
8591
  # * {Types::ListObjectsOutput#common_prefixes #common_prefixes} => Array&lt;Types::CommonPrefix&gt;
8517
8592
  # * {Types::ListObjectsOutput#encoding_type #encoding_type} => String
8593
+ # * {Types::ListObjectsOutput#request_charged #request_charged} => String
8518
8594
  #
8519
8595
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8520
8596
  #
@@ -8568,6 +8644,7 @@ module Aws::S3
8568
8644
  # prefix: "Prefix",
8569
8645
  # request_payer: "requester", # accepts requester
8570
8646
  # expected_bucket_owner: "AccountId",
8647
+ # optional_object_attributes: ["RestoreStatus"], # accepts RestoreStatus
8571
8648
  # })
8572
8649
  #
8573
8650
  # @example Response structure
@@ -8585,6 +8662,8 @@ module Aws::S3
8585
8662
  # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW"
8586
8663
  # resp.contents[0].owner.display_name #=> String
8587
8664
  # resp.contents[0].owner.id #=> String
8665
+ # resp.contents[0].restore_status.is_restore_in_progress #=> Boolean
8666
+ # resp.contents[0].restore_status.restore_expiry_date #=> Time
8588
8667
  # resp.name #=> String
8589
8668
  # resp.prefix #=> String
8590
8669
  # resp.delimiter #=> String
@@ -8592,6 +8671,7 @@ module Aws::S3
8592
8671
  # resp.common_prefixes #=> Array
8593
8672
  # resp.common_prefixes[0].prefix #=> String
8594
8673
  # resp.encoding_type #=> String, one of "url"
8674
+ # resp.request_charged #=> String, one of "requester"
8595
8675
  #
8596
8676
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects AWS API Documentation
8597
8677
  #
@@ -8609,21 +8689,23 @@ module Aws::S3
8609
8689
  # parse the contents of the response and handle it appropriately.
8610
8690
  # Objects are returned sorted in an ascending order of the respective
8611
8691
  # key names in the list. For more information about listing objects, see
8612
- # [Listing object keys programmatically][1]
8692
+ # [Listing object keys programmatically][1] in the *Amazon S3 User
8693
+ # Guide*.
8613
8694
  #
8614
8695
  # To use this operation, you must have READ access to the bucket.
8615
8696
  #
8616
8697
  # To use this action in an Identity and Access Management (IAM) policy,
8617
- # you must have permissions to perform the `s3:ListBucket` action. The
8698
+ # you must have permission to perform the `s3:ListBucket` action. The
8618
8699
  # bucket owner has this permission by default and can grant this
8619
8700
  # permission to others. For more information about permissions, see
8620
8701
  # [Permissions Related to Bucket Subresource Operations][2] and
8621
- # [Managing Access Permissions to Your Amazon S3 Resources][3].
8702
+ # [Managing Access Permissions to Your Amazon S3 Resources][3] in the
8703
+ # *Amazon S3 User Guide*.
8622
8704
  #
8623
8705
  # This section describes the latest revision of this action. We
8624
- # recommend that you use this revised API for application development.
8625
- # For backward compatibility, Amazon S3 continues to support the prior
8626
- # version of this API, [ListObjects][4].
8706
+ # recommend that you use this revised API operation for application
8707
+ # development. For backward compatibility, Amazon S3 continues to
8708
+ # support the prior version of this API operation, [ListObjects][4].
8627
8709
  #
8628
8710
  # To get a list of your buckets, see [ListBuckets][5].
8629
8711
  #
@@ -8664,7 +8746,7 @@ module Aws::S3
8664
8746
  # When you use this action with S3 on Outposts through the Amazon Web
8665
8747
  # Services SDKs, you provide the Outposts access point ARN in place of
8666
8748
  # the bucket name. For more information about S3 on Outposts ARNs, see
8667
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
8749
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
8668
8750
  #
8669
8751
  #
8670
8752
  #
@@ -8672,13 +8754,13 @@ module Aws::S3
8672
8754
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html
8673
8755
  #
8674
8756
  # @option params [String] :delimiter
8675
- # A delimiter is a character you use to group keys.
8757
+ # A delimiter is a character that you use to group keys.
8676
8758
  #
8677
8759
  # @option params [String] :encoding_type
8678
8760
  # Encoding type used by Amazon S3 to encode object keys in the response.
8679
8761
  #
8680
8762
  # @option params [Integer] :max_keys
8681
- # Sets the maximum number of keys returned in the response. By default
8763
+ # Sets the maximum number of keys returned in the response. By default,
8682
8764
  # the action returns up to 1,000 key names. The response might contain
8683
8765
  # fewer keys but will never contain more.
8684
8766
  #
@@ -8686,14 +8768,14 @@ module Aws::S3
8686
8768
  # Limits the response to keys that begin with the specified prefix.
8687
8769
  #
8688
8770
  # @option params [String] :continuation_token
8689
- # ContinuationToken indicates Amazon S3 that the list is being continued
8690
- # on this bucket with a token. ContinuationToken is obfuscated and is
8691
- # not a real key.
8771
+ # `ContinuationToken` indicates to Amazon S3 that the list is being
8772
+ # continued on this bucket with a token. `ContinuationToken` is
8773
+ # obfuscated and is not a real key.
8692
8774
  #
8693
8775
  # @option params [Boolean] :fetch_owner
8694
- # The owner field is not present in listV2 by default, if you want to
8695
- # return owner field with each key in the result then set the fetch
8696
- # owner field to true.
8776
+ # The owner field is not present in `ListObjectsV2` by default. If you
8777
+ # want to return the owner field with each key in the result, then set
8778
+ # the `FetchOwner` field to `true`.
8697
8779
  #
8698
8780
  # @option params [String] :start_after
8699
8781
  # StartAfter is where you want Amazon S3 to start listing from. Amazon
@@ -8710,6 +8792,10 @@ module Aws::S3
8710
8792
  # a different account, the request fails with the HTTP status code `403
8711
8793
  # Forbidden` (access denied).
8712
8794
  #
8795
+ # @option params [Array<String>] :optional_object_attributes
8796
+ # Specifies the optional fields that you want returned in the response.
8797
+ # Fields that you do not specify are not returned.
8798
+ #
8713
8799
  # @return [Types::ListObjectsV2Output] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8714
8800
  #
8715
8801
  # * {Types::ListObjectsV2Output#is_truncated #is_truncated} => Boolean
@@ -8724,6 +8810,7 @@ module Aws::S3
8724
8810
  # * {Types::ListObjectsV2Output#continuation_token #continuation_token} => String
8725
8811
  # * {Types::ListObjectsV2Output#next_continuation_token #next_continuation_token} => String
8726
8812
  # * {Types::ListObjectsV2Output#start_after #start_after} => String
8813
+ # * {Types::ListObjectsV2Output#request_charged #request_charged} => String
8727
8814
  #
8728
8815
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8729
8816
  #
@@ -8777,6 +8864,7 @@ module Aws::S3
8777
8864
  # start_after: "StartAfter",
8778
8865
  # request_payer: "requester", # accepts requester
8779
8866
  # expected_bucket_owner: "AccountId",
8867
+ # optional_object_attributes: ["RestoreStatus"], # accepts RestoreStatus
8780
8868
  # })
8781
8869
  #
8782
8870
  # @example Response structure
@@ -8792,6 +8880,8 @@ module Aws::S3
8792
8880
  # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW"
8793
8881
  # resp.contents[0].owner.display_name #=> String
8794
8882
  # resp.contents[0].owner.id #=> String
8883
+ # resp.contents[0].restore_status.is_restore_in_progress #=> Boolean
8884
+ # resp.contents[0].restore_status.restore_expiry_date #=> Time
8795
8885
  # resp.name #=> String
8796
8886
  # resp.prefix #=> String
8797
8887
  # resp.delimiter #=> String
@@ -8803,6 +8893,7 @@ module Aws::S3
8803
8893
  # resp.continuation_token #=> String
8804
8894
  # resp.next_continuation_token #=> String
8805
8895
  # resp.start_after #=> String
8896
+ # resp.request_charged #=> String, one of "requester"
8806
8897
  #
8807
8898
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2 AWS API Documentation
8808
8899
  #
@@ -8879,7 +8970,7 @@ module Aws::S3
8879
8970
  # When you use this action with S3 on Outposts through the Amazon Web
8880
8971
  # Services SDKs, you provide the Outposts access point ARN in place of
8881
8972
  # the bucket name. For more information about S3 on Outposts ARNs, see
8882
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
8973
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
8883
8974
  #
8884
8975
  #
8885
8976
  #
@@ -8903,9 +8994,11 @@ module Aws::S3
8903
8994
  # @option params [String] :request_payer
8904
8995
  # Confirms that the requester knows that they will be charged for the
8905
8996
  # request. Bucket owners need not specify this parameter in their
8906
- # requests. For information about downloading objects from Requester
8907
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
8908
- # in the *Amazon S3 User Guide*.
8997
+ # requests. If either the source or destination Amazon S3 bucket has
8998
+ # Requester Pays enabled, the requester will pay for corresponding
8999
+ # charges to copy the object. For information about downloading objects
9000
+ # from Requester Pays buckets, see [Downloading Objects in Requester
9001
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
8909
9002
  #
8910
9003
  #
8911
9004
  #
@@ -9182,7 +9275,8 @@ module Aws::S3
9182
9275
  #
9183
9276
  # Permissions
9184
9277
  #
9185
- # : You can set access permissions using one of the following methods:
9278
+ # : You can set access permissions by using one of the following
9279
+ # methods:
9186
9280
  #
9187
9281
  # * Specify a canned ACL with the `x-amz-acl` request header. Amazon
9188
9282
  # S3 supports a set of predefined ACLs, known as *canned ACLs*. Each
@@ -9755,19 +9849,20 @@ module Aws::S3
9755
9849
  # By default, all buckets have a default encryption configuration that
9756
9850
  # uses server-side encryption with Amazon S3 managed keys (SSE-S3). You
9757
9851
  # can optionally configure default encryption for a bucket by using
9758
- # server-side encryption with an Amazon Web Services KMS key (SSE-KMS)
9759
- # or a customer-provided key (SSE-C). If you specify default encryption
9760
- # by using SSE-KMS, you can also configure Amazon S3 Bucket Keys. For
9761
- # information about bucket default encryption, see [Amazon S3 bucket
9762
- # default encryption][1] in the *Amazon S3 User Guide*. For more
9763
- # information about S3 Bucket Keys, see [Amazon S3 Bucket Keys][2] in
9764
- # the *Amazon S3 User Guide*.
9852
+ # server-side encryption with Key Management Service (KMS) keys
9853
+ # (SSE-KMS) or dual-layer server-side encryption with Amazon Web
9854
+ # Services KMS keys (DSSE-KMS). If you specify default encryption by
9855
+ # using SSE-KMS, you can also configure [Amazon S3 Bucket Keys][1]. If
9856
+ # you use PutBucketEncryption to set your [default bucket encryption][2]
9857
+ # to SSE-KMS, you should verify that your KMS key ID is correct. Amazon
9858
+ # S3 does not validate the KMS key ID provided in PutBucketEncryption
9859
+ # requests.
9765
9860
  #
9766
9861
  # This action requires Amazon Web Services Signature Version 4. For more
9767
9862
  # information, see [ Authenticating Requests (Amazon Web Services
9768
9863
  # Signature Version 4)][3].
9769
9864
  #
9770
- # To use this operation, you must have permissions to perform the
9865
+ # To use this operation, you must have permission to perform the
9771
9866
  # `s3:PutEncryptionConfiguration` action. The bucket owner has this
9772
9867
  # permission by default. The bucket owner can grant this permission to
9773
9868
  # others. For more information about permissions, see [Permissions
@@ -9783,8 +9878,8 @@ module Aws::S3
9783
9878
  #
9784
9879
  #
9785
9880
  #
9786
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
9787
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
9881
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
9882
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
9788
9883
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
9789
9884
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
9790
9885
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
@@ -9849,7 +9944,7 @@ module Aws::S3
9849
9944
  # rules: [ # required
9850
9945
  # {
9851
9946
  # apply_server_side_encryption_by_default: {
9852
- # sse_algorithm: "AES256", # required, accepts AES256, aws:kms
9947
+ # sse_algorithm: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
9853
9948
  # kms_master_key_id: "SSEKMSKeyId",
9854
9949
  # },
9855
9950
  # bucket_key_enabled: false,
@@ -10120,7 +10215,7 @@ module Aws::S3
10120
10215
  # },
10121
10216
  # id: "InventoryId", # required
10122
10217
  # included_object_versions: "All", # required, accepts All, Current
10123
- # optional_fields: ["Size"], # accepts Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus, EncryptionStatus, ObjectLockRetainUntilDate, ObjectLockMode, ObjectLockLegalHoldStatus, IntelligentTieringAccessTier, BucketKeyStatus, ChecksumAlgorithm
10218
+ # optional_fields: ["Size"], # accepts Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus, EncryptionStatus, ObjectLockRetainUntilDate, ObjectLockMode, ObjectLockLegalHoldStatus, IntelligentTieringAccessTier, BucketKeyStatus, ChecksumAlgorithm, ObjectAccessControlList, ObjectOwner
10124
10219
  # schedule: { # required
10125
10220
  # frequency: "Daily", # required, accepts Daily, Weekly
10126
10221
  # },
@@ -10309,11 +10404,11 @@ module Aws::S3
10309
10404
  # 1,000 rules. This limit is not adjustable. Each rule consists of the
10310
10405
  # following:
10311
10406
  #
10312
- # * Filter identifying a subset of objects to which the rule applies.
10313
- # The filter can be based on a key name prefix, object tags, or a
10314
- # combination of both.
10407
+ # * A filter identifying a subset of objects to which the rule
10408
+ # applies. The filter can be based on a key name prefix, object
10409
+ # tags, or a combination of both.
10315
10410
  #
10316
- # * Status whether the rule is in effect.
10411
+ # * A status indicating whether the rule is in effect.
10317
10412
  #
10318
10413
  # * One or more lifecycle transition and expiration actions that you
10319
10414
  # want Amazon S3 to perform on the objects identified by the filter.
@@ -10337,7 +10432,7 @@ module Aws::S3
10337
10432
  # operation, a user must get the `s3:PutLifecycleConfiguration`
10338
10433
  # permission.
10339
10434
  #
10340
- # You can also explicitly deny permissions. Explicit deny also
10435
+ # You can also explicitly deny permissions. An explicit deny also
10341
10436
  # supersedes any other permissions. If you want to block users or
10342
10437
  # accounts from removing or deleting objects from your bucket, you
10343
10438
  # must deny them permissions for the following actions:
@@ -10520,7 +10615,7 @@ module Aws::S3
10520
10615
  # Grantee Values
10521
10616
  #
10522
10617
  # : You can specify the person (grantee) to whom you're assigning
10523
- # access rights (using request elements) in the following ways:
10618
+ # access rights (by using request elements) in the following ways:
10524
10619
  #
10525
10620
  # * By the person's ID:
10526
10621
  #
@@ -10528,23 +10623,23 @@ module Aws::S3
10528
10623
  # xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName>
10529
10624
  # </Grantee>`
10530
10625
  #
10531
- # DisplayName is optional and ignored in the request.
10626
+ # `DisplayName` is optional and ignored in the request.
10532
10627
  #
10533
10628
  # * By Email address:
10534
10629
  #
10535
10630
  # ` <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10536
10631
  # xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress></Grantee>`
10537
10632
  #
10538
- # The grantee is resolved to the CanonicalUser and, in a response to
10539
- # a GET Object acl request, appears as the CanonicalUser.
10633
+ # The grantee is resolved to the `CanonicalUser` and, in a response
10634
+ # to a `GETObjectAcl` request, appears as the CanonicalUser.
10540
10635
  #
10541
10636
  # * By URI:
10542
10637
  #
10543
10638
  # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10544
10639
  # xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>`
10545
10640
  #
10546
- # To enable logging, you use LoggingEnabled and its children request
10547
- # elements. To disable logging, you use an empty BucketLoggingStatus
10641
+ # To enable logging, you use `LoggingEnabled` and its children request
10642
+ # elements. To disable logging, you use an empty `BucketLoggingStatus`
10548
10643
  # request element:
10549
10644
  #
10550
10645
  # `<BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/2006-03-01"
@@ -10699,7 +10794,7 @@ module Aws::S3
10699
10794
  #
10700
10795
  # * [ListBucketMetricsConfigurations][6]
10701
10796
  #
10702
- # `GetBucketLifecycle` has the following special error:
10797
+ # `PutBucketMetricsConfiguration` has the following special error:
10703
10798
  #
10704
10799
  # * Error code: `TooManyConfigurations`
10705
10800
  #
@@ -10894,7 +10989,7 @@ module Aws::S3
10894
10989
  #
10895
10990
  # By default, only the bucket owner can configure notifications on a
10896
10991
  # bucket. However, bucket owners can use a bucket policy to grant
10897
- # permission to other users to set this configuration with
10992
+ # permission to other users to set this configuration with the required
10898
10993
  # `s3:PutBucketNotification` permission.
10899
10994
  #
10900
10995
  # <note markdown="1"> The PUT notification is an atomic operation. For example, suppose your
@@ -11211,7 +11306,9 @@ module Aws::S3
11211
11306
  # replication configuration, you provide the name of the destination
11212
11307
  # bucket or buckets where you want Amazon S3 to replicate objects, the
11213
11308
  # IAM role that Amazon S3 can assume to replicate objects on your
11214
- # behalf, and other relevant information.
11309
+ # behalf, and other relevant information. You can invoke this request
11310
+ # for a specific Amazon Web Services Region by using the [
11311
+ # `aws:RequestedRegion` ][2] condition key.
11215
11312
  #
11216
11313
  # A replication configuration must include at least one rule, and can
11217
11314
  # contain a maximum of 1,000. Each rule identifies a subset of objects
@@ -11228,12 +11325,12 @@ module Aws::S3
11228
11325
  #
11229
11326
  # <note markdown="1"> If you are using an earlier version of the replication configuration,
11230
11327
  # Amazon S3 handles replication of delete markers differently. For more
11231
- # information, see [Backward Compatibility][2].
11328
+ # information, see [Backward Compatibility][3].
11232
11329
  #
11233
11330
  # </note>
11234
11331
  #
11235
11332
  # For information about enabling versioning on a bucket, see [Using
11236
- # Versioning][3].
11333
+ # Versioning][4].
11237
11334
  #
11238
11335
  # Handling Replication of Encrypted Objects
11239
11336
  #
@@ -11243,10 +11340,10 @@ module Aws::S3
11243
11340
  # `SourceSelectionCriteria`, `SseKmsEncryptedObjects`, `Status`,
11244
11341
  # `EncryptionConfiguration`, and `ReplicaKmsKeyID`. For information
11245
11342
  # about replication configuration, see [Replicating Objects Created
11246
- # with SSE Using KMS keys][4].
11343
+ # with SSE Using KMS keys][5].
11247
11344
  #
11248
11345
  # For information on `PutBucketReplication` errors, see [List of
11249
- # replication-related error codes][5]
11346
+ # replication-related error codes][6]
11250
11347
  #
11251
11348
  # Permissions
11252
11349
  #
@@ -11257,32 +11354,33 @@ module Aws::S3
11257
11354
  # account that created the bucket, can perform this operation. The
11258
11355
  # resource owner can also grant others permissions to perform the
11259
11356
  # operation. For more information about permissions, see [Specifying
11260
- # Permissions in a Policy][6] and [Managing Access Permissions to Your
11261
- # Amazon S3 Resources][7].
11357
+ # Permissions in a Policy][7] and [Managing Access Permissions to Your
11358
+ # Amazon S3 Resources][8].
11262
11359
  #
11263
11360
  # <note markdown="1"> To perform this operation, the user or role performing the action
11264
- # must have the [iam:PassRole][8] permission.
11361
+ # must have the [iam:PassRole][9] permission.
11265
11362
  #
11266
11363
  # </note>
11267
11364
  #
11268
11365
  # The following operations are related to `PutBucketReplication`:
11269
11366
  #
11270
- # * [GetBucketReplication][9]
11367
+ # * [GetBucketReplication][10]
11271
11368
  #
11272
- # * [DeleteBucketReplication][10]
11369
+ # * [DeleteBucketReplication][11]
11273
11370
  #
11274
11371
  #
11275
11372
  #
11276
11373
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html
11277
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations
11278
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html
11279
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-config-for-kms-objects.html
11280
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ReplicationErrorCodeList
11281
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
11282
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
11283
- # [8]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html
11284
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html
11285
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html
11374
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requestedregion
11375
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations
11376
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html
11377
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-config-for-kms-objects.html
11378
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ReplicationErrorCodeList
11379
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
11380
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
11381
+ # [9]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html
11382
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html
11383
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html
11286
11384
  #
11287
11385
  # @option params [required, String] :bucket
11288
11386
  # The name of the bucket
@@ -11554,54 +11652,37 @@ module Aws::S3
11554
11652
  # Operations][3] and [Managing Access Permissions to Your Amazon S3
11555
11653
  # Resources][4].
11556
11654
  #
11557
- # `PutBucketTagging` has the following special errors:
11558
- #
11559
- # * Error code: `InvalidTagError`
11560
- #
11561
- # * Description: The tag provided was not a valid tag. This error can
11562
- # occur if the tag did not pass input validation. For information
11563
- # about tag restrictions, see [User-Defined Tag Restrictions][5] and
11564
- # [Amazon Web Services-Generated Cost Allocation Tag
11565
- # Restrictions][6].
11566
- #
11567
- # ^
11568
- #
11569
- # * Error code: `MalformedXMLError`
11570
- #
11571
- # * Description: The XML provided does not match the schema.
11572
- #
11573
- # ^
11574
- #
11575
- # * Error code: `OperationAbortedError `
11576
- #
11577
- # * Description: A conflicting conditional action is currently in
11578
- # progress against this resource. Please try again.
11655
+ # `PutBucketTagging` has the following special errors. For more Amazon
11656
+ # S3 errors see, [Error Responses][5].
11579
11657
  #
11580
- # ^
11658
+ # * `InvalidTag` - The tag provided was not a valid tag. This error can
11659
+ # occur if the tag did not pass input validation. For more
11660
+ # information, see [Using Cost Allocation in Amazon S3 Bucket
11661
+ # Tags][2].
11581
11662
  #
11582
- # * Error code: `InternalError`
11663
+ # * `MalformedXML` - The XML provided does not match the schema.
11583
11664
  #
11584
- # * Description: The service was unable to apply the provided tag to
11585
- # the bucket.
11665
+ # * `OperationAborted` - A conflicting conditional action is currently
11666
+ # in progress against this resource. Please try again.
11586
11667
  #
11587
- # ^
11668
+ # * `InternalError` - The service was unable to apply the provided tag
11669
+ # to the bucket.
11588
11670
  #
11589
11671
  # The following operations are related to `PutBucketTagging`:
11590
11672
  #
11591
- # * [GetBucketTagging][7]
11673
+ # * [GetBucketTagging][6]
11592
11674
  #
11593
- # * [DeleteBucketTagging][8]
11675
+ # * [DeleteBucketTagging][7]
11594
11676
  #
11595
11677
  #
11596
11678
  #
11597
11679
  # [1]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html
11598
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CostAllocTagging.html
11680
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/CostAllocTagging.html
11599
11681
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
11600
11682
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
11601
- # [5]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html
11602
- # [6]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/aws-tag-restrictions.html
11603
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html
11604
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html
11683
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html
11684
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html
11685
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html
11605
11686
  #
11606
11687
  # @option params [required, String] :bucket
11607
11688
  # The bucket name.
@@ -11887,6 +11968,8 @@ module Aws::S3
11887
11968
  # object redirect. For more information, see [Configuring an Object
11888
11969
  # Redirect][2] in the *Amazon S3 User Guide*.
11889
11970
  #
11971
+ # The maximum request length is limited to 128 KB.
11972
+ #
11890
11973
  #
11891
11974
  #
11892
11975
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html
@@ -12036,15 +12119,15 @@ module Aws::S3
12036
12119
  #
12037
12120
  # </note>
12038
12121
  #
12039
- # You have three mutually exclusive options to protect data using
12122
+ # You have four mutually exclusive options to protect data using
12040
12123
  # server-side encryption in Amazon S3, depending on how you choose to
12041
12124
  # manage the encryption keys. Specifically, the encryption key options
12042
12125
  # are Amazon S3 managed keys (SSE-S3), Amazon Web Services KMS keys
12043
- # (SSE-KMS), and customer-provided keys (SSE-C). Amazon S3 encrypts data
12044
- # with server-side encryption by using Amazon S3 managed keys (SSE-S3)
12045
- # by default. You can optionally tell Amazon S3 to encrypt data at by
12046
- # rest using server-side encryption with other key options. For more
12047
- # information, see [Using Server-Side Encryption][3].
12126
+ # (SSE-KMS or DSSE-KMS), and customer-provided keys (SSE-C). Amazon S3
12127
+ # encrypts data with server-side encryption by using Amazon S3 managed
12128
+ # keys (SSE-S3) by default. You can optionally tell Amazon S3 to encrypt
12129
+ # data at rest by using server-side encryption with other key options.
12130
+ # For more information, see [Using Server-Side Encryption][3].
12048
12131
  #
12049
12132
  # When adding a new object, you can use headers to grant ACL-based
12050
12133
  # permissions to individual Amazon Web Services accounts or to
@@ -12140,7 +12223,7 @@ module Aws::S3
12140
12223
  # When you use this action with S3 on Outposts through the Amazon Web
12141
12224
  # Services SDKs, you provide the Outposts access point ARN in place of
12142
12225
  # the bucket name. For more information about S3 on Outposts ARNs, see
12143
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
12226
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
12144
12227
  #
12145
12228
  #
12146
12229
  #
@@ -12307,7 +12390,7 @@ module Aws::S3
12307
12390
  #
12308
12391
  # @option params [String] :server_side_encryption
12309
12392
  # The server-side encryption algorithm used when storing this object in
12310
- # Amazon S3 (for example, AES256, `aws:kms`).
12393
+ # Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
12311
12394
  #
12312
12395
  # @option params [String] :storage_class
12313
12396
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
@@ -12364,15 +12447,16 @@ module Aws::S3
12364
12447
  # ensure that the encryption key was transmitted without error.
12365
12448
  #
12366
12449
  # @option params [String] :ssekms_key_id
12367
- # If `x-amz-server-side-encryption` has a valid value of `aws:kms`, this
12368
- # header specifies the ID of the Amazon Web Services Key Management
12369
- # Service (Amazon Web Services KMS) symmetric encryption customer
12370
- # managed key that was used for the object. If you specify
12371
- # `x-amz-server-side-encryption:aws:kms`, but do not provide`
12450
+ # If `x-amz-server-side-encryption` has a valid value of `aws:kms` or
12451
+ # `aws:kms:dsse`, this header specifies the ID (Key ID, Key ARN, or Key
12452
+ # Alias) of the Key Management Service (KMS) symmetric encryption
12453
+ # customer managed key that was used for the object. If you specify
12454
+ # `x-amz-server-side-encryption:aws:kms` or
12455
+ # `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide`
12372
12456
  # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
12373
- # Amazon Web Services managed key to protect the data. If the KMS key
12374
- # does not exist in the same account issuing the command, you must use
12375
- # the full ARN and not just the ID.
12457
+ # Amazon Web Services managed key (`aws/s3`) to protect the data. If the
12458
+ # KMS key does not exist in the same account that's issuing the
12459
+ # command, you must use the full ARN and not just the ID.
12376
12460
  #
12377
12461
  # @option params [String] :ssekms_encryption_context
12378
12462
  # Specifies the Amazon Web Services KMS Encryption Context to use for
@@ -12384,9 +12468,9 @@ module Aws::S3
12384
12468
  #
12385
12469
  # @option params [Boolean] :bucket_key_enabled
12386
12470
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
12387
- # encryption with server-side encryption using AWS KMS (SSE-KMS).
12388
- # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
12389
- # for object encryption with SSE-KMS.
12471
+ # encryption with server-side encryption using Key Management Service
12472
+ # (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
12473
+ # to use an S3 Bucket Key for object encryption with SSE-KMS.
12390
12474
  #
12391
12475
  # Specifying this header with a PUT action doesn’t affect bucket-level
12392
12476
  # settings for S3 Bucket Key.
@@ -12394,9 +12478,11 @@ module Aws::S3
12394
12478
  # @option params [String] :request_payer
12395
12479
  # Confirms that the requester knows that they will be charged for the
12396
12480
  # request. Bucket owners need not specify this parameter in their
12397
- # requests. For information about downloading objects from Requester
12398
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
12399
- # in the *Amazon S3 User Guide*.
12481
+ # requests. If either the source or destination Amazon S3 bucket has
12482
+ # Requester Pays enabled, the requester will pay for corresponding
12483
+ # charges to copy the object. For information about downloading objects
12484
+ # from Requester Pays buckets, see [Downloading Objects in Requester
12485
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
12400
12486
  #
12401
12487
  #
12402
12488
  #
@@ -12444,42 +12530,6 @@ module Aws::S3
12444
12530
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
12445
12531
  #
12446
12532
  #
12447
- # @example Example: To upload an object and specify optional tags
12448
- #
12449
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
12450
- # # S3 returns version ID of the newly created object.
12451
- #
12452
- # resp = client.put_object({
12453
- # body: "c:\\HappyFace.jpg",
12454
- # bucket: "examplebucket",
12455
- # key: "HappyFace.jpg",
12456
- # tagging: "key1=value1&key2=value2",
12457
- # })
12458
- #
12459
- # resp.to_h outputs the following:
12460
- # {
12461
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12462
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
12463
- # }
12464
- #
12465
- # @example Example: To upload an object and specify canned ACL.
12466
- #
12467
- # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
12468
- # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
12469
- #
12470
- # resp = client.put_object({
12471
- # acl: "authenticated-read",
12472
- # body: "filetoupload",
12473
- # bucket: "examplebucket",
12474
- # key: "exampleobject",
12475
- # })
12476
- #
12477
- # resp.to_h outputs the following:
12478
- # {
12479
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12480
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
12481
- # }
12482
- #
12483
12533
  # @example Example: To upload an object and specify server-side encryption and object tags
12484
12534
  #
12485
12535
  # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
@@ -12516,41 +12566,42 @@ module Aws::S3
12516
12566
  # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
12517
12567
  # }
12518
12568
  #
12519
- # @example Example: To upload an object
12569
+ # @example Example: To upload an object (specify optional headers)
12520
12570
  #
12521
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
12522
- # # syntax. S3 returns VersionId of the newly created object.
12571
+ # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
12572
+ # # storage class and use server-side encryption.
12523
12573
  #
12524
12574
  # resp = client.put_object({
12525
12575
  # body: "HappyFace.jpg",
12526
12576
  # bucket: "examplebucket",
12527
12577
  # key: "HappyFace.jpg",
12578
+ # server_side_encryption: "AES256",
12579
+ # storage_class: "STANDARD_IA",
12528
12580
  # })
12529
12581
  #
12530
12582
  # resp.to_h outputs the following:
12531
12583
  # {
12532
12584
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12533
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
12585
+ # server_side_encryption: "AES256",
12586
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
12534
12587
  # }
12535
12588
  #
12536
- # @example Example: To upload an object (specify optional headers)
12589
+ # @example Example: To upload an object and specify optional tags
12537
12590
  #
12538
- # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
12539
- # # storage class and use server-side encryption.
12591
+ # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
12592
+ # # S3 returns version ID of the newly created object.
12540
12593
  #
12541
12594
  # resp = client.put_object({
12542
- # body: "HappyFace.jpg",
12595
+ # body: "c:\\HappyFace.jpg",
12543
12596
  # bucket: "examplebucket",
12544
12597
  # key: "HappyFace.jpg",
12545
- # server_side_encryption: "AES256",
12546
- # storage_class: "STANDARD_IA",
12598
+ # tagging: "key1=value1&key2=value2",
12547
12599
  # })
12548
12600
  #
12549
12601
  # resp.to_h outputs the following:
12550
12602
  # {
12551
12603
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12552
- # server_side_encryption: "AES256",
12553
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
12604
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
12554
12605
  # }
12555
12606
  #
12556
12607
  # @example Example: To upload object and specify user-defined metadata
@@ -12574,6 +12625,41 @@ module Aws::S3
12574
12625
  # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
12575
12626
  # }
12576
12627
  #
12628
+ # @example Example: To upload an object and specify canned ACL.
12629
+ #
12630
+ # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
12631
+ # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
12632
+ #
12633
+ # resp = client.put_object({
12634
+ # acl: "authenticated-read",
12635
+ # body: "filetoupload",
12636
+ # bucket: "examplebucket",
12637
+ # key: "exampleobject",
12638
+ # })
12639
+ #
12640
+ # resp.to_h outputs the following:
12641
+ # {
12642
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12643
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
12644
+ # }
12645
+ #
12646
+ # @example Example: To upload an object
12647
+ #
12648
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
12649
+ # # syntax. S3 returns VersionId of the newly created object.
12650
+ #
12651
+ # resp = client.put_object({
12652
+ # body: "HappyFace.jpg",
12653
+ # bucket: "examplebucket",
12654
+ # key: "HappyFace.jpg",
12655
+ # })
12656
+ #
12657
+ # resp.to_h outputs the following:
12658
+ # {
12659
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12660
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
12661
+ # }
12662
+ #
12577
12663
  # @example Streaming a file from disk
12578
12664
  # # upload file from disk in a single request, may not exceed 5GB
12579
12665
  # File.open('/source/file/path', 'rb') do |file|
@@ -12607,7 +12693,7 @@ module Aws::S3
12607
12693
  # metadata: {
12608
12694
  # "MetadataKey" => "MetadataValue",
12609
12695
  # },
12610
- # server_side_encryption: "AES256", # accepts AES256, aws:kms
12696
+ # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
12611
12697
  # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
12612
12698
  # website_redirect_location: "WebsiteRedirectLocation",
12613
12699
  # sse_customer_algorithm: "SSECustomerAlgorithm",
@@ -12632,7 +12718,7 @@ module Aws::S3
12632
12718
  # resp.checksum_crc32c #=> String
12633
12719
  # resp.checksum_sha1 #=> String
12634
12720
  # resp.checksum_sha256 #=> String
12635
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
12721
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
12636
12722
  # resp.version_id #=> String
12637
12723
  # resp.sse_customer_algorithm #=> String
12638
12724
  # resp.sse_customer_key_md5 #=> String
@@ -12917,7 +13003,7 @@ module Aws::S3
12917
13003
  # When you use this action with S3 on Outposts through the Amazon Web
12918
13004
  # Services SDKs, you provide the Outposts access point ARN in place of
12919
13005
  # the bucket name. For more information about S3 on Outposts ARNs, see
12920
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
13006
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
12921
13007
  #
12922
13008
  #
12923
13009
  #
@@ -12927,9 +13013,11 @@ module Aws::S3
12927
13013
  # @option params [String] :request_payer
12928
13014
  # Confirms that the requester knows that they will be charged for the
12929
13015
  # request. Bucket owners need not specify this parameter in their
12930
- # requests. For information about downloading objects from Requester
12931
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
12932
- # in the *Amazon S3 User Guide*.
13016
+ # requests. If either the source or destination Amazon S3 bucket has
13017
+ # Requester Pays enabled, the requester will pay for corresponding
13018
+ # charges to copy the object. For information about downloading objects
13019
+ # from Requester Pays buckets, see [Downloading Objects in Requester
13020
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
12933
13021
  #
12934
13022
  #
12935
13023
  #
@@ -13050,9 +13138,11 @@ module Aws::S3
13050
13138
  # @option params [String] :request_payer
13051
13139
  # Confirms that the requester knows that they will be charged for the
13052
13140
  # request. Bucket owners need not specify this parameter in their
13053
- # requests. For information about downloading objects from Requester
13054
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
13055
- # in the *Amazon S3 User Guide*.
13141
+ # requests. If either the source or destination Amazon S3 bucket has
13142
+ # Requester Pays enabled, the requester will pay for corresponding
13143
+ # charges to copy the object. For information about downloading objects
13144
+ # from Requester Pays buckets, see [Downloading Objects in Requester
13145
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
13056
13146
  #
13057
13147
  #
13058
13148
  #
@@ -13153,9 +13243,11 @@ module Aws::S3
13153
13243
  # @option params [String] :request_payer
13154
13244
  # Confirms that the requester knows that they will be charged for the
13155
13245
  # request. Bucket owners need not specify this parameter in their
13156
- # requests. For information about downloading objects from Requester
13157
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
13158
- # in the *Amazon S3 User Guide*.
13246
+ # requests. If either the source or destination Amazon S3 bucket has
13247
+ # Requester Pays enabled, the requester will pay for corresponding
13248
+ # charges to copy the object. For information about downloading objects
13249
+ # from Requester Pays buckets, see [Downloading Objects in Requester
13250
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
13159
13251
  #
13160
13252
  #
13161
13253
  #
@@ -13268,9 +13360,11 @@ module Aws::S3
13268
13360
  # @option params [String] :request_payer
13269
13361
  # Confirms that the requester knows that they will be charged for the
13270
13362
  # request. Bucket owners need not specify this parameter in their
13271
- # requests. For information about downloading objects from Requester
13272
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
13273
- # in the *Amazon S3 User Guide*.
13363
+ # requests. If either the source or destination Amazon S3 bucket has
13364
+ # Requester Pays enabled, the requester will pay for corresponding
13365
+ # charges to copy the object. For information about downloading objects
13366
+ # from Requester Pays buckets, see [Downloading Objects in Requester
13367
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
13274
13368
  #
13275
13369
  #
13276
13370
  #
@@ -13347,15 +13441,16 @@ module Aws::S3
13347
13441
  end
13348
13442
 
13349
13443
  # Sets the supplied tag-set to an object that already exists in a
13350
- # bucket.
13444
+ # bucket. A tag is a key-value pair. For more information, see [Object
13445
+ # Tagging][1].
13351
13446
  #
13352
- # A tag is a key-value pair. You can associate tags with an object by
13353
- # sending a PUT request against the tagging subresource that is
13354
- # associated with the object. You can retrieve tags by sending a GET
13355
- # request. For more information, see [GetObjectTagging][1].
13447
+ # You can associate tags with an object by sending a PUT request against
13448
+ # the tagging subresource that is associated with the object. You can
13449
+ # retrieve tags by sending a GET request. For more information, see
13450
+ # [GetObjectTagging][2].
13356
13451
  #
13357
13452
  # For tagging-related restrictions related to characters and encodings,
13358
- # see [Tag Restrictions][2]. Note that Amazon S3 limits the maximum
13453
+ # see [Tag Restrictions][3]. Note that Amazon S3 limits the maximum
13359
13454
  # number of tags to 10 tags per object.
13360
13455
  #
13361
13456
  # To use this operation, you must have permission to perform the
@@ -13365,43 +13460,34 @@ module Aws::S3
13365
13460
  # To put tags of any other version, use the `versionId` query parameter.
13366
13461
  # You also need permission for the `s3:PutObjectVersionTagging` action.
13367
13462
  #
13368
- # For information about the Amazon S3 object tagging feature, see
13369
- # [Object Tagging][3].
13463
+ # `PutObjectTagging` has the following special errors. For more Amazon
13464
+ # S3 errors see, [Error Responses][4].
13370
13465
  #
13371
- # `PutObjectTagging` has the following special errors:
13466
+ # * `InvalidTag` - The tag provided was not a valid tag. This error can
13467
+ # occur if the tag did not pass input validation. For more
13468
+ # information, see [Object Tagging][1].
13372
13469
  #
13373
- # * * <i>Code: InvalidTagError </i>
13470
+ # * `MalformedXML` - The XML provided does not match the schema.
13374
13471
  #
13375
- # * *Cause: The tag provided was not a valid tag. This error can occur
13376
- # if the tag did not pass input validation. For more information,
13377
- # see [Object Tagging][3].*
13472
+ # * `OperationAborted` - A conflicting conditional action is currently
13473
+ # in progress against this resource. Please try again.
13378
13474
  #
13379
- # * * <i>Code: MalformedXMLError </i>
13380
- #
13381
- # * *Cause: The XML provided does not match the schema.*
13382
- #
13383
- # * * <i>Code: OperationAbortedError </i>
13384
- #
13385
- # * *Cause: A conflicting conditional action is currently in progress
13386
- # against this resource. Please try again.*
13387
- #
13388
- # * * *Code: InternalError*
13389
- #
13390
- # * *Cause: The service was unable to apply the provided tag to the
13391
- # object.*
13475
+ # * `InternalError` - The service was unable to apply the provided tag
13476
+ # to the object.
13392
13477
  #
13393
13478
  # The following operations are related to `PutObjectTagging`:
13394
13479
  #
13395
- # * [GetObjectTagging][1]
13480
+ # * [GetObjectTagging][2]
13396
13481
  #
13397
- # * [DeleteObjectTagging][4]
13482
+ # * [DeleteObjectTagging][5]
13398
13483
  #
13399
13484
  #
13400
13485
  #
13401
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
13402
- # [2]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html
13403
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html
13404
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html
13486
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html
13487
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
13488
+ # [3]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html
13489
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html
13490
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html
13405
13491
  #
13406
13492
  # @option params [required, String] :bucket
13407
13493
  # The bucket name containing the object.
@@ -13421,7 +13507,7 @@ module Aws::S3
13421
13507
  # When you use this action with S3 on Outposts through the Amazon Web
13422
13508
  # Services SDKs, you provide the Outposts access point ARN in place of
13423
13509
  # the bucket name. For more information about S3 on Outposts ARNs, see
13424
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
13510
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
13425
13511
  #
13426
13512
  #
13427
13513
  #
@@ -13468,9 +13554,11 @@ module Aws::S3
13468
13554
  # @option params [String] :request_payer
13469
13555
  # Confirms that the requester knows that they will be charged for the
13470
13556
  # request. Bucket owners need not specify this parameter in their
13471
- # requests. For information about downloading objects from Requester
13472
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
13473
- # in the *Amazon S3 User Guide*.
13557
+ # requests. If either the source or destination Amazon S3 bucket has
13558
+ # Requester Pays enabled, the requester will pay for corresponding
13559
+ # charges to copy the object. For information about downloading objects
13560
+ # from Requester Pays buckets, see [Downloading Objects in Requester
13561
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
13474
13562
  #
13475
13563
  #
13476
13564
  #
@@ -13549,7 +13637,7 @@ module Aws::S3
13549
13637
  # bucket or an object, it checks the `PublicAccessBlock` configuration
13550
13638
  # for both the bucket (or the bucket that contains the object) and the
13551
13639
  # bucket owner's account. If the `PublicAccessBlock` configurations are
13552
- # different between the bucket and the account, Amazon S3 uses the most
13640
+ # different between the bucket and the account, S3 uses the most
13553
13641
  # restrictive combination of the bucket-level and account-level
13554
13642
  # settings.
13555
13643
  #
@@ -13720,19 +13808,20 @@ module Aws::S3
13720
13808
  #
13721
13809
  # Restoring objects
13722
13810
  #
13723
- # : Objects that you archive to the S3 Glacier Flexible Retrieval or S3
13724
- # Glacier Deep Archive storage class, and S3 Intelligent-Tiering
13725
- # Archive or S3 Intelligent-Tiering Deep Archive tiers, are not
13726
- # accessible in real time. For objects in the S3 Glacier Flexible
13727
- # Retrieval or S3 Glacier Deep Archive storage classes, you must first
13728
- # initiate a restore request, and then wait until a temporary copy of
13729
- # the object is available. If you want a permanent copy of the object,
13730
- # create a copy of it in the Amazon S3 Standard storage class in your
13731
- # S3 bucket. To access an archived object, you must restore the object
13732
- # for the duration (number of days) that you specify. For objects in
13733
- # the Archive Access or Deep Archive Access tiers of S3
13734
- # Intelligent-Tiering, you must first initiate a restore request, and
13735
- # then wait until the object is moved into the Frequent Access tier.
13811
+ # : Objects that you archive to the S3 Glacier Flexible Retrieval
13812
+ # Flexible Retrieval or S3 Glacier Deep Archive storage class, and S3
13813
+ # Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive
13814
+ # tiers, are not accessible in real time. For objects in the S3
13815
+ # Glacier Flexible Retrieval Flexible Retrieval or S3 Glacier Deep
13816
+ # Archive storage classes, you must first initiate a restore request,
13817
+ # and then wait until a temporary copy of the object is available. If
13818
+ # you want a permanent copy of the object, create a copy of it in the
13819
+ # Amazon S3 Standard storage class in your S3 bucket. To access an
13820
+ # archived object, you must restore the object for the duration
13821
+ # (number of days) that you specify. For objects in the Archive Access
13822
+ # or Deep Archive Access tiers of S3 Intelligent-Tiering, you must
13823
+ # first initiate a restore request, and then wait until the object is
13824
+ # moved into the Frequent Access tier.
13736
13825
  #
13737
13826
  # To restore a specific object version, you can provide a version ID.
13738
13827
  # If you don't provide a version ID, Amazon S3 restores the current
@@ -13743,37 +13832,38 @@ module Aws::S3
13743
13832
  # request body:
13744
13833
  #
13745
13834
  # * `Expedited` - Expedited retrievals allow you to quickly access
13746
- # your data stored in the S3 Glacier Flexible Retrieval storage
13747
- # class or S3 Intelligent-Tiering Archive tier when occasional
13748
- # urgent requests for restoring archives are required. For all but
13749
- # the largest archived objects (250 MB+), data accessed using
13750
- # Expedited retrievals is typically made available within 1–5
13751
- # minutes. Provisioned capacity ensures that retrieval capacity for
13752
- # Expedited retrievals is available when you need it. Expedited
13753
- # retrievals and provisioned capacity are not available for objects
13754
- # stored in the S3 Glacier Deep Archive storage class or S3
13755
- # Intelligent-Tiering Deep Archive tier.
13835
+ # your data stored in the S3 Glacier Flexible Retrieval Flexible
13836
+ # Retrieval storage class or S3 Intelligent-Tiering Archive tier
13837
+ # when occasional urgent requests for restoring archives are
13838
+ # required. For all but the largest archived objects (250 MB+), data
13839
+ # accessed using Expedited retrievals is typically made available
13840
+ # within 1–5 minutes. Provisioned capacity ensures that retrieval
13841
+ # capacity for Expedited retrievals is available when you need it.
13842
+ # Expedited retrievals and provisioned capacity are not available
13843
+ # for objects stored in the S3 Glacier Deep Archive storage class or
13844
+ # S3 Intelligent-Tiering Deep Archive tier.
13756
13845
  #
13757
13846
  # * `Standard` - Standard retrievals allow you to access any of your
13758
13847
  # archived objects within several hours. This is the default option
13759
13848
  # for retrieval requests that do not specify the retrieval option.
13760
13849
  # Standard retrievals typically finish within 3–5 hours for objects
13761
- # stored in the S3 Glacier Flexible Retrieval storage class or S3
13762
- # Intelligent-Tiering Archive tier. They typically finish within 12
13763
- # hours for objects stored in the S3 Glacier Deep Archive storage
13764
- # class or S3 Intelligent-Tiering Deep Archive tier. Standard
13765
- # retrievals are free for objects stored in S3 Intelligent-Tiering.
13850
+ # stored in the S3 Glacier Flexible Retrieval Flexible Retrieval
13851
+ # storage class or S3 Intelligent-Tiering Archive tier. They
13852
+ # typically finish within 12 hours for objects stored in the S3
13853
+ # Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep
13854
+ # Archive tier. Standard retrievals are free for objects stored in
13855
+ # S3 Intelligent-Tiering.
13766
13856
  #
13767
13857
  # * `Bulk` - Bulk retrievals free for objects stored in the S3 Glacier
13768
13858
  # Flexible Retrieval and S3 Intelligent-Tiering storage classes,
13769
13859
  # enabling you to retrieve large amounts, even petabytes, of data at
13770
13860
  # no cost. Bulk retrievals typically finish within 5–12 hours for
13771
- # objects stored in the S3 Glacier Flexible Retrieval storage class
13772
- # or S3 Intelligent-Tiering Archive tier. Bulk retrievals are also
13773
- # the lowest-cost retrieval option when restoring objects from S3
13774
- # Glacier Deep Archive. They typically finish within 48 hours for
13775
- # objects stored in the S3 Glacier Deep Archive storage class or S3
13776
- # Intelligent-Tiering Deep Archive tier.
13861
+ # objects stored in the S3 Glacier Flexible Retrieval Flexible
13862
+ # Retrieval storage class or S3 Intelligent-Tiering Archive tier.
13863
+ # Bulk retrievals are also the lowest-cost retrieval option when
13864
+ # restoring objects from S3 Glacier Deep Archive. They typically
13865
+ # finish within 48 hours for objects stored in the S3 Glacier Deep
13866
+ # Archive storage class or S3 Intelligent-Tiering Deep Archive tier.
13777
13867
  #
13778
13868
  # For more information about archive retrieval options and provisioned
13779
13869
  # capacity for `Expedited` data access, see [Restoring Archived
@@ -13881,7 +13971,7 @@ module Aws::S3
13881
13971
  # When you use this action with S3 on Outposts through the Amazon Web
13882
13972
  # Services SDKs, you provide the Outposts access point ARN in place of
13883
13973
  # the bucket name. For more information about S3 on Outposts ARNs, see
13884
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
13974
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
13885
13975
  #
13886
13976
  #
13887
13977
  #
@@ -13900,9 +13990,11 @@ module Aws::S3
13900
13990
  # @option params [String] :request_payer
13901
13991
  # Confirms that the requester knows that they will be charged for the
13902
13992
  # request. Bucket owners need not specify this parameter in their
13903
- # requests. For information about downloading objects from Requester
13904
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
13905
- # in the *Amazon S3 User Guide*.
13993
+ # requests. If either the source or destination Amazon S3 bucket has
13994
+ # Requester Pays enabled, the requester will pay for corresponding
13995
+ # charges to copy the object. For information about downloading objects
13996
+ # from Requester Pays buckets, see [Downloading Objects in Requester
13997
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
13906
13998
  #
13907
13999
  #
13908
14000
  #
@@ -14006,7 +14098,7 @@ module Aws::S3
14006
14098
  # bucket_name: "BucketName", # required
14007
14099
  # prefix: "LocationPrefix", # required
14008
14100
  # encryption: {
14009
- # encryption_type: "AES256", # required, accepts AES256, aws:kms
14101
+ # encryption_type: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
14010
14102
  # kms_key_id: "SSEKMSKeyId",
14011
14103
  # kms_context: "KMSContext",
14012
14104
  # },
@@ -14134,10 +14226,14 @@ module Aws::S3
14134
14226
  # the request parameters), you cannot specify the range of bytes of
14135
14227
  # an object to return.
14136
14228
  #
14137
- # * GLACIER, DEEP\_ARCHIVE and REDUCED\_REDUNDANCY storage classes:
14138
- # You cannot specify the GLACIER, DEEP\_ARCHIVE, or
14139
- # `REDUCED_REDUNDANCY` storage classes. For more information, about
14140
- # storage classes see [Storage Classes][9] in the *Amazon S3 User
14229
+ # * The `GLACIER`, `DEEP_ARCHIVE`, and `REDUCED_REDUNDANCY` storage
14230
+ # classes, or the `ARCHIVE_ACCESS` and `DEEP_ARCHIVE_ACCESS` access
14231
+ # tiers of the `INTELLIGENT_TIERING` storage class: You cannot query
14232
+ # objects in the `GLACIER`, `DEEP_ARCHIVE`, or `REDUCED_REDUNDANCY`
14233
+ # storage classes, nor objects in the `ARCHIVE_ACCESS` or
14234
+ # `DEEP_ARCHIVE_ACCESS` access tiers of the `INTELLIGENT_TIERING`
14235
+ # storage class. For more information about storage classes, see
14236
+ # [Using Amazon S3 storage classes][9] in the *Amazon S3 User
14141
14237
  # Guide*.
14142
14238
  #
14143
14239
  # Special Errors
@@ -14163,7 +14259,7 @@ module Aws::S3
14163
14259
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
14164
14260
  # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html
14165
14261
  # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange
14166
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#storage-class-intro
14262
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html
14167
14263
  # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList
14168
14264
  # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
14169
14265
  # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
@@ -14611,7 +14707,7 @@ module Aws::S3
14611
14707
  # When you use this action with S3 on Outposts through the Amazon Web
14612
14708
  # Services SDKs, you provide the Outposts access point ARN in place of
14613
14709
  # the bucket name. For more information about S3 on Outposts ARNs, see
14614
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
14710
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
14615
14711
  #
14616
14712
  #
14617
14713
  #
@@ -14722,9 +14818,11 @@ module Aws::S3
14722
14818
  # @option params [String] :request_payer
14723
14819
  # Confirms that the requester knows that they will be charged for the
14724
14820
  # request. Bucket owners need not specify this parameter in their
14725
- # requests. For information about downloading objects from Requester
14726
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
14727
- # in the *Amazon S3 User Guide*.
14821
+ # requests. If either the source or destination Amazon S3 bucket has
14822
+ # Requester Pays enabled, the requester will pay for corresponding
14823
+ # charges to copy the object. For information about downloading objects
14824
+ # from Requester Pays buckets, see [Downloading Objects in Requester
14825
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
14728
14826
  #
14729
14827
  #
14730
14828
  #
@@ -14792,7 +14890,7 @@ module Aws::S3
14792
14890
  #
14793
14891
  # @example Response structure
14794
14892
  #
14795
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
14893
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
14796
14894
  # resp.etag #=> String
14797
14895
  # resp.checksum_crc32 #=> String
14798
14896
  # resp.checksum_crc32c #=> String
@@ -14960,7 +15058,7 @@ module Aws::S3
14960
15058
  # When you use this action with S3 on Outposts through the Amazon Web
14961
15059
  # Services SDKs, you provide the Outposts access point ARN in place of
14962
15060
  # the bucket name. For more information about S3 on Outposts ARNs, see
14963
- # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
15061
+ # [What is S3 on Outposts?][2] in the *Amazon S3 User Guide*.
14964
15062
  #
14965
15063
  #
14966
15064
  #
@@ -15080,9 +15178,11 @@ module Aws::S3
15080
15178
  # @option params [String] :request_payer
15081
15179
  # Confirms that the requester knows that they will be charged for the
15082
15180
  # request. Bucket owners need not specify this parameter in their
15083
- # requests. For information about downloading objects from Requester
15084
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
15085
- # in the *Amazon S3 User Guide*.
15181
+ # requests. If either the source or destination Amazon S3 bucket has
15182
+ # Requester Pays enabled, the requester will pay for corresponding
15183
+ # charges to copy the object. For information about downloading objects
15184
+ # from Requester Pays buckets, see [Downloading Objects in Requester
15185
+ # Pays Buckets][1] in the *Amazon S3 User Guide*.
15086
15186
  #
15087
15187
  #
15088
15188
  #
@@ -15185,7 +15285,7 @@ module Aws::S3
15185
15285
  # resp.copy_part_result.checksum_crc32c #=> String
15186
15286
  # resp.copy_part_result.checksum_sha1 #=> String
15187
15287
  # resp.copy_part_result.checksum_sha256 #=> String
15188
- # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
15288
+ # resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
15189
15289
  # resp.sse_customer_algorithm #=> String
15190
15290
  # resp.sse_customer_key_md5 #=> String
15191
15291
  # resp.ssekms_key_id #=> String
@@ -15490,9 +15590,10 @@ module Aws::S3
15490
15590
  # Amazon S3.
15491
15591
  #
15492
15592
  # @option params [String] :ssekms_key_id
15493
- # If present, specifies the ID of the Amazon Web Services Key Management
15494
- # Service (Amazon Web Services KMS) symmetric encryption customer
15495
- # managed key that was used for stored in Amazon S3 object.
15593
+ # If present, specifies the ID (Key ID, Key ARN, or Key Alias) of the
15594
+ # Amazon Web Services Key Management Service (Amazon Web Services KMS)
15595
+ # symmetric encryption customer managed key that was used for stored in
15596
+ # Amazon S3 object.
15496
15597
  #
15497
15598
  # @option params [String] :sse_customer_key_md5
15498
15599
  # 128-bit MD5 digest of customer-provided encryption key used in Amazon
@@ -15561,10 +15662,10 @@ module Aws::S3
15561
15662
  # object_lock_legal_hold_status: "ON", # accepts ON, OFF
15562
15663
  # object_lock_retain_until_date: Time.now,
15563
15664
  # parts_count: 1,
15564
- # replication_status: "COMPLETE", # accepts COMPLETE, PENDING, FAILED, REPLICA
15665
+ # replication_status: "COMPLETE", # accepts COMPLETE, PENDING, FAILED, REPLICA, COMPLETED
15565
15666
  # request_charged: "requester", # accepts requester
15566
15667
  # restore: "Restore",
15567
- # server_side_encryption: "AES256", # accepts AES256, aws:kms
15668
+ # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
15568
15669
  # sse_customer_algorithm: "SSECustomerAlgorithm",
15569
15670
  # ssekms_key_id: "SSEKMSKeyId",
15570
15671
  # sse_customer_key_md5: "SSECustomerKeyMD5",
@@ -15596,7 +15697,7 @@ module Aws::S3
15596
15697
  params: params,
15597
15698
  config: config)
15598
15699
  context[:gem_name] = 'aws-sdk-s3'
15599
- context[:gem_version] = '1.122.0'
15700
+ context[:gem_version] = '1.136.0'
15600
15701
  Seahorse::Client::Request.new(handlers, context)
15601
15702
  end
15602
15703