aws-sdk-s3 1.171.0 → 1.209.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 (99) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +237 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +122 -37
  5. data/lib/aws-sdk-s3/bucket_acl.rb +7 -6
  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 +42 -9
  14. data/lib/aws-sdk-s3/bucket_website.rb +3 -3
  15. data/lib/aws-sdk-s3/client.rb +4251 -1834
  16. data/lib/aws-sdk-s3/client_api.rb +614 -160
  17. data/lib/aws-sdk-s3/customizations/object.rb +76 -86
  18. data/lib/aws-sdk-s3/customizations.rb +4 -1
  19. data/lib/aws-sdk-s3/default_executor.rb +103 -0
  20. data/lib/aws-sdk-s3/encryption/client.rb +2 -2
  21. data/lib/aws-sdk-s3/encryption/default_cipher_provider.rb +2 -0
  22. data/lib/aws-sdk-s3/encryption/encrypt_handler.rb +2 -0
  23. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +2 -0
  24. data/lib/aws-sdk-s3/encryptionV2/client.rb +98 -23
  25. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +7 -162
  26. data/lib/aws-sdk-s3/encryptionV2/decryption.rb +205 -0
  27. data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +17 -0
  28. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +2 -0
  29. data/lib/aws-sdk-s3/encryptionV2/io_encrypter.rb +2 -0
  30. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +8 -0
  31. data/lib/aws-sdk-s3/encryptionV2/utils.rb +5 -0
  32. data/lib/aws-sdk-s3/encryptionV3/client.rb +885 -0
  33. data/lib/aws-sdk-s3/encryptionV3/decrypt_handler.rb +98 -0
  34. data/lib/aws-sdk-s3/encryptionV3/decryption.rb +244 -0
  35. data/lib/aws-sdk-s3/encryptionV3/default_cipher_provider.rb +159 -0
  36. data/lib/aws-sdk-s3/encryptionV3/default_key_provider.rb +35 -0
  37. data/lib/aws-sdk-s3/encryptionV3/encrypt_handler.rb +98 -0
  38. data/lib/aws-sdk-s3/encryptionV3/errors.rb +47 -0
  39. data/lib/aws-sdk-s3/encryptionV3/io_auth_decrypter.rb +60 -0
  40. data/lib/aws-sdk-s3/encryptionV3/io_decrypter.rb +35 -0
  41. data/lib/aws-sdk-s3/encryptionV3/io_encrypter.rb +84 -0
  42. data/lib/aws-sdk-s3/encryptionV3/key_provider.rb +28 -0
  43. data/lib/aws-sdk-s3/encryptionV3/kms_cipher_provider.rb +159 -0
  44. data/lib/aws-sdk-s3/encryptionV3/materials.rb +58 -0
  45. data/lib/aws-sdk-s3/encryptionV3/utils.rb +321 -0
  46. data/lib/aws-sdk-s3/encryption_v2.rb +1 -0
  47. data/lib/aws-sdk-s3/encryption_v3.rb +24 -0
  48. data/lib/aws-sdk-s3/endpoint_parameters.rb +17 -17
  49. data/lib/aws-sdk-s3/endpoint_provider.rb +585 -288
  50. data/lib/aws-sdk-s3/endpoints.rb +152 -0
  51. data/lib/aws-sdk-s3/errors.rb +55 -0
  52. data/lib/aws-sdk-s3/file_downloader.rb +189 -143
  53. data/lib/aws-sdk-s3/file_uploader.rb +9 -13
  54. data/lib/aws-sdk-s3/legacy_signer.rb +2 -1
  55. data/lib/aws-sdk-s3/multipart_download_error.rb +8 -0
  56. data/lib/aws-sdk-s3/multipart_file_uploader.rb +105 -102
  57. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +96 -107
  58. data/lib/aws-sdk-s3/multipart_upload.rb +83 -6
  59. data/lib/aws-sdk-s3/multipart_upload_error.rb +3 -4
  60. data/lib/aws-sdk-s3/multipart_upload_part.rb +50 -34
  61. data/lib/aws-sdk-s3/object.rb +331 -128
  62. data/lib/aws-sdk-s3/object_acl.rb +12 -6
  63. data/lib/aws-sdk-s3/object_multipart_copier.rb +2 -1
  64. data/lib/aws-sdk-s3/object_summary.rb +243 -93
  65. data/lib/aws-sdk-s3/object_version.rb +58 -13
  66. data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
  67. data/lib/aws-sdk-s3/plugins/endpoints.rb +1 -1
  68. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +11 -20
  69. data/lib/aws-sdk-s3/plugins/md5s.rb +10 -71
  70. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +5 -7
  71. data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -1
  72. data/lib/aws-sdk-s3/presigner.rb +5 -5
  73. data/lib/aws-sdk-s3/resource.rb +16 -9
  74. data/lib/aws-sdk-s3/transfer_manager.rb +303 -0
  75. data/lib/aws-sdk-s3/types.rb +3743 -1279
  76. data/lib/aws-sdk-s3.rb +1 -1
  77. data/sig/bucket.rbs +24 -9
  78. data/sig/bucket_acl.rbs +1 -1
  79. data/sig/bucket_cors.rbs +1 -1
  80. data/sig/bucket_lifecycle.rbs +1 -1
  81. data/sig/bucket_lifecycle_configuration.rbs +1 -1
  82. data/sig/bucket_logging.rbs +1 -1
  83. data/sig/bucket_policy.rbs +1 -1
  84. data/sig/bucket_request_payment.rbs +1 -1
  85. data/sig/bucket_tagging.rbs +1 -1
  86. data/sig/bucket_versioning.rbs +3 -3
  87. data/sig/bucket_website.rbs +1 -1
  88. data/sig/client.rbs +275 -69
  89. data/sig/errors.rbs +10 -0
  90. data/sig/multipart_upload.rbs +12 -3
  91. data/sig/multipart_upload_part.rbs +5 -1
  92. data/sig/object.rbs +37 -16
  93. data/sig/object_acl.rbs +1 -1
  94. data/sig/object_summary.rbs +28 -16
  95. data/sig/object_version.rbs +9 -3
  96. data/sig/resource.rbs +13 -4
  97. data/sig/types.rbs +369 -66
  98. metadata +26 -10
  99. 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: 958d9e96cdee4392a5c72351830f6eb3708ff4b6f352165ebfe413e027821064
