aws-sdk-s3 1.83.1 → 1.87.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 06754c5841e3a40c510a9702e1f4de282fc40cf6e1b73cabc97ba25b34b167be
4
- data.tar.gz: 6cad21e9108cdfbb03ff04dab1954dff05bf3bbee8214f86d04ab9484d75b96b
3
+ metadata.gz: 11cd48be59fc8922aabfe4d29d601706183fc5d5ce0b1fb201ae2f59c6f281ab
4
+ data.tar.gz: 546d8a92a9a561d94d205908d52c005edb5a49d336751ee7954936f9449d7138
5
5
  SHA512:
6
- metadata.gz: f092576cb7a592bc6c5f5b698fef4052356ac37ed583b0688b72edc33f2e6534ed344d18f9c1ca1aeb7ee9f02f239e7fe937ea9d886153ecfeffaac40cc09caf
7
- data.tar.gz: 572f55dd0322870bdc2ddc3e169e437ea99a87bfbc7c8277145fc15da186a2b9338a3560aa26c102ee856ae505a1a29774ec2683571cfed2f784a80a295c5a19
6
+ metadata.gz: 16a5af91aba1ce6e9b4f3d121cbc427e1534a2fb80edb553a7e5e62e5a937877174581ad169c4abd46dd3d32dfdf765d9161f7bc4c907b5f0cf158d44dbd81e3
7
+ data.tar.gz: 995720b6753b4add059e235f37dea7fe49dbe19038e495260023aa380bfe2544cdb9873dafab1a2c685d9eae3f1eeeacb290480ac149d6624f475ba584519c57
@@ -69,6 +69,6 @@ require_relative 'aws-sdk-s3/event_streams'
69
69
  # @!group service
70
70
  module Aws::S3
71
71
 
72
- GEM_VERSION = '1.83.1'
72
+ GEM_VERSION = '1.87.0'
73
73
 
74
74
  end
@@ -34,7 +34,8 @@ module Aws::S3
34
34
  @name
35
35
  end
36
36
 
37
- # Date the bucket was created.
37
+ # Date the bucket was created. This date can change when making changes
38
+ # to your bucket, such as editing its bucket policy.
38
39
  # @return [Time]
39
40
  def creation_date
40
41
  data[:creation_date]
@@ -354,6 +355,7 @@ module Aws::S3
354
355
  # sse_customer_key_md5: "SSECustomerKeyMD5",
355
356
  # ssekms_key_id: "SSEKMSKeyId",
356
357
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
358
+ # bucket_key_enabled: false,
357
359
  # request_payer: "requester", # accepts requester
358
360
  # tagging: "TaggingHeader",
359
361
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
@@ -525,6 +527,14 @@ module Aws::S3
525
527
  # Specifies the AWS KMS Encryption Context to use for object encryption.
526
528
  # The value of this header is a base64-encoded UTF-8 string holding JSON
527
529
  # with the encryption context key-value pairs.
530
+ # @option options [Boolean] :bucket_key_enabled
531
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
532
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
533
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
534
+ # for object encryption with SSE-KMS.
535
+ #
536
+ # Specifying this header with a PUT operation doesn’t affect
537
+ # bucket-level settings for S3 Bucket Key.
528
538
  # @option options [String] :request_payer
529
539
  # Confirms that the requester knows that they will be charged for the
530
540
  # request. Bucket owners need not specify this parameter in their
@@ -221,6 +221,9 @@ module Aws::S3
221
221
  # used as a message integrity check to verify that the request body was
222
222
  # not corrupted in transit. For more information, go to [RFC 1864.][1]
223
223
  #
224
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
225
+ # SDKs, this field is calculated automatically.
226
+ #
224
227
  #
225
228
  #
226
229
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
@@ -224,6 +224,9 @@ module Aws::S3
224
224
  # used as a message integrity check to verify that the request body was
225
225
  # not corrupted in transit. For more information, go to [RFC 1864.][1]
226
226
  #
227
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
228
+ # SDKs, this field is calculated automatically.
229
+ #
227
230
  #
228
231
  #
229
232
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
@@ -228,6 +228,8 @@ module Aws::S3
228
228
  # })
229
229
  # @param [Hash] options ({})
230
230
  # @option options [String] :content_md5
231
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
232
+ # SDKs, this field is calculated automatically.
231
233
  # @option options [Types::LifecycleConfiguration] :lifecycle_configuration
232
234
  # @option options [String] :expected_bucket_owner
233
235
  # The account id of the expected bucket owner. If the bucket is owned by
@@ -210,6 +210,9 @@ module Aws::S3
210
210
  # Container for logging status information.
211
211
  # @option options [String] :content_md5
212
212
  # The MD5 hash of the `PutBucketLogging` request body.
213
+ #
214
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
215
+ # SDKs, this field is calculated automatically.
213
216
  # @option options [String] :expected_bucket_owner
214
217
  # The account id of the expected bucket owner. If the bucket is owned by
215
218
  # a different account, the request will fail with an HTTP `403 (Access
@@ -202,6 +202,9 @@ module Aws::S3
202
202
  # @param [Hash] options ({})
203
203
  # @option options [String] :content_md5
204
204
  # The MD5 hash of the request body.
205
+ #
206
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
207
+ # SDKs, this field is calculated automatically.
205
208
  # @option options [Boolean] :confirm_remove_self_bucket_access
206
209
  # Set this parameter to true to confirm that you want to remove your
207
210
  # permissions to change this bucket policy in the future.
@@ -190,6 +190,9 @@ module Aws::S3
190
190
  # body was not corrupted in transit. For more information, see [RFC
191
191
  # 1864][1].
192
192
  #
193
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
194
+ # SDKs, this field is calculated automatically.
195
+ #
193
196
  #
194
197
  #
195
198
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
@@ -211,6 +211,9 @@ module Aws::S3
211
211
  # header as a message integrity check to verify that the request body
212
212
  # was not corrupted in transit. For more information, see [RFC 1864][1].
213
213
  #
214
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
215
+ # SDKs, this field is calculated automatically.
216
+ #
214
217
  #
215
218
  #
216
219
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
@@ -197,6 +197,9 @@ module Aws::S3
197
197
  # body was not corrupted in transit. For more information, see [RFC
198
198
  # 1864][1].
199
199
  #
200
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
201
+ # SDKs, this field is calculated automatically.
202
+ #
200
203
  #
201
204
  #
202
205
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
@@ -237,6 +240,9 @@ module Aws::S3
237
240
  # body was not corrupted in transit. For more information, see [RFC
238
241
  # 1864][1].
239
242
  #
243
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
244
+ # SDKs, this field is calculated automatically.
245
+ #
240
246
  #
241
247
  #
242
248
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
@@ -270,6 +276,9 @@ module Aws::S3
270
276
  # body was not corrupted in transit. For more information, see [RFC
271
277
  # 1864][1].
272
278
  #
279
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
280
+ # SDKs, this field is calculated automatically.
281
+ #
273
282
  #
274
283
  #
275
284
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
@@ -252,6 +252,9 @@ module Aws::S3
252
252
  # header as a message integrity check to verify that the request body
253
253
  # was not corrupted in transit. For more information, see [RFC 1864][1].
254
254
  #
255
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
256
+ # SDKs, this field is calculated automatically.
257
+ #
255
258
  #
256
259
  #
257
260
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
@@ -659,6 +659,7 @@ module Aws::S3
659
659
  # * {Types::CompleteMultipartUploadOutput#server_side_encryption #server_side_encryption} => String
660
660
  # * {Types::CompleteMultipartUploadOutput#version_id #version_id} => String
661
661
  # * {Types::CompleteMultipartUploadOutput#ssekms_key_id #ssekms_key_id} => String
662
+ # * {Types::CompleteMultipartUploadOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
662
663
  # * {Types::CompleteMultipartUploadOutput#request_charged #request_charged} => String
663
664
  #
664
665
  #
@@ -720,6 +721,7 @@ module Aws::S3
720
721
  # resp.server_side_encryption #=> String, one of "AES256", "aws:kms"
721
722
  # resp.version_id #=> String
722
723
  # resp.ssekms_key_id #=> String
724
+ # resp.bucket_key_enabled #=> Boolean
723
725
  # resp.request_charged #=> String, one of "requester"
724
726
  #
725
727
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUpload AWS API Documentation
@@ -830,22 +832,20 @@ module Aws::S3
830
832
  #
831
833
  # </note>
832
834
  #
833
- # **Encryption**
835
+ # **Server-side encryption**
834
836
  #
835
- # The source object that you are copying can be encrypted or
836
- # unencrypted. The source object can be encrypted with server-side
837
- # encryption using AWS managed encryption keys (SSE-S3 or SSE-KMS) or by
838
- # using a customer-provided encryption key. With server-side encryption,
839
- # Amazon S3 encrypts your data as it writes it to disks in its data
840
- # centers and decrypts the data when you access it.
837
+ # When you perform a CopyObject operation, you can optionally use the
838
+ # appropriate encryption-related headers to encrypt the object using
839
+ # server-side encryption with AWS managed encryption keys (SSE-S3 or
840
+ # SSE-KMS) or a customer-provided encryption key. With server-side
841
+ # encryption, Amazon S3 encrypts your data as it writes it to disks in
842
+ # its data centers and decrypts the data when you access it. For more
843
+ # information about server-side encryption, see [Using Server-Side
844
+ # Encryption][8].
841
845
  #
842
- # You can optionally use the appropriate encryption-related headers to
843
- # request server-side encryption for the target object. You have the
844
- # option to provide your own encryption key or use SSE-S3 or SSE-KMS,
845
- # regardless of the form of server-side encryption that was used to
846
- # encrypt the source object. You can even request encryption if the
847
- # source object was not encrypted. For more information about
848
- # server-side encryption, see [Using Server-Side Encryption][8].
846
+ # If a target object uses SSE-KMS, you can enable an S3 Bucket Key for
847
+ # the object. For more information, see [Amazon S3 Bucket Keys][9] in
848
+ # the *Amazon Simple Storage Service Developer Guide*.
849
849
  #
850
850
  # **Access Control List (ACL)-Specific Request Headers**
851
851
  #
@@ -855,13 +855,13 @@ module Aws::S3
855
855
  # permissions to individual AWS accounts or to predefined groups defined
856
856
  # by Amazon S3. These permissions are then added to the ACL on the
857
857
  # object. For more information, see [Access Control List (ACL)
858
- # Overview][9] and [Managing ACLs Using the REST API][10].
858
+ # Overview][10] and [Managing ACLs Using the REST API][11].
859
859
  #
860
860
  # **Storage Class Options**
861
861
  #
862
862
  # You can use the `CopyObject` operation to change the storage class of
863
863
  # an object that is already stored in Amazon S3 using the `StorageClass`
864
- # parameter. For more information, see [Storage Classes][11] in the
864
+ # parameter. For more information, see [Storage Classes][12] in the
865
865
  # *Amazon S3 Service Developer Guide*.
866
866
  #
867
867
  # **Versioning**
@@ -882,15 +882,15 @@ module Aws::S3
882
882
  #
883
883
  # If the source object's storage class is GLACIER, you must restore a
884
884
  # copy of this object before you can use it as a source object for the
885
- # copy operation. For more information, see [RestoreObject][12].
885
+ # copy operation. For more information, see [RestoreObject][13].
886
886
  #
887
887
  # The following operations are related to `CopyObject`\:
888
888
  #
889
- # * [PutObject][13]
889
+ # * [PutObject][14]
890
890
  #
891
- # * [GetObject][14]
891
+ # * [GetObject][15]
892
892
  #
