aws-sdk-s3 1.167.0 → 1.194.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +158 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +145 -39
  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 +3670 -1773
  16. data/lib/aws-sdk-s3/client_api.rb +558 -160
  17. data/lib/aws-sdk-s3/endpoint_parameters.rb +13 -18
  18. data/lib/aws-sdk-s3/endpoint_provider.rb +400 -276
  19. data/lib/aws-sdk-s3/endpoints.rb +529 -1403
  20. data/lib/aws-sdk-s3/errors.rb +55 -0
  21. data/lib/aws-sdk-s3/file_downloader.rb +14 -31
  22. data/lib/aws-sdk-s3/legacy_signer.rb +2 -1
  23. data/lib/aws-sdk-s3/multipart_file_uploader.rb +31 -13
  24. data/lib/aws-sdk-s3/multipart_upload.rb +83 -6
  25. data/lib/aws-sdk-s3/multipart_upload_part.rb +50 -34
  26. data/lib/aws-sdk-s3/object.rb +326 -129
  27. data/lib/aws-sdk-s3/object_acl.rb +11 -5
  28. data/lib/aws-sdk-s3/object_multipart_copier.rb +2 -1
  29. data/lib/aws-sdk-s3/object_summary.rb +240 -96
  30. data/lib/aws-sdk-s3/object_version.rb +60 -13
  31. data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
  32. data/lib/aws-sdk-s3/plugins/endpoints.rb +1 -204
  33. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +11 -20
  34. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +3 -3
  35. data/lib/aws-sdk-s3/plugins/md5s.rb +10 -71
  36. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +5 -7
  37. data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -1
  38. data/lib/aws-sdk-s3/presigner.rb +5 -5
  39. data/lib/aws-sdk-s3/resource.rb +41 -10
  40. data/lib/aws-sdk-s3/types.rb +3423 -1093
  41. data/lib/aws-sdk-s3.rb +1 -1
  42. data/sig/bucket.rbs +27 -9
  43. data/sig/bucket_acl.rbs +1 -1
  44. data/sig/bucket_cors.rbs +1 -1
  45. data/sig/bucket_lifecycle.rbs +1 -1
  46. data/sig/bucket_lifecycle_configuration.rbs +1 -1
  47. data/sig/bucket_logging.rbs +1 -1
  48. data/sig/bucket_policy.rbs +1 -1
  49. data/sig/bucket_request_payment.rbs +1 -1
  50. data/sig/bucket_tagging.rbs +1 -1
  51. data/sig/bucket_versioning.rbs +3 -3
  52. data/sig/bucket_website.rbs +1 -1
  53. data/sig/client.rbs +249 -68
  54. data/sig/errors.rbs +10 -0
  55. data/sig/multipart_upload.rbs +12 -3
  56. data/sig/multipart_upload_part.rbs +5 -1
  57. data/sig/object.rbs +35 -16
  58. data/sig/object_acl.rbs +1 -1
  59. data/sig/object_summary.rbs +26 -16
  60. data/sig/object_version.rbs +9 -3
  61. data/sig/resource.rbs +15 -4
  62. data/sig/types.rbs +339 -65
  63. metadata +7 -10
  64. 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: 34111791125eda0be63a2a63a184b7a25278393369edb85c750f343fb8e8e896
4
- data.tar.gz: cf4c34ecd77b3c61781dc530646b9a93935d3b9500d690b9f6316f5b4ca6ea6a
3
+ metadata.gz: 0dfe2d6194c7b6b3c67de1afe28bd1ea2862c07a6ca613ef46cb2ab2b88a14ad
4
+ data.tar.gz: e18d0a8fec044eb019f316854d5502650bcff3c0772c72501798267eae18e719
5
5
  SHA512:
