aws-sdk-s3 1.80.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 (64) 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 +69 -0
  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 +74 -0
  9. data/lib/aws-sdk-s3/bucket.rb +172 -46
  10. data/lib/aws-sdk-s3/bucket_acl.rb +28 -6
  11. data/lib/aws-sdk-s3/bucket_cors.rb +29 -9
  12. data/lib/aws-sdk-s3/bucket_lifecycle.rb +30 -9
  13. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +31 -9
  14. data/lib/aws-sdk-s3/bucket_logging.rb +25 -6
  15. data/lib/aws-sdk-s3/bucket_notification.rb +21 -9
  16. data/lib/aws-sdk-s3/bucket_policy.rb +27 -7
  17. data/lib/aws-sdk-s3/bucket_request_payment.rb +27 -8
  18. data/lib/aws-sdk-s3/bucket_tagging.rb +27 -7
  19. data/lib/aws-sdk-s3/bucket_versioning.rb +70 -10
  20. data/lib/aws-sdk-s3/bucket_website.rb +27 -7
  21. data/lib/aws-sdk-s3/client.rb +4415 -1650
  22. data/lib/aws-sdk-s3/client_api.rb +661 -41
  23. data/lib/aws-sdk-s3/customizations/bucket.rb +15 -7
  24. data/lib/aws-sdk-s3/customizations/object.rb +120 -21
  25. data/lib/aws-sdk-s3/customizations.rb +1 -1
  26. data/lib/aws-sdk-s3/encryption/client.rb +1 -1
  27. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +0 -4
  28. data/lib/aws-sdk-s3/encryptionV2/client.rb +1 -1
  29. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +0 -4
  30. data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +3 -3
  31. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +0 -4
  32. data/lib/aws-sdk-s3/errors.rb +22 -1
  33. data/lib/aws-sdk-s3/event_streams.rb +1 -1
  34. data/lib/aws-sdk-s3/file_downloader.rb +7 -2
  35. data/lib/aws-sdk-s3/file_uploader.rb +9 -4
  36. data/lib/aws-sdk-s3/legacy_signer.rb +15 -25
  37. data/lib/aws-sdk-s3/multipart_file_uploader.rb +26 -7
  38. data/lib/aws-sdk-s3/multipart_upload.rb +133 -19
  39. data/lib/aws-sdk-s3/multipart_upload_part.rb +152 -23
  40. data/lib/aws-sdk-s3/object.rb +501 -126
  41. data/lib/aws-sdk-s3/object_acl.rb +39 -9
  42. data/lib/aws-sdk-s3/object_summary.rb +330 -110
  43. data/lib/aws-sdk-s3/object_version.rb +80 -49
  44. data/lib/aws-sdk-s3/plugins/accelerate.rb +13 -4
  45. data/lib/aws-sdk-s3/plugins/arn.rb +254 -0
  46. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +1 -3
  47. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +1 -1
  48. data/lib/aws-sdk-s3/plugins/dualstack.rb +33 -32
  49. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +2 -1
  50. data/lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb +1 -1
  51. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +18 -7
  52. data/lib/aws-sdk-s3/plugins/md5s.rb +5 -3
  53. data/lib/aws-sdk-s3/plugins/object_lambda_endpoint.rb +25 -0
  54. data/lib/aws-sdk-s3/plugins/s3_signer.rb +66 -17
  55. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  56. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +23 -2
  57. data/lib/aws-sdk-s3/presigned_post.rb +38 -19
  58. data/lib/aws-sdk-s3/presigner.rb +34 -17
  59. data/lib/aws-sdk-s3/resource.rb +23 -3
  60. data/lib/aws-sdk-s3/types.rb +4792 -1089
  61. data/lib/aws-sdk-s3/waiters.rb +1 -1
  62. data/lib/aws-sdk-s3.rb +3 -2
  63. metadata +21 -13
  64. data/lib/aws-sdk-s3/plugins/bucket_arn.rb +0 -212
@@ -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
 
@@ -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]
@@ -230,6 +231,7 @@ module Aws::S3
230
231
  # grant_write: "GrantWrite",
231
232
  # grant_write_acp: "GrantWriteACP",
232
233
  # object_lock_enabled_for_bucket: false,