4
- data.tar.gz: 6e8acf39da2fb4c9ad2829da587d6948af8e15b9fa4635ea716c60355fb44e5f
3
+ metadata.gz: 96d905ca855eb2dbe7fc73b47740d9b107cd13d54248e50cd04c42c9b1cbec06
4
+ data.tar.gz: f47c0a2b631896eb327368850ba7b2d8e57cbfb4b31ac910b197488bc699deda
5
5
  SHA512:
6
- metadata.gz: 22f2eac6252417eb3b8c66c4cd2379051858591524baff178cd9f9711bca49d2027e9e59847374b27d20af4b85b6ff61a20350a9115ba2fb043b0c490be7646d
7
- data.tar.gz: 7976310bf6f27fd27a3247d63c56365163f2a976d65b56d040bc85874777eafad26311715b8f8bdab504e7229800e89c7e6efeaa7942e4fa258d4fb21a528d7e
6
+ metadata.gz: 491de1ec6c39f3a6b85fe3da244ad15f30865e44ca357289a8edbeffefe08eeb3794626827293c45e0c5365864db4eebcbec64b757ea287c3176feb5b69299ac
7
+ data.tar.gz: cb89af8f3d16403d37cbcab90b9b51de1c859bfe8eb689eededbbfd8efdbffc580acd16f2a7594bf75916497cac959325436562bcb2f5b90ec1a600f40765cf1
data/CHANGELOG.md CHANGED
@@ -1,6 +1,243 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.209.0 (2025-12-23)
5
+ ------------------
6
+
7
+ * Feature - Add additional validation to Outpost bucket names.
8
+
9
+ 1.208.0 (2025-12-16)
10
+ ------------------
11
+
12
+ * Feature - Updates to the S3 Encryption Client. The V3 S3 Encryption Client now requires key committing algorithm suites by default.
13
+
14
+ 1.207.0 (2025-12-15)
15
+ ------------------
16
+
17
+ * Feature - This release adds support for the new optional field 'LifecycleExpirationDate' in S3 Inventory configurations.
18
+
19
+ 1.206.0 (2025-12-02)
20
+ ------------------
21
+
22
+ * Feature - New S3 Storage Class FSX_ONTAP
23
+
24
+ 1.205.0 (2025-11-20)
25
+ ------------------
26
+
27
+ * Feature - Enable / Disable ABAC on a general purpose bucket.
28
+
29
+ 1.204.0 (2025-11-19)
30
+ ------------------
31
+
32
+ * Feature - Adds support for blocking SSE-C writes to general purpose buckets.
33
+
34
+ 1.203.1 (2025-11-10)
35
+ ------------------
36
+
37
+ * Issue - Deprecated `:checksum_mode` parameter in `FileDownloader#download`. When set to "DISABLED", a deprecation warning is issued and the parameter is ignored. Use `:response_checksum_validation` on the S3 client instead to control checksum validation behavior.
38
+
39
+ 1.203.0 (2025-11-05)
40
+ ------------------
41
+
42
+ * Feature - Launch IPv6 dual-stack support for S3 Express
43
+
44
+ 1.202.0 (2025-10-28)
45
+ ------------------
46
+
47
+ * Feature - Amazon Simple Storage Service / Features: Add conditional writes in CopyObject on destination key to prevent unintended object modifications.
48
+
49
+ 1.201.0 (2025-10-21)
50
+ ------------------
51
+
52
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
53
+
54
+ * Issue - Fix multipart upload to respect `request_checksum_calculation` `when_required` mode.
55
+
56
+ 1.200.0 (2025-10-15)
57
+ ------------------
58
+
59
+ * Feature - Add lightweight thread pool executor for multipart `download_file`, `upload_file` and `upload_stream`.
60
+
61
+ * Feature - Add custom executor support for `Aws::S3::TransferManager`.
62
+
63
+ 1.199.1 (2025-09-25)
64
+ ------------------
65
+
66
+ * Issue - Update `TransferManager#download_file` and `Object#download_file` documentation regarding temporary file usage and failure handling for different destination types.
67
+
68
+ 1.199.0 (2025-09-08)
69
+ ------------------
70
+
71
+ * Feature - This release includes backward compatibility work on the "Expires" parameter.
72
+
73
+ 1.198.0 (2025-08-26)
74
+ ------------------
75
+
76
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
77
+
78
+ * Issue - Fix multipart `download_file` to support `Pathname`, `File` and `Tempfile` objects as download destinations.
79
+
80
+ 1.197.0 (2025-08-19)
81
+ ------------------
82
+
83
+ * Issue - When multipart stream uploader fails to complete multipart upload, it calls abort multipart upload.
84
+
85
+ * Issue - For `Aws::S3::Object` class, the following methods have been deprecated: `download_file`, `upload_file` and `upload_stream`. Use `Aws::S3::TransferManager` instead.
86
+
87
+ * Feature - Add `Aws::S3::TransferManager`, a S3 transfer utility that provides upload/download capabilities with automatic multipart handling, progress tracking, and handling of large files.
88
+
89
+ 1.196.1 (2025-08-05)
90
+ ------------------
91
+
92
+ * Issue - Add range validation to multipart download to ensure all parts are successfully processed.
93
+
94
+ * Issue - When multipart uploader fails to complete multipart upload, it calls abort multipart upload.
95
+
96
+ * Issue - Clean up partially downloaded file on multipart `download_file` failure while preserving existing file.
97
+
98
+ 1.196.0 (2025-08-04)
99
+ ------------------
100
+
101
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
102
+
103
+ 1.195.0 (2025-07-31)
104
+ ------------------
105
+
106
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
107
+
108
+ 1.194.0 (2025-07-21)
109
+ ------------------
110
+
111
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
112
+
113
+ 1.193.0 (2025-07-15)
114
+ ------------------
115
+
116
+ * 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.
117
+
118
+ 1.192.0 (2025-07-02)
119
+ ------------------
120
+
121
+ * Feature - Added support for directory bucket creation with tags and bucket ARN retrieval in CreateBucket, ListDirectoryBuckets, and HeadBucket operations
122
+
123
+ 1.191.0 (2025-06-25)
124
+ ------------------
125
+
126
+ * 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
127
+
128
+ 1.190.0 (2025-06-18)
129
+ ------------------
130
+
131
+ * Feature - Added support for renaming objects within the same bucket using the new RenameObject API.
132
+
133
+ 1.189.1 (2025-06-10)
134
+ ------------------
135
+
136
+ * Issue - Only load required `cgi` modules for Ruby 3.5.
137
+
138
+ 1.189.0 (2025-06-02)
139
+ ------------------
140
+
141
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
142
+
143
+ 1.188.0 (2025-05-29)
144
+ ------------------
145
+
146
+ * Feature - Adding checksum support for S3 PutBucketOwnershipControls API.
147
+
148
+ 1.187.0 (2025-05-28)
149
+ ------------------
150
+
151
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
152
+
153
+ * Issue - Signal data in http response listeners prior to writing, so that data can be inspected or verified before potential mutation.
154
+
155
+ 1.186.1 (2025-05-15)
156
+ ------------------
157
+ * Issue - Abort multipart download if object is modified during download.
158
+
159
+ 1.186.0 (2025-05-12)
160
+ ------------------
161
+
162
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
163
+
164
+ 1.185.0 (2025-05-01)
165
+ ------------------
166
+
167
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
168
+
169
+ 1.184.0 (2025-04-28)
170
+ ------------------
171
+
172
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
173
+
174
+ 1.183.0 (2025-03-31)
175
+ ------------------
176
+
177
+ * Feature - Amazon S3 adds support for S3 Access Points for directory buckets in AWS Dedicated Local Zones
178
+
179
+ 1.182.0 (2025-02-18)
180
+ ------------------
181
+
182
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
183
+
184
+ 1.181.0 (2025-02-14)
185
+ ------------------
186
+
187
+ * Feature - Added support for Content-Range header in HeadObject response.
188
+
189
+ 1.180.0 (2025-02-06)
190
+ ------------------
191
+
192
+ * Feature - Updated list of the valid AWS Region values for the LocationConstraint parameter for general purpose buckets.
193
+
194
+ 1.179.0 (2025-01-29)
195
+ ------------------
196
+
197
+ * Feature - Change the type of MpuObjectSize in CompleteMultipartUploadRequest from int to long.
198
+
199
+ 1.178.0 (2025-01-15)
200
+ ------------------
201
+
202
+ * 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.
203
+
204
+ * Feature - Default to using `CRC32` checksum validation for S3 uploads and downloads.
205
+
206
+ 1.177.0 (2025-01-03)
207
+ ------------------
208
+
209
+ * 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.
210
+
211
+ 1.176.1 (2024-12-12)
212
+ ------------------
213
+
214
+ * Issue - Do not normalize object keys when calling `presigned_url` or `presigned_request`.
215
+
216
+ 1.176.0 (2024-12-03)
217
+ ------------------
218
+
219
+ * 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.
220
+
221
+ 1.175.0 (2024-12-02)
222
+ ------------------
223
+
224
+ * Feature - Amazon S3 introduces support for AWS Dedicated Local Zones
225
+
226
+ 1.174.0 (2024-11-25)
227
+ ------------------
228
+
229
+ * Feature - Amazon Simple Storage Service / Features: Add support for ETag based conditional writes in PutObject and CompleteMultiPartUpload APIs to prevent unintended object modifications.
230
+
231
+ 1.173.0 (2024-11-21)
232
+ ------------------
233
+
234
+ * 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.
235
+
236
+ 1.172.0 (2024-11-18)
237
+ ------------------
238
+
239
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
240
+
4
241
  1.171.0 (2024-11-14)
