aws-sdk-s3 1.92.0 → 1.114.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +167 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/arn/access_point_arn.rb +12 -9
  5. data/lib/aws-sdk-s3/arn/multi_region_access_point_arn.rb +68 -0
  6. data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +12 -9
  7. data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +8 -9
  8. data/lib/aws-sdk-s3/bucket.rb +134 -36
  9. data/lib/aws-sdk-s3/bucket_acl.rb +25 -6
  10. data/lib/aws-sdk-s3/bucket_cors.rb +23 -6
  11. data/lib/aws-sdk-s3/bucket_lifecycle.rb +27 -8
  12. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +28 -6
  13. data/lib/aws-sdk-s3/bucket_logging.rb +22 -6
  14. data/lib/aws-sdk-s3/bucket_notification.rb +19 -7
  15. data/lib/aws-sdk-s3/bucket_policy.rb +23 -6
  16. data/lib/aws-sdk-s3/bucket_request_payment.rb +21 -4
  17. data/lib/aws-sdk-s3/bucket_tagging.rb +23 -6
  18. data/lib/aws-sdk-s3/bucket_versioning.rb +63 -12
  19. data/lib/aws-sdk-s3/bucket_website.rb +23 -6
  20. data/lib/aws-sdk-s3/client.rb +2902 -1449
  21. data/lib/aws-sdk-s3/client_api.rb +390 -21
  22. data/lib/aws-sdk-s3/customizations/object.rb +107 -15
  23. data/lib/aws-sdk-s3/encryption/client.rb +1 -1
  24. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +0 -4
  25. data/lib/aws-sdk-s3/encryptionV2/client.rb +1 -1
  26. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +0 -4
  27. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +0 -4
  28. data/lib/aws-sdk-s3/file_downloader.rb +7 -2
  29. data/lib/aws-sdk-s3/file_uploader.rb +8 -3
  30. data/lib/aws-sdk-s3/multipart_file_uploader.rb +26 -7
  31. data/lib/aws-sdk-s3/multipart_upload.rb +129 -15
  32. data/lib/aws-sdk-s3/multipart_upload_part.rb +136 -16
  33. data/lib/aws-sdk-s3/object.rb +369 -108
  34. data/lib/aws-sdk-s3/object_acl.rb +28 -9
  35. data/lib/aws-sdk-s3/object_summary.rb +221 -93
  36. data/lib/aws-sdk-s3/object_version.rb +70 -43
  37. data/lib/aws-sdk-s3/plugins/accelerate.rb +7 -1
  38. data/lib/aws-sdk-s3/plugins/arn.rb +72 -30
  39. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +1 -1
  40. data/lib/aws-sdk-s3/plugins/dualstack.rb +25 -31
  41. data/lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb +1 -1
  42. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +6 -0
  43. data/lib/aws-sdk-s3/plugins/md5s.rb +5 -3
  44. data/lib/aws-sdk-s3/plugins/s3_signer.rb +35 -6
  45. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  46. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +23 -2
  47. data/lib/aws-sdk-s3/presigned_post.rb +38 -19
  48. data/lib/aws-sdk-s3/presigner.rb +18 -3
  49. data/lib/aws-sdk-s3/resource.rb +22 -2
  50. data/lib/aws-sdk-s3/types.rb +3041 -1015
  51. data/lib/aws-sdk-s3.rb +1 -1
  52. metadata +12 -11
@@ -231,6 +231,7 @@ module Aws::S3
231
231
  # grant_write: "GrantWrite",
232
232
  # grant_write_acp: "GrantWriteACP",
233
233
  # object_lock_enabled_for_bucket: false,
234
+ # object_ownership: "BucketOwnerPreferred", # accepts BucketOwnerPreferred, ObjectWriter, BucketOwnerEnforced
234
235
  # })
235
236
  # @param [Hash] options ({})
236
237
  # @option options [String] :acl
@@ -245,13 +246,32 @@ module Aws::S3
245
246
  # @option options [String] :grant_read_acp