6
- metadata.gz: 64a2bbc7ceabb661e95546bef8d52f42f6f1feb819fb9163d5c7ba525976498d3b56ca8be6e52b1bb5229d401c5863aeda481a100c0e72e0da700f8e18674520
7
- data.tar.gz: eab354c564d821f4c8666fb086ad96316aa461891c91d1ee3cefe2e7551d084d2ee7532e8be402c6e6f582d6ecb927b80cf904449d3b2cf6e86d9ad115088887
6
+ metadata.gz: d54f00907ad99660c41b30f6af57914443f9dec45d22690760f7419d75e98f9591fa36413ece74206f28c827ce8ccee45d62243dba1e65b2907bb6e9a69061f6
7
+ data.tar.gz: 3667b425a4a463097d26d930caa0768a609e75bd84fa395051d9c525dbdb77f32e23ed00c69f5ca7db7682211f334789673d5850c72ce39619a6358767e2653e
data/CHANGELOG.md CHANGED
@@ -1,6 +1,164 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.194.0 (2025-07-21)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.193.0 (2025-07-15)
10
+ ------------------
11
+
12
+ * Feature - Amazon S3 Metadata live inventory tables provide a queryable inventory of all the objects in your general purpose bucket so that you can determine the latest state of your data. To help minimize your storage costs, use journal table record expiration to set a retention period for your records.
13
+
14
+ 1.192.0 (2025-07-02)
15
+ ------------------
16
+
17
+ * Feature - Added support for directory bucket creation with tags and bucket ARN retrieval in CreateBucket, ListDirectoryBuckets, and HeadBucket operations
18
+
19
+ 1.191.0 (2025-06-25)
20
+ ------------------
21
+
22
+ * Feature - Adds support for additional server-side encryption mode and storage class values for accessing Amazon FSx data from Amazon S3 using S3 Access Points
23
+
24
+ 1.190.0 (2025-06-18)
25
+ ------------------
26
+
27
+ * Feature - Added support for renaming objects within the same bucket using the new RenameObject API.
28
+
29
+ 1.189.1 (2025-06-10)
30
+ ------------------
31
+
32
+ * Issue - Only load required `cgi` modules for Ruby 3.5.
33
+
34
+ 1.189.0 (2025-06-02)
35
+ ------------------
36
+
37
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
38
+
39
+ 1.188.0 (2025-05-29)
40
+ ------------------
41
+
42
+ * Feature - Adding checksum support for S3 PutBucketOwnershipControls API.
43
+
44
+ 1.187.0 (2025-05-28)
45
+ ------------------
46
+
47
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
48
+
49
+ * Issue - Signal data in http response listeners prior to writing, so that data can be inspected or verified before potential mutation.
50
+
51
+ 1.186.1 (2025-05-15)
52
+ ------------------
53
+ * Issue - Abort multipart download if object is modified during download.
54
+
55
+ 1.186.0 (2025-05-12)
56
+ ------------------
57
+
58
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
59
+
60
+ 1.185.0 (2025-05-01)
61
+ ------------------
62
+
63
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
64
+
65
+ 1.184.0 (2025-04-28)
66
+ ------------------
67
+
68
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
69
+
70
+ 1.183.0 (2025-03-31)
71
+ ------------------
72
+
73
+ * Feature - Amazon S3 adds support for S3 Access Points for directory buckets in AWS Dedicated Local Zones
74
+
75
+ 1.182.0 (2025-02-18)
76
+ ------------------
77
+
78
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
79
+
80
+ 1.181.0 (2025-02-14)
81
+ ------------------
82
+
83
+ * Feature - Added support for Content-Range header in HeadObject response.
84
+
85
+ 1.180.0 (2025-02-06)
86
+ ------------------
87
+
88
+ * Feature - Updated list of the valid AWS Region values for the LocationConstraint parameter for general purpose buckets.
89
+
90
+ 1.179.0 (2025-01-29)
91
+ ------------------
92
+
93
+ * Feature - Change the type of MpuObjectSize in CompleteMultipartUploadRequest from int to long.
94
+
95
+ 1.178.0 (2025-01-15)
96
+ ------------------
97
+
98
+ * 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.
99
+
100
+ * Feature - Default to using `CRC32` checksum validation for S3 uploads and downloads.
101
+
102
+ 1.177.0 (2025-01-03)
103
+ ------------------
104
+
105
+ * 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.
106
+
107
+ 1.176.1 (2024-12-12)
108
+ ------------------
109
+
110
+ * Issue - Do not normalize object keys when calling `presigned_url` or `presigned_request`.
111
+
112
+ 1.176.0 (2024-12-03)
113
+ ------------------
114
+
115
+ * 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.
116
+
117
+ 1.175.0 (2024-12-02)
118
+ ------------------
119
+
120
+ * Feature - Amazon S3 introduces support for AWS Dedicated Local Zones
121
+
122
+ 1.174.0 (2024-11-25)
123
+ ------------------
124
+
125
+ * Feature - Amazon Simple Storage Service / Features: Add support for ETag based conditional writes in PutObject and CompleteMultiPartUpload APIs to prevent unintended object modifications.
126
+
127
+ 1.173.0 (2024-11-21)
128
+ ------------------
129
+
130
+ * 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.
131
+
132
+ 1.172.0 (2024-11-18)
133
+ ------------------
134
+
135
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
136
+
137
+ 1.171.0 (2024-11-14)
138
+ ------------------
139
+
140
+ * 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.
141
+
142
+ 1.170.1 (2024-11-11)
143
+ ------------------
144
+
145
+ * Issue - Tighten regex used to check for S3 200 errors.
146
+
147
+ 1.170.0 (2024-11-06)
148
+ ------------------
149
+
150
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
151
+
152
+ 1.169.0 (2024-10-18)
153
+ ------------------
154
+
155
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
156
+
157
+ 1.168.0 (2024-10-16)
158
+ ------------------
159
+
160
+ * Feature - Add support for the new optional bucket-region and prefix query parameters in the ListBuckets API. For ListBuckets requests that express pagination, Amazon S3 will now return both the bucket names and associated AWS regions in the response.
161
+
4
162
  1.167.0 (2024-10-02)
