aws-sdk-s3 1.109.0 → 1.156.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 +352 -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 +241 -0
- data/lib/aws-sdk-s3/bucket.rb +585 -110
- data/lib/aws-sdk-s3/bucket_acl.rb +28 -6
- data/lib/aws-sdk-s3/bucket_cors.rb +34 -10
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +34 -10
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +34 -10
- data/lib/aws-sdk-s3/bucket_logging.rb +35 -6
- data/lib/aws-sdk-s3/bucket_notification.rb +12 -6
- data/lib/aws-sdk-s3/bucket_policy.rb +78 -10
- data/lib/aws-sdk-s3/bucket_region_cache.rb +9 -5
- data/lib/aws-sdk-s3/bucket_request_payment.rb +28 -6
- data/lib/aws-sdk-s3/bucket_tagging.rb +34 -10
- data/lib/aws-sdk-s3/bucket_versioning.rb +72 -14
- data/lib/aws-sdk-s3/bucket_website.rb +34 -10
- data/lib/aws-sdk-s3/client.rb +7900 -3252
- data/lib/aws-sdk-s3/client_api.rb +706 -228
- data/lib/aws-sdk-s3/customizations/bucket.rb +23 -47
- data/lib/aws-sdk-s3/customizations/errors.rb +40 -0
- data/lib/aws-sdk-s3/customizations/object.rb +97 -21
- data/lib/aws-sdk-s3/customizations/types/permanent_redirect.rb +26 -0
- data/lib/aws-sdk-s3/customizations.rb +10 -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 +186 -0
- data/lib/aws-sdk-s3/endpoint_provider.rb +592 -0
- data/lib/aws-sdk-s3/endpoints.rb +2689 -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 +170 -45
- data/lib/aws-sdk-s3/file_uploader.rb +11 -4
- data/lib/aws-sdk-s3/multipart_file_uploader.rb +30 -11
- data/lib/aws-sdk-s3/multipart_stream_uploader.rb +46 -17
- data/lib/aws-sdk-s3/multipart_upload.rb +194 -19
- data/lib/aws-sdk-s3/multipart_upload_part.rb +280 -30
- data/lib/aws-sdk-s3/object.rb +1753 -266
- data/lib/aws-sdk-s3/object_acl.rb +49 -13
- data/lib/aws-sdk-s3/object_copier.rb +7 -5
- data/lib/aws-sdk-s3/object_multipart_copier.rb +46 -22
- data/lib/aws-sdk-s3/object_summary.rb +1497 -221
- data/lib/aws-sdk-s3/object_version.rb +383 -58
- data/lib/aws-sdk-s3/plugins/accelerate.rb +3 -50
- data/lib/aws-sdk-s3/plugins/access_grants.rb +114 -0
- data/lib/aws-sdk-s3/plugins/arn.rb +0 -184
- data/lib/aws-sdk-s3/plugins/bucket_dns.rb +3 -39
- data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +1 -6
- data/lib/aws-sdk-s3/plugins/dualstack.rb +1 -49
- data/lib/aws-sdk-s3/plugins/endpoints.rb +274 -0
- data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +2 -1
- 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/iad_regional_endpoint.rb +6 -29
- data/lib/aws-sdk-s3/plugins/location_constraint.rb +3 -1
- data/lib/aws-sdk-s3/plugins/md5s.rb +6 -3
- data/lib/aws-sdk-s3/plugins/s3_signer.rb +42 -126
- data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
- data/lib/aws-sdk-s3/plugins/streaming_retry.rb +23 -2
- data/lib/aws-sdk-s3/presigned_post.rb +99 -78
- data/lib/aws-sdk-s3/presigner.rb +28 -37
- data/lib/aws-sdk-s3/resource.rb +89 -13
- data/lib/aws-sdk-s3/types.rb +6544 -4909
- data/lib/aws-sdk-s3.rb +5 -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 +2381 -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 +127 -0
- data/sig/types.rbs +2568 -0
- data/sig/waiters.rbs +95 -0
- metadata +50 -16
- data/lib/aws-sdk-s3/arn/access_point_arn.rb +0 -69
- data/lib/aws-sdk-s3/arn/multi_region_access_point_arn.rb +0 -68
- data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +0 -69
- data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +0 -74
- data/lib/aws-sdk-s3/plugins/object_lambda_endpoint.rb +0 -25
@@ -66,12 +66,24 @@ module Aws::S3
|
|
66
66
|
#
|
67
67
|
# * If an object is created by either the Multipart Upload or Part Copy
|
68
68
|
# operation, the ETag is not an MD5 digest, regardless of the method
|
69
|
-
# of encryption.
|
69
|
+
# of encryption. If an object is larger than 16 MB, the Amazon Web
|
70
|
+
# Services Management Console will upload or copy that object as a
|
71
|
+
# Multipart Upload, and therefore the ETag will not be an MD5 digest.
|
72
|
+
#
|
73
|
+
# <note markdown="1"> **Directory buckets** - MD5 is not supported by directory buckets.
|
74
|
+
#
|
75
|
+
# </note>
|
70
76
|
# @return [String]
|
71
77
|
def etag
|
72
78
|
data[:etag]
|
73
79
|
end
|
74
80
|
|
81
|
+
# The algorithm that was used to create a checksum of the object.
|
82
|
+
# @return [Array<String>]
|
83
|
+
def checksum_algorithm
|
84
|
+
data[:checksum_algorithm]
|
85
|
+
end
|
86
|
+
|
75
87
|
# Size in bytes of the object
|
76
88
|
# @return [Integer]
|
77
89
|
def size
|
@@ -79,17 +91,47 @@ module Aws::S3
|
|
79
91
|
end
|
80
92
|
|
81
93
|
# The class of storage used to store the object.
|
94
|
+
#
|
95
|
+
# <note markdown="1"> **Directory buckets** - Only the S3 Express One Zone storage class is
|
96
|
+
# supported by directory buckets to store objects.
|
97
|
+
#
|
98
|
+
# </note>
|
82
99
|
# @return [String]
|
83
100
|
def storage_class
|
84
101
|
data[:storage_class]
|
85
102
|
end
|
86
103
|
|
87
104
|
# The owner of the object
|
105
|
+
#
|
106
|
+
# <note markdown="1"> **Directory buckets** - The bucket owner is returned as the object
|
107
|
+
# owner.
|
108
|
+
#
|
109
|
+
# </note>
|
88
110
|
# @return [Types::Owner]
|
89
111
|
def owner
|
90
112
|
data[:owner]
|
91
113
|
end
|
92
114
|
|
115
|
+
# Specifies the restoration status of an object. Objects in certain
|
116
|
+
# storage classes must be restored before they can be retrieved. For
|
117
|
+
# more information about these storage classes and how to work with
|
118
|
+
# archived objects, see [ Working with archived objects][1] in the
|
119
|
+
# *Amazon S3 User Guide*.
|
120
|
+
#
|
121
|
+
# <note markdown="1"> This functionality is not supported for directory buckets. Only the S3
|
122
|
+
# Express One Zone storage class is supported by directory buckets to
|
123
|
+
# store objects.
|
124
|
+
#
|
125
|
+
# </note>
|
126
|
+
#
|
127
|
+
#
|
128
|
+
#
|
129
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/archived-objects.html
|
130
|
+
# @return [Types::RestoreStatus]
|
131
|
+
def restore_status
|
132
|
+
data[:restore_status]
|
133
|
+
end
|
134
|
+
|
93
135
|
# @!endgroup
|
94
136
|
|
95
137
|
# @return [Client]
|
@@ -144,8 +186,10 @@ module Aws::S3
|
|
144
186
|
options, params = separate_params_and_options(options)
|
145
187
|
waiter = Waiters::ObjectExists.new(options)
|
146
188
|
yield_waiter_and_warn(waiter, &block) if block_given?
|
147
|
-
|
189
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
190
|
+
waiter.wait(params.merge(bucket: @bucket_name,
|
148
191
|
key: @key))
|
192
|
+
end
|
149
193
|
ObjectSummary.new({
|
150
194
|
bucket_name: @bucket_name,
|
151
195
|
key: @key,
|
@@ -163,8 +207,10 @@ module Aws::S3
|
|
163
207
|
options, params = separate_params_and_options(options)
|
164
208
|
waiter = Waiters::ObjectNotExists.new(options)
|
165
209
|
yield_waiter_and_warn(waiter, &block) if block_given?
|
166
|
-
|
210
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
211
|
+
waiter.wait(params.merge(bucket: @bucket_name,
|
167
212
|
key: @key))
|
213
|
+
end
|
168
214
|
ObjectSummary.new({
|
169
215
|
bucket_name: @bucket_name,
|
170
216
|
key: @key,
|
@@ -266,7 +312,9 @@ module Aws::S3
|
|
266
312
|
:retry
|
267
313
|
end
|
268
314
|
end
|
269
|
-
Aws::
|
315
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
316
|
+
Aws::Waiters::Waiter.new(options).wait({})
|
317
|
+
end
|
270
318
|
end
|
271
319
|
|
272
320
|
# @!group Actions
|
@@ -276,6 +324,7 @@ module Aws::S3
|
|
276
324
|
# object_summary.copy_from({
|
277
325
|
# acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
|
278
326
|
# cache_control: "CacheControl",
|
327
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
279
328
|
# content_disposition: "ContentDisposition",
|
280
329
|
# content_encoding: "ContentEncoding",
|
281
330
|
# content_language: "ContentLanguage",
|
@@ -295,8 +344,8 @@ module Aws::S3
|
|
295
344
|
# },
|
296
345
|
# metadata_directive: "COPY", # accepts COPY, REPLACE
|
297
346
|
# tagging_directive: "COPY", # accepts COPY, REPLACE
|
298
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
299
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
|
347
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
348
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
300
349
|
# website_redirect_location: "WebsiteRedirectLocation",
|
301
350
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
302
351
|
# sse_customer_key: "SSECustomerKey",
|
@@ -317,32 +366,98 @@ module Aws::S3
|
|
317
366
|
# })
|
318
367
|
# @param [Hash] options ({})
|
319
368
|
# @option options [String] :acl
|
320
|
-
# The canned ACL to apply to the object.
|
369
|
+
# The canned access control list (ACL) to apply to the object.
|
370
|
+
#
|
371
|
+
# When you copy an object, the ACL metadata is not preserved and is set
|
372
|
+
# to `private` by default. Only the owner has full access control. To
|
373
|
+
# override the default ACL setting, specify a new ACL when you generate
|
374
|
+
# a copy request. For more information, see [Using ACLs][1].
|
375
|
+
#
|
376
|
+
# If the destination bucket that you're copying objects to uses the
|
377
|
+
# bucket owner enforced setting for S3 Object Ownership, ACLs are
|
378
|
+
# disabled and no longer affect permissions. Buckets that use this
|
379
|
+
# setting only accept `PUT` requests that don't specify an ACL or `PUT`
|
380
|
+
# requests that specify bucket owner full control ACLs, such as the
|
381
|
+
# `bucket-owner-full-control` canned ACL or an equivalent form of this
|
382
|
+
# ACL expressed in the XML format. For more information, see
|
383
|
+
# [Controlling ownership of objects and disabling ACLs][2] in the
|
384
|
+
# *Amazon S3 User Guide*.
|
385
|
+
#
|
386
|
+
# <note markdown="1"> * If your destination bucket uses the bucket owner enforced setting
|
387
|
+
# for Object Ownership, all objects written to the bucket by any
|
388
|
+
# account will be owned by the bucket owner.
|
389
|
+
#
|
390
|
+
# * This functionality is not supported for directory buckets.
|
391
|
+
#
|
392
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
321
393
|
#
|
322
|
-
#
|
394
|
+
# </note>
|
395
|
+
#
|
396
|
+
#
|
397
|
+
#
|
398
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
|
399
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
|
323
400
|
# @option options [String] :cache_control
|
324
|
-
# Specifies caching behavior along the request/reply chain.
|
401
|
+
# Specifies the caching behavior along the request/reply chain.
|
402
|
+
# @option options [String] :checksum_algorithm
|
403
|
+
# Indicates the algorithm that you want Amazon S3 to use to create the
|
404
|
+
# checksum for the object. For more information, see [Checking object
|
405
|
+
# integrity][1] in the *Amazon S3 User Guide*.
|
406
|
+
#
|
407
|
+
# When you copy an object, if the source object has a checksum, that
|
408
|
+
# checksum value will be copied to the new object by default. If the
|
409
|
+
# `CopyObject` request does not include this `x-amz-checksum-algorithm`
|
410
|
+
# header, the checksum algorithm will be copied from the source object
|
411
|
+
# to the destination object (if it's present on the source object). You
|
412
|
+
# can optionally specify a different checksum algorithm to use with the
|
413
|
+
# `x-amz-checksum-algorithm` header. Unrecognized or unsupported values
|
414
|
+
# will respond with the HTTP status code `400 Bad Request`.
|
415
|
+
#
|
416
|
+
# <note markdown="1"> For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
|
417
|
+
# is the default checksum algorithm that's used for performance.
|
418
|
+
#
|
419
|
+
# </note>
|
420
|
+
#
|
421
|
+
#
|
422
|
+
#
|
423
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
325
424
|
# @option options [String] :content_disposition
|
326
|
-
# Specifies presentational information for the object.
|
425
|
+
# Specifies presentational information for the object. Indicates whether
|
426
|
+
# an object should be displayed in a web browser or downloaded as a
|
427
|
+
# file. It allows specifying the desired filename for the downloaded
|
428
|
+
# file.
|
327
429
|
# @option options [String] :content_encoding
|
328
430
|
# Specifies what content encodings have been applied to the object and
|
329
431
|
# thus what decoding mechanisms must be applied to obtain the media-type
|
330
432
|
# referenced by the Content-Type header field.
|
433
|
+
#
|
434
|
+
# <note markdown="1"> For directory buckets, only the `aws-chunked` value is supported in
|
435
|
+
# this header field.
|
436
|
+
#
|
437
|
+
# </note>
|
331
438
|
# @option options [String] :content_language
|
332
439
|
# The language the content is in.
|
333
440
|
# @option options [String] :content_type
|
334
|
-
# A standard MIME type
|
441
|
+
# A standard MIME type that describes the format of the object data.
|
335
442
|
# @option options [required, String] :copy_source
|
336
|
-
# Specifies the source object for the copy operation.
|
337
|
-
#
|
338
|
-
# the
|
443
|
+
# Specifies the source object for the copy operation. The source object
|
444
|
+
# can be up to 5 GB. If the source object is an object that was uploaded
|
445
|
+
# by using a multipart upload, the object copy will be a single part
|
446
|
+
# object after the source object is copied to the destination bucket.
|
447
|
+
#
|
448
|
+
# You specify the value of the copy source in one of two formats,
|
449
|
+
# depending on whether you want to access the source object through an
|
450
|
+
# [access point][1]:
|
339
451
|
#
|
340
452
|
# * For objects not accessed through an access point, specify the name
|
341
453
|
# of the source bucket and the key of the source object, separated by
|
342
454
|
# a slash (/). For example, to copy the object `reports/january.pdf`
|
343
|
-
# from the bucket `awsexamplebucket`, use
|
344
|
-
# `awsexamplebucket/reports/january.pdf`. The value must be
|
345
|
-
# encoded.
|
455
|
+
# from the general purpose bucket `awsexamplebucket`, use
|
456
|
+
# `awsexamplebucket/reports/january.pdf`. The value must be
|
457
|
+
# URL-encoded. To copy the object `reports/january.pdf` from the
|
458
|
+
# directory bucket `awsexamplebucket--use1-az5--x-s3`, use
|
459
|
+
# `awsexamplebucket--use1-az5--x-s3/reports/january.pdf`. The value
|
460
|
+
# must be URL-encoded.
|
346
461
|
#
|
347
462
|
# * For objects accessed through access points, specify the Amazon
|
348
463
|
# Resource Name (ARN) of the object as accessed through the access
|
@@ -354,9 +469,11 @@ module Aws::S3
|
|
354
469
|
# `arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf`.
|
355
470
|
# The value must be URL encoded.
|
356
471
|
#
|
357
|
-
# <note markdown="1"> Amazon S3 supports copy operations using
|
358
|
-
#
|
359
|
-
#
|
472
|
+
# <note markdown="1"> * Amazon S3 supports copy operations using Access points only when
|
473
|
+
# the source and destination buckets are in the same Amazon Web
|
474
|
+
# Services Region.
|
475
|
+
#
|
476
|
+
# * Access points are not supported by directory buckets.
|
360
477
|
#
|
361
478
|
# </note>
|
362
479
|
#
|
@@ -367,93 +484,329 @@ module Aws::S3
|
|
367
484
|
# outpost `my-outpost` owned by account `123456789012` in Region
|
368
485
|
# `us-west-2`, use the URL encoding of
|
369
486
|
# `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
|
370
|
-
# The value must be URL
|
371
|
-
#
|
372
|
-
#
|
373
|
-
#
|
487
|
+
# The value must be URL-encoded.
|
488
|
+
#
|
489
|
+
# If your source bucket versioning is enabled, the `x-amz-copy-source`
|
490
|
+
# header by default identifies the current version of an object to copy.
|
491
|
+
# If the current version is a delete marker, Amazon S3 behaves as if the
|
492
|
+
# object was deleted. To copy a different version, use the `versionId`
|
493
|
+
# query parameter. Specifically, append `?versionId=<version-id>` to the
|
494
|
+
# value (for example,
|
374
495
|
# `awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893`).
|
375
496
|
# If you don't specify a version ID, Amazon S3 copies the latest
|
376
497
|
# version of the source object.
|
377
498
|
#
|
499
|
+
# If you enable versioning on the destination bucket, Amazon S3
|
500
|
+
# generates a unique version ID for the copied object. This version ID
|
501
|
+
# is different from the version ID of the source object. Amazon S3
|
502
|
+
# returns the version ID of the copied object in the `x-amz-version-id`
|
503
|
+
# response header in the response.
|
504
|
+
#
|
505
|
+
# If you do not enable versioning or suspend it on the destination
|
506
|
+
# bucket, the version ID that Amazon S3 generates in the
|
507
|
+
# `x-amz-version-id` response header is always null.
|
508
|
+
#
|
509
|
+
# <note markdown="1"> **Directory buckets** - S3 Versioning isn't enabled and supported for
|
510
|
+
# directory buckets.
|
511
|
+
#
|
512
|
+
# </note>
|
513
|
+
#
|
378
514
|
#
|
379
515
|
#
|
380
516
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html
|
381
517
|
# @option options [String] :copy_source_if_match
|
382
518
|
# Copies the object if its entity tag (ETag) matches the specified tag.
|
519
|
+
#
|
520
|
+
# If both the `x-amz-copy-source-if-match` and
|
521
|
+
# `x-amz-copy-source-if-unmodified-since` headers are present in the
|
522
|
+
# request and evaluate as follows, Amazon S3 returns `200 OK` and copies
|
523
|
+
# the data:
|
524
|
+
#
|
525
|
+
# * `x-amz-copy-source-if-match` condition evaluates to true
|
526
|
+
#
|
527
|
+
# * `x-amz-copy-source-if-unmodified-since` condition evaluates to false
|
383
528
|
# @option options [Time,DateTime,Date,Integer,String] :copy_source_if_modified_since
|
384
529
|
# Copies the object if it has been modified since the specified time.
|
530
|
+
#
|
531
|
+
# If both the `x-amz-copy-source-if-none-match` and
|
532
|
+
# `x-amz-copy-source-if-modified-since` headers are present in the
|
533
|
+
# request and evaluate as follows, Amazon S3 returns the `412
|
534
|
+
# Precondition Failed` response code:
|
535
|
+
#
|
536
|
+
# * `x-amz-copy-source-if-none-match` condition evaluates to false
|
537
|
+
#
|
538
|
+
# * `x-amz-copy-source-if-modified-since` condition evaluates to true
|
385
539
|
# @option options [String] :copy_source_if_none_match
|
386
540
|
# Copies the object if its entity tag (ETag) is different than the
|
387
541
|
# specified ETag.
|
542
|
+
#
|
543
|
+
# If both the `x-amz-copy-source-if-none-match` and
|
544
|
+
# `x-amz-copy-source-if-modified-since` headers are present in the
|
545
|
+
# request and evaluate as follows, Amazon S3 returns the `412
|
546
|
+
# Precondition Failed` response code:
|
547
|
+
#
|
548
|
+
# * `x-amz-copy-source-if-none-match` condition evaluates to false
|
549
|
+
#
|
550
|
+
# * `x-amz-copy-source-if-modified-since` condition evaluates to true
|
388
551
|
# @option options [Time,DateTime,Date,Integer,String] :copy_source_if_unmodified_since
|
389
552
|
# Copies the object if it hasn't been modified since the specified
|
390
553
|
# time.
|
554
|
+
#
|
555
|
+
# If both the `x-amz-copy-source-if-match` and
|
556
|
+
# `x-amz-copy-source-if-unmodified-since` headers are present in the
|
557
|
+
# request and evaluate as follows, Amazon S3 returns `200 OK` and copies
|
558
|
+
# the data:
|
559
|
+
#
|
560
|
+
# * `x-amz-copy-source-if-match` condition evaluates to true
|
561
|
+
#
|
562
|
+
# * `x-amz-copy-source-if-unmodified-since` condition evaluates to false
|
391
563
|
# @option options [Time,DateTime,Date,Integer,String] :expires
|
392
564
|
# The date and time at which the object is no longer cacheable.
|
393
565
|
# @option options [String] :grant_full_control
|
394
566
|
# Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
|
395
567
|
# object.
|
396
568
|
#
|
397
|
-
# This
|
569
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
570
|
+
#
|
571
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
572
|
+
#
|
573
|
+
# </note>
|
398
574
|
# @option options [String] :grant_read
|
399
575
|
# Allows grantee to read the object data and its metadata.
|
400
576
|
#
|
401
|
-
# This
|
577
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
578
|
+
#
|
579
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
580
|
+
#
|
581
|
+
# </note>
|
402
582
|
# @option options [String] :grant_read_acp
|
403
583
|
# Allows grantee to read the object ACL.
|
404
584
|
#
|
405
|
-
# This
|
585
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
586
|
+
#
|
587
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
588
|
+
#
|
589
|
+
# </note>
|
406
590
|
# @option options [String] :grant_write_acp
|
407
591
|
# Allows grantee to write the ACL for the applicable object.
|
408
592
|
#
|
409
|
-
# This
|
593
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
594
|
+
#
|
595
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
596
|
+
#
|
597
|
+
# </note>
|
410
598
|
# @option options [Hash<String,String>] :metadata
|
411
599
|
# A map of metadata to store with the object in S3.
|
412
600
|
# @option options [String] :metadata_directive
|
413
601
|
# Specifies whether the metadata is copied from the source object or
|
414
|
-
# replaced with metadata provided in the request.
|
602
|
+
# replaced with metadata that's provided in the request. When copying
|
603
|
+
# an object, you can preserve all metadata (the default) or specify new
|
604
|
+
# metadata. If this header isn’t specified, `COPY` is the default
|
605
|
+
# behavior.
|
606
|
+
#
|
607
|
+
# **General purpose bucket** - For general purpose buckets, when you
|
608
|
+
# grant permissions, you can use the `s3:x-amz-metadata-directive`
|
609
|
+
# condition key to enforce certain metadata behavior when objects are
|
610
|
+
# uploaded. For more information, see [Amazon S3 condition key
|
611
|
+
# examples][1] in the *Amazon S3 User Guide*.
|
612
|
+
#
|
613
|
+
# <note markdown="1"> `x-amz-website-redirect-location` is unique to each object and is not
|
614
|
+
# copied when using the `x-amz-metadata-directive` header. To copy the
|
615
|
+
# value, you must specify `x-amz-website-redirect-location` in the
|
616
|
+
# request header.
|
617
|
+
#
|
618
|
+
# </note>
|
619
|
+
#
|
620
|
+
#
|
621
|
+
#
|
622
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/amazon-s3-policy-keys.html
|
415
623
|
# @option options [String] :tagging_directive
|
416
|
-
# Specifies whether the object tag-set
|
417
|
-
# or replaced with tag-set provided in the request.
|
624
|
+
# Specifies whether the object tag-set is copied from the source object
|
625
|
+
# or replaced with the tag-set that's provided in the request.
|
626
|
+
#
|
627
|
+
# The default value is `COPY`.
|
628
|
+
#
|
629
|
+
# <note markdown="1"> **Directory buckets** - For directory buckets in a `CopyObject`
|
630
|
+
# operation, only the empty tag-set is supported. Any requests that
|
631
|
+
# attempt to write non-empty tags into directory buckets will receive a
|
632
|
+
# `501 Not Implemented` status code. When the destination bucket is a
|
633
|
+
# directory bucket, you will receive a `501 Not Implemented` response in
|
634
|
+
# any of the following situations:
|
635
|
+
#
|
636
|
+
# * When you attempt to `COPY` the tag-set from an S3 source object that
|
637
|
+
# has non-empty tags.
|
638
|
+
#
|
639
|
+
# * When you attempt to `REPLACE` the tag-set of a source object and set
|
640
|
+
# a non-empty value to `x-amz-tagging`.
|
641
|
+
#
|
642
|
+
# * When you don't set the `x-amz-tagging-directive` header and the
|
643
|
+
# source object has non-empty tags. This is because the default value
|
644
|
+
# of `x-amz-tagging-directive` is `COPY`.
|
645
|
+
#
|
646
|
+
# Because only the empty tag-set is supported for directory buckets in a
|
647
|
+
# `CopyObject` operation, the following situations are allowed:
|
648
|
+
#
|
649
|
+
# * When you attempt to `COPY` the tag-set from a directory bucket
|
650
|
+
# source object that has no tags to a general purpose bucket. It
|
651
|
+
# copies an empty tag-set to the destination object.
|
652
|
+
#
|
653
|
+
# * When you attempt to `REPLACE` the tag-set of a directory bucket
|
654
|
+
# source object and set the `x-amz-tagging` value of the directory
|
655
|
+
# bucket destination object to empty.
|
656
|
+
#
|
657
|
+
# * When you attempt to `REPLACE` the tag-set of a general purpose
|
658
|
+
# bucket source object that has non-empty tags and set the
|
659
|
+
# `x-amz-tagging` value of the directory bucket destination object to
|
660
|
+
# empty.
|
661
|
+
#
|
662
|
+
# * When you attempt to `REPLACE` the tag-set of a directory bucket
|
663
|
+
# source object and don't set the `x-amz-tagging` value of the
|
664
|
+
# directory bucket destination object. This is because the default
|
665
|
+
# value of `x-amz-tagging` is the empty value.
|
666
|
+
#
|
667
|
+
# </note>
|
418
668
|
# @option options [String] :server_side_encryption
|
419
669
|
# The server-side encryption algorithm used when storing this object in
|
420
|
-
# Amazon S3 (for example, AES256
|
670
|
+
# Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
|
671
|
+
# Unrecognized or unsupported values won’t write a destination object
|
672
|
+
# and will receive a `400 Bad Request` response.
|
673
|
+
#
|
674
|
+
# Amazon S3 automatically encrypts all new objects that are copied to an
|
675
|
+
# S3 bucket. When copying an object, if you don't specify encryption
|
676
|
+
# information in your copy request, the encryption setting of the target
|
677
|
+
# object is set to the default encryption configuration of the
|
678
|
+
# destination bucket. By default, all buckets have a base level of
|
679
|
+
# encryption configuration that uses server-side encryption with Amazon
|
680
|
+
# S3 managed keys (SSE-S3). If the destination bucket has a default
|
681
|
+
# encryption configuration that uses server-side encryption with Key
|
682
|
+
# Management Service (KMS) keys (SSE-KMS), dual-layer server-side
|
683
|
+
# encryption with Amazon Web Services KMS keys (DSSE-KMS), or
|
684
|
+
# server-side encryption with customer-provided encryption keys (SSE-C),
|
685
|
+
# Amazon S3 uses the corresponding KMS key, or a customer-provided key
|
686
|
+
# to encrypt the target object copy.
|
687
|
+
#
|
688
|
+
# When you perform a `CopyObject` operation, if you want to use a
|
689
|
+
# different type of encryption setting for the target object, you can
|
690
|
+
# specify appropriate encryption-related headers to encrypt the target
|
691
|
+
# object with an Amazon S3 managed key, a KMS key, or a
|
692
|
+
# customer-provided key. If the encryption setting in your request is
|
693
|
+
# different from the default encryption configuration of the destination
|
694
|
+
# bucket, the encryption setting in your request takes precedence.
|
695
|
+
#
|
696
|
+
# With server-side encryption, Amazon S3 encrypts your data as it writes
|
697
|
+
# your data to disks in its data centers and decrypts the data when you
|
698
|
+
# access it. For more information about server-side encryption, see
|
699
|
+
# [Using Server-Side Encryption][1] in the *Amazon S3 User Guide*.
|
700
|
+
#
|
701
|
+
# <note markdown="1"> For directory buckets, only server-side encryption with Amazon S3
|
702
|
+
# managed keys (SSE-S3) (`AES256`) is supported.
|
703
|
+
#
|
704
|
+
# </note>
|
705
|
+
#
|
706
|
+
#
|
707
|
+
#
|
708
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
|
421
709
|
# @option options [String] :storage_class
|
422
|
-
#
|
423
|
-
#
|
424
|
-
#
|
425
|
-
#
|
426
|
-
#
|
710
|
+
# If the `x-amz-storage-class` header is not used, the copied object
|
711
|
+
# will be stored in the `STANDARD` Storage Class by default. The
|
712
|
+
# `STANDARD` storage class provides high durability and high
|
713
|
+
# availability. Depending on performance needs, you can specify a
|
714
|
+
# different Storage Class.
|
715
|
+
#
|
716
|
+
# <note markdown="1"> * <b>Directory buckets </b> - For directory buckets, only the S3
|
717
|
+
# Express One Zone storage class is supported to store newly created
|
718
|
+
# objects. Unsupported storage class values won't write a destination
|
719
|
+
# object and will respond with the HTTP status code `400 Bad Request`.
|
720
|
+
#
|
721
|
+
# * <b>Amazon S3 on Outposts </b> - S3 on Outposts only uses the
|
722
|
+
# `OUTPOSTS` Storage Class.
|
723
|
+
#
|
724
|
+
# </note>
|
725
|
+
#
|
726
|
+
# You can use the `CopyObject` action to change the storage class of an
|
727
|
+
# object that is already stored in Amazon S3 by using the
|
728
|
+
# `x-amz-storage-class` header. For more information, see [Storage
|
729
|
+
# Classes][1] in the *Amazon S3 User Guide*.
|
730
|
+
#
|
731
|
+
# Before using an object as a source object for the copy operation, you
|
732
|
+
# must restore a copy of it if it meets any of the following conditions:
|
733
|
+
#
|
734
|
+
# * The storage class of the source object is `GLACIER` or
|
735
|
+
# `DEEP_ARCHIVE`.
|
736
|
+
#
|
737
|
+
# * The storage class of the source object is `INTELLIGENT_TIERING` and
|
738
|
+
# it's [S3 Intelligent-Tiering access tier][2] is `Archive Access` or
|
739
|
+
# `Deep Archive Access`.
|
740
|
+
#
|
741
|
+
# For more information, see [RestoreObject][3] and [Copying Objects][4]
|
427
742
|
# in the *Amazon S3 User Guide*.
|
428
743
|
#
|
429
744
|
#
|
430
745
|
#
|
431
746
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
|
747
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/intelligent-tiering-overview.html#intel-tiering-tier-definition
|
748
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
|
749
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html
|
432
750
|
# @option options [String] :website_redirect_location
|
433
|
-
# If the bucket is configured as a website, redirects
|
434
|
-
# object to another object in the same bucket or
|
435
|
-
# Amazon S3 stores the value of this header in the
|
751
|
+
# If the destination bucket is configured as a website, redirects
|
752
|
+
# requests for this object copy to another object in the same bucket or
|
753
|
+
# to an external URL. Amazon S3 stores the value of this header in the
|
754
|
+
# object metadata. This value is unique to each object and is not copied
|
755
|
+
# when using the `x-amz-metadata-directive` header. Instead, you may opt
|
756
|
+
# to provide this header in combination with the
|
757
|
+
# `x-amz-metadata-directive` header.
|
758
|
+
#
|
759
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
760
|
+
#
|
761
|
+
# </note>
|
436
762
|
# @option options [String] :sse_customer_algorithm
|
437
|
-
# Specifies the algorithm to use
|
438
|
-
# example, AES256).
|
763
|
+
# Specifies the algorithm to use when encrypting the object (for
|
764
|
+
# example, `AES256`).
|
765
|
+
#
|
766
|
+
# When you perform a `CopyObject` operation, if you want to use a
|
767
|
+
# different type of encryption setting for the target object, you can
|
768
|
+
# specify appropriate encryption-related headers to encrypt the target
|
769
|
+
# object with an Amazon S3 managed key, a KMS key, or a
|
770
|
+
# customer-provided key. If the encryption setting in your request is
|
771
|
+
# different from the default encryption configuration of the destination
|
772
|
+
# bucket, the encryption setting in your request takes precedence.
|
773
|
+
#
|
774
|
+
# <note markdown="1"> This functionality is not supported when the destination bucket is a
|
775
|
+
# directory bucket.
|
776
|
+
#
|
777
|
+
# </note>
|
439
778
|
# @option options [String] :sse_customer_key
|
440
779
|
# Specifies the customer-provided encryption key for Amazon S3 to use in
|
441
780
|
# encrypting data. This value is used to store the object and then it is
|
442
|
-
# discarded
|
781
|
+
# discarded. Amazon S3 does not store the encryption key. The key must
|
443
782
|
# be appropriate for use with the algorithm specified in the
|
444
783
|
# `x-amz-server-side-encryption-customer-algorithm` header.
|
784
|
+
#
|
785
|
+
# <note markdown="1"> This functionality is not supported when the destination bucket is a
|
786
|
+
# directory bucket.
|
787
|
+
#
|
788
|
+
# </note>
|
445
789
|
# @option options [String] :sse_customer_key_md5
|
446
790
|
# Specifies the 128-bit MD5 digest of the encryption key according to
|
447
791
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
448
792
|
# ensure that the encryption key was transmitted without error.
|
793
|
+
#
|
794
|
+
# <note markdown="1"> This functionality is not supported when the destination bucket is a
|
795
|
+
# directory bucket.
|
796
|
+
#
|
797
|
+
# </note>
|
449
798
|
# @option options [String] :ssekms_key_id
|
450
|
-
# Specifies the
|
451
|
-
# encryption. All GET and PUT requests for an object protected by
|
452
|
-
#
|
453
|
-
#
|
454
|
-
#
|
455
|
-
#
|
456
|
-
#
|
799
|
+
# Specifies the KMS ID (Key ID, Key ARN, or Key Alias) to use for object
|
800
|
+
# encryption. All GET and PUT requests for an object protected by KMS
|
801
|
+
# will fail if they're not made via SSL or using SigV4. For information
|
802
|
+
# about configuring any of the officially supported Amazon Web Services
|
803
|
+
# SDKs and Amazon Web Services CLI, see [Specifying the Signature
|
804
|
+
# Version in Request Authentication][1] in the *Amazon S3 User Guide*.
|
805
|
+
#
|
806
|
+
# <note markdown="1"> This functionality is not supported when the destination bucket is a
|
807
|
+
# directory bucket.
|
808
|
+
#
|
809
|
+
# </note>
|
457
810
|
#
|
458
811
|
#
|
459
812
|
#
|
@@ -461,62 +814,177 @@ module Aws::S3
|
|
461
814
|
# @option options [String] :ssekms_encryption_context
|
462
815
|
# Specifies the Amazon Web Services KMS Encryption Context to use for
|
463
816
|
# object encryption. The value of this header is a base64-encoded UTF-8
|
464
|
-
# string holding JSON with the encryption context key-value pairs.
|
817
|
+
# string holding JSON with the encryption context key-value pairs. This
|
818
|
+
# value must be explicitly added to specify encryption context for
|
819
|
+
# `CopyObject` requests.
|
820
|
+
#
|
821
|
+
# <note markdown="1"> This functionality is not supported when the destination bucket is a
|
822
|
+
# directory bucket.
|
823
|
+
#
|
824
|
+
# </note>
|
465
825
|
# @option options [Boolean] :bucket_key_enabled
|
466
826
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
467
|
-
# encryption with server-side encryption using
|
827
|
+
# encryption with server-side encryption using Key Management Service
|
828
|
+
# (KMS) keys (SSE-KMS). If a target object uses SSE-KMS, you can enable
|
829
|
+
# an S3 Bucket Key for the object.
|
830
|
+
#
|
468
831
|
# Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
|
469
|
-
# for object encryption with SSE-KMS.
|
832
|
+
# for object encryption with SSE-KMS. Specifying this header with a COPY
|
833
|
+
# action doesn’t affect bucket-level settings for S3 Bucket Key.
|
470
834
|
#
|
471
|
-
#
|
472
|
-
#
|
835
|
+
# For more information, see [Amazon S3 Bucket Keys][1] in the *Amazon S3
|
836
|
+
# User Guide*.
|
837
|
+
#
|
838
|
+
# <note markdown="1"> This functionality is not supported when the destination bucket is a
|
839
|
+
# directory bucket.
|
840
|
+
#
|
841
|
+
# </note>
|
842
|
+
#
|
843
|
+
#
|
844
|
+
#
|
845
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
|
473
846
|
# @option options [String] :copy_source_sse_customer_algorithm
|
474
847
|
# Specifies the algorithm to use when decrypting the source object (for
|
475
|
-
# example, AES256).
|
848
|
+
# example, `AES256`).
|
849
|
+
#
|
850
|
+
# If the source object for the copy is stored in Amazon S3 using SSE-C,
|
851
|
+
# you must provide the necessary encryption information in your request
|
852
|
+
# so that Amazon S3 can decrypt the object for copying.
|
853
|
+
#
|
854
|
+
# <note markdown="1"> This functionality is not supported when the source object is in a
|
855
|
+
# directory bucket.
|
856
|
+
#
|
857
|
+
# </note>
|
476
858
|
# @option options [String] :copy_source_sse_customer_key
|
477
859
|
# Specifies the customer-provided encryption key for Amazon S3 to use to
|
478
860
|
# decrypt the source object. The encryption key provided in this header
|
479
|
-
# must be one that was used when the source object was created.
|
861
|
+
# must be the same one that was used when the source object was created.
|
862
|
+
#
|
863
|
+
# If the source object for the copy is stored in Amazon S3 using SSE-C,
|
864
|
+
# you must provide the necessary encryption information in your request
|
865
|
+
# so that Amazon S3 can decrypt the object for copying.
|
866
|
+
#
|
867
|
+
# <note markdown="1"> This functionality is not supported when the source object is in a
|
868
|
+
# directory bucket.
|
869
|
+
#
|
870
|
+
# </note>
|
480
871
|
# @option options [String] :copy_source_sse_customer_key_md5
|
481
872
|
# Specifies the 128-bit MD5 digest of the encryption key according to
|
482
873
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
483
874
|
# ensure that the encryption key was transmitted without error.
|
875
|
+
#
|
876
|
+
# If the source object for the copy is stored in Amazon S3 using SSE-C,
|
877
|
+
# you must provide the necessary encryption information in your request
|
878
|
+
# so that Amazon S3 can decrypt the object for copying.
|
879
|
+
#
|
880
|
+
# <note markdown="1"> This functionality is not supported when the source object is in a
|
881
|
+
# directory bucket.
|
882
|
+
#
|
883
|
+
# </note>
|
484
884
|
# @option options [String] :request_payer
|
485
885
|
# Confirms that the requester knows that they will be charged for the
|
486
886
|
# request. Bucket owners need not specify this parameter in their
|
487
|
-
# requests.
|
488
|
-
#
|
887
|
+
# requests. If either the source or destination S3 bucket has Requester
|
888
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
889
|
+
# the object. For information about downloading objects from Requester
|
890
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
489
891
|
# in the *Amazon S3 User Guide*.
|
490
892
|
#
|
893
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
894
|
+
#
|
895
|
+
# </note>
|
896
|
+
#
|
491
897
|
#
|
492
898
|
#
|
493
899
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
494
900
|
# @option options [String] :tagging
|
495
|
-
# The tag-set for the object
|
496
|
-
# in conjunction with the `
|
497
|
-
#
|
901
|
+
# The tag-set for the object copy in the destination bucket. This value
|
902
|
+
# must be used in conjunction with the `x-amz-tagging-directive` if you
|
903
|
+
# choose `REPLACE` for the `x-amz-tagging-directive`. If you choose
|
904
|
+
# `COPY` for the `x-amz-tagging-directive`, you don't need to set the
|
905
|
+
# `x-amz-tagging` header, because the tag-set will be copied from the
|
906
|
+
# source object directly. The tag-set must be encoded as URL Query
|
907
|
+
# parameters.
|
908
|
+
#
|
909
|
+
# The default value is the empty value.
|
910
|
+
#
|
911
|
+
# <note markdown="1"> **Directory buckets** - For directory buckets in a `CopyObject`
|
912
|
+
# operation, only the empty tag-set is supported. Any requests that
|
913
|
+
# attempt to write non-empty tags into directory buckets will receive a
|
914
|
+
# `501 Not Implemented` status code. When the destination bucket is a
|
915
|
+
# directory bucket, you will receive a `501 Not Implemented` response in
|
916
|
+
# any of the following situations:
|
917
|
+
#
|
918
|
+
# * When you attempt to `COPY` the tag-set from an S3 source object that
|
919
|
+
# has non-empty tags.
|
920
|
+
#
|
921
|
+
# * When you attempt to `REPLACE` the tag-set of a source object and set
|
922
|
+
# a non-empty value to `x-amz-tagging`.
|
923
|
+
#
|
924
|
+
# * When you don't set the `x-amz-tagging-directive` header and the
|
925
|
+
# source object has non-empty tags. This is because the default value
|
926
|
+
# of `x-amz-tagging-directive` is `COPY`.
|
927
|
+
#
|
928
|
+
# Because only the empty tag-set is supported for directory buckets in a
|
929
|
+
# `CopyObject` operation, the following situations are allowed:
|
930
|
+
#
|
931
|
+
# * When you attempt to `COPY` the tag-set from a directory bucket
|
932
|
+
# source object that has no tags to a general purpose bucket. It
|
933
|
+
# copies an empty tag-set to the destination object.
|
934
|
+
#
|
935
|
+
# * When you attempt to `REPLACE` the tag-set of a directory bucket
|
936
|
+
# source object and set the `x-amz-tagging` value of the directory
|
937
|
+
# bucket destination object to empty.
|
938
|
+
#
|
939
|
+
# * When you attempt to `REPLACE` the tag-set of a general purpose
|
940
|
+
# bucket source object that has non-empty tags and set the
|
941
|
+
# `x-amz-tagging` value of the directory bucket destination object to
|
942
|
+
# empty.
|
943
|
+
#
|
944
|
+
# * When you attempt to `REPLACE` the tag-set of a directory bucket
|
945
|
+
# source object and don't set the `x-amz-tagging` value of the
|
946
|
+
# directory bucket destination object. This is because the default
|
947
|
+
# value of `x-amz-tagging` is the empty value.
|
948
|
+
#
|
949
|
+
# </note>
|
498
950
|
# @option options [String] :object_lock_mode
|
499
|
-
# The Object Lock mode that you want to apply to the
|
951
|
+
# The Object Lock mode that you want to apply to the object copy.
|
952
|
+
#
|
953
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
954
|
+
#
|
955
|
+
# </note>
|
500
956
|
# @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
|
501
|
-
# The date and time when you want the
|
957
|
+
# The date and time when you want the Object Lock of the object copy to
|
502
958
|
# expire.
|
959
|
+
#
|
960
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
961
|
+
#
|
962
|
+
# </note>
|
503
963
|
# @option options [String] :object_lock_legal_hold_status
|
504
|
-
# Specifies whether you want to apply a
|
964
|
+
# Specifies whether you want to apply a legal hold to the object copy.
|
965
|
+
#
|
966
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
967
|
+
#
|
968
|
+
# </note>
|
505
969
|
# @option options [String] :expected_bucket_owner
|
506
970
|
# The account ID of the expected destination bucket owner. If the
|
507
|
-
#
|
508
|
-
#
|
971
|
+
# account ID that you provide does not match the actual owner of the
|
972
|
+
# destination bucket, the request fails with the HTTP status code `403
|
973
|
+
# Forbidden` (access denied).
|
509
974
|
# @option options [String] :expected_source_bucket_owner
|
510
|
-
# The account ID of the expected source bucket owner. If the
|
511
|
-
#
|
512
|
-
# HTTP `403
|
975
|
+
# The account ID of the expected source bucket owner. If the account ID
|
976
|
+
# that you provide does not match the actual owner of the source bucket,
|
977
|
+
# the request fails with the HTTP status code `403 Forbidden` (access
|
978
|
+
# denied).
|
513
979
|
# @return [Types::CopyObjectOutput]
|
514
980
|
def copy_from(options = {})
|
515
981
|
options = options.merge(
|
516
982
|
bucket: @bucket_name,
|
517
983
|
key: @key
|
518
984
|
)
|
519
|
-
resp =
|
985
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
986
|
+
@client.copy_object(options)
|
987
|
+
end
|
520
988
|
resp.data
|
521
989
|
end
|
522
990
|
|
@@ -535,33 +1003,54 @@ module Aws::S3
|
|
535
1003
|
# space, and the value that is displayed on your authentication device.
|
536
1004
|
# Required to permanently delete a versioned object if versioning is
|
537
1005
|
# configured with MFA delete enabled.
|
1006
|
+
#
|
1007
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1008
|
+
#
|
1009
|
+
# </note>
|
538
1010
|
# @option options [String] :version_id
|
539
|
-
#
|
1011
|
+
# Version ID used to reference a specific version of the object.
|
1012
|
+
#
|
1013
|
+
# <note markdown="1"> For directory buckets in this API operation, only the `null` value of
|
1014
|
+
# the version ID is supported.
|
1015
|
+
#
|
1016
|
+
# </note>
|
540
1017
|
# @option options [String] :request_payer
|
541
1018
|
# Confirms that the requester knows that they will be charged for the
|
542
1019
|
# request. Bucket owners need not specify this parameter in their
|
543
|
-
# requests.
|
544
|
-
#
|
1020
|
+
# requests. If either the source or destination S3 bucket has Requester
|
1021
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
1022
|
+
# the object. For information about downloading objects from Requester
|
1023
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
545
1024
|
# in the *Amazon S3 User Guide*.
|
546
1025
|
#
|
1026
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1027
|
+
#
|
1028
|
+
# </note>
|
1029
|
+
#
|
547
1030
|
#
|
548
1031
|
#
|
549
1032
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
550
1033
|
# @option options [Boolean] :bypass_governance_retention
|
551
1034
|
# Indicates whether S3 Object Lock should bypass Governance-mode
|
552
1035
|
# restrictions to process this operation. To use this header, you must
|
553
|
-
# have the `s3:
|
1036
|
+
# have the `s3:BypassGovernanceRetention` permission.
|
1037
|
+
#
|
1038
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1039
|
+
#
|
1040
|
+
# </note>
|
554
1041
|
# @option options [String] :expected_bucket_owner
|
555
|
-
# The account ID of the expected bucket owner. If the
|
556
|
-
#
|
557
|
-
#
|
1042
|
+
# The account ID of the expected bucket owner. If the account ID that
|
1043
|
+
# you provide does not match the actual owner of the bucket, the request
|
1044
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
558
1045
|
# @return [Types::DeleteObjectOutput]
|
559
1046
|
def delete(options = {})
|
560
1047
|
options = options.merge(
|
561
1048
|
bucket: @bucket_name,
|
562
1049
|
key: @key
|
563
1050
|
)
|
564
|
-
resp =
|
1051
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
1052
|
+
@client.delete_object(options)
|
1053
|
+
end
|
565
1054
|
resp.data
|
566
1055
|
end
|
567
1056
|
|
@@ -586,24 +1075,71 @@ module Aws::S3
|
|
586
1075
|
# request_payer: "requester", # accepts requester
|
587
1076
|
# part_number: 1,
|
588
1077
|
# expected_bucket_owner: "AccountId",
|
1078
|
+
# checksum_mode: "ENABLED", # accepts ENABLED
|
589
1079
|
# })
|
590
1080
|
# @param [Hash] options ({})
|
591
1081
|
# @option options [String] :if_match
|
592
1082
|
# Return the object only if its entity tag (ETag) is the same as the one
|
593
|
-
# specified
|
1083
|
+
# specified in this header; otherwise, return a `412 Precondition
|
1084
|
+
# Failed` error.
|
1085
|
+
#
|
1086
|
+
# If both of the `If-Match` and `If-Unmodified-Since` headers are
|
1087
|
+
# present in the request as follows: `If-Match` condition evaluates to
|
1088
|
+
# `true`, and; `If-Unmodified-Since` condition evaluates to `false`;
|
1089
|
+
# then, S3 returns `200 OK` and the data requested.
|
1090
|
+
#
|
1091
|
+
# For more information about conditional requests, see [RFC 7232][1].
|
1092
|
+
#
|
1093
|
+
#
|
1094
|
+
#
|
1095
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
594
1096
|
# @option options [Time,DateTime,Date,Integer,String] :if_modified_since
|
595
1097
|
# Return the object only if it has been modified since the specified
|
596
|
-
# time
|
1098
|
+
# time; otherwise, return a `304 Not Modified` error.
|
1099
|
+
#
|
1100
|
+
# If both of the `If-None-Match` and `If-Modified-Since` headers are
|
1101
|
+
# present in the request as follows:` If-None-Match` condition evaluates
|
1102
|
+
# to `false`, and; `If-Modified-Since` condition evaluates to `true`;
|
1103
|
+
# then, S3 returns `304 Not Modified` status code.
|
1104
|
+
#
|
1105
|
+
# For more information about conditional requests, see [RFC 7232][1].
|
1106
|
+
#
|
1107
|
+
#
|
1108
|
+
#
|
1109
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
597
1110
|
# @option options [String] :if_none_match
|
598
1111
|
# Return the object only if its entity tag (ETag) is different from the
|
599
|
-
# one specified
|
1112
|
+
# one specified in this header; otherwise, return a `304 Not Modified`
|
1113
|
+
# error.
|
1114
|
+
#
|
1115
|
+
# If both of the `If-None-Match` and `If-Modified-Since` headers are
|
1116
|
+
# present in the request as follows:` If-None-Match` condition evaluates
|
1117
|
+
# to `false`, and; `If-Modified-Since` condition evaluates to `true`;
|
1118
|
+
# then, S3 returns `304 Not Modified` HTTP status code.
|
1119
|
+
#
|
1120
|
+
# For more information about conditional requests, see [RFC 7232][1].
|
1121
|
+
#
|
1122
|
+
#
|
1123
|
+
#
|
1124
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
600
1125
|
# @option options [Time,DateTime,Date,Integer,String] :if_unmodified_since
|
601
1126
|
# Return the object only if it has not been modified since the specified
|
602
|
-
# time
|
1127
|
+
# time; otherwise, return a `412 Precondition Failed` error.
|
1128
|
+
#
|
1129
|
+
# If both of the `If-Match` and `If-Unmodified-Since` headers are
|
1130
|
+
# present in the request as follows: `If-Match` condition evaluates to
|
1131
|
+
# `true`, and; `If-Unmodified-Since` condition evaluates to `false`;
|
1132
|
+
# then, S3 returns `200 OK` and the data requested.
|
1133
|
+
#
|
1134
|
+
# For more information about conditional requests, see [RFC 7232][1].
|
1135
|
+
#
|
1136
|
+
#
|
1137
|
+
#
|
1138
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
603
1139
|
# @option options [String] :range
|
604
|
-
# Downloads the specified range
|
1140
|
+
# Downloads the specified byte range of an object. For more information
|
605
1141
|
# about the HTTP Range header, see
|
606
|
-
# [https://www.
|
1142
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#name-range][1].
|
607
1143
|
#
|
608
1144
|
# <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
|
609
1145
|
# `GET` request.
|
@@ -612,11 +1148,11 @@ module Aws::S3
|
|
612
1148
|
#
|
613
1149
|
#
|
614
1150
|
#
|
615
|
-
# [1]: https://www.
|
1151
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-range
|
616
1152
|
# @option options [String] :response_cache_control
|
617
1153
|
# Sets the `Cache-Control` header of the response.
|
618
1154
|
# @option options [String] :response_content_disposition
|
619
|
-
# Sets the `Content-Disposition` header of the response
|
1155
|
+
# Sets the `Content-Disposition` header of the response.
|
620
1156
|
# @option options [String] :response_content_encoding
|
621
1157
|
# Sets the `Content-Encoding` header of the response.
|
622
1158
|
# @option options [String] :response_content_language
|
@@ -626,27 +1162,128 @@ module Aws::S3
|
|
626
1162
|
# @option options [Time,DateTime,Date,Integer,String] :response_expires
|
627
1163
|
# Sets the `Expires` header of the response.
|
628
1164
|
# @option options [String] :version_id
|
629
|
-
#
|
1165
|
+
# Version ID used to reference a specific version of the object.
|
1166
|
+
#
|
1167
|
+
# By default, the `GetObject` operation returns the current version of
|
1168
|
+
# an object. To return a different version, use the `versionId`
|
1169
|
+
# subresource.
|
1170
|
+
#
|
1171
|
+
# <note markdown="1"> * If you include a `versionId` in your request header, you must have
|
1172
|
+
# the `s3:GetObjectVersion` permission to access a specific version of
|
1173
|
+
# an object. The `s3:GetObject` permission is not required in this
|
1174
|
+
# scenario.
|
1175
|
+
#
|
1176
|
+
# * If you request the current version of an object without a specific
|
1177
|
+
# `versionId` in the request header, only the `s3:GetObject`
|
1178
|
+
# permission is required. The `s3:GetObjectVersion` permission is not
|
1179
|
+
# required in this scenario.
|
1180
|
+
#
|
1181
|
+
# * **Directory buckets** - S3 Versioning isn't enabled and supported
|
1182
|
+
# for directory buckets. For this API operation, only the `null` value
|
1183
|
+
# of the version ID is supported by directory buckets. You can only
|
1184
|
+
# specify `null` to the `versionId` query parameter in the request.
|
1185
|
+
#
|
1186
|
+
# </note>
|
1187
|
+
#
|
1188
|
+
# For more information about versioning, see [PutBucketVersioning][1].
|
1189
|
+
#
|
1190
|
+
#
|
1191
|
+
#
|
1192
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html
|
630
1193
|
# @option options [String] :sse_customer_algorithm
|
631
|
-
# Specifies the algorithm to use
|
632
|
-
# example, AES256).
|
1194
|
+
# Specifies the algorithm to use when decrypting the object (for
|
1195
|
+
# example, `AES256`).
|
1196
|
+
#
|
1197
|
+
# If you encrypt an object by using server-side encryption with
|
1198
|
+
# customer-provided encryption keys (SSE-C) when you store the object in
|
1199
|
+
# Amazon S3, then when you GET the object, you must use the following
|
1200
|
+
# headers:
|
1201
|
+
#
|
1202
|
+
# * `x-amz-server-side-encryption-customer-algorithm`
|
1203
|
+
#
|
1204
|
+
# * `x-amz-server-side-encryption-customer-key`
|
1205
|
+
#
|
1206
|
+
# * `x-amz-server-side-encryption-customer-key-MD5`
|
1207
|
+
#
|
1208
|
+
# For more information about SSE-C, see [Server-Side Encryption (Using
|
1209
|
+
# Customer-Provided Encryption Keys)][1] in the *Amazon S3 User Guide*.
|
1210
|
+
#
|
1211
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1212
|
+
#
|
1213
|
+
# </note>
|
1214
|
+
#
|
1215
|
+
#
|
1216
|
+
#
|
1217
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
633
1218
|
# @option options [String] :sse_customer_key
|
634
|
-
# Specifies the customer-provided encryption key
|
635
|
-
#
|
636
|
-
#
|
637
|
-
#
|
1219
|
+
# Specifies the customer-provided encryption key that you originally
|
1220
|
+
# provided for Amazon S3 to encrypt the data before storing it. This
|
1221
|
+
# value is used to decrypt the object when recovering it and must match
|
1222
|
+
# the one used when storing the data. The key must be appropriate for
|
1223
|
+
# use with the algorithm specified in the
|
638
1224
|
# `x-amz-server-side-encryption-customer-algorithm` header.
|
1225
|
+
#
|
1226
|
+
# If you encrypt an object by using server-side encryption with
|
1227
|
+
# customer-provided encryption keys (SSE-C) when you store the object in
|
1228
|
+
# Amazon S3, then when you GET the object, you must use the following
|
1229
|
+
# headers:
|
1230
|
+
#
|
1231
|
+
# * `x-amz-server-side-encryption-customer-algorithm`
|
1232
|
+
#
|
1233
|
+
# * `x-amz-server-side-encryption-customer-key`
|
1234
|
+
#
|
1235
|
+
# * `x-amz-server-side-encryption-customer-key-MD5`
|
1236
|
+
#
|
1237
|
+
# For more information about SSE-C, see [Server-Side Encryption (Using
|
1238
|
+
# Customer-Provided Encryption Keys)][1] in the *Amazon S3 User Guide*.
|
1239
|
+
#
|
1240
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1241
|
+
#
|
1242
|
+
# </note>
|
1243
|
+
#
|
1244
|
+
#
|
1245
|
+
#
|
1246
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
639
1247
|
# @option options [String] :sse_customer_key_md5
|
640
|
-
# Specifies the 128-bit MD5 digest of the encryption
|
641
|
-
# RFC 1321. Amazon S3 uses this header for a message
|
642
|
-
# ensure that the encryption key was transmitted
|
1248
|
+
# Specifies the 128-bit MD5 digest of the customer-provided encryption
|
1249
|
+
# key according to RFC 1321. Amazon S3 uses this header for a message
|
1250
|
+
# integrity check to ensure that the encryption key was transmitted
|
1251
|
+
# without error.
|
1252
|
+
#
|
1253
|
+
# If you encrypt an object by using server-side encryption with
|
1254
|
+
# customer-provided encryption keys (SSE-C) when you store the object in
|
1255
|
+
# Amazon S3, then when you GET the object, you must use the following
|
1256
|
+
# headers:
|
1257
|
+
#
|
1258
|
+
# * `x-amz-server-side-encryption-customer-algorithm`
|
1259
|
+
#
|
1260
|
+
# * `x-amz-server-side-encryption-customer-key`
|
1261
|
+
#
|
1262
|
+
# * `x-amz-server-side-encryption-customer-key-MD5`
|
1263
|
+
#
|
1264
|
+
# For more information about SSE-C, see [Server-Side Encryption (Using
|
1265
|
+
# Customer-Provided Encryption Keys)][1] in the *Amazon S3 User Guide*.
|
1266
|
+
#
|
1267
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1268
|
+
#
|
1269
|
+
# </note>
|
1270
|
+
#
|
1271
|
+
#
|
1272
|
+
#
|
1273
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
643
1274
|
# @option options [String] :request_payer
|
644
1275
|
# Confirms that the requester knows that they will be charged for the
|
645
1276
|
# request. Bucket owners need not specify this parameter in their
|
646
|
-
# requests.
|
647
|
-
#
|
1277
|
+
# requests. If either the source or destination S3 bucket has Requester
|
1278
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
1279
|
+
# the object. For information about downloading objects from Requester
|
1280
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
648
1281
|
# in the *Amazon S3 User Guide*.
|
649
1282
|
#
|
1283
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1284
|
+
#
|
1285
|
+
# </note>
|
1286
|
+
#
|
650
1287
|
#
|
651
1288
|
#
|
652
1289
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
@@ -656,16 +1293,20 @@ module Aws::S3
|
|
656
1293
|
# for the part specified. Useful for downloading just a part of an
|
657
1294
|
# object.
|
658
1295
|
# @option options [String] :expected_bucket_owner
|
659
|
-
# The account ID of the expected bucket owner. If the
|
660
|
-
#
|
661
|
-
#
|
1296
|
+
# The account ID of the expected bucket owner. If the account ID that
|
1297
|
+
# you provide does not match the actual owner of the bucket, the request
|
1298
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
1299
|
+
# @option options [String] :checksum_mode
|
1300
|
+
# To retrieve the checksum, this mode must be enabled.
|
662
1301
|
# @return [Types::GetObjectOutput]
|
663
1302
|
def get(options = {}, &block)
|
664
1303
|
options = options.merge(
|
665
1304
|
bucket: @bucket_name,
|
666
1305
|
key: @key
|
667
1306
|
)
|
668
|
-
resp =
|
1307
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
1308
|
+
@client.get_object(options, &block)
|
1309
|
+
end
|
669
1310
|
resp.data
|
670
1311
|
end
|
671
1312
|
|
@@ -686,8 +1327,8 @@ module Aws::S3
|
|
686
1327
|
# metadata: {
|
687
1328
|
# "MetadataKey" => "MetadataValue",
|
688
1329
|
# },
|
689
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
690
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
|
1330
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
1331
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
691
1332
|
# website_redirect_location: "WebsiteRedirectLocation",
|
692
1333
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
693
1334
|
# sse_customer_key: "SSECustomerKey",
|
@@ -701,55 +1342,327 @@ module Aws::S3
|
|
701
1342
|
# object_lock_retain_until_date: Time.now,
|
702
1343
|
# object_lock_legal_hold_status: "ON", # accepts ON, OFF
|
703
1344
|
# expected_bucket_owner: "AccountId",
|
1345
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
704
1346
|
# })
|
705
1347
|
# @param [Hash] options ({})
|
706
1348
|
# @option options [String] :acl
|
707
|
-
# The canned ACL to apply to the object.
|
1349
|
+
# The canned ACL to apply to the object. Amazon S3 supports a set of
|
1350
|
+
# predefined ACLs, known as *canned ACLs*. Each canned ACL has a
|
1351
|
+
# predefined set of grantees and permissions. For more information, see
|
1352
|
+
# [Canned ACL][1] in the *Amazon S3 User Guide*.
|
1353
|
+
#
|
1354
|
+
# By default, all objects are private. Only the owner has full access
|
1355
|
+
# control. When uploading an object, you can grant access permissions to
|
1356
|
+
# individual Amazon Web Services accounts or to predefined groups
|
1357
|
+
# defined by Amazon S3. These permissions are then added to the access
|
1358
|
+
# control list (ACL) on the new object. For more information, see [Using
|
1359
|
+
# ACLs][2]. One way to grant the permissions using the request headers
|
1360
|
+
# is to specify a canned ACL with the `x-amz-acl` request header.
|
1361
|
+
#
|
1362
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
1363
|
+
#
|
1364
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
1365
|
+
#
|
1366
|
+
# </note>
|
1367
|
+
#
|
1368
|
+
#
|
1369
|
+
#
|
1370
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
|
1371
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
|
1372
|
+
# @option options [String] :cache_control
|
1373
|
+
# Specifies caching behavior along the request/reply chain.
|
1374
|
+
# @option options [String] :content_disposition
|
1375
|
+
# Specifies presentational information for the object.
|
1376
|
+
# @option options [String] :content_encoding
|
1377
|
+
# Specifies what content encodings have been applied to the object and
|
1378
|
+
# thus what decoding mechanisms must be applied to obtain the media-type
|
1379
|
+
# referenced by the Content-Type header field.
|
1380
|
+
#
|
1381
|
+
# <note markdown="1"> For directory buckets, only the `aws-chunked` value is supported in
|
1382
|
+
# this header field.
|
1383
|
+
#
|
1384
|
+
# </note>
|
1385
|
+
# @option options [String] :content_language
|
1386
|
+
# The language that the content is in.
|
1387
|
+
# @option options [String] :content_type
|
1388
|
+
# A standard MIME type describing the format of the object data.
|
1389
|
+
# @option options [Time,DateTime,Date,Integer,String] :expires
|
1390
|
+
# The date and time at which the object is no longer cacheable.
|
1391
|
+
# @option options [String] :grant_full_control
|
1392
|
+
# Specify access permissions explicitly to give the grantee READ,
|
1393
|
+
# READ\_ACP, and WRITE\_ACP permissions on the object.
|
1394
|
+
#
|
1395
|
+
# By default, all objects are private. Only the owner has full access
|
1396
|
+
# control. When uploading an object, you can use this header to
|
1397
|
+
# explicitly grant access permissions to specific Amazon Web Services
|
1398
|
+
# accounts or groups. This header maps to specific permissions that
|
1399
|
+
# Amazon S3 supports in an ACL. For more information, see [Access
|
1400
|
+
# Control List (ACL) Overview][1] in the *Amazon S3 User Guide*.
|
1401
|
+
#
|
1402
|
+
# You specify each grantee as a type=value pair, where the type is one
|
1403
|
+
# of the following:
|
1404
|
+
#
|
1405
|
+
# * `id` – if the value specified is the canonical user ID of an Amazon
|
1406
|
+
# Web Services account
|
1407
|
+
#
|
1408
|
+
# * `uri` – if you are granting permissions to a predefined group
|
1409
|
+
#
|
1410
|
+
# * `emailAddress` – if the value specified is the email address of an
|
1411
|
+
# Amazon Web Services account
|
1412
|
+
#
|
1413
|
+
# <note markdown="1"> Using email addresses to specify a grantee is only supported in the
|
1414
|
+
# following Amazon Web Services Regions:
|
1415
|
+
#
|
1416
|
+
# * US East (N. Virginia)
|
1417
|
+
#
|
1418
|
+
# * US West (N. California)
|
1419
|
+
#
|
1420
|
+
# * US West (Oregon)
|
1421
|
+
#
|
1422
|
+
# * Asia Pacific (Singapore)
|
1423
|
+
#
|
1424
|
+
# * Asia Pacific (Sydney)
|
1425
|
+
#
|
1426
|
+
# * Asia Pacific (Tokyo)
|
1427
|
+
#
|
1428
|
+
# * Europe (Ireland)
|
1429
|
+
#
|
1430
|
+
# * South America (São Paulo)
|
1431
|
+
#
|
1432
|
+
# For a list of all the Amazon S3 supported Regions and endpoints, see
|
1433
|
+
# [Regions and Endpoints][2] in the Amazon Web Services General
|
1434
|
+
# Reference.
|
1435
|
+
#
|
1436
|
+
# </note>
|
1437
|
+
#
|
1438
|
+
# For example, the following `x-amz-grant-read` header grants the Amazon
|
1439
|
+
# Web Services accounts identified by account IDs permissions to read
|
1440
|
+
# object data and its metadata:
|
1441
|
+
#
|
1442
|
+
# `x-amz-grant-read: id="11112222333", id="444455556666" `
|
1443
|
+
#
|
1444
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
1445
|
+
#
|
1446
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
1447
|
+
#
|
1448
|
+
# </note>
|
1449
|
+
#
|
1450
|
+
#
|
1451
|
+
#
|
1452
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
|
1453
|
+
# [2]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
|
1454
|
+
# @option options [String] :grant_read
|
1455
|
+
# Specify access permissions explicitly to allow grantee to read the
|
1456
|
+
# object data and its metadata.
|
1457
|
+
#
|
1458
|
+
# By default, all objects are private. Only the owner has full access
|
1459
|
+
# control. When uploading an object, you can use this header to
|
1460
|
+
# explicitly grant access permissions to specific Amazon Web Services
|
1461
|
+
# accounts or groups. This header maps to specific permissions that
|
1462
|
+
# Amazon S3 supports in an ACL. For more information, see [Access
|
1463
|
+
# Control List (ACL) Overview][1] in the *Amazon S3 User Guide*.
|
1464
|
+
#
|
1465
|
+
# You specify each grantee as a type=value pair, where the type is one
|
1466
|
+
# of the following:
|
1467
|
+
#
|
1468
|
+
# * `id` – if the value specified is the canonical user ID of an Amazon
|
1469
|
+
# Web Services account
|
1470
|
+
#
|
1471
|
+
# * `uri` – if you are granting permissions to a predefined group
|
1472
|
+
#
|
1473
|
+
# * `emailAddress` – if the value specified is the email address of an
|
1474
|
+
# Amazon Web Services account
|
1475
|
+
#
|
1476
|
+
# <note markdown="1"> Using email addresses to specify a grantee is only supported in the
|
1477
|
+
# following Amazon Web Services Regions:
|
1478
|
+
#
|
1479
|
+
# * US East (N. Virginia)
|
1480
|
+
#
|
1481
|
+
# * US West (N. California)
|
1482
|
+
#
|
1483
|
+
# * US West (Oregon)
|
1484
|
+
#
|
1485
|
+
# * Asia Pacific (Singapore)
|
1486
|
+
#
|
1487
|
+
# * Asia Pacific (Sydney)
|
1488
|
+
#
|
1489
|
+
# * Asia Pacific (Tokyo)
|
1490
|
+
#
|
1491
|
+
# * Europe (Ireland)
|
1492
|
+
#
|
1493
|
+
# * South America (São Paulo)
|
1494
|
+
#
|
1495
|
+
# For a list of all the Amazon S3 supported Regions and endpoints, see
|
1496
|
+
# [Regions and Endpoints][2] in the Amazon Web Services General
|
1497
|
+
# Reference.
|
1498
|
+
#
|
1499
|
+
# </note>
|
1500
|
+
#
|
1501
|
+
# For example, the following `x-amz-grant-read` header grants the Amazon
|
1502
|
+
# Web Services accounts identified by account IDs permissions to read
|
1503
|
+
# object data and its metadata:
|
1504
|
+
#
|
1505
|
+
# `x-amz-grant-read: id="11112222333", id="444455556666" `
|
1506
|
+
#
|
1507
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
1508
|
+
#
|
1509
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
1510
|
+
#
|
1511
|
+
# </note>
|
708
1512
|
#
|
709
|
-
# This action is not supported by Amazon S3 on Outposts.
|
710
|
-
# @option options [String] :cache_control
|
711
|
-
# Specifies caching behavior along the request/reply chain.
|
712
|
-
# @option options [String] :content_disposition
|
713
|
-
# Specifies presentational information for the object.
|
714
|
-
# @option options [String] :content_encoding
|
715
|
-
# Specifies what content encodings have been applied to the object and
|
716
|
-
# thus what decoding mechanisms must be applied to obtain the media-type
|
717
|
-
# referenced by the Content-Type header field.
|
718
|
-
# @option options [String] :content_language
|
719
|
-
# The language the content is in.
|
720
|
-
# @option options [String] :content_type
|
721
|
-
# A standard MIME type describing the format of the object data.
|
722
|
-
# @option options [Time,DateTime,Date,Integer,String] :expires
|
723
|
-
# The date and time at which the object is no longer cacheable.
|
724
|
-
# @option options [String] :grant_full_control
|
725
|
-
# Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
|
726
|
-
# object.
|
727
1513
|
#
|
728
|
-
# This action is not supported by Amazon S3 on Outposts.
|
729
|
-
# @option options [String] :grant_read
|
730
|
-
# Allows grantee to read the object data and its metadata.
|
731
1514
|
#
|
732
|
-
#
|
1515
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
|
1516
|
+
# [2]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
|
733
1517
|
# @option options [String] :grant_read_acp
|
734
|
-
#
|
1518
|
+
# Specify access permissions explicitly to allows grantee to read the
|
1519
|
+
# object ACL.
|
1520
|
+
#
|
1521
|
+
# By default, all objects are private. Only the owner has full access
|
1522
|
+
# control. When uploading an object, you can use this header to
|
1523
|
+
# explicitly grant access permissions to specific Amazon Web Services
|
1524
|
+
# accounts or groups. This header maps to specific permissions that
|
1525
|
+
# Amazon S3 supports in an ACL. For more information, see [Access
|
1526
|
+
# Control List (ACL) Overview][1] in the *Amazon S3 User Guide*.
|
1527
|
+
#
|
1528
|
+
# You specify each grantee as a type=value pair, where the type is one
|
1529
|
+
# of the following:
|
1530
|
+
#
|
1531
|
+
# * `id` – if the value specified is the canonical user ID of an Amazon
|
1532
|
+
# Web Services account
|
1533
|
+
#
|
1534
|
+
# * `uri` – if you are granting permissions to a predefined group
|
1535
|
+
#
|
1536
|
+
# * `emailAddress` – if the value specified is the email address of an
|
1537
|
+
# Amazon Web Services account
|
1538
|
+
#
|
1539
|
+
# <note markdown="1"> Using email addresses to specify a grantee is only supported in the
|
1540
|
+
# following Amazon Web Services Regions:
|
1541
|
+
#
|
1542
|
+
# * US East (N. Virginia)
|
1543
|
+
#
|
1544
|
+
# * US West (N. California)
|
1545
|
+
#
|
1546
|
+
# * US West (Oregon)
|
1547
|
+
#
|
1548
|
+
# * Asia Pacific (Singapore)
|
1549
|
+
#
|
1550
|
+
# * Asia Pacific (Sydney)
|
1551
|
+
#
|
1552
|
+
# * Asia Pacific (Tokyo)
|
735
1553
|
#
|
736
|
-
#
|
1554
|
+
# * Europe (Ireland)
|
1555
|
+
#
|
1556
|
+
# * South America (São Paulo)
|
1557
|
+
#
|
1558
|
+
# For a list of all the Amazon S3 supported Regions and endpoints, see
|
1559
|
+
# [Regions and Endpoints][2] in the Amazon Web Services General
|
1560
|
+
# Reference.
|
1561
|
+
#
|
1562
|
+
# </note>
|
1563
|
+
#
|
1564
|
+
# For example, the following `x-amz-grant-read` header grants the Amazon
|
1565
|
+
# Web Services accounts identified by account IDs permissions to read
|
1566
|
+
# object data and its metadata:
|
1567
|
+
#
|
1568
|
+
# `x-amz-grant-read: id="11112222333", id="444455556666" `
|
1569
|
+
#
|
1570
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
1571
|
+
#
|
1572
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
1573
|
+
#
|
1574
|
+
# </note>
|
1575
|
+
#
|
1576
|
+
#
|
1577
|
+
#
|
1578
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
|
1579
|
+
# [2]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
|
737
1580
|
# @option options [String] :grant_write_acp
|
738
|
-
#
|
1581
|
+
# Specify access permissions explicitly to allows grantee to allow
|
1582
|
+
# grantee to write the ACL for the applicable object.
|
1583
|
+
#
|
1584
|
+
# By default, all objects are private. Only the owner has full access
|
1585
|
+
# control. When uploading an object, you can use this header to
|
1586
|
+
# explicitly grant access permissions to specific Amazon Web Services
|
1587
|
+
# accounts or groups. This header maps to specific permissions that
|
1588
|
+
# Amazon S3 supports in an ACL. For more information, see [Access
|
1589
|
+
# Control List (ACL) Overview][1] in the *Amazon S3 User Guide*.
|
1590
|
+
#
|
1591
|
+
# You specify each grantee as a type=value pair, where the type is one
|
1592
|
+
# of the following:
|
1593
|
+
#
|
1594
|
+
# * `id` – if the value specified is the canonical user ID of an Amazon
|
1595
|
+
# Web Services account
|
1596
|
+
#
|
1597
|
+
# * `uri` – if you are granting permissions to a predefined group
|
1598
|
+
#
|
1599
|
+
# * `emailAddress` – if the value specified is the email address of an
|
1600
|
+
# Amazon Web Services account
|
1601
|
+
#
|
1602
|
+
# <note markdown="1"> Using email addresses to specify a grantee is only supported in the
|
1603
|
+
# following Amazon Web Services Regions:
|
1604
|
+
#
|
1605
|
+
# * US East (N. Virginia)
|
1606
|
+
#
|
1607
|
+
# * US West (N. California)
|
1608
|
+
#
|
1609
|
+
# * US West (Oregon)
|
1610
|
+
#
|
1611
|
+
# * Asia Pacific (Singapore)
|
1612
|
+
#
|
1613
|
+
# * Asia Pacific (Sydney)
|
1614
|
+
#
|
1615
|
+
# * Asia Pacific (Tokyo)
|
1616
|
+
#
|
1617
|
+
# * Europe (Ireland)
|
1618
|
+
#
|
1619
|
+
# * South America (São Paulo)
|
1620
|
+
#
|
1621
|
+
# For a list of all the Amazon S3 supported Regions and endpoints, see
|
1622
|
+
# [Regions and Endpoints][2] in the Amazon Web Services General
|
1623
|
+
# Reference.
|
1624
|
+
#
|
1625
|
+
# </note>
|
1626
|
+
#
|
1627
|
+
# For example, the following `x-amz-grant-read` header grants the Amazon
|
1628
|
+
# Web Services accounts identified by account IDs permissions to read
|
1629
|
+
# object data and its metadata:
|
739
1630
|
#
|
740
|
-
#
|
1631
|
+
# `x-amz-grant-read: id="11112222333", id="444455556666" `
|
1632
|
+
#
|
1633
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
1634
|
+
#
|
1635
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
1636
|
+
#
|
1637
|
+
# </note>
|
1638
|
+
#
|
1639
|
+
#
|
1640
|
+
#
|
1641
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
|
1642
|
+
# [2]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
|
741
1643
|
# @option options [Hash<String,String>] :metadata
|
742
1644
|
# A map of metadata to store with the object in S3.
|
743
1645
|
# @option options [String] :server_side_encryption
|
744
|
-
# The server-side encryption algorithm used when
|
745
|
-
# Amazon S3 (for example, AES256
|
1646
|
+
# The server-side encryption algorithm used when you store this object
|
1647
|
+
# in Amazon S3 (for example, `AES256`, `aws:kms`).
|
1648
|
+
#
|
1649
|
+
# <note markdown="1"> For directory buckets, only server-side encryption with Amazon S3
|
1650
|
+
# managed keys (SSE-S3) (`AES256`) is supported.
|
1651
|
+
#
|
1652
|
+
# </note>
|
746
1653
|
# @option options [String] :storage_class
|
747
1654
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
748
1655
|
# created objects. The STANDARD storage class provides high durability
|
749
1656
|
# and high availability. Depending on performance needs, you can specify
|
750
|
-
# a different Storage Class.
|
751
|
-
#
|
752
|
-
#
|
1657
|
+
# a different Storage Class. For more information, see [Storage
|
1658
|
+
# Classes][1] in the *Amazon S3 User Guide*.
|
1659
|
+
#
|
1660
|
+
# <note markdown="1"> * For directory buckets, only the S3 Express One Zone storage class is
|
1661
|
+
# supported to store newly created objects.
|
1662
|
+
#
|
1663
|
+
# * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
|
1664
|
+
#
|
1665
|
+
# </note>
|
753
1666
|
#
|
754
1667
|
#
|
755
1668
|
#
|
@@ -758,75 +1671,127 @@ module Aws::S3
|
|
758
1671
|
# If the bucket is configured as a website, redirects requests for this
|
759
1672
|
# object to another object in the same bucket or to an external URL.
|
760
1673
|
# Amazon S3 stores the value of this header in the object metadata.
|
1674
|
+
#
|
1675
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1676
|
+
#
|
1677
|
+
# </note>
|
761
1678
|
# @option options [String] :sse_customer_algorithm
|
762
|
-
# Specifies the algorithm to use
|
1679
|
+
# Specifies the algorithm to use when encrypting the object (for
|
763
1680
|
# example, AES256).
|
1681
|
+
#
|
1682
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1683
|
+
#
|
1684
|
+
# </note>
|
764
1685
|
# @option options [String] :sse_customer_key
|
765
1686
|
# Specifies the customer-provided encryption key for Amazon S3 to use in
|
766
1687
|
# encrypting data. This value is used to store the object and then it is
|
767
1688
|
# discarded; Amazon S3 does not store the encryption key. The key must
|
768
1689
|
# be appropriate for use with the algorithm specified in the
|
769
1690
|
# `x-amz-server-side-encryption-customer-algorithm` header.
|
1691
|
+
#
|
1692
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1693
|
+
#
|
1694
|
+
# </note>
|
770
1695
|
# @option options [String] :sse_customer_key_md5
|
771
|
-
# Specifies the 128-bit MD5 digest of the encryption
|
772
|
-
# RFC 1321. Amazon S3 uses this header for a message
|
773
|
-
# ensure that the encryption key was transmitted
|
774
|
-
#
|
775
|
-
# Specifies the ID of the symmetric customer managed key to use for
|
776
|
-
# object encryption. All GET and PUT requests for an object protected by
|
777
|
-
# Amazon Web Services KMS will fail if not made via SSL or using SigV4.
|
778
|
-
# For information about configuring using any of the officially
|
779
|
-
# supported Amazon Web Services SDKs and Amazon Web Services CLI, see
|
780
|
-
# [Specifying the Signature Version in Request Authentication][1] in the
|
781
|
-
# *Amazon S3 User Guide*.
|
1696
|
+
# Specifies the 128-bit MD5 digest of the customer-provided encryption
|
1697
|
+
# key according to RFC 1321. Amazon S3 uses this header for a message
|
1698
|
+
# integrity check to ensure that the encryption key was transmitted
|
1699
|
+
# without error.
|
782
1700
|
#
|
1701
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1702
|
+
#
|
1703
|
+
# </note>
|
1704
|
+
# @option options [String] :ssekms_key_id
|
1705
|
+
# Specifies the ID (Key ID, Key ARN, or Key Alias) of the symmetric
|
1706
|
+
# encryption customer managed key to use for object encryption.
|
783
1707
|
#
|
1708
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
784
1709
|
#
|
785
|
-
#
|
1710
|
+
# </note>
|
786
1711
|
# @option options [String] :ssekms_encryption_context
|
787
1712
|
# Specifies the Amazon Web Services KMS Encryption Context to use for
|
788
1713
|
# object encryption. The value of this header is a base64-encoded UTF-8
|
789
1714
|
# string holding JSON with the encryption context key-value pairs.
|
1715
|
+
#
|
1716
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1717
|
+
#
|
1718
|
+
# </note>
|
790
1719
|
# @option options [Boolean] :bucket_key_enabled
|
791
1720
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
792
|
-
# encryption with server-side encryption using
|
793
|
-
# Setting this header to `true` causes Amazon S3
|
794
|
-
# for object encryption with SSE-KMS.
|
1721
|
+
# encryption with server-side encryption using Key Management Service
|
1722
|
+
# (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
|
1723
|
+
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
795
1724
|
#
|
796
1725
|
# Specifying this header with an object action doesn’t affect
|
797
1726
|
# bucket-level settings for S3 Bucket Key.
|
1727
|
+
#
|
1728
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1729
|
+
#
|
1730
|
+
# </note>
|
798
1731
|
# @option options [String] :request_payer
|
799
1732
|
# Confirms that the requester knows that they will be charged for the
|
800
1733
|
# request. Bucket owners need not specify this parameter in their
|
801
|
-
# requests.
|
802
|
-
#
|
1734
|
+
# requests. If either the source or destination S3 bucket has Requester
|
1735
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
1736
|
+
# the object. For information about downloading objects from Requester
|
1737
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
803
1738
|
# in the *Amazon S3 User Guide*.
|
804
1739
|
#
|
1740
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1741
|
+
#
|
1742
|
+
# </note>
|
1743
|
+
#
|
805
1744
|
#
|
806
1745
|
#
|
807
1746
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
808
1747
|
# @option options [String] :tagging
|
809
1748
|
# The tag-set for the object. The tag-set must be encoded as URL Query
|
810
1749
|
# parameters.
|
1750
|
+
#
|
1751
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1752
|
+
#
|
1753
|
+
# </note>
|
811
1754
|
# @option options [String] :object_lock_mode
|
812
1755
|
# Specifies the Object Lock mode that you want to apply to the uploaded
|
813
1756
|
# object.
|
1757
|
+
#
|
1758
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1759
|
+
#
|
1760
|
+
# </note>
|
814
1761
|
# @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
|
815
1762
|
# Specifies the date and time when you want the Object Lock to expire.
|
1763
|
+
#
|
1764
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1765
|
+
#
|
1766
|
+
# </note>
|
816
1767
|
# @option options [String] :object_lock_legal_hold_status
|
817
|
-
# Specifies whether you want to apply a
|
1768
|
+
# Specifies whether you want to apply a legal hold to the uploaded
|
818
1769
|
# object.
|
1770
|
+
#
|
1771
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1772
|
+
#
|
1773
|
+
# </note>
|
819
1774
|
# @option options [String] :expected_bucket_owner
|
820
|
-
# The account ID of the expected bucket owner. If the
|
821
|
-
#
|
822
|
-
#
|
1775
|
+
# The account ID of the expected bucket owner. If the account ID that
|
1776
|
+
# you provide does not match the actual owner of the bucket, the request
|
1777
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
1778
|
+
# @option options [String] :checksum_algorithm
|
1779
|
+
# Indicates the algorithm that you want Amazon S3 to use to create the
|
1780
|
+
# checksum for the object. For more information, see [Checking object
|
1781
|
+
# integrity][1] in the *Amazon S3 User Guide*.
|
1782
|
+
#
|
1783
|
+
#
|
1784
|
+
#
|
1785
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
823
1786
|
# @return [MultipartUpload]
|
824
1787
|
def initiate_multipart_upload(options = {})
|
825
1788
|
options = options.merge(
|
826
1789
|
bucket: @bucket_name,
|
827
1790
|
key: @key
|
828
1791
|
)
|
829
|
-
resp =
|
1792
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
1793
|
+
@client.create_multipart_upload(options)
|
1794
|
+
end
|
830
1795
|
MultipartUpload.new(
|
831
1796
|
bucket_name: @bucket_name,
|
832
1797
|
object_key: @key,
|
@@ -847,6 +1812,11 @@ module Aws::S3
|
|
847
1812
|
# content_length: 1,
|
848
1813
|
# content_md5: "ContentMD5",
|
849
1814
|
# content_type: "ContentType",
|
1815
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
1816
|
+
# checksum_crc32: "ChecksumCRC32",
|
1817
|
+
# checksum_crc32c: "ChecksumCRC32C",
|
1818
|
+
# checksum_sha1: "ChecksumSHA1",
|
1819
|
+
# checksum_sha256: "ChecksumSHA256",
|
850
1820
|
# expires: Time.now,
|
851
1821
|
# grant_full_control: "GrantFullControl",
|
852
1822
|
# grant_read: "GrantRead",
|
@@ -855,8 +1825,8 @@ module Aws::S3
|
|
855
1825
|
# metadata: {
|
856
1826
|
# "MetadataKey" => "MetadataValue",
|
857
1827
|
# },
|
858
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
859
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
|
1828
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
1829
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
860
1830
|
# website_redirect_location: "WebsiteRedirectLocation",
|
861
1831
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
862
1832
|
# sse_customer_key: "SSECustomerKey",
|
@@ -874,13 +1844,41 @@ module Aws::S3
|
|
874
1844
|
# @param [Hash] options ({})
|
875
1845
|
# @option options [String] :acl
|
876
1846
|
# The canned ACL to apply to the object. For more information, see
|
877
|
-
# [Canned ACL][1]
|
1847
|
+
# [Canned ACL][1] in the *Amazon S3 User Guide*.
|
1848
|
+
#
|
1849
|
+
# When adding a new object, you can use headers to grant ACL-based
|
1850
|
+
# permissions to individual Amazon Web Services accounts or to
|
1851
|
+
# predefined groups defined by Amazon S3. These permissions are then
|
1852
|
+
# added to the ACL on the object. By default, all objects are private.
|
1853
|
+
# Only the owner has full access control. For more information, see
|
1854
|
+
# [Access Control List (ACL) Overview][2] and [Managing ACLs Using the
|
1855
|
+
# REST API][3] in the *Amazon S3 User Guide*.
|
1856
|
+
#
|
1857
|
+
# If the bucket that you're uploading objects to uses the bucket owner
|
1858
|
+
# enforced setting for S3 Object Ownership, ACLs are disabled and no
|
1859
|
+
# longer affect permissions. Buckets that use this setting only accept
|
1860
|
+
# PUT requests that don't specify an ACL or PUT requests that specify
|
1861
|
+
# bucket owner full control ACLs, such as the
|
1862
|
+
# `bucket-owner-full-control` canned ACL or an equivalent form of this
|
1863
|
+
# ACL expressed in the XML format. PUT requests that contain other ACLs
|
1864
|
+
# (for example, custom grants to certain Amazon Web Services accounts)
|
1865
|
+
# fail and return a `400` error with the error code
|
1866
|
+
# `AccessControlListNotSupported`. For more information, see [
|
1867
|
+
# Controlling ownership of objects and disabling ACLs][4] in the *Amazon
|
1868
|
+
# S3 User Guide*.
|
1869
|
+
#
|
1870
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
1871
|
+
#
|
1872
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
878
1873
|
#
|
879
|
-
#
|
1874
|
+
# </note>
|
880
1875
|
#
|
881
1876
|
#
|
882
1877
|
#
|
883
1878
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
|
1879
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
|
1880
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html
|
1881
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
|
884
1882
|
# @option options [String, StringIO, File] :body
|
885
1883
|
# Object data.
|
886
1884
|
# @option options [String] :cache_control
|
@@ -894,30 +1892,30 @@ module Aws::S3
|
|
894
1892
|
# @option options [String] :content_disposition
|
895
1893
|
# Specifies presentational information for the object. For more
|
896
1894
|
# information, see
|
897
|
-
# [
|
1895
|
+
# [https://www.rfc-editor.org/rfc/rfc6266#section-4][1].
|
898
1896
|
#
|
899
1897
|
#
|
900
1898
|
#
|
901
|
-
# [1]:
|
1899
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc6266#section-4
|
902
1900
|
# @option options [String] :content_encoding
|
903
1901
|
# Specifies what content encodings have been applied to the object and
|
904
1902
|
# thus what decoding mechanisms must be applied to obtain the media-type
|
905
1903
|
# referenced by the Content-Type header field. For more information, see
|
906
|
-
# [
|
1904
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding][1].
|
907
1905
|
#
|
908
1906
|
#
|
909
1907
|
#
|
910
|
-
# [1]:
|
1908
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding
|
911
1909
|
# @option options [String] :content_language
|
912
1910
|
# The language the content is in.
|
913
1911
|
# @option options [Integer] :content_length
|
914
1912
|
# Size of the body in bytes. This parameter is useful when the size of
|
915
1913
|
# the body cannot be determined automatically. For more information, see
|
916
|
-
# [
|
1914
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length][1].
|
917
1915
|
#
|
918
1916
|
#
|
919
1917
|
#
|
920
|
-
# [1]:
|
1918
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
|
921
1919
|
# @option options [String] :content_md5
|
922
1920
|
# The base64-encoded 128-bit MD5 digest of the message (without the
|
923
1921
|
# headers) according to RFC 1864. This header can be used as a message
|
@@ -927,54 +1925,185 @@ module Aws::S3
|
|
927
1925
|
# information about REST request authentication, see [REST
|
928
1926
|
# Authentication][1].
|
929
1927
|
#
|
1928
|
+
# <note markdown="1"> The `Content-MD5` header is required for any request to upload an
|
1929
|
+
# object with a retention period configured using Amazon S3 Object Lock.
|
1930
|
+
# For more information about Amazon S3 Object Lock, see [Amazon S3
|
1931
|
+
# Object Lock Overview][2] in the *Amazon S3 User Guide*.
|
1932
|
+
#
|
1933
|
+
# </note>
|
1934
|
+
#
|
1935
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1936
|
+
#
|
1937
|
+
# </note>
|
1938
|
+
#
|
930
1939
|
#
|
931
1940
|
#
|
932
1941
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
|
1942
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html
|
933
1943
|
# @option options [String] :content_type
|
934
1944
|
# A standard MIME type describing the format of the contents. For more
|
935
1945
|
# information, see
|
936
|
-
# [
|
1946
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type][1].
|
1947
|
+
#
|
1948
|
+
#
|
1949
|
+
#
|
1950
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type
|
1951
|
+
# @option options [String] :checksum_algorithm
|
1952
|
+
# Indicates the algorithm used to create the checksum for the object
|
1953
|
+
# when you use the SDK. This header will not provide any additional
|
1954
|
+
# functionality if you don't use the SDK. When you send this header,
|
1955
|
+
# there must be a corresponding `x-amz-checksum-algorithm ` or
|
1956
|
+
# `x-amz-trailer` header sent. Otherwise, Amazon S3 fails the request
|
1957
|
+
# with the HTTP status code `400 Bad Request`.
|
1958
|
+
#
|
1959
|
+
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
1960
|
+
# the supported algorithm from the following list:
|
1961
|
+
#
|
1962
|
+
# * CRC32
|
1963
|
+
#
|
1964
|
+
# * CRC32C
|
1965
|
+
#
|
1966
|
+
# * SHA1
|
1967
|
+
#
|
1968
|
+
# * SHA256
|
1969
|
+
#
|
1970
|
+
# For more information, see [Checking object integrity][1] in the
|
1971
|
+
# *Amazon S3 User Guide*.
|
1972
|
+
#
|
1973
|
+
# If the individual checksum value you provide through
|
1974
|
+
# `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
|
1975
|
+
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3 ignores any
|
1976
|
+
# provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
|
1977
|
+
# that matches the provided value in `x-amz-checksum-algorithm `.
|
1978
|
+
#
|
1979
|
+
# <note markdown="1"> For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
|
1980
|
+
# is the default checksum algorithm that's used for performance.
|
1981
|
+
#
|
1982
|
+
# </note>
|
1983
|
+
#
|
1984
|
+
#
|
1985
|
+
#
|
1986
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
1987
|
+
# @option options [String] :checksum_crc32
|
1988
|
+
# This header can be used as a data integrity check to verify that the
|
1989
|
+
# data received is the same data that was originally sent. This header
|
1990
|
+
# specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
|
1991
|
+
# more information, see [Checking object integrity][1] in the *Amazon S3
|
1992
|
+
# User Guide*.
|
1993
|
+
#
|
1994
|
+
#
|
1995
|
+
#
|
1996
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
1997
|
+
# @option options [String] :checksum_crc32c
|
1998
|
+
# This header can be used as a data integrity check to verify that the
|
1999
|
+
# data received is the same data that was originally sent. This header
|
2000
|
+
# specifies the base64-encoded, 32-bit CRC32C checksum of the object.
|
2001
|
+
# For more information, see [Checking object integrity][1] in the
|
2002
|
+
# *Amazon S3 User Guide*.
|
2003
|
+
#
|
2004
|
+
#
|
2005
|
+
#
|
2006
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
2007
|
+
# @option options [String] :checksum_sha1
|
2008
|
+
# This header can be used as a data integrity check to verify that the
|
2009
|
+
# data received is the same data that was originally sent. This header
|
2010
|
+
# specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
|
2011
|
+
# more information, see [Checking object integrity][1] in the *Amazon S3
|
2012
|
+
# User Guide*.
|
2013
|
+
#
|
2014
|
+
#
|
2015
|
+
#
|
2016
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
2017
|
+
# @option options [String] :checksum_sha256
|
2018
|
+
# This header can be used as a data integrity check to verify that the
|
2019
|
+
# data received is the same data that was originally sent. This header
|
2020
|
+
# specifies the base64-encoded, 256-bit SHA-256 digest of the object.
|
2021
|
+
# For more information, see [Checking object integrity][1] in the
|
2022
|
+
# *Amazon S3 User Guide*.
|
937
2023
|
#
|
938
2024
|
#
|
939
2025
|
#
|
940
|
-
# [1]:
|
2026
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
941
2027
|
# @option options [Time,DateTime,Date,Integer,String] :expires
|
942
2028
|
# The date and time at which the object is no longer cacheable. For more
|
943
2029
|
# information, see
|
944
|
-
# [
|
2030
|
+
# [https://www.rfc-editor.org/rfc/rfc7234#section-5.3][1].
|
945
2031
|
#
|
946
2032
|
#
|
947
2033
|
#
|
948
|
-
# [1]:
|
2034
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
|
949
2035
|
# @option options [String] :grant_full_control
|
950
2036
|
# Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
|
951
2037
|
# object.
|
952
2038
|
#
|
953
|
-
# This
|
2039
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
2040
|
+
#
|
2041
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
2042
|
+
#
|
2043
|
+
# </note>
|
954
2044
|
# @option options [String] :grant_read
|
955
2045
|
# Allows grantee to read the object data and its metadata.
|
956
2046
|
#
|
957
|
-
# This
|
2047
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
2048
|
+
#
|
2049
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
2050
|
+
#
|
2051
|
+
# </note>
|
958
2052
|
# @option options [String] :grant_read_acp
|
959
2053
|
# Allows grantee to read the object ACL.
|
960
2054
|
#
|
961
|
-
# This
|
2055
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
2056
|
+
#
|
2057
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
2058
|
+
#
|
2059
|
+
# </note>
|
962
2060
|
# @option options [String] :grant_write_acp
|
963
2061
|
# Allows grantee to write the ACL for the applicable object.
|
964
2062
|
#
|
965
|
-
# This
|
2063
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
2064
|
+
#
|
2065
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
2066
|
+
#
|
2067
|
+
# </note>
|
966
2068
|
# @option options [Hash<String,String>] :metadata
|
967
2069
|
# A map of metadata to store with the object in S3.
|
968
2070
|
# @option options [String] :server_side_encryption
|
969
|
-
# The server-side encryption algorithm used when
|
970
|
-
# Amazon S3 (for example, AES256
|
2071
|
+
# The server-side encryption algorithm that was used when you store this
|
2072
|
+
# object in Amazon S3 (for example, `AES256`, `aws:kms`,
|
2073
|
+
# `aws:kms:dsse`).
|
2074
|
+
#
|
2075
|
+
# <b>General purpose buckets </b> - You have four mutually exclusive
|
2076
|
+
# options to protect data using server-side encryption in Amazon S3,
|
2077
|
+
# depending on how you choose to manage the encryption keys.
|
2078
|
+
# Specifically, the encryption key options are Amazon S3 managed keys
|
2079
|
+
# (SSE-S3), Amazon Web Services KMS keys (SSE-KMS or DSSE-KMS), and
|
2080
|
+
# customer-provided keys (SSE-C). Amazon S3 encrypts data with
|
2081
|
+
# server-side encryption by using Amazon S3 managed keys (SSE-S3) by
|
2082
|
+
# default. You can optionally tell Amazon S3 to encrypt data at rest by
|
2083
|
+
# using server-side encryption with other key options. For more
|
2084
|
+
# information, see [Using Server-Side Encryption][1] in the *Amazon S3
|
2085
|
+
# User Guide*.
|
2086
|
+
#
|
2087
|
+
# <b>Directory buckets </b> - For directory buckets, only the
|
2088
|
+
# server-side encryption with Amazon S3 managed keys (SSE-S3) (`AES256`)
|
2089
|
+
# value is supported.
|
2090
|
+
#
|
2091
|
+
#
|
2092
|
+
#
|
2093
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
971
2094
|
# @option options [String] :storage_class
|
972
2095
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
973
2096
|
# created objects. The STANDARD storage class provides high durability
|
974
2097
|
# and high availability. Depending on performance needs, you can specify
|
975
|
-
# a different Storage Class.
|
976
|
-
#
|
977
|
-
#
|
2098
|
+
# a different Storage Class. For more information, see [Storage
|
2099
|
+
# Classes][1] in the *Amazon S3 User Guide*.
|
2100
|
+
#
|
2101
|
+
# <note markdown="1"> * For directory buckets, only the S3 Express One Zone storage class is
|
2102
|
+
# supported to store newly created objects.
|
2103
|
+
#
|
2104
|
+
# * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
|
2105
|
+
#
|
2106
|
+
# </note>
|
978
2107
|
#
|
979
2108
|
#
|
980
2109
|
#
|
@@ -983,7 +2112,8 @@ module Aws::S3
|
|
983
2112
|
# If the bucket is configured as a website, redirects requests for this
|
984
2113
|
# object to another object in the same bucket or to an external URL.
|
985
2114
|
# Amazon S3 stores the value of this header in the object metadata. For
|
986
|
-
# information about object metadata, see [Object Key and Metadata][1]
|
2115
|
+
# information about object metadata, see [Object Key and Metadata][1] in
|
2116
|
+
# the *Amazon S3 User Guide*.
|
987
2117
|
#
|
988
2118
|
# In the following example, the request header sets the redirect to an
|
989
2119
|
# object (anotherPage.html) in the same bucket:
|
@@ -997,7 +2127,11 @@ module Aws::S3
|
|
997
2127
|
#
|
998
2128
|
# For more information about website hosting in Amazon S3, see [Hosting
|
999
2129
|
# Websites on Amazon S3][2] and [How to Configure Website Page
|
1000
|
-
# Redirects][3]
|
2130
|
+
# Redirects][3] in the *Amazon S3 User Guide*.
|
2131
|
+
#
|
2132
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2133
|
+
#
|
2134
|
+
# </note>
|
1001
2135
|
#
|
1002
2136
|
#
|
1003
2137
|
#
|
@@ -1005,76 +2139,130 @@ module Aws::S3
|
|
1005
2139
|
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html
|
1006
2140
|
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html
|
1007
2141
|
# @option options [String] :sse_customer_algorithm
|
1008
|
-
# Specifies the algorithm to use
|
1009
|
-
# example, AES256).
|
2142
|
+
# Specifies the algorithm to use when encrypting the object (for
|
2143
|
+
# example, `AES256`).
|
2144
|
+
#
|
2145
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2146
|
+
#
|
2147
|
+
# </note>
|
1010
2148
|
# @option options [String] :sse_customer_key
|
1011
2149
|
# Specifies the customer-provided encryption key for Amazon S3 to use in
|
1012
2150
|
# encrypting data. This value is used to store the object and then it is
|
1013
2151
|
# discarded; Amazon S3 does not store the encryption key. The key must
|
1014
2152
|
# be appropriate for use with the algorithm specified in the
|
1015
2153
|
# `x-amz-server-side-encryption-customer-algorithm` header.
|
2154
|
+
#
|
2155
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2156
|
+
#
|
2157
|
+
# </note>
|
1016
2158
|
# @option options [String] :sse_customer_key_md5
|
1017
2159
|
# Specifies the 128-bit MD5 digest of the encryption key according to
|
1018
2160
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
1019
2161
|
# ensure that the encryption key was transmitted without error.
|
2162
|
+
#
|
2163
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2164
|
+
#
|
2165
|
+
# </note>
|
1020
2166
|
# @option options [String] :ssekms_key_id
|
1021
|
-
# If `x-amz-server-side-encryption`
|
1022
|
-
# `aws:kms`, this header specifies the ID
|
1023
|
-
# Management Service (
|
1024
|
-
# managed key that was used for the object. If you specify
|
1025
|
-
# `x-amz-server-side-encryption:aws:kms
|
2167
|
+
# If `x-amz-server-side-encryption` has a valid value of `aws:kms` or
|
2168
|
+
# `aws:kms:dsse`, this header specifies the ID (Key ID, Key ARN, or Key
|
2169
|
+
# Alias) of the Key Management Service (KMS) symmetric encryption
|
2170
|
+
# customer managed key that was used for the object. If you specify
|
2171
|
+
# `x-amz-server-side-encryption:aws:kms` or
|
2172
|
+
# `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide`
|
1026
2173
|
# x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
1027
|
-
# Amazon Web Services managed key to protect the data. If the
|
1028
|
-
# does not exist in the same account issuing the
|
1029
|
-
# the full ARN and not just the ID.
|
2174
|
+
# Amazon Web Services managed key (`aws/s3`) to protect the data. If the
|
2175
|
+
# KMS key does not exist in the same account that's issuing the
|
2176
|
+
# command, you must use the full ARN and not just the ID.
|
2177
|
+
#
|
2178
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2179
|
+
#
|
2180
|
+
# </note>
|
1030
2181
|
# @option options [String] :ssekms_encryption_context
|
1031
2182
|
# Specifies the Amazon Web Services KMS Encryption Context to use for
|
1032
2183
|
# object encryption. The value of this header is a base64-encoded UTF-8
|
1033
|
-
# string holding JSON with the encryption context key-value pairs.
|
2184
|
+
# string holding JSON with the encryption context key-value pairs. This
|
2185
|
+
# value is stored as object metadata and automatically gets passed on to
|
2186
|
+
# Amazon Web Services KMS for future `GetObject` or `CopyObject`
|
2187
|
+
# operations on this object. This value must be explicitly added during
|
2188
|
+
# `CopyObject` operations.
|
2189
|
+
#
|
2190
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2191
|
+
#
|
2192
|
+
# </note>
|
1034
2193
|
# @option options [Boolean] :bucket_key_enabled
|
1035
2194
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
1036
|
-
# encryption with server-side encryption using
|
1037
|
-
# Setting this header to `true` causes Amazon S3
|
1038
|
-
# for object encryption with SSE-KMS.
|
2195
|
+
# encryption with server-side encryption using Key Management Service
|
2196
|
+
# (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
|
2197
|
+
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
1039
2198
|
#
|
1040
2199
|
# Specifying this header with a PUT action doesn’t affect bucket-level
|
1041
2200
|
# settings for S3 Bucket Key.
|
2201
|
+
#
|
2202
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2203
|
+
#
|
2204
|
+
# </note>
|
1042
2205
|
# @option options [String] :request_payer
|
1043
2206
|
# Confirms that the requester knows that they will be charged for the
|
1044
2207
|
# request. Bucket owners need not specify this parameter in their
|
1045
|
-
# requests.
|
1046
|
-
#
|
2208
|
+
# requests. If either the source or destination S3 bucket has Requester
|
2209
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
2210
|
+
# the object. For information about downloading objects from Requester
|
2211
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
1047
2212
|
# in the *Amazon S3 User Guide*.
|
1048
2213
|
#
|
2214
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2215
|
+
#
|
2216
|
+
# </note>
|
2217
|
+
#
|
1049
2218
|
#
|
1050
2219
|
#
|
1051
2220
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
1052
2221
|
# @option options [String] :tagging
|
1053
2222
|
# The tag-set for the object. The tag-set must be encoded as URL Query
|
1054
2223
|
# parameters. (For example, "Key1=Value1")
|
2224
|
+
#
|
2225
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2226
|
+
#
|
2227
|
+
# </note>
|
1055
2228
|
# @option options [String] :object_lock_mode
|
1056
2229
|
# The Object Lock mode that you want to apply to this object.
|
2230
|
+
#
|
2231
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2232
|
+
#
|
2233
|
+
# </note>
|
1057
2234
|
# @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
|
1058
2235
|
# The date and time when you want this object's Object Lock to expire.
|
1059
2236
|
# Must be formatted as a timestamp parameter.
|
2237
|
+
#
|
2238
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2239
|
+
#
|
2240
|
+
# </note>
|
1060
2241
|
# @option options [String] :object_lock_legal_hold_status
|
1061
2242
|
# Specifies whether a legal hold will be applied to this object. For
|
1062
|
-
# more information about S3 Object Lock, see [Object Lock][1]
|
2243
|
+
# more information about S3 Object Lock, see [Object Lock][1] in the
|
2244
|
+
# *Amazon S3 User Guide*.
|
2245
|
+
#
|
2246
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2247
|
+
#
|
2248
|
+
# </note>
|
1063
2249
|
#
|
1064
2250
|
#
|
1065
2251
|
#
|
1066
2252
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
|
1067
2253
|
# @option options [String] :expected_bucket_owner
|
1068
|
-
# The account ID of the expected bucket owner. If the
|
1069
|
-
#
|
1070
|
-
#
|
2254
|
+
# The account ID of the expected bucket owner. If the account ID that
|
2255
|
+
# you provide does not match the actual owner of the bucket, the request
|
2256
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
1071
2257
|
# @return [Types::PutObjectOutput]
|
1072
2258
|
def put(options = {})
|
1073
2259
|
options = options.merge(
|
1074
2260
|
bucket: @bucket_name,
|
1075
2261
|
key: @key
|
1076
2262
|
)
|
1077
|
-
resp =
|
2263
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
2264
|
+
@client.put_object(options)
|
2265
|
+
end
|
1078
2266
|
resp.data
|
1079
2267
|
end
|
1080
2268
|
|
@@ -1128,7 +2316,7 @@ module Aws::S3
|
|
1128
2316
|
# bucket_name: "BucketName", # required
|
1129
2317
|
# prefix: "LocationPrefix", # required
|
1130
2318
|
# encryption: {
|
1131
|
-
# encryption_type: "AES256", # required, accepts AES256, aws:kms
|
2319
|
+
# encryption_type: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
|
1132
2320
|
# kms_key_id: "SSEKMSKeyId",
|
1133
2321
|
# kms_context: "KMSContext",
|
1134
2322
|
# },
|
@@ -1159,11 +2347,12 @@ module Aws::S3
|
|
1159
2347
|
# value: "MetadataValue",
|
1160
2348
|
# },
|
1161
2349
|
# ],
|
1162
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
|
2350
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
1163
2351
|
# },
|
1164
2352
|
# },
|
1165
2353
|
# },
|
1166
2354
|
# request_payer: "requester", # accepts requester
|
2355
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
1167
2356
|
# expected_bucket_owner: "AccountId",
|
1168
2357
|
# })
|
1169
2358
|
# @param [Hash] options ({})
|
@@ -1174,24 +2363,47 @@ module Aws::S3
|
|
1174
2363
|
# @option options [String] :request_payer
|
1175
2364
|
# Confirms that the requester knows that they will be charged for the
|
1176
2365
|
# request. Bucket owners need not specify this parameter in their
|
1177
|
-
# requests.
|
1178
|
-
#
|
2366
|
+
# requests. If either the source or destination S3 bucket has Requester
|
2367
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
2368
|
+
# the object. For information about downloading objects from Requester
|
2369
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
1179
2370
|
# in the *Amazon S3 User Guide*.
|
1180
2371
|
#
|
2372
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2373
|
+
#
|
2374
|
+
# </note>
|
2375
|
+
#
|
1181
2376
|
#
|
1182
2377
|
#
|
1183
2378
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
2379
|
+
# @option options [String] :checksum_algorithm
|
2380
|
+
# Indicates the algorithm used to create the checksum for the object
|
2381
|
+
# when you use the SDK. This header will not provide any additional
|
2382
|
+
# functionality if you don't use the SDK. When you send this header,
|
2383
|
+
# there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
|
2384
|
+
# header sent. Otherwise, Amazon S3 fails the request with the HTTP
|
2385
|
+
# status code `400 Bad Request`. For more information, see [Checking
|
2386
|
+
# object integrity][1] in the *Amazon S3 User Guide*.
|
2387
|
+
#
|
2388
|
+
# If you provide an individual checksum, Amazon S3 ignores any provided
|
2389
|
+
# `ChecksumAlgorithm` parameter.
|
2390
|
+
#
|
2391
|
+
#
|
2392
|
+
#
|
2393
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
1184
2394
|
# @option options [String] :expected_bucket_owner
|
1185
|
-
# The account ID of the expected bucket owner. If the
|
1186
|
-
#
|
1187
|
-
#
|
2395
|
+
# The account ID of the expected bucket owner. If the account ID that
|
2396
|
+
# you provide does not match the actual owner of the bucket, the request
|
2397
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
1188
2398
|
# @return [Types::RestoreObjectOutput]
|
1189
2399
|
def restore_object(options = {})
|
1190
2400
|
options = options.merge(
|
1191
2401
|
bucket: @bucket_name,
|
1192
2402
|
key: @key
|
1193
2403
|
)
|
1194
|
-
resp =
|
2404
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
2405
|
+
@client.restore_object(options)
|
2406
|
+
end
|
1195
2407
|
resp.data
|
1196
2408
|
end
|
1197
2409
|
|
@@ -1317,6 +2529,7 @@ module Aws::S3
|
|
1317
2529
|
# request_payer: "requester", # accepts requester
|
1318
2530
|
# bypass_governance_retention: false,
|
1319
2531
|
# expected_bucket_owner: "AccountId",
|
2532
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
1320
2533
|
# })
|
1321
2534
|
# @param options ({})
|
1322
2535
|
# @option options [String] :mfa
|
@@ -1324,24 +2537,85 @@ module Aws::S3
|
|
1324
2537
|
# space, and the value that is displayed on your authentication device.
|
1325
2538
|
# Required to permanently delete a versioned object if versioning is
|
1326
2539
|
# configured with MFA delete enabled.
|
2540
|
+
#
|
2541
|
+
# When performing the `DeleteObjects` operation on an MFA delete enabled
|
2542
|
+
# bucket, which attempts to delete the specified versioned objects, you
|
2543
|
+
# must include an MFA token. If you don't provide an MFA token, the
|
2544
|
+
# entire request will fail, even if there are non-versioned objects that
|
2545
|
+
# you are trying to delete. If you provide an invalid token, whether
|
2546
|
+
# there are versioned object keys in the request or not, the entire
|
2547
|
+
# Multi-Object Delete request will fail. For information about MFA
|
2548
|
+
# Delete, see [ MFA Delete][1] in the *Amazon S3 User Guide*.
|
2549
|
+
#
|
2550
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2551
|
+
#
|
2552
|
+
# </note>
|
2553
|
+
#
|
2554
|
+
#
|
2555
|
+
#
|
2556
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete
|
1327
2557
|
# @option options [String] :request_payer
|
1328
2558
|
# Confirms that the requester knows that they will be charged for the
|
1329
2559
|
# request. Bucket owners need not specify this parameter in their
|
1330
|
-
# requests.
|
1331
|
-
#
|
2560
|
+
# requests. If either the source or destination S3 bucket has Requester
|
2561
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
2562
|
+
# the object. For information about downloading objects from Requester
|
2563
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
1332
2564
|
# in the *Amazon S3 User Guide*.
|
1333
2565
|
#
|
2566
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2567
|
+
#
|
2568
|
+
# </note>
|
2569
|
+
#
|
1334
2570
|
#
|
1335
2571
|
#
|
1336
2572
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
1337
2573
|
# @option options [Boolean] :bypass_governance_retention
|
1338
2574
|
# Specifies whether you want to delete this object even if it has a
|
1339
2575
|
# Governance-type Object Lock in place. To use this header, you must
|
1340
|
-
# have the `s3:
|
2576
|
+
# have the `s3:BypassGovernanceRetention` permission.
|
2577
|
+
#
|
2578
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2579
|
+
#
|
2580
|
+
# </note>
|
1341
2581
|
# @option options [String] :expected_bucket_owner
|
1342
|
-
# The account ID of the expected bucket owner. If the
|
1343
|
-
#
|
1344
|
-
#
|
2582
|
+
# The account ID of the expected bucket owner. If the account ID that
|
2583
|
+
# you provide does not match the actual owner of the bucket, the request
|
2584
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
2585
|
+
# @option options [String] :checksum_algorithm
|
2586
|
+
# Indicates the algorithm used to create the checksum for the object
|
2587
|
+
# when you use the SDK. This header will not provide any additional
|
2588
|
+
# functionality if you don't use the SDK. When you send this header,
|
2589
|
+
# there must be a corresponding `x-amz-checksum-algorithm ` or
|
2590
|
+
# `x-amz-trailer` header sent. Otherwise, Amazon S3 fails the request
|
2591
|
+
# with the HTTP status code `400 Bad Request`.
|
2592
|
+
#
|
2593
|
+
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
2594
|
+
# the supported algorithm from the following list:
|
2595
|
+
#
|
2596
|
+
# * CRC32
|
2597
|
+
#
|
2598
|
+
# * CRC32C
|
2599
|
+
#
|
2600
|
+
# * SHA1
|
2601
|
+
#
|
2602
|
+
# * SHA256
|
2603
|
+
#
|
2604
|
+
# For more information, see [Checking object integrity][1] in the
|
2605
|
+
# *Amazon S3 User Guide*.
|
2606
|
+
#
|
2607
|
+
# If the individual checksum value you provide through
|
2608
|
+
# `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
|
2609
|
+
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3 ignores any
|
2610
|
+
# provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
|
2611
|
+
# that matches the provided value in `x-amz-checksum-algorithm `.
|
2612
|
+
#
|
2613
|
+
# If you provide an individual checksum, Amazon S3 ignores any provided
|
2614
|
+
# `ChecksumAlgorithm` parameter.
|
2615
|
+
#
|
2616
|
+
#
|
2617
|
+
#
|
2618
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
1345
2619
|
# @return [void]
|
1346
2620
|
def batch_delete!(options = {})
|
1347
2621
|
batch_enum.each do |batch|
|
@@ -1354,7 +2628,9 @@ module Aws::S3
|
|
1354
2628
|
key: item.key
|
1355
2629
|
}
|
1356
2630
|
end
|
1357
|
-
|
2631
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
2632
|
+
batch[0].client.delete_objects(params)
|
2633
|
+
end
|
1358
2634
|
end
|
1359
2635
|
nil
|
1360
2636
|
end
|