aws-sdk-s3 1.169.0 → 1.189.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 (59) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +118 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +79 -33
  5. data/lib/aws-sdk-s3/bucket_acl.rb +6 -5
  6. data/lib/aws-sdk-s3/bucket_cors.rb +6 -5
  7. data/lib/aws-sdk-s3/bucket_lifecycle.rb +7 -2
  8. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +22 -2
  9. data/lib/aws-sdk-s3/bucket_logging.rb +2 -2
  10. data/lib/aws-sdk-s3/bucket_policy.rb +6 -5
  11. data/lib/aws-sdk-s3/bucket_request_payment.rb +3 -3
  12. data/lib/aws-sdk-s3/bucket_tagging.rb +3 -3
  13. data/lib/aws-sdk-s3/bucket_versioning.rb +9 -9
  14. data/lib/aws-sdk-s3/bucket_website.rb +3 -3
  15. data/lib/aws-sdk-s3/client.rb +2529 -1652
  16. data/lib/aws-sdk-s3/client_api.rb +325 -160
  17. data/lib/aws-sdk-s3/endpoint_provider.rb +400 -276
  18. data/lib/aws-sdk-s3/endpoints.rb +42 -0
  19. data/lib/aws-sdk-s3/errors.rb +44 -0
  20. data/lib/aws-sdk-s3/file_downloader.rb +14 -31
  21. data/lib/aws-sdk-s3/multipart_file_uploader.rb +31 -13
  22. data/lib/aws-sdk-s3/multipart_upload.rb +83 -6
  23. data/lib/aws-sdk-s3/multipart_upload_part.rb +50 -34
  24. data/lib/aws-sdk-s3/object.rb +242 -114
  25. data/lib/aws-sdk-s3/object_acl.rb +11 -5
  26. data/lib/aws-sdk-s3/object_summary.rb +180 -82
  27. data/lib/aws-sdk-s3/object_version.rb +60 -13
  28. data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
  29. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +11 -20
  30. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +3 -3
  31. data/lib/aws-sdk-s3/plugins/md5s.rb +10 -71
  32. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +5 -7
  33. data/lib/aws-sdk-s3/presigner.rb +5 -5
  34. data/lib/aws-sdk-s3/resource.rb +10 -9
  35. data/lib/aws-sdk-s3/types.rb +2300 -1050
  36. data/lib/aws-sdk-s3.rb +1 -1
  37. data/sig/bucket.rbs +12 -6
  38. data/sig/bucket_acl.rbs +1 -1
  39. data/sig/bucket_cors.rbs +1 -1
  40. data/sig/bucket_lifecycle.rbs +1 -1
  41. data/sig/bucket_lifecycle_configuration.rbs +1 -1
  42. data/sig/bucket_logging.rbs +1 -1
  43. data/sig/bucket_policy.rbs +1 -1
  44. data/sig/bucket_request_payment.rbs +1 -1
  45. data/sig/bucket_tagging.rbs +1 -1
  46. data/sig/bucket_versioning.rbs +3 -3
  47. data/sig/bucket_website.rbs +1 -1
  48. data/sig/client.rbs +104 -37
  49. data/sig/errors.rbs +8 -0
  50. data/sig/multipart_upload.rbs +11 -2
  51. data/sig/multipart_upload_part.rbs +5 -1
  52. data/sig/object.rbs +22 -6
  53. data/sig/object_acl.rbs +1 -1
  54. data/sig/object_summary.rbs +17 -7
  55. data/sig/object_version.rbs +9 -3
  56. data/sig/resource.rbs +5 -3
  57. data/sig/types.rbs +153 -36
  58. metadata +7 -10
  59. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +0 -31
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9d015103eeb47bf30a6af433aebe62191650329d2bff8259d20a3dbe6c6ad4e6
4
- data.tar.gz: 8dc0a363c75d83d7347b4c367b3d86607fb290d435e29a9f0f3236e220002f5f
3
+ metadata.gz: ae58994c1512918e170097aae95452a05fdd0c9ad95ce13ea9559c3c8438e8c6
4
+ data.tar.gz: 4861cc5124a16b439df8af20127942ea21b7966cceb4025bd9e48a665cb343a6
5
5
  SHA512:
6
- metadata.gz: 67351d730ed219a3fab72e10dd6877b7b5851b5e76ce1ceb2faab336f9cf912852502b1ee129bafbbc4fe529ff8c2b43d21b47289388236f4f18f648600c96f4
7
- data.tar.gz: b10db38f2dc2e72f26cc76bfa58893ada9b3316692ece2fe0b00869c60175620a306bee5a2bf289a700cdee8035b253473459f25bb638d9dbbd35ecb6cb25a1c
6
+ metadata.gz: c6ea0978d3a66afe2a4772524d04fe1dbacbfeada078fd9b26215027fb3be5995a79151c0300225af87dcd4b4270a1954f35a7624f7132d1d3b73e1283aec8bf
7
+ data.tar.gz: 4533105b3b29e4178249031491e50bf65b27674db36426ede6a763bd73d2605abde54efe4d2c0ee5fdf37967fc92d5a22f0f1b456c512d9cda1ee0d09b30354c
data/CHANGELOG.md CHANGED
@@ -1,6 +1,124 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.189.0 (2025-06-02)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.188.0 (2025-05-29)
10
+ ------------------
11
+
12
+ * Feature - Adding checksum support for S3 PutBucketOwnershipControls API.
13
+
14
+ 1.187.0 (2025-05-28)
15
+ ------------------
16
+
17
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
18
+
19
+ * Issue - Signal data in http response listeners prior to writing, so that data can be inspected or verified before potential mutation.
20
+
21
+ 1.186.1 (2025-05-15)
22
+ ------------------
23
+ * Issue - Abort multipart download if object is modified during download.
24
+
25
+ 1.186.0 (2025-05-12)
26
+ ------------------
27
+
28
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
29
+
30
+ 1.185.0 (2025-05-01)
31
+ ------------------
32
+
33
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
34
+
35
+ 1.184.0 (2025-04-28)
36
+ ------------------
37
+
38
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
39
+
40
+ 1.183.0 (2025-03-31)
41
+ ------------------
42
+
43
+ * Feature - Amazon S3 adds support for S3 Access Points for directory buckets in AWS Dedicated Local Zones
44
+
45
+ 1.182.0 (2025-02-18)
46
+ ------------------
47
+
48
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
49
+
50
+ 1.181.0 (2025-02-14)
51
+ ------------------
52
+
53
+ * Feature - Added support for Content-Range header in HeadObject response.
54
+
55
+ 1.180.0 (2025-02-06)
56
+ ------------------
57
+
58
+ * Feature - Updated list of the valid AWS Region values for the LocationConstraint parameter for general purpose buckets.
59
+
60
+ 1.179.0 (2025-01-29)
61
+ ------------------
62
+
63
+ * Feature - Change the type of MpuObjectSize in CompleteMultipartUploadRequest from int to long.
64
+
65
+ 1.178.0 (2025-01-15)
66
+ ------------------
67
+
68
+ * Feature - This change enhances integrity protections for new SDK requests to S3. S3 SDKs now support the CRC64NVME checksum algorithm, full object checksums for multipart S3 objects, and new default integrity protections for S3 requests.
69
+
70
+ * Feature - Default to using `CRC32` checksum validation for S3 uploads and downloads.
71
+
72
+ 1.177.0 (2025-01-03)
73
+ ------------------
74
+
75
+ * Feature - This change is only for updating the model regexp of CopySource which is not for validation but only for documentation and user guide change.
76
+
77
+ 1.176.1 (2024-12-12)
78
+ ------------------
79
+
80
+ * Issue - Do not normalize object keys when calling `presigned_url` or `presigned_request`.
81
+
82
+ 1.176.0 (2024-12-03)
83
+ ------------------
84
+
85
+ * Feature - Amazon S3 Metadata stores object metadata in read-only, fully managed Apache Iceberg metadata tables that you can query. You can create metadata table configurations for S3 general purpose buckets.
86
+
87
+ 1.175.0 (2024-12-02)
88
+ ------------------
89
+
90
+ * Feature - Amazon S3 introduces support for AWS Dedicated Local Zones
91
+
92
+ 1.174.0 (2024-11-25)
93
+ ------------------
94
+
95
+ * Feature - Amazon Simple Storage Service / Features: Add support for ETag based conditional writes in PutObject and CompleteMultiPartUpload APIs to prevent unintended object modifications.
96
+
97
+ 1.173.0 (2024-11-21)
98
+ ------------------
99
+
100
+ * Feature - Add support for conditional deletes for the S3 DeleteObject and DeleteObjects APIs. Add support for write offset bytes option used to append to objects with the S3 PutObject API.
101
+
102
+ 1.172.0 (2024-11-18)
103
+ ------------------
104
+
105
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
106
+
107
+ 1.171.0 (2024-11-14)
108
+ ------------------
109
+
110
+ * Feature - This release updates the ListBuckets API Reference documentation in support of the new 10,000 general purpose bucket default quota on all AWS accounts. To increase your bucket quota from 10,000 to up to 1 million buckets, simply request a quota increase via Service Quotas.
111
+
112
+ 1.170.1 (2024-11-11)
113
+ ------------------
114
+
115
+ * Issue - Tighten regex used to check for S3 200 errors.
116
+
117
+ 1.170.0 (2024-11-06)
118
+ ------------------
119
+
120
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
121
+
4
122
  1.169.0 (2024-10-18)
