aws-sdk-s3 1.177.0 → 1.219.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 (105) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +270 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +130 -51
  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 +2 -2
  8. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +3 -3
  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 +3777 -1414
  16. data/lib/aws-sdk-s3/client_api.rb +548 -164
  17. data/lib/aws-sdk-s3/customizations/object.rb +76 -86
  18. data/lib/aws-sdk-s3/customizations.rb +11 -2
  19. data/lib/aws-sdk-s3/default_executor.rb +103 -0
  20. data/lib/aws-sdk-s3/directory_download_error.rb +16 -0
  21. data/lib/aws-sdk-s3/directory_downloader.rb +230 -0
  22. data/lib/aws-sdk-s3/directory_upload_error.rb +16 -0
  23. data/lib/aws-sdk-s3/directory_uploader.rb +270 -0
  24. data/lib/aws-sdk-s3/encryption/client.rb +2 -2
  25. data/lib/aws-sdk-s3/encryption/default_cipher_provider.rb +2 -0
  26. data/lib/aws-sdk-s3/encryption/encrypt_handler.rb +2 -0
  27. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +2 -0
  28. data/lib/aws-sdk-s3/encryptionV2/client.rb +98 -23
  29. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +7 -162
  30. data/lib/aws-sdk-s3/encryptionV2/decryption.rb +205 -0
  31. data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +17 -0
  32. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +2 -0
  33. data/lib/aws-sdk-s3/encryptionV2/io_encrypter.rb +2 -0
  34. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +8 -0
  35. data/lib/aws-sdk-s3/encryptionV2/utils.rb +5 -0
  36. data/lib/aws-sdk-s3/encryptionV3/client.rb +885 -0
  37. data/lib/aws-sdk-s3/encryptionV3/decrypt_handler.rb +98 -0
  38. data/lib/aws-sdk-s3/encryptionV3/decryption.rb +244 -0
  39. data/lib/aws-sdk-s3/encryptionV3/default_cipher_provider.rb +159 -0
  40. data/lib/aws-sdk-s3/encryptionV3/default_key_provider.rb +35 -0
  41. data/lib/aws-sdk-s3/encryptionV3/encrypt_handler.rb +98 -0
  42. data/lib/aws-sdk-s3/encryptionV3/errors.rb +47 -0
  43. data/lib/aws-sdk-s3/encryptionV3/io_auth_decrypter.rb +60 -0
  44. data/lib/aws-sdk-s3/encryptionV3/io_decrypter.rb +35 -0
  45. data/lib/aws-sdk-s3/encryptionV3/io_encrypter.rb +84 -0
  46. data/lib/aws-sdk-s3/encryptionV3/key_provider.rb +28 -0
  47. data/lib/aws-sdk-s3/encryptionV3/kms_cipher_provider.rb +159 -0
  48. data/lib/aws-sdk-s3/encryptionV3/materials.rb +58 -0
  49. data/lib/aws-sdk-s3/encryptionV3/utils.rb +321 -0
  50. data/lib/aws-sdk-s3/encryption_v2.rb +1 -0
  51. data/lib/aws-sdk-s3/encryption_v3.rb +24 -0
  52. data/lib/aws-sdk-s3/endpoint_parameters.rb +17 -17
  53. data/lib/aws-sdk-s3/endpoint_provider.rb +575 -314
  54. data/lib/aws-sdk-s3/endpoints.rb +124 -0
  55. data/lib/aws-sdk-s3/errors.rb +22 -0
  56. data/lib/aws-sdk-s3/file_downloader.rb +189 -143
  57. data/lib/aws-sdk-s3/file_uploader.rb +17 -13
  58. data/lib/aws-sdk-s3/legacy_signer.rb +2 -1
  59. data/lib/aws-sdk-s3/multipart_download_error.rb +8 -0
  60. data/lib/aws-sdk-s3/multipart_file_uploader.rb +108 -102
  61. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +96 -107
  62. data/lib/aws-sdk-s3/multipart_upload.rb +62 -18
  63. data/lib/aws-sdk-s3/multipart_upload_error.rb +3 -4
  64. data/lib/aws-sdk-s3/multipart_upload_part.rb +58 -42
  65. data/lib/aws-sdk-s3/object.rb +296 -169
  66. data/lib/aws-sdk-s3/object_acl.rb +16 -10
  67. data/lib/aws-sdk-s3/object_multipart_copier.rb +2 -1
  68. data/lib/aws-sdk-s3/object_summary.rb +207 -131
  69. data/lib/aws-sdk-s3/object_version.rb +41 -39
  70. data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +44 -0
  71. data/lib/aws-sdk-s3/plugins/endpoints.rb +1 -1
  72. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +11 -20
  73. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +58 -34
  74. data/lib/aws-sdk-s3/plugins/md5s.rb +10 -71
  75. data/lib/aws-sdk-s3/plugins/sse_cpk.rb +3 -0
  76. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +5 -7
  77. data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -1
  78. data/lib/aws-sdk-s3/presigner.rb +4 -5
  79. data/lib/aws-sdk-s3/resource.rb +35 -1
  80. data/lib/aws-sdk-s3/transfer_manager.rb +540 -0
  81. data/lib/aws-sdk-s3/types.rb +3353 -1181
  82. data/lib/aws-sdk-s3.rb +1 -1
  83. data/sig/bucket.rbs +18 -7
  84. data/sig/bucket_acl.rbs +1 -1
  85. data/sig/bucket_cors.rbs +1 -1
  86. data/sig/bucket_lifecycle.rbs +1 -1
  87. data/sig/bucket_lifecycle_configuration.rbs +1 -1
  88. data/sig/bucket_logging.rbs +1 -1
  89. data/sig/bucket_policy.rbs +1 -1
  90. data/sig/bucket_request_payment.rbs +1 -1
  91. data/sig/bucket_tagging.rbs +1 -1
  92. data/sig/bucket_versioning.rbs +3 -3
  93. data/sig/bucket_website.rbs +1 -1
  94. data/sig/client.rbs +250 -65
  95. data/sig/errors.rbs +4 -0
  96. data/sig/multipart_upload.rbs +9 -2
  97. data/sig/multipart_upload_part.rbs +5 -1
  98. data/sig/object.rbs +31 -15
  99. data/sig/object_acl.rbs +1 -1
  100. data/sig/object_summary.rbs +22 -15
  101. data/sig/object_version.rbs +5 -2
  102. data/sig/resource.rbs +13 -3
  103. data/sig/types.rbs +319 -64
  104. metadata +30 -10
  105. 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: 5527258c2438f5ef4cc29b1b11fc3b3a1515cf49c092297703f213e8ee3f062f