5
163
  ------------------
6
164
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.167.0
1
+ 1.194.0
@@ -41,6 +41,31 @@ module Aws::S3
41
41
  data[:creation_date]
42
42
  end
43
43
 
44
+ # `BucketRegion` indicates the Amazon Web Services region where the
45
+ # bucket is located. If the request contains at least one valid
46
+ # parameter, it is included in the response.
47
+ # @return [String]
48
+ def bucket_region
49
+ data[:bucket_region]
50
+ end
51
+
52
+ # The Amazon Resource Name (ARN) of the S3 bucket. ARNs uniquely
53
+ # identify Amazon Web Services resources across all of Amazon Web
54
+ # Services.
55
+ #
56
+ # <note markdown="1"> This parameter is only supported for S3 directory buckets. For more
57
+ # information, see [Using tags with directory buckets][1].
58
+ #
59
+ # </note>
60
+ #
61
+ #
62
+ #
63
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-tagging.html
64
+ # @return [String]
65
+ def bucket_arn
66
+ data[:bucket_arn]
67
+ end
68
+
44
69
  # @!endgroup
45
70
 
46
71
  # @return [Client]
@@ -229,15 +254,21 @@ module Aws::S3
229
254
  # bucket.create({
230
255
  # acl: "private", # accepts private, public-read, public-read-write, authenticated-read
231
256
  # create_bucket_configuration: {
232
- # 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
257
+ # 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
233
258
  # location: {
234
- # type: "AvailabilityZone", # accepts AvailabilityZone
259
+ # type: "AvailabilityZone", # accepts AvailabilityZone, LocalZone
235
260
  # name: "LocationNameAsString",
236
261
  # },
237
262
  # bucket: {
238
- # data_redundancy: "SingleAvailabilityZone", # accepts SingleAvailabilityZone
263
+ # data_redundancy: "SingleAvailabilityZone", # accepts SingleAvailabilityZone, SingleLocalZone
239
264
  # type: "Directory", # accepts Directory
240
265
  # },
