aws-sdk-s3 1.88.1 → 1.114.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +903 -0
  3. data/LICENSE.txt +202 -0
  4. data/VERSION +1 -0
  5. data/lib/aws-sdk-s3/arn/access_point_arn.rb +14 -11
  6. data/lib/aws-sdk-s3/arn/multi_region_access_point_arn.rb +68 -0
  7. data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +69 -0
  8. data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +9 -10
  9. data/lib/aws-sdk-s3/bucket.rb +144 -46
  10. data/lib/aws-sdk-s3/bucket_acl.rb +27 -8
  11. data/lib/aws-sdk-s3/bucket_cors.rb +28 -11
  12. data/lib/aws-sdk-s3/bucket_lifecycle.rb +30 -11
  13. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +31 -9
  14. data/lib/aws-sdk-s3/bucket_logging.rb +24 -8
  15. data/lib/aws-sdk-s3/bucket_notification.rb +21 -9
  16. data/lib/aws-sdk-s3/bucket_policy.rb +26 -9
  17. data/lib/aws-sdk-s3/bucket_request_payment.rb +26 -10
  18. data/lib/aws-sdk-s3/bucket_tagging.rb +26 -9
  19. data/lib/aws-sdk-s3/bucket_versioning.rb +67 -16
  20. data/lib/aws-sdk-s3/bucket_website.rb +26 -9
  21. data/lib/aws-sdk-s3/client.rb +3624 -1853
  22. data/lib/aws-sdk-s3/client_api.rb +452 -22
  23. data/lib/aws-sdk-s3/customizations/bucket.rb +8 -3
  24. data/lib/aws-sdk-s3/customizations/object.rb +116 -18
  25. data/lib/aws-sdk-s3/encryption/client.rb +1 -1
  26. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +0 -4
  27. data/lib/aws-sdk-s3/encryptionV2/client.rb +1 -1
  28. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +0 -4
  29. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +0 -4
  30. data/lib/aws-sdk-s3/errors.rb +1 -1
  31. data/lib/aws-sdk-s3/event_streams.rb +1 -1
  32. data/lib/aws-sdk-s3/file_downloader.rb +7 -2
  33. data/lib/aws-sdk-s3/file_uploader.rb +8 -3
  34. data/lib/aws-sdk-s3/multipart_file_uploader.rb +26 -7
  35. data/lib/aws-sdk-s3/multipart_upload.rb +133 -19
  36. data/lib/aws-sdk-s3/multipart_upload_part.rb +141 -21
  37. data/lib/aws-sdk-s3/object.rb +391 -130
  38. data/lib/aws-sdk-s3/object_acl.rb +30 -11
  39. data/lib/aws-sdk-s3/object_summary.rb +243 -115
  40. data/lib/aws-sdk-s3/object_version.rb +80 -53
  41. data/lib/aws-sdk-s3/plugins/accelerate.rb +7 -1
  42. data/lib/aws-sdk-s3/plugins/arn.rb +91 -42
  43. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +1 -1
  44. data/lib/aws-sdk-s3/plugins/dualstack.rb +25 -31
  45. data/lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb +1 -1
  46. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +17 -10
  47. data/lib/aws-sdk-s3/plugins/md5s.rb +5 -3
  48. data/lib/aws-sdk-s3/plugins/object_lambda_endpoint.rb +25 -0
  49. data/lib/aws-sdk-s3/plugins/s3_signer.rb +41 -6
  50. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  51. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +23 -2
  52. data/lib/aws-sdk-s3/presigned_post.rb +38 -19
  53. data/lib/aws-sdk-s3/presigner.rb +19 -5
  54. data/lib/aws-sdk-s3/resource.rb +23 -3
  55. data/lib/aws-sdk-s3/types.rb +3775 -1304
  56. data/lib/aws-sdk-s3/waiters.rb +1 -1
  57. data/lib/aws-sdk-s3.rb +2 -2
  58. metadata +18 -12
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -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)
@@ -266,9 +286,9 @@ module Aws::S3
266
286
  # })
267
287
  # @param [Hash] options ({})
268
288
  # @option options [String] :expected_bucket_owner
269
- # 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.
289
+ # The account ID of the expected bucket owner. If the bucket is owned by
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
- # 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.
340
+ # The account ID of the expected bucket owner. If the bucket is owned by
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
@@ -456,7 +555,7 @@ module Aws::S3
456
555
  #
