aws-sdk-s3 1.169.0 → 1.189.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +118 -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 +2529 -1652
- data/lib/aws-sdk-s3/client_api.rb +325 -160
- data/lib/aws-sdk-s3/endpoint_provider.rb +400 -276
- data/lib/aws-sdk-s3/endpoints.rb +42 -0
- data/lib/aws-sdk-s3/errors.rb +44 -0
- data/lib/aws-sdk-s3/file_downloader.rb +14 -31
- 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 +242 -114
- data/lib/aws-sdk-s3/object_acl.rb +11 -5
- 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/presigner.rb +5 -5
- data/lib/aws-sdk-s3/resource.rb +10 -9
- data/lib/aws-sdk-s3/types.rb +2300 -1050
- 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 +104 -37
- data/sig/errors.rbs +8 -0
- data/sig/multipart_upload.rbs +11 -2
- data/sig/multipart_upload_part.rbs +5 -1
- data/sig/object.rbs +22 -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 +153 -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]
|
@@ -674,7 +719,7 @@ module Aws::S3
|
|
674
719
|
# object.copy_from({
|
675
720
|
# acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
|
676
721
|
# cache_control: "CacheControl",
|
677
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
722
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
678
723
|
# content_disposition: "ContentDisposition",
|
679
724
|
# content_encoding: "ContentEncoding",
|
680
725
|
# content_language: "ContentLanguage",
|
@@ -1099,10 +1144,12 @@ module Aws::S3
|
|
1099
1144
|
# availability. Depending on performance needs, you can specify a
|
1100
1145
|
# different Storage Class.
|
1101
1146
|
#
|
1102
|
-
# <note markdown="1"> * <b>Directory buckets </b> -
|
1103
|
-
# Express One Zone storage class
|
1104
|
-
#
|
1105
|
-
#
|
1147
|
+
# <note markdown="1"> * <b>Directory buckets </b> - Directory buckets only support
|
1148
|
+
# `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
|
1149
|
+
# Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent
|
1150
|
+
# Access storage class) in Dedicated Local Zones. Unsupported storage
|
1151
|
+
# class values won't write a destination object and will respond with
|
1152
|
+
# the HTTP status code `400 Bad Request`.
|
1106
1153
|
#
|
1107
1154
|
# * <b>Amazon S3 on Outposts </b> - S3 on Outposts only uses the
|
1108
1155
|
# `OUTPOSTS` Storage Class.
|
@@ -1190,20 +1237,17 @@ module Aws::S3
|
|
1190
1237
|
# Signature Version in Request Authentication][1] in the *Amazon S3 User
|
1191
1238
|
# Guide*.
|
1192
1239
|
#
|
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.
|
1240
|
+
# **Directory buckets** - To encrypt data using SSE-KMS, it's
|
1241
|
+
# recommended to specify the `x-amz-server-side-encryption` header to
|
1242
|
+
# `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
|
1243
|
+
# header implicitly uses the bucket's default KMS customer managed key
|
1244
|
+
# ID. If you want to explicitly set the `
|
1245
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
|
1246
|
+
# bucket's default customer managed key (using key ID or ARN, not
|
1247
|
+
# alias). Your SSE-KMS configuration can only support 1 [customer
|
1248
|
+
# managed key][2] per directory bucket's lifetime. The [Amazon Web
|
1249
|
+
# Services managed key][3] (`aws/s3`) isn't supported. Incorrect key
|
1250
|
+
# specification results in an HTTP `400 Bad Request` error.
|
1207
1251
|
#
|
1208
1252
|
#
|
1209
1253
|
#
|
@@ -1410,6 +1454,9 @@ module Aws::S3
|
|
1410
1454
|
# request_payer: "requester", # accepts requester
|
1411
1455
|
# bypass_governance_retention: false,
|
1412
1456
|
# expected_bucket_owner: "AccountId",
|
1457
|
+
# if_match: "IfMatch",
|
1458
|
+
# if_match_last_modified_time: Time.now,
|
1459
|
+
# if_match_size: 1,
|
1413
1460
|
# })
|
1414
1461
|
# @param [Hash] options ({})
|
1415
1462
|
# @option options [String] :mfa
|
@@ -1456,6 +1503,46 @@ module Aws::S3
|
|
1456
1503
|
# The account ID of the expected bucket owner. If the account ID that
|
1457
1504
|
# you provide does not match the actual owner of the bucket, the request
|
1458
1505
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
1506
|
+
# @option options [String] :if_match
|
1507
|
+
# The `If-Match` header field makes the request method conditional on
|
1508
|
+
# ETags. If the ETag value does not match, the operation returns a `412
|
1509
|
+
# Precondition Failed` error. If the ETag matches or if the object
|
1510
|
+
# doesn't exist, the operation will return a `204 Success (No Content)
|
1511
|
+
# response`.
|
1512
|
+
#
|
1513
|
+
# For more information about conditional requests, see [RFC 7232][1].
|
1514
|
+
#
|
1515
|
+
# <note markdown="1"> This functionality is only supported for directory buckets.
|
1516
|
+
#
|
1517
|
+
# </note>
|
1518
|
+
#
|
1519
|
+
#
|
1520
|
+
#
|
1521
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
1522
|
+
# @option options [Time,DateTime,Date,Integer,String] :if_match_last_modified_time
|
1523
|
+
# If present, the object is deleted only if its modification times
|
1524
|
+
# matches the provided `Timestamp`. If the `Timestamp` values do not
|
1525
|
+
# match, the operation returns a `412 Precondition Failed` error. If the
|
1526
|
+
# `Timestamp` matches or if the object doesn’t exist, the operation
|
1527
|
+
# returns a `204 Success (No Content)` response.
|
1528
|
+
#
|
1529
|
+
# <note markdown="1"> This functionality is only supported for directory buckets.
|
1530
|
+
#
|
1531
|
+
# </note>
|
1532
|
+
# @option options [Integer] :if_match_size
|
1533
|
+
# If present, the object is deleted only if its size matches the
|
1534
|
+
# provided size in bytes. If the `Size` value does not match, the
|
1535
|
+
# operation returns a `412 Precondition Failed` error. If the `Size`
|
1536
|
+
# matches or if the object doesn’t exist, the operation returns a `204
|
1537
|
+
# Success (No Content)` response.
|
1538
|
+
#
|
1539
|
+
# <note markdown="1"> This functionality is only supported for directory buckets.
|
1540
|
+
#
|
1541
|
+
# </note>
|
1542
|
+
#
|
1543
|
+
# You can use the `If-Match`, `x-amz-if-match-last-modified-time` and
|
1544
|
+
# `x-amz-if-match-size` conditional headers in conjunction with
|
1545
|
+
# each-other or individually.
|
1459
1546
|
# @return [Types::DeleteObjectOutput]
|
1460
1547
|
def delete(options = {})
|
1461
1548
|
options = options.merge(
|
@@ -1712,15 +1799,6 @@ module Aws::S3
|
|
1712
1799
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
1713
1800
|
# @option options [String] :checksum_mode
|
1714
1801
|
# 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
1802
|
# @return [Types::GetObjectOutput]
|
1725
1803
|
def get(options = {}, &block)
|
1726
1804
|
options = options.merge(
|
@@ -1765,7 +1843,8 @@ module Aws::S3
|
|
1765
1843
|
# object_lock_retain_until_date: Time.now,
|
1766
1844
|
# object_lock_legal_hold_status: "ON", # accepts ON, OFF
|
1767
1845
|
# expected_bucket_owner: "AccountId",
|
1768
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
1846
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
1847
|
+
# checksum_type: "COMPOSITE", # accepts COMPOSITE, FULL_OBJECT
|
1769
1848
|
# })
|
1770
1849
|
# @param [Hash] options ({})
|
1771
1850
|
# @option options [String] :acl
|
@@ -2122,8 +2201,9 @@ module Aws::S3
|
|
2122
2201
|
# a different Storage Class. For more information, see [Storage
|
2123
2202
|
# Classes][1] in the *Amazon S3 User Guide*.
|
2124
2203
|
#
|
2125
|
-
# <note markdown="1"> *
|
2126
|
-
#
|
2204
|
+
# <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express One
|
2205
|
+
# Zone storage class) in Availability Zones and `ONEZONE_IA` (the S3
|
2206
|
+
# One Zone-Infrequent Access storage class) in Dedicated Local Zones.
|
2127
2207
|
#
|
2128
2208
|
# * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
|
2129
2209
|
#
|
@@ -2180,20 +2260,17 @@ module Aws::S3
|
|
2180
2260
|
# `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
2181
2261
|
# Amazon Web Services managed key (`aws/s3`) to protect the data.
|
2182
2262
|
#
|
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.
|
2263
|
+
# **Directory buckets** - To encrypt data using SSE-KMS, it's
|
2264
|
+
# recommended to specify the `x-amz-server-side-encryption` header to
|
2265
|
+
# `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
|
2266
|
+
# header implicitly uses the bucket's default KMS customer managed key
|
2267
|
+
# ID. If you want to explicitly set the `
|
2268
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
|
2269
|
+
# bucket's default customer managed key (using key ID or ARN, not
|
2270
|
+
# alias). Your SSE-KMS configuration can only support 1 [customer
|
2271
|
+
# managed key][1] per directory bucket's lifetime. The [Amazon Web
|
2272
|
+
# Services managed key][2] (`aws/s3`) isn't supported. Incorrect key
|
2273
|
+
# specification results in an HTTP `400 Bad Request` error.
|
2197
2274
|
#
|
2198
2275
|
#
|
2199
2276
|
#
|
@@ -2201,7 +2278,7 @@ module Aws::S3
|
|
2201
2278
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
2202
2279
|
# @option options [String] :ssekms_encryption_context
|
2203
2280
|
# Specifies the Amazon Web Services KMS Encryption Context to use for
|
2204
|
-
# object encryption. The value of this header is a Base64
|
2281
|
+
# object encryption. The value of this header is a Base64 encoded string
|
2205
2282
|
# of a UTF-8 encoded JSON, which contains the encryption context as
|
2206
2283
|
# key-value pairs.
|
2207
2284
|
#
|
@@ -2290,6 +2367,14 @@ module Aws::S3
|
|
2290
2367
|
#
|
2291
2368
|
#
|
2292
2369
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
2370
|
+
# @option options [String] :checksum_type
|
2371
|
+
# Indicates the checksum type that you want Amazon S3 to use to
|
2372
|
+
# calculate the object’s checksum value. For more information, see
|
2373
|
+
# [Checking object integrity in the Amazon S3 User Guide][1].
|
2374
|
+
#
|
2375
|
+
#
|
2376
|
+
#
|
2377
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
2293
2378
|
# @return [MultipartUpload]
|
2294
2379
|
def initiate_multipart_upload(options = {})
|
2295
2380
|
options = options.merge(
|
@@ -2319,17 +2404,20 @@ module Aws::S3
|
|
2319
2404
|
# content_length: 1,
|
2320
2405
|
# content_md5: "ContentMD5",
|
2321
2406
|
# content_type: "ContentType",
|
2322
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
2407
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
2323
2408
|
# checksum_crc32: "ChecksumCRC32",
|
2324
2409
|
# checksum_crc32c: "ChecksumCRC32C",
|
2410
|
+
# checksum_crc64nvme: "ChecksumCRC64NVME",
|
2325
2411
|
# checksum_sha1: "ChecksumSHA1",
|
2326
2412
|
# checksum_sha256: "ChecksumSHA256",
|
2327
2413
|
# expires: Time.now,
|
2414
|
+
# if_match: "IfMatch",
|
2328
2415
|
# if_none_match: "IfNoneMatch",
|
2329
2416
|
# grant_full_control: "GrantFullControl",
|
2330
2417
|
# grant_read: "GrantRead",
|
2331
2418
|
# grant_read_acp: "GrantReadACP",
|
2332
2419
|
# grant_write_acp: "GrantWriteACP",
|
2420
|
+
# write_offset_bytes: 1,
|
2333
2421
|
# metadata: {
|
2334
2422
|
# "MetadataKey" => "MetadataValue",
|
2335
2423
|
# },
|
@@ -2425,7 +2513,7 @@ module Aws::S3
|
|
2425
2513
|
#
|
2426
2514
|
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
|
2427
2515
|
# @option options [String] :content_md5
|
2428
|
-
# The
|
2516
|
+
# The Base64 encoded 128-bit `MD5` digest of the message (without the
|
2429
2517
|
# headers) according to RFC 1864. This header can be used as a message
|
2430
2518
|
# integrity check to verify that the data is the same data that was
|
2431
2519
|
# originally sent. Although it is optional, we recommend using the
|
@@ -2472,6 +2560,8 @@ module Aws::S3
|
|
2472
2560
|
#
|
2473
2561
|
# * `CRC32C`
|
2474
2562
|
#
|
2563
|
+
# * `CRC64NVME`
|
2564
|
+
#
|
2475
2565
|
# * `SHA1`
|
2476
2566
|
#
|
2477
2567
|
# * `SHA256`
|
@@ -2481,9 +2571,8 @@ module Aws::S3
|
|
2481
2571
|
#
|
2482
2572
|
# If the individual checksum value you provide through
|
2483
2573
|
# `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 `.
|
2574
|
+
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
|
2575
|
+
# request with a `BadDigest` error.
|
2487
2576
|
#
|
2488
2577
|
# <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
|
2489
2578
|
# for any request to upload an object with a retention period configured
|
@@ -2503,7 +2592,7 @@ module Aws::S3
|
|
2503
2592
|
# @option options [String] :checksum_crc32
|
2504
2593
|
# This header can be used as a data integrity check to verify that the
|
2505
2594
|
# data received is the same data that was originally sent. This header
|
2506
|
-
# specifies the
|
2595
|
+
# specifies the Base64 encoded, 32-bit `CRC32` checksum of the object.
|
2507
2596
|
# For more information, see [Checking object integrity][1] in the
|
2508
2597
|
# *Amazon S3 User Guide*.
|
2509
2598
|
#
|
@@ -2513,17 +2602,28 @@ module Aws::S3
|
|
2513
2602
|
# @option options [String] :checksum_crc32c
|
2514
2603
|
# This header can be used as a data integrity check to verify that the
|
2515
2604
|
# data received is the same data that was originally sent. This header
|
2516
|
-
# specifies the
|
2605
|
+
# specifies the Base64 encoded, 32-bit `CRC32C` checksum of the object.
|
2517
2606
|
# For more information, see [Checking object integrity][1] in the
|
2518
2607
|
# *Amazon S3 User Guide*.
|
2519
2608
|
#
|
2520
2609
|
#
|
2521
2610
|
#
|
2522
2611
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
2612
|
+
# @option options [String] :checksum_crc64nvme
|
2613
|
+
# This header can be used as a data integrity check to verify that the
|
2614
|
+
# data received is the same data that was originally sent. This header
|
2615
|
+
# specifies the Base64 encoded, 64-bit `CRC64NVME` checksum of the
|
2616
|
+
# object. The `CRC64NVME` checksum is always a full object checksum. For
|
2617
|
+
# more information, see [Checking object integrity in the Amazon S3 User
|
2618
|
+
# Guide][1].
|
2619
|
+
#
|
2620
|
+
#
|
2621
|
+
#
|
2622
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
2523
2623
|
# @option options [String] :checksum_sha1
|
2524
2624
|
# This header can be used as a data integrity check to verify that the
|
2525
2625
|
# data received is the same data that was originally sent. This header
|
2526
|
-
# specifies the
|
2626
|
+
# specifies the Base64 encoded, 160-bit `SHA1` digest of the object. For
|
2527
2627
|
# more information, see [Checking object integrity][1] in the *Amazon S3
|
2528
2628
|
# User Guide*.
|
2529
2629
|
#
|
@@ -2533,7 +2633,7 @@ module Aws::S3
|
|
2533
2633
|
# @option options [String] :checksum_sha256
|
2534
2634
|
# This header can be used as a data integrity check to verify that the
|
2535
2635
|
# data received is the same data that was originally sent. This header
|
2536
|
-
# specifies the
|
2636
|
+
# specifies the Base64 encoded, 256-bit `SHA256` digest of the object.
|
2537
2637
|
# For more information, see [Checking object integrity][1] in the
|
2538
2638
|
# *Amazon S3 User Guide*.
|
2539
2639
|
#
|
@@ -2548,6 +2648,25 @@ module Aws::S3
|
|
2548
2648
|
#
|
2549
2649
|
#
|
2550
2650
|
# [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
|
2651
|
+
# @option options [String] :if_match
|
2652
|
+
# Uploads the object only if the ETag (entity tag) value provided during
|
2653
|
+
# the WRITE operation matches the ETag of the object in S3. If the ETag
|
2654
|
+
# values do not match, the operation returns a `412 Precondition Failed`
|
2655
|
+
# error.
|
2656
|
+
#
|
2657
|
+
# If a conflicting operation occurs during the upload S3 returns a `409
|
2658
|
+
# ConditionalRequestConflict` response. On a 409 failure you should
|
2659
|
+
# fetch the object's ETag and retry the upload.
|
2660
|
+
#
|
2661
|
+
# Expects the ETag value as a string.
|
2662
|
+
#
|
2663
|
+
# For more information about conditional requests, see [RFC 7232][1], or
|
2664
|
+
# [Conditional requests][2] in the *Amazon S3 User Guide*.
|
2665
|
+
#
|
2666
|
+
#
|
2667
|
+
#
|
2668
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
2669
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
|
2551
2670
|
# @option options [String] :if_none_match
|
2552
2671
|
# Uploads the object only if the object key name does not already exist
|
2553
2672
|
# in the bucket specified. Otherwise, Amazon S3 returns a `412
|
@@ -2599,6 +2718,16 @@ module Aws::S3
|
|
2599
2718
|
# * This functionality is not supported for Amazon S3 on Outposts.
|
2600
2719
|
#
|
2601
2720
|
# </note>
|
2721
|
+
# @option options [Integer] :write_offset_bytes
|
2722
|
+
# Specifies the offset for appending data to existing objects in bytes.
|
2723
|
+
# The offset must be equal to the size of the existing object being
|
2724
|
+
# appended to. If no object exists, setting this header to 0 will create
|
2725
|
+
# a new object.
|
2726
|
+
#
|
2727
|
+
# <note markdown="1"> This functionality is only supported for objects in the Amazon S3
|
2728
|
+
# Express One Zone storage class in directory buckets.
|
2729
|
+
#
|
2730
|
+
# </note>
|
2602
2731
|
# @option options [Hash<String,String>] :metadata
|
2603
2732
|
# A map of metadata to store with the object in S3.
|
2604
2733
|
# @option options [String] :server_side_encryption
|
@@ -2672,8 +2801,9 @@ module Aws::S3
|
|
2672
2801
|
# a different Storage Class. For more information, see [Storage
|
2673
2802
|
# Classes][1] in the *Amazon S3 User Guide*.
|
2674
2803
|
#
|
2675
|
-
# <note markdown="1"> *
|
2676
|
-
#
|
2804
|
+
# <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express One
|
2805
|
+
# Zone storage class) in Availability Zones and `ONEZONE_IA` (the S3
|
2806
|
+
# One Zone-Infrequent Access storage class) in Dedicated Local Zones.
|
2677
2807
|
#
|
2678
2808
|
# * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
|
2679
2809
|
#
|
@@ -2751,20 +2881,17 @@ module Aws::S3
|
|
2751
2881
|
# `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
2752
2882
|
# Amazon Web Services managed key (`aws/s3`) to protect the data.
|
2753
2883
|
#
|
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.
|
2884
|
+
# **Directory buckets** - To encrypt data using SSE-KMS, it's
|
2885
|
+
# recommended to specify the `x-amz-server-side-encryption` header to
|
2886
|
+
# `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
|
2887
|
+
# header implicitly uses the bucket's default KMS customer managed key
|
2888
|
+
# ID. If you want to explicitly set the `
|
2889
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
|
2890
|
+
# bucket's default customer managed key (using key ID or ARN, not
|
2891
|
+
# alias). Your SSE-KMS configuration can only support 1 [customer
|
2892
|
+
# managed key][1] per directory bucket's lifetime. The [Amazon Web
|
2893
|
+
# Services managed key][2] (`aws/s3`) isn't supported. Incorrect key
|
2894
|
+
# specification results in an HTTP `400 Bad Request` error.
|
2768
2895
|
#
|
2769
2896
|
#
|
2770
2897
|
#
|
@@ -2773,7 +2900,7 @@ module Aws::S3
|
|
2773
2900
|
# @option options [String] :ssekms_encryption_context
|
2774
2901
|
# Specifies the Amazon Web Services KMS Encryption Context as an
|
2775
2902
|
# additional encryption context to use for object encryption. The value
|
2776
|
-
# of this header is a Base64
|
2903
|
+
# of this header is a Base64 encoded string of a UTF-8 encoded JSON,
|
2777
2904
|
# which contains the encryption context as key-value pairs. This value
|
2778
2905
|
# is stored as object metadata and automatically gets passed on to
|
2779
2906
|
# Amazon Web Services KMS for future `GetObject` operations on this
|
@@ -2968,7 +3095,7 @@ module Aws::S3
|
|
2968
3095
|
# },
|
2969
3096
|
# },
|
2970
3097
|
# request_payer: "requester", # accepts requester
|
2971
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
3098
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
2972
3099
|
# expected_bucket_owner: "AccountId",
|
2973
3100
|
# })
|
2974
3101
|
# @param [Hash] options ({})
|
@@ -3335,7 +3462,7 @@ module Aws::S3
|
|
3335
3462
|
# request_payer: "requester", # accepts requester
|
3336
3463
|
# bypass_governance_retention: false,
|
3337
3464
|
# expected_bucket_owner: "AccountId",
|
3338
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
3465
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
3339
3466
|
# })
|
3340
3467
|
# @param options ({})
|
3341
3468
|
# @option options [String] :mfa
|
@@ -3403,6 +3530,8 @@ module Aws::S3
|
|
3403
3530
|
#
|
3404
3531
|
# * `CRC32C`
|
3405
3532
|
#
|
3533
|
+
# * `CRC64NVME`
|
3534
|
+
#
|
3406
3535
|
# * `SHA1`
|
3407
3536
|
#
|
3408
3537
|
# * `SHA256`
|
@@ -3412,9 +3541,8 @@ module Aws::S3
|
|
3412
3541
|
#
|
3413
3542
|
# If the individual checksum value you provide through
|
3414
3543
|
# `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 `.
|
3544
|
+
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
|
3545
|
+
# request with a `BadDigest` error.
|
3418
3546
|
#
|
3419
3547
|
# If you provide an individual checksum, Amazon S3 ignores any provided
|
3420
3548
|
# `ChecksumAlgorithm` parameter.
|