5
242
  ------------------
6
243
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.171.0
1
+ 1.209.0
@@ -49,6 +49,23 @@ module Aws::S3
49
49
  data[:bucket_region]
50
50
  end
51
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
+
52
69
  # @!endgroup
53
70
 
54
71
  # @return [Client]
@@ -237,15 +254,21 @@ module Aws::S3
237
254
  # bucket.create({
238
255
  # acl: "private", # accepts private, public-read, public-read-write, authenticated-read
239
256
  # 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
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
241
258
  # location: {
242
- # type: "AvailabilityZone", # accepts AvailabilityZone
259
+ # type: "AvailabilityZone", # accepts AvailabilityZone, LocalZone
243
260
  # name: "LocationNameAsString",
244
261
  # },
245
262
  # bucket: {
246
- # data_redundancy: "SingleAvailabilityZone", # accepts SingleAvailabilityZone
263
+ # data_redundancy: "SingleAvailabilityZone", # accepts SingleAvailabilityZone, SingleLocalZone
247
264
  # type: "Directory", # accepts Directory
248
265
  # },
266
+ # tags: [
267
+ # {
268
+ # key: "ObjectKey", # required
269
+ # value: "Value", # required
270
+ # },
271
+ # ],
249
272
  # },
250
273
  # grant_full_control: "GrantFullControl",