457
556
  # This action is not supported by Amazon S3 on Outposts.
458
557
  # @option options [required, String] :key
459
- # Object key for which the PUT operation was initiated.
558
+ # Object key for which the PUT action was initiated.
460
559
  # @option options [Hash<String,String>] :metadata
461
560
  # A map of metadata to store with the object in S3.
462
561
  # @option options [String] :server_side_encryption
@@ -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,34 +612,32 @@ 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).
533
630
  # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
534
631
  # for object encryption with SSE-KMS.
535
632
  #
536
- # Specifying this header with a PUT operation doesn’t affect
537
- # bucket-level settings for S3 Bucket Key.
633
+ # Specifying this header with a PUT action doesn’t affect bucket-level
634
+ # settings for S3 Bucket Key.
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].
@@ -560,9 +658,9 @@ module Aws::S3
560
658
  #
561
659
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
562
660
  # @option options [String] :expected_bucket_owner
563
- # 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.
661
+ # The account ID of the expected bucket owner. If the bucket is owned by
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)
@@ -668,9 +766,9 @@ module Aws::S3
668
766
  # list only if they have an upload ID lexicographically greater than the
669
767
  # specified `upload-id-marker`.
670
768
  # @option options [String] :expected_bucket_owner
671
- # 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.
769
+ # The account ID of the expected bucket owner. If the bucket is owned by
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|
@@ -748,9 +846,9 @@ module Aws::S3
748
846
  # @option options [String] :version_id_marker
749
847
  # Specifies the object version you want to start listing from.
750
848
  # @option options [String] :expected_bucket_owner
751
- # 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.
849
+ # The account ID of the expected bucket owner. If the bucket is owned by
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|
@@ -804,9 +902,9 @@ module Aws::S3
804
902
  # the list objects request in V2 style. Bucket owners need not specify
805
903
  # this parameter in their requests.
806
904
  # @option options [String] :expected_bucket_owner
807
- # 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.
905
+ # The account ID of the expected bucket owner. If the bucket is owned by
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|
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -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
- # 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.
262
+ # The account ID of the expected bucket owner. If the bucket is owned by
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)
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -182,9 +182,9 @@ module Aws::S3
182
182
  # })
183
183
  # @param [Hash] options ({})
184
184
  # @option options [String] :expected_bucket_owner
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.
185
+ # The account ID of the expected bucket owner. If the bucket is owned by
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)
@@ -198,6 +198,7 @@ module Aws::S3
198
198
  # cors_configuration: { # required
199
199
  # cors_rules: [ # required
200
200
  # {
201
+ # id: "ID",
201
202
  # allowed_headers: ["AllowedHeader"],
202
203
  # allowed_methods: ["AllowedMethod"], # required
203
204
  # allowed_origins: ["AllowedOrigin"], # required
@@ -207,14 +208,14 @@ module Aws::S3
207
208
  # ],
208
209
  # },
209
210
  # content_md5: "ContentMD5",
211
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
210
212
  # expected_bucket_owner: "AccountId",
211
213
  # })
212
214
  # @param [Hash] options ({})
213
215
  # @option options [required, Types::CORSConfiguration] :cors_configuration
214
216
  # Describes the cross-origin access configuration for objects in an
215
217
  # Amazon S3 bucket. For more information, see [Enabling Cross-Origin
216
- # Resource Sharing][1] in the *Amazon Simple Storage Service Developer
217
- # Guide*.
218
+ # Resource Sharing][1] in the *Amazon S3 User Guide*.
218
219
  #
219
220
  #
220
221
  #
@@ -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
- # 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.
251
+ # The account ID of the expected bucket owner. If the bucket is owned by
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)
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -181,9 +181,9 @@ module Aws::S3
181
181
  # })
182
182
  # @param [Hash] options ({})
183
183
  # @option options [String] :expected_bucket_owner
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.
184
+ # The account ID of the expected bucket owner. If the bucket is owned by
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
- # 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.
254
+ # The account ID of the expected bucket owner. If the bucket is owned by
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)
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -181,9 +181,9 @@ module Aws::S3
181
181
  # })
182
182
  # @param [Hash] options ({})
183
183
  # @option options [String] :expected_bucket_owner
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.
184
+ # The account ID of the expected bucket owner. If the bucket is owned by
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
- # 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.
274
+ # The account ID of the expected bucket owner. If the bucket is owned by
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)