234
+ # object_ownership: "BucketOwnerPreferred", # accepts BucketOwnerPreferred, ObjectWriter, BucketOwnerEnforced
233
235
  # })
234
236
  # @param [Hash] options ({})
235
237
  # @option options [String] :acl
@@ -244,13 +246,32 @@ module Aws::S3
244
246
  # @option options [String] :grant_read_acp
245
247
  # Allows grantee to read the bucket ACL.
246
248
  # @option options [String] :grant_write
247
- # Allows grantee to create, overwrite, and delete any object in the
248
- # 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.
249
253
  # @option options [String] :grant_write_acp
250
254
  # Allows grantee to write the ACL for the applicable bucket.
251
255
  # @option options [Boolean] :object_lock_enabled_for_bucket
252
256
  # Specifies whether you want S3 Object Lock to be enabled for the new
253
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.
254
275
  # @return [Types::CreateBucketOutput]
255
276
  def create(options = {})
256
277
  options = options.merge(bucket: @name)
@@ -265,9 +286,9 @@ module Aws::S3
265
286
  # })
266
287
  # @param [Hash] options ({})
267
288
  # @option options [String] :expected_bucket_owner
268
- # The account id of the expected bucket owner. If the bucket is owned by
269
- # a different account, the request will fail with an HTTP `403 (Access
270
- # 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).
271
292
  # @return [EmptyStructure]
272
293
  def delete(options = {})
273
294
  options = options.merge(bucket: @name)
@@ -291,6 +312,7 @@ module Aws::S3
291
312
  # request_payer: "requester", # accepts requester
292
313
  # bypass_governance_retention: false,
293
314
  # expected_bucket_owner: "AccountId",
315
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
294
316
  # })
295
317
  # @param [Hash] options ({})
296
318
  # @option options [required, Types::Delete] :delete
@@ -303,21 +325,39 @@ module Aws::S3
303
325
  # @option options [String] :request_payer
304
326
  # Confirms that the requester knows that they will be charged for the
305
327
  # request. Bucket owners need not specify this parameter in their
306
- # requests. For information about downloading objects from requester
307
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
308
- # 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*.
309
331
  #
310
332
  #
311
333
  #
312
334
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
313
335
  # @option options [Boolean] :bypass_governance_retention
314
336
  # Specifies whether you want to delete this object even if it has a
315
- # Governance-type Object Lock in place. You must have sufficient
316
- # permissions to perform this operation.
337
+ # Governance-type Object Lock in place. To use this header, you must
338
+ # have the `s3:BypassGovernanceRetention` permission.
317
339
  # @option options [String] :expected_bucket_owner
318
- # The account id of the expected bucket owner. If the bucket is owned by
319
- # a different account, the request will fail with an HTTP `403 (Access
320
- # 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
321
361
  # @return [Types::DeleteObjectsOutput]
322
362
  def delete_objects(options = {})
323
363
  options = options.merge(bucket: @name)
@@ -337,6 +377,11 @@ module Aws::S3
337
377
  # content_length: 1,
338
378
  # content_md5: "ContentMD5",
339
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",
340
385
  # expires: Time.now,
341
386
  # grant_full_control: "GrantFullControl",
342
387
  # grant_read: "GrantRead",
@@ -347,13 +392,14 @@ module Aws::S3
347
392
  # "MetadataKey" => "MetadataValue",
348
393
  # },
349
394
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
350
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
395
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
351
396
  # website_redirect_location: "WebsiteRedirectLocation",
352
397
  # sse_customer_algorithm: "SSECustomerAlgorithm",
353
398
  # sse_customer_key: "SSECustomerKey",
354
399
  # sse_customer_key_md5: "SSECustomerKeyMD5",
355
400
  # ssekms_key_id: "SSEKMSKeyId",
356
401
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
402
+ # bucket_key_enabled: false,
357
403
  # request_payer: "requester", # accepts requester
358
404
  # tagging: "TaggingHeader",
359
405
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
@@ -366,6 +412,8 @@ module Aws::S3
366
412
  # The canned ACL to apply to the object. For more information, see
367
413
  # [Canned ACL][1].
368
414
  #
415
+ # This action is not supported by Amazon S3 on Outposts.
416
+ #
369
417
  #