4
- data.tar.gz: 1048ada03491ba3f3dbf9b13df205ecc31845f02536ddae56c1d1b050a06b191
3
+ metadata.gz: 731a88ce68b5b30a88fa1d5808f2b8039b997588b62e35b720cc85e9e031c71a
4
+ data.tar.gz: 46b4b81dc2204dfe7eec4107a25daf1d2c4aaebc84698527453eeeed8ecdaedc
5
5
  SHA512:
6
- metadata.gz: 3ec9bf1db9d3d31412426263b5cde0acd230e459f0c5e301709cc937dea986c93ea4c9bc70fe1b2d58928466834cbaf0ebd928e7f579b7063148a83dfcdc3b31
7
- data.tar.gz: 61e1af6426a99179cebbda1b97b435917e77af54cac150b0211af1146aa12f9bbcb41f7226aaf453a943c3ec9566265646bf0fa7f1aa8fd42382c0b8107070bd
6
+ metadata.gz: 02e52620496d31aba396fa749aab6d07b36b1292c129f16d17f588723a9408dee2ac1d0454c2659ac7536bd729e966986773cf1e97012273c22d59d94b510218
7
+ data.tar.gz: c64fd0d8aec2a31c85a6a094bcbbc365bacf8dd9f1ade25182fd708923bd539fd38395ad3502f6a290bfb9318e841923edd0593c993b1e19158c65868c6a9c33
data/CHANGELOG.md CHANGED
@@ -1,6 +1,276 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.219.0 (2026-04-07)
5
+ ------------------
6
+
7
+ * Feature - Updated list of the valid AWS Region values for the LocationConstraint parameter for general purpose buckets.
8
+
9
+ 1.218.0 (2026-03-31)
10
+ ------------------
11
+
12
+ * Feature - Add Bucket Metrics configuration support to directory buckets
13
+
14
+ 1.217.1 (2026-03-30)
15
+ ------------------
16
+
17
+ * Issue - Fix `require_https_for_sse_cpk` option being ignored; the HTTPS enforcement for SSE-CPK operations now correctly respects the configured value, allowing it to be disabled for local development.
18
+
19
+ 1.217.0 (2026-03-18)
20
+ ------------------
21
+
22
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
23
+
24
+ 1.216.0 (2026-03-12)
25
+ ------------------
26
+
27
+ * Feature - Adds support for account regional namespaces for general purpose buckets. The account regional namespace is a reserved subdivision of the global bucket namespace where only your account can create general purpose buckets.
28
+
29
+ 1.215.0 (2026-03-05)
30
+ ------------------
31
+
32
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
33
+
34
+ * Issue - Fix `LoadError` when requiring `aws-sdk-s3` due to missing `directory_progress` file.
35
+
36
+ 1.214.0 (2026-03-04)
37
+ ------------------
38
+
39
+ * Feature - Added `#upload_directory` and `#download_directory` to `Aws::S3::TransferManager` for bulk directory transfers.
40
+
41
+ 1.213.0 (2026-01-28)
42
+ ------------------
43
+
44
+ * Feature - Adds support for the UpdateObjectEncryption API to change the server-side encryption type of objects in general purpose buckets.
45
+
46
+ 1.212.0 (2026-01-16)
47
+ ------------------
48
+
49
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
50
+
51
+ 1.211.0 (2026-01-08)
52
+ ------------------
53
+
54
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
55
+
56
+ * Issue - Falls back to header request checksums when using custom endpoints or endpoint providers for PutObject and UploadPart operations.
57
+
58
+ 1.210.1 (2026-01-06)
59
+ ------------------
60
+
61
+ * Issue - Normalize response encoding to UTF-8 for proper XML error parsing in HTTP 200 responses.
62
+
63
+ 1.210.0 (2026-01-05)
64
+ ------------------
65
+
66
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
67
+
68
+ * Feature - Added `:http_chunk_size` parameter to `TransferManager#upload_file` to control the buffer size when streaming request bodies over HTTP. Larger chunk sizes may improve network throughput at the cost of higher memory usage (Ruby MRI only).
69
+
70
+ * Feature - Improved memory efficiency when calculating request checksums for large file uploads (Ruby MRI only).
71
+
72
+ 1.209.0 (2025-12-23)
73
+ ------------------
74
+
75
+ * Feature - Add additional validation to Outpost bucket names.
76
+
77
+ 1.208.0 (2025-12-16)
78
+ ------------------
79
+
80
+ * Feature - Updates to the S3 Encryption Client. The V3 S3 Encryption Client now requires key committing algorithm suites by default.
81
+
82
+ 1.207.0 (2025-12-15)
83
+ ------------------
84
+
85
+ * Feature - This release adds support for the new optional field 'LifecycleExpirationDate' in S3 Inventory configurations.
86
+
87
+ 1.206.0 (2025-12-02)
88
+ ------------------
89
+
90
+ * Feature - New S3 Storage Class FSX_ONTAP
91
+
92
+ 1.205.0 (2025-11-20)
93
+ ------------------
94
+
95
+ * Feature - Enable / Disable ABAC on a general purpose bucket.
96
+
97
+ 1.204.0 (2025-11-19)
98
+ ------------------
99
+
100
+ * Feature - Adds support for blocking SSE-C writes to general purpose buckets.
101
+
102
+ 1.203.1 (2025-11-10)
103
+ ------------------
104
+
105
+ * 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.
106
+
107
+ 1.203.0 (2025-11-05)
108
+ ------------------
109
+
110
+ * Feature - Launch IPv6 dual-stack support for S3 Express
111
+
112
+ 1.202.0 (2025-10-28)
113
+ ------------------
114
+
115
+ * Feature - Amazon Simple Storage Service / Features: Add conditional writes in CopyObject on destination key to prevent unintended object modifications.
116
+
117
+ 1.201.0 (2025-10-21)
118
+ ------------------
119
+
120
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
121
+
122
+ * Issue - Fix multipart upload to respect `request_checksum_calculation` `when_required` mode.
123
+
124
+ 1.200.0 (2025-10-15)
125
+ ------------------
126
+
127
+ * Feature - Add lightweight thread pool executor for multipart `download_file`, `upload_file` and `upload_stream`.
128
+
129
+ * Feature - Add custom executor support for `Aws::S3::TransferManager`.
130
+
131
+ 1.199.1 (2025-09-25)
132
+ ------------------
133
+
134
+ * Issue - Update `TransferManager#download_file` and `Object#download_file` documentation regarding temporary file usage and failure handling for different destination types.
135
+
136
+ 1.199.0 (2025-09-08)
137
+ ------------------
138
+
139
+ * Feature - This release includes backward compatibility work on the "Expires" parameter.
140
+
141
+ 1.198.0 (2025-08-26)
142
+ ------------------
143
+
144
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
145
+
146
+ * Issue - Fix multipart `download_file` to support `Pathname`, `File` and `Tempfile` objects as download destinations.
147
+
148
+ 1.197.0 (2025-08-19)
149
+ ------------------
150
+
151
+ * Issue - When multipart stream uploader fails to complete multipart upload, it calls abort multipart upload.
152
+
153
+ * Issue - For `Aws::S3::Object` class, the following methods have been deprecated: `download_file`, `upload_file` and `upload_stream`. Use `Aws::S3::TransferManager` instead.
154
+
155
+ * 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.
156
+
157
+ 1.196.1 (2025-08-05)
158
+ ------------------
159
+
160
+ * Issue - Add range validation to multipart download to ensure all parts are successfully processed.
161
+
162
+ * Issue - When multipart uploader fails to complete multipart upload, it calls abort multipart upload.
163
+
164
+ * Issue - Clean up partially downloaded file on multipart `download_file` failure while preserving existing file.
165
+
166
+ 1.196.0 (2025-08-04)
167
+ ------------------
168
+
169
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
170
+
171
+ 1.195.0 (2025-07-31)
172
+ ------------------
173
+
174
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
175
+
176
+ 1.194.0 (2025-07-21)
177
+ ------------------
178
+
179
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
180
+
181
+ 1.193.0 (2025-07-15)
182
+ ------------------
183
+
184
+ * 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.
185
+
186
+ 1.192.0 (2025-07-02)
187
+ ------------------
188
+
189
+ * Feature - Added support for directory bucket creation with tags and bucket ARN retrieval in CreateBucket, ListDirectoryBuckets, and HeadBucket operations
190
+
191
+ 1.191.0 (2025-06-25)
192
+ ------------------
193
+
194
+ * 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
195
+
196
+ 1.190.0 (2025-06-18)
197
+ ------------------
198
+
199
+ * Feature - Added support for renaming objects within the same bucket using the new RenameObject API.
200
+
201
+ 1.189.1 (2025-06-10)
202
+ ------------------
203
+
204
+ * Issue - Only load required `cgi` modules for Ruby 3.5.
205
+
206
+ 1.189.0 (2025-06-02)
207
+ ------------------
208
+
209
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
210
+
211
+ 1.188.0 (2025-05-29)
212
+ ------------------
213
+
214
+ * Feature - Adding checksum support for S3 PutBucketOwnershipControls API.
215
+
216
+ 1.187.0 (2025-05-28)
217
+ ------------------
218
+
219
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
220
+
221
+ * Issue - Signal data in http response listeners prior to writing, so that data can be inspected or verified before potential mutation.
222
+
223
+ 1.186.1 (2025-05-15)
224
+ ------------------
225
+ * Issue - Abort multipart download if object is modified during download.
226
+
227
+ 1.186.0 (2025-05-12)
228
+ ------------------
229
+
230
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
231
+
232
+ 1.185.0 (2025-05-01)
233
+ ------------------
234
+
235
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
236
+
237
+ 1.184.0 (2025-04-28)
238
+ ------------------
239
+
240
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
241
+
242
+ 1.183.0 (2025-03-31)
243
+ ------------------
244
+
245
+ * Feature - Amazon S3 adds support for S3 Access Points for directory buckets in AWS Dedicated Local Zones
246
+
247
+ 1.182.0 (2025-02-18)
248
+ ------------------
249
+
250
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
251
+
252
+ 1.181.0 (2025-02-14)
253
+ ------------------
254
+
255
+ * Feature - Added support for Content-Range header in HeadObject response.
256
+
257
+ 1.180.0 (2025-02-06)
258
+ ------------------
259
+
260
+ * Feature - Updated list of the valid AWS Region values for the LocationConstraint parameter for general purpose buckets.
261
+
262
+ 1.179.0 (2025-01-29)
263
+ ------------------
264
+
265
+ * Feature - Change the type of MpuObjectSize in CompleteMultipartUploadRequest from int to long.
266
+
267
+ 1.178.0 (2025-01-15)
268
+ ------------------
269
+
270
+ * 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.
271
+
272
+ * Feature - Default to using `CRC32` checksum validation for S3 uploads and downloads.
273
+
4
274
  1.177.0 (2025-01-03)