5
123
  ------------------
6
124
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.169.0
1
+ 1.189.0
@@ -237,13 +237,13 @@ module Aws::S3
237
237
  # bucket.create({
238
238
  # acl: "private", # accepts private, public-read, public-read-write, authenticated-read
239
239
  # create_bucket_configuration: {
240
- # location_constraint: "af-south-1", # accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-south-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ca-central-1, cn-north-1, cn-northwest-1, EU, eu-central-1, eu-north-1, eu-south-1, eu-south-2, eu-west-1, eu-west-2, eu-west-3, me-south-1, sa-east-1, us-east-2, us-gov-east-1, us-gov-west-1, us-west-1, us-west-2
240
+ # location_constraint: "af-south-1", # accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-south-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-southeast-4, ap-southeast-5, ca-central-1, cn-north-1, cn-northwest-1, EU, eu-central-1, eu-central-2, eu-north-1, eu-south-1, eu-south-2, eu-west-1, eu-west-2, eu-west-3, il-central-1, me-central-1, me-south-1, sa-east-1, us-east-2, us-gov-east-1, us-gov-west-1, us-west-1, us-west-2
241
241
  # location: {
242
- # type: "AvailabilityZone", # accepts AvailabilityZone
242
+ # type: "AvailabilityZone", # accepts AvailabilityZone, LocalZone
243
243
  # name: "LocationNameAsString",
244
244
  # },
245
245
  # bucket: {
246
- # data_redundancy: "SingleAvailabilityZone", # accepts SingleAvailabilityZone
246
+ # data_redundancy: "SingleAvailabilityZone", # accepts SingleAvailabilityZone, SingleLocalZone
247
247
  # type: "Directory", # accepts Directory
248
248
  # },
249
249
  # },
@@ -381,6 +381,9 @@ module Aws::S3
381
381
  # {
382
382
  # key: "ObjectKey", # required
383
383
  # version_id: "ObjectVersionId",
384
+ # etag: "ETag",
385
+ # last_modified_time: Time.now,
386
+ # size: 1,
384
387
  # },
385
388
  # ],
386
389
  # quiet: false,
@@ -389,7 +392,7 @@ module Aws::S3
389
392
  # request_payer: "requester", # accepts requester
390
393
  # bypass_governance_retention: false,
391
394
  # expected_bucket_owner: "AccountId",
392
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
395
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
393
396
  # })
394
397
  # @param [Hash] options ({})
395
398
  # @option options [required, Types::Delete] :delete
@@ -459,6 +462,8 @@ module Aws::S3
459
462
  #
460
463
  # * `CRC32C`
461
464
  #
465
+ # * `CRC64NVME`
466
+ #
462
467
  # * `SHA1`
463
468
  #
464
469
  # * `SHA256`
@@ -468,9 +473,8 @@ module Aws::S3
468
473
  #
469
474
  # If the individual checksum value you provide through
470
475
  # `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
471
- # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 ignores any
472
- # provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
473
- # that matches the provided value in `x-amz-checksum-algorithm `.
476
+ # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
477
+ # request with a `BadDigest` error.
474
478
  #
475
479
  # If you provide an individual checksum, Amazon S3 ignores any provided
476
480
  # `ChecksumAlgorithm` parameter.
@@ -499,18 +503,21 @@ module Aws::S3
499
503
  # content_length: 1,