246
247
  # Allows grantee to read the bucket ACL.
247
248
  # @option options [String] :grant_write
248
- # Allows grantee to create, overwrite, and delete any object in the
249
- # bucket.
249
+ # Allows grantee to create new objects in the bucket.
250
+ #
251
+ # For the bucket and object owners of existing objects, also allows
252
+ # deletions and overwrites of those objects.
250
253
  # @option options [String] :grant_write_acp
251
254
  # Allows grantee to write the ACL for the applicable bucket.
252
255
  # @option options [Boolean] :object_lock_enabled_for_bucket
253
256
  # Specifies whether you want S3 Object Lock to be enabled for the new
254
257
  # bucket.
258
+ # @option options [String] :object_ownership
259
+ # The container element for object ownership for a bucket's ownership
260
+ # controls.
261
+ #
262
+ # BucketOwnerPreferred - Objects uploaded to the bucket change ownership
263
+ # to the bucket owner if the objects are uploaded with the
264
+ # `bucket-owner-full-control` canned ACL.
265
+ #
266
+ # ObjectWriter - The uploading account will own the object if the object
267
+ # is uploaded with the `bucket-owner-full-control` canned ACL.
268
+ #
269
+ # BucketOwnerEnforced - Access control lists (ACLs) are disabled and no
270
+ # longer affect permissions. The bucket owner automatically owns and has
271
+ # full control over every object in the bucket. The bucket only accepts
272
+ # PUT requests that don't specify an ACL or bucket owner full control
273
+ # ACLs, such as the `bucket-owner-full-control` canned ACL or an
274
+ # equivalent form of this ACL expressed in the XML format.
255
275
  # @return [Types::CreateBucketOutput]
256
276
  def create(options = {})
257
277
  options = options.merge(bucket: @name)
@@ -267,8 +287,8 @@ module Aws::S3
267
287
  # @param [Hash] options ({})
268
288
  # @option options [String] :expected_bucket_owner
269
289
  # The account ID of the expected bucket owner. If the bucket is owned by
270
- # a different account, the request will fail with an HTTP `403 (Access
271
- # Denied)` error.
290
+ # a different account, the request fails with the HTTP status code `403
291
+ # Forbidden` (access denied).
272
292
  # @return [EmptyStructure]
273
293
  def delete(options = {})
274
294
  options = options.merge(bucket: @name)
@@ -292,6 +312,7 @@ module Aws::S3
292
312
  # request_payer: "requester", # accepts requester
293
313
  # bypass_governance_retention: false,
294
314
  # expected_bucket_owner: "AccountId",
315
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
295
316
  # })
296
317
  # @param [Hash] options ({})
297
318
  # @option options [required, Types::Delete] :delete
@@ -304,21 +325,39 @@ module Aws::S3
304
325
  # @option options [String] :request_payer
305
326
  # Confirms that the requester knows that they will be charged for the
306
327
  # request. Bucket owners need not specify this parameter in their
307
- # requests. For information about downloading objects from requester
308
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
309
- # in the *Amazon S3 Developer Guide*.
328
+ # requests. For information about downloading objects from Requester
329
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
330
+ # in the *Amazon S3 User Guide*.
310
331
  #
311
332
  #
312
333
  #
313
334
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
314
335
  # @option options [Boolean] :bypass_governance_retention
315
336
  # Specifies whether you want to delete this object even if it has a
316
- # Governance-type Object Lock in place. You must have sufficient
317
- # permissions to perform this operation.
337
+ # Governance-type Object Lock in place. To use this header, you must
338
+ # have the `s3:BypassGovernanceRetention` permission.
318
339
  # @option options [String] :expected_bucket_owner
319
340
  # The account ID of the expected bucket owner. If the bucket is owned by