5
275
  ------------------
6
276
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.177.0
1
+ 1.219.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,7 +254,7 @@ 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-east-2, 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, ap-southeast-6, ap-southeast-7, ca-central-1, ca-west-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, mx-central-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
259
  # type: "AvailabilityZone", # accepts AvailabilityZone, LocalZone
243
260
  # name: "LocationNameAsString",
@@ -246,6 +263,12 @@ module Aws::S3
246
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",
@@ -254,6 +277,7 @@ module Aws::S3
254
277
  # grant_write_acp: "GrantWriteACP",
255
278
  # object_lock_enabled_for_bucket: false,
256
279
  # object_ownership: "BucketOwnerPreferred", # accepts BucketOwnerPreferred, ObjectWriter, BucketOwnerEnforced
280
+ # bucket_namespace: "account-regional", # accepts account-regional, global
257
281
  # })
258
282
  # @param [Hash] options ({})
259
283
  # @option options [String] :acl
@@ -339,6 +363,33 @@ module Aws::S3
339
363
  #
340
364
  #
341
365
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
366
+ # @option options [String] :bucket_namespace
367
+ # Specifies the namespace where you want to create your general purpose
368
+ # bucket. When you create a general purpose bucket, you can choose to
369
+ # create a bucket in the shared global namespace or you can choose to
370
+ # create a bucket in your account regional namespace. Your account
371
+ # regional namespace is a subdivision of the global namespace that only
372
+ # your account can create buckets in. For more information on bucket
373
+ # namespaces, see [Namespaces for general purpose buckets][1].
374
+ #
375
+ # General purpose buckets in your account regional namespace must follow
376
+ # a specific naming convention. These buckets consist of a bucket name
377
+ # prefix that you create, and a suffix that contains your 12-digit
378
+ # Amazon Web Services Account ID, the Amazon Web Services Region code,
379
+ # and ends with `-an`. Bucket names must follow the format
380
+ # `bucket-name-prefix-accountId-region-an` (for example,
381
+ # `amzn-s3-demo-bucket-111122223333-us-west-2-an`). For information
382
+ # about bucket naming restrictions, see [Account regional namespace
383
+ # naming rules][2] in the *Amazon S3 User Guide*.
384
+ #
385
+ # <note markdown="1"> This functionality is not supported for directory buckets.
386
+ #
387
+ # </note>
388
+ #
389
+ #
390
+ #
391
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/gpbucketnamespaces.html
392
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html#account-regional-naming-rules
342
393
  # @return [Types::CreateBucketOutput]