893
- # For more information, see [Copying Objects][15].
893
+ # For more information, see [Copying Objects][16].
894
894
  #
895
895
  #
896
896
  #
@@ -902,13 +902,14 @@ module Aws::S3
902
902
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/amazon-s3-policy-keys.html
903
903
  # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html
904
904
  # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
905
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
906
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html
907
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
908
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
909
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
910
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
911
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html
905
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
906
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
907
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html
908
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
909
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
910
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
911
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
912
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html
912
913
  #
913
914
  # @option params [String] :acl
914
915
  # The canned ACL to apply to the object.
@@ -1109,6 +1110,15 @@ module Aws::S3
1109
1110
  # The value of this header is a base64-encoded UTF-8 string holding JSON
1110
1111
  # with the encryption context key-value pairs.
1111
1112
  #
1113
+ # @option params [Boolean] :bucket_key_enabled
1114
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
1115
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
1116
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
1117
+ # for object encryption with SSE-KMS.
1118
+ #
1119
+ # Specifying this header with a COPY operation doesn’t affect
1120
+ # bucket-level settings for S3 Bucket Key.
1121
+ #
1112
1122
  # @option params [String] :copy_source_sse_customer_algorithm
1113
1123
  # Specifies the algorithm to use when decrypting the source object (for
1114
1124
  # example, AES256).
@@ -1170,6 +1180,7 @@ module Aws::S3
1170
1180
  # * {Types::CopyObjectOutput#sse_customer_key_md5 #sse_customer_key_md5} => String
1171
1181
  # * {Types::CopyObjectOutput#ssekms_key_id #ssekms_key_id} => String
1172
1182
  # * {Types::CopyObjectOutput#ssekms_encryption_context #ssekms_encryption_context} => String
1183
+ # * {Types::CopyObjectOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
1173
1184
  # * {Types::CopyObjectOutput#request_charged #request_charged} => String
1174
1185
  #
1175
1186
  #
@@ -1225,6 +1236,7 @@ module Aws::S3
1225
1236
  # sse_customer_key_md5: "SSECustomerKeyMD5",
1226
1237
  # ssekms_key_id: "SSEKMSKeyId",
1227
1238
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
1239
+ # bucket_key_enabled: false,
1228
1240
  # copy_source_sse_customer_algorithm: "CopySourceSSECustomerAlgorithm",
1229
1241
  # copy_source_sse_customer_key: "CopySourceSSECustomerKey",
1230
1242
  # copy_source_sse_customer_key_md5: "CopySourceSSECustomerKeyMD5",
@@ -1249,6 +1261,7 @@ module Aws::S3
1249
1261
  # resp.sse_customer_key_md5 #=> String
1250
1262
  # resp.ssekms_key_id #=> String
1251
1263
  # resp.ssekms_encryption_context #=> String
1264
+ # resp.bucket_key_enabled #=> Boolean
1252
1265
  # resp.request_charged #=> String, one of "requester"
1253
1266
  #
1254
1267
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObject AWS API Documentation
@@ -1405,33 +1418,33 @@ module Aws::S3
1405
1418
  # * {Types::CreateBucketOutput#location #location} => String
1406
1419
  #
1407
1420
  #
1408
- # @example Example: To create a bucket in a specific region
1421
+ # @example Example: To create a bucket
1409
1422
  #
1410
- # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1423
+ # # The following example creates a bucket.
1411
1424
  #
1412
1425
  # resp = client.create_bucket({
1413
1426
  # bucket: "examplebucket",
1414
- # create_bucket_configuration: {
1415
- # location_constraint: "eu-west-1",
1416
- # },
1417
1427
  # })
1418
1428
  #
1419
1429
  # resp.to_h outputs the following:
1420
1430
  # {
1421
- # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1431
+ # location: "/examplebucket",
1422
1432
  # }
1423
1433
  #
1424
- # @example Example: To create a bucket
1434
+ # @example Example: To create a bucket in a specific region
1425
1435
  #
1426
- # # The following example creates a bucket.
1436
+ # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1427
1437
  #
1428
1438
  # resp = client.create_bucket({
1429
1439
  # bucket: "examplebucket",
1440
+ # create_bucket_configuration: {
1441
+ # location_constraint: "eu-west-1",
1442
+ # },
1430
1443
  # })
1431
1444
  #
1432
1445
  # resp.to_h outputs the following:
1433
1446
  # {
1434
- # location: "/examplebucket",
1447
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1435
1448
  # }
1436
1449
  #
1437
1450
  # @example Request syntax with placeholder values
@@ -1827,6 +1840,15 @@ module Aws::S3
1827
1840
  # The value of this header is a base64-encoded UTF-8 string holding JSON
1828
1841
  # with the encryption context key-value pairs.
1829
1842
  #
1843
+ # @option params [Boolean] :bucket_key_enabled
1844
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
1845
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
1846
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
1847
+ # for object encryption with SSE-KMS.
1848
+ #
1849
+ # Specifying this header with an object operation doesn’t affect
1850
+ # bucket-level settings for S3 Bucket Key.
1851
+ #
1830
1852
  # @option params [String] :request_payer
1831
1853
  # Confirms that the requester knows that they will be charged for the
1832
1854
  # request. Bucket owners need not specify this parameter in their
@@ -1870,6 +1892,7 @@ module Aws::S3
1870
1892
  # * {Types::CreateMultipartUploadOutput#sse_customer_key_md5 #sse_customer_key_md5} => String
1871
1893
  # * {Types::CreateMultipartUploadOutput#ssekms_key_id #ssekms_key_id} => String
1872
1894
  # * {Types::CreateMultipartUploadOutput#ssekms_encryption_context #ssekms_encryption_context} => String
1895
+ # * {Types::CreateMultipartUploadOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
1873
1896
  # * {Types::CreateMultipartUploadOutput#request_charged #request_charged} => String
1874
1897
  #
1875
1898
  #
@@ -1916,6 +1939,7 @@ module Aws::S3
1916
1939
  # sse_customer_key_md5: "SSECustomerKeyMD5",
1917
1940
  # ssekms_key_id: "SSEKMSKeyId",
1918
1941
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
1942
+ # bucket_key_enabled: false,
1919
1943
  # request_payer: "requester", # accepts requester
1920
1944
  # tagging: "TaggingHeader",
1921
1945
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
@@ -1936,6 +1960,7 @@ module Aws::S3
1936
1960
  # resp.sse_customer_key_md5 #=> String
1937
1961
  # resp.ssekms_key_id #=> String
1938
1962
  # resp.ssekms_encryption_context #=> String
1963
+ # resp.bucket_key_enabled #=> Boolean
1939
1964
  # resp.request_charged #=> String, one of "requester"
1940
1965
  #
1941
1966
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload AWS API Documentation
@@ -2169,6 +2194,68 @@ module Aws::S3
2169
2194
  req.send_request(options)
2170
2195
  end
2171
2196
 
2197
+ # Deletes the S3 Intelligent-Tiering configuration from the specified
2198
+ # bucket.
2199
+ #
2200
+ # The S3 Intelligent-Tiering storage class is designed to optimize
2201
+ # storage costs by automatically moving data to the most cost-effective
2202
+ # storage access tier, without additional operational overhead. S3
2203
+ # Intelligent-Tiering delivers automatic cost savings by moving data
2204
+ # between access tiers, when access patterns change.
2205
+ #
2206
+ # The S3 Intelligent-Tiering storage class is suitable for objects
2207
+ # larger than 128 KB that you plan to store for at least 30 days. If the
2208
+ # size of an object is less than 128 KB, it is not eligible for
2209
+ # auto-tiering. Smaller objects can be stored, but they are always
2210
+ # charged at the frequent access tier rates in the S3
2211
+ # Intelligent-Tiering storage class.
2212
+ #
2213
+ # If you delete an object before the end of the 30-day minimum storage
2214
+ # duration period, you are charged for 30 days. For more information,
2215
+ # see [Storage class for automatically optimizing frequently and
2216
+ # infrequently accessed objects][1].
2217
+ #
2218
+ # Operations related to `DeleteBucketIntelligentTieringConfiguration`
2219
+ # include:
2220
+ #
2221
+ # * [GetBucketIntelligentTieringConfiguration][2]
2222
+ #
2223
+ # * [PutBucketIntelligentTieringConfiguration][3]
2224
+ #
2225
+ # * [ListBucketIntelligentTieringConfigurations][4]
2226
+ #
2227
+ #
2228
+ #
2229
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access
2230
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html
2231
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html
2232
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html
2233
+ #
2234
+ # @option params [required, String] :bucket
2235
+ # The name of the Amazon S3 bucket whose configuration you want to
2236
+ # modify or retrieve.
2237
+ #
2238
+ # @option params [required, String] :id
2239
+ # The ID used to identify the S3 Intelligent-Tiering configuration.
2240
+ #
2241
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2242
+ #
2243
+ # @example Request syntax with placeholder values
2244
+ #
2245
+ # resp = client.delete_bucket_intelligent_tiering_configuration({
2246
+ # bucket: "BucketName", # required
2247
+ # id: "IntelligentTieringId", # required
2248
+ # })
2249
+ #
2250
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketIntelligentTieringConfiguration AWS API Documentation
2251
+ #
2252
+ # @overload delete_bucket_intelligent_tiering_configuration(params = {})
2253
+ # @param [Hash] params ({})
2254
+ def delete_bucket_intelligent_tiering_configuration(params = {}, options = {})
2255
+ req = build_request(:delete_bucket_intelligent_tiering_configuration, params)
2256
+ req.send_request(options)
2257
+ end
2258
+
2172
2259
  # Deletes an inventory configuration (identified by the inventory ID)
2173
2260
  # from the bucket.
2174
2261
  #
@@ -2382,6 +2469,9 @@ module Aws::S3
2382
2469
  # The Amazon S3 bucket whose `OwnershipControls` you want to delete.
2383
2470
  #
2384
2471
  # @option params [String] :expected_bucket_owner
2472
+ # The account id of the expected bucket owner. If the bucket is owned by
2473
+ # a different account, the request will fail with an HTTP `403 (Access
2474
+ # Denied)` error.
2385
2475
  #
2386
2476
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2387
2477
  #
@@ -2751,15 +2841,6 @@ module Aws::S3
2751
2841
  # * {Types::DeleteObjectOutput#request_charged #request_charged} => String
2752
2842
  #
2753
2843
  #
2754
- # @example Example: To delete an object (from a non-versioned bucket)
2755
- #
2756
- # # The following example deletes an object from a non-versioned bucket.
2757
- #
2758
- # resp = client.delete_object({
2759
- # bucket: "ExampleBucket",
2760
- # key: "HappyFace.jpg",
2761
- # })
2762
- #
2763
2844
  # @example Example: To delete an object
2764
2845
  #
2765
2846
  # # The following example deletes an object from an S3 bucket.
@@ -2773,6 +2854,15 @@ module Aws::S3
2773
2854
  # {
2774
2855
  # }
2775
2856
  #
2857
+ # @example Example: To delete an object (from a non-versioned bucket)
2858
+ #
2859
+ # # The following example deletes an object from a non-versioned bucket.
2860
+ #
2861
+ # resp = client.delete_object({
2862
+ # bucket: "ExampleBucket",
2863
+ # key: "HappyFace.jpg",
2864
+ # })
2865
+ #
2776
2866
  # @example Request syntax with placeholder values
2777
2867
  #
2778
2868
  # resp = client.delete_object({
@@ -2864,35 +2954,35 @@ module Aws::S3
2864
2954
  # * {Types::DeleteObjectTaggingOutput#version_id #version_id} => String