500
504
  # content_md5: "ContentMD5",
501
505
  # content_type: "ContentType",
502
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
506
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
503
507
  # checksum_crc32: "ChecksumCRC32",
504
508
  # checksum_crc32c: "ChecksumCRC32C",
509
+ # checksum_crc64nvme: "ChecksumCRC64NVME",
505
510
  # checksum_sha1: "ChecksumSHA1",
506
511
  # checksum_sha256: "ChecksumSHA256",
507
512
  # expires: Time.now,
513
+ # if_match: "IfMatch",
508
514
  # if_none_match: "IfNoneMatch",
509
515
  # grant_full_control: "GrantFullControl",
510
516
  # grant_read: "GrantRead",
511
517
  # grant_read_acp: "GrantReadACP",
512
518
  # grant_write_acp: "GrantWriteACP",
513
519
  # key: "ObjectKey", # required
520
+ # write_offset_bytes: 1,
514
521
  # metadata: {
515
522
  # "MetadataKey" => "MetadataValue",
516
523
  # },
@@ -606,7 +613,7 @@ module Aws::S3
606
613
  #
607
614
  # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
608
615
  # @option options [String] :content_md5
609
- # The base64-encoded 128-bit MD5 digest of the message (without the
616
+ # The Base64 encoded 128-bit `MD5` digest of the message (without the
610
617
  # headers) according to RFC 1864. This header can be used as a message
611
618
  # integrity check to verify that the data is the same data that was
612
619
  # originally sent. Although it is optional, we recommend using the
@@ -653,6 +660,8 @@ module Aws::S3
653
660
  #
654
661
  # * `CRC32C`
655
662
  #
663
+ # * `CRC64NVME`
664
+ #
656
665
  # * `SHA1`
657
666
  #
658
667
  # * `SHA256`
@@ -662,9 +671,8 @@ module Aws::S3
662
671
  #
663
672
  # If the individual checksum value you provide through
664
673
  # `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
665
- # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 ignores any
666
- # provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
667
- # that matches the provided value in `x-amz-checksum-algorithm `.
674
+ # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
675
+ # request with a `BadDigest` error.
668
676
  #
669
677
  # <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
670
678
  # for any request to upload an object with a retention period configured
@@ -684,7 +692,7 @@ module Aws::S3
684
692
  # @option options [String] :checksum_crc32
685
693
  # This header can be used as a data integrity check to verify that the
686
694
  # data received is the same data that was originally sent. This header
687
- # specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
695
+ # specifies the Base64 encoded, 32-bit `CRC32` checksum of the object.
688
696
  # For more information, see [Checking object integrity][1] in the
689
697
  # *Amazon S3 User Guide*.
690
698
  #
@@ -694,17 +702,28 @@ module Aws::S3
694
702
  # @option options [String] :checksum_crc32c
695
703
  # This header can be used as a data integrity check to verify that the
696
704
  # data received is the same data that was originally sent. This header
697
- # specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
705
+ # specifies the Base64 encoded, 32-bit `CRC32C` checksum of the object.
698
706
  # For more information, see [Checking object integrity][1] in the
699
707
  # *Amazon S3 User Guide*.
700
708
  #
701
709
  #
702
710
  #
703
711
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
712
+ # @option options [String] :checksum_crc64nvme
713
+ # This header can be used as a data integrity check to verify that the
714
+ # data received is the same data that was originally sent. This header
715
+ # specifies the Base64 encoded, 64-bit `CRC64NVME` checksum of the
716
+ # object. The `CRC64NVME` checksum is always a full object checksum. For
717
+ # more information, see [Checking object integrity in the Amazon S3 User
718
+ # Guide][1].
719
+ #
720
+ #
721
+ #
722
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
704
723
  # @option options [String] :checksum_sha1
705
724
  # This header can be used as a data integrity check to verify that the
706
725
  # data received is the same data that was originally sent. This header
707
- # specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
726
+ # specifies the Base64 encoded, 160-bit `SHA1` digest of the object. For
708
727
  # more information, see [Checking object integrity][1] in the *Amazon S3
709
728
  # User Guide*.
710
729
  #
@@ -714,7 +733,7 @@ module Aws::S3
714
733
  # @option options [String] :checksum_sha256
715
734
  # This header can be used as a data integrity check to verify that the