343
394
  def create(options = {})
344
395
  options = options.merge(bucket: @name)
@@ -392,7 +443,7 @@ module Aws::S3
392
443
  # request_payer: "requester", # accepts requester
393
444
  # bypass_governance_retention: false,
394
445
  # expected_bucket_owner: "AccountId",
395
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
446
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
396
447
  # })
397
448
  # @param [Hash] options ({})
398
449
  # @option options [required, Types::Delete] :delete
@@ -423,10 +474,10 @@ module Aws::S3
423
474
  # Confirms that the requester knows that they will be charged for the
424
475
  # request. Bucket owners need not specify this parameter in their
425
476
  # requests. If either the source or destination S3 bucket has Requester
426
- # Pays enabled, the requester will pay for corresponding charges to copy
427
- # the object. For information about downloading objects from Requester
428
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
429
- # in the *Amazon S3 User Guide*.
477
+ # Pays enabled, the requester will pay for the corresponding charges.
478
+ # For information about downloading objects from Requester Pays buckets,
479
+ # see [Downloading Objects in Requester Pays Buckets][1] in the *Amazon
480
+ # S3 User Guide*.
430
481
  #
431
482
  # <note markdown="1"> This functionality is not supported for directory buckets.
432
483
  #
@@ -462,6 +513,8 @@ module Aws::S3
462
513
  #