2865
2955
  #
2866
2956
  #
2867
- # @example Example: To remove tag set from an object
2957
+ # @example Example: To remove tag set from an object version
2868
2958
  #
2869
- # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
2870
- # # operation removes tag set from the latest object version.
2959
+ # # The following example removes tag set associated with the specified object version. The request specifies both the
2960
+ # # object key and object version.
2871
2961
  #
2872
2962
  # resp = client.delete_object_tagging({
2873
2963
  # bucket: "examplebucket",
2874
2964
  # key: "HappyFace.jpg",
2965
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2875
2966
  # })
2876
2967
  #
2877
2968
  # resp.to_h outputs the following:
2878
2969
  # {
2879
- # version_id: "null",
2970
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2880
2971
  # }
2881
2972
  #
2882
- # @example Example: To remove tag set from an object version
2973
+ # @example Example: To remove tag set from an object
2883
2974
  #
2884
- # # The following example removes tag set associated with the specified object version. The request specifies both the
2885
- # # object key and object version.
2975
+ # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
2976
+ # # operation removes tag set from the latest object version.
2886
2977
  #
2887
2978
  # resp = client.delete_object_tagging({
2888
2979
  # bucket: "examplebucket",
2889
2980
  # key: "HappyFace.jpg",
2890
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2891
2981
  # })
2892
2982
  #
2893
2983
  # resp.to_h outputs the following:
2894
2984
  # {
2895
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2985
+ # version_id: "null",
2896
2986
  # }
2897
2987
  #
2898
2988
  # @example Request syntax with placeholder values
@@ -3032,20 +3122,22 @@ module Aws::S3
3032
3122
  # * {Types::DeleteObjectsOutput#errors #errors} => Array&lt;Types::Error&gt;
3033
3123
  #
3034
3124
  #
3035
- # @example Example: To delete multiple objects from a versioned bucket
3125
+ # @example Example: To delete multiple object versions from a versioned bucket
3036
3126
  #
3037
- # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
3038
- # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
3127
+ # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
3128
+ # # versions and returns the key and versions of deleted objects in the response.
3039
3129
  #
3040
3130
  # resp = client.delete_objects({
3041
3131
  # bucket: "examplebucket",
3042
3132
  # delete: {
3043
3133
  # objects: [
3044
3134
  # {
3045
- # key: "objectkey1",
3135
+ # key: "HappyFace.jpg",
3136
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3046
3137
  # },
3047
3138
  # {
3048
- # key: "objectkey2",
3139
+ # key: "HappyFace.jpg",
3140
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3049
3141
  # },
3050
3142
  # ],
3051
3143
  # quiet: false,
@@ -3056,34 +3148,30 @@ module Aws::S3
3056
3148
  # {
3057
3149
  # deleted: [
3058
3150
  # {
3059
- # delete_marker: true,
3060
- # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
3061
- # key: "objectkey1",
3151
+ # key: "HappyFace.jpg",
3152
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3062
3153
  # },
3063
3154
  # {
3064
- # delete_marker: true,
3065
- # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
3066
- # key: "objectkey2",
3155
+ # key: "HappyFace.jpg",
3156
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3067
3157
  # },
3068
3158
  # ],
3069
3159
  # }
3070
3160
  #
3071
- # @example Example: To delete multiple object versions from a versioned bucket
3161
+ # @example Example: To delete multiple objects from a versioned bucket
3072
3162
  #
3073
- # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
3074
- # # versions and returns the key and versions of deleted objects in the response.
3163
+ # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
3164
+ # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
3075
3165
  #
3076
3166
  # resp = client.delete_objects({
3077
3167
  # bucket: "examplebucket",
3078
3168
  # delete: {
3079
3169
  # objects: [
3080
3170
  # {
3081
- # key: "HappyFace.jpg",
3082
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3171
+ # key: "objectkey1",
3083
3172
  # },
3084
3173
  # {
3085
- # key: "HappyFace.jpg",
3086
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3174
+ # key: "objectkey2",
3087
3175
  # },
3088
3176
  # ],
3089
3177
  # quiet: false,
@@ -3094,12 +3182,14 @@ module Aws::S3
3094
3182
  # {
3095
3183
  # deleted: [
3096
3184
  # {
3097
- # key: "HappyFace.jpg",
3098
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3185
+ # delete_marker: true,
3186
+ # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
3187
+ # key: "objectkey1",
3099
3188
  # },
3100
3189
  # {
3101
- # key: "HappyFace.jpg",
3102
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3190
+ # delete_marker: true,
3191
+ # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
3192
+ # key: "objectkey2",
3103
3193
  # },
3104
3194
  # ],
3105
3195
  # }
@@ -3549,6 +3639,7 @@ module Aws::S3
3549
3639
  # resp.server_side_encryption_configuration.rules #=> Array
3550
3640
  # resp.server_side_encryption_configuration.rules[0].apply_server_side_encryption_by_default.sse_algorithm #=> String, one of "AES256", "aws:kms"
3551
3641
  # resp.server_side_encryption_configuration.rules[0].apply_server_side_encryption_by_default.kms_master_key_id #=> String
3642
+ # resp.server_side_encryption_configuration.rules[0].bucket_key_enabled #=> Boolean
3552
3643
  #
3553
3644
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption AWS API Documentation
3554
3645
  #
@@ -3559,6 +3650,85 @@ module Aws::S3
3559
3650
  req.send_request(options)
3560
3651
  end
3561
3652
 
3653
+ # Gets the S3 Intelligent-Tiering configuration from the specified
3654
+ # bucket.
3655
+ #
3656
+ # The S3 Intelligent-Tiering storage class is designed to optimize
3657
+ # storage costs by automatically moving data to the most cost-effective
3658
+ # storage access tier, without additional operational overhead. S3
3659
+ # Intelligent-Tiering delivers automatic cost savings by moving data
3660
+ # between access tiers, when access patterns change.
3661
+ #
3662
+ # The S3 Intelligent-Tiering storage class is suitable for objects
3663
+ # larger than 128 KB that you plan to store for at least 30 days. If the
3664
+ # size of an object is less than 128 KB, it is not eligible for
3665
+ # auto-tiering. Smaller objects can be stored, but they are always
3666
+ # charged at the frequent access tier rates in the S3
3667
+ # Intelligent-Tiering storage class.
3668
+ #
3669
+ # If you delete an object before the end of the 30-day minimum storage
3670
+ # duration period, you are charged for 30 days. For more information,
3671
+ # see [Storage class for automatically optimizing frequently and
3672
+ # infrequently accessed objects][1].
3673
+ #
3674
+ # Operations related to `GetBucketIntelligentTieringConfiguration`
3675
+ # include:
3676
+ #
3677
+ # * [DeleteBucketIntelligentTieringConfiguration][2]
3678
+ #
3679
+ # * [PutBucketIntelligentTieringConfiguration][3]
3680
+ #
3681
+ # * [ListBucketIntelligentTieringConfigurations][4]
3682
+ #
3683
+ #
3684
+ #
3685
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access
3686
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html
3687
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html
3688
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html
3689
+ #
3690
+ # @option params [required, String] :bucket
3691
+ # The name of the Amazon S3 bucket whose configuration you want to
3692
+ # modify or retrieve.
3693
+ #
3694
+ # @option params [required, String] :id
3695
+ # The ID used to identify the S3 Intelligent-Tiering configuration.
3696
+ #
3697
+ # @return [Types::GetBucketIntelligentTieringConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3698
+ #
3699
+ # * {Types::GetBucketIntelligentTieringConfigurationOutput#intelligent_tiering_configuration #intelligent_tiering_configuration} => Types::IntelligentTieringConfiguration
3700
+ #
3701
+ # @example Request syntax with placeholder values
3702
+ #
3703
+ # resp = client.get_bucket_intelligent_tiering_configuration({
3704
+ # bucket: "BucketName", # required
3705
+ # id: "IntelligentTieringId", # required
3706
+ # })
3707
+ #
3708
+ # @example Response structure
3709
+ #
3710
+ # resp.intelligent_tiering_configuration.id #=> String
3711
+ # resp.intelligent_tiering_configuration.filter.prefix #=> String
3712
+ # resp.intelligent_tiering_configuration.filter.tag.key #=> String
3713
+ # resp.intelligent_tiering_configuration.filter.tag.value #=> String
3714
+ # resp.intelligent_tiering_configuration.filter.and.prefix #=> String
3715
+ # resp.intelligent_tiering_configuration.filter.and.tags #=> Array
3716
+ # resp.intelligent_tiering_configuration.filter.and.tags[0].key #=> String
3717
+ # resp.intelligent_tiering_configuration.filter.and.tags[0].value #=> String
3718
+ # resp.intelligent_tiering_configuration.status #=> String, one of "Enabled", "Disabled"
3719
+ # resp.intelligent_tiering_configuration.tierings #=> Array
3720
+ # resp.intelligent_tiering_configuration.tierings[0].days #=> Integer
3721
+ # resp.intelligent_tiering_configuration.tierings[0].access_tier #=> String, one of "ARCHIVE_ACCESS", "DEEP_ARCHIVE_ACCESS"
3722
+ #
3723
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketIntelligentTieringConfiguration AWS API Documentation
3724
+ #
3725
+ # @overload get_bucket_intelligent_tiering_configuration(params = {})
3726
+ # @param [Hash] params ({})
3727
+ def get_bucket_intelligent_tiering_configuration(params = {}, options = {})
3728
+ req = build_request(:get_bucket_intelligent_tiering_configuration, params)
3729
+ req.send_request(options)
3730
+ end
3731
+
3562
3732
  # Returns an inventory configuration (identified by the inventory
3563
3733
  # configuration ID) from the bucket.
3564
3734
  #
@@ -4299,6 +4469,9 @@ module Aws::S3
4299
4469
  # retrieve.
4300
4470
  #
4301
4471
  # @option params [String] :expected_bucket_owner
4472
+ # The account id of the expected bucket owner. If the bucket is owned by
4473
+ # a different account, the request will fail with an HTTP `403 (Access
4474
+ # Denied)` error.
4302
4475
  #
4303
4476
  # @return [Types::GetBucketOwnershipControlsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4304
4477
  #
@@ -4558,6 +4731,7 @@ module Aws::S3
4558
4731
  # resp.replication_configuration.rules[0].filter.and.tags[0].value #=> String
4559
4732
  # resp.replication_configuration.rules[0].status #=> String, one of "Enabled", "Disabled"
4560
4733
  # resp.replication_configuration.rules[0].source_selection_criteria.sse_kms_encrypted_objects.status #=> String, one of "Enabled", "Disabled"
4734
+ # resp.replication_configuration.rules[0].source_selection_criteria.replica_modifications.status #=> String, one of "Enabled", "Disabled"
4561
4735
  # resp.replication_configuration.rules[0].existing_object_replication.status #=> String, one of "Enabled", "Disabled"
4562
4736
  # resp.replication_configuration.rules[0].destination.bucket #=> String
4563
4737
  # resp.replication_configuration.rules[0].destination.account #=> String
@@ -4909,11 +5083,13 @@ module Aws::S3
4909
5083
  # For more information about returning the ACL of an object, see
4910
5084
  # [GetObjectAcl][3].
4911
5085
  #
