aws-sdk-s3 1.169.0 → 1.190.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +128 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/bucket.rb +79 -33
- data/lib/aws-sdk-s3/bucket_acl.rb +6 -5
- data/lib/aws-sdk-s3/bucket_cors.rb +6 -5
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +7 -2
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +22 -2
- data/lib/aws-sdk-s3/bucket_logging.rb +2 -2
- data/lib/aws-sdk-s3/bucket_policy.rb +6 -5
- data/lib/aws-sdk-s3/bucket_request_payment.rb +3 -3
- data/lib/aws-sdk-s3/bucket_tagging.rb +3 -3
- data/lib/aws-sdk-s3/bucket_versioning.rb +9 -9
- data/lib/aws-sdk-s3/bucket_website.rb +3 -3
- data/lib/aws-sdk-s3/client.rb +2964 -1677
- data/lib/aws-sdk-s3/client_api.rb +366 -160
- data/lib/aws-sdk-s3/endpoint_provider.rb +400 -276
- data/lib/aws-sdk-s3/endpoints.rb +56 -0
- data/lib/aws-sdk-s3/errors.rb +55 -0
- data/lib/aws-sdk-s3/file_downloader.rb +14 -31
- data/lib/aws-sdk-s3/legacy_signer.rb +2 -1
- data/lib/aws-sdk-s3/multipart_file_uploader.rb +31 -13
- data/lib/aws-sdk-s3/multipart_upload.rb +83 -6
- data/lib/aws-sdk-s3/multipart_upload_part.rb +50 -34
- data/lib/aws-sdk-s3/object.rb +260 -114
- data/lib/aws-sdk-s3/object_acl.rb +11 -5
- data/lib/aws-sdk-s3/object_multipart_copier.rb +2 -1
- data/lib/aws-sdk-s3/object_summary.rb +180 -82
- data/lib/aws-sdk-s3/object_version.rb +60 -13
- data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
- data/lib/aws-sdk-s3/plugins/express_session_auth.rb +11 -20
- data/lib/aws-sdk-s3/plugins/http_200_errors.rb +3 -3
- data/lib/aws-sdk-s3/plugins/md5s.rb +10 -71
- data/lib/aws-sdk-s3/plugins/streaming_retry.rb +5 -7
- data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -1
- data/lib/aws-sdk-s3/presigner.rb +5 -5
- data/lib/aws-sdk-s3/resource.rb +10 -9
- data/lib/aws-sdk-s3/types.rb +2511 -1060
- data/lib/aws-sdk-s3.rb +1 -1
- data/sig/bucket.rbs +12 -6
- data/sig/bucket_acl.rbs +1 -1
- data/sig/bucket_cors.rbs +1 -1
- data/sig/bucket_lifecycle.rbs +1 -1
- data/sig/bucket_lifecycle_configuration.rbs +1 -1
- data/sig/bucket_logging.rbs +1 -1
- data/sig/bucket_policy.rbs +1 -1
- data/sig/bucket_request_payment.rbs +1 -1
- data/sig/bucket_tagging.rbs +1 -1
- data/sig/bucket_versioning.rbs +3 -3
- data/sig/bucket_website.rbs +1 -1
- data/sig/client.rbs +132 -40
- data/sig/errors.rbs +10 -0
- data/sig/multipart_upload.rbs +11 -2
- data/sig/multipart_upload_part.rbs +5 -1
- data/sig/object.rbs +25 -6
- data/sig/object_acl.rbs +1 -1
- data/sig/object_summary.rbs +17 -7
- data/sig/object_version.rbs +9 -3
- data/sig/resource.rbs +5 -3
- data/sig/types.rbs +180 -36
- metadata +7 -10
- data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +0 -31
data/lib/aws-sdk-s3/object.rb
CHANGED
@@ -66,7 +66,9 @@ module Aws::S3
|
|
66
66
|
# providing object expiration information. The value of the `rule-id` is
|
67
67
|
# URL-encoded.
|
68
68
|
#
|
69
|
-
# <note markdown="1">
|
69
|
+
# <note markdown="1"> Object expiration information is not returned in directory buckets and
|
70
|
+
# this header returns the value "`NotImplemented`" in all responses
|
71
|
+
# for directory buckets.
|
70
72
|
#
|
71
73
|
# </note>
|
72
74
|
#
|
@@ -95,9 +97,10 @@ module Aws::S3
|
|
95
97
|
# For more information about archiving objects, see [Transitioning
|
96
98
|
# Objects: General Considerations][2].
|
97
99
|
#
|
98
|
-
# <note markdown="1"> This functionality is not supported for directory buckets.
|
99
|
-
#
|
100
|
-
#
|
100
|
+
# <note markdown="1"> This functionality is not supported for directory buckets. Directory
|
101
|
+
# buckets only support `EXPRESS_ONEZONE` (the S3 Express One Zone
|
102
|
+
# storage class) in Availability Zones and `ONEZONE_IA` (the S3 One
|
103
|
+
# Zone-Infrequent Access storage class) in Dedicated Local Zones.
|
101
104
|
#
|
102
105
|
# </note>
|
103
106
|
#
|
@@ -132,14 +135,14 @@ module Aws::S3
|
|
132
135
|
data[:content_length]
|
133
136
|
end
|
134
137
|
|
135
|
-
# The
|
136
|
-
# only be present if
|
137
|
-
# API operation on an object that was uploaded
|
138
|
-
# this value may not be a direct checksum value
|
139
|
-
# Instead, it's a calculation based on the checksum
|
140
|
-
# individual part. For more information about how
|
141
|
-
# calculated with multipart uploads, see [ Checking object
|
142
|
-
# in the *Amazon S3 User Guide*.
|
138
|
+
# The Base64 encoded, 32-bit `CRC32 checksum` of the object. This
|
139
|
+
# checksum is only be present if the checksum was uploaded with the
|
140
|
+
# object. When you use an API operation on an object that was uploaded
|
141
|
+
# using multipart uploads, this value may not be a direct checksum value
|
142
|
+
# of the full object. Instead, it's a calculation based on the checksum
|
143
|
+
# values of each individual part. For more information about how
|
144
|
+
# checksums are calculated with multipart uploads, see [ Checking object
|
145
|
+
# integrity][1] in the *Amazon S3 User Guide*.
|
143
146
|
#
|
144
147
|
#
|
145
148
|
#
|
@@ -149,14 +152,14 @@ module Aws::S3
|
|
149
152
|
data[:checksum_crc32]
|
150
153
|
end
|
151
154
|
|
152
|
-
# The
|
153
|
-
# only
|
154
|
-
# API operation on an object that was uploaded using
|
155
|
-
# this value may not be a direct checksum value of
|
156
|
-
# Instead, it's a calculation based on the checksum
|
157
|
-
# individual part. For more information about how
|
158
|
-
# calculated with multipart uploads, see [ Checking object
|
159
|
-
# in the *Amazon S3 User Guide*.
|
155
|
+
# The Base64 encoded, 32-bit `CRC32C` checksum of the object. This
|
156
|
+
# checksum is only present if the checksum was uploaded with the object.
|
157
|
+
# When you use an API operation on an object that was uploaded using
|
158
|
+
# multipart uploads, this value may not be a direct checksum value of
|
159
|
+
# the full object. Instead, it's a calculation based on the checksum
|
160
|
+
# values of each individual part. For more information about how
|
161
|
+
# checksums are calculated with multipart uploads, see [ Checking object
|
162
|
+
# integrity][1] in the *Amazon S3 User Guide*.
|
160
163
|
#
|
161
164
|
#
|
162
165
|
#
|
@@ -166,14 +169,26 @@ module Aws::S3
|
|
166
169
|
data[:checksum_crc32c]
|
167
170
|
end
|
168
171
|
|
169
|
-
# The
|
170
|
-
#
|
171
|
-
#
|
172
|
-
#
|
173
|
-
#
|
174
|
-
#
|
175
|
-
#
|
176
|
-
#
|
172
|
+
# The Base64 encoded, 64-bit `CRC64NVME` checksum of the object. For
|
173
|
+
# more information, see [Checking object integrity in the Amazon S3 User
|
174
|
+
# Guide][1].
|
175
|
+
#
|
176
|
+
#
|
177
|
+
#
|
178
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
179
|
+
# @return [String]
|
180
|
+
def checksum_crc64nvme
|
181
|
+
data[:checksum_crc64nvme]
|
182
|
+
end
|
183
|
+
|
184
|
+
# The Base64 encoded, 160-bit `SHA1` digest of the object. This will
|
185
|
+
# only be present if the object was uploaded with the object. When you
|
186
|
+
# use the API operation on an object that was uploaded using multipart
|
187
|
+
# uploads, this value may not be a direct checksum value of the full
|
188
|
+
# object. Instead, it's a calculation based on the checksum values of
|
189
|
+
# each individual part. For more information about how checksums are
|
190
|
+
# calculated with multipart uploads, see [ Checking object integrity][1]
|
191
|
+
# in the *Amazon S3 User Guide*.
|
177
192
|
#
|
178
193
|
#
|
179
194
|
#
|
@@ -183,12 +198,12 @@ module Aws::S3
|
|
183
198
|
data[:checksum_sha1]
|
184
199
|
end
|
185
200
|
|
186
|
-
# The
|
187
|
-
# only be present if
|
188
|
-
# API operation on an object that was uploaded using multipart
|
189
|
-
# this value may not be a direct checksum value of the full
|
190
|
-
# Instead, it's a calculation based on the checksum values of
|
191
|
-
# individual part. For more information about how checksums are
|
201
|
+
# The Base64 encoded, 256-bit `SHA256` digest of the object. This will
|
202
|
+
# only be present if the object was uploaded with the object. When you
|
203
|
+
# use an API operation on an object that was uploaded using multipart
|
204
|
+
# uploads, this value may not be a direct checksum value of the full
|
205
|
+
# object. Instead, it's a calculation based on the checksum values of
|
206
|
+
# each individual part. For more information about how checksums are
|
192
207
|
# calculated with multipart uploads, see [ Checking object integrity][1]
|
193
208
|
# in the *Amazon S3 User Guide*.
|
194
209
|
#
|
@@ -200,6 +215,21 @@ module Aws::S3
|
|
200
215
|
data[:checksum_sha256]
|
201
216
|
end
|
202
217
|
|
218
|
+
# The checksum type, which determines how part-level checksums are
|
219
|
+
# combined to create an object-level checksum for multipart objects. You
|
220
|
+
# can use this header response to verify that the checksum type that is
|
221
|
+
# received is the same checksum type that was specified in
|
222
|
+
# `CreateMultipartUpload` request. For more information, see [Checking
|
223
|
+
# object integrity in the Amazon S3 User Guide][1].
|
224
|
+
#
|
225
|
+
#
|
226
|
+
#
|
227
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
228
|
+
# @return [String]
|
229
|
+
def checksum_type
|
230
|
+
data[:checksum_type]
|
231
|
+
end
|
232
|
+
|
203
233
|
# An entity tag (ETag) is an opaque identifier assigned by a web server
|
204
234
|
# to a specific version of a resource found at a URL.
|
205
235
|
# @return [String]
|
@@ -263,6 +293,13 @@ module Aws::S3
|
|
263
293
|
data[:content_type]
|
264
294
|
end
|
265
295
|
|
296
|
+
# The portion of the object returned in the response for a `GET`
|
297
|
+
# request.
|
298
|
+
# @return [String]
|
299
|
+
def content_range
|
300
|
+
data[:content_range]
|
301
|
+
end
|
302
|
+
|
266
303
|
# The date and time at which the object is no longer cacheable.
|
267
304
|
# @return [Time]
|
268
305
|
def expires
|
@@ -344,8 +381,10 @@ module Aws::S3
|
|
344
381
|
#
|
345
382
|
# For more information, see [Storage Classes][1].
|
346
383
|
#
|
347
|
-
# <note markdown="1"> <b>Directory buckets </b> -
|
348
|
-
#
|
384
|
+
# <note markdown="1"> <b>Directory buckets </b> - Directory buckets only support
|
385
|
+
# `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
|
386
|
+
# Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent Access
|
387
|
+
# storage class) in Dedicated Local Zones.
|
349
388
|
#
|
350
389
|
# </note>
|
351
390
|
#
|
@@ -358,11 +397,17 @@ module Aws::S3
|
|
358
397
|
end
|
359
398
|
|
360
399
|
# If present, indicates that the requester was successfully charged for
|
361
|
-
# the request.
|
400
|
+
# the request. For more information, see [Using Requester Pays buckets
|
401
|
+
# for storage transfers and usage][1] in the *Amazon Simple Storage
|
402
|
+
# Service user guide*.
|
362
403
|
#
|
363
404
|
# <note markdown="1"> This functionality is not supported for directory buckets.
|
364
405
|
#
|
365
406
|
# </note>
|
407
|
+
#
|
408
|
+
#
|
409
|
+
#
|
410
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
|
366
411
|
# @return [String]
|
367
412
|
def request_charged
|
368
413
|
data[:request_charged]
|
@@ -425,6 +470,24 @@ module Aws::S3
|
|
425
470
|
data[:parts_count]
|
426
471
|
end
|
427
472
|
|
473
|
+
# The number of tags, if any, on the object, when you have the relevant
|
474
|
+
# permission to read object tags.
|
475
|
+
#
|
476
|
+
# You can use [GetObjectTagging][1] to retrieve the tag set associated
|
477
|
+
# with an object.
|
478
|
+
#
|
479
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
480
|
+
#
|
481
|
+
# </note>
|
482
|
+
#
|
483
|
+
#
|
484
|
+
#
|
485
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
|
486
|
+
# @return [Integer]
|
487
|
+
def tag_count
|
488
|
+
data[:tag_count]
|
489
|
+
end
|
490
|
+
|
428
491
|
# The Object Lock mode, if any, that's in effect for this object. This
|
429
492
|
# header is only returned if the requester has the
|
430
493
|
# `s3:GetObjectRetention` permission. For more information about S3
|
@@ -674,7 +737,7 @@ module Aws::S3
|
|
674
737
|
# object.copy_from({
|
675
738
|
# acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
|
676
739
|
# cache_control: "CacheControl",
|
677
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
740
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
678
741
|
# content_disposition: "ContentDisposition",
|
679
742
|
# content_encoding: "ContentEncoding",
|
680
743
|
# content_language: "ContentLanguage",
|
@@ -1099,10 +1162,12 @@ module Aws::S3
|
|
1099
1162
|
# availability. Depending on performance needs, you can specify a
|
1100
1163
|
# different Storage Class.
|
1101
1164
|
#
|
1102
|
-
# <note markdown="1"> * <b>Directory buckets </b> -
|
1103
|
-
# Express One Zone storage class
|
1104
|
-
#
|
1105
|
-
#
|
1165
|
+
# <note markdown="1"> * <b>Directory buckets </b> - Directory buckets only support
|
1166
|
+
# `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
|
1167
|
+
# Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent
|
1168
|
+
# Access storage class) in Dedicated Local Zones. Unsupported storage
|
1169
|
+
# class values won't write a destination object and will respond with
|
1170
|
+
# the HTTP status code `400 Bad Request`.
|
1106
1171
|
#
|
1107
1172
|
# * <b>Amazon S3 on Outposts </b> - S3 on Outposts only uses the
|
1108
1173
|
# `OUTPOSTS` Storage Class.
|
@@ -1190,20 +1255,17 @@ module Aws::S3
|
|
1190
1255
|
# Signature Version in Request Authentication][1] in the *Amazon S3 User
|
1191
1256
|
# Guide*.
|
1192
1257
|
#
|
1193
|
-
# **Directory buckets** -
|
1194
|
-
#
|
1195
|
-
#
|
1196
|
-
#
|
1197
|
-
#
|
1198
|
-
# x-amz-server-side-encryption-aws-kms-key-id` header
|
1199
|
-
#
|
1200
|
-
#
|
1201
|
-
#
|
1202
|
-
#
|
1203
|
-
#
|
1204
|
-
# support 1 [customer managed key][2] per directory bucket for the
|
1205
|
-
# lifetime of the bucket. The [Amazon Web Services managed key][3]
|
1206
|
-
# (`aws/s3`) isn't supported.
|
1258
|
+
# **Directory buckets** - To encrypt data using SSE-KMS, it's
|
1259
|
+
# recommended to specify the `x-amz-server-side-encryption` header to
|
1260
|
+
# `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
|
1261
|
+
# header implicitly uses the bucket's default KMS customer managed key
|
1262
|
+
# ID. If you want to explicitly set the `
|
1263
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
|
1264
|
+
# bucket's default customer managed key (using key ID or ARN, not
|
1265
|
+
# alias). Your SSE-KMS configuration can only support 1 [customer
|
1266
|
+
# managed key][2] per directory bucket's lifetime. The [Amazon Web
|
1267
|
+
# Services managed key][3] (`aws/s3`) isn't supported. Incorrect key
|
1268
|
+
# specification results in an HTTP `400 Bad Request` error.
|
1207
1269
|
#
|
1208
1270
|
#
|
1209
1271
|
#
|
@@ -1410,6 +1472,9 @@ module Aws::S3
|
|
1410
1472
|
# request_payer: "requester", # accepts requester
|
1411
1473
|
# bypass_governance_retention: false,
|
1412
1474
|
# expected_bucket_owner: "AccountId",
|
1475
|
+
# if_match: "IfMatch",
|
1476
|
+
# if_match_last_modified_time: Time.now,
|
1477
|
+
# if_match_size: 1,
|
1413
1478
|
# })
|
1414
1479
|
# @param [Hash] options ({})
|
1415
1480
|
# @option options [String] :mfa
|
@@ -1456,6 +1521,46 @@ module Aws::S3
|
|
1456
1521
|
# The account ID of the expected bucket owner. If the account ID that
|
1457
1522
|
# you provide does not match the actual owner of the bucket, the request
|
1458
1523
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
1524
|
+
# @option options [String] :if_match
|
1525
|
+
# The `If-Match` header field makes the request method conditional on
|
1526
|
+
# ETags. If the ETag value does not match, the operation returns a `412
|
1527
|
+
# Precondition Failed` error. If the ETag matches or if the object
|
1528
|
+
# doesn't exist, the operation will return a `204 Success (No Content)
|
1529
|
+
# response`.
|
1530
|
+
#
|
1531
|
+
# For more information about conditional requests, see [RFC 7232][1].
|
1532
|
+
#
|
1533
|
+
# <note markdown="1"> This functionality is only supported for directory buckets.
|
1534
|
+
#
|
1535
|
+
# </note>
|
1536
|
+
#
|
1537
|
+
#
|
1538
|
+
#
|
1539
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
1540
|
+
# @option options [Time,DateTime,Date,Integer,String] :if_match_last_modified_time
|
1541
|
+
# If present, the object is deleted only if its modification times
|
1542
|
+
# matches the provided `Timestamp`. If the `Timestamp` values do not
|
1543
|
+
# match, the operation returns a `412 Precondition Failed` error. If the
|
1544
|
+
# `Timestamp` matches or if the object doesn’t exist, the operation
|
1545
|
+
# returns a `204 Success (No Content)` response.
|
1546
|
+
#
|
1547
|
+
# <note markdown="1"> This functionality is only supported for directory buckets.
|
1548
|
+
#
|
1549
|
+
# </note>
|
1550
|
+
# @option options [Integer] :if_match_size
|
1551
|
+
# If present, the object is deleted only if its size matches the
|
1552
|
+
# provided size in bytes. If the `Size` value does not match, the
|
1553
|
+
# operation returns a `412 Precondition Failed` error. If the `Size`
|
1554
|
+
# matches or if the object doesn’t exist, the operation returns a `204
|
1555
|
+
# Success (No Content)` response.
|
1556
|
+
#
|
1557
|
+
# <note markdown="1"> This functionality is only supported for directory buckets.
|
1558
|
+
#
|
1559
|
+
# </note>
|
1560
|
+
#
|
1561
|
+
# You can use the `If-Match`, `x-amz-if-match-last-modified-time` and
|
1562
|
+
# `x-amz-if-match-size` conditional headers in conjunction with
|
1563
|
+
# each-other or individually.
|
1459
1564
|
# @return [Types::DeleteObjectOutput]
|
1460
1565
|
def delete(options = {})
|
1461
1566
|
options = options.merge(
|
@@ -1712,15 +1817,6 @@ module Aws::S3
|
|
1712
1817
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
1713
1818
|
# @option options [String] :checksum_mode
|
1714
1819
|
# To retrieve the checksum, this mode must be enabled.
|
1715
|
-
#
|
1716
|
-
# **General purpose buckets** - In addition, if you enable checksum mode
|
1717
|
-
# and the object is uploaded with a [checksum][1] and encrypted with an
|
1718
|
-
# Key Management Service (KMS) key, you must have permission to use the
|
1719
|
-
# `kms:Decrypt` action to retrieve the checksum.
|
1720
|
-
#
|
1721
|
-
#
|
1722
|
-
#
|
1723
|
-
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
|
1724
1820
|
# @return [Types::GetObjectOutput]
|
1725
1821
|
def get(options = {}, &block)
|
1726
1822
|
options = options.merge(
|
@@ -1765,7 +1861,8 @@ module Aws::S3
|
|
1765
1861
|
# object_lock_retain_until_date: Time.now,
|
1766
1862
|
# object_lock_legal_hold_status: "ON", # accepts ON, OFF
|
1767
1863
|
# expected_bucket_owner: "AccountId",
|
1768
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
1864
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
1865
|
+
# checksum_type: "COMPOSITE", # accepts COMPOSITE, FULL_OBJECT
|
1769
1866
|
# })
|
1770
1867
|
# @param [Hash] options ({})
|
1771
1868
|
# @option options [String] :acl
|
@@ -2122,8 +2219,9 @@ module Aws::S3
|
|
2122
2219
|
# a different Storage Class. For more information, see [Storage
|
2123
2220
|
# Classes][1] in the *Amazon S3 User Guide*.
|
2124
2221
|
#
|
2125
|
-
# <note markdown="1"> *
|
2126
|
-
#
|
2222
|
+
# <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express One
|
2223
|
+
# Zone storage class) in Availability Zones and `ONEZONE_IA` (the S3
|
2224
|
+
# One Zone-Infrequent Access storage class) in Dedicated Local Zones.
|
2127
2225
|
#
|
2128
2226
|
# * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
|
2129
2227
|
#
|
@@ -2180,20 +2278,17 @@ module Aws::S3
|
|
2180
2278
|
# `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
2181
2279
|
# Amazon Web Services managed key (`aws/s3`) to protect the data.
|
2182
2280
|
#
|
2183
|
-
# **Directory buckets** -
|
2184
|
-
#
|
2185
|
-
#
|
2186
|
-
#
|
2187
|
-
#
|
2188
|
-
# x-amz-server-side-encryption-aws-kms-key-id` header
|
2189
|
-
#
|
2190
|
-
#
|
2191
|
-
#
|
2192
|
-
#
|
2193
|
-
#
|
2194
|
-
# support 1 [customer managed key][1] per directory bucket for the
|
2195
|
-
# lifetime of the bucket. The [Amazon Web Services managed key][2]
|
2196
|
-
# (`aws/s3`) isn't supported.
|
2281
|
+
# **Directory buckets** - To encrypt data using SSE-KMS, it's
|
2282
|
+
# recommended to specify the `x-amz-server-side-encryption` header to
|
2283
|
+
# `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
|
2284
|
+
# header implicitly uses the bucket's default KMS customer managed key
|
2285
|
+
# ID. If you want to explicitly set the `
|
2286
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
|
2287
|
+
# bucket's default customer managed key (using key ID or ARN, not
|
2288
|
+
# alias). Your SSE-KMS configuration can only support 1 [customer
|
2289
|
+
# managed key][1] per directory bucket's lifetime. The [Amazon Web
|
2290
|
+
# Services managed key][2] (`aws/s3`) isn't supported. Incorrect key
|
2291
|
+
# specification results in an HTTP `400 Bad Request` error.
|
2197
2292
|
#
|
2198
2293
|
#
|
2199
2294
|
#
|
@@ -2201,7 +2296,7 @@ module Aws::S3
|
|
2201
2296
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
2202
2297
|
# @option options [String] :ssekms_encryption_context
|
2203
2298
|
# Specifies the Amazon Web Services KMS Encryption Context to use for
|
2204
|
-
# object encryption. The value of this header is a Base64
|
2299
|
+
# object encryption. The value of this header is a Base64 encoded string
|
2205
2300
|
# of a UTF-8 encoded JSON, which contains the encryption context as
|
2206
2301
|
# key-value pairs.
|
2207
2302
|
#
|
@@ -2290,6 +2385,14 @@ module Aws::S3
|
|
2290
2385
|
#
|
2291
2386
|
#
|
2292
2387
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
2388
|
+
# @option options [String] :checksum_type
|
2389
|
+
# Indicates the checksum type that you want Amazon S3 to use to
|
2390
|
+
# calculate the object’s checksum value. For more information, see
|
2391
|
+
# [Checking object integrity in the Amazon S3 User Guide][1].
|
2392
|
+
#
|
2393
|
+
#
|
2394
|
+
#
|
2395
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
2293
2396
|
# @return [MultipartUpload]
|
2294
2397
|
def initiate_multipart_upload(options = {})
|
2295
2398
|
options = options.merge(
|
@@ -2319,17 +2422,20 @@ module Aws::S3
|
|
2319
2422
|
# content_length: 1,
|
2320
2423
|
# content_md5: "ContentMD5",
|
2321
2424
|
# content_type: "ContentType",
|
2322
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
2425
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
2323
2426
|
# checksum_crc32: "ChecksumCRC32",
|
2324
2427
|
# checksum_crc32c: "ChecksumCRC32C",
|
2428
|
+
# checksum_crc64nvme: "ChecksumCRC64NVME",
|
2325
2429
|
# checksum_sha1: "ChecksumSHA1",
|
2326
2430
|
# checksum_sha256: "ChecksumSHA256",
|
2327
2431
|
# expires: Time.now,
|
2432
|
+
# if_match: "IfMatch",
|
2328
2433
|
# if_none_match: "IfNoneMatch",
|
2329
2434
|
# grant_full_control: "GrantFullControl",
|
2330
2435
|
# grant_read: "GrantRead",
|
2331
2436
|
# grant_read_acp: "GrantReadACP",
|
2332
2437
|
# grant_write_acp: "GrantWriteACP",
|
2438
|
+
# write_offset_bytes: 1,
|
2333
2439
|
# metadata: {
|
2334
2440
|
# "MetadataKey" => "MetadataValue",
|
2335
2441
|
# },
|
@@ -2425,7 +2531,7 @@ module Aws::S3
|
|
2425
2531
|
#
|
2426
2532
|
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
|
2427
2533
|
# @option options [String] :content_md5
|
2428
|
-
# The
|
2534
|
+
# The Base64 encoded 128-bit `MD5` digest of the message (without the
|
2429
2535
|
# headers) according to RFC 1864. This header can be used as a message
|
2430
2536
|
# integrity check to verify that the data is the same data that was
|
2431
2537
|
# originally sent. Although it is optional, we recommend using the
|
@@ -2472,6 +2578,8 @@ module Aws::S3
|
|
2472
2578
|
#
|
2473
2579
|
# * `CRC32C`
|
2474
2580
|
#
|
2581
|
+
# * `CRC64NVME`
|
2582
|
+
#
|
2475
2583
|
# * `SHA1`
|
2476
2584
|
#
|
2477
2585
|
# * `SHA256`
|
@@ -2481,9 +2589,8 @@ module Aws::S3
|
|
2481
2589
|
#
|
2482
2590
|
# If the individual checksum value you provide through
|
2483
2591
|
# `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
|
2484
|
-
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3
|
2485
|
-
#
|
2486
|
-
# that matches the provided value in `x-amz-checksum-algorithm `.
|
2592
|
+
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
|
2593
|
+
# request with a `BadDigest` error.
|
2487
2594
|
#
|
2488
2595
|
# <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
|
2489
2596
|
# for any request to upload an object with a retention period configured
|
@@ -2503,7 +2610,7 @@ module Aws::S3
|
|
2503
2610
|
# @option options [String] :checksum_crc32
|
2504
2611
|
# This header can be used as a data integrity check to verify that the
|
2505
2612
|
# data received is the same data that was originally sent. This header
|
2506
|
-
# specifies the
|
2613
|
+
# specifies the Base64 encoded, 32-bit `CRC32` checksum of the object.
|
2507
2614
|
# For more information, see [Checking object integrity][1] in the
|
2508
2615
|
# *Amazon S3 User Guide*.
|
2509
2616
|
#
|
@@ -2513,17 +2620,28 @@ module Aws::S3
|
|
2513
2620
|
# @option options [String] :checksum_crc32c
|
2514
2621
|
# This header can be used as a data integrity check to verify that the
|
2515
2622
|
# data received is the same data that was originally sent. This header
|
2516
|
-
# specifies the
|
2623
|
+
# specifies the Base64 encoded, 32-bit `CRC32C` checksum of the object.
|
2517
2624
|
# For more information, see [Checking object integrity][1] in the
|
2518
2625
|
# *Amazon S3 User Guide*.
|
2519
2626
|
#
|
2520
2627
|
#
|
2521
2628
|
#
|
2522
2629
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
2630
|
+
# @option options [String] :checksum_crc64nvme
|
2631
|
+
# This header can be used as a data integrity check to verify that the
|
2632
|
+
# data received is the same data that was originally sent. This header
|
2633
|
+
# specifies the Base64 encoded, 64-bit `CRC64NVME` checksum of the
|
2634
|
+
# object. The `CRC64NVME` checksum is always a full object checksum. For
|
2635
|
+
# more information, see [Checking object integrity in the Amazon S3 User
|
2636
|
+
# Guide][1].
|
2637
|
+
#
|
2638
|
+
#
|
2639
|
+
#
|
2640
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
2523
2641
|
# @option options [String] :checksum_sha1
|
2524
2642
|
# This header can be used as a data integrity check to verify that the
|
2525
2643
|
# data received is the same data that was originally sent. This header
|
2526
|
-
# specifies the
|
2644
|
+
# specifies the Base64 encoded, 160-bit `SHA1` digest of the object. For
|
2527
2645
|
# more information, see [Checking object integrity][1] in the *Amazon S3
|
2528
2646
|
# User Guide*.
|
2529
2647
|
#
|
@@ -2533,7 +2651,7 @@ module Aws::S3
|
|
2533
2651
|
# @option options [String] :checksum_sha256
|
2534
2652
|
# This header can be used as a data integrity check to verify that the
|
2535
2653
|
# data received is the same data that was originally sent. This header
|
2536
|
-
# specifies the
|
2654
|
+
# specifies the Base64 encoded, 256-bit `SHA256` digest of the object.
|
2537
2655
|
# For more information, see [Checking object integrity][1] in the
|
2538
2656
|
# *Amazon S3 User Guide*.
|
2539
2657
|
#
|
@@ -2548,6 +2666,25 @@ module Aws::S3
|
|
2548
2666
|
#
|
2549
2667
|
#
|
2550
2668
|
# [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
|
2669
|
+
# @option options [String] :if_match
|
2670
|
+
# Uploads the object only if the ETag (entity tag) value provided during
|
2671
|
+
# the WRITE operation matches the ETag of the object in S3. If the ETag
|
2672
|
+
# values do not match, the operation returns a `412 Precondition Failed`
|
2673
|
+
# error.
|
2674
|
+
#
|
2675
|
+
# If a conflicting operation occurs during the upload S3 returns a `409
|
2676
|
+
# ConditionalRequestConflict` response. On a 409 failure you should
|
2677
|
+
# fetch the object's ETag and retry the upload.
|
2678
|
+
#
|
2679
|
+
# Expects the ETag value as a string.
|
2680
|
+
#
|
2681
|
+
# For more information about conditional requests, see [RFC 7232][1], or
|
2682
|
+
# [Conditional requests][2] in the *Amazon S3 User Guide*.
|
2683
|
+
#
|
2684
|
+
#
|
2685
|
+
#
|
2686
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
2687
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
|
2551
2688
|
# @option options [String] :if_none_match
|
2552
2689
|
# Uploads the object only if the object key name does not already exist
|
2553
2690
|
# in the bucket specified. Otherwise, Amazon S3 returns a `412
|
@@ -2599,6 +2736,16 @@ module Aws::S3
|
|
2599
2736
|
# * This functionality is not supported for Amazon S3 on Outposts.
|
2600
2737
|
#
|
2601
2738
|
# </note>
|
2739
|
+
# @option options [Integer] :write_offset_bytes
|
2740
|
+
# Specifies the offset for appending data to existing objects in bytes.
|
2741
|
+
# The offset must be equal to the size of the existing object being
|
2742
|
+
# appended to. If no object exists, setting this header to 0 will create
|
2743
|
+
# a new object.
|
2744
|
+
#
|
2745
|
+
# <note markdown="1"> This functionality is only supported for objects in the Amazon S3
|
2746
|
+
# Express One Zone storage class in directory buckets.
|
2747
|
+
#
|
2748
|
+
# </note>
|
2602
2749
|
# @option options [Hash<String,String>] :metadata
|
2603
2750
|
# A map of metadata to store with the object in S3.
|
2604
2751
|
# @option options [String] :server_side_encryption
|
@@ -2672,8 +2819,9 @@ module Aws::S3
|
|
2672
2819
|
# a different Storage Class. For more information, see [Storage
|
2673
2820
|
# Classes][1] in the *Amazon S3 User Guide*.
|
2674
2821
|
#
|
2675
|
-
# <note markdown="1"> *
|
2676
|
-
#
|
2822
|
+
# <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express One
|
2823
|
+
# Zone storage class) in Availability Zones and `ONEZONE_IA` (the S3
|
2824
|
+
# One Zone-Infrequent Access storage class) in Dedicated Local Zones.
|
2677
2825
|
#
|
2678
2826
|
# * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
|
2679
2827
|
#
|
@@ -2751,20 +2899,17 @@ module Aws::S3
|
|
2751
2899
|
# `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
2752
2900
|
# Amazon Web Services managed key (`aws/s3`) to protect the data.
|
2753
2901
|
#
|
2754
|
-
# **Directory buckets** -
|
2755
|
-
#
|
2756
|
-
#
|
2757
|
-
#
|
2758
|
-
#
|
2759
|
-
# x-amz-server-side-encryption-aws-kms-key-id` header
|
2760
|
-
#
|
2761
|
-
#
|
2762
|
-
#
|
2763
|
-
#
|
2764
|
-
#
|
2765
|
-
# support 1 [customer managed key][1] per directory bucket for the
|
2766
|
-
# lifetime of the bucket. The [Amazon Web Services managed key][2]
|
2767
|
-
# (`aws/s3`) isn't supported.
|
2902
|
+
# **Directory buckets** - To encrypt data using SSE-KMS, it's
|
2903
|
+
# recommended to specify the `x-amz-server-side-encryption` header to
|
2904
|
+
# `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
|
2905
|
+
# header implicitly uses the bucket's default KMS customer managed key
|
2906
|
+
# ID. If you want to explicitly set the `
|
2907
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
|
2908
|
+
# bucket's default customer managed key (using key ID or ARN, not
|
2909
|
+
# alias). Your SSE-KMS configuration can only support 1 [customer
|
2910
|
+
# managed key][1] per directory bucket's lifetime. The [Amazon Web
|
2911
|
+
# Services managed key][2] (`aws/s3`) isn't supported. Incorrect key
|
2912
|
+
# specification results in an HTTP `400 Bad Request` error.
|
2768
2913
|
#
|
2769
2914
|
#
|
2770
2915
|
#
|
@@ -2773,7 +2918,7 @@ module Aws::S3
|
|
2773
2918
|
# @option options [String] :ssekms_encryption_context
|
2774
2919
|
# Specifies the Amazon Web Services KMS Encryption Context as an
|
2775
2920
|
# additional encryption context to use for object encryption. The value
|
2776
|
-
# of this header is a Base64
|
2921
|
+
# of this header is a Base64 encoded string of a UTF-8 encoded JSON,
|
2777
2922
|
# which contains the encryption context as key-value pairs. This value
|
2778
2923
|
# is stored as object metadata and automatically gets passed on to
|
2779
2924
|
# Amazon Web Services KMS for future `GetObject` operations on this
|
@@ -2968,7 +3113,7 @@ module Aws::S3
|
|
2968
3113
|
# },
|
2969
3114
|
# },
|
2970
3115
|
# request_payer: "requester", # accepts requester
|
2971
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
3116
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
2972
3117
|
# expected_bucket_owner: "AccountId",
|
2973
3118
|
# })
|
2974
3119
|
# @param [Hash] options ({})
|
@@ -3335,7 +3480,7 @@ module Aws::S3
|
|
3335
3480
|
# request_payer: "requester", # accepts requester
|
3336
3481
|
# bypass_governance_retention: false,
|
3337
3482
|
# expected_bucket_owner: "AccountId",
|
3338
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
3483
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
3339
3484
|
# })
|
3340
3485
|
# @param options ({})
|
3341
3486
|
# @option options [String] :mfa
|
@@ -3403,6 +3548,8 @@ module Aws::S3
|
|
3403
3548
|
#
|
3404
3549
|
# * `CRC32C`
|
3405
3550
|
#
|
3551
|
+
# * `CRC64NVME`
|
3552
|
+
#
|
3406
3553
|
# * `SHA1`
|
3407
3554
|
#
|
3408
3555
|
# * `SHA256`
|
@@ -3412,9 +3559,8 @@ module Aws::S3
|
|
3412
3559
|
#
|
3413
3560
|
# If the individual checksum value you provide through
|
3414
3561
|
# `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
|
3415
|
-
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3
|
3416
|
-
#
|
3417
|
-
# that matches the provided value in `x-amz-checksum-algorithm `.
|
3562
|
+
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
|
3563
|
+
# request with a `BadDigest` error.
|
3418
3564
|
#
|
3419
3565
|
# If you provide an individual checksum, Amazon S3 ignores any provided
|
3420
3566
|
# `ChecksumAlgorithm` parameter.
|