716
735
  # data received is the same data that was originally sent. This header
717
- # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
736
+ # specifies the Base64 encoded, 256-bit `SHA256` digest of the object.
718
737
  # For more information, see [Checking object integrity][1] in the
719
738
  # *Amazon S3 User Guide*.
720
739
  #
@@ -729,6 +748,25 @@ module Aws::S3
729
748
  #
730
749
  #
731
750
  # [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
751
+ # @option options [String] :if_match
752
+ # Uploads the object only if the ETag (entity tag) value provided during
753
+ # the WRITE operation matches the ETag of the object in S3. If the ETag
754
+ # values do not match, the operation returns a `412 Precondition Failed`
755
+ # error.
756
+ #
757
+ # If a conflicting operation occurs during the upload S3 returns a `409
758
+ # ConditionalRequestConflict` response. On a 409 failure you should
759
+ # fetch the object's ETag and retry the upload.
760
+ #
761
+ # Expects the ETag value as a string.
762
+ #
763
+ # For more information about conditional requests, see [RFC 7232][1], or
764
+ # [Conditional requests][2] in the *Amazon S3 User Guide*.
765
+ #
766
+ #
767
+ #
768
+ # [1]: https://tools.ietf.org/html/rfc7232
769
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
732
770
  # @option options [String] :if_none_match
733
771
  # Uploads the object only if the object key name does not already exist
734
772
  # in the bucket specified. Otherwise, Amazon S3 returns a `412
@@ -782,6 +820,16 @@ module Aws::S3
782
820
  # </note>
783
821
  # @option options [required, String] :key
784
822
  # Object key for which the PUT action was initiated.
823
+ # @option options [Integer] :write_offset_bytes
824
+ # Specifies the offset for appending data to existing objects in bytes.
825
+ # The offset must be equal to the size of the existing object being
826
+ # appended to. If no object exists, setting this header to 0 will create
827
+ # a new object.
828
+ #
829
+ # <note markdown="1"> This functionality is only supported for objects in the Amazon S3
830
+ # Express One Zone storage class in directory buckets.
831
+ #
832
+ # </note>
785
833
  # @option options [Hash<String,String>] :metadata
786
834
  # A map of metadata to store with the object in S3.
787
835
  # @option options [String] :server_side_encryption
@@ -855,8 +903,9 @@ module Aws::S3
855
903
  # a different Storage Class. For more information, see [Storage
856
904
  # Classes][1] in the *Amazon S3 User Guide*.
857
905
  #
858
- # <note markdown="1"> * For directory buckets, only the S3 Express One Zone storage class is
859
- # supported to store newly created objects.
906
+ # <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express One
907
+ # Zone storage class) in Availability Zones and `ONEZONE_IA` (the S3
908
+ # One Zone-Infrequent Access storage class) in Dedicated Local Zones.
860
909
  #
861
910
  # * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
862
911
  #
@@ -934,20 +983,17 @@ module Aws::S3
934
983
  # `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
935
984
  # Amazon Web Services managed key (`aws/s3`) to protect the data.
936
985
  #
937
- # **Directory buckets** - If you specify `x-amz-server-side-encryption`
938
- # with `aws:kms`, the ` x-amz-server-side-encryption-aws-kms-key-id`
939
- # header is implicitly assigned the ID of the KMS symmetric encryption
940
- # customer managed key that's configured for your directory bucket's
941
- # default encryption setting. If you want to specify the `
942
- # x-amz-server-side-encryption-aws-kms-key-id` header explicitly, you
943
- # can only specify it with the ID (Key ID or Key ARN) of the KMS
944
- # customer managed key that's configured for your directory bucket's
945
- # default encryption setting. Otherwise, you get an HTTP `400 Bad
946
- # Request` error. Only use the key ID or key ARN. The key alias format
947
- # of the KMS key isn't supported. Your SSE-KMS configuration can only
948
- # support 1 [customer managed key][1] per directory bucket for the
949
- # lifetime of the bucket. The [Amazon Web Services managed key][2]
950
- # (`aws/s3`) isn't supported.
986
+ # **Directory buckets** - To encrypt data using SSE-KMS, it's
987
+ # recommended to specify the `x-amz-server-side-encryption` header to
988
+ # `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
989
+ # header implicitly uses the bucket's default KMS customer managed key
990
+ # ID. If you want to explicitly set the `
991
+ # x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
992
+ # bucket's default customer managed key (using key ID or ARN, not
993
+ # alias). Your SSE-KMS configuration can only support 1 [customer
994
+ # managed key][1] per directory bucket's lifetime. The [Amazon Web
995
+ # Services managed key][2] (`aws/s3`) isn't supported. Incorrect key
996
+ # specification results in an HTTP `400 Bad Request` error.
951
997
  #
