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
 
@@ -42,7 +42,7 @@ module Aws::S3
42
42
  @key
43
43
  end
44
44
 
45
- # The date the Object was Last Modified
45
+ # Creation date of the object.
46
46
  # @return [Time]
47
47
  def last_modified
48
48
  data[:last_modified]
@@ -55,22 +55,31 @@ module Aws::S3
55
55
  # below:
56
56
  #
57
57
  # * Objects created by the PUT Object, POST Object, or Copy operation,
58
- # or through the AWS Management Console, and are encrypted by SSE-S3
59
- # or plaintext, have ETags that are an MD5 digest of their object
60
- # data.
58
+ # or through the Amazon Web Services Management Console, and are
59
+ # encrypted by SSE-S3 or plaintext, have ETags that are an MD5 digest
60
+ # of their object data.
61
61
  #
62
62
  # * Objects created by the PUT Object, POST Object, or Copy operation,
63
- # or through the AWS Management Console, and are encrypted by SSE-C or
64
- # SSE-KMS, have ETags that are not an MD5 digest of their object data.
63
+ # or through the Amazon Web Services Management Console, and are
64
+ # encrypted by SSE-C or SSE-KMS, have ETags that are not an MD5 digest
65
+ # of their object data.
65
66
  #
66
67
  # * If an object is created by either the Multipart Upload or Part Copy
67
68
  # operation, the ETag is not an MD5 digest, regardless of the method
68
- # of encryption.
69
+ # of encryption. If an object is larger than 16 MB, the Amazon Web
70
+ # Services Management Console will upload or copy that object as a
71
+ # Multipart Upload, and therefore the ETag will not be an MD5 digest.
69
72
  # @return [String]
70
73
  def etag
71
74
  data[:etag]
72
75
  end
73
76
 
77
+ # The algorithm that was used to create a checksum of the object.
78
+ # @return [Array<String>]
79
+ def checksum_algorithm
80
+ data[:checksum_algorithm]
81
+ end
82
+
74
83
  # Size in bytes of the object
75
84
  # @return [Integer]
76
85
  def size
@@ -275,6 +284,7 @@ module Aws::S3
275
284
  # object_summary.copy_from({
276
285
  # acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
277
286
  # cache_control: "CacheControl",
287
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
278
288
  # content_disposition: "ContentDisposition",
279
289
  # content_encoding: "ContentEncoding",
280
290
  # content_language: "ContentLanguage",
@@ -295,13 +305,14 @@ module Aws::S3
295
305
  # metadata_directive: "COPY", # accepts COPY, REPLACE
296
306
  # tagging_directive: "COPY", # accepts COPY, REPLACE
297
307
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
298
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
308
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
299
309
  # website_redirect_location: "WebsiteRedirectLocation",
300
310
  # sse_customer_algorithm: "SSECustomerAlgorithm",
301
311
  # sse_customer_key: "SSECustomerKey",
302
312
  # sse_customer_key_md5: "SSECustomerKeyMD5",
303
313
  # ssekms_key_id: "SSEKMSKeyId",
304
314
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
315
+ # bucket_key_enabled: false,
305
316
  # copy_source_sse_customer_algorithm: "CopySourceSSECustomerAlgorithm",
306
317
  # copy_source_sse_customer_key: "CopySourceSSECustomerKey",
307
318
  # copy_source_sse_customer_key_md5: "CopySourceSSECustomerKeyMD5",
@@ -316,8 +327,18 @@ module Aws::S3
316
327
  # @param [Hash] options ({})
317
328
  # @option options [String] :acl
318
329
  # The canned ACL to apply to the object.
330
+ #
331
+ # This action is not supported by Amazon S3 on Outposts.
319
332
  # @option options [String] :cache_control
320
333
  # Specifies caching behavior along the request/reply chain.
334
+ # @option options [String] :checksum_algorithm
335
+ # Indicates the algorithm you want Amazon S3 to use to create the
336
+ # checksum for the object. For more information, see [Checking object
337
+ # integrity][1] in the *Amazon S3 User Guide*.
338
+ #
339
+ #
340
+ #
341
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
321
342
  # @option options [String] :content_disposition
322
343
  # Specifies presentational information for the object.
323
344
  # @option options [String] :content_encoding
@@ -337,8 +358,8 @@ module Aws::S3
337
358
  # of the source bucket and the key of the source object, separated by
338
359
  # a slash (/). For example, to copy the object `reports/january.pdf`
339
360
  # from the bucket `awsexamplebucket`, use
340
- # `awsexamplebucket/reports/january.pdf`. The value must be URL
341
- # encoded.
361
+ # `awsexamplebucket/reports/january.pdf`. The value must be
362
+ # URL-encoded.
342
363
  #
343
364
  # * For objects accessed through access points, specify the Amazon
344
365
  # Resource Name (ARN) of the object as accessed through the access
