aws-sdk-s3 1.96.2 → 1.113.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 (50) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +105 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/arn/access_point_arn.rb +6 -6
  5. data/lib/aws-sdk-s3/arn/multi_region_access_point_arn.rb +68 -0
  6. data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +6 -6
  7. data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +7 -6
  8. data/lib/aws-sdk-s3/bucket.rb +126 -29
  9. data/lib/aws-sdk-s3/bucket_acl.rb +21 -4
  10. data/lib/aws-sdk-s3/bucket_cors.rb +23 -6
  11. data/lib/aws-sdk-s3/bucket_lifecycle.rb +27 -8
  12. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +28 -6
  13. data/lib/aws-sdk-s3/bucket_logging.rb +21 -4
  14. data/lib/aws-sdk-s3/bucket_notification.rb +19 -7
  15. data/lib/aws-sdk-s3/bucket_policy.rb +23 -6
  16. data/lib/aws-sdk-s3/bucket_request_payment.rb +21 -4
  17. data/lib/aws-sdk-s3/bucket_tagging.rb +23 -6
  18. data/lib/aws-sdk-s3/bucket_versioning.rb +63 -12
  19. data/lib/aws-sdk-s3/bucket_website.rb +23 -6
  20. data/lib/aws-sdk-s3/client.rb +2691 -1278
  21. data/lib/aws-sdk-s3/client_api.rb +390 -21
  22. data/lib/aws-sdk-s3/customizations/object.rb +78 -5
  23. data/lib/aws-sdk-s3/encryption/client.rb +1 -1
  24. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +0 -4
  25. data/lib/aws-sdk-s3/encryptionV2/client.rb +1 -1
  26. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +0 -4
  27. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +0 -4
  28. data/lib/aws-sdk-s3/file_downloader.rb +1 -1
  29. data/lib/aws-sdk-s3/file_uploader.rb +6 -1
  30. data/lib/aws-sdk-s3/multipart_file_uploader.rb +26 -7
  31. data/lib/aws-sdk-s3/multipart_upload.rb +126 -12
  32. data/lib/aws-sdk-s3/multipart_upload_part.rb +134 -14
  33. data/lib/aws-sdk-s3/object.rb +291 -115
  34. data/lib/aws-sdk-s3/object_acl.rb +23 -6
  35. data/lib/aws-sdk-s3/object_summary.rb +207 -80
  36. data/lib/aws-sdk-s3/object_version.rb +66 -39
  37. data/lib/aws-sdk-s3/plugins/accelerate.rb +7 -1
  38. data/lib/aws-sdk-s3/plugins/arn.rb +59 -33
  39. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +1 -1
  40. data/lib/aws-sdk-s3/plugins/dualstack.rb +25 -31
  41. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +6 -0
  42. data/lib/aws-sdk-s3/plugins/md5s.rb +5 -3
  43. data/lib/aws-sdk-s3/plugins/s3_signer.rb +29 -5
  44. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  45. data/lib/aws-sdk-s3/presigned_post.rb +38 -19
  46. data/lib/aws-sdk-s3/presigner.rb +6 -0
  47. data/lib/aws-sdk-s3/resource.rb +18 -0
  48. data/lib/aws-sdk-s3/types.rb +2928 -920
  49. data/lib/aws-sdk-s3.rb +1 -1
  50. metadata +9 -7
@@ -221,6 +221,7 @@ module Aws::S3
221
221
  # },
222
222
  # },
223
223
  # content_md5: "ContentMD5",
224
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
224
225
  # grant_full_control: "GrantFullControl",
225
226
  # grant_read: "GrantRead",
226
227
  # grant_read_acp: "GrantReadACP",
@@ -247,12 +248,28 @@ module Aws::S3
247
248
  # not corrupted in transit. For more information, go to [RFC
248
249
  # 1864.>][1]
249
250
  #
250
- # For requests made using the AWS Command Line Interface (CLI) or AWS
251
- # SDKs, this field is calculated automatically.
251
+ # For requests made using the Amazon Web Services Command Line Interface
252
+ # (CLI) or Amazon Web Services SDKs, this field is calculated
253
+ # automatically.
252
254
  #