952
998
  #
953
999
  #
@@ -956,7 +1002,7 @@ module Aws::S3
956
1002
  # @option options [String] :ssekms_encryption_context
957
1003
  # Specifies the Amazon Web Services KMS Encryption Context as an
958
1004
  # additional encryption context to use for object encryption. The value
959
- # of this header is a Base64-encoded string of a UTF-8 encoded JSON,
1005
+ # of this header is a Base64 encoded string of a UTF-8 encoded JSON,
960
1006
  # which contains the encryption context as key-value pairs. This value
961
1007
  # is stored as object metadata and automatically gets passed on to
962
1008
  # Amazon Web Services KMS for future `GetObject` operations on this
@@ -207,7 +207,7 @@ module Aws::S3
207
207
  # },
208
208
  # },
209
209
  # content_md5: "ContentMD5",
210
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
210
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
211
211
  # grant_full_control: "GrantFullControl",
212
212
  # grant_read: "GrantRead",
213
213
  # grant_read_acp: "GrantReadACP",
@@ -222,9 +222,10 @@ module Aws::S3
222
222
  # Contains the elements that set the ACL permissions for an object per
223
223
  # grantee.
224
224
  # @option options [String] :content_md5
225
- # The base64-encoded 128-bit MD5 digest of the data. This header must be
226
- # used as a message integrity check to verify that the request body was
227
- # not corrupted in transit. For more information, go to [RFC 1864.][1]
225
+ # The Base64 encoded 128-bit `MD5` digest of the data. This header must
226
+ # be used as a message integrity check to verify that the request body
227
+ # was not corrupted in transit. For more information, go to [RFC
228
+ # 1864.][1]
228
229
  #
229
230
  # For requests made using the Amazon Web Services Command Line Interface
230
231
  # (CLI) or Amazon Web Services SDKs, this field is calculated
@@ -234,7 +235,7 @@ module Aws::S3
234
235
  #
235
236
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
236
237
  # @option options [String] :checksum_algorithm
237
- # Indicates the algorithm used to create the checksum for the object
238
+ # Indicates the algorithm used to create the checksum for the request
238
239
  # when you use the SDK. This header will not provide any additional
239
240
  # functionality if you don't use the SDK. When you send this header,
240
241
  # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
@@ -214,7 +214,7 @@ module Aws::S3
214
214
  # ],
215
215
  # },
216
216
  # content_md5: "ContentMD5",
217
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
217
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
218
218
  # expected_bucket_owner: "AccountId",
219
219
  # })
220
220
  # @param [Hash] options ({})
@@ -227,9 +227,10 @@ module Aws::S3
227
227
  #
228
228
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html
229
229
  # @option options [String] :content_md5
230
- # The base64-encoded 128-bit MD5 digest of the data. This header must be
231
- # used as a message integrity check to verify that the request body was
232
- # not corrupted in transit. For more information, go to [RFC 1864.][1]
230
+ # The Base64 encoded 128-bit `MD5` digest of the data. This header must
231
+ # be used as a message integrity check to verify that the request body
232
+ # was not corrupted in transit. For more information, go to [RFC
233
+ # 1864.][1]
233
234
  #
234
235
  # For requests made using the Amazon Web Services Command Line Interface
235
236
  # (CLI) or Amazon Web Services SDKs, this field is calculated
@@ -239,7 +240,7 @@ module Aws::S3
239
240
  #
240
241
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
241
242
  # @option options [String] :checksum_algorithm
242
- # Indicates the algorithm used to create the checksum for the object
243
+ # Indicates the algorithm used to create the checksum for the request
243
244
  # when you use the SDK. This header will not provide any additional
244
245
  # functionality if you don't use the SDK. When you send this header,
245
246
  # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
@@ -188,6 +188,11 @@ module Aws::S3
188
188
  # The account ID of the expected bucket owner. If the account ID that
