aws-sdk-s3 1.122.0 → 1.136.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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