320
- # a different account, the request will fail with an HTTP `403 (Access
321
- # Denied)` error.
341
+ # a different account, the request fails with the HTTP status code `403
342
+ # Forbidden` (access denied).
343
+ # @option options [String] :checksum_algorithm
344
+ # Indicates the algorithm used to create the checksum for the object
345
+ # when using the SDK. This header will not provide any additional
346
+ # functionality if not using the SDK. When sending this header, there
347
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
348
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
349
+ # `400 Bad Request`. For more information, see [Checking object
350
+ # integrity][1] in the *Amazon S3 User Guide*.
351
+ #
352
+ # If you provide an individual checksum, Amazon S3 ignores any provided
353
+ # `ChecksumAlgorithm` parameter.
354
+ #
355
+ # This checksum algorithm must be the same for all parts and it match
356
+ # the checksum value supplied in the `CreateMultipartUpload` request.
357
+ #
358
+ #
359
+ #
360
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
322
361
  # @return [Types::DeleteObjectsOutput]
323
362
  def delete_objects(options = {})
324
363
  options = options.merge(bucket: @name)
@@ -338,6 +377,11 @@ module Aws::S3
338
377
  # content_length: 1,
339
378
  # content_md5: "ContentMD5",
340
379
  # content_type: "ContentType",
380
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
381
+ # checksum_crc32: "ChecksumCRC32",
382
+ # checksum_crc32c: "ChecksumCRC32C",
383
+ # checksum_sha1: "ChecksumSHA1",
384
+ # checksum_sha256: "ChecksumSHA256",
341
385
  # expires: Time.now,
342
386
  # grant_full_control: "GrantFullControl",
343
387
  # grant_read: "GrantRead",
@@ -348,7 +392,7 @@ module Aws::S3
348
392
  # "MetadataKey" => "MetadataValue",
349
393
  # },
350
394
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
351
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
395
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
352
396
  # website_redirect_location: "WebsiteRedirectLocation",
353
397
  # sse_customer_algorithm: "SSECustomerAlgorithm",
354
398
  # sse_customer_key: "SSECustomerKey",
@@ -430,6 +474,61 @@ module Aws::S3
430
474
  #
431
475
  #
432
476
  # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
477
+ # @option options [String] :checksum_algorithm
478
+ # Indicates the algorithm used to create the checksum for the object
479
+ # when using the SDK. This header will not provide any additional
480
+ # functionality if not using the SDK. When sending this header, there
481
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
482
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
483
+ # `400 Bad Request`. For more information, see [Checking object
484
+ # integrity][1] in the *Amazon S3 User Guide*.
485
+ #
486
+ # If you provide an individual checksum, Amazon S3 ignores any provided
487
+ # `ChecksumAlgorithm` parameter.
488
+ #
489
+ #
490
+ #
491
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
492
+ # @option options [String] :checksum_crc32
493
+ # This header can be used as a data integrity check to verify that the
494
+ # data received is the same data that was originally sent. This header
495
+ # specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
496
+ # more information, see [Checking object integrity][1] in the *Amazon S3
497
+ # User Guide*.
498
+ #
499
+ #
500
+ #
501
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
502
+ # @option options [String] :checksum_crc32c
503
+ # This header can be used as a data integrity check to verify that the
504
+ # data received is the same data that was originally sent. This header
505
+ # specifies the base64-encoded, 32-bit CRC32C checksum of the object.
506
+ # For more information, see [Checking object integrity][1] in the
507
+ # *Amazon S3 User Guide*.
508
+ #
509
+ #
510
+ #
511
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
512
+ # @option options [String] :checksum_sha1
513
+ # This header can be used as a data integrity check to verify that the
514
+ # data received is the same data that was originally sent. This header
515
+ # specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
516
+ # more information, see [Checking object integrity][1] in the *Amazon S3
517
+ # User Guide*.
518
+ #
519
+ #
520
+ #
521
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
522
+ # @option options [String] :checksum_sha256
523
+ # This header can be used as a data integrity check to verify that the
524
+ # data received is the same data that was originally sent. This header
525
+ # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
526
+ # For more information, see [Checking object integrity][1] in the
527
+ # *Amazon S3 User Guide*.
528
+ #
529
+ #
530
+ #
531
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
433
532
  # @option options [Time,DateTime,Date,Integer,String] :expires