189
189
  # you provide does not match the actual owner of the bucket, the request
190
190
  # fails with the HTTP status code `403 Forbidden` (access denied).
191
+ #
192
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
193
+ # supported for directory bucket lifecycle configurations.
194
+ #
195
+ # </note>
191
196
  # @return [EmptyStructure]
192
197
  def delete(options = {})
193
198
  options = options.merge(bucket: @bucket_name)
@@ -201,7 +206,7 @@ module Aws::S3
201
206
  #
202
207
  # bucket_lifecycle.put({
203
208
  # content_md5: "ContentMD5",
204
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
209
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
205
210
  # lifecycle_configuration: {
206
211
  # rules: [ # required
207
212
  # {
@@ -241,7 +246,7 @@ module Aws::S3
241
246
  # (CLI) or Amazon Web Services SDKs, this field is calculated
242
247
  # automatically.
243
248
  # @option options [String] :checksum_algorithm
244
- # Indicates the algorithm used to create the checksum for the object
249
+ # Indicates the algorithm used to create the checksum for the request
245
250
  # when you use the SDK. This header will not provide any additional
246
251
  # functionality if you don't use the SDK. When you send this header,
247
252
  # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
@@ -43,6 +43,11 @@ module Aws::S3
43
43
  # Indicates which default minimum object size behavior is applied to the
44
44
  # lifecycle configuration.
45
45
  #
46
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It isn't
47
+ # supported for directory bucket lifecycle configurations.
48
+ #
49
+ # </note>
50
+ #
46
51
  # * `all_storage_classes_128K` - Objects smaller than 128 KB will not
47
52
  # transition to any storage class by default.
48
53
  #
@@ -208,6 +213,11 @@ module Aws::S3
208
213
  # The account ID of the expected bucket owner. If the account ID that
209
214
  # you provide does not match the actual owner of the bucket, the request
210
215
  # fails with the HTTP status code `403 Forbidden` (access denied).
216
+ #
217
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
218
+ # supported for directory bucket lifecycle configurations.
219
+ #
220
+ # </note>
211
221
  # @return [EmptyStructure]
212
222
  def delete(options = {})
213
223
  options = options.merge(bucket: @bucket_name)
@@ -220,7 +230,7 @@ module Aws::S3
220
230
  # @example Request syntax with placeholder values
221
231
  #
222
232
  # bucket_lifecycle_configuration.put({
223
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
233
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
224
234
  # lifecycle_configuration: {
225
235
  # rules: [ # required
226
236
  # {
@@ -281,7 +291,7 @@ module Aws::S3
281
291
  # })
282
292
  # @param [Hash] options ({})
283
293
  # @option options [String] :checksum_algorithm
284
- # Indicates the algorithm used to create the checksum for the object
294
+ # Indicates the algorithm used to create the checksum for the request
285
295
  # when you use the SDK. This header will not provide any additional
286
296
  # functionality if you don't use the SDK. When you send this header,
287
297
  # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
@@ -301,10 +311,20 @@ module Aws::S3
301
311
  # The account ID of the expected bucket owner. If the account ID that
302
312
  # you provide does not match the actual owner of the bucket, the request
303
313
  # fails with the HTTP status code `403 Forbidden` (access denied).
314
+ #
315
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
316
+ # supported for directory bucket lifecycle configurations.
317
+ #
318
+ # </note>
304
319
  # @option options [String] :transition_default_minimum_object_size
305
320
  # Indicates which default minimum object size behavior is applied to the
306
321
  # lifecycle configuration.
307
322
  #
323
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
324
+ # supported for directory bucket lifecycle configurations.
325
+ #
326
+ # </note>
327
+ #
308
328
  # * `all_storage_classes_128K` - Objects smaller than 128 KB will not
309
329
  # transition to any storage class by default.
310
330
  #
@@ -213,7 +213,7 @@ module Aws::S3
213
213
  # },
214
214
  # },
215
215
  # content_md5: "ContentMD5",
216
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
216
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
217
217
  # expected_bucket_owner: "AccountId",
218
218
  # })
219
219
  # @param [Hash] options ({})
@@ -226,7 +226,7 @@ module Aws::S3
226
226
  # (CLI) or Amazon Web Services SDKs, this field is calculated
227
227
  # automatically.
