aws-sdk-s3 1.81.1 → 1.114.0

Sign up to get free protection for your applications and to get access to all the features.
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 +33 -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 +2 -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|