434
533
  # The date and time at which the object is no longer cacheable. For more
435
534
  # information, see
@@ -468,7 +567,7 @@ module Aws::S3
468
567
  # and high availability. Depending on performance needs, you can specify
469
568
  # a different Storage Class. Amazon S3 on Outposts only uses the
470
569
  # OUTPOSTS Storage Class. For more information, see [Storage Classes][1]
471
- # in the *Amazon S3 Service Developer Guide*.
570
+ # in the *Amazon S3 User Guide*.
472
571
  #
473
572
  #
474
573
  #
@@ -513,20 +612,18 @@ module Aws::S3
513
612
  # ensure that the encryption key was transmitted without error.
514
613
  # @option options [String] :ssekms_key_id
515
614
  # If `x-amz-server-side-encryption` is present and has the value of
516
- # `aws:kms`, this header specifies the ID of the AWS Key Management
517
- # Service (AWS KMS) symmetrical customer managed customer master key
518
- # (CMK) that was used for the object.
519
- #
520
- # If the value of `x-amz-server-side-encryption` is `aws:kms`, this
521
- # header specifies the ID of the symmetric customer managed AWS KMS CMK
522
- # that will be used for the object. If you specify
615
+ # `aws:kms`, this header specifies the ID of the Amazon Web Services Key
616
+ # Management Service (Amazon Web Services KMS) symmetrical customer
617
+ # managed key that was used for the object. If you specify
523
618
  # `x-amz-server-side-encryption:aws:kms`, but do not provide`
524
- # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the AWS
525
- # managed CMK in AWS to protect the data.
619
+ # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
620
+ # Amazon Web Services managed key to protect the data. If the KMS key
621
+ # does not exist in the same account issuing the command, you must use
622
+ # the full ARN and not just the ID.
526
623
  # @option options [String] :ssekms_encryption_context
527
- # Specifies the AWS KMS Encryption Context to use for object encryption.
528
- # The value of this header is a base64-encoded UTF-8 string holding JSON
529
- # with the encryption context key-value pairs.
624
+ # Specifies the Amazon Web Services KMS Encryption Context to use for
625
+ # object encryption. The value of this header is a base64-encoded UTF-8
626
+ # string holding JSON with the encryption context key-value pairs.
530
627
  # @option options [Boolean] :bucket_key_enabled
531
628
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
532
629
  # encryption with server-side encryption using AWS KMS (SSE-KMS).
@@ -538,9 +635,9 @@ module Aws::S3
538
635
  # @option options [String] :request_payer
539
636
  # Confirms that the requester knows that they will be charged for the
540
637
  # request. Bucket owners need not specify this parameter in their
541
- # requests. For information about downloading objects from requester
542
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
543
- # in the *Amazon S3 Developer Guide*.
638
+ # requests. For information about downloading objects from Requester
639
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
640
+ # in the *Amazon S3 User Guide*.
544
641
  #
545
642
  #
546
643
  #
@@ -552,6 +649,7 @@ module Aws::S3
552
649
  # The Object Lock mode that you want to apply to this object.
553
650
  # @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
554
651
  # The date and time when you want this object's Object Lock to expire.
652
+ # Must be formatted as a timestamp parameter.
555
653
  # @option options [String] :object_lock_legal_hold_status
556
654
  # Specifies whether a legal hold will be applied to this object. For
557
655
  # more information about S3 Object Lock, see [Object Lock][1].
@@ -561,8 +659,8 @@ module Aws::S3
561
659
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
562
660
  # @option options [String] :expected_bucket_owner
563
661
  # The account ID of the expected bucket owner. If the bucket is owned by
564
- # a different account, the request will fail with an HTTP `403 (Access
565
- # Denied)` error.
662
+ # a different account, the request fails with the HTTP status code `403
663
+ # Forbidden` (access denied).
566
664
  # @return [Object]
567
665
  def put_object(options = {})