251
274
  # grant_read: "GrantRead",
@@ -381,6 +404,9 @@ module Aws::S3
381
404
  # {
382
405
  # key: "ObjectKey", # required
383
406
  # version_id: "ObjectVersionId",
407
+ # etag: "ETag",
408
+ # last_modified_time: Time.now,
409
+ # size: 1,
384
410
  # },
385
411
  # ],
386
412
  # quiet: false,
@@ -389,7 +415,7 @@ module Aws::S3
389
415
  # request_payer: "requester", # accepts requester
390
416
  # bypass_governance_retention: false,
391
417
  # expected_bucket_owner: "AccountId",
392
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
418
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
393
419
  # })
394
420
  # @param [Hash] options ({})
395
421
  # @option options [required, Types::Delete] :delete
@@ -459,6 +485,8 @@ module Aws::S3
459
485
  #
460
486
  # * `CRC32C`
461
487
  #
488
+ # * `CRC64NVME`
489
+ #
462
490
  # * `SHA1`
463
491
  #
464
492
  # * `SHA256`
@@ -468,9 +496,8 @@ module Aws::S3
468
496
  #
469
497
  # If the individual checksum value you provide through
470
498
  # `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 `.
499
+ # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
500
+ # request with a `BadDigest` error.
474
501
  #