370
418
  #
371
419
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
@@ -426,6 +474,61 @@ module Aws::S3
426
474
  #
427
475
  #
428
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
429
532
  # @option options [Time,DateTime,Date,Integer,String] :expires
430
533
  # The date and time at which the object is no longer cacheable. For more
431
534
  # information, see
@@ -437,22 +540,38 @@ module Aws::S3
437
540
  # @option options [String] :grant_full_control
438
541
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
439
542
  # object.
543
+ #
544
+ # This action is not supported by Amazon S3 on Outposts.
440
545
  # @option options [String] :grant_read
441
546
  # Allows grantee to read the object data and its metadata.
547
+ #
548
+ # This action is not supported by Amazon S3 on Outposts.
442
549
  # @option options [String] :grant_read_acp
443
550
  # Allows grantee to read the object ACL.
551
+ #
552
+ # This action is not supported by Amazon S3 on Outposts.
444
553
  # @option options [String] :grant_write_acp
445
554
  # Allows grantee to write the ACL for the applicable object.
555
+ #
556
+ # This action is not supported by Amazon S3 on Outposts.
446
557
  # @option options [required, String] :key
447
- # Object key for which the PUT operation was initiated.
558
+ # Object key for which the PUT action was initiated.
448
559
  # @option options [Hash<String,String>] :metadata
449
560
  # A map of metadata to store with the object in S3.
450
561
  # @option options [String] :server_side_encryption
451
562
  # The server-side encryption algorithm used when storing this object in
452
563
  # Amazon S3 (for example, AES256, aws:kms).
453
564
  # @option options [String] :storage_class
454
- # If you don't specify, S3 Standard is the default storage class.
455
- # Amazon S3 supports other storage classes.
565
+ # By default, Amazon S3 uses the STANDARD Storage Class to store newly
566
+ # created objects. The STANDARD storage class provides high durability
567
+ # and high availability. Depending on performance needs, you can specify
568
+ # a different Storage Class. Amazon S3 on Outposts only uses the
569
+ # OUTPOSTS Storage Class. For more information, see [Storage Classes][1]
570
+ # in the *Amazon S3 User Guide*.
571
+ #
572
+ #
573
+ #
574
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
456
575
  # @option options [String] :website_redirect_location
457
576
  # If the bucket is configured as a website, redirects requests for this
458
577
  # object to another object in the same bucket or to an external URL.
@@ -493,26 +612,32 @@ module Aws::S3
493
612
  # ensure that the encryption key was transmitted without error.
494
613
  # @option options [String] :ssekms_key_id
495
614
  # If `x-amz-server-side-encryption` is present and has the value of
496
- # `aws:kms`, this header specifies the ID of the AWS Key Management
497
- # Service (AWS KMS) symmetrical customer managed customer master key
498
- # (CMK) that was used for the object.
499
- #
500
- # If the value of `x-amz-server-side-encryption` is `aws:kms`, this
501
- # header specifies the ID of the symmetric customer managed AWS KMS CMK
502
- # 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
503
618
  # `x-amz-server-side-encryption:aws:kms`, but do not provide`
504
- # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the AWS
505
- # 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.
506
623
  # @option options [String] :ssekms_encryption_context
507
- # Specifies the AWS KMS Encryption Context to use for object encryption.
508
- # The value of this header is a base64-encoded UTF-8 string holding JSON
509
- # 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.
627
+ # @option options [Boolean] :bucket_key_enabled
628
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
629
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
630
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
631
+ # for object encryption with SSE-KMS.
632
+ #
633
+ # Specifying this header with a PUT action doesn’t affect bucket-level
634
+ # settings for S3 Bucket Key.
510
635
  # @option options [String] :request_payer
511
636
  # Confirms that the requester knows that they will be charged for the
512
637
  # request. Bucket owners need not specify this parameter in their
513
- # requests. For information about downloading objects from requester
514
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
515
- # 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*.
516
641
  #
517
642
  #
518
643
  #
@@ -524,6 +649,7 @@ module Aws::S3
524
649
  # The Object Lock mode that you want to apply to this object.
525
650
  # @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
526
651
  # The date and time when you want this object's Object Lock to expire.