4912
- # If the object you are retrieving is stored in the GLACIER or
4913
- # DEEP\_ARCHIVE storage classes, before you can retrieve the object you
4914
- # must first restore a copy using [RestoreObject][4]. Otherwise, this
4915
- # operation returns an `InvalidObjectStateError` error. For information
4916
- # about restoring archived objects, see [Restoring Archived Objects][5].
5086
+ # If the object you are retrieving is stored in the S3 Glacier or S3
5087
+ # Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive
5088
+ # or S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve
5089
+ # the object you must first restore a copy using [RestoreObject][4].
5090
+ # Otherwise, this operation returns an `InvalidObjectStateError` error.
5091
+ # For information about restoring archived objects, see [Restoring
5092
+ # Archived Objects][5].
4917
5093
  #
4918
5094
  # Encryption request headers, like `x-amz-server-side-encryption`,
4919
5095
  # should not be sent for GET requests if your object uses server-side
@@ -5184,6 +5360,7 @@ module Aws::S3
5184
5360
  # * {Types::GetObjectOutput#sse_customer_algorithm #sse_customer_algorithm} => String
5185
5361
  # * {Types::GetObjectOutput#sse_customer_key_md5 #sse_customer_key_md5} => String
5186
5362
  # * {Types::GetObjectOutput#ssekms_key_id #ssekms_key_id} => String
5363
+ # * {Types::GetObjectOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
5187
5364
  # * {Types::GetObjectOutput#storage_class #storage_class} => String
5188
5365
  # * {Types::GetObjectOutput#request_charged #request_charged} => String
5189
5366
  # * {Types::GetObjectOutput#replication_status #replication_status} => String
@@ -5194,49 +5371,49 @@ module Aws::S3
5194
5371
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
5195
5372
  #
5196
5373
  #
5197
- # @example Example: To retrieve an object
5374
+ # @example Example: To retrieve a byte range of an object
5198
5375
  #
5199
- # # The following example retrieves an object for an S3 bucket.
5376
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5377
+ # # specific byte range.
5200
5378
  #
5201
5379
  # resp = client.get_object({
5202
5380
  # bucket: "examplebucket",
5203
- # key: "HappyFace.jpg",
5381
+ # key: "SampleFile.txt",
5382
+ # range: "bytes=0-9",
5204
5383
  # })
5205
5384
  #
5206
5385
  # resp.to_h outputs the following:
5207
5386
  # {
5208
5387
  # accept_ranges: "bytes",
5209
- # content_length: 3191,
5210
- # content_type: "image/jpeg",
5211
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5212
- # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
5388
+ # content_length: 10,
5389
+ # content_range: "bytes 0-9/43",
5390
+ # content_type: "text/plain",
5391
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5392
+ # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
5213
5393
  # metadata: {
5214
5394
  # },
5215
- # tag_count: 2,
5216
5395
  # version_id: "null",
5217
5396
  # }
5218
5397
  #
5219
- # @example Example: To retrieve a byte range of an object
5398
+ # @example Example: To retrieve an object
5220
5399
  #
5221
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5222
- # # specific byte range.
5400
+ # # The following example retrieves an object for an S3 bucket.
5223
5401
  #
5224
5402
  # resp = client.get_object({
5225
5403
  # bucket: "examplebucket",
5226
- # key: "SampleFile.txt",
5227
- # range: "bytes=0-9",
5404
+ # key: "HappyFace.jpg",
5228
5405
  # })
5229
5406
  #
5230
5407
  # resp.to_h outputs the following:
5231
5408
  # {
5232
5409
  # accept_ranges: "bytes",
5233
- # content_length: 10,
5234
- # content_range: "bytes 0-9/43",
5235
- # content_type: "text/plain",
5236
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5237
- # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
5410
+ # content_length: 3191,
5411
+ # content_type: "image/jpeg",
5412
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5413
+ # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
5238
5414
  # metadata: {
5239
5415
  # },
5416
+ # tag_count: 2,
5240
5417
  # version_id: "null",
5241
5418
  # }
5242
5419
  #
@@ -5321,6 +5498,7 @@ module Aws::S3
5321
5498
  # resp.sse_customer_algorithm #=> String
5322
5499
  # resp.sse_customer_key_md5 #=> String
5323
5500
  # resp.ssekms_key_id #=> String
5501
+ # resp.bucket_key_enabled #=> Boolean
5324
5502
  # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS"
5325
5503
  # resp.request_charged #=> String, one of "requester"
5326
5504
  # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA"
@@ -5771,49 +5949,49 @@ module Aws::S3
5771
5949
  # * {Types::GetObjectTaggingOutput#tag_set #tag_set} => Array&lt;Types::Tag&gt;
5772
5950
  #
5773
5951
  #
5774
- # @example Example: To retrieve tag set of a specific object version
5952
+ # @example Example: To retrieve tag set of an object
5775
5953
  #
5776
- # # The following example retrieves tag set of an object. The request specifies object version.
5954
+ # # The following example retrieves tag set of an object.
5777
5955
  #
5778
5956
  # resp = client.get_object_tagging({
5779
5957
  # bucket: "examplebucket",
5780
- # key: "exampleobject",
5781
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
5958
+ # key: "HappyFace.jpg",
5782
5959
  # })
5783
5960
  #
5784
5961
  # resp.to_h outputs the following:
5785
5962
  # {
5786
5963
  # tag_set: [
5787
5964
  # {
5788
- # key: "Key1",
5789
- # value: "Value1",
5965
+ # key: "Key4",
5966
+ # value: "Value4",
5967
+ # },
5968
+ # {
5969
+ # key: "Key3",
5970
+ # value: "Value3",
5790
5971
  # },
5791
5972
  # ],
5792
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
5973
+ # version_id: "null",
5793
5974
  # }
5794
5975
  #
5795
- # @example Example: To retrieve tag set of an object
5976
+ # @example Example: To retrieve tag set of a specific object version
5796
5977
  #
5797
- # # The following example retrieves tag set of an object.
5978
+ # # The following example retrieves tag set of an object. The request specifies object version.
5798
5979
  #
5799
5980
  # resp = client.get_object_tagging({
5800
5981
  # bucket: "examplebucket",
5801
- # key: "HappyFace.jpg",
5982
+ # key: "exampleobject",
5983
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
5802
5984
  # })
5803
5985
  #
5804
5986
  # resp.to_h outputs the following:
5805
5987
  # {
5806
5988
  # tag_set: [
5807
5989
  # {
5808
- # key: "Key4",
5809
- # value: "Value4",
5810
- # },
5811
- # {
5812
- # key: "Key3",
5813
- # value: "Value3",
5990
+ # key: "Key1",
5991
+ # value: "Value1",
5814
5992
  # },
5815
5993
  # ],
5816
- # version_id: "null",
5994
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
5817
5995
  # }
5818
5996
  #
5819
5997
  # @example Request syntax with placeholder values
@@ -6275,6 +6453,7 @@ module Aws::S3
6275
6453
  # * {Types::HeadObjectOutput#accept_ranges #accept_ranges} => String
6276
6454
  # * {Types::HeadObjectOutput#expiration #expiration} => String
6277
6455
  # * {Types::HeadObjectOutput#restore #restore} => String
6456
+ # * {Types::HeadObjectOutput#archive_status #archive_status} => String
6278
6457
  # * {Types::HeadObjectOutput#last_modified #last_modified} => Time
6279
6458
  # * {Types::HeadObjectOutput#content_length #content_length} => Integer
6280
6459
  # * {Types::HeadObjectOutput#etag #etag} => String
@@ -6293,6 +6472,7 @@ module Aws::S3
6293
6472
  # * {Types::HeadObjectOutput#sse_customer_algorithm #sse_customer_algorithm} => String
6294
6473
  # * {Types::HeadObjectOutput#sse_customer_key_md5 #sse_customer_key_md5} => String
6295
6474
  # * {Types::HeadObjectOutput#ssekms_key_id #ssekms_key_id} => String
6475
+ # * {Types::HeadObjectOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
6296
6476
  # * {Types::HeadObjectOutput#storage_class #storage_class} => String
6297
6477
  # * {Types::HeadObjectOutput#request_charged #request_charged} => String
6298
6478
  # * {Types::HeadObjectOutput#replication_status #replication_status} => String
@@ -6348,6 +6528,7 @@ module Aws::S3
6348
6528
  # resp.accept_ranges #=> String
6349
6529
  # resp.expiration #=> String
6350
6530
  # resp.restore #=> String
6531
+ # resp.archive_status #=> String, one of "ARCHIVE_ACCESS", "DEEP_ARCHIVE_ACCESS"
6351
6532
  # resp.last_modified #=> Time
6352
6533
  # resp.content_length #=> Integer
6353
6534
  # resp.etag #=> String
@@ -6367,6 +6548,7 @@ module Aws::S3
6367
6548
  # resp.sse_customer_algorithm #=> String
6368
6549
  # resp.sse_customer_key_md5 #=> String
6369
6550
  # resp.ssekms_key_id #=> String
6551
+ # resp.bucket_key_enabled #=> Boolean
6370
6552
  # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS"
6371
6553
  # resp.request_charged #=> String, one of "requester"
6372
6554
  # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA"
@@ -6488,6 +6670,93 @@ module Aws::S3
6488
6670
  req.send_request(options)
6489
6671
  end
6490
6672
 
6673
+ # Lists the S3 Intelligent-Tiering configuration from the specified
6674
+ # bucket.
6675
+ #
6676
+ # The S3 Intelligent-Tiering storage class is designed to optimize
6677
+ # storage costs by automatically moving data to the most cost-effective
6678
+ # storage access tier, without additional operational overhead. S3
6679
+ # Intelligent-Tiering delivers automatic cost savings by moving data
6680
+ # between access tiers, when access patterns change.
6681
+ #
6682
+ # The S3 Intelligent-Tiering storage class is suitable for objects
6683
+ # larger than 128 KB that you plan to store for at least 30 days. If the
6684
+ # size of an object is less than 128 KB, it is not eligible for
6685
+ # auto-tiering. Smaller objects can be stored, but they are always
6686
+ # charged at the frequent access tier rates in the S3
6687
+ # Intelligent-Tiering storage class.
6688
+ #
6689
+ # If you delete an object before the end of the 30-day minimum storage
6690
+ # duration period, you are charged for 30 days. For more information,
6691
+ # see [Storage class for automatically optimizing frequently and
6692
+ # infrequently accessed objects][1].
6693
+ #
6694
+ # Operations related to `ListBucketIntelligentTieringConfigurations`
6695
+ # include:
6696
+ #
6697
+ # * [DeleteBucketIntelligentTieringConfiguration][2]
6698
+ #
6699
+ # * [PutBucketIntelligentTieringConfiguration][3]
6700
+ #
6701
+ # * [GetBucketIntelligentTieringConfiguration][4]
6702
+ #
6703
+ #
6704
+ #
6705
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access
6706
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html
6707
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html
6708
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html
6709
+ #
6710
+ # @option params [required, String] :bucket
6711
+ # The name of the Amazon S3 bucket whose configuration you want to
6712
+ # modify or retrieve.
6713
+ #
6714
+ # @option params [String] :continuation_token
6715
+ # The ContinuationToken that represents a placeholder from where this
6716
+ # request should begin.
6717
+ #
6718
+ # @return [Types::ListBucketIntelligentTieringConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6719
+ #
6720
+ # * {Types::ListBucketIntelligentTieringConfigurationsOutput#is_truncated #is_truncated} => Boolean
6721
+ # * {Types::ListBucketIntelligentTieringConfigurationsOutput#continuation_token #continuation_token} => String
6722
+ # * {Types::ListBucketIntelligentTieringConfigurationsOutput#next_continuation_token #next_continuation_token} => String
6723
+ # * {Types::ListBucketIntelligentTieringConfigurationsOutput#intelligent_tiering_configuration_list #intelligent_tiering_configuration_list} => Array&lt;Types::IntelligentTieringConfiguration&gt;
6724
+ #
6725
+ # @example Request syntax with placeholder values
6726
+ #
6727
+ # resp = client.list_bucket_intelligent_tiering_configurations({
6728
+ # bucket: "BucketName", # required
6729
+ # continuation_token: "Token",
6730
+ # })
6731
+ #
6732
+ # @example Response structure
6733
+ #
6734
+ # resp.is_truncated #=> Boolean
6735
+ # resp.continuation_token #=> String
6736
+ # resp.next_continuation_token #=> String
6737
+ # resp.intelligent_tiering_configuration_list #=> Array
6738
+ # resp.intelligent_tiering_configuration_list[0].id #=> String
6739
+ # resp.intelligent_tiering_configuration_list[0].filter.prefix #=> String
6740
+ # resp.intelligent_tiering_configuration_list[0].filter.tag.key #=> String
6741
+ # resp.intelligent_tiering_configuration_list[0].filter.tag.value #=> String
6742
+ # resp.intelligent_tiering_configuration_list[0].filter.and.prefix #=> String
6743
+ # resp.intelligent_tiering_configuration_list[0].filter.and.tags #=> Array
6744
+ # resp.intelligent_tiering_configuration_list[0].filter.and.tags[0].key #=> String
6745
+ # resp.intelligent_tiering_configuration_list[0].filter.and.tags[0].value #=> String
6746
+ # resp.intelligent_tiering_configuration_list[0].status #=> String, one of "Enabled", "Disabled"
6747
+ # resp.intelligent_tiering_configuration_list[0].tierings #=> Array
6748
+ # resp.intelligent_tiering_configuration_list[0].tierings[0].days #=> Integer
6749
+ # resp.intelligent_tiering_configuration_list[0].tierings[0].access_tier #=> String, one of "ARCHIVE_ACCESS", "DEEP_ARCHIVE_ACCESS"
6750
+ #
6751
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketIntelligentTieringConfigurations AWS API Documentation
6752
+ #
6753
+ # @overload list_bucket_intelligent_tiering_configurations(params = {})
6754
+ # @param [Hash] params ({})
6755
+ def list_bucket_intelligent_tiering_configurations(params = {}, options = {})
6756
+ req = build_request(:list_bucket_intelligent_tiering_configurations, params)
6757
+ req.send_request(options)
6758
+ end
6759
+
6491
6760
  # Returns a list of inventory configurations for the bucket. You can