568
666
  options = options.merge(bucket: @name)
@@ -669,8 +767,8 @@ module Aws::S3
669
767
  # specified `upload-id-marker`.
670
768
  # @option options [String] :expected_bucket_owner
671
769
  # The account ID of the expected bucket owner. If the bucket is owned by
672
- # a different account, the request will fail with an HTTP `403 (Access
673
- # Denied)` error.
770
+ # a different account, the request fails with the HTTP status code `403
771
+ # Forbidden` (access denied).
674
772
  # @return [MultipartUpload::Collection]
675
773
  def multipart_uploads(options = {})
676
774
  batches = Enumerator.new do |y|
@@ -749,8 +847,8 @@ module Aws::S3
749
847
  # Specifies the object version you want to start listing from.
750
848
  # @option options [String] :expected_bucket_owner
751
849
  # The account ID of the expected bucket owner. If the bucket is owned by
752
- # a different account, the request will fail with an HTTP `403 (Access
753
- # Denied)` error.
850
+ # a different account, the request fails with the HTTP status code `403
851
+ # Forbidden` (access denied).
754
852
  # @return [ObjectVersion::Collection]
755
853
  def object_versions(options = {})
756
854
  batches = Enumerator.new do |y|
@@ -805,8 +903,8 @@ module Aws::S3
805
903
  # this parameter in their requests.
806
904
  # @option options [String] :expected_bucket_owner
807
905
  # The account ID of the expected bucket owner. If the bucket is owned by
808
- # a different account, the request will fail with an HTTP `403 (Access
809
- # Denied)` error.
906
+ # a different account, the request fails with the HTTP status code `403
907
+ # Forbidden` (access denied).
810
908
  # @return [ObjectSummary::Collection]
811
909
  def objects(options = {})
812
910
  batches = Enumerator.new do |y|
@@ -203,6 +203,7 @@ module Aws::S3
203
203
  # },
204
204
  # },
205
205
  # content_md5: "ContentMD5",
206
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
206
207
  # grant_full_control: "GrantFullControl",
207
208
  # grant_read: "GrantRead",
208
209
  # grant_read_acp: "GrantReadACP",
@@ -221,12 +222,28 @@ module Aws::S3
221
222
  # used as a message integrity check to verify that the request body was
222
223
  # not corrupted in transit. For more information, go to [RFC 1864.][1]
223
224
  #
224
- # For requests made using the AWS Command Line Interface (CLI) or AWS
225
- # SDKs, this field is calculated automatically.
225
+ # For requests made using the Amazon Web Services Command Line Interface
226
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
227
+ # automatically.
226
228
  #
227
229
  #
228
230
  #
229
231
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
232
+ # @option options [String] :checksum_algorithm
233
+ # Indicates the algorithm used to create the checksum for the object
234
+ # when using the SDK. This header will not provide any additional
235
+ # functionality if not using the SDK. When sending this header, there
236
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
237
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
238
+ # `400 Bad Request`. For more information, see [Checking object
239
+ # integrity][1] in the *Amazon S3 User Guide*.
240
+ #
241
+ # If you provide an individual checksum, Amazon S3 ignores any provided
242
+ # `ChecksumAlgorithm` parameter.
243
+ #
244
+ #
245
+ #
246
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
230
247
  # @option options [String] :grant_full_control
231
248
  # Allows grantee the read, write, read ACP, and write ACP permissions on
232
249
  # the bucket.
@@ -235,14 +252,16 @@ module Aws::S3
235
252
  # @option options [String] :grant_read_acp
236
253
  # Allows grantee to read the bucket ACL.
237
254
  # @option options [String] :grant_write
238
- # Allows grantee to create, overwrite, and delete any object in the
239
- # bucket.
255
+ # Allows grantee to create new objects in the bucket.
256
+ #
257
+ # For the bucket and object owners of existing objects, also allows
258
+ # deletions and overwrites of those objects.
240
259
  # @option options [String] :grant_write_acp