475
502
  # If you provide an individual checksum, Amazon S3 ignores any provided
476
503
  # `ChecksumAlgorithm` parameter.
@@ -499,23 +526,26 @@ module Aws::S3
499
526
  # content_length: 1,
500
527
  # content_md5: "ContentMD5",
501
528
  # content_type: "ContentType",
502
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
529
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
503
530
  # checksum_crc32: "ChecksumCRC32",
504
531
  # checksum_crc32c: "ChecksumCRC32C",
532
+ # checksum_crc64nvme: "ChecksumCRC64NVME",
505
533
  # checksum_sha1: "ChecksumSHA1",
506
534
  # checksum_sha256: "ChecksumSHA256",
507
535
  # expires: Time.now,
536
+ # if_match: "IfMatch",
508
537
  # if_none_match: "IfNoneMatch",
509
538
  # grant_full_control: "GrantFullControl",
510
539
  # grant_read: "GrantRead",
511
540
  # grant_read_acp: "GrantReadACP",
512
541
  # grant_write_acp: "GrantWriteACP",
513
542
  # key: "ObjectKey", # required
543
+ # write_offset_bytes: 1,
514
544
  # metadata: {
515
545
  # "MetadataKey" => "MetadataValue",
516
546
  # },
517
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
518
- # 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, FSX_ONTAP
519
549
  # website_redirect_location: "WebsiteRedirectLocation",
