aws-sdk-s3 1.156.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 +193 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +12 -3
- data/lib/aws-sdk-s3/bucket.rb +304 -94
- 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 +60 -3
- data/lib/aws-sdk-s3/bucket_logging.rb +2 -2
- data/lib/aws-sdk-s3/bucket_policy.rb +10 -9
- 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 +4081 -1812
- data/lib/aws-sdk-s3/client_api.rb +404 -162
- data/lib/aws-sdk-s3/customizations/object.rb +6 -0
- data/lib/aws-sdk-s3/customizations/object_summary.rb +5 -0
- data/lib/aws-sdk-s3/customizations/object_version.rb +13 -0
- data/lib/aws-sdk-s3/customizations.rb +24 -38
- data/lib/aws-sdk-s3/endpoint_parameters.rb +13 -18
- data/lib/aws-sdk-s3/endpoint_provider.rb +400 -276
- data/lib/aws-sdk-s3/endpoints.rb +465 -1706
- data/lib/aws-sdk-s3/errors.rb +58 -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 +108 -8
- data/lib/aws-sdk-s3/multipart_upload_part.rb +52 -36
- data/lib/aws-sdk-s3/object.rb +614 -203
- 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 +518 -151
- data/lib/aws-sdk-s3/object_version.rb +81 -12
- data/lib/aws-sdk-s3/plugins/access_grants.rb +68 -4
- data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
- data/lib/aws-sdk-s3/plugins/endpoints.rb +24 -212
- 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 +45 -18
- data/lib/aws-sdk-s3/types.rb +3462 -1337
- data/lib/aws-sdk-s3.rb +35 -31
- data/sig/bucket.rbs +16 -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 +8 -4
- 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 +162 -45
- data/sig/errors.rbs +10 -0
- data/sig/multipart_upload.rbs +12 -2
- data/sig/multipart_upload_part.rbs +5 -1
- data/sig/object.rbs +26 -6
- data/sig/object_acl.rbs +1 -1
- data/sig/object_summary.rbs +18 -7
- data/sig/object_version.rbs +9 -3
- data/sig/resource.rbs +11 -4
- data/sig/types.rbs +210 -38
- metadata +8 -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
|
@@ -288,11 +325,6 @@ module Aws::S3
|
|
288
325
|
|
289
326
|
# The server-side encryption algorithm used when you store this object
|
290
327
|
# in Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
|
291
|
-
#
|
292
|
-
# <note markdown="1"> For directory buckets, only server-side encryption with Amazon S3
|
293
|
-
# managed keys (SSE-S3) (`AES256`) is supported.
|
294
|
-
#
|
295
|
-
# </note>
|
296
328
|
# @return [String]
|
297
329
|
def server_side_encryption
|
298
330
|
data[:server_side_encryption]
|
@@ -329,13 +361,8 @@ module Aws::S3
|
|
329
361
|
data[:sse_customer_key_md5]
|
330
362
|
end
|
331
363
|
|
332
|
-
# If present, indicates the ID of the
|
333
|
-
#
|
334
|
-
# object.
|
335
|
-
#
|
336
|
-
# <note markdown="1"> This functionality is not supported for directory buckets.
|
337
|
-
#
|
338
|
-
# </note>
|
364
|
+
# If present, indicates the ID of the KMS key that was used for object
|
365
|
+
# encryption.
|
339
366
|
# @return [String]
|
340
367
|
def ssekms_key_id
|
341
368
|
data[:ssekms_key_id]
|
@@ -343,10 +370,6 @@ module Aws::S3
|
|
343
370
|
|
344
371
|
# Indicates whether the object uses an S3 Bucket Key for server-side
|
345
372
|
# encryption with Key Management Service (KMS) keys (SSE-KMS).
|
346
|
-
#
|
347
|
-
# <note markdown="1"> This functionality is not supported for directory buckets.
|
348
|
-
#
|
349
|
-
# </note>
|
350
373
|
# @return [Boolean]
|
351
374
|
def bucket_key_enabled
|
352
375
|
data[:bucket_key_enabled]
|
@@ -358,8 +381,10 @@ module Aws::S3
|
|
358
381
|
#
|
359
382
|
# For more information, see [Storage Classes][1].
|
360
383
|
#
|
361
|
-
# <note markdown="1"> <b>Directory buckets </b> -
|
362
|
-
#
|
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.
|
363
388
|
#
|
364
389
|
# </note>
|
365
390
|
#
|
@@ -372,11 +397,17 @@ module Aws::S3
|
|
372
397
|
end
|
373
398
|
|
374
399
|
# If present, indicates that the requester was successfully charged for
|
375
|
-
# 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*.
|
376
403
|
#
|
377
404
|
# <note markdown="1"> This functionality is not supported for directory buckets.
|
378
405
|
#
|
379
406
|
# </note>
|
407
|
+
#
|
408
|
+
#
|
409
|
+
#
|
410
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
|
380
411
|
# @return [String]
|
381
412
|
def request_charged
|
382
413
|
data[:request_charged]
|
@@ -439,6 +470,24 @@ module Aws::S3
|
|
439
470
|
data[:parts_count]
|
440
471
|
end
|
441
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
|
+
|
442
491
|
# The Object Lock mode, if any, that's in effect for this object. This
|
443
492
|
# header is only returned if the requester has the
|
444
493
|
# `s3:GetObjectRetention` permission. For more information about S3
|
@@ -688,7 +737,7 @@ module Aws::S3
|
|
688
737
|
# object.copy_from({
|
689
738
|
# acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
|
690
739
|
# cache_control: "CacheControl",
|
691
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
740
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
692
741
|
# content_disposition: "ContentDisposition",
|
693
742
|
# content_encoding: "ContentEncoding",
|
694
743
|
# content_language: "ContentLanguage",
|
@@ -1031,9 +1080,8 @@ module Aws::S3
|
|
1031
1080
|
# </note>
|
1032
1081
|
# @option options [String] :server_side_encryption
|
1033
1082
|
# The server-side encryption algorithm used when storing this object in
|
1034
|
-
# Amazon S3
|
1035
|
-
#
|
1036
|
-
# and will receive a `400 Bad Request` response.
|
1083
|
+
# Amazon S3. Unrecognized or unsupported values won’t write a
|
1084
|
+
# destination object and will receive a `400 Bad Request` response.
|
1037
1085
|
#
|
1038
1086
|
# Amazon S3 automatically encrypts all new objects that are copied to an
|
1039
1087
|
# S3 bucket. When copying an object, if you don't specify encryption
|
@@ -1041,35 +1089,72 @@ module Aws::S3
|
|
1041
1089
|
# object is set to the default encryption configuration of the
|
1042
1090
|
# destination bucket. By default, all buckets have a base level of
|
1043
1091
|
# encryption configuration that uses server-side encryption with Amazon
|
1044
|
-
# S3 managed keys (SSE-S3). If the destination bucket has a
|
1045
|
-
# encryption configuration
|
1046
|
-
#
|
1047
|
-
# encryption with Amazon Web Services KMS keys (DSSE-KMS), or
|
1048
|
-
# server-side encryption with customer-provided encryption keys (SSE-C),
|
1049
|
-
# Amazon S3 uses the corresponding KMS key, or a customer-provided key
|
1050
|
-
# to encrypt the target object copy.
|
1051
|
-
#
|
1052
|
-
# When you perform a `CopyObject` operation, if you want to use a
|
1053
|
-
# different type of encryption setting for the target object, you can
|
1054
|
-
# specify appropriate encryption-related headers to encrypt the target
|
1055
|
-
# object with an Amazon S3 managed key, a KMS key, or a
|
1056
|
-
# customer-provided key. If the encryption setting in your request is
|
1057
|
-
# different from the default encryption configuration of the destination
|
1058
|
-
# bucket, the encryption setting in your request takes precedence.
|
1092
|
+
# S3 managed keys (SSE-S3). If the destination bucket has a different
|
1093
|
+
# default encryption configuration, Amazon S3 uses the corresponding
|
1094
|
+
# encryption key to encrypt the target object copy.
|
1059
1095
|
#
|
1060
1096
|
# With server-side encryption, Amazon S3 encrypts your data as it writes
|
1061
1097
|
# your data to disks in its data centers and decrypts the data when you
|
1062
1098
|
# access it. For more information about server-side encryption, see
|
1063
1099
|
# [Using Server-Side Encryption][1] in the *Amazon S3 User Guide*.
|
1064
1100
|
#
|
1065
|
-
# <
|
1066
|
-
#
|
1067
|
-
#
|
1068
|
-
#
|
1101
|
+
# <b>General purpose buckets </b>
|
1102
|
+
#
|
1103
|
+
# * For general purpose buckets, there are the following supported
|
1104
|
+
# options for server-side encryption: server-side encryption with Key
|
1105
|
+
# Management Service (KMS) keys (SSE-KMS), dual-layer server-side
|
1106
|
+
# encryption with Amazon Web Services KMS keys (DSSE-KMS), and
|
1107
|
+
# server-side encryption with customer-provided encryption keys
|
1108
|
+
# (SSE-C). Amazon S3 uses the corresponding KMS key, or a
|
1109
|
+
# customer-provided key to encrypt the target object copy.
|
1110
|
+
#
|
1111
|
+
# * When you perform a `CopyObject` operation, if you want to use a
|
1112
|
+
# different type of encryption setting for the target object, you can
|
1113
|
+
# specify appropriate encryption-related headers to encrypt the target
|
1114
|
+
# object with an Amazon S3 managed key, a KMS key, or a
|
1115
|
+
# customer-provided key. If the encryption setting in your request is
|
1116
|
+
# different from the default encryption configuration of the
|
1117
|
+
# destination bucket, the encryption setting in your request takes
|
1118
|
+
# precedence.
|
1119
|
+
#
|
1120
|
+
# <b>Directory buckets </b>
|
1121
|
+
#
|
1122
|
+
# * For directory buckets, there are only two supported options for
|
1123
|
+
# server-side encryption: server-side encryption with Amazon S3
|
1124
|
+
# managed keys (SSE-S3) (`AES256`) and server-side encryption with KMS
|
1125
|
+
# keys (SSE-KMS) (`aws:kms`). We recommend that the bucket's default
|
1126
|
+
# encryption uses the desired encryption configuration and you don't
|
1127
|
+
# override the bucket default encryption in your `CreateSession`
|
1128
|
+
# requests or `PUT` object requests. Then, new objects are
|
1129
|
+
# automatically encrypted with the desired encryption settings. For
|
1130
|
+
# more information, see [Protecting data with server-side
|
1131
|
+
# encryption][2] in the *Amazon S3 User Guide*. For more information
|
1132
|
+
# about the encryption overriding behaviors in directory buckets, see
|
1133
|
+
# [Specifying server-side encryption with KMS for new object
|
1134
|
+
# uploads][3].
|
1135
|
+
#
|
1136
|
+
# * To encrypt new object copies to a directory bucket with SSE-KMS, we
|
1137
|
+
# recommend you specify SSE-KMS as the directory bucket's default
|
1138
|
+
# encryption configuration with a KMS key (specifically, a [customer
|
1139
|
+
# managed key][4]). The [Amazon Web Services managed key][5]
|
1140
|
+
# (`aws/s3`) isn't supported. Your SSE-KMS configuration can only
|
1141
|
+
# support 1 [customer managed key][4] per directory bucket for the
|
1142
|
+
# lifetime of the bucket. After you specify a customer managed key for
|
1143
|
+
# SSE-KMS, you can't override the customer managed key for the
|
1144
|
+
# bucket's SSE-KMS configuration. Then, when you perform a
|
1145
|
+
# `CopyObject` operation and want to specify server-side encryption
|
1146
|
+
# settings for new object copies with SSE-KMS in the
|
1147
|
+
# encryption-related request headers, you must ensure the encryption
|
1148
|
+
# key is the same customer managed key that you specified for the
|
1149
|
+
# directory bucket's default encryption configuration.
|
1069
1150
|
#
|
1070
1151
|
#
|
1071
1152
|
#
|
1072
1153
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
|
1154
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
1155
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
1156
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
1157
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
1073
1158
|
# @option options [String] :storage_class
|
1074
1159
|
# If the `x-amz-storage-class` header is not used, the copied object
|
1075
1160
|
# will be stored in the `STANDARD` Storage Class by default. The
|
@@ -1077,10 +1162,12 @@ module Aws::S3
|
|
1077
1162
|
# availability. Depending on performance needs, you can specify a
|
1078
1163
|
# different Storage Class.
|
1079
1164
|
#
|
1080
|
-
# <note markdown="1"> * <b>Directory buckets </b> -
|
1081
|
-
# Express One Zone storage class
|
1082
|
-
#
|
1083
|
-
#
|
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`.
|
1084
1171
|
#
|
1085
1172
|
# * <b>Amazon S3 on Outposts </b> - S3 on Outposts only uses the
|
1086
1173
|
# `OUTPOSTS` Storage Class.
|
@@ -1160,32 +1247,52 @@ module Aws::S3
|
|
1160
1247
|
#
|
1161
1248
|
# </note>
|
1162
1249
|
# @option options [String] :ssekms_key_id
|
1163
|
-
# Specifies the KMS ID (Key ID, Key ARN, or Key Alias) to use for
|
1164
|
-
# encryption. All GET and PUT requests for an object protected by
|
1165
|
-
# will fail if they're not made via SSL or using SigV4. For
|
1166
|
-
# about configuring any of the officially supported Amazon
|
1167
|
-
# SDKs and Amazon Web Services CLI, see [Specifying the
|
1168
|
-
# Version in Request Authentication][1] in the *Amazon S3 User
|
1169
|
-
#
|
1170
|
-
#
|
1171
|
-
#
|
1172
|
-
#
|
1173
|
-
#
|
1250
|
+
# Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for
|
1251
|
+
# object encryption. All GET and PUT requests for an object protected by
|
1252
|
+
# KMS will fail if they're not made via SSL or using SigV4. For
|
1253
|
+
# information about configuring any of the officially supported Amazon
|
1254
|
+
# Web Services SDKs and Amazon Web Services CLI, see [Specifying the
|
1255
|
+
# Signature Version in Request Authentication][1] in the *Amazon S3 User
|
1256
|
+
# Guide*.
|
1257
|
+
#
|
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.
|
1174
1269
|
#
|
1175
1270
|
#
|
1176
1271
|
#
|
1177
1272
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
|
1273
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
1274
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
1178
1275
|
# @option options [String] :ssekms_encryption_context
|
1179
|
-
# Specifies the Amazon Web Services KMS Encryption Context
|
1180
|
-
#
|
1181
|
-
#
|
1182
|
-
#
|
1183
|
-
# `CopyObject` requests.
|
1276
|
+
# Specifies the Amazon Web Services KMS Encryption Context as an
|
1277
|
+
# additional encryption context to use for the destination object
|
1278
|
+
# encryption. The value of this header is a base64-encoded UTF-8 string
|
1279
|
+
# holding JSON with the encryption context key-value pairs.
|
1184
1280
|
#
|
1185
|
-
#
|
1186
|
-
#
|
1281
|
+
# **General purpose buckets** - This value must be explicitly added to
|
1282
|
+
# specify encryption context for `CopyObject` requests if you want an
|
1283
|
+
# additional encryption context for your destination object. The
|
1284
|
+
# additional encryption context of the source object won't be copied to
|
1285
|
+
# the destination object. For more information, see [Encryption
|
1286
|
+
# context][1] in the *Amazon S3 User Guide*.
|
1187
1287
|
#
|
1188
|
-
#
|
1288
|
+
# **Directory buckets** - You can optionally provide an explicit
|
1289
|
+
# encryption context value. The value must match the default encryption
|
1290
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
1291
|
+
# encryption context value is not supported.
|
1292
|
+
#
|
1293
|
+
#
|
1294
|
+
#
|
1295
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context
|
1189
1296
|
# @option options [Boolean] :bucket_key_enabled
|
1190
1297
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
1191
1298
|
# encryption with server-side encryption using Key Management Service
|
@@ -1199,14 +1306,19 @@ module Aws::S3
|
|
1199
1306
|
# For more information, see [Amazon S3 Bucket Keys][1] in the *Amazon S3
|
1200
1307
|
# User Guide*.
|
1201
1308
|
#
|
1202
|
-
# <note markdown="1">
|
1203
|
-
#
|
1309
|
+
# <note markdown="1"> **Directory buckets** - S3 Bucket Keys aren't supported, when you
|
1310
|
+
# copy SSE-KMS encrypted objects from general purpose buckets to
|
1311
|
+
# directory buckets, from directory buckets to general purpose buckets,
|
1312
|
+
# or between directory buckets, through [CopyObject][2]. In this case,
|
1313
|
+
# Amazon S3 makes a call to KMS every time a copy request is made for a
|
1314
|
+
# KMS-encrypted object.
|
1204
1315
|
#
|
1205
1316
|
# </note>
|
1206
1317
|
#
|
1207
1318
|
#
|
1208
1319
|
#
|
1209
1320
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
|
1321
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
1210
1322
|
# @option options [String] :copy_source_sse_customer_algorithm
|
1211
1323
|
# Specifies the algorithm to use when decrypting the source object (for
|
1212
1324
|
# example, `AES256`).
|
@@ -1360,6 +1472,9 @@ module Aws::S3
|
|
1360
1472
|
# request_payer: "requester", # accepts requester
|
1361
1473
|
# bypass_governance_retention: false,
|
1362
1474
|
# expected_bucket_owner: "AccountId",
|
1475
|
+
# if_match: "IfMatch",
|
1476
|
+
# if_match_last_modified_time: Time.now,
|
1477
|
+
# if_match_size: 1,
|
1363
1478
|
# })
|
1364
1479
|
# @param [Hash] options ({})
|
1365
1480
|
# @option options [String] :mfa
|
@@ -1406,6 +1521,46 @@ module Aws::S3
|
|
1406
1521
|
# The account ID of the expected bucket owner. If the account ID that
|
1407
1522
|
# you provide does not match the actual owner of the bucket, the request
|
1408
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.
|
1409
1564
|
# @return [Types::DeleteObjectOutput]
|
1410
1565
|
def delete(options = {})
|
1411
1566
|
options = options.merge(
|
@@ -1706,7 +1861,8 @@ module Aws::S3
|
|
1706
1861
|
# object_lock_retain_until_date: Time.now,
|
1707
1862
|
# object_lock_legal_hold_status: "ON", # accepts ON, OFF
|
1708
1863
|
# expected_bucket_owner: "AccountId",
|
1709
|
-
# 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
|
1710
1866
|
# })
|
1711
1867
|
# @param [Hash] options ({})
|
1712
1868
|
# @option options [String] :acl
|
@@ -2010,10 +2166,52 @@ module Aws::S3
|
|
2010
2166
|
# The server-side encryption algorithm used when you store this object
|
2011
2167
|
# in Amazon S3 (for example, `AES256`, `aws:kms`).
|
2012
2168
|
#
|
2013
|
-
# <
|
2014
|
-
#
|
2169
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
2170
|
+
# two supported options for server-side encryption: server-side
|
2171
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
2172
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). We
|
2173
|
+
# recommend that the bucket's default encryption uses the desired
|
2174
|
+
# encryption configuration and you don't override the bucket default
|
2175
|
+
# encryption in your `CreateSession` requests or `PUT` object
|
2176
|
+
# requests. Then, new objects are automatically encrypted with the
|
2177
|
+
# desired encryption settings. For more information, see [Protecting
|
2178
|
+
# data with server-side encryption][1] in the *Amazon S3 User Guide*.
|
2179
|
+
# For more information about the encryption overriding behaviors in
|
2180
|
+
# directory buckets, see [Specifying server-side encryption with KMS
|
2181
|
+
# for new object uploads][2].
|
2182
|
+
#
|
2183
|
+
# In the Zonal endpoint API calls (except [CopyObject][3] and
|
2184
|
+
# [UploadPartCopy][4]) using the REST API, the encryption request
|
2185
|
+
# headers must match the encryption settings that are specified in the
|
2186
|
+
# `CreateSession` request. You can't override the values of the
|
2187
|
+
# encryption settings (`x-amz-server-side-encryption`,
|
2188
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`,
|
2189
|
+
# `x-amz-server-side-encryption-context`, and
|
2190
|
+
# `x-amz-server-side-encryption-bucket-key-enabled`) that are
|
2191
|
+
# specified in the `CreateSession` request. You don't need to
|
2192
|
+
# explicitly specify these encryption settings values in Zonal
|
2193
|
+
# endpoint API calls, and Amazon S3 will use the encryption settings
|
2194
|
+
# values from the `CreateSession` request to protect new objects in
|
2195
|
+
# the directory bucket.
|
2196
|
+
#
|
2197
|
+
# <note markdown="1"> When you use the CLI or the Amazon Web Services SDKs, for
|
2198
|
+
# `CreateSession`, the session token refreshes automatically to avoid
|
2199
|
+
# service interruptions when a session expires. The CLI or the Amazon
|
2200
|
+
# Web Services SDKs use the bucket's default encryption configuration
|
2201
|
+
# for the `CreateSession` request. It's not supported to override the
|
2202
|
+
# encryption settings values in the `CreateSession` request. So in the
|
2203
|
+
# Zonal endpoint API calls (except [CopyObject][3] and
|
2204
|
+
# [UploadPartCopy][4]), the encryption request headers must match the
|
2205
|
+
# default encryption configuration of the directory bucket.
|
2015
2206
|
#
|
2016
|
-
#
|
2207
|
+
# </note>
|
2208
|
+
#
|
2209
|
+
#
|
2210
|
+
#
|
2211
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
2212
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
2213
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
2214
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
2017
2215
|
# @option options [String] :storage_class
|
2018
2216
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
2019
2217
|
# created objects. The STANDARD storage class provides high durability
|
@@ -2021,8 +2219,9 @@ module Aws::S3
|
|
2021
2219
|
# a different Storage Class. For more information, see [Storage
|
2022
2220
|
# Classes][1] in the *Amazon S3 User Guide*.
|
2023
2221
|
#
|
2024
|
-
# <note markdown="1"> *
|
2025
|
-
#
|
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.
|
2026
2225
|
#
|
2027
2226
|
# * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
|
2028
2227
|
#
|
@@ -2066,32 +2265,71 @@ module Aws::S3
|
|
2066
2265
|
#
|
2067
2266
|
# </note>
|
2068
2267
|
# @option options [String] :ssekms_key_id
|
2069
|
-
# Specifies the ID (Key ID, Key ARN, or Key Alias)
|
2070
|
-
# encryption
|
2071
|
-
#
|
2072
|
-
#
|
2073
|
-
#
|
2074
|
-
#
|
2268
|
+
# Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for
|
2269
|
+
# object encryption. If the KMS key doesn't exist in the same account
|
2270
|
+
# that's issuing the command, you must use the full Key ARN not the Key
|
2271
|
+
# ID.
|
2272
|
+
#
|
2273
|
+
# **General purpose buckets** - If you specify
|
2274
|
+
# `x-amz-server-side-encryption` with `aws:kms` or `aws:kms:dsse`, this
|
2275
|
+
# header specifies the ID (Key ID, Key ARN, or Key Alias) of the KMS key
|
2276
|
+
# to use. If you specify `x-amz-server-side-encryption:aws:kms` or
|
2277
|
+
# `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide
|
2278
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
2279
|
+
# Amazon Web Services managed key (`aws/s3`) to protect the data.
|
2280
|
+
#
|
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.
|
2292
|
+
#
|
2293
|
+
#
|
2294
|
+
#
|
2295
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
2296
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
2075
2297
|
# @option options [String] :ssekms_encryption_context
|
2076
2298
|
# Specifies the Amazon Web Services KMS Encryption Context to use for
|
2077
|
-
# object encryption. The value of this header is a
|
2078
|
-
#
|
2079
|
-
#
|
2080
|
-
#
|
2081
|
-
#
|
2082
|
-
#
|
2299
|
+
# object encryption. The value of this header is a Base64 encoded string
|
2300
|
+
# of a UTF-8 encoded JSON, which contains the encryption context as
|
2301
|
+
# key-value pairs.
|
2302
|
+
#
|
2303
|
+
# **Directory buckets** - You can optionally provide an explicit
|
2304
|
+
# encryption context value. The value must match the default encryption
|
2305
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
2306
|
+
# encryption context value is not supported.
|
2083
2307
|
# @option options [Boolean] :bucket_key_enabled
|
2084
2308
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
2085
2309
|
# encryption with server-side encryption using Key Management Service
|
2086
|
-
# (KMS) keys (SSE-KMS).
|
2087
|
-
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
2310
|
+
# (KMS) keys (SSE-KMS).
|
2088
2311
|
#
|
2089
|
-
#
|
2312
|
+
# **General purpose buckets** - Setting this header to `true` causes
|
2313
|
+
# Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.
|
2314
|
+
# Also, specifying this header with a PUT action doesn't affect
|
2090
2315
|
# bucket-level settings for S3 Bucket Key.
|
2091
2316
|
#
|
2092
|
-
#
|
2317
|
+
# **Directory buckets** - S3 Bucket Keys are always enabled for `GET`
|
2318
|
+
# and `PUT` operations in a directory bucket and can’t be disabled. S3
|
2319
|
+
# Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects
|
2320
|
+
# from general purpose buckets to directory buckets, from directory
|
2321
|
+
# buckets to general purpose buckets, or between directory buckets,
|
2322
|
+
# through [CopyObject][1], [UploadPartCopy][2], [the Copy operation in
|
2323
|
+
# Batch Operations][3], or [the import jobs][4]. In this case, Amazon S3
|
2324
|
+
# makes a call to KMS every time a copy request is made for a
|
2325
|
+
# KMS-encrypted object.
|
2093
2326
|
#
|
2094
|
-
#
|
2327
|
+
#
|
2328
|
+
#
|
2329
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
2330
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
2331
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
|
2332
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
|
2095
2333
|
# @option options [String] :request_payer
|
2096
2334
|
# Confirms that the requester knows that they will be charged for the
|
2097
2335
|
# request. Bucket owners need not specify this parameter in their
|
@@ -2147,6 +2385,14 @@ module Aws::S3
|
|
2147
2385
|
#
|
2148
2386
|
#
|
2149
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
|
2150
2396
|
# @return [MultipartUpload]
|
2151
2397
|
def initiate_multipart_upload(options = {})
|
2152
2398
|
options = options.merge(
|
@@ -2176,16 +2422,20 @@ module Aws::S3
|
|
2176
2422
|
# content_length: 1,
|
2177
2423
|
# content_md5: "ContentMD5",
|
2178
2424
|
# content_type: "ContentType",
|
2179
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
2425
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
2180
2426
|
# checksum_crc32: "ChecksumCRC32",
|
2181
2427
|
# checksum_crc32c: "ChecksumCRC32C",
|
2428
|
+
# checksum_crc64nvme: "ChecksumCRC64NVME",
|
2182
2429
|
# checksum_sha1: "ChecksumSHA1",
|
2183
2430
|
# checksum_sha256: "ChecksumSHA256",
|
2184
2431
|
# expires: Time.now,
|
2432
|
+
# if_match: "IfMatch",
|
2433
|
+
# if_none_match: "IfNoneMatch",
|
2185
2434
|
# grant_full_control: "GrantFullControl",
|
2186
2435
|
# grant_read: "GrantRead",
|
2187
2436
|
# grant_read_acp: "GrantReadACP",
|
2188
2437
|
# grant_write_acp: "GrantWriteACP",
|
2438
|
+
# write_offset_bytes: 1,
|
2189
2439
|
# metadata: {
|
2190
2440
|
# "MetadataKey" => "MetadataValue",
|
2191
2441
|
# },
|
@@ -2281,7 +2531,7 @@ module Aws::S3
|
|
2281
2531
|
#
|
2282
2532
|
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
|
2283
2533
|
# @option options [String] :content_md5
|
2284
|
-
# The
|
2534
|
+
# The Base64 encoded 128-bit `MD5` digest of the message (without the
|
2285
2535
|
# headers) according to RFC 1864. This header can be used as a message
|
2286
2536
|
# integrity check to verify that the data is the same data that was
|
2287
2537
|
# originally sent. Although it is optional, we recommend using the
|
@@ -2289,10 +2539,11 @@ module Aws::S3
|
|
2289
2539
|
# information about REST request authentication, see [REST
|
2290
2540
|
# Authentication][1].
|
2291
2541
|
#
|
2292
|
-
# <note markdown="1"> The `Content-MD5` header is required
|
2293
|
-
# object with a retention period configured
|
2294
|
-
#
|
2295
|
-
# Object Lock
|
2542
|
+
# <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
|
2543
|
+
# for any request to upload an object with a retention period configured
|
2544
|
+
# using Amazon S3 Object Lock. For more information, see [Uploading
|
2545
|
+
# objects to an Object Lock enabled bucket ][2] in the *Amazon S3 User
|
2546
|
+
# Guide*.
|
2296
2547
|
#
|
2297
2548
|
# </note>
|
2298
2549
|
#
|
@@ -2303,7 +2554,7 @@ module Aws::S3
|
|
2303
2554
|
#
|
2304
2555
|
#
|
2305
2556
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
|
2306
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2557
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-put-object
|
2307
2558
|
# @option options [String] :content_type
|
2308
2559
|
# A standard MIME type describing the format of the contents. For more
|
2309
2560
|
# information, see
|
@@ -2323,37 +2574,45 @@ module Aws::S3
|
|
2323
2574
|
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
2324
2575
|
# the supported algorithm from the following list:
|
2325
2576
|
#
|
2326
|
-
# * CRC32
|
2577
|
+
# * `CRC32`
|
2327
2578
|
#
|
2328
|
-
# * CRC32C
|
2579
|
+
# * `CRC32C`
|
2329
2580
|
#
|
2330
|
-
# *
|
2581
|
+
# * `CRC64NVME`
|
2331
2582
|
#
|
2332
|
-
# *
|
2583
|
+
# * `SHA1`
|
2584
|
+
#
|
2585
|
+
# * `SHA256`
|
2333
2586
|
#
|
2334
2587
|
# For more information, see [Checking object integrity][1] in the
|
2335
2588
|
# *Amazon S3 User Guide*.
|
2336
2589
|
#
|
2337
2590
|
# If the individual checksum value you provide through
|
2338
2591
|
# `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
|
2339
|
-
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3
|
2340
|
-
#
|
2341
|
-
# 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.
|
2342
2594
|
#
|
2343
|
-
# <note markdown="1">
|
2344
|
-
#
|
2595
|
+
# <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
|
2596
|
+
# for any request to upload an object with a retention period configured
|
2597
|
+
# using Amazon S3 Object Lock. For more information, see [Uploading
|
2598
|
+
# objects to an Object Lock enabled bucket ][2] in the *Amazon S3 User
|
2599
|
+
# Guide*.
|
2345
2600
|
#
|
2346
2601
|
# </note>
|
2347
2602
|
#
|
2603
|
+
# For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
|
2604
|
+
# is the default checksum algorithm that's used for performance.
|
2605
|
+
#
|
2348
2606
|
#
|
2349
2607
|
#
|
2350
2608
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
2609
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-put-object
|
2351
2610
|
# @option options [String] :checksum_crc32
|
2352
2611
|
# This header can be used as a data integrity check to verify that the
|
2353
2612
|
# data received is the same data that was originally sent. This header
|
2354
|
-
# specifies the
|
2355
|
-
# more information, see [Checking object integrity][1] in the
|
2356
|
-
# User Guide*.
|
2613
|
+
# specifies the Base64 encoded, 32-bit `CRC32` checksum of the object.
|
2614
|
+
# For more information, see [Checking object integrity][1] in the
|
2615
|
+
# *Amazon S3 User Guide*.
|
2357
2616
|
#
|
2358
2617
|
#
|
2359
2618
|
#
|
@@ -2361,17 +2620,28 @@ module Aws::S3
|
|
2361
2620
|
# @option options [String] :checksum_crc32c
|
2362
2621
|
# This header can be used as a data integrity check to verify that the
|
2363
2622
|
# data received is the same data that was originally sent. This header
|
2364
|
-
# specifies the
|
2623
|
+
# specifies the Base64 encoded, 32-bit `CRC32C` checksum of the object.
|
2365
2624
|
# For more information, see [Checking object integrity][1] in the
|
2366
2625
|
# *Amazon S3 User Guide*.
|
2367
2626
|
#
|
2368
2627
|
#
|
2369
2628
|
#
|
2370
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
|
2371
2641
|
# @option options [String] :checksum_sha1
|
2372
2642
|
# This header can be used as a data integrity check to verify that the
|
2373
2643
|
# data received is the same data that was originally sent. This header
|
2374
|
-
# specifies the
|
2644
|
+
# specifies the Base64 encoded, 160-bit `SHA1` digest of the object. For
|
2375
2645
|
# more information, see [Checking object integrity][1] in the *Amazon S3
|
2376
2646
|
# User Guide*.
|
2377
2647
|
#
|
@@ -2381,7 +2651,7 @@ module Aws::S3
|
|
2381
2651
|
# @option options [String] :checksum_sha256
|
2382
2652
|
# This header can be used as a data integrity check to verify that the
|
2383
2653
|
# data received is the same data that was originally sent. This header
|
2384
|
-
# specifies the
|
2654
|
+
# specifies the Base64 encoded, 256-bit `SHA256` digest of the object.
|
2385
2655
|
# For more information, see [Checking object integrity][1] in the
|
2386
2656
|
# *Amazon S3 User Guide*.
|
2387
2657
|
#
|
@@ -2396,6 +2666,43 @@ module Aws::S3
|
|
2396
2666
|
#
|
2397
2667
|
#
|
2398
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
|
2688
|
+
# @option options [String] :if_none_match
|
2689
|
+
# Uploads the object only if the object key name does not already exist
|
2690
|
+
# in the bucket specified. Otherwise, Amazon S3 returns a `412
|
2691
|
+
# Precondition Failed` error.
|
2692
|
+
#
|
2693
|
+
# If a conflicting operation occurs during the upload S3 returns a `409
|
2694
|
+
# ConditionalRequestConflict` response. On a 409 failure you should
|
2695
|
+
# retry the upload.
|
2696
|
+
#
|
2697
|
+
# Expects the '*' (asterisk) character.
|
2698
|
+
#
|
2699
|
+
# For more information about conditional requests, see [RFC 7232][1], or
|
2700
|
+
# [Conditional requests][2] in the *Amazon S3 User Guide*.
|
2701
|
+
#
|
2702
|
+
#
|
2703
|
+
#
|
2704
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
2705
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
|
2399
2706
|
# @option options [String] :grant_full_control
|
2400
2707
|
# Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
|
2401
2708
|
# object.
|
@@ -2429,6 +2736,16 @@ module Aws::S3
|
|
2429
2736
|
# * This functionality is not supported for Amazon S3 on Outposts.
|
2430
2737
|
#
|
2431
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>
|
2432
2749
|
# @option options [Hash<String,String>] :metadata
|
2433
2750
|
# A map of metadata to store with the object in S3.
|
2434
2751
|
# @option options [String] :server_side_encryption
|
@@ -2436,25 +2753,65 @@ module Aws::S3
|
|
2436
2753
|
# object in Amazon S3 (for example, `AES256`, `aws:kms`,
|
2437
2754
|
# `aws:kms:dsse`).
|
2438
2755
|
#
|
2439
|
-
# <b>General purpose buckets </b> - You have four mutually exclusive
|
2440
|
-
#
|
2441
|
-
#
|
2442
|
-
#
|
2443
|
-
#
|
2444
|
-
#
|
2445
|
-
#
|
2446
|
-
#
|
2447
|
-
#
|
2448
|
-
#
|
2449
|
-
#
|
2756
|
+
# * <b>General purpose buckets </b> - You have four mutually exclusive
|
2757
|
+
# options to protect data using server-side encryption in Amazon S3,
|
2758
|
+
# depending on how you choose to manage the encryption keys.
|
2759
|
+
# Specifically, the encryption key options are Amazon S3 managed keys
|
2760
|
+
# (SSE-S3), Amazon Web Services KMS keys (SSE-KMS or DSSE-KMS), and
|
2761
|
+
# customer-provided keys (SSE-C). Amazon S3 encrypts data with
|
2762
|
+
# server-side encryption by using Amazon S3 managed keys (SSE-S3) by
|
2763
|
+
# default. You can optionally tell Amazon S3 to encrypt data at rest
|
2764
|
+
# by using server-side encryption with other key options. For more
|
2765
|
+
# information, see [Using Server-Side Encryption][1] in the *Amazon S3
|
2766
|
+
# User Guide*.
|
2767
|
+
#
|
2768
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
2769
|
+
# two supported options for server-side encryption: server-side
|
2770
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
2771
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). We
|
2772
|
+
# recommend that the bucket's default encryption uses the desired
|
2773
|
+
# encryption configuration and you don't override the bucket default
|
2774
|
+
# encryption in your `CreateSession` requests or `PUT` object
|
2775
|
+
# requests. Then, new objects are automatically encrypted with the
|
2776
|
+
# desired encryption settings. For more information, see [Protecting
|
2777
|
+
# data with server-side encryption][2] in the *Amazon S3 User Guide*.
|
2778
|
+
# For more information about the encryption overriding behaviors in
|
2779
|
+
# directory buckets, see [Specifying server-side encryption with KMS
|
2780
|
+
# for new object uploads][3].
|
2781
|
+
#
|
2782
|
+
# In the Zonal endpoint API calls (except [CopyObject][4] and
|
2783
|
+
# [UploadPartCopy][5]) using the REST API, the encryption request
|
2784
|
+
# headers must match the encryption settings that are specified in the
|
2785
|
+
# `CreateSession` request. You can't override the values of the
|
2786
|
+
# encryption settings (`x-amz-server-side-encryption`,
|
2787
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`,
|
2788
|
+
# `x-amz-server-side-encryption-context`, and
|
2789
|
+
# `x-amz-server-side-encryption-bucket-key-enabled`) that are
|
2790
|
+
# specified in the `CreateSession` request. You don't need to
|
2791
|
+
# explicitly specify these encryption settings values in Zonal
|
2792
|
+
# endpoint API calls, and Amazon S3 will use the encryption settings
|
2793
|
+
# values from the `CreateSession` request to protect new objects in
|
2794
|
+
# the directory bucket.
|
2795
|
+
#
|
2796
|
+
# <note markdown="1"> When you use the CLI or the Amazon Web Services SDKs, for
|
2797
|
+
# `CreateSession`, the session token refreshes automatically to avoid
|
2798
|
+
# service interruptions when a session expires. The CLI or the Amazon
|
2799
|
+
# Web Services SDKs use the bucket's default encryption configuration
|
2800
|
+
# for the `CreateSession` request. It's not supported to override the
|
2801
|
+
# encryption settings values in the `CreateSession` request. So in the
|
2802
|
+
# Zonal endpoint API calls (except [CopyObject][4] and
|
2803
|
+
# [UploadPartCopy][5]), the encryption request headers must match the
|
2804
|
+
# default encryption configuration of the directory bucket.
|
2450
2805
|
#
|
2451
|
-
#
|
2452
|
-
# server-side encryption with Amazon S3 managed keys (SSE-S3) (`AES256`)
|
2453
|
-
# value is supported.
|
2806
|
+
# </note>
|
2454
2807
|
#
|
2455
2808
|
#
|
2456
2809
|
#
|
2457
2810
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
2811
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
2812
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
2813
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
2814
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
2458
2815
|
# @option options [String] :storage_class
|
2459
2816
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
2460
2817
|
# created objects. The STANDARD storage class provides high durability
|
@@ -2462,8 +2819,9 @@ module Aws::S3
|
|
2462
2819
|
# a different Storage Class. For more information, see [Storage
|
2463
2820
|
# Classes][1] in the *Amazon S3 User Guide*.
|
2464
2821
|
#
|
2465
|
-
# <note markdown="1"> *
|
2466
|
-
#
|
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.
|
2467
2825
|
#
|
2468
2826
|
# * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
|
2469
2827
|
#
|
@@ -2528,44 +2886,83 @@ module Aws::S3
|
|
2528
2886
|
#
|
2529
2887
|
# </note>
|
2530
2888
|
# @option options [String] :ssekms_key_id
|
2531
|
-
#
|
2532
|
-
#
|
2533
|
-
#
|
2534
|
-
#
|
2535
|
-
#
|
2536
|
-
#
|
2537
|
-
# x-amz-server-side-encryption
|
2538
|
-
#
|
2539
|
-
#
|
2540
|
-
#
|
2889
|
+
# Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for
|
2890
|
+
# object encryption. If the KMS key doesn't exist in the same account
|
2891
|
+
# that's issuing the command, you must use the full Key ARN not the Key
|
2892
|
+
# ID.
|
2893
|
+
#
|
2894
|
+
# **General purpose buckets** - If you specify
|
2895
|
+
# `x-amz-server-side-encryption` with `aws:kms` or `aws:kms:dsse`, this
|
2896
|
+
# header specifies the ID (Key ID, Key ARN, or Key Alias) of the KMS key
|
2897
|
+
# to use. If you specify `x-amz-server-side-encryption:aws:kms` or
|
2898
|
+
# `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide
|
2899
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
2900
|
+
# Amazon Web Services managed key (`aws/s3`) to protect the data.
|
2901
|
+
#
|
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.
|
2913
|
+
#
|
2914
|
+
#
|
2915
|
+
#
|
2916
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
2917
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
2918
|
+
# @option options [String] :ssekms_encryption_context
|
2919
|
+
# Specifies the Amazon Web Services KMS Encryption Context as an
|
2920
|
+
# additional encryption context to use for object encryption. The value
|
2921
|
+
# of this header is a Base64 encoded string of a UTF-8 encoded JSON,
|
2922
|
+
# which contains the encryption context as key-value pairs. This value
|
2923
|
+
# is stored as object metadata and automatically gets passed on to
|
2924
|
+
# Amazon Web Services KMS for future `GetObject` operations on this
|
2925
|
+
# object.
|
2541
2926
|
#
|
2542
|
-
#
|
2927
|
+
# **General purpose buckets** - This value must be explicitly added
|
2928
|
+
# during `CopyObject` operations if you want an additional encryption
|
2929
|
+
# context for your object. For more information, see [Encryption
|
2930
|
+
# context][1] in the *Amazon S3 User Guide*.
|
2543
2931
|
#
|
2544
|
-
#
|
2545
|
-
#
|
2546
|
-
#
|
2547
|
-
#
|
2548
|
-
# string holding JSON with the encryption context key-value pairs. This
|
2549
|
-
# value is stored as object metadata and automatically gets passed on to
|
2550
|
-
# Amazon Web Services KMS for future `GetObject` or `CopyObject`
|
2551
|
-
# operations on this object. This value must be explicitly added during
|
2552
|
-
# `CopyObject` operations.
|
2932
|
+
# **Directory buckets** - You can optionally provide an explicit
|
2933
|
+
# encryption context value. The value must match the default encryption
|
2934
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
2935
|
+
# encryption context value is not supported.
|
2553
2936
|
#
|
2554
|
-
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2555
2937
|
#
|
2556
|
-
#
|
2938
|
+
#
|
2939
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context
|
2557
2940
|
# @option options [Boolean] :bucket_key_enabled
|
2558
2941
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
2559
2942
|
# encryption with server-side encryption using Key Management Service
|
2560
|
-
# (KMS) keys (SSE-KMS).
|
2561
|
-
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
2943
|
+
# (KMS) keys (SSE-KMS).
|
2562
2944
|
#
|
2563
|
-
#
|
2564
|
-
#
|
2945
|
+
# **General purpose buckets** - Setting this header to `true` causes
|
2946
|
+
# Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.
|
2947
|
+
# Also, specifying this header with a PUT action doesn't affect
|
2948
|
+
# bucket-level settings for S3 Bucket Key.
|
2565
2949
|
#
|
2566
|
-
#
|
2950
|
+
# **Directory buckets** - S3 Bucket Keys are always enabled for `GET`
|
2951
|
+
# and `PUT` operations in a directory bucket and can’t be disabled. S3
|
2952
|
+
# Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects
|
2953
|
+
# from general purpose buckets to directory buckets, from directory
|
2954
|
+
# buckets to general purpose buckets, or between directory buckets,
|
2955
|
+
# through [CopyObject][1], [UploadPartCopy][2], [the Copy operation in
|
2956
|
+
# Batch Operations][3], or [the import jobs][4]. In this case, Amazon S3
|
2957
|
+
# makes a call to KMS every time a copy request is made for a
|
2958
|
+
# KMS-encrypted object.
|
2567
2959
|
#
|
2568
|
-
#
|
2960
|
+
#
|
2961
|
+
#
|
2962
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
2963
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
2964
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
|
2965
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
|
2569
2966
|
# @option options [String] :request_payer
|
2570
2967
|
# Confirms that the requester knows that they will be charged for the
|
2571
2968
|
# request. Bucket owners need not specify this parameter in their
|
@@ -2716,7 +3113,7 @@ module Aws::S3
|
|
2716
3113
|
# },
|
2717
3114
|
# },
|
2718
3115
|
# request_payer: "requester", # accepts requester
|
2719
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
3116
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
2720
3117
|
# expected_bucket_owner: "AccountId",
|
2721
3118
|
# })
|
2722
3119
|
# @param [Hash] options ({})
|
@@ -2944,10 +3341,20 @@ module Aws::S3
|
|
2944
3341
|
# @option options [String] :checksum_mode
|
2945
3342
|
# To retrieve the checksum, this parameter must be enabled.
|
2946
3343
|
#
|
2947
|
-
#
|
2948
|
-
#
|
2949
|
-
# KMS), you must have permission to use the
|
2950
|
-
#
|
3344
|
+
# **General purpose buckets** - If you enable checksum mode and the
|
3345
|
+
# object is uploaded with a [checksum][1] and encrypted with an Key
|
3346
|
+
# Management Service (KMS) key, you must have permission to use the
|
3347
|
+
# `kms:Decrypt` action to retrieve the checksum.
|
3348
|
+
#
|
3349
|
+
# **Directory buckets** - If you enable `ChecksumMode` and the object is
|
3350
|
+
# encrypted with Amazon Web Services Key Management Service (Amazon Web
|
3351
|
+
# Services KMS), you must also have the `kms:GenerateDataKey` and
|
3352
|
+
# `kms:Decrypt` permissions in IAM identity-based policies and KMS key
|
3353
|
+
# policies for the KMS key to retrieve the checksum of the object.
|
3354
|
+
#
|
3355
|
+
#
|
3356
|
+
#
|
3357
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
|
2951
3358
|
# @return [Types::HeadObjectOutput]
|
2952
3359
|
def head(options = {})
|
2953
3360
|
options = options.merge(
|
@@ -3073,7 +3480,7 @@ module Aws::S3
|
|
3073
3480
|
# request_payer: "requester", # accepts requester
|
3074
3481
|
# bypass_governance_retention: false,
|
3075
3482
|
# expected_bucket_owner: "AccountId",
|
3076
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
3483
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
3077
3484
|
# })
|
3078
3485
|
# @param options ({})
|
3079
3486
|
# @option options [String] :mfa
|
@@ -3137,22 +3544,23 @@ module Aws::S3
|
|
3137
3544
|
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
3138
3545
|
# the supported algorithm from the following list:
|
3139
3546
|
#
|
3140
|
-
# * CRC32
|
3547
|
+
# * `CRC32`
|
3141
3548
|
#
|
3142
|
-
# * CRC32C
|
3549
|
+
# * `CRC32C`
|
3143
3550
|
#
|
3144
|
-
# *
|
3551
|
+
# * `CRC64NVME`
|
3145
3552
|
#
|
3146
|
-
# *
|
3553
|
+
# * `SHA1`
|
3554
|
+
#
|
3555
|
+
# * `SHA256`
|
3147
3556
|
#
|
3148
3557
|
# For more information, see [Checking object integrity][1] in the
|
3149
3558
|
# *Amazon S3 User Guide*.
|
3150
3559
|
#
|
3151
3560
|
# If the individual checksum value you provide through
|
3152
3561
|
# `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
|
3153
|
-
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3
|
3154
|
-
#
|
3155
|
-
# 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.
|
3156
3564
|
#
|
3157
3565
|
# If you provide an individual checksum, Amazon S3 ignores any provided
|
3158
3566
|
# `ChecksumAlgorithm` parameter.
|
@@ -3184,3 +3592,6 @@ module Aws::S3
|
|
3184
3592
|
end
|
3185
3593
|
end
|
3186
3594
|
end
|
3595
|
+
|
3596
|
+
# Load customizations if they exist
|
3597
|
+
require 'aws-sdk-s3/customizations/object'
|