241
260
  # Allows grantee to write the ACL for the applicable bucket.
242
261
  # @option options [String] :expected_bucket_owner
243
262
  # The account ID of the expected bucket owner. If the bucket is owned by
244
- # a different account, the request will fail with an HTTP `403 (Access
245
- # Denied)` error.
263
+ # a different account, the request fails with the HTTP status code `403
264
+ # Forbidden` (access denied).
246
265
  # @return [EmptyStructure]
247
266
  def put(options = {})
248
267
  options = options.merge(bucket: @bucket_name)
@@ -183,8 +183,8 @@ module Aws::S3
183
183
  # @param [Hash] options ({})
184
184
  # @option options [String] :expected_bucket_owner
185
185
  # The account ID of the expected bucket owner. If the bucket is owned by
186
- # a different account, the request will fail with an HTTP `403 (Access
187
- # Denied)` error.
186
+ # a different account, the request fails with the HTTP status code `403
187
+ # Forbidden` (access denied).
188
188
  # @return [EmptyStructure]
189
189
  def delete(options = {})
190
190
  options = options.merge(bucket: @bucket_name)
@@ -208,6 +208,7 @@ module Aws::S3
208
208
  # ],
209
209
  # },
210
210
  # content_md5: "ContentMD5",
211
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
211
212
  # expected_bucket_owner: "AccountId",
212
213
  # })
213
214
  # @param [Hash] options ({})
@@ -224,16 +225,32 @@ module Aws::S3
224
225
  # used as a message integrity check to verify that the request body was
225
226
  # not corrupted in transit. For more information, go to [RFC 1864.][1]
226
227
  #
227
- # For requests made using the AWS Command Line Interface (CLI) or AWS
228
- # SDKs, this field is calculated automatically.
228
+ # For requests made using the Amazon Web Services Command Line Interface
229
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
230
+ # automatically.
229
231
  #
230
232
  #
231
233
  #
232
234
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
235
+ # @option options [String] :checksum_algorithm
236
+ # Indicates the algorithm used to create the checksum for the object
237
+ # when using the SDK. This header will not provide any additional
238
+ # functionality if not using the SDK. When sending this header, there
239
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
240
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
241
+ # `400 Bad Request`. For more information, see [Checking object
242
+ # integrity][1] in the *Amazon S3 User Guide*.
243
+ #
244
+ # If you provide an individual checksum, Amazon S3 ignores any provided
245
+ # `ChecksumAlgorithm` parameter.
246
+ #
247
+ #
248
+ #
249
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
233
250
  # @option options [String] :expected_bucket_owner
234
251
  # The account ID of the expected bucket owner. If the bucket is owned by
235
- # a different account, the request will fail with an HTTP `403 (Access
236
- # Denied)` error.
252
+ # a different account, the request fails with the HTTP status code `403
253
+ # Forbidden` (access denied).
237
254
  # @return [EmptyStructure]
238
255
  def put(options = {})
239
256
  options = options.merge(bucket: @bucket_name)
@@ -182,8 +182,8 @@ module Aws::S3
182
182
  # @param [Hash] options ({})
183
183
  # @option options [String] :expected_bucket_owner
184
184
  # The account ID of the expected bucket owner. If the bucket is owned by
185
- # a different account, the request will fail with an HTTP `403 (Access
186
- # Denied)` error.
185
+ # a different account, the request fails with the HTTP status code `403
186
+ # Forbidden` (access denied).
187
187
  # @return [EmptyStructure]
188
188
  def delete(options = {})
189
189
  options = options.merge(bucket: @bucket_name)
@@ -195,6 +195,7 @@ module Aws::S3
195
195
  #
196
196
  # bucket_lifecycle.put({
197
197
  # content_md5: "ContentMD5",
198
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
198
199
  # lifecycle_configuration: {
199
200
  # rules: [ # required
200
201
  # {
@@ -209,14 +210,16 @@ module Aws::S3
209
210
  # transition: {
210
211
  # date: Time.now,