253
255
  #
254
256
  #
255
257
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
258
+ # @option options [String] :checksum_algorithm
259
+ # Indicates the algorithm used to create the checksum for the object
260
+ # when using the SDK. This header will not provide any additional
261
+ # functionality if not using the SDK. When sending this header, there
262
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
263
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
264
+ # `400 Bad Request`. For more information, see [Checking object
265
+ # integrity][1] in the *Amazon S3 User Guide*.
266
+ #
267
+ # If you provide an individual checksum, Amazon S3 ignores any provided
268
+ # `ChecksumAlgorithm` parameter.
269
+ #
270
+ #
271
+ #
272
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
256
273
  # @option options [String] :grant_full_control
257
274
  # Allows grantee the read, write, read ACP, and write ACP permissions on
258
275
  # the bucket.
@@ -278,8 +295,8 @@ module Aws::S3
278
295
  # @option options [String] :request_payer
279
296
  # Confirms that the requester knows that they will be charged for the
280
297
  # request. Bucket owners need not specify this parameter in their
281
- # requests. For information about downloading objects from requester
282
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
298
+ # requests. For information about downloading objects from Requester
299
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
283
300
  # in the *Amazon S3 User Guide*.
284
301
  #
285
302
  #
@@ -289,8 +306,8 @@ module Aws::S3
289
306
  # VersionId used to reference a specific version of the object.
290
307
  # @option options [String] :expected_bucket_owner
291
308
  # The account ID of the expected bucket owner. If the bucket is owned by
292
- # a different account, the request will fail with an HTTP `403 (Access
293
- # Denied)` error.
309
+ # a different account, the request fails with the HTTP status code `403
310
+ # Forbidden` (access denied).
294
311
  # @return [Types::PutObjectAclOutput]
295
312
  def put(options = {})