266
+ # tags: [
267
+ # {
268
+ # key: "ObjectKey", # required
269
+ # value: "Value", # required
270
+ # },
271
+ # ],
241
272
  # },
242
273
  # grant_full_control: "GrantFullControl",
243
274
  # grant_read: "GrantRead",
@@ -373,6 +404,9 @@ module Aws::S3
373
404
  # {
374
405
  # key: "ObjectKey", # required
375
406
  # version_id: "ObjectVersionId",
407
+ # etag: "ETag",
408
+ # last_modified_time: Time.now,
409
+ # size: 1,
376
410
  # },
377
411
  # ],
378
412
  # quiet: false,
@@ -381,7 +415,7 @@ module Aws::S3
381
415
  # request_payer: "requester", # accepts requester
382
416
  # bypass_governance_retention: false,
383
417
  # expected_bucket_owner: "AccountId",
384
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
418
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
385
419
  # })
386
420
  # @param [Hash] options ({})
387
421
  # @option options [required, Types::Delete] :delete
@@ -451,6 +485,8 @@ module Aws::S3
451
485
  #
452
486
  # * `CRC32C`
453
487
  #
488
+ # * `CRC64NVME`
489
+ #
454
490
  # * `SHA1`
455
491
  #
456
492
  # * `SHA256`
@@ -460,9 +496,8 @@ module Aws::S3
460
496
  #
461
497
  # If the individual checksum value you provide through
462
498
  # `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
463
- # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 ignores any
464
- # provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
465
- # that matches the provided value in `x-amz-checksum-algorithm `.
499
+ # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
500
+ # request with a `BadDigest` error.
466
501
  #
467
502
  # If you provide an individual checksum, Amazon S3 ignores any provided
468
503
  # `ChecksumAlgorithm` parameter.
@@ -491,23 +526,26 @@ module Aws::S3
491
526
  # content_length: 1,
492
527
  # content_md5: "ContentMD5",
493
528
  # content_type: "ContentType",
494
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
529
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
495
530
  # checksum_crc32: "ChecksumCRC32",
496
531
  # checksum_crc32c: "ChecksumCRC32C",
532
+ # checksum_crc64nvme: "ChecksumCRC64NVME",
497
533
  # checksum_sha1: "ChecksumSHA1",
498
534
  # checksum_sha256: "ChecksumSHA256",
499
535
  # expires: Time.now,
536
+ # if_match: "IfMatch",
500
537
  # if_none_match: "IfNoneMatch",
501
538
  # grant_full_control: "GrantFullControl",
502
539
  # grant_read: "GrantRead",
503
540
  # grant_read_acp: "GrantReadACP",
504
541
  # grant_write_acp: "GrantWriteACP",
505
542
  # key: "ObjectKey", # required
543
+ # write_offset_bytes: 1,
506
544
  # metadata: {
507
545
  # "MetadataKey" => "MetadataValue",
508
546
  # },
509
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
510
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
547
+ # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
548
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
511
549
  # website_redirect_location: "WebsiteRedirectLocation",
512
550
  # sse_customer_algorithm: "SSECustomerAlgorithm",
513
551
  # sse_customer_key: "SSECustomerKey",
@@ -598,7 +636,7 @@ module Aws::S3
598
636
  #
599
637
  # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
600
638
  # @option options [String] :content_md5
601
- # The base64-encoded 128-bit MD5 digest of the message (without the
639
+ # The Base64 encoded 128-bit `MD5` digest of the message (without the
602
640
  # headers) according to RFC 1864. This header can be used as a message
603
641
  # integrity check to verify that the data is the same data that was
604
642
  # originally sent. Although it is optional, we recommend using the
@@ -606,10 +644,11 @@ module Aws::S3
606
644
  # information about REST request authentication, see [REST
607
645
  # Authentication][1].
608
646
  #