6492
6761
  # have up to 1,000 analytics configurations per bucket.
6493
6762
  #
@@ -8056,6 +8325,9 @@ module Aws::S3
8056
8325
  # used as a message integrity check to verify that the request body was
8057
8326
  # not corrupted in transit. For more information, go to [RFC 1864.][1]
8058
8327
  #
8328
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
8329
+ # SDKs, this field is calculated automatically.
8330
+ #
8059
8331
  #
8060
8332
  #
8061
8333
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
@@ -8342,6 +8614,9 @@ module Aws::S3
8342
8614
  # used as a message integrity check to verify that the request body was
8343
8615
  # not corrupted in transit. For more information, go to [RFC 1864.][1]
8344
8616
  #
8617
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
8618
+ # SDKs, this field is calculated automatically.
8619
+ #
8345
8620
  #
8346
8621
  #
8347
8622
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
@@ -8425,14 +8700,17 @@ module Aws::S3
8425
8700
  req.send_request(options)
8426
8701
  end
8427
8702
 
8428
- # This implementation of the `PUT` operation uses the `encryption`
8429
- # subresource to set the default encryption state of an existing bucket.
8430
- #
8431
- # This implementation of the `PUT` operation sets default encryption for
8432
- # a bucket using server-side encryption with Amazon S3-managed keys
8433
- # SSE-S3 or AWS KMS customer master keys (CMKs) (SSE-KMS). For
8434
- # information about the Amazon S3 default encryption feature, see
8435
- # [Amazon S3 Default Bucket Encryption][1].
8703
+ # This operation uses the `encryption` subresource to configure default
8704
+ # encryption and Amazon S3 Bucket Key for an existing bucket.
8705
+ #
8706
+ # Default encryption for a bucket can use server-side encryption with
8707
+ # Amazon S3-managed keys (SSE-S3) or AWS KMS customer master keys
8708
+ # (SSE-KMS). If you specify default encryption using SSE-KMS, you can
8709
+ # also configure Amazon S3 Bucket Key. For information about default
8710
+ # encryption, see [Amazon S3 default bucket encryption][1] in the
8711
+ # *Amazon Simple Storage Service Developer Guide*. For more information
8712
+ # about S3 Bucket Keys, see [Amazon S3 Bucket Keys][2] in the *Amazon
8713
+ # Simple Storage Service Developer Guide*.
8436
8714
  #
8437
8715
  # This operation requires AWS Signature Version 4. For more information,
8438
8716
  # see [ Authenticating Requests (AWS Signature Version
@@ -8442,23 +8720,24 @@ module Aws::S3
8442
8720
  # `s3:PutEncryptionConfiguration` action. The bucket owner has this
8443
8721
  # permission by default. The bucket owner can grant this permission to
8444
8722
  # others. For more information about permissions, see [Permissions
8445
- # Related to Bucket Subresource Operations][2] and [Managing Access
8446
- # Permissions to Your Amazon S3 Resources][3] in the Amazon Simple
8723
+ # Related to Bucket Subresource Operations][3] and [Managing Access
8724
+ # Permissions to Your Amazon S3 Resources][4] in the Amazon Simple
8447
8725
  # Storage Service Developer Guide.
8448
8726
  #
8449
8727
  # **Related Resources**
8450
8728
  #
8451
- # * [GetBucketEncryption][4]
8729
+ # * [GetBucketEncryption][5]
8452
8730
  #
8453
- # * [DeleteBucketEncryption][5]
8731
+ # * [DeleteBucketEncryption][6]
8454
8732
  #
8455
8733
  #
8456
8734
  #
8457
8735
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
8458
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
8459
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
8460
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
8461
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
8736
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
8737
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
8738
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
8739
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
8740
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
8462
8741
  #
8463
8742
  # @option params [required, String] :bucket
8464
8743
  # Specifies default encryption for a bucket using server-side encryption
@@ -8473,8 +8752,10 @@ module Aws::S3
8473
8752
  #
8474
8753
  # @option params [String] :content_md5
8475
8754
  # The base64-encoded 128-bit MD5 digest of the server-side encryption
8476
- # configuration. This parameter is auto-populated when using the command
8477
- # from the CLI.
8755
+ # configuration.
8756
+ #
8757
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
8758
+ # SDKs, this field is calculated automatically.
8478
8759
  #
8479
8760
  # @option params [required, Types::ServerSideEncryptionConfiguration] :server_side_encryption_configuration
8480
8761
  # Specifies the default server-side-encryption configuration.
@@ -8498,6 +8779,7 @@ module Aws::S3
8498
8779
  # sse_algorithm: "AES256", # required, accepts AES256, aws:kms
8499
8780
  # kms_master_key_id: "SSEKMSKeyId",
8500
8781
  # },
8782
+ # bucket_key_enabled: false,
8501
8783
  # },
8502
8784
  # ],
8503
8785
  # },
@@ -8513,6 +8795,96 @@ module Aws::S3
8513
8795
  req.send_request(options)
8514
8796
  end
8515
8797
 
8798
+ # Puts a S3 Intelligent-Tiering configuration to the specified bucket.
8799
+ #
8800
+ # The S3 Intelligent-Tiering storage class is designed to optimize
8801
+ # storage costs by automatically moving data to the most cost-effective
8802
+ # storage access tier, without additional operational overhead. S3
8803
+ # Intelligent-Tiering delivers automatic cost savings by moving data
8804
+ # between access tiers, when access patterns change.
8805
+ #
8806
+ # The S3 Intelligent-Tiering storage class is suitable for objects
8807
+ # larger than 128 KB that you plan to store for at least 30 days. If the
8808
+ # size of an object is less than 128 KB, it is not eligible for
8809
+ # auto-tiering. Smaller objects can be stored, but they are always
8810
+ # charged at the frequent access tier rates in the S3
8811
+ # Intelligent-Tiering storage class.
8812
+ #
8813
+ # If you delete an object before the end of the 30-day minimum storage
8814
+ # duration period, you are charged for 30 days. For more information,
8815
+ # see [Storage class for automatically optimizing frequently and
8816
+ # infrequently accessed objects][1].
8817
+ #
8818
+ # Operations related to `PutBucketIntelligentTieringConfiguration`
8819
+ # include:
8820
+ #
8821
+ # * [DeleteBucketIntelligentTieringConfiguration][2]
8822
+ #
8823
+ # * [GetBucketIntelligentTieringConfiguration][3]
8824
+ #
8825
+ # * [ListBucketIntelligentTieringConfigurations][4]
8826
+ #
8827
+ #
8828
+ #
8829
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access
8830
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html
8831
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html
8832
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html
8833
+ #
8834
+ # @option params [required, String] :bucket
8835
+ # The name of the Amazon S3 bucket whose configuration you want to
8836
+ # modify or retrieve.
8837
+ #
8838
+ # @option params [required, String] :id
8839
+ # The ID used to identify the S3 Intelligent-Tiering configuration.
8840
+ #
8841
+ # @option params [required, Types::IntelligentTieringConfiguration] :intelligent_tiering_configuration
8842
+ # Container for S3 Intelligent-Tiering configuration.
8843
+ #
8844
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8845
+ #
8846
+ # @example Request syntax with placeholder values
8847
+ #
8848
+ # resp = client.put_bucket_intelligent_tiering_configuration({
8849
+ # bucket: "BucketName", # required
8850
+ # id: "IntelligentTieringId", # required
8851
+ # intelligent_tiering_configuration: { # required
8852
+ # id: "IntelligentTieringId", # required
8853
+ # filter: {
8854
+ # prefix: "Prefix",
8855
+ # tag: {
8856
+ # key: "ObjectKey", # required
8857
+ # value: "Value", # required
8858
+ # },
8859
+ # and: {
8860
+ # prefix: "Prefix",
8861
+ # tags: [
8862
+ # {
8863
+ # key: "ObjectKey", # required
8864
+ # value: "Value", # required
8865
+ # },
8866
+ # ],
8867
+ # },
8868
+ # },
8869
+ # status: "Enabled", # required, accepts Enabled, Disabled
8870
+ # tierings: [ # required
8871
+ # {
8872
+ # days: 1, # required
8873
+ # access_tier: "ARCHIVE_ACCESS", # required, accepts ARCHIVE_ACCESS, DEEP_ARCHIVE_ACCESS
8874
+ # },
8875
+ # ],
8876
+ # },
8877
+ # })
8878
+ #
8879
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketIntelligentTieringConfiguration AWS API Documentation
8880
+ #
8881
+ # @overload put_bucket_intelligent_tiering_configuration(params = {})
8882
+ # @param [Hash] params ({})
8883
+ def put_bucket_intelligent_tiering_configuration(params = {}, options = {})
8884
+ req = build_request(:put_bucket_intelligent_tiering_configuration, params)
8885
+ req.send_request(options)
8886
+ end
8887
+
8516
8888
  # This implementation of the `PUT` operation adds an inventory
8517
8889
  # configuration (identified by the inventory ID) to the bucket. You can
8518
8890
  # have up to 1,000 inventory configurations per bucket.
@@ -8716,6 +9088,8 @@ module Aws::S3
8716
9088
  # @option params [required, String] :bucket