463
514
  # * `CRC32C`
464
515
  #
516
+ # * `CRC64NVME`
517
+ #
465
518
  # * `SHA1`
466
519
  #
467
520
  # * `SHA256`
@@ -471,9 +524,8 @@ module Aws::S3
471
524
  #
472
525
  # If the individual checksum value you provide through
473
526
  # `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
474
- # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 ignores any
475
- # provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
476
- # that matches the provided value in `x-amz-checksum-algorithm `.
527
+ # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
528
+ # request with a `BadDigest` error.
477
529
  #
478
530
  # If you provide an individual checksum, Amazon S3 ignores any provided
479
531
  # `ChecksumAlgorithm` parameter.
@@ -502,9 +554,10 @@ module Aws::S3
502
554
  # content_length: 1,
503
555
  # content_md5: "ContentMD5",
504
556
  # content_type: "ContentType",
505
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
557
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
506
558
  # checksum_crc32: "ChecksumCRC32",
507
559
  # checksum_crc32c: "ChecksumCRC32C",
560
+ # checksum_crc64nvme: "ChecksumCRC64NVME",
508
561
  # checksum_sha1: "ChecksumSHA1",
509
562
  # checksum_sha256: "ChecksumSHA256",
510
563
  # expires: Time.now,
@@ -519,8 +572,8 @@ module Aws::S3
519
572
  # metadata: {