609
- # <note markdown="1"> The `Content-MD5` header is required for any request to upload an
610
- # object with a retention period configured using Amazon S3 Object Lock.
611
- # For more information about Amazon S3 Object Lock, see [Amazon S3
612
- # Object Lock Overview][2] in the *Amazon S3 User Guide*.
647
+ # <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
648
+ # for any request to upload an object with a retention period configured
649
+ # using Amazon S3 Object Lock. For more information, see [Uploading
650
+ # objects to an Object Lock enabled bucket ][2] in the *Amazon S3 User
651
+ # Guide*.
613
652
  #
614
653
  # </note>
615
654
  #
@@ -620,7 +659,7 @@ module Aws::S3
620
659
  #
621
660
  #
622
661
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
623
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html
662
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-put-object
624
663
  # @option options [String] :content_type
625
664
  # A standard MIME type describing the format of the contents. For more
626
665
  # information, see
@@ -644,6 +683,8 @@ module Aws::S3
644
683
  #
645
684
  # * `CRC32C`
646
685
  #
686
+ # * `CRC64NVME`
687
+ #
647
688
  # * `SHA1`
648
689
  #
649
690
  # * `SHA256`
@@ -653,22 +694,28 @@ module Aws::S3
653
694
  #
654
695
  # If the individual checksum value you provide through
655
696
  # `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
656
- # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 ignores any
657
- # provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
658
- # that matches the provided value in `x-amz-checksum-algorithm `.
697
+ # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
698
+ # request with a `BadDigest` error.
659
699
  #
660
- # <note markdown="1"> For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
661
- # is the default checksum algorithm that's used for performance.
700
+ # <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
701
+ # for any request to upload an object with a retention period configured
702
+ # using Amazon S3 Object Lock. For more information, see [Uploading
703
+ # objects to an Object Lock enabled bucket ][2] in the *Amazon S3 User
704
+ # Guide*.
662
705
  #
663
706
  # </note>
664
707
  #
708
+ # For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
709
+ # is the default checksum algorithm that's used for performance.
710
+ #
665
711
  #
666
712
  #
667
713
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
714
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-put-object
668
715
  # @option options [String] :checksum_crc32
669
716
  # This header can be used as a data integrity check to verify that the
670
717
  # data received is the same data that was originally sent. This header
671
- # specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
718
+ # specifies the Base64 encoded, 32-bit `CRC32` checksum of the object.
672
719
  # For more information, see [Checking object integrity][1] in the
673
720
  # *Amazon S3 User Guide*.
674
721
  #
@@ -678,17 +725,28 @@ module Aws::S3
678
725
  # @option options [String] :checksum_crc32c
679
726
  # This header can be used as a data integrity check to verify that the
680
727
  # data received is the same data that was originally sent. This header
681
- # specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
728
+ # specifies the Base64 encoded, 32-bit `CRC32C` checksum of the object.
682
729
  # For more information, see [Checking object integrity][1] in the
683
730
  # *Amazon S3 User Guide*.
684
731
  #
685
732
  #
686
733
  #
687
734
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
735
+ # @option options [String] :checksum_crc64nvme
736
+ # This header can be used as a data integrity check to verify that the
737
+ # data received is the same data that was originally sent. This header
738
+ # specifies the Base64 encoded, 64-bit `CRC64NVME` checksum of the
739
+ # object. The `CRC64NVME` checksum is always a full object checksum. For
740
+ # more information, see [Checking object integrity in the Amazon S3 User
741
+ # Guide][1].
742
+ #
743
+ #
744
+ #
745
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
688
746
  # @option options [String] :checksum_sha1
689
747
  # This header can be used as a data integrity check to verify that the
690
748
  # data received is the same data that was originally sent. This header
691
- # specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
749
+ # specifies the Base64 encoded, 160-bit `SHA1` digest of the object. For
692
750
  # more information, see [Checking object integrity][1] in the *Amazon S3
693
751
  # User Guide*.
694
752
  #
@@ -698,7 +756,7 @@ module Aws::S3
698
756
  # @option options [String] :checksum_sha256
699
757
  # This header can be used as a data integrity check to verify that the