296
313
  options = options.merge(
@@ -55,13 +55,14 @@ 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
@@ -71,6 +72,12 @@ module Aws::S3
71
72
  data[:etag]
72
73
  end
73
74
 
75
+ # The algorithm that was used to create a checksum of the object.
76
+ # @return [Array<String>]
77
+ def checksum_algorithm
78
+ data[:checksum_algorithm]
79
+ end
80
+
74
81
  # Size in bytes of the object
75
82
  # @return [Integer]
76
83
  def size
@@ -275,6 +282,7 @@ module Aws::S3
275
282
  # object_summary.copy_from({
276
283
  # acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
277
284
  # cache_control: "CacheControl",
285
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
278
286
  # content_disposition: "ContentDisposition",
279
287
  # content_encoding: "ContentEncoding",
280
288
  # content_language: "ContentLanguage",
@@ -295,7 +303,7 @@ module Aws::S3
295
303
  # metadata_directive: "COPY", # accepts COPY, REPLACE
296
304
  # tagging_directive: "COPY", # accepts COPY, REPLACE
297
305
  # 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, OUTPOSTS
306
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
299
307
  # website_redirect_location: "WebsiteRedirectLocation",
300
308
  # sse_customer_algorithm: "SSECustomerAlgorithm",
301
309
  # sse_customer_key: "SSECustomerKey",
@@ -321,6 +329,14 @@ module Aws::S3
321
329
  # This action is not supported by Amazon S3 on Outposts.
322
330
  # @option options [String] :cache_control
323
331
  # Specifies caching behavior along the request/reply chain.
332
+ # @option options [String] :checksum_algorithm
333
+ # Indicates the algorithm you want Amazon S3 to use to create the
334
+ # checksum for the object. For more information, see [Checking object
335
+ # integrity][1] in the *Amazon S3 User Guide*.
336
+ #
337
+ #
338
+ #
339
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
324
340
  # @option options [String] :content_disposition
325
341
  # Specifies presentational information for the object.
326
342
  # @option options [String] :content_encoding
@@ -340,8 +356,8 @@ module Aws::S3
340
356
  # of the source bucket and the key of the source object, separated by
341
357
  # a slash (/). For example, to copy the object `reports/january.pdf`
342
358
  # from the bucket `awsexamplebucket`, use
343
- # `awsexamplebucket/reports/january.pdf`. The value must be URL
344
- # encoded.
359
+ # `awsexamplebucket/reports/january.pdf`. The value must be
360
+ # URL-encoded.
345
361
  #
346
362
  # * For objects accessed through access points, specify the Amazon
347
363
  # Resource Name (ARN) of the object as accessed through the access
@@ -354,7 +370,8 @@ module Aws::S3
354
370
  # The value must be URL encoded.
355
371
  #
356
372
  # <note markdown="1"> Amazon S3 supports copy operations using access points only when the
357
- # source and destination buckets are in the same AWS Region.
373
+ # source and destination buckets are in the same Amazon Web Services
374
+ # Region.
358
375
  #
359
376
  # </note>
360
377
  #
@@ -365,7 +382,7 @@ module Aws::S3
365
382
  # outpost `my-outpost` owned by account `123456789012` in Region
366
383
  # `us-west-2`, use the URL encoding of
367
384
  # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
368
- # The value must be URL encoded.
385
+ # The value must be URL-encoded.
369
386
  #
370
387
  # To copy a specific version of an object, append
371
388
  # `?versionId=<version-id>` to the value (for example,
@@ -445,20 +462,21 @@ module Aws::S3
445
462
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
446
463
  # ensure that the encryption key was transmitted without error.
447
464
  # @option options [String] :ssekms_key_id
448
- # Specifies the AWS KMS key ID to use for object encryption. All GET and
449
- # PUT requests for an object protected by AWS KMS will fail if not made
450
- # via SSL or using SigV4. For information about configuring using any of
451
- # the officially supported AWS SDKs and AWS CLI, see [Specifying the
452
- # Signature Version in Request Authentication][1] in the *Amazon S3 User
453
- # Guide*.
465
+ # Specifies the Amazon Web Services KMS key ID to use for object
466
+ # encryption. All GET and PUT requests for an object protected by Amazon
467
+ # Web Services KMS will fail if not made via SSL or using SigV4. For
468
+ # information about configuring using any of the officially supported
469
+ # Amazon Web Services SDKs and Amazon Web Services CLI, see [Specifying
470
+ # the Signature Version in Request Authentication][1] in the *Amazon S3
471
+ # User Guide*.
454
472
  #
455
473
  #
456
474
  #
457
475
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
458
476
  # @option options [String] :ssekms_encryption_context
459
- # Specifies the AWS KMS Encryption Context to use for object encryption.
460
- # The value of this header is a base64-encoded UTF-8 string holding JSON
461
- # with the encryption context key-value pairs.
477
+ # Specifies the Amazon Web Services KMS Encryption Context to use for
478
+ # object encryption. The value of this header is a base64-encoded UTF-8
479
+ # string holding JSON with the encryption context key-value pairs.
462
480
  # @option options [Boolean] :bucket_key_enabled
463
481
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
464
482
  # encryption with server-side encryption using AWS KMS (SSE-KMS).
@@ -481,8 +499,8 @@ module Aws::S3
481
499
  # @option options [String] :request_payer
482
500
  # Confirms that the requester knows that they will be charged for the
483
501
  # request. Bucket owners need not specify this parameter in their
484
- # requests. For information about downloading objects from requester
485
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
502
+ # requests. For information about downloading objects from Requester
503
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
486
504
  # in the *Amazon S3 User Guide*.
487
505
  #
488
506
  #
@@ -498,15 +516,15 @@ module Aws::S3
498
516
  # The date and time when you want the copied object's Object Lock to
499
517
  # expire.
500
518
  # @option options [String] :object_lock_legal_hold_status
501
- # Specifies whether you want to apply a Legal Hold to the copied object.
519
+ # Specifies whether you want to apply a legal hold to the copied object.
502
520
  # @option options [String] :expected_bucket_owner
503
521
  # The account ID of the expected destination bucket owner. If the
504
- # destination bucket is owned by a different account, the request will
505
- # fail with an HTTP `403 (Access Denied)` error.
522
+ # destination bucket is owned by a different account, the request fails
523
+ # with the HTTP status code `403 Forbidden` (access denied).
506
524
  # @option options [String] :expected_source_bucket_owner
507
525
  # The account ID of the expected source bucket owner. If the source
508
- # bucket is owned by a different account, the request will fail with an
509
- # HTTP `403 (Access Denied)` error.
526
+ # bucket is owned by a different account, the request fails with the
527
+ # HTTP status code `403 Forbidden` (access denied).
510
528
  # @return [Types::CopyObjectOutput]
511
529
  def copy_from(options = {})
512
530
  options = options.merge(
@@ -537,8 +555,8 @@ module Aws::S3
537
555
  # @option options [String] :request_payer
538
556
  # Confirms that the requester knows that they will be charged for the
539
557
  # request. Bucket owners need not specify this parameter in their
540
- # requests. For information about downloading objects from requester
541
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
558
+ # requests. For information about downloading objects from Requester
559
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
542
560
  # in the *Amazon S3 User Guide*.
543
561
  #
544
562
  #
@@ -546,11 +564,12 @@ module Aws::S3
546
564
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
547
565
  # @option options [Boolean] :bypass_governance_retention
548
566
  # Indicates whether S3 Object Lock should bypass Governance-mode
549
- # restrictions to process this operation.
567
+ # restrictions to process this operation. To use this header, you must
568
+ # have the `s3:BypassGovernanceRetention` permission.
550
569
  # @option options [String] :expected_bucket_owner
551
570
  # The account ID of the expected bucket owner. If the bucket is owned by
552
- # a different account, the request will fail with an HTTP `403 (Access
553
- # Denied)` error.
571
+ # a different account, the request fails with the HTTP status code `403
572
+ # Forbidden` (access denied).
554
573
  # @return [Types::DeleteObjectOutput]
555
574
  def delete(options = {})
556
575
  options = options.merge(
@@ -582,20 +601,21 @@ module Aws::S3
582
601
  # request_payer: "requester", # accepts requester
583
602
  # part_number: 1,
584
603
  # expected_bucket_owner: "AccountId",
604
+ # checksum_mode: "ENABLED", # accepts ENABLED
585
605
  # })
586
606
  # @param [Hash] options ({})
587
607
  # @option options [String] :if_match
588
608
  # Return the object only if its entity tag (ETag) is the same as the one
589
- # specified, otherwise return a 412 (precondition failed).
609
+ # specified; otherwise, return a 412 (precondition failed) error.
590
610
  # @option options [Time,DateTime,Date,Integer,String] :if_modified_since
591
611
  # Return the object only if it has been modified since the specified
592
- # time, otherwise return a 304 (not modified).
612
+ # time; otherwise, return a 304 (not modified) error.
593
613
  # @option options [String] :if_none_match
594
614
  # Return the object only if its entity tag (ETag) is different from the
595
- # one specified, otherwise return a 304 (not modified).
615
+ # one specified; otherwise, return a 304 (not modified) error.
596
616
  # @option options [Time,DateTime,Date,Integer,String] :if_unmodified_since
597
617
  # Return the object only if it has not been modified since the specified
598
- # time, otherwise return a 412 (precondition failed).
618
+ # time; otherwise, return a 412 (precondition failed) error.
599
619
  # @option options [String] :range
600
620
  # Downloads the specified range bytes of an object. For more information
601
621
  # about the HTTP Range header, see
@@ -639,8 +659,8 @@ module Aws::S3
639
659
  # @option options [String] :request_payer
640
660
  # Confirms that the requester knows that they will be charged for the
641
661
  # request. Bucket owners need not specify this parameter in their
642
- # requests. For information about downloading objects from requester
643
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
662
+ # requests. For information about downloading objects from Requester
663
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
644
664
  # in the *Amazon S3 User Guide*.
645
665
  #
646
666
  #
@@ -653,8 +673,10 @@ module Aws::S3
653
673
  # object.
654
674
  # @option options [String] :expected_bucket_owner
655
675
  # The account ID of the expected bucket owner. If the bucket is owned by
656
- # a different account, the request will fail with an HTTP `403 (Access
657
- # Denied)` error.
676
+ # a different account, the request fails with the HTTP status code `403
677
+ # Forbidden` (access denied).
678
+ # @option options [String] :checksum_mode
679
+ # To retrieve the checksum, this mode must be enabled.
658
680
  # @return [Types::GetObjectOutput]
659
681
  def get(options = {}, &block)
660
682
  options = options.merge(
@@ -683,7 +705,7 @@ module Aws::S3
683
705
  # "MetadataKey" => "MetadataValue",
684
706
  # },
685
707
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
686
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
708
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
687
709
  # website_redirect_location: "WebsiteRedirectLocation",
688
710
  # sse_customer_algorithm: "SSECustomerAlgorithm",
689
711
  # sse_customer_key: "SSECustomerKey",
@@ -697,6 +719,7 @@ module Aws::S3
697
719
  # object_lock_retain_until_date: Time.now,
698
720
  # object_lock_legal_hold_status: "ON", # accepts ON, OFF
699
721
  # expected_bucket_owner: "AccountId",
722
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
700
723
  # })
701
724
  # @param [Hash] options ({})
702
725
  # @option options [String] :acl
@@ -768,20 +791,21 @@ module Aws::S3
768
791
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
769
792
  # ensure that the encryption key was transmitted without error.
770
793
  # @option options [String] :ssekms_key_id
771
- # Specifies the ID of the symmetric customer managed AWS KMS CMK to use
772
- # for object encryption. All GET and PUT requests for an object
773
- # protected by AWS KMS will fail if not made via SSL or using SigV4. For
774
- # information about configuring using any of the officially supported
775
- # AWS SDKs and AWS CLI, see [Specifying the Signature Version in Request
776
- # Authentication][1] in the *Amazon S3 User Guide*.
794
+ # Specifies the ID of the symmetric customer managed key to use for
795
+ # object encryption. All GET and PUT requests for an object protected by
796
+ # Amazon Web Services KMS will fail if not made via SSL or using SigV4.
797
+ # For information about configuring using any of the officially
798
+ # supported Amazon Web Services SDKs and Amazon Web Services CLI, see
799
+ # [Specifying the Signature Version in Request Authentication][1] in the
800
+ # *Amazon S3 User Guide*.
777
801
  #
778
802
  #
779
803
  #
780
804
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
781
805
  # @option options [String] :ssekms_encryption_context
782
- # Specifies the AWS KMS Encryption Context to use for object encryption.
783
- # The value of this header is a base64-encoded UTF-8 string holding JSON
784
- # with the encryption context key-value pairs.
806
+ # Specifies the Amazon Web Services KMS Encryption Context to use for
807
+ # object encryption. The value of this header is a base64-encoded UTF-8
808
+ # string holding JSON with the encryption context key-value pairs.
785
809
  # @option options [Boolean] :bucket_key_enabled
786
810
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
787
811
  # encryption with server-side encryption using AWS KMS (SSE-KMS).
@@ -793,8 +817,8 @@ module Aws::S3
793
817
  # @option options [String] :request_payer
794
818
  # Confirms that the requester knows that they will be charged for the
795
819
  # request. Bucket owners need not specify this parameter in their
796
- # requests. For information about downloading objects from requester
797
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
820
+ # requests. For information about downloading objects from Requester
821
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
798
822
  # in the *Amazon S3 User Guide*.
799
823
  #
800
824
  #
@@ -809,12 +833,20 @@ module Aws::S3
809
833
  # @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
810
834
  # Specifies the date and time when you want the Object Lock to expire.
811
835
  # @option options [String] :object_lock_legal_hold_status
812
- # Specifies whether you want to apply a Legal Hold to the uploaded
836
+ # Specifies whether you want to apply a legal hold to the uploaded
813
837
  # object.
814
838
  # @option options [String] :expected_bucket_owner
815
839
  # The account ID of the expected bucket owner. If the bucket is owned by
816
- # a different account, the request will fail with an HTTP `403 (Access
817
- # Denied)` error.
840
+ # a different account, the request fails with the HTTP status code `403
841
+ # Forbidden` (access denied).
842
+ # @option options [String] :checksum_algorithm
843
+ # Indicates the algorithm you want Amazon S3 to use to create the
844
+ # checksum for the object. For more information, see [Checking object
845
+ # integrity][1] in the *Amazon S3 User Guide*.
846
+ #
847
+ #
848
+ #
849
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
818
850
  # @return [MultipartUpload]
819
851
  def initiate_multipart_upload(options = {})
820
852
  options = options.merge(
@@ -842,6 +874,11 @@ module Aws::S3
842
874
  # content_length: 1,
843
875
  # content_md5: "ContentMD5",
844
876
  # content_type: "ContentType",
877
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
878
+ # checksum_crc32: "ChecksumCRC32",
879
+ # checksum_crc32c: "ChecksumCRC32C",
880
+ # checksum_sha1: "ChecksumSHA1",
881
+ # checksum_sha256: "ChecksumSHA256",
845
882
  # expires: Time.now,
846
883
  # grant_full_control: "GrantFullControl",
847
884
  # grant_read: "GrantRead",
@@ -851,7 +888,7 @@ module Aws::S3
851
888
  # "MetadataKey" => "MetadataValue",
852
889
  # },
853
890
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
854
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
891
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
855
892
  # website_redirect_location: "WebsiteRedirectLocation",
856
893
  # sse_customer_algorithm: "SSECustomerAlgorithm",
857
894
  # sse_customer_key: "SSECustomerKey",
@@ -933,6 +970,61 @@ module Aws::S3
933
970
  #
934
971
  #
935
972
  # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
973
+ # @option options [String] :checksum_algorithm
974
+ # Indicates the algorithm used to create the checksum for the object
975
+ # when using the SDK. This header will not provide any additional
976
+ # functionality if not using the SDK. When sending this header, there
977
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
978
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
979
+ # `400 Bad Request`. For more information, see [Checking object
980
+ # integrity][1] in the *Amazon S3 User Guide*.
981
+ #
982
+ # If you provide an individual checksum, Amazon S3 ignores any provided
983
+ # `ChecksumAlgorithm` parameter.
984
+ #
985
+ #
986
+ #
987
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
988
+ # @option options [String] :checksum_crc32
989
+ # This header can be used as a data integrity check to verify that the
990
+ # data received is the same data that was originally sent. This header
991
+ # specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
992
+ # more information, see [Checking object integrity][1] in the *Amazon S3
993
+ # User Guide*.
994
+ #
995
+ #
996
+ #
997
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
998
+ # @option options [String] :checksum_crc32c
999
+ # This header can be used as a data integrity check to verify that the
1000
+ # data received is the same data that was originally sent. This header
1001
+ # specifies the base64-encoded, 32-bit CRC32C checksum of the object.
1002
+ # For more information, see [Checking object integrity][1] in the
1003
+ # *Amazon S3 User Guide*.
1004
+ #
1005
+ #
1006
+ #
1007
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1008
+ # @option options [String] :checksum_sha1
1009
+ # This header can be used as a data integrity check to verify that the
1010
+ # data received is the same data that was originally sent. This header
1011
+ # specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
1012
+ # more information, see [Checking object integrity][1] in the *Amazon S3
1013
+ # User Guide*.
1014
+ #
1015
+ #
1016
+ #
1017
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1018
+ # @option options [String] :checksum_sha256
1019
+ # This header can be used as a data integrity check to verify that the
1020
+ # data received is the same data that was originally sent. This header
1021
+ # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
1022
+ # For more information, see [Checking object integrity][1] in the
1023
+ # *Amazon S3 User Guide*.
1024
+ #
1025
+ #
1026
+ #
1027
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
936
1028
  # @option options [Time,DateTime,Date,Integer,String] :expires
937
1029
  # The date and time at which the object is no longer cacheable. For more
938
1030
  # information, see
@@ -1014,18 +1106,18 @@ module Aws::S3
1014
1106
  # ensure that the encryption key was transmitted without error.
1015
1107
  # @option options [String] :ssekms_key_id
1016
1108
  # If `x-amz-server-side-encryption` is present and has the value of
1017
- # `aws:kms`, this header specifies the ID of the AWS Key Management
1018
- # Service (AWS KMS) symmetrical customer managed customer master key
1019
- # (CMK) that was used for the object. If you specify
1109
+ # `aws:kms`, this header specifies the ID of the Amazon Web Services Key
1110
+ # Management Service (Amazon Web Services KMS) symmetrical customer
1111
+ # managed key that was used for the object. If you specify
1020
1112
  # `x-amz-server-side-encryption:aws:kms`, but do not provide`
1021
- # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the AWS
1022
- # managed CMK in AWS to protect the data. If the KMS key does not exist
1023
- # in the same account issuing the command, you must use the full ARN and
1024
- # not just the ID.
1113
+ # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
1114
+ # Amazon Web Services managed key to protect the data. If the KMS key
1115
+ # does not exist in the same account issuing the command, you must use
1116
+ # the full ARN and not just the ID.
1025
1117
  # @option options [String] :ssekms_encryption_context
1026
- # Specifies the AWS KMS Encryption Context to use for object encryption.
1027
- # The value of this header is a base64-encoded UTF-8 string holding JSON
1028
- # with the encryption context key-value pairs.
1118
+ # Specifies the Amazon Web Services KMS Encryption Context to use for
1119
+ # object encryption. The value of this header is a base64-encoded UTF-8
1120
+ # string holding JSON with the encryption context key-value pairs.
1029
1121
  # @option options [Boolean] :bucket_key_enabled
1030
1122
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
1031
1123
  # encryption with server-side encryption using AWS KMS (SSE-KMS).
@@ -1037,8 +1129,8 @@ module Aws::S3
1037
1129
  # @option options [String] :request_payer
1038
1130
  # Confirms that the requester knows that they will be charged for the
1039
1131
  # request. Bucket owners need not specify this parameter in their
1040
- # requests. For information about downloading objects from requester
1041
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
1132
+ # requests. For information about downloading objects from Requester
1133
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
1042
1134
  # in the *Amazon S3 User Guide*.
1043
1135
  #
1044
1136
  #
@@ -1061,8 +1153,8 @@ module Aws::S3
1061
1153
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
1062
1154
  # @option options [String] :expected_bucket_owner
1063
1155
  # The account ID of the expected bucket owner. If the bucket is owned by
1064
- # a different account, the request will fail with an HTTP `403 (Access
1065
- # Denied)` error.
1156
+ # a different account, the request fails with the HTTP status code `403
1157
+ # Forbidden` (access denied).
1066
1158
  # @return [Types::PutObjectOutput]
1067
1159
  def put(options = {})
1068
1160
  options = options.merge(
@@ -1154,11 +1246,12 @@ module Aws::S3
1154
1246
  # value: "MetadataValue",
1155
1247
  # },
1156
1248
  # ],
1157
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
1249
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
1158
1250
  # },
1159
1251
  # },
1160
1252
  # },
1161
1253
  # request_payer: "requester", # accepts requester
1254
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
1162
1255
  # expected_bucket_owner: "AccountId",
1163
1256
  # })
1164
1257
  # @param [Hash] options ({})
@@ -1169,17 +1262,32 @@ module Aws::S3
1169
1262
  # @option options [String] :request_payer
1170
1263
  # Confirms that the requester knows that they will be charged for the
1171
1264
  # request. Bucket owners need not specify this parameter in their
1172
- # requests. For information about downloading objects from requester
1173
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
1265
+ # requests. For information about downloading objects from Requester
1266
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
1174
1267
  # in the *Amazon S3 User Guide*.
1175
1268
  #
1176
1269
  #
1177
1270
  #
1178
1271
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
1272
+ # @option options [String] :checksum_algorithm
1273
+ # Indicates the algorithm used to create the checksum for the object
1274
+ # when using the SDK. This header will not provide any additional
1275
+ # functionality if not using the SDK. When sending this header, there
1276
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
1277
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
1278
+ # `400 Bad Request`. For more information, see [Checking object
1279
+ # integrity][1] in the *Amazon S3 User Guide*.
1280
+ #
1281
+ # If you provide an individual checksum, Amazon S3 ignores any provided
1282
+ # `ChecksumAlgorithm` parameter.
1283
+ #
1284
+ #
1285
+ #
1286
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1179
1287
  # @option options [String] :expected_bucket_owner
1180
1288
  # The account ID of the expected bucket owner. If the bucket is owned by
1181
- # a different account, the request will fail with an HTTP `403 (Access
1182
- # Denied)` error.
1289
+ # a different account, the request fails with the HTTP status code `403
1290
+ # Forbidden` (access denied).
1183
1291
  # @return [Types::RestoreObjectOutput]
1184
1292
  def restore_object(options = {})
1185
1293
  options = options.merge(
@@ -1312,6 +1420,7 @@ module Aws::S3
1312
1420
  # request_payer: "requester", # accepts requester
1313
1421
  # bypass_governance_retention: false,
1314
1422
  # expected_bucket_owner: "AccountId",
1423
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
1315
1424
  # })
1316
1425
  # @param options ({})
1317
1426
  # @option options [String] :mfa
@@ -1322,8 +1431,8 @@ module Aws::S3
1322
1431
  # @option options [String] :request_payer
1323
1432
  # Confirms that the requester knows that they will be charged for the
1324
1433
  # request. Bucket owners need not specify this parameter in their
1325
- # requests. For information about downloading objects from requester
1326
- # pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
1434
+ # requests. For information about downloading objects from Requester
1435
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
1327
1436
  # in the *Amazon S3 User Guide*.
1328
1437
  #
1329
1438
  #
@@ -1331,12 +1440,30 @@ module Aws::S3
1331
1440
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
1332
1441
  # @option options [Boolean] :bypass_governance_retention
1333
1442
  # Specifies whether you want to delete this object even if it has a
1334
- # Governance-type Object Lock in place. You must have sufficient
1335
- # permissions to perform this operation.
1443
+ # Governance-type Object Lock in place. To use this header, you must
1444
+ # have the `s3:BypassGovernanceRetention` permission.
1336
1445
  # @option options [String] :expected_bucket_owner
1337
1446
  # The account ID of the expected bucket owner. If the bucket is owned by
1338
- # a different account, the request will fail with an HTTP `403 (Access
1339
- # Denied)` error.
1447
+ # a different account, the request fails with the HTTP status code `403
1448
+ # Forbidden` (access denied).
1449
+ # @option options [String] :checksum_algorithm
1450
+ # Indicates the algorithm used to create the checksum for the object
1451
+ # when using the SDK. This header will not provide any additional
1452
+ # functionality if not using the SDK. When sending this header, there
1453
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
1454
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
1455
+ # `400 Bad Request`. For more information, see [Checking object
1456
+ # integrity][1] in the *Amazon S3 User Guide*.
1457
+ #
1458
+ # If you provide an individual checksum, Amazon S3 ignores any provided
1459
+ # `ChecksumAlgorithm` parameter.
1460
+ #
1461
+ # This checksum algorithm must be the same for all parts and it match
1462
+ # the checksum value supplied in the `CreateMultipartUpload` request.
1463
+ #
1464
+ #
1465
+ #
1466
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
1340
1467
  # @return [void]
1341
1468
  def batch_delete!(options = {})
1342
1469
  batch_enum.each do |batch|