520
573
  # "MetadataKey" => "MetadataValue",
521
574
  # },
522
- # server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
523
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
575
+ # server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
576
+ # 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
524
577
  # website_redirect_location: "WebsiteRedirectLocation",
525
578
  # sse_customer_algorithm: "SSECustomerAlgorithm",
526
579
  # sse_customer_key: "SSECustomerKey",
@@ -611,7 +664,7 @@ module Aws::S3
611
664
  #
612
665
  # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
613
666
  # @option options [String] :content_md5
614
- # The base64-encoded 128-bit MD5 digest of the message (without the
667
+ # The Base64 encoded 128-bit `MD5` digest of the message (without the
615
668
  # headers) according to RFC 1864. This header can be used as a message
616
669
  # integrity check to verify that the data is the same data that was
617
670
  # originally sent. Although it is optional, we recommend using the
@@ -658,6 +711,8 @@ module Aws::S3
658
711
  #
659
712
  # * `CRC32C`
660
713
  #
714
+ # * `CRC64NVME`
715
+ #
661
716
  # * `SHA1`
662
717
  #
663
718
  # * `SHA256`
@@ -667,9 +722,8 @@ module Aws::S3
667
722
  #
668
723
  # If the individual checksum value you provide through
669
724
  # `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
670
- # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 ignores any
671
- # provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
672
- # that matches the provided value in `x-amz-checksum-algorithm `.
725
+ # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
726
+ # request with a `BadDigest` error.
673
727
  #
674
728
  # <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
675
729
  # for any request to upload an object with a retention period configured
@@ -689,7 +743,7 @@ module Aws::S3
689
743
  # @option options [String] :checksum_crc32
690
744
  # This header can be used as a data integrity check to verify that the
691
745
  # data received is the same data that was originally sent. This header
692
- # specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
746
+ # specifies the Base64 encoded, 32-bit `CRC32` checksum of the object.
693
747
  # For more information, see [Checking object integrity][1] in the
694
748
  # *Amazon S3 User Guide*.
695
749
  #
@@ -699,17 +753,28 @@ module Aws::S3
699
753
  # @option options [String] :checksum_crc32c
700
754
  # This header can be used as a data integrity check to verify that the
701
755
  # data received is the same data that was originally sent. This header
702
- # specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
756
+ # specifies the Base64 encoded, 32-bit `CRC32C` checksum of the object.
703
757
  # For more information, see [Checking object integrity][1] in the
704
758
  # *Amazon S3 User Guide*.
705
759
  #
706
760
  #
707
761
  #
708
762
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
763
+ # @option options [String] :checksum_crc64nvme
764
+ # This header can be used as a data integrity check to verify that the
765
+ # data received is the same data that was originally sent. This header
766
+ # specifies the Base64 encoded, 64-bit `CRC64NVME` checksum of the
767
+ # object. The `CRC64NVME` checksum is always a full object checksum. For
768
+ # more information, see [Checking object integrity in the Amazon S3 User
769
+ # Guide][1].
770
+ #
771
+ #
772
+ #
773
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
709
774
  # @option options [String] :checksum_sha1
710
775
  # This header can be used as a data integrity check to verify that the
711
776
  # data received is the same data that was originally sent. This header
712
- # specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
777
+ # specifies the Base64 encoded, 160-bit `SHA1` digest of the object. For
713
778
  # more information, see [Checking object integrity][1] in the *Amazon S3
714
779
  # User Guide*.
715
780
  #
@@ -719,7 +784,7 @@ module Aws::S3
719
784
  # @option options [String] :checksum_sha256
720
785
  # This header can be used as a data integrity check to verify that the
721
786
  # data received is the same data that was originally sent. This header