8717
9089
  #
8718
9090
  # @option params [String] :content_md5
9091
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
9092
+ # SDKs, this field is calculated automatically.
8719
9093
  #
8720
9094
  # @option params [Types::LifecycleConfiguration] :lifecycle_configuration
8721
9095
  #
@@ -9036,6 +9410,9 @@ module Aws::S3
9036
9410
  # @option params [String] :content_md5
9037
9411
  # The MD5 hash of the `PutBucketLogging` request body.
9038
9412
  #
9413
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
9414
+ # SDKs, this field is calculated automatically.
9415
+ #
9039
9416
  # @option params [String] :expected_bucket_owner
9040
9417
  # The account id of the expected bucket owner. If the bucket is owned by
9041
9418
  # a different account, the request will fail with an HTTP `403 (Access
@@ -9212,6 +9589,9 @@ module Aws::S3
9212
9589
  # @option params [String] :content_md5
9213
9590
  # The MD5 hash of the `PutPublicAccessBlock` request body.
9214
9591
  #
9592
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
9593
+ # SDKs, this field is calculated automatically.
9594
+ #
9215
9595
  # @option params [required, Types::NotificationConfigurationDeprecated] :notification_configuration
9216
9596
  # The container for the configuration.
9217
9597
  #
@@ -9431,14 +9811,14 @@ module Aws::S3
9431
9811
  end
9432
9812
 
9433
9813
  # Creates or modifies `OwnershipControls` for an Amazon S3 bucket. To
9434
- # use this operation, you must have the `s3:GetBucketOwnershipControls`
9814
+ # use this operation, you must have the `s3:PutBucketOwnershipControls`
9435
9815
  # permission. For more information about Amazon S3 permissions, see
9436
9816
  # [Specifying Permissions in a Policy][1].
9437
9817
  #
9438
9818
  # For information about Amazon S3 Object Ownership, see [Using Object
9439
9819
  # Ownership][2].
9440
9820
  #
9441
- # The following operations are related to `GetBucketOwnershipControls`\:
9821
+ # The following operations are related to `PutBucketOwnershipControls`\:
9442
9822
  #
9443
9823
  # * GetBucketOwnershipControls
9444
9824
  #
@@ -9456,7 +9836,13 @@ module Aws::S3
9456
9836
  # @option params [String] :content_md5
9457
9837
  # The MD5 hash of the `OwnershipControls` request body.
9458
9838
  #
9839
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
9840
+ # SDKs, this field is calculated automatically.
9841
+ #
9459
9842
  # @option params [String] :expected_bucket_owner
9843
+ # The account id of the expected bucket owner. If the bucket is owned by
9844
+ # a different account, the request will fail with an HTTP `403 (Access
9845
+ # Denied)` error.
9460
9846
  #
9461
9847
  # @option params [required, Types::OwnershipControls] :ownership_controls
9462
9848
  # The `OwnershipControls` (BucketOwnerPreferred or ObjectWriter) that
@@ -9524,6 +9910,9 @@ module Aws::S3
9524
9910
  # @option params [String] :content_md5
9525
9911
  # The MD5 hash of the request body.
9526
9912
  #
9913
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
9914
+ # SDKs, this field is calculated automatically.
9915
+ #
9527
9916
  # @option params [Boolean] :confirm_remove_self_bucket_access
9528
9917
  # Set this parameter to true to confirm that you want to remove your
9529
9918
  # permissions to change this bucket policy in the future.
@@ -9578,15 +9967,15 @@ module Aws::S3
9578
9967
  #
9579
9968
  # Specify the replication configuration in the request body. In the
9580
9969
  # replication configuration, you provide the name of the destination
9581
- # bucket where you want Amazon S3 to replicate objects, the IAM role
9582
- # that Amazon S3 can assume to replicate objects on your behalf, and
9583
- # other relevant information.
9970
+ # bucket or buckets where you want Amazon S3 to replicate objects, the
9971
+ # IAM role that Amazon S3 can assume to replicate objects on your
9972
+ # behalf, and other relevant information.
9584
9973
  #
9585
9974
  # A replication configuration must include at least one rule, and can
9586
9975
  # contain a maximum of 1,000. Each rule identifies a subset of objects
9587
9976
  # to replicate by filtering the objects in the source bucket. To choose
9588
9977
  # additional subsets of objects to replicate, add a rule for each
9589
- # subset. All rules must specify the same destination bucket.
9978
+ # subset.
9590
9979
  #
9591
9980
  # To specify a subset of the objects in the source bucket to apply a
9592
9981
  # replication rule to, add the Filter element as a child of the Rule
@@ -9595,26 +9984,21 @@ module Aws::S3
9595
9984
  # configuration, you must also add the following elements:
9596
9985
  # `DeleteMarkerReplication`, `Status`, and `Priority`.
9597
9986
  #
9598
- # <note markdown="1"> The latest version of the replication configuration XML is V2. XML V2
9599
- # replication configurations are those that contain the `Filter` element
9600
- # for rules, and rules that specify S3 Replication Time Control (S3
9601
- # RTC). In XML V2 replication configurations, Amazon S3 doesn't
9602
- # replicate delete markers. Therefore, you must set the
9603
- # `DeleteMarkerReplication` element to `Disabled`. For backward
9604
- # compatibility, Amazon S3 continues to support the XML V1 replication
9605
- # configuration.
9987
+ # <note markdown="1"> If you are using an earlier version of the replication configuration,
9988
+ # Amazon S3 handles replication of delete markers differently. For more
9989
+ # information, see [Backward Compatibility][3].
9606
9990
  #
9607
9991
  # </note>
9608
9992
  #
9609
9993
  # For information about enabling versioning on a bucket, see [Using
9610
- # Versioning][3].
9994
+ # Versioning][4].
9611
9995
  #
9612
9996
  # By default, a resource owner, in this case the AWS account that
9613
9997
  # created the bucket, can perform this operation. The resource owner can
9614
9998
  # also grant others permissions to perform the operation. For more
9615
9999
  # information about permissions, see [Specifying Permissions in a
9616
- # Policy][4] and [Managing Access Permissions to Your Amazon S3
9617
- # Resources][5].
10000
+ # Policy][5] and [Managing Access Permissions to Your Amazon S3
10001
+ # Resources][6].
9618
10002
  #
9619
10003
  # **Handling Replication of Encrypted Objects**
9620
10004
  #
@@ -9624,28 +10008,29 @@ module Aws::S3
9624
10008
  # `SourceSelectionCriteria`, `SseKmsEncryptedObjects`, `Status`,
9625
10009
  # `EncryptionConfiguration`, and `ReplicaKmsKeyID`. For information
9626
10010
  # about replication configuration, see [Replicating Objects Created with
9627
- # SSE Using CMKs stored in AWS KMS][6].
10011
+ # SSE Using CMKs stored in AWS KMS][7].
9628
10012
  #
9629
10013
  # For information on `PutBucketReplication` errors, see [List of
9630
- # replication-related error codes][7]
10014
+ # replication-related error codes][8]
9631
10015
  #
9632
10016
  # The following operations are related to `PutBucketReplication`\:
9633
10017
  #
9634
- # * [GetBucketReplication][8]
10018
+ # * [GetBucketReplication][9]
9635
10019
  #
9636
- # * [DeleteBucketReplication][9]
10020
+ # * [DeleteBucketReplication][10]
9637
10021
  #
9638
10022
  #
9639
10023
  #
9640
10024
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html
9641
10025
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html
9642
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html
9643
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
9644
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
9645
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-config-for-kms-objects.html
9646
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ReplicationErrorCodeList
9647
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html
9648
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html
10026
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations
10027
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html
10028
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
10029
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
10030
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-config-for-kms-objects.html
10031
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ReplicationErrorCodeList
10032
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html
10033
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html
9649
10034
  #
9650
10035
  # @option params [required, String] :bucket
9651
10036
  # The name of the bucket
@@ -9655,6 +10040,9 @@ module Aws::S3
9655
10040
  # header as a message integrity check to verify that the request body
9656
10041
  # was not corrupted in transit. For more information, see [RFC 1864][1].
9657
10042
  #
10043
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
10044
+ # SDKs, this field is calculated automatically.
10045
+ #
9658
10046
  #
9659
10047
  #
9660
10048
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
@@ -9664,6 +10052,7 @@ module Aws::S3
9664
10052
  # maximum size of a replication configuration is 2 MB.
9665
10053
  #
9666
10054
  # @option params [String] :token
10055
+ # A token to allow Object Lock to be enabled for an existing bucket.
9667
10056
  #
9668
10057
  # @option params [String] :expected_bucket_owner
9669
10058
  # The account id of the expected bucket owner. If the bucket is owned by
@@ -9727,6 +10116,9 @@ module Aws::S3
9727
10116
  # sse_kms_encrypted_objects: {
9728
10117
  # status: "Enabled", # required, accepts Enabled, Disabled
9729
10118
  # },
10119
+ # replica_modifications: {
10120
+ # status: "Enabled", # required, accepts Enabled, Disabled
10121
+ # },
9730
10122
  # },
9731
10123
  # existing_object_replication: {
9732
10124
  # status: "Enabled", # required, accepts Enabled, Disabled
@@ -9749,7 +10141,7 @@ module Aws::S3
9749
10141
  # },
9750
10142
  # metrics: {
9751
10143
  # status: "Enabled", # required, accepts Enabled, Disabled
9752
- # event_threshold: { # required
10144
+ # event_threshold: {
9753
10145
  # minutes: 1,
9754
10146
  # },
9755
10147
  # },
@@ -9800,6 +10192,9 @@ module Aws::S3
9800
10192
  # body was not corrupted in transit. For more information, see [RFC
9801
10193
  # 1864][1].
9802
10194
  #
10195
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
10196
+ # SDKs, this field is calculated automatically.
10197
+ #
9803
10198
  #
9804
10199
  #
9805
10200
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
@@ -9926,6 +10321,9 @@ module Aws::S3
9926
10321
  # header as a message integrity check to verify that the request body
9927
10322
  # was not corrupted in transit. For more information, see [RFC 1864][1].
9928
10323
  #
10324
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
10325
+ # SDKs, this field is calculated automatically.
10326
+ #
9929
10327
  #
9930
10328
  #
9931
10329
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
@@ -10039,6 +10437,9 @@ module Aws::S3
10039
10437
  # body was not corrupted in transit. For more information, see [RFC
10040
10438
  # 1864][1].
10041
10439
  #
10440
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
10441
+ # SDKs, this field is calculated automatically.
10442
+ #
10042
10443
  #
10043
10444
  #
10044
10445
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
@@ -10173,6 +10574,9 @@ module Aws::S3
10173
10574
  # header as a message integrity check to verify that the request body
10174
10575
  # was not corrupted in transit. For more information, see [RFC 1864][1].
10175
10576
  #
10577
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
10578
+ # SDKs, this field is calculated automatically.
10579
+ #
10176
10580
  #
10177
10581
  #
10178
10582
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
@@ -10282,8 +10686,13 @@ module Aws::S3
10282
10686
  # encryption, Amazon S3 encrypts your data as it writes it to disks in
10283
10687
  # its data centers and decrypts the data when you access it. You have
10284
10688
  # the option to provide your own encryption key or use AWS managed