700
758
  # data received is the same data that was originally sent. This header
701
- # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
759
+ # specifies the Base64 encoded, 256-bit `SHA256` digest of the object.
702
760
  # For more information, see [Checking object integrity][1] in the
703
761
  # *Amazon S3 User Guide*.
704
762
  #
@@ -713,6 +771,25 @@ module Aws::S3
713
771
  #
714
772
  #
715
773
  # [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
774
+ # @option options [String] :if_match
775
+ # Uploads the object only if the ETag (entity tag) value provided during
776
+ # the WRITE operation matches the ETag of the object in S3. If the ETag
777
+ # values do not match, the operation returns a `412 Precondition Failed`
778
+ # error.
779
+ #
780
+ # If a conflicting operation occurs during the upload S3 returns a `409
781
+ # ConditionalRequestConflict` response. On a 409 failure you should
782
+ # fetch the object's ETag and retry the upload.
783
+ #
784
+ # Expects the ETag value as a string.
785
+ #
786
+ # For more information about conditional requests, see [RFC 7232][1], or
787
+ # [Conditional requests][2] in the *Amazon S3 User Guide*.
788
+ #
789
+ #
790
+ #
791
+ # [1]: https://tools.ietf.org/html/rfc7232
792
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
716
793
  # @option options [String] :if_none_match
717
794
  # Uploads the object only if the object key name does not already exist
718
795
  # in the bucket specified. Otherwise, Amazon S3 returns a `412
@@ -766,12 +843,21 @@ module Aws::S3
766
843
  # </note>
767
844
  # @option options [required, String] :key
768
845
  # Object key for which the PUT action was initiated.
846
+ # @option options [Integer] :write_offset_bytes
847
+ # Specifies the offset for appending data to existing objects in bytes.
848
+ # The offset must be equal to the size of the existing object being
849
+ # appended to. If no object exists, setting this header to 0 will create
850
+ # a new object.
851
+ #
852
+ # <note markdown="1"> This functionality is only supported for objects in the Amazon S3
853
+ # Express One Zone storage class in directory buckets.
854
+ #
855
+ # </note>
769
856
  # @option options [Hash<String,String>] :metadata
770
857
  # A map of metadata to store with the object in S3.
771
858
  # @option options [String] :server_side_encryption
772
859
  # The server-side encryption algorithm that was used when you store this
773
- # object in Amazon S3 (for example, `AES256`, `aws:kms`,
774
- # `aws:kms:dsse`).
860
+ # object in Amazon S3 or Amazon FSx.
775
861
  #
776
862
  # * <b>General purpose buckets </b> - You have four mutually exclusive
777
863
  # options to protect data using server-side encryption in Amazon S3,
@@ -825,6 +911,14 @@ module Aws::S3
825
911
  #
826
912
  # </note>
827
913
  #
914
+ # * <b>S3 access points for Amazon FSx </b> - When accessing data stored
915
+ # in Amazon FSx file systems using S3 access points, the only valid
916
+ # server side encryption option is `aws:fsx`. All Amazon FSx file
917
+ # systems have encryption configured by default and are encrypted at
918
+ # rest. Data is automatically encrypted before being written to the
919
+ # file system, and automatically decrypted as it is read. These
920
+ # processes are handled transparently by Amazon FSx.
921
+ #
828
922
  #
829
923
  #
830
924
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
@@ -839,8 +933,9 @@ module Aws::S3
839
933
  # a different Storage Class. For more information, see [Storage
840
934
  # Classes][1] in the *Amazon S3 User Guide*.
841
935
  #
842
- # <note markdown="1"> * For directory buckets, only the S3 Express One Zone storage class is
843
- # supported to store newly created objects.
936
+ # <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express One
937
+ # Zone storage class) in Availability Zones and `ONEZONE_IA` (the S3
938
+ # One Zone-Infrequent Access storage class) in Dedicated Local Zones.
844
939
  #
845
940
  # * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
846
941
  #