211
212
  # days: 1,
212
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
213
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE, GLACIER_IR
213
214
  # },
214
215
  # noncurrent_version_transition: {
215
216
  # noncurrent_days: 1,
216
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
217
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE, GLACIER_IR
218
+ # newer_noncurrent_versions: 1,
217
219
  # },
218
220
  # noncurrent_version_expiration: {
219
221
  # noncurrent_days: 1,
222
+ # newer_noncurrent_versions: 1,
220
223
  # },
221
224
  # abort_incomplete_multipart_upload: {
222
225
  # days_after_initiation: 1,
@@ -228,13 +231,29 @@ module Aws::S3
228
231
  # })
229
232
  # @param [Hash] options ({})
230
233
  # @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.
234
+ # For requests made using the Amazon Web Services Command Line Interface
235
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
236
+ # automatically.
237
+ # @option options [String] :checksum_algorithm
238
+ # Indicates the algorithm used to create the checksum for the object
239
+ # when using the SDK. This header will not provide any additional
240
+ # functionality if not using the SDK. When sending this header, there
241
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
242
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
243
+ # `400 Bad Request`. For more information, see [Checking object
244
+ # integrity][1] in the *Amazon S3 User Guide*.
245
+ #
246
+ # If you provide an individual checksum, Amazon S3 ignores any provided
247
+ # `ChecksumAlgorithm` parameter.
248
+ #
249
+ #
250
+ #
251
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
233
252
  # @option options [Types::LifecycleConfiguration] :lifecycle_configuration
234
253
  # @option options [String] :expected_bucket_owner
235
254
  # The account ID of the expected bucket owner. If the bucket is owned by
236
- # a different account, the request will fail with an HTTP `403 (Access
237
- # Denied)` error.
255
+ # a different account, the request fails with the HTTP status code `403
256
+ # Forbidden` (access denied).
238
257
  # @return [EmptyStructure]
239
258
  def put(options = {})
240
259
  options = options.merge(bucket: @bucket_name)
@@ -182,8 +182,8 @@ module Aws::S3
182
182
  # @param [Hash] options ({})
183
183
  # @option options [String] :expected_bucket_owner
184
184
  # The account ID of the expected bucket owner. If the bucket is owned by
185
- # a different account, the request will fail with an HTTP `403 (Access
186
- # Denied)` error.
185
+ # a different account, the request fails with the HTTP status code `403
186
+ # Forbidden` (access denied).
187
187
  # @return [EmptyStructure]
188
188
  def delete(options = {})
189
189
  options = options.merge(bucket: @bucket_name)
@@ -194,6 +194,7 @@ module Aws::S3
194
194
  # @example Request syntax with placeholder values
195
195
  #
196
196
  # bucket_lifecycle_configuration.put({
197
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
197
198
  # lifecycle_configuration: {
198
199
  # rules: [ # required
199
200
  # {
@@ -210,6 +211,8 @@ module Aws::S3
210
211
  # key: "ObjectKey", # required
211
212
  # value: "Value", # required
212
213
  # },
214
+ # object_size_greater_than: 1,
215
+ # object_size_less_than: 1,
213
216
  # and: {
214
217
  # prefix: "Prefix",
215
218
  # tags: [
@@ -218,6 +221,8 @@ module Aws::S3
218
221
  # value: "Value", # required
219
222
  # },
220
223
  # ],
224
+ # object_size_greater_than: 1,
225
+ # object_size_less_than: 1,
221
226
  # },
222
227
  # },
223
228
  # status: "Enabled", # required, accepts Enabled, Disabled
@@ -225,17 +230,19 @@ module Aws::S3
225
230
  # {
226
231
  # date: Time.now,
227
232
  # days: 1,
228
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
233
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE, GLACIER_IR
229
234
  # },
230
235
  # ],
231
236
  # noncurrent_version_transitions: [
232
237
  # {
233
238
  # noncurrent_days: 1,
234
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
239
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE, GLACIER_IR
240
+ # newer_noncurrent_versions: 1,
235
241
  # },