10285
- # encryption keys. For more information, see [Using Server-Side
10286
- # Encryption][2].
10689
+ # encryption keys (SSE-S3 or SSE-KMS). For more information, see [Using
10690
+ # Server-Side Encryption][2].
10691
+ #
10692
+ # If you request server-side encryption using AWS Key Management Service
10693
+ # (SSE-KMS), you can enable an S3 Bucket Key at the object-level. For
10694
+ # more information, see [Amazon S3 Bucket Keys][3] in the *Amazon Simple
10695
+ # Storage Service Developer Guide*.
10287
10696
  #
10288
10697
  # **Access Control List (ACL)-Specific Request Headers**
10289
10698
  #
@@ -10292,8 +10701,8 @@ module Aws::S3
10292
10701
  # adding a new object, you can grant permissions to individual AWS
10293
10702
  # accounts or to predefined groups defined by Amazon S3. These
10294
10703
  # permissions are then added to the ACL on the object. For more
10295
- # information, see [Access Control List (ACL) Overview][3] and [Managing
10296
- # ACLs Using the REST API][4].
10704
+ # information, see [Access Control List (ACL) Overview][4] and [Managing
10705
+ # ACLs Using the REST API][5].
10297
10706
  #
10298
10707
  # **Storage Class Options**
10299
10708
  #
@@ -10301,7 +10710,7 @@ module Aws::S3
10301
10710
  # created objects. The STANDARD storage class provides high durability
10302
10711
  # and high availability. Depending on performance needs, you can specify
10303
10712
  # a different Storage Class. Amazon S3 on Outposts only uses the
10304
- # OUTPOSTS Storage Class. For more information, see [Storage Classes][5]
10713
+ # OUTPOSTS Storage Class. For more information, see [Storage Classes][6]
10305
10714
  # in the *Amazon S3 Service Developer Guide*.
10306
10715
  #
10307
10716
  # **Versioning**
@@ -10313,26 +10722,27 @@ module Aws::S3
10313
10722
  # object simultaneously, it stores all of the objects.
10314
10723
  #
10315
10724
  # For more information about versioning, see [Adding Objects to
10316
- # Versioning Enabled Buckets][6]. For information about returning the
10317
- # versioning state of a bucket, see [GetBucketVersioning][7].
10725
+ # Versioning Enabled Buckets][7]. For information about returning the
10726
+ # versioning state of a bucket, see [GetBucketVersioning][8].
10318
10727
  #
10319
10728
  # **Related Resources**
10320
10729
  #
10321
- # * [CopyObject][8]
10730
+ # * [CopyObject][9]
10322
10731
  #
10323
- # * [DeleteObject][9]
10732
+ # * [DeleteObject][10]
10324
10733
  #
10325
10734
  #
10326
10735
  #
10327
10736
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html
10328
10737
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
10329
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
10330
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html
10331
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
10332
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html
10333
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html
10334
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
10335
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
10738
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
10739
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
10740
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html
10741
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
10742
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html
10743
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html
10744
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
10745
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
10336
10746
  #
10337
10747
  # @option params [String] :acl
10338
10748
  # The canned ACL to apply to the object. For more information, see
@@ -10546,6 +10956,15 @@ module Aws::S3
10546
10956
  # The value of this header is a base64-encoded UTF-8 string holding JSON
10547
10957
  # with the encryption context key-value pairs.
10548
10958
  #
10959
+ # @option params [Boolean] :bucket_key_enabled
10960
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
10961
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
10962
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
10963
+ # for object encryption with SSE-KMS.
10964
+ #
10965
+ # Specifying this header with a PUT operation doesn’t affect
10966
+ # bucket-level settings for S3 Bucket Key.
10967
+ #
10549
10968
  # @option params [String] :request_payer
10550
10969
  # Confirms that the requester knows that they will be charged for the
10551
10970
  # request. Bucket owners need not specify this parameter in their
@@ -10590,65 +11009,44 @@ module Aws::S3
10590
11009
  # * {Types::PutObjectOutput#sse_customer_key_md5 #sse_customer_key_md5} => String
10591
11010
  # * {Types::PutObjectOutput#ssekms_key_id #ssekms_key_id} => String
10592
11011
  # * {Types::PutObjectOutput#ssekms_encryption_context #ssekms_encryption_context} => String
11012
+ # * {Types::PutObjectOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
10593
11013
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
10594
11014
  #
10595
11015
  #
10596
- # @example Example: To upload an object
10597
- #
10598
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
10599
- # # syntax. S3 returns VersionId of the newly created object.
10600
- #
10601
- # resp = client.put_object({
10602
- # body: "HappyFace.jpg",
10603
- # bucket: "examplebucket",
10604
- # key: "HappyFace.jpg",
10605
- # })
10606
- #
10607
- # resp.to_h outputs the following:
10608
- # {
10609
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
10610
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
10611
- # }
10612
- #
10613
- # @example Example: To upload object and specify user-defined metadata
11016
+ # @example Example: To upload an object and specify server-side encryption and object tags
10614
11017
  #
10615
- # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
10616
- # # enabled, S3 returns version ID in response.
11018
+ # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
11019
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
10617
11020
  #
10618
11021
  # resp = client.put_object({
10619
11022
  # body: "filetoupload",
10620
11023
  # bucket: "examplebucket",
10621
11024
  # key: "exampleobject",
10622
- # metadata: {
10623
- # "metadata1" => "value1",
10624
- # "metadata2" => "value2",
10625
- # },
11025
+ # server_side_encryption: "AES256",
11026
+ # tagging: "key1=value1&key2=value2",
10626
11027
  # })
10627
11028
  #
10628
11029
  # resp.to_h outputs the following:
10629
11030
  # {
10630
11031
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
10631
- # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
11032
+ # server_side_encryption: "AES256",
11033
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
10632
11034
  # }
10633
11035
  #
10634
- # @example Example: To upload an object and specify server-side encryption and object tags
11036
+ # @example Example: To create an object.
10635
11037
  #
10636
- # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
10637
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
11038
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
10638
11039
  #
10639
11040
  # resp = client.put_object({
10640
11041
  # body: "filetoupload",
10641
11042
  # bucket: "examplebucket",
10642
- # key: "exampleobject",
10643
- # server_side_encryption: "AES256",
10644
- # tagging: "key1=value1&key2=value2",
11043
+ # key: "objectkey",
10645
11044
  # })
10646
11045
  #
10647
11046
  # resp.to_h outputs the following:
10648
11047
  # {
10649
11048
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
10650
- # server_side_encryption: "AES256",
10651
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
11049
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
10652
11050
  # }
10653
11051
  #
10654
11052
  # @example Example: To upload an object and specify optional tags
@@ -10689,6 +11087,27 @@ module Aws::S3
10689
11087
  # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
10690
11088
  # }
10691
11089
  #
11090
+ # @example Example: To upload object and specify user-defined metadata
11091
+ #
11092
+ # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
11093
+ # # enabled, S3 returns version ID in response.
11094
+ #
11095
+ # resp = client.put_object({
11096
+ # body: "filetoupload",
11097
+ # bucket: "examplebucket",
11098
+ # key: "exampleobject",
11099
+ # metadata: {
11100
+ # "metadata1" => "value1",
11101
+ # "metadata2" => "value2",
11102
+ # },
11103
+ # })
11104
+ #
11105
+ # resp.to_h outputs the following:
11106
+ # {
11107
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11108
+ # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
11109
+ # }
11110
+ #
10692
11111
  # @example Example: To upload an object and specify canned ACL.
10693
11112
  #
10694
11113
  # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
@@ -10707,20 +11126,21 @@ module Aws::S3
10707
11126
  # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
10708
11127
  # }
10709
11128
  #
10710
- # @example Example: To create an object.
11129
+ # @example Example: To upload an object
10711
11130
  #
10712
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
11131
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
11132
+ # # syntax. S3 returns VersionId of the newly created object.
10713
11133
  #
10714
11134
  # resp = client.put_object({
10715
- # body: "filetoupload",
11135
+ # body: "HappyFace.jpg",
10716
11136
  # bucket: "examplebucket",
10717
- # key: "objectkey",
11137
+ # key: "HappyFace.jpg",
10718
11138
  # })
10719
11139
  #
10720
11140
  # resp.to_h outputs the following:
10721
11141
  # {
10722
11142
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
10723
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
11143
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
10724
11144
  # }
10725
11145
  #
10726
11146
  # @example Streaming a file from disk
@@ -10759,6 +11179,7 @@ module Aws::S3
10759
11179
  # sse_customer_key_md5: "SSECustomerKeyMD5",
10760
11180
  # ssekms_key_id: "SSEKMSKeyId",
10761
11181
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
11182
+ # bucket_key_enabled: false,
10762
11183
  # request_payer: "requester", # accepts requester
10763
11184
  # tagging: "TaggingHeader",
10764
11185
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
@@ -10777,6 +11198,7 @@ module Aws::S3
10777
11198
  # resp.sse_customer_key_md5 #=> String
10778
11199
  # resp.ssekms_key_id #=> String
10779
11200
  # resp.ssekms_encryption_context #=> String
11201
+ # resp.bucket_key_enabled #=> Boolean
10780
11202
  # resp.request_charged #=> String, one of "requester"
10781
11203
  #
10782
11204
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject AWS API Documentation
@@ -10974,6 +11396,9 @@ module Aws::S3
10974
11396
  # not corrupted in transit. For more information, go to [RFC
10975
11397
  # 1864.&gt;][1]
10976
11398
  #
11399
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
11400
+ # SDKs, this field is calculated automatically.
11401
+ #
10977
11402
  #
10978
11403
  #
10979
11404
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
@@ -11172,6 +11597,9 @@ module Aws::S3
11172
11597
  # @option params [String] :content_md5
11173
11598
  # The MD5 hash for the request body.
11174
11599
  #
11600
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
11601
+ # SDKs, this field is calculated automatically.
11602
+ #
11175
11603
  # @option params [String] :expected_bucket_owner
11176
11604
  # The account id of the expected bucket owner. If the bucket is owned by
11177
11605
  # a different account, the request will fail with an HTTP `403 (Access
@@ -11252,6 +11680,9 @@ module Aws::S3
11252
11680
  # @option params [String] :content_md5
11253
11681
  # The MD5 hash for the request body.
11254
11682
  #
11683
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
11684
+ # SDKs, this field is calculated automatically.
11685
+ #
11255
11686
  # @option params [String] :expected_bucket_owner
11256
11687
  # The account id of the expected bucket owner. If the bucket is owned by
11257
11688
  # a different account, the request will fail with an HTTP `403 (Access
@@ -11353,6 +11784,9 @@ module Aws::S3
11353
11784
  # @option params [String] :content_md5
11354
11785
  # The MD5 hash for the request body.
11355
11786
  #
11787
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
11788
+ # SDKs, this field is calculated automatically.
11789
+ #
11356
11790
  # @option params [String] :expected_bucket_owner
11357
11791
  # The account id of the expected bucket owner. If the bucket is owned by
11358
11792
  # a different account, the request will fail with an HTTP `403 (Access
@@ -11481,6 +11915,9 @@ module Aws::S3
11481
11915
  # @option params [String] :content_md5
11482
11916
  # The MD5 hash for the request body.
11483
11917
  #
11918
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
11919
+ # SDKs, this field is calculated automatically.
11920
+ #
11484
11921
  # @option params [required, Types::Tagging] :tagging
11485
11922
  # Container for the `TagSet` and `Tag` elements
11486
11923
  #
@@ -11593,6 +12030,9 @@ module Aws::S3
11593
12030
  # @option params [String] :content_md5
11594
12031
  # The MD5 hash of the `PutPublicAccessBlock` request body.
11595
12032
  #
12033
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
12034
+ # SDKs, this field is calculated automatically.
12035
+ #
11596
12036
  # @option params [required, Types::PublicAccessBlockConfiguration] :public_access_block_configuration