722
- # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
787
+ # specifies the Base64 encoded, 256-bit `SHA256` digest of the object.
723
788
  # For more information, see [Checking object integrity][1] in the
724
789
  # *Amazon S3 User Guide*.
725
790
  #
@@ -820,8 +885,7 @@ module Aws::S3
820
885
  # A map of metadata to store with the object in S3.
821
886
  # @option options [String] :server_side_encryption
822
887
  # The server-side encryption algorithm that was used when you store this
823
- # object in Amazon S3 (for example, `AES256`, `aws:kms`,
824
- # `aws:kms:dsse`).
888
+ # object in Amazon S3 or Amazon FSx.
825
889
  #
826
890
  # * <b>General purpose buckets </b> - You have four mutually exclusive
827
891
  # options to protect data using server-side encryption in Amazon S3,
@@ -875,6 +939,14 @@ module Aws::S3
875
939
  #
876
940
  # </note>
877
941
  #
942
+ # * <b>S3 access points for Amazon FSx </b> - When accessing data stored
943
+ # in Amazon FSx file systems using S3 access points, the only valid
944
+ # server side encryption option is `aws:fsx`. All Amazon FSx file
945
+ # systems have encryption configured by default and are encrypted at
946
+ # rest. Data is automatically encrypted before being written to the
947
+ # file system, and automatically decrypted as it is read. These
948
+ # processes are handled transparently by Amazon FSx.
949
+ #
878
950
  #
879
951
  #
880
952
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
@@ -889,8 +961,9 @@ module Aws::S3
889
961
  # a different Storage Class. For more information, see [Storage
890
962
  # Classes][1] in the *Amazon S3 User Guide*.
891
963
  #
892
- # <note markdown="1"> * For directory buckets, only the S3 Express One Zone storage class is
893
- # supported to store newly created objects.
964
+ # <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express One
965
+ # Zone storage class) in Availability Zones and `ONEZONE_IA` (the S3
966
+ # One Zone-Infrequent Access storage class) in Dedicated Local Zones.
894
967
  #
895
968
  # * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
896
969
  #
@@ -968,20 +1041,17 @@ module Aws::S3
968
1041
  # `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
969
1042
  # Amazon Web Services managed key (`aws/s3`) to protect the data.
970
1043
  #
971
- # **Directory buckets** - If you specify `x-amz-server-side-encryption`
972
- # with `aws:kms`, the ` x-amz-server-side-encryption-aws-kms-key-id`
973
- # header is implicitly assigned the ID of the KMS symmetric encryption
974
- # customer managed key that's configured for your directory bucket's
975
- # default encryption setting. If you want to specify the `
976
- # x-amz-server-side-encryption-aws-kms-key-id` header explicitly, you
977
- # can only specify it with the ID (Key ID or Key ARN) of the KMS
978
- # customer managed key that's configured for your directory bucket's
979
- # default encryption setting. Otherwise, you get an HTTP `400 Bad
980
- # Request` error. Only use the key ID or key ARN. The key alias format
981
- # of the KMS key isn't supported. Your SSE-KMS configuration can only
982
- # support 1 [customer managed key][1] per directory bucket for the
983
- # lifetime of the bucket. The [Amazon Web Services managed key][2]
984
- # (`aws/s3`) isn't supported.
1044
+ # **Directory buckets** - To encrypt data using SSE-KMS, it's
1045
+ # recommended to specify the `x-amz-server-side-encryption` header to
1046
+ # `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
1047
+ # header implicitly uses the bucket's default KMS customer managed key
1048
+ # ID. If you want to explicitly set the `
1049
+ # x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
1050
+ # bucket's default customer managed key (using key ID or ARN, not
1051
+ # alias). Your SSE-KMS configuration can only support 1 [customer
1052
+ # managed key][1] per directory bucket's lifetime. The [Amazon Web
1053
+ # Services managed key][2] (`aws/s3`) isn't supported. Incorrect key
1054
+ # specification results in an HTTP `400 Bad Request` error.
985
1055
  #
986
1056
  #
987
1057
  #
@@ -990,7 +1060,7 @@ module Aws::S3
990
1060
  # @option options [String] :ssekms_encryption_context
991
1061
  # Specifies the Amazon Web Services KMS Encryption Context as an
992
1062
  # additional encryption context to use for object encryption. The value
993
- # of this header is a Base64-encoded string of a UTF-8 encoded JSON,
1063
+ # of this header is a Base64 encoded string of a UTF-8 encoded JSON,
994
1064
  # which contains the encryption context as key-value pairs. This value