236
242
  # ],
237
243
  # noncurrent_version_expiration: {
238
244
  # noncurrent_days: 1,
245
+ # newer_noncurrent_versions: 1,
239
246
  # },
240
247
  # abort_incomplete_multipart_upload: {
241
248
  # days_after_initiation: 1,
@@ -246,12 +253,27 @@ module Aws::S3
246
253
  # expected_bucket_owner: "AccountId",
247
254
  # })
248
255
  # @param [Hash] options ({})
256
+ # @option options [String] :checksum_algorithm
257
+ # Indicates the algorithm used to create the checksum for the object
258
+ # when using the SDK. This header will not provide any additional
259
+ # functionality if not using the SDK. When sending this header, there
260
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
261
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
262
+ # `400 Bad Request`. For more information, see [Checking object
263
+ # integrity][1] in the *Amazon S3 User Guide*.
264
+ #
265
+ # If you provide an individual checksum, Amazon S3 ignores any provided
266
+ # `ChecksumAlgorithm` parameter.
267
+ #
268
+ #
269
+ #
270
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
249
271
  # @option options [Types::BucketLifecycleConfiguration] :lifecycle_configuration
250
272
  # Container for lifecycle rules. You can add as many as 1,000 rules.
251
273
  # @option options [String] :expected_bucket_owner
252
274
  # The account ID of the expected bucket owner. If the bucket is owned by
253
- # a different account, the request will fail with an HTTP `403 (Access
254
- # Denied)` error.
275
+ # a different account, the request fails with the HTTP status code `403
276
+ # Forbidden` (access denied).
255
277
  # @return [EmptyStructure]
256
278
  def put(options = {})
257
279
  options = options.merge(bucket: @bucket_name)
@@ -36,8 +36,7 @@ module Aws::S3
36
36
 
37
37
  # Describes where logs are stored and the prefix that Amazon S3 assigns
38
38
  # to all log object keys for a bucket. For more information, see [PUT
39
- # Bucket logging][1] in the *Amazon Simple Storage Service API
40
- # Reference*.
39
+ # Bucket logging][1] in the *Amazon S3 API Reference*.
41
40
  #
42
41
  #
43
42
  #
@@ -203,6 +202,7 @@ module Aws::S3
203
202
  # },
204
203
  # },
205
204
  # content_md5: "ContentMD5",
205
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
206
206
  # expected_bucket_owner: "AccountId",
207
207
  # })
208
208
  # @param [Hash] options ({})
@@ -211,12 +211,28 @@ module Aws::S3
211
211
  # @option options [String] :content_md5
212
212
  # The MD5 hash of the `PutBucketLogging` request body.
213
213
  #
214
- # For requests made using the AWS Command Line Interface (CLI) or AWS
215
- # SDKs, this field is calculated automatically.
214
+ # For requests made using the Amazon Web Services Command Line Interface
215
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
216
+ # automatically.
217
+ # @option options [String] :checksum_algorithm
218
+ # Indicates the algorithm used to create the checksum for the object
219
+ # when using the SDK. This header will not provide any additional
220
+ # functionality if not using the SDK. When sending this header, there
221
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
222
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
223
+ # `400 Bad Request`. For more information, see [Checking object
224
+ # integrity][1] in the *Amazon S3 User Guide*.
225
+ #
226
+ # If you provide an individual checksum, Amazon S3 ignores any provided
227
+ # `ChecksumAlgorithm` parameter.
228
+ #
229
+ #
230
+ #
231
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
216
232
  # @option options [String] :expected_bucket_owner
217
233
  # The account ID of the expected bucket owner. If the bucket is owned by
218
- # a different account, the request will fail with an HTTP `403 (Access
219
- # Denied)` error.
234
+ # a different account, the request fails with the HTTP status code `403
235
+ # Forbidden` (access denied).
220
236
  # @return [EmptyStructure]
221
237
  def put(options = {})
222
238
  options = options.merge(bucket: @bucket_name)