652
+ # Must be formatted as a timestamp parameter.
527
653
  # @option options [String] :object_lock_legal_hold_status
528
654
  # Specifies whether a legal hold will be applied to this object. For
529
655
  # more information about S3 Object Lock, see [Object Lock][1].
@@ -532,9 +658,9 @@ module Aws::S3
532
658
  #
533
659
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
534
660
  # @option options [String] :expected_bucket_owner
535
- # The account id of the expected bucket owner. If the bucket is owned by
536
- # a different account, the request will fail with an HTTP `403 (Access
537
- # 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).
538
664
  # @return [Object]
539
665
  def put_object(options = {})
540
666
  options = options.merge(bucket: @name)
@@ -640,9 +766,9 @@ module Aws::S3
640
766
  # list only if they have an upload ID lexicographically greater than the
641
767
  # specified `upload-id-marker`.
642
768
  # @option options [String] :expected_bucket_owner
643
- # The account id of the expected bucket owner. If the bucket is owned by
644
- # a different account, the request will fail with an HTTP `403 (Access
645
- # 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).
646
772
  # @return [MultipartUpload::Collection]
647
773
  def multipart_uploads(options = {})
648
774
  batches = Enumerator.new do |y|
@@ -720,9 +846,9 @@ module Aws::S3
720
846
  # @option options [String] :version_id_marker
721
847
  # Specifies the object version you want to start listing from.
722
848
  # @option options [String] :expected_bucket_owner
723
- # The account id of the expected bucket owner. If the bucket is owned by
724
- # a different account, the request will fail with an HTTP `403 (Access
725
- # 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).
726
852
  # @return [ObjectVersion::Collection]
727
853
  def object_versions(options = {})
728
854
  batches = Enumerator.new do |y|
@@ -776,9 +902,9 @@ module Aws::S3
776
902
  # the list objects request in V2 style. Bucket owners need not specify
777
903
  # this parameter in their requests.
778
904
  # @option options [String] :expected_bucket_owner
779
- # The account id of the expected bucket owner. If the bucket is owned by
780
- # a different account, the request will fail with an HTTP `403 (Access
781
- # 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).
782
908
  # @return [ObjectSummary::Collection]
783
909
  def objects(options = {})
784
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,9 +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
  #
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.
228
+ #
224
229
  #
225
230
  #
226
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
227
247
  # @option options [String] :grant_full_control
228
248
  # Allows grantee the read, write, read ACP, and write ACP permissions on
229
249
  # the bucket.
@@ -232,14 +252,16 @@ module Aws::S3
232
252
  # @option options [String] :grant_read_acp
233
253
  # Allows grantee to read the bucket ACL.
234
254
  # @option options [String] :grant_write
235
- # Allows grantee to create, overwrite, and delete any object in the
236
- # 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.
237
259
  # @option options [String] :grant_write_acp
238
260
  # Allows grantee to write the ACL for the applicable bucket.
239
261
  # @option options [String] :expected_bucket_owner
240
- # The account id of the expected bucket owner. If the bucket is owned by
241
- # a different account, the request will fail with an HTTP `403 (Access
242
- # 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).
243
265
  # @return [EmptyStructure]
244
266
  def put(options = {})
245
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,13 +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
  #
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.
231
+ #
227
232
  #
228
233
  #
229
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
230
250
  # @option options [String] :expected_bucket_owner
231
- # The account id of the expected bucket owner. If the bucket is owned by
232
- # a different account, the request will fail with an HTTP `403 (Access
233
- # 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).
234
254
  # @return [EmptyStructure]
235
255
  def put(options = {})
236
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,11 +231,29 @@ module Aws::S3
228
231
  # })
229
232
  # @param [Hash] options ({})
230
233
  # @option options [String] :content_md5
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
231
252
  # @option options [Types::LifecycleConfiguration] :lifecycle_configuration
232
253
  # @option options [String] :expected_bucket_owner
233
- # The account id of the expected bucket owner. If the bucket is owned by
234
- # a different account, the request will fail with an HTTP `403 (Access
235
- # 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).
236
257
  # @return [EmptyStructure]
237
258
  def put(options = {})
238
259
  options = options.merge(bucket: @bucket_name)