@@ -918,15 +1013,17 @@ module Aws::S3
918
1013
  # `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
919
1014
  # Amazon Web Services managed key (`aws/s3`) to protect the data.
920
1015
  #
921
- # **Directory buckets** - If you specify `x-amz-server-side-encryption`
922
- # with `aws:kms`, you must specify the `
923
- # x-amz-server-side-encryption-aws-kms-key-id` header with the ID (Key
924
- # ID or Key ARN) of the KMS symmetric encryption customer managed key to
925
- # use. Otherwise, you get an HTTP `400 Bad Request` error. Only use the
926
- # key ID or key ARN. The key alias format of the KMS key isn't
927
- # supported. Your SSE-KMS configuration can only support 1 [customer
928
- # managed key][1] per directory bucket for the lifetime of the bucket.
929
- # [Amazon Web Services managed key][2] (`aws/s3`) isn't supported.
1016
+ # **Directory buckets** - To encrypt data using SSE-KMS, it's
1017
+ # recommended to specify the `x-amz-server-side-encryption` header to
1018
+ # `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
1019
+ # header implicitly uses the bucket's default KMS customer managed key
1020
+ # ID. If you want to explicitly set the `
1021
+ # x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
1022
+ # bucket's default customer managed key (using key ID or ARN, not
1023
+ # alias). Your SSE-KMS configuration can only support 1 [customer
1024
+ # managed key][1] per directory bucket's lifetime. The [Amazon Web
1025
+ # Services managed key][2] (`aws/s3`) isn't supported. Incorrect key
1026
+ # specification results in an HTTP `400 Bad Request` error.
930
1027
  #
931
1028
  #
932
1029
  #
@@ -935,7 +1032,7 @@ module Aws::S3
935
1032
  # @option options [String] :ssekms_encryption_context
936
1033
  # Specifies the Amazon Web Services KMS Encryption Context as an
937
1034
  # additional encryption context to use for object encryption. The value
938
- # of this header is a Base64-encoded string of a UTF-8 encoded JSON,
1035
+ # of this header is a Base64 encoded string of a UTF-8 encoded JSON,
939
1036
  # which contains the encryption context as key-value pairs. This value
940
1037
  # is stored as object metadata and automatically gets passed on to
941
1038
  # Amazon Web Services KMS for future `GetObject` operations on this
@@ -1109,6 +1206,9 @@ module Aws::S3
1109
1206
  # beginning of the key. The keys that are grouped under `CommonPrefixes`
1110
1207
  # result element are not returned elsewhere in the response.
1111
1208
  #
1209
+ # `CommonPrefixes` is filtered out from results if it is not
1210
+ # lexicographically greater than the key-marker.
1211
+ #
1112
1212
  # <note markdown="1"> **Directory buckets** - For directory buckets, `/` is the only
1113
1213
  # supported delimiter.
1114
1214
  #
@@ -1265,6 +1365,9 @@ module Aws::S3
1265
1365
  # in `CommonPrefixes`. These groups are counted as one result against
1266
1366
  # the `max-keys` limitation. These keys are not returned elsewhere in
1267
1367
  # the response.
1368
+ #
1369
+ # `CommonPrefixes` is filtered out from results if it is not
1370
+ # lexicographically greater than the key-marker.
1268
1371
  # @option options [String] :encoding_type
1269
1372
  # Encoding type used by Amazon S3 to encode the [object keys][1] in the
1270
1373
  # response. Responses are encoded only in UTF-8. An object key can
@@ -1360,6 +1463,9 @@ module Aws::S3
1360
1463
  # @option options [String] :delimiter
1361
1464
  # A delimiter is a character that you use to group keys.
1362
1465
  #
1466
+ # `CommonPrefixes` is filtered out from results if it is not
1467
+ # lexicographically greater than the `StartAfter` value.
1468
+ #
1363
1469
  # <note markdown="1"> * **Directory buckets** - For directory buckets, `/` is the only
1364
1470
  # supported delimiter.
1365
1471
  #
@@ -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`