520
550
  # sse_customer_algorithm: "SSECustomerAlgorithm",
521
551
  # sse_customer_key: "SSECustomerKey",
@@ -606,7 +636,7 @@ module Aws::S3
606
636
  #
607
637
  # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
608
638
  # @option options [String] :content_md5
609
- # 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
610
640
  # headers) according to RFC 1864. This header can be used as a message
611
641
  # integrity check to verify that the data is the same data that was
612
642
  # originally sent. Although it is optional, we recommend using the
@@ -653,6 +683,8 @@ module Aws::S3
653
683
  #
654
684
  # * `CRC32C`
655
685
  #
686
+ # * `CRC64NVME`
687
+ #
656
688
  # * `SHA1`
657
689
  #
658
690
  # * `SHA256`
@@ -662,9 +694,8 @@ module Aws::S3
662
694
  #
663
695
  # If the individual checksum value you provide through
664
696
  # `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 `.
697
+ # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
698
+ # request with a `BadDigest` error.
668
699
  #
669
700
  # <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
670
701
  # for any request to upload an object with a retention period configured
@@ -684,7 +715,7 @@ module Aws::S3
684
715
  # @option options [String] :checksum_crc32
685
716
  # This header can be used as a data integrity check to verify that the
686
717
  # 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.
718
+ # specifies the Base64 encoded, 32-bit `CRC32` checksum of the object.
688
719
  # For more information, see [Checking object integrity][1] in the
689
720
  # *Amazon S3 User Guide*.
690
721
  #
@@ -694,17 +725,28 @@ module Aws::S3
694
725
  # @option options [String] :checksum_crc32c
695
726
  # This header can be used as a data integrity check to verify that the
696
727
  # 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.
728
+ # specifies the Base64 encoded, 32-bit `CRC32C` checksum of the object.
698
729
  # For more information, see [Checking object integrity][1] in the
699
730
  # *Amazon S3 User Guide*.
700
731
  #
701
732
  #
702
733
  #
703
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
704
746
  # @option options [String] :checksum_sha1
705
747
  # This header can be used as a data integrity check to verify that the
706
748
  # 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
749
+ # specifies the Base64 encoded, 160-bit `SHA1` digest of the object. For
708
750
  # more information, see [Checking object integrity][1] in the *Amazon S3
709
751
  # User Guide*.
710
752
  #
@@ -714,7 +756,7 @@ module Aws::S3
714
756
  # @option options [String] :checksum_sha256
715
757
  # This header can be used as a data integrity check to verify that the
716
758
  # 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.
759
+ # specifies the Base64 encoded, 256-bit `SHA256` digest of the object.
718
760
  # For more information, see [Checking object integrity][1] in the
719
761
  # *Amazon S3 User Guide*.
720
762
  #
@@ -729,6 +771,25 @@ module Aws::S3
729
771
  #
730
772
  #
731
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
732
793
  # @option options [String] :if_none_match
733
794
  # Uploads the object only if the object key name does not already exist
734
795
  # in the bucket specified. Otherwise, Amazon S3 returns a `412
@@ -782,12 +843,21 @@ module Aws::S3
782
843
  # </note>
783
844
  # @option options [required, String] :key
784
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>
785
856
  # @option options [Hash<String,String>] :metadata