228
228
  # @option options [String] :checksum_algorithm
229
- # Indicates the algorithm used to create the checksum for the object
229
+ # Indicates the algorithm used to create the checksum for the request
230
230
  # when you use the SDK. This header will not provide any additional
231
231
  # functionality if you don't use the SDK. When you send this header,
232
232
  # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
@@ -207,7 +207,7 @@ module Aws::S3
207
207
  #
208
208
  # bucket_policy.put({
209
209
  # content_md5: "ContentMD5",
210
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
210
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
211
211
  # confirm_remove_self_bucket_access: false,
212
212
  # policy: "Policy", # required
213
213
  # expected_bucket_owner: "AccountId",
@@ -224,7 +224,7 @@ module Aws::S3
224
224
  #
225
225
  # </note>
226
226
  # @option options [String] :checksum_algorithm
227
- # Indicates the algorithm used to create the checksum for the object
227
+ # Indicates the algorithm used to create the checksum for the request
228
228
  # when you use the SDK. This header will not provide any additional
229
229
  # functionality if you don't use the SDK. When you send this header,
230
230
  # there must be a corresponding `x-amz-checksum-algorithm ` or
@@ -238,6 +238,8 @@ module Aws::S3
238
238
  #
239
239
  # * `CRC32C`
240
240
  #
241
+ # * `CRC64NVME`
242
+ #
241
243
  # * `SHA1`
242
244
  #
243
245
  # * `SHA256`
@@ -247,9 +249,8 @@ module Aws::S3
247
249
  #
248
250
  # If the individual checksum value you provide through
249
251
  # `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
250
- # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 ignores any
251
- # provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
252
- # that matches the provided value in `x-amz-checksum-algorithm `.
252
+ # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
253
+ # request with a `BadDigest` error.
253
254
  #
254
255
  # <note markdown="1"> For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
255
256
  # is the default checksum algorithm that's used for performance.
@@ -182,7 +182,7 @@ module Aws::S3
182
182
  #
183
183
  # bucket_request_payment.put({
184
184
  # content_md5: "ContentMD5",
185
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
185
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
186
186
  # request_payment_configuration: { # required
187
187
  # payer: "Requester", # required, accepts Requester, BucketOwner
188
188
  # },
@@ -190,7 +190,7 @@ module Aws::S3
190
190
  # })
191
191
  # @param [Hash] options ({})
192
192
  # @option options [String] :content_md5
193
- # The base64-encoded 128-bit MD5 digest of the data. You must use this
193
+ # The Base64 encoded 128-bit `MD5` digest of the data. You must use this
194
194
  # header as a message integrity check to verify that the request body
195
195
  # was not corrupted in transit. For more information, see [RFC 1864][1].
196
196
  #
@@ -202,7 +202,7 @@ module Aws::S3
202
202
  #
203
203
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
204
204
  # @option options [String] :checksum_algorithm
205
- # Indicates the algorithm used to create the checksum for the object
205
+ # Indicates the algorithm used to create the checksum for the request
206
206
  # when you use the SDK. This header will not provide any additional
207
207
  # functionality if you don't use the SDK. When you send this header,
208
208
  # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
@@ -201,7 +201,7 @@ module Aws::S3
201
201
  #
202
202
  # bucket_tagging.put({
203
203
  # content_md5: "ContentMD5",
204
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
204
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
205
205
  # tagging: { # required
206
206
  # tag_set: [ # required
207
207
  # {
@@ -214,7 +214,7 @@ module Aws::S3
214
214
  # })
215
215
  # @param [Hash] options ({})
216
216
  # @option options [String] :content_md5
217
- # The base64-encoded 128-bit MD5 digest of the data. You must use this
217
+ # The Base64 encoded 128-bit `MD5` digest of the data. You must use this
218
218
  # header as a message integrity check to verify that the request body
219
219
  # was not corrupted in transit. For more information, see [RFC 1864][1].
220
220
  #
@@ -226,7 +226,7 @@ module Aws::S3
226
226
  #
227
227
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
228
228
  # @option options [String] :checksum_algorithm
229
- # Indicates the algorithm used to create the checksum for the object
229
+ # Indicates the algorithm used to create the checksum for the request
230
230
  # when you use the SDK. This header will not provide any additional
231
231
  # functionality if you don't use the SDK. When you send this header,
232
232
  # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`