995
1065
  # is stored as object metadata and automatically gets passed on to
996
1066
  # Amazon Web Services KMS for future `GetObject` operations on this
@@ -1039,10 +1109,10 @@ module Aws::S3
1039
1109
  # Confirms that the requester knows that they will be charged for the
1040
1110
  # request. Bucket owners need not specify this parameter in their
1041
1111
  # requests. If either the source or destination S3 bucket has Requester
1042
- # Pays enabled, the requester will pay for corresponding charges to copy
1043
- # the object. For information about downloading objects from Requester
1044
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
1045
- # in the *Amazon S3 User Guide*.
1112
+ # Pays enabled, the requester will pay for the corresponding charges.
1113
+ # For information about downloading objects from Requester Pays buckets,
1114
+ # see [Downloading Objects in Requester Pays Buckets][1] in the *Amazon
1115
+ # S3 User Guide*.
1046
1116
  #
1047
1117
  # <note markdown="1"> This functionality is not supported for directory buckets.
1048
1118
  #
@@ -1164,6 +1234,9 @@ module Aws::S3
1164
1234
  # beginning of the key. The keys that are grouped under `CommonPrefixes`
1165
1235
  # result element are not returned elsewhere in the response.
1166
1236
  #
1237
+ # `CommonPrefixes` is filtered out from results if it is not
1238
+ # lexicographically greater than the key-marker.
1239
+ #
1167
1240
  # <note markdown="1"> **Directory buckets** - For directory buckets, `/` is the only
1168
1241
  # supported delimiter.
1169
1242
  #
@@ -1246,10 +1319,10 @@ module Aws::S3
1246
1319
  # Confirms that the requester knows that they will be charged for the
1247
1320
  # request. Bucket owners need not specify this parameter in their
1248
1321
  # requests. If either the source or destination S3 bucket has Requester
1249
- # Pays enabled, the requester will pay for corresponding charges to copy
1250
- # the object. For information about downloading objects from Requester
1251
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
1252
- # in the *Amazon S3 User Guide*.
1322
+ # Pays enabled, the requester will pay for the corresponding charges.
1323
+ # For information about downloading objects from Requester Pays buckets,
1324
+ # see [Downloading Objects in Requester Pays Buckets][1] in the *Amazon
1325
+ # S3 User Guide*.
1253
1326
  #
1254
1327
  # <note markdown="1"> This functionality is not supported for directory buckets.
1255
1328
  #
@@ -1320,6 +1393,9 @@ module Aws::S3
1320
1393
  # in `CommonPrefixes`. These groups are counted as one result against
1321
1394
  # the `max-keys` limitation. These keys are not returned elsewhere in
1322
1395
  # the response.
1396
+ #
1397
+ # `CommonPrefixes` is filtered out from results if it is not
1398
+ # lexicographically greater than the key-marker.
1323
1399
  # @option options [String] :encoding_type
1324
1400
  # Encoding type used by Amazon S3 to encode the [object keys][1] in the
1325
1401
  # response. Responses are encoded only in UTF-8. An object key can
@@ -1360,10 +1436,10 @@ module Aws::S3
1360
1436
  # Confirms that the requester knows that they will be charged for the
1361
1437
  # request. Bucket owners need not specify this parameter in their
1362
1438
  # requests. If either the source or destination S3 bucket has Requester
1363
- # Pays enabled, the requester will pay for corresponding charges to copy
1364
- # the object. For information about downloading objects from Requester
1365
- # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
1366
- # in the *Amazon S3 User Guide*.
1439
+ # Pays enabled, the requester will pay for the corresponding charges.
1440
+ # For information about downloading objects from Requester Pays buckets,
1441
+ # see [Downloading Objects in Requester Pays Buckets][1] in the *Amazon
1442
+ # S3 User Guide*.
1367
1443
  #
1368
1444
  # <note markdown="1"> This functionality is not supported for directory buckets.
1369
1445
  #
@@ -1415,6 +1491,9 @@ module Aws::S3
1415
1491
  # @option options [String] :delimiter
1416
1492
  # A delimiter is a character that you use to group keys.
1417
1493
  #
1494
+ # `CommonPrefixes` is filtered out from results if it is not
1495
+ # lexicographically greater than the `StartAfter` value.
1496
+ #
1418
1497
  # <note markdown="1"> * **Directory buckets** - For directory buckets, `/` is the only
1419
1498
  # supported delimiter.
1420
1499
  #