786
857
  # A map of metadata to store with the object in S3.
787
858
  # @option options [String] :server_side_encryption
788
859
  # The server-side encryption algorithm that was used when you store this
789
- # object in Amazon S3 (for example, `AES256`, `aws:kms`,
790
- # `aws:kms:dsse`).
860
+ # object in Amazon S3 or Amazon FSx.
791
861
  #
792
862
  # * <b>General purpose buckets </b> - You have four mutually exclusive
793
863
  # options to protect data using server-side encryption in Amazon S3,
@@ -841,6 +911,14 @@ module Aws::S3
841
911
  #
842
912
  # </note>
843
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
+ #
844
922
  #
845
923
  #
846
924
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
@@ -855,8 +933,9 @@ module Aws::S3
855
933
  # a different Storage Class. For more information, see [Storage
856
934
  # Classes][1] in the *Amazon S3 User Guide*.
857
935
  #
858
- # <note markdown="1"> * For directory buckets, only the S3 Express One Zone storage class is
859
- # 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.
860
939
  #
861
940
  # * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
862
941
  #
@@ -934,20 +1013,17 @@ module Aws::S3
934
1013
  # `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
935
1014
  # Amazon Web Services managed key (`aws/s3`) to protect the data.
936
1015
  #
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.
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.
951
1027
  #
952
1028
  #
953
1029
  #
@@ -956,7 +1032,7 @@ module Aws::S3
956
1032
  # @option options [String] :ssekms_encryption_context
957
1033
  # Specifies the Amazon Web Services KMS Encryption Context as an
958
1034
  # 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,
1035
+ # of this header is a Base64 encoded string of a UTF-8 encoded JSON,
960
1036
  # which contains the encryption context as key-value pairs. This value
961
1037
  # is stored as object metadata and automatically gets passed on to
962
1038
  # Amazon Web Services KMS for future `GetObject` operations on this
@@ -1130,6 +1206,9 @@ module Aws::S3
1130
1206
  # beginning of the key. The keys that are grouped under `CommonPrefixes`
1131
1207
  # result element are not returned elsewhere in the response.
1132
1208
  #
1209
+ # `CommonPrefixes` is filtered out from results if it is not
1210
+ # lexicographically greater than the key-marker.
1211
+ #
1133
1212
  # <note markdown="1"> **Directory buckets** - For directory buckets, `/` is the only
1134
1213
  # supported delimiter.
1135
1214
  #
@@ -1286,6 +1365,9 @@ module Aws::S3
1286
1365
  # in `CommonPrefixes`. These groups are counted as one result against
1287
1366
  # the `max-keys` limitation. These keys are not returned elsewhere in
1288
1367
  # the response.
1368
+ #
1369
+ # `CommonPrefixes` is filtered out from results if it is not
1370
+ # lexicographically greater than the key-marker.
1289
1371
  # @option options [String] :encoding_type
1290
1372
  # Encoding type used by Amazon S3 to encode the [object keys][1] in the
1291
1373
  # response. Responses are encoded only in UTF-8. An object key can
@@ -1381,6 +1463,9 @@ module Aws::S3
1381
1463
  # @option options [String] :delimiter
1382
1464
  # A delimiter is a character that you use to group keys.
1383
1465
  #
1466
+ # `CommonPrefixes` is filtered out from results if it is not
1467
+ # lexicographically greater than the `StartAfter` value.
1468
+ #
1384
1469
  # <note markdown="1"> * **Directory buckets** - For directory buckets, `/` is the only
1385
1470
  # supported delimiter.
1386
1471
  #
@@ -34,7 +34,7 @@ module Aws::S3
34
34
  @bucket_name
35
35
  end
36
36
 
37
- # Container for the bucket owner's display name and ID.
37
+ # Container for the bucket owner's ID.
38
38
  # @return [Types::Owner]
39
39
  def owner
40
40
  data[:owner]
@@ -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`