aws-sdk-s3 1.83.1 → 1.87.0

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