aws-sdk-s3 1.119.2 → 1.158.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 +263 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/access_grants_credentials.rb +57 -0
- data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +250 -0
- data/lib/aws-sdk-s3/bucket.rb +573 -133
- data/lib/aws-sdk-s3/bucket_acl.rb +18 -12
- data/lib/aws-sdk-s3/bucket_cors.rb +24 -16
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +24 -16
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +24 -16
- data/lib/aws-sdk-s3/bucket_logging.rb +25 -12
- data/lib/aws-sdk-s3/bucket_notification.rb +12 -6
- data/lib/aws-sdk-s3/bucket_policy.rb +70 -18
- data/lib/aws-sdk-s3/bucket_region_cache.rb +9 -5
- data/lib/aws-sdk-s3/bucket_request_payment.rb +18 -12
- data/lib/aws-sdk-s3/bucket_tagging.rb +24 -16
- data/lib/aws-sdk-s3/bucket_versioning.rb +42 -32
- data/lib/aws-sdk-s3/bucket_website.rb +24 -16
- data/lib/aws-sdk-s3/client.rb +6866 -3226
- data/lib/aws-sdk-s3/client_api.rb +162 -21
- data/lib/aws-sdk-s3/customizations/bucket.rb +3 -1
- data/lib/aws-sdk-s3/customizations/errors.rb +16 -3
- data/lib/aws-sdk-s3/customizations/object.rb +91 -18
- data/lib/aws-sdk-s3/customizations.rb +8 -0
- data/lib/aws-sdk-s3/encryption/client.rb +6 -2
- data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +13 -9
- data/lib/aws-sdk-s3/encryptionV2/client.rb +6 -2
- data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +1 -0
- data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -6
- data/lib/aws-sdk-s3/endpoint_parameters.rb +44 -0
- data/lib/aws-sdk-s3/endpoint_provider.rb +186 -327
- data/lib/aws-sdk-s3/endpoints.rb +540 -0
- data/lib/aws-sdk-s3/express_credentials.rb +55 -0
- data/lib/aws-sdk-s3/express_credentials_provider.rb +59 -0
- data/lib/aws-sdk-s3/file_downloader.rb +169 -44
- data/lib/aws-sdk-s3/file_uploader.rb +8 -6
- data/lib/aws-sdk-s3/multipart_file_uploader.rb +4 -4
- data/lib/aws-sdk-s3/multipart_stream_uploader.rb +10 -7
- data/lib/aws-sdk-s3/multipart_upload.rb +81 -20
- data/lib/aws-sdk-s3/multipart_upload_part.rb +169 -38
- data/lib/aws-sdk-s3/object.rb +1590 -275
- data/lib/aws-sdk-s3/object_acl.rb +38 -18
- data/lib/aws-sdk-s3/object_copier.rb +7 -5
- data/lib/aws-sdk-s3/object_multipart_copier.rb +42 -24
- data/lib/aws-sdk-s3/object_summary.rb +1437 -285
- data/lib/aws-sdk-s3/object_version.rb +350 -51
- data/lib/aws-sdk-s3/plugins/access_grants.rb +178 -0
- data/lib/aws-sdk-s3/plugins/endpoints.rb +14 -2
- data/lib/aws-sdk-s3/plugins/express_session_auth.rb +97 -0
- data/lib/aws-sdk-s3/plugins/http_200_errors.rb +53 -16
- data/lib/aws-sdk-s3/plugins/location_constraint.rb +3 -1
- data/lib/aws-sdk-s3/plugins/md5s.rb +2 -1
- data/lib/aws-sdk-s3/plugins/s3_signer.rb +20 -13
- data/lib/aws-sdk-s3/presigned_post.rb +52 -43
- data/lib/aws-sdk-s3/presigner.rb +8 -4
- data/lib/aws-sdk-s3/resource.rb +99 -21
- data/lib/aws-sdk-s3/types.rb +5285 -1632
- data/lib/aws-sdk-s3.rb +1 -1
- data/sig/bucket.rbs +212 -0
- data/sig/bucket_acl.rbs +78 -0
- data/sig/bucket_cors.rbs +69 -0
- data/sig/bucket_lifecycle.rbs +88 -0
- data/sig/bucket_lifecycle_configuration.rbs +111 -0
- data/sig/bucket_logging.rbs +76 -0
- data/sig/bucket_notification.rbs +114 -0
- data/sig/bucket_policy.rbs +59 -0
- data/sig/bucket_request_payment.rbs +54 -0
- data/sig/bucket_tagging.rbs +65 -0
- data/sig/bucket_versioning.rbs +77 -0
- data/sig/bucket_website.rbs +93 -0
- data/sig/client.rbs +2385 -0
- data/sig/customizations/bucket.rbs +19 -0
- data/sig/customizations/object.rbs +38 -0
- data/sig/customizations/object_summary.rbs +35 -0
- data/sig/errors.rbs +34 -0
- data/sig/multipart_upload.rbs +110 -0
- data/sig/multipart_upload_part.rbs +105 -0
- data/sig/object.rbs +442 -0
- data/sig/object_acl.rbs +86 -0
- data/sig/object_summary.rbs +334 -0
- data/sig/object_version.rbs +137 -0
- data/sig/resource.rbs +128 -0
- data/sig/types.rbs +2575 -0
- data/sig/waiters.rbs +95 -0
- metadata +43 -11
data/lib/aws-sdk-s3/object.rb
CHANGED
@@ -45,6 +45,10 @@ module Aws::S3
|
|
45
45
|
# Specifies whether the object retrieved was (true) or was not (false) a
|
46
46
|
# Delete Marker. If false, this response header does not appear in the
|
47
47
|
# response.
|
48
|
+
#
|
49
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
50
|
+
#
|
51
|
+
# </note>
|
48
52
|
# @return [Boolean]
|
49
53
|
def delete_marker
|
50
54
|
data[:delete_marker]
|
@@ -56,10 +60,19 @@ module Aws::S3
|
|
56
60
|
data[:accept_ranges]
|
57
61
|
end
|
58
62
|
|
59
|
-
# If the object expiration is configured (see
|
60
|
-
#
|
61
|
-
# `rule-id` key-value pairs
|
62
|
-
# value of the `rule-id` is
|
63
|
+
# If the object expiration is configured (see [
|
64
|
+
# `PutBucketLifecycleConfiguration` ][1]), the response includes this
|
65
|
+
# header. It includes the `expiry-date` and `rule-id` key-value pairs
|
66
|
+
# providing object expiration information. The value of the `rule-id` is
|
67
|
+
# URL-encoded.
|
68
|
+
#
|
69
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
70
|
+
#
|
71
|
+
# </note>
|
72
|
+
#
|
73
|
+
#
|
74
|
+
#
|
75
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
|
63
76
|
# @return [String]
|
64
77
|
def expiration
|
65
78
|
data[:expiration]
|
@@ -82,6 +95,12 @@ module Aws::S3
|
|
82
95
|
# For more information about archiving objects, see [Transitioning
|
83
96
|
# Objects: General Considerations][2].
|
84
97
|
#
|
98
|
+
# <note markdown="1"> This functionality is not supported for directory buckets. Only the S3
|
99
|
+
# Express One Zone storage class is supported by directory buckets to
|
100
|
+
# store objects.
|
101
|
+
#
|
102
|
+
# </note>
|
103
|
+
#
|
85
104
|
#
|
86
105
|
#
|
87
106
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
|
@@ -92,12 +111,16 @@ module Aws::S3
|
|
92
111
|
end
|
93
112
|
|
94
113
|
# The archive state of the head object.
|
114
|
+
#
|
115
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
116
|
+
#
|
117
|
+
# </note>
|
95
118
|
# @return [String]
|
96
119
|
def archive_status
|
97
120
|
data[:archive_status]
|
98
121
|
end
|
99
122
|
|
100
|
-
#
|
123
|
+
# Date and time when the object was last modified.
|
101
124
|
# @return [Time]
|
102
125
|
def last_modified
|
103
126
|
data[:last_modified]
|
@@ -110,10 +133,13 @@ module Aws::S3
|
|
110
133
|
end
|
111
134
|
|
112
135
|
# The base64-encoded, 32-bit CRC32 checksum of the object. This will
|
113
|
-
# only be present if it was uploaded with the object.
|
114
|
-
#
|
115
|
-
#
|
116
|
-
#
|
136
|
+
# only be present if it was uploaded with the object. When you use an
|
137
|
+
# API operation on an object that was uploaded using multipart uploads,
|
138
|
+
# this value may not be a direct checksum value of the full object.
|
139
|
+
# Instead, it's a calculation based on the checksum values of each
|
140
|
+
# individual part. For more information about how checksums are
|
141
|
+
# calculated with multipart uploads, see [ Checking object integrity][1]
|
142
|
+
# in the *Amazon S3 User Guide*.
|
117
143
|
#
|
118
144
|
#
|
119
145
|
#
|
@@ -124,10 +150,13 @@ module Aws::S3
|
|
124
150
|
end
|
125
151
|
|
126
152
|
# The base64-encoded, 32-bit CRC32C checksum of the object. This will
|
127
|
-
# only be present if it was uploaded with the object.
|
128
|
-
#
|
129
|
-
#
|
130
|
-
#
|
153
|
+
# only be present if it was uploaded with the object. When you use an
|
154
|
+
# API operation on an object that was uploaded using multipart uploads,
|
155
|
+
# this value may not be a direct checksum value of the full object.
|
156
|
+
# Instead, it's a calculation based on the checksum values of each
|
157
|
+
# individual part. For more information about how checksums are
|
158
|
+
# calculated with multipart uploads, see [ Checking object integrity][1]
|
159
|
+
# in the *Amazon S3 User Guide*.
|
131
160
|
#
|
132
161
|
#
|
133
162
|
#
|
@@ -138,10 +167,13 @@ module Aws::S3
|
|
138
167
|
end
|
139
168
|
|
140
169
|
# The base64-encoded, 160-bit SHA-1 digest of the object. This will only
|
141
|
-
# be present if it was uploaded with the object.
|
142
|
-
#
|
143
|
-
#
|
144
|
-
#
|
170
|
+
# be present if it was uploaded with the object. When you use the API
|
171
|
+
# operation on an object that was uploaded using multipart uploads, this
|
172
|
+
# value may not be a direct checksum value of the full object. Instead,
|
173
|
+
# it's a calculation based on the checksum values of each individual
|
174
|
+
# part. For more information about how checksums are calculated with
|
175
|
+
# multipart uploads, see [ Checking object integrity][1] in the *Amazon
|
176
|
+
# S3 User Guide*.
|
145
177
|
#
|
146
178
|
#
|
147
179
|
#
|
@@ -152,10 +184,13 @@ module Aws::S3
|
|
152
184
|
end
|
153
185
|
|
154
186
|
# The base64-encoded, 256-bit SHA-256 digest of the object. This will
|
155
|
-
# only be present if it was uploaded with the object.
|
156
|
-
#
|
157
|
-
#
|
158
|
-
#
|
187
|
+
# only be present if it was uploaded with the object. When you use an
|
188
|
+
# API operation on an object that was uploaded using multipart uploads,
|
189
|
+
# this value may not be a direct checksum value of the full object.
|
190
|
+
# Instead, it's a calculation based on the checksum values of each
|
191
|
+
# individual part. For more information about how checksums are
|
192
|
+
# calculated with multipart uploads, see [ Checking object integrity][1]
|
193
|
+
# in the *Amazon S3 User Guide*.
|
159
194
|
#
|
160
195
|
#
|
161
196
|
#
|
@@ -177,12 +212,20 @@ module Aws::S3
|
|
177
212
|
# API like SOAP that supports more flexible metadata than the REST API.
|
178
213
|
# For example, using SOAP, you can create metadata whose values are not
|
179
214
|
# legal HTTP headers.
|
215
|
+
#
|
216
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
217
|
+
#
|
218
|
+
# </note>
|
180
219
|
# @return [Integer]
|
181
220
|
def missing_meta
|
182
221
|
data[:missing_meta]
|
183
222
|
end
|
184
223
|
|
185
|
-
# Version of the object.
|
224
|
+
# Version ID of the object.
|
225
|
+
#
|
226
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
227
|
+
#
|
228
|
+
# </note>
|
186
229
|
# @return [String]
|
187
230
|
def version_id
|
188
231
|
data[:version_id]
|
@@ -200,7 +243,7 @@ module Aws::S3
|
|
200
243
|
data[:content_disposition]
|
201
244
|
end
|
202
245
|
|
203
|
-
#
|
246
|
+
# Indicates what content encodings have been applied to the object and
|
204
247
|
# thus what decoding mechanisms must be applied to obtain the media-type
|
205
248
|
# referenced by the Content-Type header field.
|
206
249
|
# @return [String]
|
@@ -234,16 +277,22 @@ module Aws::S3
|
|
234
277
|
# If the bucket is configured as a website, redirects requests for this
|
235
278
|
# object to another object in the same bucket or to an external URL.
|
236
279
|
# Amazon S3 stores the value of this header in the object metadata.
|
280
|
+
#
|
281
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
282
|
+
#
|
283
|
+
# </note>
|
237
284
|
# @return [String]
|
238
285
|
def website_redirect_location
|
239
286
|
data[:website_redirect_location]
|
240
287
|
end
|
241
288
|
|
242
|
-
#
|
243
|
-
# Amazon
|
244
|
-
#
|
245
|
-
#
|
246
|
-
#
|
289
|
+
# The server-side encryption algorithm used when you store this object
|
290
|
+
# 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>
|
247
296
|
# @return [String]
|
248
297
|
def server_side_encryption
|
249
298
|
data[:server_side_encryption]
|
@@ -256,32 +305,48 @@ module Aws::S3
|
|
256
305
|
end
|
257
306
|
|
258
307
|
# If server-side encryption with a customer-provided encryption key was
|
259
|
-
# requested, the response will include this header
|
260
|
-
# encryption algorithm used.
|
308
|
+
# requested, the response will include this header to confirm the
|
309
|
+
# encryption algorithm that's used.
|
310
|
+
#
|
311
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
312
|
+
#
|
313
|
+
# </note>
|
261
314
|
# @return [String]
|
262
315
|
def sse_customer_algorithm
|
263
316
|
data[:sse_customer_algorithm]
|
264
317
|
end
|
265
318
|
|
266
319
|
# If server-side encryption with a customer-provided encryption key was
|
267
|
-
# requested, the response will include this header to provide
|
268
|
-
# message integrity verification of the customer-provided
|
269
|
-
# key.
|
320
|
+
# requested, the response will include this header to provide the
|
321
|
+
# round-trip message integrity verification of the customer-provided
|
322
|
+
# encryption key.
|
323
|
+
#
|
324
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
325
|
+
#
|
326
|
+
# </note>
|
270
327
|
# @return [String]
|
271
328
|
def sse_customer_key_md5
|
272
329
|
data[:sse_customer_key_md5]
|
273
330
|
end
|
274
331
|
|
275
|
-
# If present,
|
276
|
-
#
|
277
|
-
#
|
332
|
+
# If present, indicates the ID of the Key Management Service (KMS)
|
333
|
+
# symmetric encryption customer managed key that was used for the
|
334
|
+
# object.
|
335
|
+
#
|
336
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
337
|
+
#
|
338
|
+
# </note>
|
278
339
|
# @return [String]
|
279
340
|
def ssekms_key_id
|
280
341
|
data[:ssekms_key_id]
|
281
342
|
end
|
282
343
|
|
283
344
|
# Indicates whether the object uses an S3 Bucket Key for server-side
|
284
|
-
# encryption with
|
345
|
+
# 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>
|
285
350
|
# @return [Boolean]
|
286
351
|
def bucket_key_enabled
|
287
352
|
data[:bucket_key_enabled]
|
@@ -293,6 +358,11 @@ module Aws::S3
|
|
293
358
|
#
|
294
359
|
# For more information, see [Storage Classes][1].
|
295
360
|
#
|
361
|
+
# <note markdown="1"> <b>Directory buckets </b> - Only the S3 Express One Zone storage class
|
362
|
+
# is supported by directory buckets to store objects.
|
363
|
+
#
|
364
|
+
# </note>
|
365
|
+
#
|
296
366
|
#
|
297
367
|
#
|
298
368
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
|
@@ -303,6 +373,10 @@ module Aws::S3
|
|
303
373
|
|
304
374
|
# If present, indicates that the requester was successfully charged for
|
305
375
|
# the request.
|
376
|
+
#
|
377
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
378
|
+
#
|
379
|
+
# </note>
|
306
380
|
# @return [String]
|
307
381
|
def request_charged
|
308
382
|
data[:request_charged]
|
@@ -345,6 +419,10 @@ module Aws::S3
|
|
345
419
|
#
|
346
420
|
# For more information, see [Replication][1].
|
347
421
|
#
|
422
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
423
|
+
#
|
424
|
+
# </note>
|
425
|
+
#
|
348
426
|
#
|
349
427
|
#
|
350
428
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
|
@@ -366,6 +444,10 @@ module Aws::S3
|
|
366
444
|
# `s3:GetObjectRetention` permission. For more information about S3
|
367
445
|
# Object Lock, see [Object Lock][1].
|
368
446
|
#
|
447
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
448
|
+
#
|
449
|
+
# </note>
|
450
|
+
#
|
369
451
|
#
|
370
452
|
#
|
371
453
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
|
@@ -377,6 +459,10 @@ module Aws::S3
|
|
377
459
|
# The date and time when the Object Lock retention period expires. This
|
378
460
|
# header is only returned if the requester has the
|
379
461
|
# `s3:GetObjectRetention` permission.
|
462
|
+
#
|
463
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
464
|
+
#
|
465
|
+
# </note>
|
380
466
|
# @return [Time]
|
381
467
|
def object_lock_retain_until_date
|
382
468
|
data[:object_lock_retain_until_date]
|
@@ -388,6 +474,10 @@ module Aws::S3
|
|
388
474
|
# specified version of this object has never had a legal hold applied.
|
389
475
|
# For more information about S3 Object Lock, see [Object Lock][1].
|
390
476
|
#
|
477
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
478
|
+
#
|
479
|
+
# </note>
|
480
|
+
#
|
391
481
|
#
|
392
482
|
#
|
393
483
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
|
@@ -410,10 +500,12 @@ module Aws::S3
|
|
410
500
|
#
|
411
501
|
# @return [self]
|
412
502
|
def load
|
413
|
-
resp =
|
503
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
504
|
+
@client.head_object(
|
414
505
|
bucket: @bucket_name,
|
415
506
|
key: @key
|
416
507
|
)
|
508
|
+
end
|
417
509
|
@data = resp.data
|
418
510
|
self
|
419
511
|
end
|
@@ -458,8 +550,10 @@ module Aws::S3
|
|
458
550
|
options, params = separate_params_and_options(options)
|
459
551
|
waiter = Waiters::ObjectExists.new(options)
|
460
552
|
yield_waiter_and_warn(waiter, &block) if block_given?
|
461
|
-
|
553
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
554
|
+
waiter.wait(params.merge(bucket: @bucket_name,
|
462
555
|
key: @key))
|
556
|
+
end
|
463
557
|
Object.new({
|
464
558
|
bucket_name: @bucket_name,
|
465
559
|
key: @key,
|
@@ -477,8 +571,10 @@ module Aws::S3
|
|
477
571
|
options, params = separate_params_and_options(options)
|
478
572
|
waiter = Waiters::ObjectNotExists.new(options)
|
479
573
|
yield_waiter_and_warn(waiter, &block) if block_given?
|
480
|
-
|
574
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
575
|
+
waiter.wait(params.merge(bucket: @bucket_name,
|
481
576
|
key: @key))
|
577
|
+
end
|
482
578
|
Object.new({
|
483
579
|
bucket_name: @bucket_name,
|
484
580
|
key: @key,
|
@@ -580,7 +676,9 @@ module Aws::S3
|
|
580
676
|
:retry
|
581
677
|
end
|
582
678
|
end
|
583
|
-
Aws::
|
679
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
680
|
+
Aws::Waiters::Waiter.new(options).wait({})
|
681
|
+
end
|
584
682
|
end
|
585
683
|
|
586
684
|
# @!group Actions
|
@@ -610,8 +708,8 @@ module Aws::S3
|
|
610
708
|
# },
|
611
709
|
# metadata_directive: "COPY", # accepts COPY, REPLACE
|
612
710
|
# tagging_directive: "COPY", # accepts COPY, REPLACE
|
613
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
614
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
|
711
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
712
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
615
713
|
# website_redirect_location: "WebsiteRedirectLocation",
|
616
714
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
617
715
|
# sse_customer_key: "SSECustomerKey",
|
@@ -632,40 +730,98 @@ module Aws::S3
|
|
632
730
|
# })
|
633
731
|
# @param [Hash] options ({})
|
634
732
|
# @option options [String] :acl
|
635
|
-
# The canned ACL to apply to the object.
|
733
|
+
# The canned access control list (ACL) to apply to the object.
|
734
|
+
#
|
735
|
+
# When you copy an object, the ACL metadata is not preserved and is set
|
736
|
+
# to `private` by default. Only the owner has full access control. To
|
737
|
+
# override the default ACL setting, specify a new ACL when you generate
|
738
|
+
# a copy request. For more information, see [Using ACLs][1].
|
739
|
+
#
|
740
|
+
# If the destination bucket that you're copying objects to uses the
|
741
|
+
# bucket owner enforced setting for S3 Object Ownership, ACLs are
|
742
|
+
# disabled and no longer affect permissions. Buckets that use this
|
743
|
+
# setting only accept `PUT` requests that don't specify an ACL or `PUT`
|
744
|
+
# requests that specify bucket owner full control ACLs, such as the
|
745
|
+
# `bucket-owner-full-control` canned ACL or an equivalent form of this
|
746
|
+
# ACL expressed in the XML format. For more information, see
|
747
|
+
# [Controlling ownership of objects and disabling ACLs][2] in the
|
748
|
+
# *Amazon S3 User Guide*.
|
749
|
+
#
|
750
|
+
# <note markdown="1"> * If your destination bucket uses the bucket owner enforced setting
|
751
|
+
# for Object Ownership, all objects written to the bucket by any
|
752
|
+
# account will be owned by the bucket owner.
|
753
|
+
#
|
754
|
+
# * This functionality is not supported for directory buckets.
|
755
|
+
#
|
756
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
757
|
+
#
|
758
|
+
# </note>
|
759
|
+
#
|
636
760
|
#
|
637
|
-
#
|
761
|
+
#
|
762
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
|
763
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
|
638
764
|
# @option options [String] :cache_control
|
639
|
-
# Specifies caching behavior along the request/reply chain.
|
765
|
+
# Specifies the caching behavior along the request/reply chain.
|
640
766
|
# @option options [String] :checksum_algorithm
|
641
|
-
# Indicates the algorithm you want Amazon S3 to use to create the
|
767
|
+
# Indicates the algorithm that you want Amazon S3 to use to create the
|
642
768
|
# checksum for the object. For more information, see [Checking object
|
643
769
|
# integrity][1] in the *Amazon S3 User Guide*.
|
644
770
|
#
|
771
|
+
# When you copy an object, if the source object has a checksum, that
|
772
|
+
# checksum value will be copied to the new object by default. If the
|
773
|
+
# `CopyObject` request does not include this `x-amz-checksum-algorithm`
|
774
|
+
# header, the checksum algorithm will be copied from the source object
|
775
|
+
# to the destination object (if it's present on the source object). You
|
776
|
+
# can optionally specify a different checksum algorithm to use with the
|
777
|
+
# `x-amz-checksum-algorithm` header. Unrecognized or unsupported values
|
778
|
+
# will respond with the HTTP status code `400 Bad Request`.
|
779
|
+
#
|
780
|
+
# <note markdown="1"> For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
|
781
|
+
# is the default checksum algorithm that's used for performance.
|
782
|
+
#
|
783
|
+
# </note>
|
784
|
+
#
|
645
785
|
#
|
646
786
|
#
|
647
787
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
648
788
|
# @option options [String] :content_disposition
|
649
|
-
# Specifies presentational information for the object.
|
789
|
+
# Specifies presentational information for the object. Indicates whether
|
790
|
+
# an object should be displayed in a web browser or downloaded as a
|
791
|
+
# file. It allows specifying the desired filename for the downloaded
|
792
|
+
# file.
|
650
793
|
# @option options [String] :content_encoding
|
651
794
|
# Specifies what content encodings have been applied to the object and
|
652
795
|
# thus what decoding mechanisms must be applied to obtain the media-type
|
653
796
|
# referenced by the Content-Type header field.
|
797
|
+
#
|
798
|
+
# <note markdown="1"> For directory buckets, only the `aws-chunked` value is supported in
|
799
|
+
# this header field.
|
800
|
+
#
|
801
|
+
# </note>
|
654
802
|
# @option options [String] :content_language
|
655
803
|
# The language the content is in.
|
656
804
|
# @option options [String] :content_type
|
657
|
-
# A standard MIME type
|
805
|
+
# A standard MIME type that describes the format of the object data.
|
658
806
|
# @option options [required, String] :copy_source
|
659
|
-
# Specifies the source object for the copy operation.
|
660
|
-
#
|
661
|
-
# the
|
807
|
+
# Specifies the source object for the copy operation. The source object
|
808
|
+
# can be up to 5 GB. If the source object is an object that was uploaded
|
809
|
+
# by using a multipart upload, the object copy will be a single part
|
810
|
+
# object after the source object is copied to the destination bucket.
|
811
|
+
#
|
812
|
+
# You specify the value of the copy source in one of two formats,
|
813
|
+
# depending on whether you want to access the source object through an
|
814
|
+
# [access point][1]:
|
662
815
|
#
|
663
816
|
# * For objects not accessed through an access point, specify the name
|
664
817
|
# of the source bucket and the key of the source object, separated by
|
665
818
|
# a slash (/). For example, to copy the object `reports/january.pdf`
|
666
|
-
# from the bucket `awsexamplebucket`, use
|
819
|
+
# from the general purpose bucket `awsexamplebucket`, use
|
667
820
|
# `awsexamplebucket/reports/january.pdf`. The value must be
|
668
|
-
# URL-encoded.
|
821
|
+
# URL-encoded. To copy the object `reports/january.pdf` from the
|
822
|
+
# directory bucket `awsexamplebucket--use1-az5--x-s3`, use
|
823
|
+
# `awsexamplebucket--use1-az5--x-s3/reports/january.pdf`. The value
|
824
|
+
# must be URL-encoded.
|
669
825
|
#
|
670
826
|
# * For objects accessed through access points, specify the Amazon
|
671
827
|
# Resource Name (ARN) of the object as accessed through the access
|
@@ -677,9 +833,11 @@ module Aws::S3
|
|
677
833
|
# `arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf`.
|
678
834
|
# The value must be URL encoded.
|
679
835
|
#
|
680
|
-
# <note markdown="1"> Amazon S3 supports copy operations using
|
681
|
-
#
|
682
|
-
#
|
836
|
+
# <note markdown="1"> * Amazon S3 supports copy operations using Access points only when
|
837
|
+
# the source and destination buckets are in the same Amazon Web
|
838
|
+
# Services Region.
|
839
|
+
#
|
840
|
+
# * Access points are not supported by directory buckets.
|
683
841
|
#
|
684
842
|
# </note>
|
685
843
|
#
|
@@ -692,91 +850,327 @@ module Aws::S3
|
|
692
850
|
# `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
|
693
851
|
# The value must be URL-encoded.
|
694
852
|
#
|
695
|
-
#
|
696
|
-
#
|
853
|
+
# If your source bucket versioning is enabled, the `x-amz-copy-source`
|
854
|
+
# header by default identifies the current version of an object to copy.
|
855
|
+
# If the current version is a delete marker, Amazon S3 behaves as if the
|
856
|
+
# object was deleted. To copy a different version, use the `versionId`
|
857
|
+
# query parameter. Specifically, append `?versionId=<version-id>` to the
|
858
|
+
# value (for example,
|
697
859
|
# `awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893`).
|
698
860
|
# If you don't specify a version ID, Amazon S3 copies the latest
|
699
861
|
# version of the source object.
|
700
862
|
#
|
863
|
+
# If you enable versioning on the destination bucket, Amazon S3
|
864
|
+
# generates a unique version ID for the copied object. This version ID
|
865
|
+
# is different from the version ID of the source object. Amazon S3
|
866
|
+
# returns the version ID of the copied object in the `x-amz-version-id`
|
867
|
+
# response header in the response.
|
868
|
+
#
|
869
|
+
# If you do not enable versioning or suspend it on the destination
|
870
|
+
# bucket, the version ID that Amazon S3 generates in the
|
871
|
+
# `x-amz-version-id` response header is always null.
|
872
|
+
#
|
873
|
+
# <note markdown="1"> **Directory buckets** - S3 Versioning isn't enabled and supported for
|
874
|
+
# directory buckets.
|
875
|
+
#
|
876
|
+
# </note>
|
877
|
+
#
|
701
878
|
#
|
702
879
|
#
|
703
880
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html
|
704
881
|
# @option options [String] :copy_source_if_match
|
705
882
|
# Copies the object if its entity tag (ETag) matches the specified tag.
|
883
|
+
#
|
884
|
+
# If both the `x-amz-copy-source-if-match` and
|
885
|
+
# `x-amz-copy-source-if-unmodified-since` headers are present in the
|
886
|
+
# request and evaluate as follows, Amazon S3 returns `200 OK` and copies
|
887
|
+
# the data:
|
888
|
+
#
|
889
|
+
# * `x-amz-copy-source-if-match` condition evaluates to true
|
890
|
+
#
|
891
|
+
# * `x-amz-copy-source-if-unmodified-since` condition evaluates to false
|
706
892
|
# @option options [Time,DateTime,Date,Integer,String] :copy_source_if_modified_since
|
707
893
|
# Copies the object if it has been modified since the specified time.
|
894
|
+
#
|
895
|
+
# If both the `x-amz-copy-source-if-none-match` and
|
896
|
+
# `x-amz-copy-source-if-modified-since` headers are present in the
|
897
|
+
# request and evaluate as follows, Amazon S3 returns the `412
|
898
|
+
# Precondition Failed` response code:
|
899
|
+
#
|
900
|
+
# * `x-amz-copy-source-if-none-match` condition evaluates to false
|
901
|
+
#
|
902
|
+
# * `x-amz-copy-source-if-modified-since` condition evaluates to true
|
708
903
|
# @option options [String] :copy_source_if_none_match
|
709
904
|
# Copies the object if its entity tag (ETag) is different than the
|
710
905
|
# specified ETag.
|
906
|
+
#
|
907
|
+
# If both the `x-amz-copy-source-if-none-match` and
|
908
|
+
# `x-amz-copy-source-if-modified-since` headers are present in the
|
909
|
+
# request and evaluate as follows, Amazon S3 returns the `412
|
910
|
+
# Precondition Failed` response code:
|
911
|
+
#
|
912
|
+
# * `x-amz-copy-source-if-none-match` condition evaluates to false
|
913
|
+
#
|
914
|
+
# * `x-amz-copy-source-if-modified-since` condition evaluates to true
|
711
915
|
# @option options [Time,DateTime,Date,Integer,String] :copy_source_if_unmodified_since
|
712
916
|
# Copies the object if it hasn't been modified since the specified
|
713
917
|
# time.
|
918
|
+
#
|
919
|
+
# If both the `x-amz-copy-source-if-match` and
|
920
|
+
# `x-amz-copy-source-if-unmodified-since` headers are present in the
|
921
|
+
# request and evaluate as follows, Amazon S3 returns `200 OK` and copies
|
922
|
+
# the data:
|
923
|
+
#
|
924
|
+
# * `x-amz-copy-source-if-match` condition evaluates to true
|
925
|
+
#
|
926
|
+
# * `x-amz-copy-source-if-unmodified-since` condition evaluates to false
|
714
927
|
# @option options [Time,DateTime,Date,Integer,String] :expires
|
715
928
|
# The date and time at which the object is no longer cacheable.
|
716
929
|
# @option options [String] :grant_full_control
|
717
930
|
# Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
|
718
931
|
# object.
|
719
932
|
#
|
720
|
-
# This
|
933
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
934
|
+
#
|
935
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
936
|
+
#
|
937
|
+
# </note>
|
721
938
|
# @option options [String] :grant_read
|
722
939
|
# Allows grantee to read the object data and its metadata.
|
723
940
|
#
|
724
|
-
# This
|
941
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
942
|
+
#
|
943
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
944
|
+
#
|
945
|
+
# </note>
|
725
946
|
# @option options [String] :grant_read_acp
|
726
947
|
# Allows grantee to read the object ACL.
|
727
948
|
#
|
728
|
-
# This
|
949
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
950
|
+
#
|
951
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
952
|
+
#
|
953
|
+
# </note>
|
729
954
|
# @option options [String] :grant_write_acp
|
730
955
|
# Allows grantee to write the ACL for the applicable object.
|
731
956
|
#
|
732
|
-
# This
|
957
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
958
|
+
#
|
959
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
960
|
+
#
|
961
|
+
# </note>
|
733
962
|
# @option options [Hash<String,String>] :metadata
|
734
963
|
# A map of metadata to store with the object in S3.
|
735
964
|
# @option options [String] :metadata_directive
|
736
965
|
# Specifies whether the metadata is copied from the source object or
|
737
|
-
# replaced with metadata provided in the request.
|
966
|
+
# replaced with metadata that's provided in the request. When copying
|
967
|
+
# an object, you can preserve all metadata (the default) or specify new
|
968
|
+
# metadata. If this header isn’t specified, `COPY` is the default
|
969
|
+
# behavior.
|
970
|
+
#
|
971
|
+
# **General purpose bucket** - For general purpose buckets, when you
|
972
|
+
# grant permissions, you can use the `s3:x-amz-metadata-directive`
|
973
|
+
# condition key to enforce certain metadata behavior when objects are
|
974
|
+
# uploaded. For more information, see [Amazon S3 condition key
|
975
|
+
# examples][1] in the *Amazon S3 User Guide*.
|
976
|
+
#
|
977
|
+
# <note markdown="1"> `x-amz-website-redirect-location` is unique to each object and is not
|
978
|
+
# copied when using the `x-amz-metadata-directive` header. To copy the
|
979
|
+
# value, you must specify `x-amz-website-redirect-location` in the
|
980
|
+
# request header.
|
981
|
+
#
|
982
|
+
# </note>
|
983
|
+
#
|
984
|
+
#
|
985
|
+
#
|
986
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/amazon-s3-policy-keys.html
|
738
987
|
# @option options [String] :tagging_directive
|
739
|
-
# Specifies whether the object tag-set
|
740
|
-
# or replaced with tag-set provided in the request.
|
988
|
+
# Specifies whether the object tag-set is copied from the source object
|
989
|
+
# or replaced with the tag-set that's provided in the request.
|
990
|
+
#
|
991
|
+
# The default value is `COPY`.
|
992
|
+
#
|
993
|
+
# <note markdown="1"> **Directory buckets** - For directory buckets in a `CopyObject`
|
994
|
+
# operation, only the empty tag-set is supported. Any requests that
|
995
|
+
# attempt to write non-empty tags into directory buckets will receive a
|
996
|
+
# `501 Not Implemented` status code. When the destination bucket is a
|
997
|
+
# directory bucket, you will receive a `501 Not Implemented` response in
|
998
|
+
# any of the following situations:
|
999
|
+
#
|
1000
|
+
# * When you attempt to `COPY` the tag-set from an S3 source object that
|
1001
|
+
# has non-empty tags.
|
1002
|
+
#
|
1003
|
+
# * When you attempt to `REPLACE` the tag-set of a source object and set
|
1004
|
+
# a non-empty value to `x-amz-tagging`.
|
1005
|
+
#
|
1006
|
+
# * When you don't set the `x-amz-tagging-directive` header and the
|
1007
|
+
# source object has non-empty tags. This is because the default value
|
1008
|
+
# of `x-amz-tagging-directive` is `COPY`.
|
1009
|
+
#
|
1010
|
+
# Because only the empty tag-set is supported for directory buckets in a
|
1011
|
+
# `CopyObject` operation, the following situations are allowed:
|
1012
|
+
#
|
1013
|
+
# * When you attempt to `COPY` the tag-set from a directory bucket
|
1014
|
+
# source object that has no tags to a general purpose bucket. It
|
1015
|
+
# copies an empty tag-set to the destination object.
|
1016
|
+
#
|
1017
|
+
# * When you attempt to `REPLACE` the tag-set of a directory bucket
|
1018
|
+
# source object and set the `x-amz-tagging` value of the directory
|
1019
|
+
# bucket destination object to empty.
|
1020
|
+
#
|
1021
|
+
# * When you attempt to `REPLACE` the tag-set of a general purpose
|
1022
|
+
# bucket source object that has non-empty tags and set the
|
1023
|
+
# `x-amz-tagging` value of the directory bucket destination object to
|
1024
|
+
# empty.
|
1025
|
+
#
|
1026
|
+
# * When you attempt to `REPLACE` the tag-set of a directory bucket
|
1027
|
+
# source object and don't set the `x-amz-tagging` value of the
|
1028
|
+
# directory bucket destination object. This is because the default
|
1029
|
+
# value of `x-amz-tagging` is the empty value.
|
1030
|
+
#
|
1031
|
+
# </note>
|
741
1032
|
# @option options [String] :server_side_encryption
|
742
1033
|
# The server-side encryption algorithm used when storing this object in
|
743
|
-
# Amazon S3 (for example, AES256
|
1034
|
+
# Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
|
1035
|
+
# Unrecognized or unsupported values won’t write a destination object
|
1036
|
+
# and will receive a `400 Bad Request` response.
|
1037
|
+
#
|
1038
|
+
# Amazon S3 automatically encrypts all new objects that are copied to an
|
1039
|
+
# S3 bucket. When copying an object, if you don't specify encryption
|
1040
|
+
# information in your copy request, the encryption setting of the target
|
1041
|
+
# object is set to the default encryption configuration of the
|
1042
|
+
# destination bucket. By default, all buckets have a base level of
|
1043
|
+
# encryption configuration that uses server-side encryption with Amazon
|
1044
|
+
# S3 managed keys (SSE-S3). If the destination bucket has a default
|
1045
|
+
# encryption configuration that uses server-side encryption with Key
|
1046
|
+
# Management Service (KMS) keys (SSE-KMS), dual-layer server-side
|
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.
|
1059
|
+
#
|
1060
|
+
# With server-side encryption, Amazon S3 encrypts your data as it writes
|
1061
|
+
# your data to disks in its data centers and decrypts the data when you
|
1062
|
+
# access it. For more information about server-side encryption, see
|
1063
|
+
# [Using Server-Side Encryption][1] in the *Amazon S3 User Guide*.
|
1064
|
+
#
|
1065
|
+
# <note markdown="1"> For directory buckets, only server-side encryption with Amazon S3
|
1066
|
+
# managed keys (SSE-S3) (`AES256`) is supported.
|
1067
|
+
#
|
1068
|
+
# </note>
|
1069
|
+
#
|
1070
|
+
#
|
1071
|
+
#
|
1072
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
|
744
1073
|
# @option options [String] :storage_class
|
745
|
-
#
|
746
|
-
#
|
747
|
-
#
|
748
|
-
#
|
749
|
-
#
|
1074
|
+
# If the `x-amz-storage-class` header is not used, the copied object
|
1075
|
+
# will be stored in the `STANDARD` Storage Class by default. The
|
1076
|
+
# `STANDARD` storage class provides high durability and high
|
1077
|
+
# availability. Depending on performance needs, you can specify a
|
1078
|
+
# different Storage Class.
|
1079
|
+
#
|
1080
|
+
# <note markdown="1"> * <b>Directory buckets </b> - For directory buckets, only the S3
|
1081
|
+
# Express One Zone storage class is supported to store newly created
|
1082
|
+
# objects. Unsupported storage class values won't write a destination
|
1083
|
+
# object and will respond with the HTTP status code `400 Bad Request`.
|
1084
|
+
#
|
1085
|
+
# * <b>Amazon S3 on Outposts </b> - S3 on Outposts only uses the
|
1086
|
+
# `OUTPOSTS` Storage Class.
|
1087
|
+
#
|
1088
|
+
# </note>
|
1089
|
+
#
|
1090
|
+
# You can use the `CopyObject` action to change the storage class of an
|
1091
|
+
# object that is already stored in Amazon S3 by using the
|
1092
|
+
# `x-amz-storage-class` header. For more information, see [Storage
|
1093
|
+
# Classes][1] in the *Amazon S3 User Guide*.
|
1094
|
+
#
|
1095
|
+
# Before using an object as a source object for the copy operation, you
|
1096
|
+
# must restore a copy of it if it meets any of the following conditions:
|
1097
|
+
#
|
1098
|
+
# * The storage class of the source object is `GLACIER` or
|
1099
|
+
# `DEEP_ARCHIVE`.
|
1100
|
+
#
|
1101
|
+
# * The storage class of the source object is `INTELLIGENT_TIERING` and
|
1102
|
+
# it's [S3 Intelligent-Tiering access tier][2] is `Archive Access` or
|
1103
|
+
# `Deep Archive Access`.
|
1104
|
+
#
|
1105
|
+
# For more information, see [RestoreObject][3] and [Copying Objects][4]
|
750
1106
|
# in the *Amazon S3 User Guide*.
|
751
1107
|
#
|
752
1108
|
#
|
753
1109
|
#
|
754
1110
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
|
1111
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/intelligent-tiering-overview.html#intel-tiering-tier-definition
|
1112
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
|
1113
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html
|
755
1114
|
# @option options [String] :website_redirect_location
|
756
|
-
# If the bucket is configured as a website, redirects
|
757
|
-
# object to another object in the same bucket or
|
758
|
-
# Amazon S3 stores the value of this header in the
|
1115
|
+
# If the destination bucket is configured as a website, redirects
|
1116
|
+
# requests for this object copy to another object in the same bucket or
|
1117
|
+
# to an external URL. Amazon S3 stores the value of this header in the
|
1118
|
+
# object metadata. This value is unique to each object and is not copied
|
1119
|
+
# when using the `x-amz-metadata-directive` header. Instead, you may opt
|
1120
|
+
# to provide this header in combination with the
|
1121
|
+
# `x-amz-metadata-directive` header.
|
1122
|
+
#
|
1123
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1124
|
+
#
|
1125
|
+
# </note>
|
759
1126
|
# @option options [String] :sse_customer_algorithm
|
760
|
-
# Specifies the algorithm to use
|
761
|
-
# example, AES256).
|
1127
|
+
# Specifies the algorithm to use when encrypting the object (for
|
1128
|
+
# example, `AES256`).
|
1129
|
+
#
|
1130
|
+
# When you perform a `CopyObject` operation, if you want to use a
|
1131
|
+
# different type of encryption setting for the target object, you can
|
1132
|
+
# specify appropriate encryption-related headers to encrypt the target
|
1133
|
+
# object with an Amazon S3 managed key, a KMS key, or a
|
1134
|
+
# customer-provided key. If the encryption setting in your request is
|
1135
|
+
# different from the default encryption configuration of the destination
|
1136
|
+
# bucket, the encryption setting in your request takes precedence.
|
1137
|
+
#
|
1138
|
+
# <note markdown="1"> This functionality is not supported when the destination bucket is a
|
1139
|
+
# directory bucket.
|
1140
|
+
#
|
1141
|
+
# </note>
|
762
1142
|
# @option options [String] :sse_customer_key
|
763
1143
|
# Specifies the customer-provided encryption key for Amazon S3 to use in
|
764
1144
|
# encrypting data. This value is used to store the object and then it is
|
765
|
-
# discarded
|
1145
|
+
# discarded. Amazon S3 does not store the encryption key. The key must
|
766
1146
|
# be appropriate for use with the algorithm specified in the
|
767
1147
|
# `x-amz-server-side-encryption-customer-algorithm` header.
|
1148
|
+
#
|
1149
|
+
# <note markdown="1"> This functionality is not supported when the destination bucket is a
|
1150
|
+
# directory bucket.
|
1151
|
+
#
|
1152
|
+
# </note>
|
768
1153
|
# @option options [String] :sse_customer_key_md5
|
769
1154
|
# Specifies the 128-bit MD5 digest of the encryption key according to
|
770
1155
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
771
1156
|
# ensure that the encryption key was transmitted without error.
|
1157
|
+
#
|
1158
|
+
# <note markdown="1"> This functionality is not supported when the destination bucket is a
|
1159
|
+
# directory bucket.
|
1160
|
+
#
|
1161
|
+
# </note>
|
772
1162
|
# @option options [String] :ssekms_key_id
|
773
|
-
# Specifies the
|
774
|
-
# encryption. All GET and PUT requests for an object protected by
|
775
|
-
#
|
776
|
-
#
|
777
|
-
#
|
778
|
-
#
|
779
|
-
#
|
1163
|
+
# Specifies the KMS ID (Key ID, Key ARN, or Key Alias) to use for object
|
1164
|
+
# encryption. All GET and PUT requests for an object protected by KMS
|
1165
|
+
# will fail if they're not made via SSL or using SigV4. For information
|
1166
|
+
# about configuring any of the officially supported Amazon Web Services
|
1167
|
+
# SDKs and Amazon Web Services CLI, see [Specifying the Signature
|
1168
|
+
# Version in Request Authentication][1] in the *Amazon S3 User Guide*.
|
1169
|
+
#
|
1170
|
+
# <note markdown="1"> This functionality is not supported when the destination bucket is a
|
1171
|
+
# directory bucket.
|
1172
|
+
#
|
1173
|
+
# </note>
|
780
1174
|
#
|
781
1175
|
#
|
782
1176
|
#
|
@@ -784,62 +1178,177 @@ module Aws::S3
|
|
784
1178
|
# @option options [String] :ssekms_encryption_context
|
785
1179
|
# Specifies the Amazon Web Services KMS Encryption Context to use for
|
786
1180
|
# object encryption. The value of this header is a base64-encoded UTF-8
|
787
|
-
# string holding JSON with the encryption context key-value pairs.
|
1181
|
+
# string holding JSON with the encryption context key-value pairs. This
|
1182
|
+
# value must be explicitly added to specify encryption context for
|
1183
|
+
# `CopyObject` requests.
|
1184
|
+
#
|
1185
|
+
# <note markdown="1"> This functionality is not supported when the destination bucket is a
|
1186
|
+
# directory bucket.
|
1187
|
+
#
|
1188
|
+
# </note>
|
788
1189
|
# @option options [Boolean] :bucket_key_enabled
|
789
1190
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
790
|
-
# encryption with server-side encryption using
|
1191
|
+
# encryption with server-side encryption using Key Management Service
|
1192
|
+
# (KMS) keys (SSE-KMS). If a target object uses SSE-KMS, you can enable
|
1193
|
+
# an S3 Bucket Key for the object.
|
1194
|
+
#
|
791
1195
|
# Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
|
792
|
-
# for object encryption with SSE-KMS.
|
1196
|
+
# for object encryption with SSE-KMS. Specifying this header with a COPY
|
1197
|
+
# action doesn’t affect bucket-level settings for S3 Bucket Key.
|
793
1198
|
#
|
794
|
-
#
|
795
|
-
#
|
1199
|
+
# For more information, see [Amazon S3 Bucket Keys][1] in the *Amazon S3
|
1200
|
+
# User Guide*.
|
1201
|
+
#
|
1202
|
+
# <note markdown="1"> This functionality is not supported when the destination bucket is a
|
1203
|
+
# directory bucket.
|
1204
|
+
#
|
1205
|
+
# </note>
|
1206
|
+
#
|
1207
|
+
#
|
1208
|
+
#
|
1209
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
|
796
1210
|
# @option options [String] :copy_source_sse_customer_algorithm
|
797
1211
|
# Specifies the algorithm to use when decrypting the source object (for
|
798
|
-
# example, AES256).
|
1212
|
+
# example, `AES256`).
|
1213
|
+
#
|
1214
|
+
# If the source object for the copy is stored in Amazon S3 using SSE-C,
|
1215
|
+
# you must provide the necessary encryption information in your request
|
1216
|
+
# so that Amazon S3 can decrypt the object for copying.
|
1217
|
+
#
|
1218
|
+
# <note markdown="1"> This functionality is not supported when the source object is in a
|
1219
|
+
# directory bucket.
|
1220
|
+
#
|
1221
|
+
# </note>
|
799
1222
|
# @option options [String] :copy_source_sse_customer_key
|
800
1223
|
# Specifies the customer-provided encryption key for Amazon S3 to use to
|
801
1224
|
# decrypt the source object. The encryption key provided in this header
|
802
|
-
# must be one that was used when the source object was created.
|
1225
|
+
# must be the same one that was used when the source object was created.
|
1226
|
+
#
|
1227
|
+
# If the source object for the copy is stored in Amazon S3 using SSE-C,
|
1228
|
+
# you must provide the necessary encryption information in your request
|
1229
|
+
# so that Amazon S3 can decrypt the object for copying.
|
1230
|
+
#
|
1231
|
+
# <note markdown="1"> This functionality is not supported when the source object is in a
|
1232
|
+
# directory bucket.
|
1233
|
+
#
|
1234
|
+
# </note>
|
803
1235
|
# @option options [String] :copy_source_sse_customer_key_md5
|
804
1236
|
# Specifies the 128-bit MD5 digest of the encryption key according to
|
805
1237
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
806
1238
|
# ensure that the encryption key was transmitted without error.
|
1239
|
+
#
|
1240
|
+
# If the source object for the copy is stored in Amazon S3 using SSE-C,
|
1241
|
+
# you must provide the necessary encryption information in your request
|
1242
|
+
# so that Amazon S3 can decrypt the object for copying.
|
1243
|
+
#
|
1244
|
+
# <note markdown="1"> This functionality is not supported when the source object is in a
|
1245
|
+
# directory bucket.
|
1246
|
+
#
|
1247
|
+
# </note>
|
807
1248
|
# @option options [String] :request_payer
|
808
1249
|
# Confirms that the requester knows that they will be charged for the
|
809
1250
|
# request. Bucket owners need not specify this parameter in their
|
810
|
-
# requests.
|
1251
|
+
# requests. If either the source or destination S3 bucket has Requester
|
1252
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
1253
|
+
# the object. For information about downloading objects from Requester
|
811
1254
|
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
812
1255
|
# in the *Amazon S3 User Guide*.
|
813
1256
|
#
|
1257
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1258
|
+
#
|
1259
|
+
# </note>
|
1260
|
+
#
|
814
1261
|
#
|
815
1262
|
#
|
816
1263
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
817
1264
|
# @option options [String] :tagging
|
818
|
-
# The tag-set for the object
|
819
|
-
# in conjunction with the `
|
820
|
-
#
|
1265
|
+
# The tag-set for the object copy in the destination bucket. This value
|
1266
|
+
# must be used in conjunction with the `x-amz-tagging-directive` if you
|
1267
|
+
# choose `REPLACE` for the `x-amz-tagging-directive`. If you choose
|
1268
|
+
# `COPY` for the `x-amz-tagging-directive`, you don't need to set the
|
1269
|
+
# `x-amz-tagging` header, because the tag-set will be copied from the
|
1270
|
+
# source object directly. The tag-set must be encoded as URL Query
|
1271
|
+
# parameters.
|
1272
|
+
#
|
1273
|
+
# The default value is the empty value.
|
1274
|
+
#
|
1275
|
+
# <note markdown="1"> **Directory buckets** - For directory buckets in a `CopyObject`
|
1276
|
+
# operation, only the empty tag-set is supported. Any requests that
|
1277
|
+
# attempt to write non-empty tags into directory buckets will receive a
|
1278
|
+
# `501 Not Implemented` status code. When the destination bucket is a
|
1279
|
+
# directory bucket, you will receive a `501 Not Implemented` response in
|
1280
|
+
# any of the following situations:
|
1281
|
+
#
|
1282
|
+
# * When you attempt to `COPY` the tag-set from an S3 source object that
|
1283
|
+
# has non-empty tags.
|
1284
|
+
#
|
1285
|
+
# * When you attempt to `REPLACE` the tag-set of a source object and set
|
1286
|
+
# a non-empty value to `x-amz-tagging`.
|
1287
|
+
#
|
1288
|
+
# * When you don't set the `x-amz-tagging-directive` header and the
|
1289
|
+
# source object has non-empty tags. This is because the default value
|
1290
|
+
# of `x-amz-tagging-directive` is `COPY`.
|
1291
|
+
#
|
1292
|
+
# Because only the empty tag-set is supported for directory buckets in a
|
1293
|
+
# `CopyObject` operation, the following situations are allowed:
|
1294
|
+
#
|
1295
|
+
# * When you attempt to `COPY` the tag-set from a directory bucket
|
1296
|
+
# source object that has no tags to a general purpose bucket. It
|
1297
|
+
# copies an empty tag-set to the destination object.
|
1298
|
+
#
|
1299
|
+
# * When you attempt to `REPLACE` the tag-set of a directory bucket
|
1300
|
+
# source object and set the `x-amz-tagging` value of the directory
|
1301
|
+
# bucket destination object to empty.
|
1302
|
+
#
|
1303
|
+
# * When you attempt to `REPLACE` the tag-set of a general purpose
|
1304
|
+
# bucket source object that has non-empty tags and set the
|
1305
|
+
# `x-amz-tagging` value of the directory bucket destination object to
|
1306
|
+
# empty.
|
1307
|
+
#
|
1308
|
+
# * When you attempt to `REPLACE` the tag-set of a directory bucket
|
1309
|
+
# source object and don't set the `x-amz-tagging` value of the
|
1310
|
+
# directory bucket destination object. This is because the default
|
1311
|
+
# value of `x-amz-tagging` is the empty value.
|
1312
|
+
#
|
1313
|
+
# </note>
|
821
1314
|
# @option options [String] :object_lock_mode
|
822
|
-
# The Object Lock mode that you want to apply to the
|
1315
|
+
# The Object Lock mode that you want to apply to the object copy.
|
1316
|
+
#
|
1317
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1318
|
+
#
|
1319
|
+
# </note>
|
823
1320
|
# @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
|
824
|
-
# The date and time when you want the
|
1321
|
+
# The date and time when you want the Object Lock of the object copy to
|
825
1322
|
# expire.
|
1323
|
+
#
|
1324
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1325
|
+
#
|
1326
|
+
# </note>
|
826
1327
|
# @option options [String] :object_lock_legal_hold_status
|
827
|
-
# Specifies whether you want to apply a legal hold to the
|
1328
|
+
# Specifies whether you want to apply a legal hold to the object copy.
|
1329
|
+
#
|
1330
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1331
|
+
#
|
1332
|
+
# </note>
|
828
1333
|
# @option options [String] :expected_bucket_owner
|
829
1334
|
# The account ID of the expected destination bucket owner. If the
|
830
|
-
#
|
831
|
-
# with the HTTP status code `403
|
1335
|
+
# account ID that you provide does not match the actual owner of the
|
1336
|
+
# destination bucket, the request fails with the HTTP status code `403
|
1337
|
+
# Forbidden` (access denied).
|
832
1338
|
# @option options [String] :expected_source_bucket_owner
|
833
|
-
# The account ID of the expected source bucket owner. If the
|
834
|
-
#
|
835
|
-
# HTTP status code `403 Forbidden` (access
|
1339
|
+
# The account ID of the expected source bucket owner. If the account ID
|
1340
|
+
# that you provide does not match the actual owner of the source bucket,
|
1341
|
+
# the request fails with the HTTP status code `403 Forbidden` (access
|
1342
|
+
# denied).
|
836
1343
|
# @return [Types::CopyObjectOutput]
|
837
1344
|
def copy_from(options = {})
|
838
1345
|
options = options.merge(
|
839
1346
|
bucket: @bucket_name,
|
840
1347
|
key: @key
|
841
1348
|
)
|
842
|
-
resp =
|
1349
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
1350
|
+
@client.copy_object(options)
|
1351
|
+
end
|
843
1352
|
resp.data
|
844
1353
|
end
|
845
1354
|
|
@@ -858,15 +1367,30 @@ module Aws::S3
|
|
858
1367
|
# space, and the value that is displayed on your authentication device.
|
859
1368
|
# Required to permanently delete a versioned object if versioning is
|
860
1369
|
# configured with MFA delete enabled.
|
1370
|
+
#
|
1371
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1372
|
+
#
|
1373
|
+
# </note>
|
861
1374
|
# @option options [String] :version_id
|
862
|
-
#
|
1375
|
+
# Version ID used to reference a specific version of the object.
|
1376
|
+
#
|
1377
|
+
# <note markdown="1"> For directory buckets in this API operation, only the `null` value of
|
1378
|
+
# the version ID is supported.
|
1379
|
+
#
|
1380
|
+
# </note>
|
863
1381
|
# @option options [String] :request_payer
|
864
1382
|
# Confirms that the requester knows that they will be charged for the
|
865
1383
|
# request. Bucket owners need not specify this parameter in their
|
866
|
-
# requests.
|
1384
|
+
# requests. If either the source or destination S3 bucket has Requester
|
1385
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
1386
|
+
# the object. For information about downloading objects from Requester
|
867
1387
|
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
868
1388
|
# in the *Amazon S3 User Guide*.
|
869
1389
|
#
|
1390
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1391
|
+
#
|
1392
|
+
# </note>
|
1393
|
+
#
|
870
1394
|
#
|
871
1395
|
#
|
872
1396
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
@@ -874,17 +1398,23 @@ module Aws::S3
|
|
874
1398
|
# Indicates whether S3 Object Lock should bypass Governance-mode
|
875
1399
|
# restrictions to process this operation. To use this header, you must
|
876
1400
|
# have the `s3:BypassGovernanceRetention` permission.
|
1401
|
+
#
|
1402
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1403
|
+
#
|
1404
|
+
# </note>
|
877
1405
|
# @option options [String] :expected_bucket_owner
|
878
|
-
# The account ID of the expected bucket owner. If the
|
879
|
-
#
|
880
|
-
# Forbidden` (access denied).
|
1406
|
+
# The account ID of the expected bucket owner. If the account ID that
|
1407
|
+
# you provide does not match the actual owner of the bucket, the request
|
1408
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
881
1409
|
# @return [Types::DeleteObjectOutput]
|
882
1410
|
def delete(options = {})
|
883
1411
|
options = options.merge(
|
884
1412
|
bucket: @bucket_name,
|
885
1413
|
key: @key
|
886
1414
|
)
|
887
|
-
resp =
|
1415
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
1416
|
+
@client.delete_object(options)
|
1417
|
+
end
|
888
1418
|
resp.data
|
889
1419
|
end
|
890
1420
|
|
@@ -914,20 +1444,66 @@ module Aws::S3
|
|
914
1444
|
# @param [Hash] options ({})
|
915
1445
|
# @option options [String] :if_match
|
916
1446
|
# Return the object only if its entity tag (ETag) is the same as the one
|
917
|
-
# specified; otherwise, return a 412
|
1447
|
+
# specified in this header; otherwise, return a `412 Precondition
|
1448
|
+
# Failed` error.
|
1449
|
+
#
|
1450
|
+
# If both of the `If-Match` and `If-Unmodified-Since` headers are
|
1451
|
+
# present in the request as follows: `If-Match` condition evaluates to
|
1452
|
+
# `true`, and; `If-Unmodified-Since` condition evaluates to `false`;
|
1453
|
+
# then, S3 returns `200 OK` and the data requested.
|
1454
|
+
#
|
1455
|
+
# For more information about conditional requests, see [RFC 7232][1].
|
1456
|
+
#
|
1457
|
+
#
|
1458
|
+
#
|
1459
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
918
1460
|
# @option options [Time,DateTime,Date,Integer,String] :if_modified_since
|
919
1461
|
# Return the object only if it has been modified since the specified
|
920
|
-
# time; otherwise, return a 304
|
1462
|
+
# time; otherwise, return a `304 Not Modified` error.
|
1463
|
+
#
|
1464
|
+
# If both of the `If-None-Match` and `If-Modified-Since` headers are
|
1465
|
+
# present in the request as follows:` If-None-Match` condition evaluates
|
1466
|
+
# to `false`, and; `If-Modified-Since` condition evaluates to `true`;
|
1467
|
+
# then, S3 returns `304 Not Modified` status code.
|
1468
|
+
#
|
1469
|
+
# For more information about conditional requests, see [RFC 7232][1].
|
1470
|
+
#
|
1471
|
+
#
|
1472
|
+
#
|
1473
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
921
1474
|
# @option options [String] :if_none_match
|
922
1475
|
# Return the object only if its entity tag (ETag) is different from the
|
923
|
-
# one specified; otherwise, return a 304
|
1476
|
+
# one specified in this header; otherwise, return a `304 Not Modified`
|
1477
|
+
# error.
|
1478
|
+
#
|
1479
|
+
# If both of the `If-None-Match` and `If-Modified-Since` headers are
|
1480
|
+
# present in the request as follows:` If-None-Match` condition evaluates
|
1481
|
+
# to `false`, and; `If-Modified-Since` condition evaluates to `true`;
|
1482
|
+
# then, S3 returns `304 Not Modified` HTTP status code.
|
1483
|
+
#
|
1484
|
+
# For more information about conditional requests, see [RFC 7232][1].
|
1485
|
+
#
|
1486
|
+
#
|
1487
|
+
#
|
1488
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
924
1489
|
# @option options [Time,DateTime,Date,Integer,String] :if_unmodified_since
|
925
1490
|
# Return the object only if it has not been modified since the specified
|
926
|
-
# time; otherwise, return a 412
|
1491
|
+
# time; otherwise, return a `412 Precondition Failed` error.
|
1492
|
+
#
|
1493
|
+
# If both of the `If-Match` and `If-Unmodified-Since` headers are
|
1494
|
+
# present in the request as follows: `If-Match` condition evaluates to
|
1495
|
+
# `true`, and; `If-Unmodified-Since` condition evaluates to `false`;
|
1496
|
+
# then, S3 returns `200 OK` and the data requested.
|
1497
|
+
#
|
1498
|
+
# For more information about conditional requests, see [RFC 7232][1].
|
1499
|
+
#
|
1500
|
+
#
|
1501
|
+
#
|
1502
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
927
1503
|
# @option options [String] :range
|
928
|
-
# Downloads the specified range
|
1504
|
+
# Downloads the specified byte range of an object. For more information
|
929
1505
|
# about the HTTP Range header, see
|
930
|
-
# [https://www.
|
1506
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#name-range][1].
|
931
1507
|
#
|
932
1508
|
# <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
|
933
1509
|
# `GET` request.
|
@@ -936,11 +1512,11 @@ module Aws::S3
|
|
936
1512
|
#
|
937
1513
|
#
|
938
1514
|
#
|
939
|
-
# [1]: https://www.
|
1515
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-range
|
940
1516
|
# @option options [String] :response_cache_control
|
941
1517
|
# Sets the `Cache-Control` header of the response.
|
942
1518
|
# @option options [String] :response_content_disposition
|
943
|
-
# Sets the `Content-Disposition` header of the response
|
1519
|
+
# Sets the `Content-Disposition` header of the response.
|
944
1520
|
# @option options [String] :response_content_encoding
|
945
1521
|
# Sets the `Content-Encoding` header of the response.
|
946
1522
|
# @option options [String] :response_content_language
|
@@ -950,39 +1526,140 @@ module Aws::S3
|
|
950
1526
|
# @option options [Time,DateTime,Date,Integer,String] :response_expires
|
951
1527
|
# Sets the `Expires` header of the response.
|
952
1528
|
# @option options [String] :version_id
|
953
|
-
#
|
954
|
-
# @option options [String] :sse_customer_algorithm
|
955
|
-
# Specifies the algorithm to use to when decrypting the object (for
|
956
|
-
# example, AES256).
|
957
|
-
# @option options [String] :sse_customer_key
|
958
|
-
# Specifies the customer-provided encryption key for Amazon S3 used to
|
959
|
-
# encrypt the data. This value is used to decrypt the object when
|
960
|
-
# recovering it and must match the one used when storing the data. The
|
961
|
-
# key must be appropriate for use with the algorithm specified in the
|
962
|
-
# `x-amz-server-side-encryption-customer-algorithm` header.
|
963
|
-
# @option options [String] :sse_customer_key_md5
|
964
|
-
# Specifies the 128-bit MD5 digest of the encryption key according to
|
965
|
-
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
966
|
-
# ensure that the encryption key was transmitted without error.
|
967
|
-
# @option options [String] :request_payer
|
968
|
-
# Confirms that the requester knows that they will be charged for the
|
969
|
-
# request. Bucket owners need not specify this parameter in their
|
970
|
-
# requests. For information about downloading objects from Requester
|
971
|
-
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
972
|
-
# in the *Amazon S3 User Guide*.
|
1529
|
+
# Version ID used to reference a specific version of the object.
|
973
1530
|
#
|
1531
|
+
# By default, the `GetObject` operation returns the current version of
|
1532
|
+
# an object. To return a different version, use the `versionId`
|
1533
|
+
# subresource.
|
974
1534
|
#
|
1535
|
+
# <note markdown="1"> * If you include a `versionId` in your request header, you must have
|
1536
|
+
# the `s3:GetObjectVersion` permission to access a specific version of
|
1537
|
+
# an object. The `s3:GetObject` permission is not required in this
|
1538
|
+
# scenario.
|
975
1539
|
#
|
976
|
-
#
|
977
|
-
#
|
1540
|
+
# * If you request the current version of an object without a specific
|
1541
|
+
# `versionId` in the request header, only the `s3:GetObject`
|
1542
|
+
# permission is required. The `s3:GetObjectVersion` permission is not
|
1543
|
+
# required in this scenario.
|
1544
|
+
#
|
1545
|
+
# * **Directory buckets** - S3 Versioning isn't enabled and supported
|
1546
|
+
# for directory buckets. For this API operation, only the `null` value
|
1547
|
+
# of the version ID is supported by directory buckets. You can only
|
1548
|
+
# specify `null` to the `versionId` query parameter in the request.
|
1549
|
+
#
|
1550
|
+
# </note>
|
1551
|
+
#
|
1552
|
+
# For more information about versioning, see [PutBucketVersioning][1].
|
1553
|
+
#
|
1554
|
+
#
|
1555
|
+
#
|
1556
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html
|
1557
|
+
# @option options [String] :sse_customer_algorithm
|
1558
|
+
# Specifies the algorithm to use when decrypting the object (for
|
1559
|
+
# example, `AES256`).
|
1560
|
+
#
|
1561
|
+
# If you encrypt an object by using server-side encryption with
|
1562
|
+
# customer-provided encryption keys (SSE-C) when you store the object in
|
1563
|
+
# Amazon S3, then when you GET the object, you must use the following
|
1564
|
+
# headers:
|
1565
|
+
#
|
1566
|
+
# * `x-amz-server-side-encryption-customer-algorithm`
|
1567
|
+
#
|
1568
|
+
# * `x-amz-server-side-encryption-customer-key`
|
1569
|
+
#
|
1570
|
+
# * `x-amz-server-side-encryption-customer-key-MD5`
|
1571
|
+
#
|
1572
|
+
# For more information about SSE-C, see [Server-Side Encryption (Using
|
1573
|
+
# Customer-Provided Encryption Keys)][1] in the *Amazon S3 User Guide*.
|
1574
|
+
#
|
1575
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1576
|
+
#
|
1577
|
+
# </note>
|
1578
|
+
#
|
1579
|
+
#
|
1580
|
+
#
|
1581
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
1582
|
+
# @option options [String] :sse_customer_key
|
1583
|
+
# Specifies the customer-provided encryption key that you originally
|
1584
|
+
# provided for Amazon S3 to encrypt the data before storing it. This
|
1585
|
+
# value is used to decrypt the object when recovering it and must match
|
1586
|
+
# the one used when storing the data. The key must be appropriate for
|
1587
|
+
# use with the algorithm specified in the
|
1588
|
+
# `x-amz-server-side-encryption-customer-algorithm` header.
|
1589
|
+
#
|
1590
|
+
# If you encrypt an object by using server-side encryption with
|
1591
|
+
# customer-provided encryption keys (SSE-C) when you store the object in
|
1592
|
+
# Amazon S3, then when you GET the object, you must use the following
|
1593
|
+
# headers:
|
1594
|
+
#
|
1595
|
+
# * `x-amz-server-side-encryption-customer-algorithm`
|
1596
|
+
#
|
1597
|
+
# * `x-amz-server-side-encryption-customer-key`
|
1598
|
+
#
|
1599
|
+
# * `x-amz-server-side-encryption-customer-key-MD5`
|
1600
|
+
#
|
1601
|
+
# For more information about SSE-C, see [Server-Side Encryption (Using
|
1602
|
+
# Customer-Provided Encryption Keys)][1] in the *Amazon S3 User Guide*.
|
1603
|
+
#
|
1604
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1605
|
+
#
|
1606
|
+
# </note>
|
1607
|
+
#
|
1608
|
+
#
|
1609
|
+
#
|
1610
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
1611
|
+
# @option options [String] :sse_customer_key_md5
|
1612
|
+
# Specifies the 128-bit MD5 digest of the customer-provided encryption
|
1613
|
+
# key according to RFC 1321. Amazon S3 uses this header for a message
|
1614
|
+
# integrity check to ensure that the encryption key was transmitted
|
1615
|
+
# without error.
|
1616
|
+
#
|
1617
|
+
# If you encrypt an object by using server-side encryption with
|
1618
|
+
# customer-provided encryption keys (SSE-C) when you store the object in
|
1619
|
+
# Amazon S3, then when you GET the object, you must use the following
|
1620
|
+
# headers:
|
1621
|
+
#
|
1622
|
+
# * `x-amz-server-side-encryption-customer-algorithm`
|
1623
|
+
#
|
1624
|
+
# * `x-amz-server-side-encryption-customer-key`
|
1625
|
+
#
|
1626
|
+
# * `x-amz-server-side-encryption-customer-key-MD5`
|
1627
|
+
#
|
1628
|
+
# For more information about SSE-C, see [Server-Side Encryption (Using
|
1629
|
+
# Customer-Provided Encryption Keys)][1] in the *Amazon S3 User Guide*.
|
1630
|
+
#
|
1631
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1632
|
+
#
|
1633
|
+
# </note>
|
1634
|
+
#
|
1635
|
+
#
|
1636
|
+
#
|
1637
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
1638
|
+
# @option options [String] :request_payer
|
1639
|
+
# Confirms that the requester knows that they will be charged for the
|
1640
|
+
# request. Bucket owners need not specify this parameter in their
|
1641
|
+
# requests. If either the source or destination S3 bucket has Requester
|
1642
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
1643
|
+
# the object. For information about downloading objects from Requester
|
1644
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
1645
|
+
# in the *Amazon S3 User Guide*.
|
1646
|
+
#
|
1647
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1648
|
+
#
|
1649
|
+
# </note>
|
1650
|
+
#
|
1651
|
+
#
|
1652
|
+
#
|
1653
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
1654
|
+
# @option options [Integer] :part_number
|
978
1655
|
# Part number of the object being read. This is a positive integer
|
979
1656
|
# between 1 and 10,000. Effectively performs a 'ranged' GET request
|
980
1657
|
# for the part specified. Useful for downloading just a part of an
|
981
1658
|
# object.
|
982
1659
|
# @option options [String] :expected_bucket_owner
|
983
|
-
# The account ID of the expected bucket owner. If the
|
984
|
-
#
|
985
|
-
# Forbidden` (access denied).
|
1660
|
+
# The account ID of the expected bucket owner. If the account ID that
|
1661
|
+
# you provide does not match the actual owner of the bucket, the request
|
1662
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
986
1663
|
# @option options [String] :checksum_mode
|
987
1664
|
# To retrieve the checksum, this mode must be enabled.
|
988
1665
|
# @return [Types::GetObjectOutput]
|
@@ -991,7 +1668,9 @@ module Aws::S3
|
|
991
1668
|
bucket: @bucket_name,
|
992
1669
|
key: @key
|
993
1670
|
)
|
994
|
-
resp =
|
1671
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
1672
|
+
@client.get_object(options, &block)
|
1673
|
+
end
|
995
1674
|
resp.data
|
996
1675
|
end
|
997
1676
|
|
@@ -1012,8 +1691,8 @@ module Aws::S3
|
|
1012
1691
|
# metadata: {
|
1013
1692
|
# "MetadataKey" => "MetadataValue",
|
1014
1693
|
# },
|
1015
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
1016
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
|
1694
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
1695
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
1017
1696
|
# website_redirect_location: "WebsiteRedirectLocation",
|
1018
1697
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
1019
1698
|
# sse_customer_key: "SSECustomerKey",
|
@@ -1031,9 +1710,29 @@ module Aws::S3
|
|
1031
1710
|
# })
|
1032
1711
|
# @param [Hash] options ({})
|
1033
1712
|
# @option options [String] :acl
|
1034
|
-
# The canned ACL to apply to the object.
|
1713
|
+
# The canned ACL to apply to the object. Amazon S3 supports a set of
|
1714
|
+
# predefined ACLs, known as *canned ACLs*. Each canned ACL has a
|
1715
|
+
# predefined set of grantees and permissions. For more information, see
|
1716
|
+
# [Canned ACL][1] in the *Amazon S3 User Guide*.
|
1717
|
+
#
|
1718
|
+
# By default, all objects are private. Only the owner has full access
|
1719
|
+
# control. When uploading an object, you can grant access permissions to
|
1720
|
+
# individual Amazon Web Services accounts or to predefined groups
|
1721
|
+
# defined by Amazon S3. These permissions are then added to the access
|
1722
|
+
# control list (ACL) on the new object. For more information, see [Using
|
1723
|
+
# ACLs][2]. One way to grant the permissions using the request headers
|
1724
|
+
# is to specify a canned ACL with the `x-amz-acl` request header.
|
1725
|
+
#
|
1726
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
1727
|
+
#
|
1728
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
1729
|
+
#
|
1730
|
+
# </note>
|
1035
1731
|
#
|
1036
|
-
#
|
1732
|
+
#
|
1733
|
+
#
|
1734
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
|
1735
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
|
1037
1736
|
# @option options [String] :cache_control
|
1038
1737
|
# Specifies caching behavior along the request/reply chain.
|
1039
1738
|
# @option options [String] :content_disposition
|
@@ -1042,41 +1741,292 @@ module Aws::S3
|
|
1042
1741
|
# Specifies what content encodings have been applied to the object and
|
1043
1742
|
# thus what decoding mechanisms must be applied to obtain the media-type
|
1044
1743
|
# referenced by the Content-Type header field.
|
1744
|
+
#
|
1745
|
+
# <note markdown="1"> For directory buckets, only the `aws-chunked` value is supported in
|
1746
|
+
# this header field.
|
1747
|
+
#
|
1748
|
+
# </note>
|
1045
1749
|
# @option options [String] :content_language
|
1046
|
-
# The language the content is in.
|
1750
|
+
# The language that the content is in.
|
1047
1751
|
# @option options [String] :content_type
|
1048
1752
|
# A standard MIME type describing the format of the object data.
|
1049
1753
|
# @option options [Time,DateTime,Date,Integer,String] :expires
|
1050
1754
|
# The date and time at which the object is no longer cacheable.
|
1051
1755
|
# @option options [String] :grant_full_control
|
1052
|
-
#
|
1053
|
-
# object.
|
1756
|
+
# Specify access permissions explicitly to give the grantee READ,
|
1757
|
+
# READ\_ACP, and WRITE\_ACP permissions on the object.
|
1758
|
+
#
|
1759
|
+
# By default, all objects are private. Only the owner has full access
|
1760
|
+
# control. When uploading an object, you can use this header to
|
1761
|
+
# explicitly grant access permissions to specific Amazon Web Services
|
1762
|
+
# accounts or groups. This header maps to specific permissions that
|
1763
|
+
# Amazon S3 supports in an ACL. For more information, see [Access
|
1764
|
+
# Control List (ACL) Overview][1] in the *Amazon S3 User Guide*.
|
1765
|
+
#
|
1766
|
+
# You specify each grantee as a type=value pair, where the type is one
|
1767
|
+
# of the following:
|
1768
|
+
#
|
1769
|
+
# * `id` – if the value specified is the canonical user ID of an Amazon
|
1770
|
+
# Web Services account
|
1771
|
+
#
|
1772
|
+
# * `uri` – if you are granting permissions to a predefined group
|
1054
1773
|
#
|
1055
|
-
#
|
1774
|
+
# * `emailAddress` – if the value specified is the email address of an
|
1775
|
+
# Amazon Web Services account
|
1776
|
+
#
|
1777
|
+
# <note markdown="1"> Using email addresses to specify a grantee is only supported in the
|
1778
|
+
# following Amazon Web Services Regions:
|
1779
|
+
#
|
1780
|
+
# * US East (N. Virginia)
|
1781
|
+
#
|
1782
|
+
# * US West (N. California)
|
1783
|
+
#
|
1784
|
+
# * US West (Oregon)
|
1785
|
+
#
|
1786
|
+
# * Asia Pacific (Singapore)
|
1787
|
+
#
|
1788
|
+
# * Asia Pacific (Sydney)
|
1789
|
+
#
|
1790
|
+
# * Asia Pacific (Tokyo)
|
1791
|
+
#
|
1792
|
+
# * Europe (Ireland)
|
1793
|
+
#
|
1794
|
+
# * South America (São Paulo)
|
1795
|
+
#
|
1796
|
+
# For a list of all the Amazon S3 supported Regions and endpoints, see
|
1797
|
+
# [Regions and Endpoints][2] in the Amazon Web Services General
|
1798
|
+
# Reference.
|
1799
|
+
#
|
1800
|
+
# </note>
|
1801
|
+
#
|
1802
|
+
# For example, the following `x-amz-grant-read` header grants the Amazon
|
1803
|
+
# Web Services accounts identified by account IDs permissions to read
|
1804
|
+
# object data and its metadata:
|
1805
|
+
#
|
1806
|
+
# `x-amz-grant-read: id="11112222333", id="444455556666" `
|
1807
|
+
#
|
1808
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
1809
|
+
#
|
1810
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
1811
|
+
#
|
1812
|
+
# </note>
|
1813
|
+
#
|
1814
|
+
#
|
1815
|
+
#
|
1816
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
|
1817
|
+
# [2]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
|
1056
1818
|
# @option options [String] :grant_read
|
1057
|
-
#
|
1819
|
+
# Specify access permissions explicitly to allow grantee to read the
|
1820
|
+
# object data and its metadata.
|
1821
|
+
#
|
1822
|
+
# By default, all objects are private. Only the owner has full access
|
1823
|
+
# control. When uploading an object, you can use this header to
|
1824
|
+
# explicitly grant access permissions to specific Amazon Web Services
|
1825
|
+
# accounts or groups. This header maps to specific permissions that
|
1826
|
+
# Amazon S3 supports in an ACL. For more information, see [Access
|
1827
|
+
# Control List (ACL) Overview][1] in the *Amazon S3 User Guide*.
|
1828
|
+
#
|
1829
|
+
# You specify each grantee as a type=value pair, where the type is one
|
1830
|
+
# of the following:
|
1831
|
+
#
|
1832
|
+
# * `id` – if the value specified is the canonical user ID of an Amazon
|
1833
|
+
# Web Services account
|
1058
1834
|
#
|
1059
|
-
#
|
1835
|
+
# * `uri` – if you are granting permissions to a predefined group
|
1836
|
+
#
|
1837
|
+
# * `emailAddress` – if the value specified is the email address of an
|
1838
|
+
# Amazon Web Services account
|
1839
|
+
#
|
1840
|
+
# <note markdown="1"> Using email addresses to specify a grantee is only supported in the
|
1841
|
+
# following Amazon Web Services Regions:
|
1842
|
+
#
|
1843
|
+
# * US East (N. Virginia)
|
1844
|
+
#
|
1845
|
+
# * US West (N. California)
|
1846
|
+
#
|
1847
|
+
# * US West (Oregon)
|
1848
|
+
#
|
1849
|
+
# * Asia Pacific (Singapore)
|
1850
|
+
#
|
1851
|
+
# * Asia Pacific (Sydney)
|
1852
|
+
#
|
1853
|
+
# * Asia Pacific (Tokyo)
|
1854
|
+
#
|
1855
|
+
# * Europe (Ireland)
|
1856
|
+
#
|
1857
|
+
# * South America (São Paulo)
|
1858
|
+
#
|
1859
|
+
# For a list of all the Amazon S3 supported Regions and endpoints, see
|
1860
|
+
# [Regions and Endpoints][2] in the Amazon Web Services General
|
1861
|
+
# Reference.
|
1862
|
+
#
|
1863
|
+
# </note>
|
1864
|
+
#
|
1865
|
+
# For example, the following `x-amz-grant-read` header grants the Amazon
|
1866
|
+
# Web Services accounts identified by account IDs permissions to read
|
1867
|
+
# object data and its metadata:
|
1868
|
+
#
|
1869
|
+
# `x-amz-grant-read: id="11112222333", id="444455556666" `
|
1870
|
+
#
|
1871
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
1872
|
+
#
|
1873
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
1874
|
+
#
|
1875
|
+
# </note>
|
1876
|
+
#
|
1877
|
+
#
|
1878
|
+
#
|
1879
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
|
1880
|
+
# [2]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
|
1060
1881
|
# @option options [String] :grant_read_acp
|
1061
|
-
#
|
1882
|
+
# Specify access permissions explicitly to allows grantee to read the
|
1883
|
+
# object ACL.
|
1884
|
+
#
|
1885
|
+
# By default, all objects are private. Only the owner has full access
|
1886
|
+
# control. When uploading an object, you can use this header to
|
1887
|
+
# explicitly grant access permissions to specific Amazon Web Services
|
1888
|
+
# accounts or groups. This header maps to specific permissions that
|
1889
|
+
# Amazon S3 supports in an ACL. For more information, see [Access
|
1890
|
+
# Control List (ACL) Overview][1] in the *Amazon S3 User Guide*.
|
1891
|
+
#
|
1892
|
+
# You specify each grantee as a type=value pair, where the type is one
|
1893
|
+
# of the following:
|
1894
|
+
#
|
1895
|
+
# * `id` – if the value specified is the canonical user ID of an Amazon
|
1896
|
+
# Web Services account
|
1062
1897
|
#
|
1063
|
-
#
|
1898
|
+
# * `uri` – if you are granting permissions to a predefined group
|
1899
|
+
#
|
1900
|
+
# * `emailAddress` – if the value specified is the email address of an
|
1901
|
+
# Amazon Web Services account
|
1902
|
+
#
|
1903
|
+
# <note markdown="1"> Using email addresses to specify a grantee is only supported in the
|
1904
|
+
# following Amazon Web Services Regions:
|
1905
|
+
#
|
1906
|
+
# * US East (N. Virginia)
|
1907
|
+
#
|
1908
|
+
# * US West (N. California)
|
1909
|
+
#
|
1910
|
+
# * US West (Oregon)
|
1911
|
+
#
|
1912
|
+
# * Asia Pacific (Singapore)
|
1913
|
+
#
|
1914
|
+
# * Asia Pacific (Sydney)
|
1915
|
+
#
|
1916
|
+
# * Asia Pacific (Tokyo)
|
1917
|
+
#
|
1918
|
+
# * Europe (Ireland)
|
1919
|
+
#
|
1920
|
+
# * South America (São Paulo)
|
1921
|
+
#
|
1922
|
+
# For a list of all the Amazon S3 supported Regions and endpoints, see
|
1923
|
+
# [Regions and Endpoints][2] in the Amazon Web Services General
|
1924
|
+
# Reference.
|
1925
|
+
#
|
1926
|
+
# </note>
|
1927
|
+
#
|
1928
|
+
# For example, the following `x-amz-grant-read` header grants the Amazon
|
1929
|
+
# Web Services accounts identified by account IDs permissions to read
|
1930
|
+
# object data and its metadata:
|
1931
|
+
#
|
1932
|
+
# `x-amz-grant-read: id="11112222333", id="444455556666" `
|
1933
|
+
#
|
1934
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
1935
|
+
#
|
1936
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
1937
|
+
#
|
1938
|
+
# </note>
|
1939
|
+
#
|
1940
|
+
#
|
1941
|
+
#
|
1942
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
|
1943
|
+
# [2]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
|
1064
1944
|
# @option options [String] :grant_write_acp
|
1065
|
-
#
|
1945
|
+
# Specify access permissions explicitly to allows grantee to allow
|
1946
|
+
# grantee to write the ACL for the applicable object.
|
1947
|
+
#
|
1948
|
+
# By default, all objects are private. Only the owner has full access
|
1949
|
+
# control. When uploading an object, you can use this header to
|
1950
|
+
# explicitly grant access permissions to specific Amazon Web Services
|
1951
|
+
# accounts or groups. This header maps to specific permissions that
|
1952
|
+
# Amazon S3 supports in an ACL. For more information, see [Access
|
1953
|
+
# Control List (ACL) Overview][1] in the *Amazon S3 User Guide*.
|
1954
|
+
#
|
1955
|
+
# You specify each grantee as a type=value pair, where the type is one
|
1956
|
+
# of the following:
|
1066
1957
|
#
|
1067
|
-
#
|
1958
|
+
# * `id` – if the value specified is the canonical user ID of an Amazon
|
1959
|
+
# Web Services account
|
1960
|
+
#
|
1961
|
+
# * `uri` – if you are granting permissions to a predefined group
|
1962
|
+
#
|
1963
|
+
# * `emailAddress` – if the value specified is the email address of an
|
1964
|
+
# Amazon Web Services account
|
1965
|
+
#
|
1966
|
+
# <note markdown="1"> Using email addresses to specify a grantee is only supported in the
|
1967
|
+
# following Amazon Web Services Regions:
|
1968
|
+
#
|
1969
|
+
# * US East (N. Virginia)
|
1970
|
+
#
|
1971
|
+
# * US West (N. California)
|
1972
|
+
#
|
1973
|
+
# * US West (Oregon)
|
1974
|
+
#
|
1975
|
+
# * Asia Pacific (Singapore)
|
1976
|
+
#
|
1977
|
+
# * Asia Pacific (Sydney)
|
1978
|
+
#
|
1979
|
+
# * Asia Pacific (Tokyo)
|
1980
|
+
#
|
1981
|
+
# * Europe (Ireland)
|
1982
|
+
#
|
1983
|
+
# * South America (São Paulo)
|
1984
|
+
#
|
1985
|
+
# For a list of all the Amazon S3 supported Regions and endpoints, see
|
1986
|
+
# [Regions and Endpoints][2] in the Amazon Web Services General
|
1987
|
+
# Reference.
|
1988
|
+
#
|
1989
|
+
# </note>
|
1990
|
+
#
|
1991
|
+
# For example, the following `x-amz-grant-read` header grants the Amazon
|
1992
|
+
# Web Services accounts identified by account IDs permissions to read
|
1993
|
+
# object data and its metadata:
|
1994
|
+
#
|
1995
|
+
# `x-amz-grant-read: id="11112222333", id="444455556666" `
|
1996
|
+
#
|
1997
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
1998
|
+
#
|
1999
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
2000
|
+
#
|
2001
|
+
# </note>
|
2002
|
+
#
|
2003
|
+
#
|
2004
|
+
#
|
2005
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
|
2006
|
+
# [2]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
|
1068
2007
|
# @option options [Hash<String,String>] :metadata
|
1069
2008
|
# A map of metadata to store with the object in S3.
|
1070
2009
|
# @option options [String] :server_side_encryption
|
1071
|
-
# The server-side encryption algorithm used when
|
1072
|
-
# Amazon S3 (for example, AES256
|
2010
|
+
# The server-side encryption algorithm used when you store this object
|
2011
|
+
# in Amazon S3 (for example, `AES256`, `aws:kms`).
|
2012
|
+
#
|
2013
|
+
# <note markdown="1"> For directory buckets, only server-side encryption with Amazon S3
|
2014
|
+
# managed keys (SSE-S3) (`AES256`) is supported.
|
2015
|
+
#
|
2016
|
+
# </note>
|
1073
2017
|
# @option options [String] :storage_class
|
1074
2018
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
1075
2019
|
# created objects. The STANDARD storage class provides high durability
|
1076
2020
|
# and high availability. Depending on performance needs, you can specify
|
1077
|
-
# a different Storage Class.
|
1078
|
-
#
|
1079
|
-
#
|
2021
|
+
# a different Storage Class. For more information, see [Storage
|
2022
|
+
# Classes][1] in the *Amazon S3 User Guide*.
|
2023
|
+
#
|
2024
|
+
# <note markdown="1"> * For directory buckets, only the S3 Express One Zone storage class is
|
2025
|
+
# supported to store newly created objects.
|
2026
|
+
#
|
2027
|
+
# * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
|
2028
|
+
#
|
2029
|
+
# </note>
|
1080
2030
|
#
|
1081
2031
|
#
|
1082
2032
|
#
|
@@ -1085,70 +2035,112 @@ module Aws::S3
|
|
1085
2035
|
# If the bucket is configured as a website, redirects requests for this
|
1086
2036
|
# object to another object in the same bucket or to an external URL.
|
1087
2037
|
# Amazon S3 stores the value of this header in the object metadata.
|
2038
|
+
#
|
2039
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2040
|
+
#
|
2041
|
+
# </note>
|
1088
2042
|
# @option options [String] :sse_customer_algorithm
|
1089
|
-
# Specifies the algorithm to use
|
2043
|
+
# Specifies the algorithm to use when encrypting the object (for
|
1090
2044
|
# example, AES256).
|
2045
|
+
#
|
2046
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2047
|
+
#
|
2048
|
+
# </note>
|
1091
2049
|
# @option options [String] :sse_customer_key
|
1092
2050
|
# Specifies the customer-provided encryption key for Amazon S3 to use in
|
1093
2051
|
# encrypting data. This value is used to store the object and then it is
|
1094
2052
|
# discarded; Amazon S3 does not store the encryption key. The key must
|
1095
2053
|
# be appropriate for use with the algorithm specified in the
|
1096
2054
|
# `x-amz-server-side-encryption-customer-algorithm` header.
|
2055
|
+
#
|
2056
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2057
|
+
#
|
2058
|
+
# </note>
|
1097
2059
|
# @option options [String] :sse_customer_key_md5
|
1098
|
-
# Specifies the 128-bit MD5 digest of the encryption
|
1099
|
-
# RFC 1321. Amazon S3 uses this header for a message
|
1100
|
-
# ensure that the encryption key was transmitted
|
1101
|
-
#
|
1102
|
-
#
|
1103
|
-
#
|
1104
|
-
# Amazon Web Services KMS will fail if not made via SSL or using SigV4.
|
1105
|
-
# For information about configuring using any of the officially
|
1106
|
-
# supported Amazon Web Services SDKs and Amazon Web Services CLI, see
|
1107
|
-
# [Specifying the Signature Version in Request Authentication][1] in the
|
1108
|
-
# *Amazon S3 User Guide*.
|
2060
|
+
# Specifies the 128-bit MD5 digest of the customer-provided encryption
|
2061
|
+
# key according to RFC 1321. Amazon S3 uses this header for a message
|
2062
|
+
# integrity check to ensure that the encryption key was transmitted
|
2063
|
+
# without error.
|
2064
|
+
#
|
2065
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1109
2066
|
#
|
2067
|
+
# </note>
|
2068
|
+
# @option options [String] :ssekms_key_id
|
2069
|
+
# Specifies the ID (Key ID, Key ARN, or Key Alias) of the symmetric
|
2070
|
+
# encryption customer managed key to use for object encryption.
|
1110
2071
|
#
|
2072
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1111
2073
|
#
|
1112
|
-
#
|
2074
|
+
# </note>
|
1113
2075
|
# @option options [String] :ssekms_encryption_context
|
1114
2076
|
# Specifies the Amazon Web Services KMS Encryption Context to use for
|
1115
2077
|
# object encryption. The value of this header is a base64-encoded UTF-8
|
1116
2078
|
# string holding JSON with the encryption context key-value pairs.
|
2079
|
+
#
|
2080
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2081
|
+
#
|
2082
|
+
# </note>
|
1117
2083
|
# @option options [Boolean] :bucket_key_enabled
|
1118
2084
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
1119
|
-
# encryption with server-side encryption using
|
1120
|
-
# Setting this header to `true` causes Amazon S3
|
1121
|
-
# for object encryption with SSE-KMS.
|
2085
|
+
# encryption with server-side encryption using Key Management Service
|
2086
|
+
# (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
|
2087
|
+
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
1122
2088
|
#
|
1123
2089
|
# Specifying this header with an object action doesn’t affect
|
1124
2090
|
# bucket-level settings for S3 Bucket Key.
|
2091
|
+
#
|
2092
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2093
|
+
#
|
2094
|
+
# </note>
|
1125
2095
|
# @option options [String] :request_payer
|
1126
2096
|
# Confirms that the requester knows that they will be charged for the
|
1127
2097
|
# request. Bucket owners need not specify this parameter in their
|
1128
|
-
# requests.
|
2098
|
+
# requests. If either the source or destination S3 bucket has Requester
|
2099
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
2100
|
+
# the object. For information about downloading objects from Requester
|
1129
2101
|
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
1130
2102
|
# in the *Amazon S3 User Guide*.
|
1131
2103
|
#
|
2104
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2105
|
+
#
|
2106
|
+
# </note>
|
2107
|
+
#
|
1132
2108
|
#
|
1133
2109
|
#
|
1134
2110
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
1135
2111
|
# @option options [String] :tagging
|
1136
2112
|
# The tag-set for the object. The tag-set must be encoded as URL Query
|
1137
2113
|
# parameters.
|
2114
|
+
#
|
2115
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2116
|
+
#
|
2117
|
+
# </note>
|
1138
2118
|
# @option options [String] :object_lock_mode
|
1139
2119
|
# Specifies the Object Lock mode that you want to apply to the uploaded
|
1140
2120
|
# object.
|
2121
|
+
#
|
2122
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2123
|
+
#
|
2124
|
+
# </note>
|
1141
2125
|
# @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
|
1142
2126
|
# Specifies the date and time when you want the Object Lock to expire.
|
2127
|
+
#
|
2128
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2129
|
+
#
|
2130
|
+
# </note>
|
1143
2131
|
# @option options [String] :object_lock_legal_hold_status
|
1144
2132
|
# Specifies whether you want to apply a legal hold to the uploaded
|
1145
2133
|
# object.
|
2134
|
+
#
|
2135
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2136
|
+
#
|
2137
|
+
# </note>
|
1146
2138
|
# @option options [String] :expected_bucket_owner
|
1147
|
-
# The account ID of the expected bucket owner. If the
|
1148
|
-
#
|
1149
|
-
# Forbidden` (access denied).
|
2139
|
+
# The account ID of the expected bucket owner. If the account ID that
|
2140
|
+
# you provide does not match the actual owner of the bucket, the request
|
2141
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
1150
2142
|
# @option options [String] :checksum_algorithm
|
1151
|
-
# Indicates the algorithm you want Amazon S3 to use to create the
|
2143
|
+
# Indicates the algorithm that you want Amazon S3 to use to create the
|
1152
2144
|
# checksum for the object. For more information, see [Checking object
|
1153
2145
|
# integrity][1] in the *Amazon S3 User Guide*.
|
1154
2146
|
#
|
@@ -1161,7 +2153,9 @@ module Aws::S3
|
|
1161
2153
|
bucket: @bucket_name,
|
1162
2154
|
key: @key
|
1163
2155
|
)
|
1164
|
-
resp =
|
2156
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
2157
|
+
@client.create_multipart_upload(options)
|
2158
|
+
end
|
1165
2159
|
MultipartUpload.new(
|
1166
2160
|
bucket_name: @bucket_name,
|
1167
2161
|
object_key: @key,
|
@@ -1195,8 +2189,8 @@ module Aws::S3
|
|
1195
2189
|
# metadata: {
|
1196
2190
|
# "MetadataKey" => "MetadataValue",
|
1197
2191
|
# },
|
1198
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
1199
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
|
2192
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
2193
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
1200
2194
|
# website_redirect_location: "WebsiteRedirectLocation",
|
1201
2195
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
1202
2196
|
# sse_customer_key: "SSECustomerKey",
|
@@ -1214,13 +2208,41 @@ module Aws::S3
|
|
1214
2208
|
# @param [Hash] options ({})
|
1215
2209
|
# @option options [String] :acl
|
1216
2210
|
# The canned ACL to apply to the object. For more information, see
|
1217
|
-
# [Canned ACL][1]
|
2211
|
+
# [Canned ACL][1] in the *Amazon S3 User Guide*.
|
2212
|
+
#
|
2213
|
+
# When adding a new object, you can use headers to grant ACL-based
|
2214
|
+
# permissions to individual Amazon Web Services accounts or to
|
2215
|
+
# predefined groups defined by Amazon S3. These permissions are then
|
2216
|
+
# added to the ACL on the object. By default, all objects are private.
|
2217
|
+
# Only the owner has full access control. For more information, see
|
2218
|
+
# [Access Control List (ACL) Overview][2] and [Managing ACLs Using the
|
2219
|
+
# REST API][3] in the *Amazon S3 User Guide*.
|
2220
|
+
#
|
2221
|
+
# If the bucket that you're uploading objects to uses the bucket owner
|
2222
|
+
# enforced setting for S3 Object Ownership, ACLs are disabled and no
|
2223
|
+
# longer affect permissions. Buckets that use this setting only accept
|
2224
|
+
# PUT requests that don't specify an ACL or PUT requests that specify
|
2225
|
+
# bucket owner full control ACLs, such as the
|
2226
|
+
# `bucket-owner-full-control` canned ACL or an equivalent form of this
|
2227
|
+
# ACL expressed in the XML format. PUT requests that contain other ACLs
|
2228
|
+
# (for example, custom grants to certain Amazon Web Services accounts)
|
2229
|
+
# fail and return a `400` error with the error code
|
2230
|
+
# `AccessControlListNotSupported`. For more information, see [
|
2231
|
+
# Controlling ownership of objects and disabling ACLs][4] in the *Amazon
|
2232
|
+
# S3 User Guide*.
|
2233
|
+
#
|
2234
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
2235
|
+
#
|
2236
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
1218
2237
|
#
|
1219
|
-
#
|
2238
|
+
# </note>
|
1220
2239
|
#
|
1221
2240
|
#
|
1222
2241
|
#
|
1223
2242
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
|
2243
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
|
2244
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html
|
2245
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
|
1224
2246
|
# @option options [String, StringIO, File] :body
|
1225
2247
|
# Object data.
|
1226
2248
|
# @option options [String] :cache_control
|
@@ -1234,30 +2256,30 @@ module Aws::S3
|
|
1234
2256
|
# @option options [String] :content_disposition
|
1235
2257
|
# Specifies presentational information for the object. For more
|
1236
2258
|
# information, see
|
1237
|
-
# [
|
2259
|
+
# [https://www.rfc-editor.org/rfc/rfc6266#section-4][1].
|
1238
2260
|
#
|
1239
2261
|
#
|
1240
2262
|
#
|
1241
|
-
# [1]:
|
2263
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc6266#section-4
|
1242
2264
|
# @option options [String] :content_encoding
|
1243
2265
|
# Specifies what content encodings have been applied to the object and
|
1244
2266
|
# thus what decoding mechanisms must be applied to obtain the media-type
|
1245
2267
|
# referenced by the Content-Type header field. For more information, see
|
1246
|
-
# [
|
2268
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding][1].
|
1247
2269
|
#
|
1248
2270
|
#
|
1249
2271
|
#
|
1250
|
-
# [1]:
|
2272
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding
|
1251
2273
|
# @option options [String] :content_language
|
1252
2274
|
# The language the content is in.
|
1253
2275
|
# @option options [Integer] :content_length
|
1254
2276
|
# Size of the body in bytes. This parameter is useful when the size of
|
1255
2277
|
# the body cannot be determined automatically. For more information, see
|
1256
|
-
# [
|
2278
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length][1].
|
1257
2279
|
#
|
1258
2280
|
#
|
1259
2281
|
#
|
1260
|
-
# [1]:
|
2282
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
|
1261
2283
|
# @option options [String] :content_md5
|
1262
2284
|
# The base64-encoded 128-bit MD5 digest of the message (without the
|
1263
2285
|
# headers) according to RFC 1864. This header can be used as a message
|
@@ -1267,28 +2289,61 @@ module Aws::S3
|
|
1267
2289
|
# information about REST request authentication, see [REST
|
1268
2290
|
# Authentication][1].
|
1269
2291
|
#
|
2292
|
+
# <note markdown="1"> The `Content-MD5` header is required for any request to upload an
|
2293
|
+
# object with a retention period configured using Amazon S3 Object Lock.
|
2294
|
+
# For more information about Amazon S3 Object Lock, see [Amazon S3
|
2295
|
+
# Object Lock Overview][2] in the *Amazon S3 User Guide*.
|
2296
|
+
#
|
2297
|
+
# </note>
|
2298
|
+
#
|
2299
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2300
|
+
#
|
2301
|
+
# </note>
|
2302
|
+
#
|
1270
2303
|
#
|
1271
2304
|
#
|
1272
2305
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
|
2306
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html
|
1273
2307
|
# @option options [String] :content_type
|
1274
2308
|
# A standard MIME type describing the format of the contents. For more
|
1275
2309
|
# information, see
|
1276
|
-
# [
|
2310
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type][1].
|
1277
2311
|
#
|
1278
2312
|
#
|
1279
2313
|
#
|
1280
|
-
# [1]:
|
2314
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type
|
1281
2315
|
# @option options [String] :checksum_algorithm
|
1282
2316
|
# Indicates the algorithm used to create the checksum for the object
|
1283
|
-
# when
|
1284
|
-
# functionality if
|
1285
|
-
# must be a corresponding `x-amz-checksum` or
|
1286
|
-
# sent. Otherwise, Amazon S3 fails the request
|
1287
|
-
# `400 Bad Request`.
|
1288
|
-
# integrity][1] in the *Amazon S3 User Guide*.
|
2317
|
+
# when you use the SDK. This header will not provide any additional
|
2318
|
+
# functionality if you don't use the SDK. When you send this header,
|
2319
|
+
# there must be a corresponding `x-amz-checksum-algorithm ` or
|
2320
|
+
# `x-amz-trailer` header sent. Otherwise, Amazon S3 fails the request
|
2321
|
+
# with the HTTP status code `400 Bad Request`.
|
1289
2322
|
#
|
1290
|
-
#
|
1291
|
-
#
|
2323
|
+
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
2324
|
+
# the supported algorithm from the following list:
|
2325
|
+
#
|
2326
|
+
# * CRC32
|
2327
|
+
#
|
2328
|
+
# * CRC32C
|
2329
|
+
#
|
2330
|
+
# * SHA1
|
2331
|
+
#
|
2332
|
+
# * SHA256
|
2333
|
+
#
|
2334
|
+
# For more information, see [Checking object integrity][1] in the
|
2335
|
+
# *Amazon S3 User Guide*.
|
2336
|
+
#
|
2337
|
+
# If the individual checksum value you provide through
|
2338
|
+
# `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
|
2339
|
+
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3 ignores any
|
2340
|
+
# provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
|
2341
|
+
# that matches the provided value in `x-amz-checksum-algorithm `.
|
2342
|
+
#
|
2343
|
+
# <note markdown="1"> For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
|
2344
|
+
# is the default checksum algorithm that's used for performance.
|
2345
|
+
#
|
2346
|
+
# </note>
|
1292
2347
|
#
|
1293
2348
|
#
|
1294
2349
|
#
|
@@ -1336,40 +2391,83 @@ module Aws::S3
|
|
1336
2391
|
# @option options [Time,DateTime,Date,Integer,String] :expires
|
1337
2392
|
# The date and time at which the object is no longer cacheable. For more
|
1338
2393
|
# information, see
|
1339
|
-
# [
|
2394
|
+
# [https://www.rfc-editor.org/rfc/rfc7234#section-5.3][1].
|
1340
2395
|
#
|
1341
2396
|
#
|
1342
2397
|
#
|
1343
|
-
# [1]:
|
2398
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
|
1344
2399
|
# @option options [String] :grant_full_control
|
1345
2400
|
# Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
|
1346
2401
|
# object.
|
1347
2402
|
#
|
1348
|
-
# This
|
2403
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
2404
|
+
#
|
2405
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
2406
|
+
#
|
2407
|
+
# </note>
|
1349
2408
|
# @option options [String] :grant_read
|
1350
2409
|
# Allows grantee to read the object data and its metadata.
|
1351
2410
|
#
|
1352
|
-
# This
|
2411
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
2412
|
+
#
|
2413
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
2414
|
+
#
|
2415
|
+
# </note>
|
1353
2416
|
# @option options [String] :grant_read_acp
|
1354
2417
|
# Allows grantee to read the object ACL.
|
1355
2418
|
#
|
1356
|
-
# This
|
2419
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
2420
|
+
#
|
2421
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
2422
|
+
#
|
2423
|
+
# </note>
|
1357
2424
|
# @option options [String] :grant_write_acp
|
1358
2425
|
# Allows grantee to write the ACL for the applicable object.
|
1359
2426
|
#
|
1360
|
-
# This
|
2427
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
2428
|
+
#
|
2429
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
2430
|
+
#
|
2431
|
+
# </note>
|
1361
2432
|
# @option options [Hash<String,String>] :metadata
|
1362
2433
|
# A map of metadata to store with the object in S3.
|
1363
2434
|
# @option options [String] :server_side_encryption
|
1364
|
-
# The server-side encryption algorithm used when
|
1365
|
-
# Amazon S3 (for example, AES256
|
2435
|
+
# The server-side encryption algorithm that was used when you store this
|
2436
|
+
# object in Amazon S3 (for example, `AES256`, `aws:kms`,
|
2437
|
+
# `aws:kms:dsse`).
|
2438
|
+
#
|
2439
|
+
# <b>General purpose buckets </b> - You have four mutually exclusive
|
2440
|
+
# options to protect data using server-side encryption in Amazon S3,
|
2441
|
+
# depending on how you choose to manage the encryption keys.
|
2442
|
+
# Specifically, the encryption key options are Amazon S3 managed keys
|
2443
|
+
# (SSE-S3), Amazon Web Services KMS keys (SSE-KMS or DSSE-KMS), and
|
2444
|
+
# customer-provided keys (SSE-C). Amazon S3 encrypts data with
|
2445
|
+
# server-side encryption by using Amazon S3 managed keys (SSE-S3) by
|
2446
|
+
# default. You can optionally tell Amazon S3 to encrypt data at rest by
|
2447
|
+
# using server-side encryption with other key options. For more
|
2448
|
+
# information, see [Using Server-Side Encryption][1] in the *Amazon S3
|
2449
|
+
# User Guide*.
|
2450
|
+
#
|
2451
|
+
# <b>Directory buckets </b> - For directory buckets, only the
|
2452
|
+
# server-side encryption with Amazon S3 managed keys (SSE-S3) (`AES256`)
|
2453
|
+
# value is supported.
|
2454
|
+
#
|
2455
|
+
#
|
2456
|
+
#
|
2457
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
1366
2458
|
# @option options [String] :storage_class
|
1367
2459
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
1368
2460
|
# created objects. The STANDARD storage class provides high durability
|
1369
2461
|
# and high availability. Depending on performance needs, you can specify
|
1370
|
-
# a different Storage Class.
|
1371
|
-
#
|
1372
|
-
#
|
2462
|
+
# a different Storage Class. For more information, see [Storage
|
2463
|
+
# Classes][1] in the *Amazon S3 User Guide*.
|
2464
|
+
#
|
2465
|
+
# <note markdown="1"> * For directory buckets, only the S3 Express One Zone storage class is
|
2466
|
+
# supported to store newly created objects.
|
2467
|
+
#
|
2468
|
+
# * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
|
2469
|
+
#
|
2470
|
+
# </note>
|
1373
2471
|
#
|
1374
2472
|
#
|
1375
2473
|
#
|
@@ -1378,7 +2476,8 @@ module Aws::S3
|
|
1378
2476
|
# If the bucket is configured as a website, redirects requests for this
|
1379
2477
|
# object to another object in the same bucket or to an external URL.
|
1380
2478
|
# Amazon S3 stores the value of this header in the object metadata. For
|
1381
|
-
# information about object metadata, see [Object Key and Metadata][1]
|
2479
|
+
# information about object metadata, see [Object Key and Metadata][1] in
|
2480
|
+
# the *Amazon S3 User Guide*.
|
1382
2481
|
#
|
1383
2482
|
# In the following example, the request header sets the redirect to an
|
1384
2483
|
# object (anotherPage.html) in the same bucket:
|
@@ -1392,7 +2491,11 @@ module Aws::S3
|
|
1392
2491
|
#
|
1393
2492
|
# For more information about website hosting in Amazon S3, see [Hosting
|
1394
2493
|
# Websites on Amazon S3][2] and [How to Configure Website Page
|
1395
|
-
# Redirects][3]
|
2494
|
+
# Redirects][3] in the *Amazon S3 User Guide*.
|
2495
|
+
#
|
2496
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2497
|
+
#
|
2498
|
+
# </note>
|
1396
2499
|
#
|
1397
2500
|
#
|
1398
2501
|
#
|
@@ -1400,76 +2503,130 @@ module Aws::S3
|
|
1400
2503
|
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html
|
1401
2504
|
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html
|
1402
2505
|
# @option options [String] :sse_customer_algorithm
|
1403
|
-
# Specifies the algorithm to use
|
1404
|
-
# example, AES256).
|
2506
|
+
# Specifies the algorithm to use when encrypting the object (for
|
2507
|
+
# example, `AES256`).
|
2508
|
+
#
|
2509
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2510
|
+
#
|
2511
|
+
# </note>
|
1405
2512
|
# @option options [String] :sse_customer_key
|
1406
2513
|
# Specifies the customer-provided encryption key for Amazon S3 to use in
|
1407
2514
|
# encrypting data. This value is used to store the object and then it is
|
1408
2515
|
# discarded; Amazon S3 does not store the encryption key. The key must
|
1409
2516
|
# be appropriate for use with the algorithm specified in the
|
1410
2517
|
# `x-amz-server-side-encryption-customer-algorithm` header.
|
2518
|
+
#
|
2519
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2520
|
+
#
|
2521
|
+
# </note>
|
1411
2522
|
# @option options [String] :sse_customer_key_md5
|
1412
2523
|
# Specifies the 128-bit MD5 digest of the encryption key according to
|
1413
2524
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
1414
2525
|
# ensure that the encryption key was transmitted without error.
|
2526
|
+
#
|
2527
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2528
|
+
#
|
2529
|
+
# </note>
|
1415
2530
|
# @option options [String] :ssekms_key_id
|
1416
|
-
# If `x-amz-server-side-encryption`
|
1417
|
-
# `aws:kms`, this header specifies the ID
|
1418
|
-
# Management Service (
|
1419
|
-
# managed key that was used for the object. If you specify
|
1420
|
-
# `x-amz-server-side-encryption:aws:kms
|
2531
|
+
# If `x-amz-server-side-encryption` has a valid value of `aws:kms` or
|
2532
|
+
# `aws:kms:dsse`, this header specifies the ID (Key ID, Key ARN, or Key
|
2533
|
+
# Alias) of the Key Management Service (KMS) symmetric encryption
|
2534
|
+
# customer managed key that was used for the object. If you specify
|
2535
|
+
# `x-amz-server-side-encryption:aws:kms` or
|
2536
|
+
# `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide`
|
1421
2537
|
# x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
1422
|
-
# Amazon Web Services managed key to protect the data. If the
|
1423
|
-
# does not exist in the same account issuing the
|
1424
|
-
# the full ARN and not just the ID.
|
2538
|
+
# Amazon Web Services managed key (`aws/s3`) to protect the data. If the
|
2539
|
+
# KMS key does not exist in the same account that's issuing the
|
2540
|
+
# command, you must use the full ARN and not just the ID.
|
2541
|
+
#
|
2542
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2543
|
+
#
|
2544
|
+
# </note>
|
1425
2545
|
# @option options [String] :ssekms_encryption_context
|
1426
2546
|
# Specifies the Amazon Web Services KMS Encryption Context to use for
|
1427
2547
|
# object encryption. The value of this header is a base64-encoded UTF-8
|
1428
|
-
# string holding JSON with the encryption context key-value pairs.
|
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.
|
2553
|
+
#
|
2554
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2555
|
+
#
|
2556
|
+
# </note>
|
1429
2557
|
# @option options [Boolean] :bucket_key_enabled
|
1430
2558
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
1431
|
-
# encryption with server-side encryption using
|
1432
|
-
# Setting this header to `true` causes Amazon S3
|
1433
|
-
# for object encryption with SSE-KMS.
|
2559
|
+
# encryption with server-side encryption using Key Management Service
|
2560
|
+
# (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
|
2561
|
+
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
1434
2562
|
#
|
1435
2563
|
# Specifying this header with a PUT action doesn’t affect bucket-level
|
1436
2564
|
# settings for S3 Bucket Key.
|
2565
|
+
#
|
2566
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2567
|
+
#
|
2568
|
+
# </note>
|
1437
2569
|
# @option options [String] :request_payer
|
1438
2570
|
# Confirms that the requester knows that they will be charged for the
|
1439
2571
|
# request. Bucket owners need not specify this parameter in their
|
1440
|
-
# requests.
|
2572
|
+
# requests. If either the source or destination S3 bucket has Requester
|
2573
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
2574
|
+
# the object. For information about downloading objects from Requester
|
1441
2575
|
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
1442
2576
|
# in the *Amazon S3 User Guide*.
|
1443
2577
|
#
|
2578
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2579
|
+
#
|
2580
|
+
# </note>
|
2581
|
+
#
|
1444
2582
|
#
|
1445
2583
|
#
|
1446
2584
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
1447
2585
|
# @option options [String] :tagging
|
1448
2586
|
# The tag-set for the object. The tag-set must be encoded as URL Query
|
1449
2587
|
# parameters. (For example, "Key1=Value1")
|
2588
|
+
#
|
2589
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2590
|
+
#
|
2591
|
+
# </note>
|
1450
2592
|
# @option options [String] :object_lock_mode
|
1451
2593
|
# The Object Lock mode that you want to apply to this object.
|
2594
|
+
#
|
2595
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2596
|
+
#
|
2597
|
+
# </note>
|
1452
2598
|
# @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
|
1453
2599
|
# The date and time when you want this object's Object Lock to expire.
|
1454
2600
|
# Must be formatted as a timestamp parameter.
|
2601
|
+
#
|
2602
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2603
|
+
#
|
2604
|
+
# </note>
|
1455
2605
|
# @option options [String] :object_lock_legal_hold_status
|
1456
2606
|
# Specifies whether a legal hold will be applied to this object. For
|
1457
|
-
# more information about S3 Object Lock, see [Object Lock][1]
|
2607
|
+
# more information about S3 Object Lock, see [Object Lock][1] in the
|
2608
|
+
# *Amazon S3 User Guide*.
|
2609
|
+
#
|
2610
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2611
|
+
#
|
2612
|
+
# </note>
|
1458
2613
|
#
|
1459
2614
|
#
|
1460
2615
|
#
|
1461
2616
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
|
1462
2617
|
# @option options [String] :expected_bucket_owner
|
1463
|
-
# The account ID of the expected bucket owner. If the
|
1464
|
-
#
|
1465
|
-
# Forbidden` (access denied).
|
2618
|
+
# The account ID of the expected bucket owner. If the account ID that
|
2619
|
+
# you provide does not match the actual owner of the bucket, the request
|
2620
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
1466
2621
|
# @return [Types::PutObjectOutput]
|
1467
2622
|
def put(options = {})
|
1468
2623
|
options = options.merge(
|
1469
2624
|
bucket: @bucket_name,
|
1470
2625
|
key: @key
|
1471
2626
|
)
|
1472
|
-
resp =
|
2627
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
2628
|
+
@client.put_object(options)
|
2629
|
+
end
|
1473
2630
|
resp.data
|
1474
2631
|
end
|
1475
2632
|
|
@@ -1523,7 +2680,7 @@ module Aws::S3
|
|
1523
2680
|
# bucket_name: "BucketName", # required
|
1524
2681
|
# prefix: "LocationPrefix", # required
|
1525
2682
|
# encryption: {
|
1526
|
-
# encryption_type: "AES256", # required, accepts AES256, aws:kms
|
2683
|
+
# encryption_type: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
|
1527
2684
|
# kms_key_id: "SSEKMSKeyId",
|
1528
2685
|
# kms_context: "KMSContext",
|
1529
2686
|
# },
|
@@ -1554,7 +2711,7 @@ module Aws::S3
|
|
1554
2711
|
# value: "MetadataValue",
|
1555
2712
|
# },
|
1556
2713
|
# ],
|
1557
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
|
2714
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
1558
2715
|
# },
|
1559
2716
|
# },
|
1560
2717
|
# },
|
@@ -1570,21 +2727,27 @@ module Aws::S3
|
|
1570
2727
|
# @option options [String] :request_payer
|
1571
2728
|
# Confirms that the requester knows that they will be charged for the
|
1572
2729
|
# request. Bucket owners need not specify this parameter in their
|
1573
|
-
# requests.
|
2730
|
+
# requests. If either the source or destination S3 bucket has Requester
|
2731
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
2732
|
+
# the object. For information about downloading objects from Requester
|
1574
2733
|
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
1575
2734
|
# in the *Amazon S3 User Guide*.
|
1576
2735
|
#
|
2736
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2737
|
+
#
|
2738
|
+
# </note>
|
2739
|
+
#
|
1577
2740
|
#
|
1578
2741
|
#
|
1579
2742
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
1580
2743
|
# @option options [String] :checksum_algorithm
|
1581
2744
|
# Indicates the algorithm used to create the checksum for the object
|
1582
|
-
# when
|
1583
|
-
# functionality if
|
1584
|
-
# must be a corresponding `x-amz-checksum` or `x-amz-trailer`
|
1585
|
-
# sent. Otherwise, Amazon S3 fails the request with the HTTP
|
1586
|
-
# `400 Bad Request`. For more information, see [Checking
|
1587
|
-
# integrity][1] in the *Amazon S3 User Guide*.
|
2745
|
+
# when you use the SDK. This header will not provide any additional
|
2746
|
+
# functionality if you don't use the SDK. When you send this header,
|
2747
|
+
# there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
|
2748
|
+
# header sent. Otherwise, Amazon S3 fails the request with the HTTP
|
2749
|
+
# status code `400 Bad Request`. For more information, see [Checking
|
2750
|
+
# object integrity][1] in the *Amazon S3 User Guide*.
|
1588
2751
|
#
|
1589
2752
|
# If you provide an individual checksum, Amazon S3 ignores any provided
|
1590
2753
|
# `ChecksumAlgorithm` parameter.
|
@@ -1593,16 +2756,18 @@ module Aws::S3
|
|
1593
2756
|
#
|
1594
2757
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
1595
2758
|
# @option options [String] :expected_bucket_owner
|
1596
|
-
# The account ID of the expected bucket owner. If the
|
1597
|
-
#
|
1598
|
-
# Forbidden` (access denied).
|
2759
|
+
# The account ID of the expected bucket owner. If the account ID that
|
2760
|
+
# you provide does not match the actual owner of the bucket, the request
|
2761
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
1599
2762
|
# @return [Types::RestoreObjectOutput]
|
1600
2763
|
def restore_object(options = {})
|
1601
2764
|
options = options.merge(
|
1602
2765
|
bucket: @bucket_name,
|
1603
2766
|
key: @key
|
1604
2767
|
)
|
1605
|
-
resp =
|
2768
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
2769
|
+
@client.restore_object(options)
|
2770
|
+
end
|
1606
2771
|
resp.data
|
1607
2772
|
end
|
1608
2773
|
|
@@ -1614,6 +2779,12 @@ module Aws::S3
|
|
1614
2779
|
# if_none_match: "IfNoneMatch",
|
1615
2780
|
# if_unmodified_since: Time.now,
|
1616
2781
|
# range: "Range",
|
2782
|
+
# response_cache_control: "ResponseCacheControl",
|
2783
|
+
# response_content_disposition: "ResponseContentDisposition",
|
2784
|
+
# response_content_encoding: "ResponseContentEncoding",
|
2785
|
+
# response_content_language: "ResponseContentLanguage",
|
2786
|
+
# response_content_type: "ResponseContentType",
|
2787
|
+
# response_expires: Time.now,
|
1617
2788
|
# version_id: "ObjectVersionId",
|
1618
2789
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
1619
2790
|
# sse_customer_key: "SSECustomerKey",
|
@@ -1627,40 +2798,137 @@ module Aws::S3
|
|
1627
2798
|
# @option options [String] :if_match
|
1628
2799
|
# Return the object only if its entity tag (ETag) is the same as the one
|
1629
2800
|
# specified; otherwise, return a 412 (precondition failed) error.
|
2801
|
+
#
|
2802
|
+
# If both of the `If-Match` and `If-Unmodified-Since` headers are
|
2803
|
+
# present in the request as follows:
|
2804
|
+
#
|
2805
|
+
# * `If-Match` condition evaluates to `true`, and;
|
2806
|
+
#
|
2807
|
+
# * `If-Unmodified-Since` condition evaluates to `false`;
|
2808
|
+
#
|
2809
|
+
# Then Amazon S3 returns `200 OK` and the data requested.
|
2810
|
+
#
|
2811
|
+
# For more information about conditional requests, see [RFC 7232][1].
|
2812
|
+
#
|
2813
|
+
#
|
2814
|
+
#
|
2815
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
1630
2816
|
# @option options [Time,DateTime,Date,Integer,String] :if_modified_since
|
1631
2817
|
# Return the object only if it has been modified since the specified
|
1632
2818
|
# time; otherwise, return a 304 (not modified) error.
|
2819
|
+
#
|
2820
|
+
# If both of the `If-None-Match` and `If-Modified-Since` headers are
|
2821
|
+
# present in the request as follows:
|
2822
|
+
#
|
2823
|
+
# * `If-None-Match` condition evaluates to `false`, and;
|
2824
|
+
#
|
2825
|
+
# * `If-Modified-Since` condition evaluates to `true`;
|
2826
|
+
#
|
2827
|
+
# Then Amazon S3 returns the `304 Not Modified` response code.
|
2828
|
+
#
|
2829
|
+
# For more information about conditional requests, see [RFC 7232][1].
|
2830
|
+
#
|
2831
|
+
#
|
2832
|
+
#
|
2833
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
1633
2834
|
# @option options [String] :if_none_match
|
1634
2835
|
# Return the object only if its entity tag (ETag) is different from the
|
1635
2836
|
# one specified; otherwise, return a 304 (not modified) error.
|
2837
|
+
#
|
2838
|
+
# If both of the `If-None-Match` and `If-Modified-Since` headers are
|
2839
|
+
# present in the request as follows:
|
2840
|
+
#
|
2841
|
+
# * `If-None-Match` condition evaluates to `false`, and;
|
2842
|
+
#
|
2843
|
+
# * `If-Modified-Since` condition evaluates to `true`;
|
2844
|
+
#
|
2845
|
+
# Then Amazon S3 returns the `304 Not Modified` response code.
|
2846
|
+
#
|
2847
|
+
# For more information about conditional requests, see [RFC 7232][1].
|
2848
|
+
#
|
2849
|
+
#
|
2850
|
+
#
|
2851
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
1636
2852
|
# @option options [Time,DateTime,Date,Integer,String] :if_unmodified_since
|
1637
2853
|
# Return the object only if it has not been modified since the specified
|
1638
2854
|
# time; otherwise, return a 412 (precondition failed) error.
|
2855
|
+
#
|
2856
|
+
# If both of the `If-Match` and `If-Unmodified-Since` headers are
|
2857
|
+
# present in the request as follows:
|
2858
|
+
#
|
2859
|
+
# * `If-Match` condition evaluates to `true`, and;
|
2860
|
+
#
|
2861
|
+
# * `If-Unmodified-Since` condition evaluates to `false`;
|
2862
|
+
#
|
2863
|
+
# Then Amazon S3 returns `200 OK` and the data requested.
|
2864
|
+
#
|
2865
|
+
# For more information about conditional requests, see [RFC 7232][1].
|
2866
|
+
#
|
2867
|
+
#
|
2868
|
+
#
|
2869
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
1639
2870
|
# @option options [String] :range
|
1640
|
-
#
|
1641
|
-
#
|
2871
|
+
# HeadObject returns only the metadata for an object. If the Range is
|
2872
|
+
# satisfiable, only the `ContentLength` is affected in the response. If
|
2873
|
+
# the Range is not satisfiable, S3 returns a `416 - Requested Range Not
|
2874
|
+
# Satisfiable` error.
|
2875
|
+
# @option options [String] :response_cache_control
|
2876
|
+
# Sets the `Cache-Control` header of the response.
|
2877
|
+
# @option options [String] :response_content_disposition
|
2878
|
+
# Sets the `Content-Disposition` header of the response.
|
2879
|
+
# @option options [String] :response_content_encoding
|
2880
|
+
# Sets the `Content-Encoding` header of the response.
|
2881
|
+
# @option options [String] :response_content_language
|
2882
|
+
# Sets the `Content-Language` header of the response.
|
2883
|
+
# @option options [String] :response_content_type
|
2884
|
+
# Sets the `Content-Type` header of the response.
|
2885
|
+
# @option options [Time,DateTime,Date,Integer,String] :response_expires
|
2886
|
+
# Sets the `Expires` header of the response.
|
1642
2887
|
# @option options [String] :version_id
|
1643
|
-
#
|
2888
|
+
# Version ID used to reference a specific version of the object.
|
2889
|
+
#
|
2890
|
+
# <note markdown="1"> For directory buckets in this API operation, only the `null` value of
|
2891
|
+
# the version ID is supported.
|
2892
|
+
#
|
2893
|
+
# </note>
|
1644
2894
|
# @option options [String] :sse_customer_algorithm
|
1645
|
-
# Specifies the algorithm to use
|
2895
|
+
# Specifies the algorithm to use when encrypting the object (for
|
1646
2896
|
# example, AES256).
|
2897
|
+
#
|
2898
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2899
|
+
#
|
2900
|
+
# </note>
|
1647
2901
|
# @option options [String] :sse_customer_key
|
1648
2902
|
# Specifies the customer-provided encryption key for Amazon S3 to use in
|
1649
2903
|
# encrypting data. This value is used to store the object and then it is
|
1650
2904
|
# discarded; Amazon S3 does not store the encryption key. The key must
|
1651
2905
|
# be appropriate for use with the algorithm specified in the
|
1652
2906
|
# `x-amz-server-side-encryption-customer-algorithm` header.
|
2907
|
+
#
|
2908
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2909
|
+
#
|
2910
|
+
# </note>
|
1653
2911
|
# @option options [String] :sse_customer_key_md5
|
1654
2912
|
# Specifies the 128-bit MD5 digest of the encryption key according to
|
1655
2913
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
1656
2914
|
# ensure that the encryption key was transmitted without error.
|
2915
|
+
#
|
2916
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2917
|
+
#
|
2918
|
+
# </note>
|
1657
2919
|
# @option options [String] :request_payer
|
1658
2920
|
# Confirms that the requester knows that they will be charged for the
|
1659
2921
|
# request. Bucket owners need not specify this parameter in their
|
1660
|
-
# requests.
|
2922
|
+
# requests. If either the source or destination S3 bucket has Requester
|
2923
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
2924
|
+
# the object. For information about downloading objects from Requester
|
1661
2925
|
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
1662
2926
|
# in the *Amazon S3 User Guide*.
|
1663
2927
|
#
|
2928
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2929
|
+
#
|
2930
|
+
# </note>
|
2931
|
+
#
|
1664
2932
|
#
|
1665
2933
|
#
|
1666
2934
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
@@ -1670,9 +2938,9 @@ module Aws::S3
|
|
1670
2938
|
# for the part specified. Useful querying about the size of the part and
|
1671
2939
|
# the number of parts in this object.
|
1672
2940
|
# @option options [String] :expected_bucket_owner
|
1673
|
-
# The account ID of the expected bucket owner. If the
|
1674
|
-
#
|
1675
|
-
# Forbidden` (access denied).
|
2941
|
+
# The account ID of the expected bucket owner. If the account ID that
|
2942
|
+
# you provide does not match the actual owner of the bucket, the request
|
2943
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
1676
2944
|
# @option options [String] :checksum_mode
|
1677
2945
|
# To retrieve the checksum, this parameter must be enabled.
|
1678
2946
|
#
|
@@ -1686,7 +2954,9 @@ module Aws::S3
|
|
1686
2954
|
bucket: @bucket_name,
|
1687
2955
|
key: @key
|
1688
2956
|
)
|
1689
|
-
resp =
|
2957
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
2958
|
+
@client.head_object(options)
|
2959
|
+
end
|
1690
2960
|
resp.data
|
1691
2961
|
end
|
1692
2962
|
|
@@ -1811,13 +3081,36 @@ module Aws::S3
|
|
1811
3081
|
# space, and the value that is displayed on your authentication device.
|
1812
3082
|
# Required to permanently delete a versioned object if versioning is
|
1813
3083
|
# configured with MFA delete enabled.
|
3084
|
+
#
|
3085
|
+
# When performing the `DeleteObjects` operation on an MFA delete enabled
|
3086
|
+
# bucket, which attempts to delete the specified versioned objects, you
|
3087
|
+
# must include an MFA token. If you don't provide an MFA token, the
|
3088
|
+
# entire request will fail, even if there are non-versioned objects that
|
3089
|
+
# you are trying to delete. If you provide an invalid token, whether
|
3090
|
+
# there are versioned object keys in the request or not, the entire
|
3091
|
+
# Multi-Object Delete request will fail. For information about MFA
|
3092
|
+
# Delete, see [ MFA Delete][1] in the *Amazon S3 User Guide*.
|
3093
|
+
#
|
3094
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
3095
|
+
#
|
3096
|
+
# </note>
|
3097
|
+
#
|
3098
|
+
#
|
3099
|
+
#
|
3100
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete
|
1814
3101
|
# @option options [String] :request_payer
|
1815
3102
|
# Confirms that the requester knows that they will be charged for the
|
1816
3103
|
# request. Bucket owners need not specify this parameter in their
|
1817
|
-
# requests.
|
3104
|
+
# requests. If either the source or destination S3 bucket has Requester
|
3105
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
3106
|
+
# the object. For information about downloading objects from Requester
|
1818
3107
|
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
1819
3108
|
# in the *Amazon S3 User Guide*.
|
1820
3109
|
#
|
3110
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
3111
|
+
#
|
3112
|
+
# </note>
|
3113
|
+
#
|
1821
3114
|
#
|
1822
3115
|
#
|
1823
3116
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
@@ -1825,25 +3118,45 @@ module Aws::S3
|
|
1825
3118
|
# Specifies whether you want to delete this object even if it has a
|
1826
3119
|
# Governance-type Object Lock in place. To use this header, you must
|
1827
3120
|
# have the `s3:BypassGovernanceRetention` permission.
|
3121
|
+
#
|
3122
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
3123
|
+
#
|
3124
|
+
# </note>
|
1828
3125
|
# @option options [String] :expected_bucket_owner
|
1829
|
-
# The account ID of the expected bucket owner. If the
|
1830
|
-
#
|
1831
|
-
# Forbidden` (access denied).
|
3126
|
+
# The account ID of the expected bucket owner. If the account ID that
|
3127
|
+
# you provide does not match the actual owner of the bucket, the request
|
3128
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
1832
3129
|
# @option options [String] :checksum_algorithm
|
1833
3130
|
# Indicates the algorithm used to create the checksum for the object
|
1834
|
-
# when
|
1835
|
-
# functionality if
|
1836
|
-
# must be a corresponding `x-amz-checksum` or
|
1837
|
-
# sent. Otherwise, Amazon S3 fails the request
|
1838
|
-
# `400 Bad Request`.
|
1839
|
-
#
|
3131
|
+
# when you use the SDK. This header will not provide any additional
|
3132
|
+
# functionality if you don't use the SDK. When you send this header,
|
3133
|
+
# there must be a corresponding `x-amz-checksum-algorithm ` or
|
3134
|
+
# `x-amz-trailer` header sent. Otherwise, Amazon S3 fails the request
|
3135
|
+
# with the HTTP status code `400 Bad Request`.
|
3136
|
+
#
|
3137
|
+
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
3138
|
+
# the supported algorithm from the following list:
|
3139
|
+
#
|
3140
|
+
# * CRC32
|
3141
|
+
#
|
3142
|
+
# * CRC32C
|
3143
|
+
#
|
3144
|
+
# * SHA1
|
3145
|
+
#
|
3146
|
+
# * SHA256
|
3147
|
+
#
|
3148
|
+
# For more information, see [Checking object integrity][1] in the
|
3149
|
+
# *Amazon S3 User Guide*.
|
3150
|
+
#
|
3151
|
+
# If the individual checksum value you provide through
|
3152
|
+
# `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
|
3153
|
+
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3 ignores any
|
3154
|
+
# provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
|
3155
|
+
# that matches the provided value in `x-amz-checksum-algorithm `.
|
1840
3156
|
#
|
1841
3157
|
# If you provide an individual checksum, Amazon S3 ignores any provided
|
1842
3158
|
# `ChecksumAlgorithm` parameter.
|
1843
3159
|
#
|
1844
|
-
# This checksum algorithm must be the same for all parts and it match
|
1845
|
-
# the checksum value supplied in the `CreateMultipartUpload` request.
|
1846
|
-
#
|
1847
3160
|
#
|
1848
3161
|
#
|
1849
3162
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
@@ -1859,7 +3172,9 @@ module Aws::S3
|
|
1859
3172
|
key: item.key
|
1860
3173
|
}
|
1861
3174
|
end
|
1862
|
-
|
3175
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
3176
|
+
batch[0].client.delete_objects(params)
|
3177
|
+
end
|
1863
3178
|
end
|
1864
3179
|
nil
|
1865
3180
|
end
|