@@ -351,10 +372,20 @@ module Aws::S3
351
372
  # The value must be URL encoded.
352
373
  #
353
374
  # <note markdown="1"> Amazon S3 supports copy operations using access points only when the
354
- # source and destination buckets are in the same AWS Region.
375
+ # source and destination buckets are in the same Amazon Web Services
376
+ # Region.
355
377
  #
356
378
  # </note>
357
379
  #
380
+ # Alternatively, for objects accessed through Amazon S3 on Outposts,
381
+ # specify the ARN of the object as accessed in the format
382
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key>`.
383
+ # For example, to copy the object `reports/january.pdf` through
384
+ # outpost `my-outpost` owned by account `123456789012` in Region
385
+ # `us-west-2`, use the URL encoding of
386
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
387
+ # The value must be URL-encoded.
388
+ #
358
389
  # To copy a specific version of an object, append
359
390
  # `?versionId=<version-id>` to the value (for example,
360
391
  # `awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893`).
@@ -363,7 +394,7 @@ module Aws::S3
363
394
  #
364
395
  #
365
396
  #
366
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html
397
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html
367
398
  # @option options [String] :copy_source_if_match
368
399
  # Copies the object if its entity tag (ETag) matches the specified tag.
369
400
  # @option options [Time,DateTime,Date,Integer,String] :copy_source_if_modified_since
@@ -379,12 +410,20 @@ module Aws::S3
379
410
  # @option options [String] :grant_full_control
380
411
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
381
412
  # object.
413
+ #
414
+ # This action is not supported by Amazon S3 on Outposts.
382
415
  # @option options [String] :grant_read
383
416
  # Allows grantee to read the object data and its metadata.
417
+ #
418
+ # This action is not supported by Amazon S3 on Outposts.
384
419
  # @option options [String] :grant_read_acp
385
420
  # Allows grantee to read the object ACL.
421
+ #
422
+ # This action is not supported by Amazon S3 on Outposts.
386
423
  # @option options [String] :grant_write_acp
387
424
  # Allows grantee to write the ACL for the applicable object.
425
+ #
426
+ # This action is not supported by Amazon S3 on Outposts.
388
427
  # @option options [Hash<String,String>] :metadata
389
428
  # A map of metadata to store with the object in S3.
390
429
  # @option options [String] :metadata_directive
@@ -397,7 +436,16 @@ module Aws::S3
397
436
  # The server-side encryption algorithm used when storing this object in
398
437
  # Amazon S3 (for example, AES256, aws:kms).
399
438
  # @option options [String] :storage_class
400
- # The type of storage to use for the object. Defaults to 'STANDARD'.
439
+ # By default, Amazon S3 uses the STANDARD Storage Class to store newly
440
+ # created objects. The STANDARD storage class provides high durability
441
+ # and high availability. Depending on performance needs, you can specify
442
+ # a different Storage Class. Amazon S3 on Outposts only uses the
443
+ # OUTPOSTS Storage Class. For more information, see [Storage Classes][1]
444
+ # in the *Amazon S3 User Guide*.
445
+ #
446
+ #
447
+ #
448
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
401
449
  # @option options [String] :website_redirect_location
402
450
  # If the bucket is configured as a website, redirects requests for this
403
451
  # object to another object in the same bucket or to an external URL.
@@ -416,20 +464,29 @@ module Aws::S3
416
464
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
417
465
  # ensure that the encryption key was transmitted without error.
418
466
  # @option options [String] :ssekms_key_id
419
- # Specifies the AWS KMS key ID to use for object encryption. All GET and
420
- # PUT requests for an object protected by AWS KMS will fail if not made
421
- # via SSL or using SigV4. For information about configuring using any of
422
- # the officially supported AWS SDKs and AWS CLI, see [Specifying the
423
- # Signature Version in Request Authentication][1] in the *Amazon S3
424
- # Developer Guide*.
467
+ # Specifies the Amazon Web Services KMS key ID to use for object
468
+ # encryption. All GET and PUT requests for an object protected by Amazon
469
+ # Web Services KMS will fail if not made via SSL or using SigV4. For
470
+ # information about configuring using any of the officially supported
471
+ # Amazon Web Services SDKs and Amazon Web Services CLI, see [Specifying
472
+ # the Signature Version in Request Authentication][1] in the *Amazon S3
473
+ # User Guide*.
425
474
  #
426
475
  #
427
476
  #
428
477
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
429
478
  # @option options [String] :ssekms_encryption_context
430
- # Specifies the AWS KMS Encryption Context to use for object encryption.
431
- # The value of this header is a base64-encoded UTF-8 string holding JSON
432
- # with the encryption context key-value pairs.
479
+ # Specifies the Amazon Web Services KMS Encryption Context to use for
480
+ # object encryption. The value of this header is a base64-encoded UTF-8
481
+ # string holding JSON with the encryption context key-value pairs.
482
+ # @option options [Boolean] :bucket_key_enabled
483
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
484
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
485
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
486
+ # for object encryption with SSE-KMS.
487
+ #
488
+ # Specifying this header with a COPY action doesn’t affect bucket-level
489
+ # settings for S3 Bucket Key.
433
490
  # @option options [String] :copy_source_sse_customer_algorithm
434
491
  # Specifies the algorithm to use when decrypting the source object (for
435
492
  # example, AES256).
@@ -444,9 +501,9 @@ module Aws::S3
444
501
  # @option options [String] :request_payer
445
502
  # Confirms that the requester knows that they will be charged for the
446
503
  # request. Bucket owners need not specify this parameter in their
447
- # requests. For information about downloading objects from requester
448
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
449
- # in the *Amazon S3 Developer Guide*.
504
+ # requests. For information about downloading objects from Requester
505
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
506
+ # in the *Amazon S3 User Guide*.
450
507
  #
451
508
  #
452
509
  #
@@ -461,15 +518,15 @@ module Aws::S3
461
518
  # The date and time when you want the copied object's Object Lock to
462
519
  # expire.
463
520
  # @option options [String] :object_lock_legal_hold_status
464
- # Specifies whether you want to apply a Legal Hold to the copied object.
521
+ # Specifies whether you want to apply a legal hold to the copied object.
465
522
  # @option options [String] :expected_bucket_owner
466
- # The account id of the expected destination bucket owner. If the
467
- # destination bucket is owned by a different account, the request will
468
- # fail with an HTTP `403 (Access Denied)` error.
523
+ # The account ID of the expected destination bucket owner. If the
524
+ # destination bucket is owned by a different account, the request fails
525
+ # with the HTTP status code `403 Forbidden` (access denied).
469
526
  # @option options [String] :expected_source_bucket_owner
470
- # The account id of the expected source bucket owner. If the source
471
- # bucket is owned by a different account, the request will fail with an
472
- # HTTP `403 (Access Denied)` error.
527
+ # The account ID of the expected source bucket owner. If the source
528
+ # bucket is owned by a different account, the request fails with the
529
+ # HTTP status code `403 Forbidden` (access denied).
473
530
  # @return [Types::CopyObjectOutput]
474
531
  def copy_from(options = {})
475
532
  options = options.merge(
@@ -500,20 +557,21 @@ module Aws::S3
500
557
  # @option options [String] :request_payer
501
558
  # Confirms that the requester knows that they will be charged for the
502
559
  # request. Bucket owners need not specify this parameter in their
503
- # requests. For information about downloading objects from requester
504
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
505
- # in the *Amazon S3 Developer Guide*.
560
+ # requests. For information about downloading objects from Requester
561
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
562
+ # in the *Amazon S3 User Guide*.
506
563
  #
507
564
  #
508
565
  #
509
566
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
510
567
  # @option options [Boolean] :bypass_governance_retention
511
568
  # Indicates whether S3 Object Lock should bypass Governance-mode
512
- # restrictions to process this operation.
569
+ # restrictions to process this operation. To use this header, you must
570
+ # have the `s3:BypassGovernanceRetention` permission.
513
571
  # @option options [String] :expected_bucket_owner
514
- # The account id of the expected bucket owner. If the bucket is owned by
515
- # a different account, the request will fail with an HTTP `403 (Access
516
- # Denied)` error.
572
+ # The account ID of the expected bucket owner. If the bucket is owned by
573
+ # a different account, the request fails with the HTTP status code `403
574
+ # Forbidden` (access denied).
517
575
  # @return [Types::DeleteObjectOutput]
518
576
  def delete(options = {})
519
577
  options = options.merge(
@@ -545,20 +603,21 @@ module Aws::S3
545
603
  # request_payer: "requester", # accepts requester
546
604
  # part_number: 1,
547
605
  # expected_bucket_owner: "AccountId",
606
+ # checksum_mode: "ENABLED", # accepts ENABLED
548
607
  # })
549
608
  # @param [Hash] options ({})
550
609
  # @option options [String] :if_match
551
610
  # Return the object only if its entity tag (ETag) is the same as the one
552
- # specified, otherwise return a 412 (precondition failed).
611
+ # specified; otherwise, return a 412 (precondition failed) error.
553
612
  # @option options [Time,DateTime,Date,Integer,String] :if_modified_since
554
613
  # Return the object only if it has been modified since the specified
555
- # time, otherwise return a 304 (not modified).
614
+ # time; otherwise, return a 304 (not modified) error.
556
615
  # @option options [String] :if_none_match
557
616
  # Return the object only if its entity tag (ETag) is different from the
558
- # one specified, otherwise return a 304 (not modified).
617
+ # one specified; otherwise, return a 304 (not modified) error.
559
618
  # @option options [Time,DateTime,Date,Integer,String] :if_unmodified_since
560
619
  # Return the object only if it has not been modified since the specified
561
- # time, otherwise return a 412 (precondition failed).
620
+ # time; otherwise, return a 412 (precondition failed) error.
562
621
  # @option options [String] :range
563
622
  # Downloads the specified range bytes of an object. For more information
564
623
  # about the HTTP Range header, see
@@ -587,13 +646,13 @@ module Aws::S3
587
646
  # @option options [String] :version_id
588
647
  # VersionId used to reference a specific version of the object.
589
648
  # @option options [String] :sse_customer_algorithm
590
- # Specifies the algorithm to use to when encrypting the object (for
649
+ # Specifies the algorithm to use to when decrypting the object (for
591
650
  # example, AES256).
592
651
  # @option options [String] :sse_customer_key
593
- # Specifies the customer-provided encryption key for Amazon S3 to use in
594
- # encrypting data. This value is used to store the object and then it is
595
- # discarded; Amazon S3 does not store the encryption key. The key must
596
- # be appropriate for use with the algorithm specified in the
652
+ # Specifies the customer-provided encryption key for Amazon S3 used to
653
+ # encrypt the data. This value is used to decrypt the object when
654
+ # recovering it and must match the one used when storing the data. The
655
+ # key must be appropriate for use with the algorithm specified in the
597
656
  # `x-amz-server-side-encryption-customer-algorithm` header.
598
657
  # @option options [String] :sse_customer_key_md5
599
658
  # Specifies the 128-bit MD5 digest of the encryption key according to
@@ -602,9 +661,9 @@ module Aws::S3
602
661
  # @option options [String] :request_payer
603
662
  # Confirms that the requester knows that they will be charged for the
604
663
  # request. Bucket owners need not specify this parameter in their
605
- # requests. For information about downloading objects from requester
606
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
607
- # in the *Amazon S3 Developer Guide*.
664
+ # requests. For information about downloading objects from Requester
665
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
666
+ # in the *Amazon S3 User Guide*.
608
667
  #
609
668
  #
610
669
  #
@@ -615,9 +674,11 @@ module Aws::S3
615
674
  # for the part specified. Useful for downloading just a part of an
616
675
  # object.
617
676
  # @option options [String] :expected_bucket_owner
618
- # The account id of the expected bucket owner. If the bucket is owned by
619
- # a different account, the request will fail with an HTTP `403 (Access
620
- # Denied)` error.
677
+ # The account ID of the expected bucket owner. If the bucket is owned by
678
+ # a different account, the request fails with the HTTP status code `403
679
+ # Forbidden` (access denied).
680
+ # @option options [String] :checksum_mode
681
+ # To retrieve the checksum, this mode must be enabled.
621
682
  # @return [Types::GetObjectOutput]
622
683
  def get(options = {}, &block)
623
684
  options = options.merge(
@@ -646,23 +707,27 @@ module Aws::S3
646
707
  # "MetadataKey" => "MetadataValue",
647
708
  # },
648
709
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
649
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
710
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
650
711
  # website_redirect_location: "WebsiteRedirectLocation",
651
712
  # sse_customer_algorithm: "SSECustomerAlgorithm",
652
713
  # sse_customer_key: "SSECustomerKey",
653
714
  # sse_customer_key_md5: "SSECustomerKeyMD5",
654
715
  # ssekms_key_id: "SSEKMSKeyId",
655
716
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
717
+ # bucket_key_enabled: false,
656
718
  # request_payer: "requester", # accepts requester
657
719
  # tagging: "TaggingHeader",
658
720
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
659
721
  # object_lock_retain_until_date: Time.now,
660
722
  # object_lock_legal_hold_status: "ON", # accepts ON, OFF
661
723
  # expected_bucket_owner: "AccountId",
724
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
662
725
  # })
663
726
  # @param [Hash] options ({})
664
727
  # @option options [String] :acl
665
728
  # The canned ACL to apply to the object.
729
+ #
730
+ # This action is not supported by Amazon S3 on Outposts.
666
731
  # @option options [String] :cache_control
667
732
  # Specifies caching behavior along the request/reply chain.
668
733
  # @option options [String] :content_disposition
@@ -680,19 +745,36 @@ module Aws::S3
680
745
  # @option options [String] :grant_full_control
681
746
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
682
747
  # object.
748
+ #
749
+ # This action is not supported by Amazon S3 on Outposts.
683
750
  # @option options [String] :grant_read
684
751
  # Allows grantee to read the object data and its metadata.
752
+ #
753
+ # This action is not supported by Amazon S3 on Outposts.
685
754
  # @option options [String] :grant_read_acp
686
755
  # Allows grantee to read the object ACL.
756
+ #
757
+ # This action is not supported by Amazon S3 on Outposts.
687
758
  # @option options [String] :grant_write_acp
688
759
  # Allows grantee to write the ACL for the applicable object.
760
+ #
761
+ # This action is not supported by Amazon S3 on Outposts.
689
762
  # @option options [Hash<String,String>] :metadata
690
763
  # A map of metadata to store with the object in S3.
691
764
  # @option options [String] :server_side_encryption
692
765
  # The server-side encryption algorithm used when storing this object in
693
766
  # Amazon S3 (for example, AES256, aws:kms).
694
767
  # @option options [String] :storage_class
695
- # The type of storage to use for the object. Defaults to 'STANDARD'.
768
+ # By default, Amazon S3 uses the STANDARD Storage Class to store newly
769
+ # created objects. The STANDARD storage class provides high durability
770
+ # and high availability. Depending on performance needs, you can specify
771
+ # a different Storage Class. Amazon S3 on Outposts only uses the
772
+ # OUTPOSTS Storage Class. For more information, see [Storage Classes][1]
773
+ # in the *Amazon S3 User Guide*.
774
+ #
775
+ #
776
+ #
777
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
696
778
  # @option options [String] :website_redirect_location
697
779
  # If the bucket is configured as a website, redirects requests for this
698
780
  # object to another object in the same bucket or to an external URL.
@@ -711,26 +793,35 @@ module Aws::S3
711
793
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
712
794
  # ensure that the encryption key was transmitted without error.
713
795
  # @option options [String] :ssekms_key_id
714
- # Specifies the ID of the symmetric customer managed AWS KMS CMK to use
715
- # for object encryption. All GET and PUT requests for an object
716
- # protected by AWS KMS will fail if not made via SSL or using SigV4. For
717
- # information about configuring using any of the officially supported
718
- # AWS SDKs and AWS CLI, see [Specifying the Signature Version in Request
719
- # Authentication][1] in the *Amazon S3 Developer Guide*.
796
+ # Specifies the ID of the symmetric customer managed key to use for
797
+ # object encryption. All GET and PUT requests for an object protected by
798
+ # Amazon Web Services KMS will fail if not made via SSL or using SigV4.
799
+ # For information about configuring using any of the officially
800
+ # supported Amazon Web Services SDKs and Amazon Web Services CLI, see
801
+ # [Specifying the Signature Version in Request Authentication][1] in the
802
+ # *Amazon S3 User Guide*.
720
803
  #
721
804
  #
722
805
  #
723
- # [1]: https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
806
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
724
807
  # @option options [String] :ssekms_encryption_context
725
- # Specifies the AWS KMS Encryption Context to use for object encryption.
726
- # The value of this header is a base64-encoded UTF-8 string holding JSON
727
- # with the encryption context key-value pairs.
808
+ # Specifies the Amazon Web Services KMS Encryption Context to use for
809
+ # object encryption. The value of this header is a base64-encoded UTF-8
810
+ # string holding JSON with the encryption context key-value pairs.
811
+ # @option options [Boolean] :bucket_key_enabled
812
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
813
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
814
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
815
+ # for object encryption with SSE-KMS.
816
+ #
817
+ # Specifying this header with an object action doesn’t affect
818
+ # bucket-level settings for S3 Bucket Key.
728
819
  # @option options [String] :request_payer
729
820
  # Confirms that the requester knows that they will be charged for the
730
821
  # request. Bucket owners need not specify this parameter in their
731
- # requests. For information about downloading objects from requester
732
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
733
- # in the *Amazon S3 Developer Guide*.
822
+ # requests. For information about downloading objects from Requester
823
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
824
+ # in the *Amazon S3 User Guide*.
734
825
  #
735
826
  #
736
827
  #
@@ -744,12 +835,20 @@ module Aws::S3
744
835
  # @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
745
836
  # Specifies the date and time when you want the Object Lock to expire.
746
837
  # @option options [String] :object_lock_legal_hold_status
747
- # Specifies whether you want to apply a Legal Hold to the uploaded
838
+ # Specifies whether you want to apply a legal hold to the uploaded
748
839
  # object.
749
840
  # @option options [String] :expected_bucket_owner
750
- # The account id of the expected bucket owner. If the bucket is owned by
751
- # a different account, the request will fail with an HTTP `403 (Access
752
- # Denied)` error.
841
+ # The account ID of the expected bucket owner. If the bucket is owned by
842
+ # a different account, the request fails with the HTTP status code `403
843
+ # Forbidden` (access denied).
844
+ # @option options [String] :checksum_algorithm
845
+ # Indicates the algorithm you want Amazon S3 to use to create the
846
+ # checksum for the object. For more information, see [Checking object
847
+ # integrity][1] in the *Amazon S3 User Guide*.
848
+ #
849
+ #
850
+ #
851
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
753
852
  # @return [MultipartUpload]
754
853
  def initiate_multipart_upload(options = {})
755
854
  options = options.merge(
@@ -777,6 +876,11 @@ module Aws::S3
777
876
  # content_length: 1,
778
877
  # content_md5: "ContentMD5",
779
878
  # content_type: "ContentType",
879
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
880
+ # checksum_crc32: "ChecksumCRC32",
881
+ # checksum_crc32c: "ChecksumCRC32C",
882
+ # checksum_sha1: "ChecksumSHA1",
883
+ # checksum_sha256: "ChecksumSHA256",
780
884
  # expires: Time.now,
781
885
  # grant_full_control: "GrantFullControl",
782
886
  # grant_read: "GrantRead",
@@ -786,13 +890,14 @@ module Aws::S3
786
890
  # "MetadataKey" => "MetadataValue",
787
891
  # },
788
892
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
789
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
893
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
790
894
  # website_redirect_location: "WebsiteRedirectLocation",
791
895
  # sse_customer_algorithm: "SSECustomerAlgorithm",
792
896
  # sse_customer_key: "SSECustomerKey",
793
897
  # sse_customer_key_md5: "SSECustomerKeyMD5",
794
898
  # ssekms_key_id: "SSEKMSKeyId",
795
899
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
900
+ # bucket_key_enabled: false,
796
901
  # request_payer: "requester", # accepts requester
797
902
  # tagging: "TaggingHeader",
798
903
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
@@ -805,6 +910,8 @@ module Aws::S3
805
910
  # The canned ACL to apply to the object. For more information, see
806
911
  # [Canned ACL][1].
807
912
  #
913
+ # This action is not supported by Amazon S3 on Outposts.
914
+ #
808
915
  #
809
916
  #
810
917
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
@@ -865,6 +972,61 @@ module Aws::S3
865
972
  #
866
973
  #
867
974
  # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
975
+ # @option options [String] :checksum_algorithm
976
+ # Indicates the algorithm used to create the checksum for the object
977
+ # when using the SDK. This header will not provide any additional
978
+ # functionality if not using the SDK. When sending this header, there
979
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
980
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
981
+ # `400 Bad Request`. For more information, see [Checking object
982
+ # integrity][1] in the *Amazon S3 User Guide*.
983
+ #
984
+ # If you provide an individual checksum, Amazon S3 ignores any provided
985
+ # `ChecksumAlgorithm` parameter.
986
+ #
987
+ #
988
+ #
989
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
990
+ # @option options [String] :checksum_crc32
991
+ # This header can be used as a data integrity check to verify that the
992
+ # data received is the same data that was originally sent. This header
993
+ # specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
994
+ # more information, see [Checking object integrity][1] in the *Amazon S3
995
+ # User Guide*.
996
+ #
997
+ #
998
+ #
999
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1000
+ # @option options [String] :checksum_crc32c
1001
+ # This header can be used as a data integrity check to verify that the
1002
+ # data received is the same data that was originally sent. This header
1003
+ # specifies the base64-encoded, 32-bit CRC32C checksum of the object.
1004
+ # For more information, see [Checking object integrity][1] in the
1005
+ # *Amazon S3 User Guide*.
1006
+ #
1007
+ #
1008
+ #
1009
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1010
+ # @option options [String] :checksum_sha1
1011
+ # This header can be used as a data integrity check to verify that the
1012
+ # data received is the same data that was originally sent. This header
1013
+ # specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
1014
+ # more information, see [Checking object integrity][1] in the *Amazon S3
1015
+ # User Guide*.
1016
+ #
1017
+ #
1018
+ #
1019
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1020
+ # @option options [String] :checksum_sha256
1021
+ # This header can be used as a data integrity check to verify that the
1022
+ # data received is the same data that was originally sent. This header
1023
+ # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
1024
+ # For more information, see [Checking object integrity][1] in the
1025
+ # *Amazon S3 User Guide*.
1026
+ #
1027
+ #
1028
+ #
1029
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
868
1030
  # @option options [Time,DateTime,Date,Integer,String] :expires
869
1031
  # The date and time at which the object is no longer cacheable. For more
870
1032
  # information, see
@@ -876,20 +1038,36 @@ module Aws::S3
876
1038
  # @option options [String] :grant_full_control
877
1039
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
878
1040
  # object.
1041
+ #
1042
+ # This action is not supported by Amazon S3 on Outposts.
879
1043
  # @option options [String] :grant_read
880
1044
  # Allows grantee to read the object data and its metadata.
1045
+ #
1046
+ # This action is not supported by Amazon S3 on Outposts.
881
1047
  # @option options [String] :grant_read_acp
882
1048
  # Allows grantee to read the object ACL.
1049
+ #
1050
+ # This action is not supported by Amazon S3 on Outposts.
883
1051
  # @option options [String] :grant_write_acp
884
1052
  # Allows grantee to write the ACL for the applicable object.
1053
+ #
1054
+ # This action is not supported by Amazon S3 on Outposts.
885
1055
  # @option options [Hash<String,String>] :metadata
886
1056
  # A map of metadata to store with the object in S3.
887
1057
  # @option options [String] :server_side_encryption
888
1058
  # The server-side encryption algorithm used when storing this object in
889
1059
  # Amazon S3 (for example, AES256, aws:kms).
890
1060
  # @option options [String] :storage_class
891
- # If you don't specify, S3 Standard is the default storage class.
892
- # Amazon S3 supports other storage classes.
1061
+ # By default, Amazon S3 uses the STANDARD Storage Class to store newly
1062
+ # created objects. The STANDARD storage class provides high durability
1063
+ # and high availability. Depending on performance needs, you can specify
1064
+ # a different Storage Class. Amazon S3 on Outposts only uses the
1065
+ # OUTPOSTS Storage Class. For more information, see [Storage Classes][1]
1066
+ # in the *Amazon S3 User Guide*.
1067
+ #
1068
+ #
1069
+ #
1070
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
893
1071
  # @option options [String] :website_redirect_location
894
1072
  # If the bucket is configured as a website, redirects requests for this
895
1073
  # object to another object in the same bucket or to an external URL.
@@ -930,26 +1108,32 @@ module Aws::S3
930
1108
  # ensure that the encryption key was transmitted without error.
931
1109
  # @option options [String] :ssekms_key_id
932
1110
  # If `x-amz-server-side-encryption` is present and has the value of
933
- # `aws:kms`, this header specifies the ID of the AWS Key Management
934
- # Service (AWS KMS) symmetrical customer managed customer master key
935
- # (CMK) that was used for the object.
936
- #
937
- # If the value of `x-amz-server-side-encryption` is `aws:kms`, this
938
- # header specifies the ID of the symmetric customer managed AWS KMS CMK
939
- # that will be used for the object. If you specify
1111
+ # `aws:kms`, this header specifies the ID of the Amazon Web Services Key
1112
+ # Management Service (Amazon Web Services KMS) symmetrical customer
1113
+ # managed key that was used for the object. If you specify
940
1114
  # `x-amz-server-side-encryption:aws:kms`, but do not provide`
941
- # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the AWS
942
- # managed CMK in AWS to protect the data.
1115
+ # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
1116
+ # Amazon Web Services managed key to protect the data. If the KMS key
1117
+ # does not exist in the same account issuing the command, you must use
1118
+ # the full ARN and not just the ID.
943
1119
  # @option options [String] :ssekms_encryption_context
944
- # Specifies the AWS KMS Encryption Context to use for object encryption.
945
- # The value of this header is a base64-encoded UTF-8 string holding JSON
946
- # with the encryption context key-value pairs.
1120
+ # Specifies the Amazon Web Services KMS Encryption Context to use for
1121
+ # object encryption. The value of this header is a base64-encoded UTF-8
1122
+ # string holding JSON with the encryption context key-value pairs.
1123
+ # @option options [Boolean] :bucket_key_enabled
1124
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
1125
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
1126
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
1127
+ # for object encryption with SSE-KMS.
1128
+ #
1129
+ # Specifying this header with a PUT action doesn’t affect bucket-level
1130
+ # settings for S3 Bucket Key.
947
1131
  # @option options [String] :request_payer
948
1132
  # Confirms that the requester knows that they will be charged for the
949
1133
  # request. Bucket owners need not specify this parameter in their
950
- # requests. For information about downloading objects from requester
951
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
952
- # in the *Amazon S3 Developer Guide*.
1134
+ # requests. For information about downloading objects from Requester
1135
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
1136
+ # in the *Amazon S3 User Guide*.
953
1137
  #
954
1138
  #
955
1139
  #
@@ -961,6 +1145,7 @@ module Aws::S3
961
1145
  # The Object Lock mode that you want to apply to this object.
962
1146
  # @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
963
1147
  # The date and time when you want this object's Object Lock to expire.
1148
+ # Must be formatted as a timestamp parameter.
964
1149
  # @option options [String] :object_lock_legal_hold_status
965
1150
  # Specifies whether a legal hold will be applied to this object. For
966
1151
  # more information about S3 Object Lock, see [Object Lock][1].
@@ -969,9 +1154,9 @@ module Aws::S3
969
1154
  #
970
1155
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
971
1156
  # @option options [String] :expected_bucket_owner
972
- # The account id of the expected bucket owner. If the bucket is owned by
973
- # a different account, the request will fail with an HTTP `403 (Access
974
- # Denied)` error.
1157
+ # The account ID of the expected bucket owner. If the bucket is owned by
1158
+ # a different account, the request fails with the HTTP status code `403
1159
+ # Forbidden` (access denied).
975
1160
  # @return [Types::PutObjectOutput]
976
1161
  def put(options = {})
977
1162
  options = options.merge(
@@ -1063,11 +1248,12 @@ module Aws::S3
1063
1248
  # value: "MetadataValue",
1064
1249
  # },
1065
1250
  # ],
1066
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
1251
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
1067
1252
  # },
1068
1253
  # },
1069
1254
  # },
1070
1255
  # request_payer: "requester", # accepts requester
1256
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
1071
1257
  # expected_bucket_owner: "AccountId",
1072
1258
  # })
1073
1259
  # @param [Hash] options ({})
@@ -1078,17 +1264,32 @@ module Aws::S3
1078
1264
  # @option options [String] :request_payer
1079
1265
  # Confirms that the requester knows that they will be charged for the
1080
1266
  # request. Bucket owners need not specify this parameter in their
1081
- # requests. For information about downloading objects from requester
1082
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
1083
- # in the *Amazon S3 Developer Guide*.
1267
+ # requests. For information about downloading objects from Requester
1268
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
1269
+ # in the *Amazon S3 User Guide*.
1084
1270
  #
1085
1271
  #
1086
1272
  #
1087
1273
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
1274
+ # @option options [String] :checksum_algorithm
1275
+ # Indicates the algorithm used to create the checksum for the object
1276
+ # when using the SDK. This header will not provide any additional
1277
+ # functionality if not using the SDK. When sending this header, there
1278
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
1279
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
1280
+ # `400 Bad Request`. For more information, see [Checking object
1281
+ # integrity][1] in the *Amazon S3 User Guide*.
1282
+ #
1283
+ # If you provide an individual checksum, Amazon S3 ignores any provided
1284
+ # `ChecksumAlgorithm` parameter.
1285
+ #
1286
+ #
1287
+ #
1288
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1088
1289
  # @option options [String] :expected_bucket_owner
1089
- # The account id of the expected bucket owner. If the bucket is owned by
1090
- # a different account, the request will fail with an HTTP `403 (Access
1091
- # Denied)` error.
1290
+ # The account ID of the expected bucket owner. If the bucket is owned by
1291
+ # a different account, the request fails with the HTTP status code `403
1292
+ # Forbidden` (access denied).
1092
1293
  # @return [Types::RestoreObjectOutput]
1093
1294
  def restore_object(options = {})
1094
1295
  options = options.merge(
@@ -1221,6 +1422,7 @@ module Aws::S3
1221
1422
  # request_payer: "requester", # accepts requester
1222
1423
  # bypass_governance_retention: false,
1223
1424
  # expected_bucket_owner: "AccountId",
1425
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
1224
1426
  # })
1225
1427
  # @param options ({})
1226
1428
  # @option options [String] :mfa
@@ -1231,21 +1433,39 @@ module Aws::S3
1231
1433
  # @option options [String] :request_payer
1232
1434
  # Confirms that the requester knows that they will be charged for the
1233
1435
  # request. Bucket owners need not specify this parameter in their
1234
- # requests. For information about downloading objects from requester
1235
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
1236
- # in the *Amazon S3 Developer Guide*.
1436
+ # requests. For information about downloading objects from Requester
1437
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
1438
+ # in the *Amazon S3 User Guide*.
1237
1439
  #
1238
1440
  #
1239
1441
  #
1240
1442
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
1241
1443
  # @option options [Boolean] :bypass_governance_retention
1242
1444
  # Specifies whether you want to delete this object even if it has a
1243
- # Governance-type Object Lock in place. You must have sufficient
1244
- # permissions to perform this operation.
1445
+ # Governance-type Object Lock in place. To use this header, you must
1446
+ # have the `s3:BypassGovernanceRetention` permission.
1245
1447
  # @option options [String] :expected_bucket_owner
1246
- # The account id of the expected bucket owner. If the bucket is owned by
1247
- # a different account, the request will fail with an HTTP `403 (Access
1248
- # Denied)` error.
1448
+ # The account ID of the expected bucket owner. If the bucket is owned by
1449
+ # a different account, the request fails with the HTTP status code `403
1450
+ # Forbidden` (access denied).
1451
+ # @option options [String] :checksum_algorithm
1452
+ # Indicates the algorithm used to create the checksum for the object
1453
+ # when using the SDK. This header will not provide any additional
1454
+ # functionality if not using the SDK. When sending this header, there
1455
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
1456
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
1457
+ # `400 Bad Request`. For more information, see [Checking object
1458
+ # integrity][1] in the *Amazon S3 User Guide*.
1459
+ #
1460
+ # If you provide an individual checksum, Amazon S3 ignores any provided
1461
+ # `ChecksumAlgorithm` parameter.
1462
+ #
1463
+ # This checksum algorithm must be the same for all parts and it match
1464
+ # the checksum value supplied in the `CreateMultipartUpload` request.
1465
+ #
1466
+ #
1467
+ #
1468
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1249
1469
  # @return [void]
1250
1470
  def batch_delete!(options = {})
1251
1471
  batch_enum.each do |batch|