11597
12037
  # The `PublicAccessBlock` configuration that you want to apply to this
11598
12038
  # Amazon S3 bucket. You can enable the configuration options in any
@@ -11732,66 +12172,66 @@ module Aws::S3
11732
12172
  # * Amazon S3 accepts a select request even if the object has already
11733
12173
  # been restored. A select request doesn’t return error response `409`.
11734
12174
  #
11735
- # **Restoring Archives**
12175
+ # **Restoring objects**
11736
12176
  #
11737
- # Objects in the GLACIER and DEEP\_ARCHIVE storage classes are archived.
11738
- # To access an archived object, you must first initiate a restore
11739
- # request. This restores a temporary copy of the archived object. In a
11740
- # restore request, you specify the number of days that you want the
11741
- # restored copy to exist. After the specified period, Amazon S3 deletes
11742
- # the temporary copy but the object remains archived in the GLACIER or
11743
- # DEEP\_ARCHIVE storage class that object was restored from.
12177
+ # Objects that you archive to the S3 Glacier or S3 Glacier Deep Archive
12178
+ # storage class, and S3 Intelligent-Tiering Archive or S3
12179
+ # Intelligent-Tiering Deep Archive tiers are not accessible in real
12180
+ # time. For objects in Archive Access or Deep Archive Access tiers you
12181
+ # must first initiate a restore request, and then wait until the object
12182
+ # is moved into the Frequent Access tier. For objects in S3 Glacier or
12183
+ # S3 Glacier Deep Archive storage classes you must first initiate a
12184
+ # restore request, and then wait until a temporary copy of the object is
12185
+ # available. To access an archived object, you must restore the object
12186
+ # for the duration (number of days) that you specify.
11744
12187
  #
11745
12188
  # To restore a specific object version, you can provide a version ID. If
11746
12189
  # you don't provide a version ID, Amazon S3 restores the current
11747
12190
  # version.
11748
12191
  #
11749
- # The time it takes restore jobs to finish depends on which storage
11750
- # class the object is being restored from and which data access tier you
11751
- # specify.
11752
- #
11753
12192
  # When restoring an archived object (or using a select request), you can
11754
12193
  # specify one of the following data access tier options in the `Tier`
11755
12194
  # element of the request body:
11756
12195
  #
11757
12196
  # * <b> <code>Expedited</code> </b> - Expedited retrievals allow you to
11758
- # quickly access your data stored in the GLACIER storage class when
11759
- # occasional urgent requests for a subset of archives are required.
11760
- # For all but the largest archived objects (250 MB+), data accessed
11761
- # using Expedited retrievals are typically made available within 1–5
11762
- # minutes. Provisioned capacity ensures that retrieval capacity for
11763
- # Expedited retrievals is available when you need it. Expedited
11764
- # retrievals and provisioned capacity are not available for the
11765
- # DEEP\_ARCHIVE storage class.
11766
- #
11767
- # * <b> <code>Standard</code> </b> - S3 Standard retrievals allow you to
12197
+ # quickly access your data stored in the S3 Glacier storage class or
12198
+ # S3 Intelligent-Tiering Archive tier when occasional urgent requests
12199
+ # for a subset of archives are required. For all but the largest
12200
+ # archived objects (250 MB+), data accessed using Expedited retrievals
12201
+ # is typically made available within 1–5 minutes. Provisioned capacity
12202
+ # ensures that retrieval capacity for Expedited retrievals is
12203
+ # available when you need it. Expedited retrievals and provisioned
12204
+ # capacity are not available for objects stored in the S3 Glacier Deep
12205
+ # Archive storage class or S3 Intelligent-Tiering Deep Archive tier.
12206
+ #
12207
+ # * <b> <code>Standard</code> </b> - Standard retrievals allow you to
11768
12208
  # access any of your archived objects within several hours. This is
11769
- # the default option for the GLACIER and DEEP\_ARCHIVE retrieval
11770
- # requests that do not specify the retrieval option. S3 Standard
11771
- # retrievals typically complete within 3-5 hours from the GLACIER
11772
- # storage class and typically complete within 12 hours from the
11773
- # DEEP\_ARCHIVE storage class.
11774
- #
11775
- # * <b> <code>Bulk</code> </b> - Bulk retrievals are Amazon S3 Glacier’s
11776
- # lowest-cost retrieval option, enabling you to retrieve large
11777
- # amounts, even petabytes, of data inexpensively in a day. Bulk
11778
- # retrievals typically complete within 5-12 hours from the GLACIER
11779
- # storage class and typically complete within 48 hours from the
11780
- # DEEP\_ARCHIVE storage class.
12209
+ # the default option for retrieval requests that do not specify the
12210
+ # retrieval option. Standard retrievals typically finish within 3–5
12211
+ # hours for objects stored in the S3 Glacier storage class or S3
12212
+ # Intelligent-Tiering Archive tier. They typically finish within 12
12213
+ # hours for objects stored in the S3 Glacier Deep Archive storage
12214
+ # class or S3 Intelligent-Tiering Deep Archive tier. Standard
12215
+ # retrievals are free for objects stored in S3 Intelligent-Tiering.
12216
+ #
12217
+ # * <b> <code>Bulk</code> </b> - Bulk retrievals are the lowest-cost
12218
+ # retrieval option in S3 Glacier, enabling you to retrieve large
12219
+ # amounts, even petabytes, of data inexpensively. Bulk retrievals
12220
+ # typically finish within 5–12 hours for objects stored in the S3
12221
+ # Glacier storage class or S3 Intelligent-Tiering Archive tier. They
12222
+ # typically finish within 48 hours for objects stored in the S3
12223
+ # Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep
12224
+ # Archive tier. Bulk retrievals are free for objects stored in S3
12225
+ # Intelligent-Tiering.
11781
12226
  #
11782
12227
  # For more information about archive retrieval options and provisioned
11783
12228
  # capacity for `Expedited` data access, see [Restoring Archived
11784
12229
  # Objects][8] in the *Amazon Simple Storage Service Developer Guide*.
11785
12230
  #
11786
12231
  # You can use Amazon S3 restore speed upgrade to change the restore
11787
- # speed to a faster speed while it is in progress. You upgrade the speed
11788
- # of an in-progress restoration by issuing another restore request to
11789
- # the same object, setting a new `Tier` request element. When issuing a
11790
- # request to upgrade the restore tier, you must choose a tier that is
11791
- # faster than the tier that the in-progress restore is using. You must
11792
- # not change any other parameters, such as the `Days` request element.
11793
- # For more information, see [ Upgrading the Speed of an In-Progress
11794
- # Restore][9] in the *Amazon Simple Storage Service Developer Guide*.
12232
+ # speed to a faster speed while it is in progress. For more information,
12233
+ # see [ Upgrading the speed of an in-progress restore][9] in the *Amazon
12234
+ # Simple Storage Service Developer Guide*.
11795
12235
  #
11796
12236
  # To get the status of object restoration, you can send a `HEAD`
11797
12237
  # request. Operations return the `x-amz-restore` header, which provides
@@ -11822,11 +12262,11 @@ module Aws::S3
11822
12262
  # A successful operation returns either the `200 OK` or `202 Accepted`
11823
12263
  # status code.
11824
12264
  #
11825
- # * If the object copy is not previously restored, then Amazon S3
11826
- # returns `202 Accepted` in the response.
12265
+ # * If the object is not previously restored, then Amazon S3 returns
12266
+ # `202 Accepted` in the response.
11827
12267
  #
11828
- # * If the object copy is previously restored, Amazon S3 returns `200
11829
- # OK` in the response.
12268
+ # * If the object is previously restored, Amazon S3 returns `200 OK` in
12269
+ # the response.
11830
12270
  #
11831
12271
  # **Special Errors**
11832
12272
  #
@@ -11841,11 +12281,10 @@ module Aws::S3
11841
12281
  #
11842
12282
  # * * *Code: GlacierExpeditedRetrievalNotAvailable*
11843
12283
  #
11844
- # * *Cause: S3 Glacier expedited retrievals are currently not
11845
- # available. Try again later. (Returned if there is insufficient
11846
- # capacity to process the Expedited request. This error applies only
11847
- # to Expedited retrievals and not to S3 Standard or Bulk
11848
- # retrievals.)*
12284
+ # * *Cause: expedited retrievals are currently not available. Try
12285
+ # again later. (Returned if there is insufficient capacity to
12286
+ # process the Expedited request. This error applies only to
12287
+ # Expedited retrievals and not to S3 Standard or Bulk retrievals.)*
11849
12288
  #
11850
12289
  # * *HTTP Status Code: 503*
11851
12290
  #
@@ -11877,7 +12316,7 @@ module Aws::S3
11877
12316
  # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html
11878
12317
  #
11879
12318
  # @option params [required, String] :bucket
11880
- # The bucket name or containing the object to restore.
12319
+ # The bucket name containing the object to restore.
11881
12320
  #
11882
12321
  # When using this API with an access point, you must direct requests to
11883
12322
  # the access point hostname. The access point hostname takes the form
@@ -12671,6 +13110,7 @@ module Aws::S3
12671
13110
  # * {Types::UploadPartOutput#sse_customer_algorithm #sse_customer_algorithm} => String
12672
13111
  # * {Types::UploadPartOutput#sse_customer_key_md5 #sse_customer_key_md5} => String
12673
13112
  # * {Types::UploadPartOutput#ssekms_key_id #ssekms_key_id} => String
13113
+ # * {Types::UploadPartOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
12674
13114
  # * {Types::UploadPartOutput#request_charged #request_charged} => String
12675
13115
  #
12676
13116
  #
@@ -12716,6 +13156,7 @@ module Aws::S3
12716
13156
  # resp.sse_customer_algorithm #=> String
12717
13157
  # resp.sse_customer_key_md5 #=> String
12718
13158
  # resp.ssekms_key_id #=> String
13159
+ # resp.bucket_key_enabled #=> Boolean
12719
13160
  # resp.request_charged #=> String, one of "requester"
12720
13161
  #
12721
13162
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart AWS API Documentation
@@ -13021,6 +13462,7 @@ module Aws::S3
13021
13462
  # * {Types::UploadPartCopyOutput#sse_customer_algorithm #sse_customer_algorithm} => String
13022
13463
  # * {Types::UploadPartCopyOutput#sse_customer_key_md5 #sse_customer_key_md5} => String
13023
13464
  # * {Types::UploadPartCopyOutput#ssekms_key_id #ssekms_key_id} => String
13465
+ # * {Types::UploadPartCopyOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
13024
13466
  # * {Types::UploadPartCopyOutput#request_charged #request_charged} => String
13025
13467
  #
13026
13468
  #
@@ -13099,6 +13541,7 @@ module Aws::S3
13099
13541
  # resp.sse_customer_algorithm #=> String
13100
13542
  # resp.sse_customer_key_md5 #=> String
13101
13543
  # resp.ssekms_key_id #=> String
13544
+ # resp.bucket_key_enabled #=> Boolean
13102
13545
  # resp.request_charged #=> String, one of "requester"
13103
13546
  #
13104
13547
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy AWS API Documentation
@@ -13123,7 +13566,7 @@ module Aws::S3
13123
13566
  params: params,
13124
13567
  config: config)
13125
13568
  context[:gem_name] = 'aws-sdk-s3'
13126
- context[:gem_version] = '1.83.1'
13569
+ context[:gem_version] = '1.87.0'
13127
13570
  Seahorse::Client::Request.new(handlers, context)
13128
13571
  end
13129
13572