aws-sdk-s3 1.96.2 → 1.132.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 +256 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/bucket.rb +226 -76
- data/lib/aws-sdk-s3/bucket_acl.rb +30 -7
- data/lib/aws-sdk-s3/bucket_cors.rb +35 -10
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +39 -12
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +40 -10
- data/lib/aws-sdk-s3/bucket_logging.rb +30 -7
- data/lib/aws-sdk-s3/bucket_notification.rb +28 -10
- data/lib/aws-sdk-s3/bucket_policy.rb +35 -10
- data/lib/aws-sdk-s3/bucket_request_payment.rb +30 -7
- data/lib/aws-sdk-s3/bucket_tagging.rb +35 -10
- data/lib/aws-sdk-s3/bucket_versioning.rb +78 -17
- data/lib/aws-sdk-s3/bucket_website.rb +35 -10
- data/lib/aws-sdk-s3/client.rb +3854 -2120
- data/lib/aws-sdk-s3/client_api.rb +601 -208
- data/lib/aws-sdk-s3/customizations/bucket.rb +23 -47
- data/lib/aws-sdk-s3/customizations/errors.rb +27 -0
- data/lib/aws-sdk-s3/customizations/object.rb +130 -24
- data/lib/aws-sdk-s3/customizations/types/permanent_redirect.rb +26 -0
- data/lib/aws-sdk-s3/customizations.rb +2 -0
- data/lib/aws-sdk-s3/encryption/client.rb +7 -3
- data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +0 -4
- data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +13 -9
- data/lib/aws-sdk-s3/encryptionV2/client.rb +7 -3
- data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +1 -4
- data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +0 -4
- data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -6
- data/lib/aws-sdk-s3/endpoint_parameters.rb +146 -0
- data/lib/aws-sdk-s3/endpoint_provider.rb +509 -0
- data/lib/aws-sdk-s3/endpoints.rb +2150 -0
- data/lib/aws-sdk-s3/file_downloader.rb +57 -27
- data/lib/aws-sdk-s3/file_uploader.rb +12 -5
- data/lib/aws-sdk-s3/multipart_file_uploader.rb +26 -7
- data/lib/aws-sdk-s3/multipart_stream_uploader.rb +41 -13
- data/lib/aws-sdk-s3/multipart_upload.rb +138 -16
- data/lib/aws-sdk-s3/multipart_upload_part.rb +144 -18
- data/lib/aws-sdk-s3/object.rb +364 -160
- data/lib/aws-sdk-s3/object_acl.rb +32 -9
- data/lib/aws-sdk-s3/object_copier.rb +7 -5
- data/lib/aws-sdk-s3/object_multipart_copier.rb +41 -19
- data/lib/aws-sdk-s3/object_summary.rb +291 -123
- data/lib/aws-sdk-s3/object_version.rb +99 -46
- data/lib/aws-sdk-s3/plugins/accelerate.rb +3 -44
- data/lib/aws-sdk-s3/plugins/arn.rb +22 -180
- 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 -55
- data/lib/aws-sdk-s3/plugins/endpoints.rb +262 -0
- data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +2 -1
- data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +6 -29
- data/lib/aws-sdk-s3/plugins/md5s.rb +5 -3
- data/lib/aws-sdk-s3/plugins/s3_signer.rb +35 -100
- 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 +24 -29
- data/lib/aws-sdk-s3/resource.rb +25 -3
- data/lib/aws-sdk-s3/types.rb +3307 -4625
- data/lib/aws-sdk-s3.rb +5 -1
- metadata +14 -11
- data/lib/aws-sdk-s3/arn/access_point_arn.rb +0 -69
- data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +0 -69
- data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +0 -73
- data/lib/aws-sdk-s3/plugins/object_lambda_endpoint.rb +0 -25
data/lib/aws-sdk-s3/object.rb
CHANGED
@@ -57,9 +57,9 @@ module Aws::S3
|
|
57
57
|
end
|
58
58
|
|
59
59
|
# If the object expiration is configured (see PUT Bucket lifecycle), the
|
60
|
-
# response includes this header. It includes the expiry-date and
|
61
|
-
# key-value pairs providing object expiration information. The
|
62
|
-
# the rule-id is URL
|
60
|
+
# response includes this header. It includes the `expiry-date` and
|
61
|
+
# `rule-id` key-value pairs providing object expiration information. The
|
62
|
+
# value of the `rule-id` is URL-encoded.
|
63
63
|
# @return [String]
|
64
64
|
def expiration
|
65
65
|
data[:expiration]
|
@@ -109,8 +109,64 @@ module Aws::S3
|
|
109
109
|
data[:content_length]
|
110
110
|
end
|
111
111
|
|
112
|
-
#
|
113
|
-
#
|
112
|
+
# The base64-encoded, 32-bit CRC32 checksum of the object. This will
|
113
|
+
# only be present if it was uploaded with the object. With multipart
|
114
|
+
# uploads, this may not be a checksum value of the object. For more
|
115
|
+
# information about how checksums are calculated with multipart uploads,
|
116
|
+
# see [ Checking object integrity][1] in the *Amazon S3 User Guide*.
|
117
|
+
#
|
118
|
+
#
|
119
|
+
#
|
120
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
|
121
|
+
# @return [String]
|
122
|
+
def checksum_crc32
|
123
|
+
data[:checksum_crc32]
|
124
|
+
end
|
125
|
+
|
126
|
+
# The base64-encoded, 32-bit CRC32C checksum of the object. This will
|
127
|
+
# only be present if it was uploaded with the object. With multipart
|
128
|
+
# uploads, this may not be a checksum value of the object. For more
|
129
|
+
# information about how checksums are calculated with multipart uploads,
|
130
|
+
# see [ Checking object integrity][1] in the *Amazon S3 User Guide*.
|
131
|
+
#
|
132
|
+
#
|
133
|
+
#
|
134
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
|
135
|
+
# @return [String]
|
136
|
+
def checksum_crc32c
|
137
|
+
data[:checksum_crc32c]
|
138
|
+
end
|
139
|
+
|
140
|
+
# The base64-encoded, 160-bit SHA-1 digest of the object. This will only
|
141
|
+
# be present if it was uploaded with the object. With multipart uploads,
|
142
|
+
# this may not be a checksum value of the object. For more information
|
143
|
+
# about how checksums are calculated with multipart uploads, see [
|
144
|
+
# Checking object integrity][1] in the *Amazon S3 User Guide*.
|
145
|
+
#
|
146
|
+
#
|
147
|
+
#
|
148
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
|
149
|
+
# @return [String]
|
150
|
+
def checksum_sha1
|
151
|
+
data[:checksum_sha1]
|
152
|
+
end
|
153
|
+
|
154
|
+
# The base64-encoded, 256-bit SHA-256 digest of the object. This will
|
155
|
+
# only be present if it was uploaded with the object. With multipart
|
156
|
+
# uploads, this may not be a checksum value of the object. For more
|
157
|
+
# information about how checksums are calculated with multipart uploads,
|
158
|
+
# see [ Checking object integrity][1] in the *Amazon S3 User Guide*.
|
159
|
+
#
|
160
|
+
#
|
161
|
+
#
|
162
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
|
163
|
+
# @return [String]
|
164
|
+
def checksum_sha256
|
165
|
+
data[:checksum_sha256]
|
166
|
+
end
|
167
|
+
|
168
|
+
# An entity tag (ETag) is an opaque identifier assigned by a web server
|
169
|
+
# to a specific version of a resource found at a URL.
|
114
170
|
# @return [String]
|
115
171
|
def etag
|
116
172
|
data[:etag]
|
@@ -183,11 +239,8 @@ module Aws::S3
|
|
183
239
|
data[:website_redirect_location]
|
184
240
|
end
|
185
241
|
|
186
|
-
#
|
187
|
-
#
|
188
|
-
# key, the response includes this header with the value of the
|
189
|
-
# server-side encryption algorithm used when storing this object in
|
190
|
-
# Amazon S3 (for example, AES256, aws:kms).
|
242
|
+
# The server-side encryption algorithm used when storing this object in
|
243
|
+
# Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
|
191
244
|
# @return [String]
|
192
245
|
def server_side_encryption
|
193
246
|
data[:server_side_encryption]
|
@@ -216,16 +269,16 @@ module Aws::S3
|
|
216
269
|
data[:sse_customer_key_md5]
|
217
270
|
end
|
218
271
|
|
219
|
-
# If present, specifies the ID of the
|
220
|
-
#
|
221
|
-
#
|
272
|
+
# If present, specifies the ID of the Key Management Service (KMS)
|
273
|
+
# symmetric encryption customer managed key that was used for the
|
274
|
+
# object.
|
222
275
|
# @return [String]
|
223
276
|
def ssekms_key_id
|
224
277
|
data[:ssekms_key_id]
|
225
278
|
end
|
226
279
|
|
227
280
|
# Indicates whether the object uses an S3 Bucket Key for server-side
|
228
|
-
# encryption with
|
281
|
+
# encryption with Key Management Service (KMS) keys (SSE-KMS).
|
229
282
|
# @return [Boolean]
|
230
283
|
def bucket_key_enabled
|
231
284
|
data[:bucket_key_enabled]
|
@@ -261,7 +314,7 @@ module Aws::S3
|
|
261
314
|
# metadata (`HeadObject`) from these buckets, Amazon S3 will return the
|
262
315
|
# `x-amz-replication-status` header in the response as follows:
|
263
316
|
#
|
264
|
-
# * If requesting an object from the source bucket
|
317
|
+
# * **If requesting an object from the source bucket**, Amazon S3 will
|
265
318
|
# return the `x-amz-replication-status` header if the object in your
|
266
319
|
# request is eligible for replication.
|
267
320
|
#
|
@@ -274,12 +327,12 @@ module Aws::S3
|
|
274
327
|
# value PENDING, COMPLETED or FAILED indicating object replication
|
275
328
|
# status.
|
276
329
|
#
|
277
|
-
# * If requesting an object from a destination bucket
|
278
|
-
# return the `x-amz-replication-status` header with value REPLICA
|
279
|
-
# the object in your request is a replica that Amazon S3 created
|
280
|
-
# there is no replica modification replication in progress.
|
330
|
+
# * **If requesting an object from a destination bucket**, Amazon S3
|
331
|
+
# will return the `x-amz-replication-status` header with value REPLICA
|
332
|
+
# if the object in your request is a replica that Amazon S3 created
|
333
|
+
# and there is no replica modification replication in progress.
|
281
334
|
#
|
282
|
-
# * When replicating objects to multiple destination buckets the
|
335
|
+
# * **When replicating objects to multiple destination buckets**, the
|
283
336
|
# `x-amz-replication-status` header acts differently. The header of
|
284
337
|
# the source object will only return a value of COMPLETED when
|
285
338
|
# replication is successful to all destinations. The header will
|
@@ -297,7 +350,9 @@ module Aws::S3
|
|
297
350
|
data[:replication_status]
|
298
351
|
end
|
299
352
|
|
300
|
-
# The count of parts this object has.
|
353
|
+
# The count of parts this object has. This value is only returned if you
|
354
|
+
# specify `partNumber` in your request and the object was uploaded as a
|
355
|
+
# multipart upload.
|
301
356
|
# @return [Integer]
|
302
357
|
def parts_count
|
303
358
|
data[:parts_count]
|
@@ -352,10 +407,12 @@ module Aws::S3
|
|
352
407
|
#
|
353
408
|
# @return [self]
|
354
409
|
def load
|
355
|
-
resp =
|
410
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
411
|
+
@client.head_object(
|
356
412
|
bucket: @bucket_name,
|
357
413
|
key: @key
|
358
414
|
)
|
415
|
+
end
|
359
416
|
@data = resp.data
|
360
417
|
self
|
361
418
|
end
|
@@ -400,8 +457,10 @@ module Aws::S3
|
|
400
457
|
options, params = separate_params_and_options(options)
|
401
458
|
waiter = Waiters::ObjectExists.new(options)
|
402
459
|
yield_waiter_and_warn(waiter, &block) if block_given?
|
403
|
-
|
460
|
+
Aws::Plugins::UserAgent.feature('resource') do
|
461
|
+
waiter.wait(params.merge(bucket: @bucket_name,
|
404
462
|
key: @key))
|
463
|
+
end
|
405
464
|
Object.new({
|
406
465
|
bucket_name: @bucket_name,
|
407
466
|
key: @key,
|
@@ -419,8 +478,10 @@ module Aws::S3
|
|
419
478
|
options, params = separate_params_and_options(options)
|
420
479
|
waiter = Waiters::ObjectNotExists.new(options)
|
421
480
|
yield_waiter_and_warn(waiter, &block) if block_given?
|
422
|
-
|
481
|
+
Aws::Plugins::UserAgent.feature('resource') do
|
482
|
+
waiter.wait(params.merge(bucket: @bucket_name,
|
423
483
|
key: @key))
|
484
|
+
end
|
424
485
|
Object.new({
|
425
486
|
bucket_name: @bucket_name,
|
426
487
|
key: @key,
|
@@ -522,7 +583,9 @@ module Aws::S3
|
|
522
583
|
:retry
|
523
584
|
end
|
524
585
|
end
|
525
|
-
Aws::
|
586
|
+
Aws::Plugins::UserAgent.feature('resource') do
|
587
|
+
Aws::Waiters::Waiter.new(options).wait({})
|
588
|
+
end
|
526
589
|
end
|
527
590
|
|
528
591
|
# @!group Actions
|
@@ -532,6 +595,7 @@ module Aws::S3
|
|
532
595
|
# object.copy_from({
|
533
596
|
# acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
|
534
597
|
# cache_control: "CacheControl",
|
598
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
535
599
|
# content_disposition: "ContentDisposition",
|
536
600
|
# content_encoding: "ContentEncoding",
|
537
601
|
# content_language: "ContentLanguage",
|
@@ -551,8 +615,8 @@ module Aws::S3
|
|
551
615
|
# },
|
552
616
|
# metadata_directive: "COPY", # accepts COPY, REPLACE
|
553
617
|
# tagging_directive: "COPY", # accepts COPY, REPLACE
|
554
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
555
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
|
618
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
619
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
|
556
620
|
# website_redirect_location: "WebsiteRedirectLocation",
|
557
621
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
558
622
|
# sse_customer_key: "SSECustomerKey",
|
@@ -578,6 +642,14 @@ module Aws::S3
|
|
578
642
|
# This action is not supported by Amazon S3 on Outposts.
|
579
643
|
# @option options [String] :cache_control
|
580
644
|
# Specifies caching behavior along the request/reply chain.
|
645
|
+
# @option options [String] :checksum_algorithm
|
646
|
+
# Indicates the algorithm you want Amazon S3 to use to create the
|
647
|
+
# checksum for the object. For more information, see [Checking object
|
648
|
+
# integrity][1] in the *Amazon S3 User Guide*.
|
649
|
+
#
|
650
|
+
#
|
651
|
+
#
|
652
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
581
653
|
# @option options [String] :content_disposition
|
582
654
|
# Specifies presentational information for the object.
|
583
655
|
# @option options [String] :content_encoding
|
@@ -591,14 +663,14 @@ module Aws::S3
|
|
591
663
|
# @option options [required, String] :copy_source
|
592
664
|
# Specifies the source object for the copy operation. You specify the
|
593
665
|
# value in one of two formats, depending on whether you want to access
|
594
|
-
# the source object through an [access point][1]
|
666
|
+
# the source object through an [access point][1]:
|
595
667
|
#
|
596
668
|
# * For objects not accessed through an access point, specify the name
|
597
669
|
# of the source bucket and the key of the source object, separated by
|
598
670
|
# a slash (/). For example, to copy the object `reports/january.pdf`
|
599
671
|
# from the bucket `awsexamplebucket`, use
|
600
|
-
# `awsexamplebucket/reports/january.pdf`. The value must be
|
601
|
-
# encoded.
|
672
|
+
# `awsexamplebucket/reports/january.pdf`. The value must be
|
673
|
+
# URL-encoded.
|
602
674
|
#
|
603
675
|
# * For objects accessed through access points, specify the Amazon
|
604
676
|
# Resource Name (ARN) of the object as accessed through the access
|
@@ -611,7 +683,8 @@ module Aws::S3
|
|
611
683
|
# The value must be URL encoded.
|
612
684
|
#
|
613
685
|
# <note markdown="1"> Amazon S3 supports copy operations using access points only when the
|
614
|
-
# source and destination buckets are in the same
|
686
|
+
# source and destination buckets are in the same Amazon Web Services
|
687
|
+
# Region.
|
615
688
|
#
|
616
689
|
# </note>
|
617
690
|
#
|
@@ -622,7 +695,7 @@ module Aws::S3
|
|
622
695
|
# outpost `my-outpost` owned by account `123456789012` in Region
|
623
696
|
# `us-west-2`, use the URL encoding of
|
624
697
|
# `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
|
625
|
-
# The value must be URL
|
698
|
+
# The value must be URL-encoded.
|
626
699
|
#
|
627
700
|
# To copy a specific version of an object, append
|
628
701
|
# `?versionId=<version-id>` to the value (for example,
|
@@ -672,7 +745,7 @@ module Aws::S3
|
|
672
745
|
# or replaced with tag-set provided in the request.
|
673
746
|
# @option options [String] :server_side_encryption
|
674
747
|
# The server-side encryption algorithm used when storing this object in
|
675
|
-
# Amazon S3 (for example, AES256
|
748
|
+
# Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
|
676
749
|
# @option options [String] :storage_class
|
677
750
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
678
751
|
# created objects. The STANDARD storage class provides high durability
|
@@ -687,7 +760,10 @@ module Aws::S3
|
|
687
760
|
# @option options [String] :website_redirect_location
|
688
761
|
# If the bucket is configured as a website, redirects requests for this
|
689
762
|
# object to another object in the same bucket or to an external URL.
|
690
|
-
# Amazon S3 stores the value of this header in the object metadata.
|
763
|
+
# Amazon S3 stores the value of this header in the object metadata. This
|
764
|
+
# value is unique to each object and is not copied when using the
|
765
|
+
# `x-amz-metadata-directive` header. Instead, you may opt to provide
|
766
|
+
# this header in combination with the directive.
|
691
767
|
# @option options [String] :sse_customer_algorithm
|
692
768
|
# Specifies the algorithm to use to when encrypting the object (for
|
693
769
|
# example, AES256).
|
@@ -702,25 +778,25 @@ module Aws::S3
|
|
702
778
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
703
779
|
# ensure that the encryption key was transmitted without error.
|
704
780
|
# @option options [String] :ssekms_key_id
|
705
|
-
# Specifies the
|
706
|
-
#
|
707
|
-
# via SSL or using SigV4. For information about configuring
|
708
|
-
#
|
709
|
-
#
|
710
|
-
# Guide*.
|
781
|
+
# Specifies the KMS key ID to use for object encryption. All GET and PUT
|
782
|
+
# requests for an object protected by KMS will fail if they're not made
|
783
|
+
# via SSL or using SigV4. For information about configuring any of the
|
784
|
+
# officially supported Amazon Web Services SDKs and Amazon Web Services
|
785
|
+
# CLI, see [Specifying the Signature Version in Request
|
786
|
+
# Authentication][1] in the *Amazon S3 User Guide*.
|
711
787
|
#
|
712
788
|
#
|
713
789
|
#
|
714
790
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
|
715
791
|
# @option options [String] :ssekms_encryption_context
|
716
|
-
# Specifies the
|
717
|
-
# The value of this header is a base64-encoded UTF-8
|
718
|
-
# with the encryption context key-value pairs.
|
792
|
+
# Specifies the Amazon Web Services KMS Encryption Context to use for
|
793
|
+
# object encryption. The value of this header is a base64-encoded UTF-8
|
794
|
+
# string holding JSON with the encryption context key-value pairs.
|
719
795
|
# @option options [Boolean] :bucket_key_enabled
|
720
796
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
721
|
-
# encryption with server-side encryption using
|
722
|
-
# Setting this header to `true` causes Amazon S3
|
723
|
-
# for object encryption with SSE-KMS.
|
797
|
+
# encryption with server-side encryption using Key Management Service
|
798
|
+
# (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
|
799
|
+
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
724
800
|
#
|
725
801
|
# Specifying this header with a COPY action doesn’t affect bucket-level
|
726
802
|
# settings for S3 Bucket Key.
|
@@ -738,8 +814,8 @@ module Aws::S3
|
|
738
814
|
# @option options [String] :request_payer
|
739
815
|
# Confirms that the requester knows that they will be charged for the
|
740
816
|
# request. Bucket owners need not specify this parameter in their
|
741
|
-
# requests. For information about downloading objects from
|
742
|
-
#
|
817
|
+
# requests. For information about downloading objects from Requester
|
818
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
743
819
|
# in the *Amazon S3 User Guide*.
|
744
820
|
#
|
745
821
|
#
|
@@ -755,22 +831,24 @@ module Aws::S3
|
|
755
831
|
# The date and time when you want the copied object's Object Lock to
|
756
832
|
# expire.
|
757
833
|
# @option options [String] :object_lock_legal_hold_status
|
758
|
-
# Specifies whether you want to apply a
|
834
|
+
# Specifies whether you want to apply a legal hold to the copied object.
|
759
835
|
# @option options [String] :expected_bucket_owner
|
760
836
|
# The account ID of the expected destination bucket owner. If the
|
761
|
-
# destination bucket is owned by a different account, the request
|
762
|
-
#
|
837
|
+
# destination bucket is owned by a different account, the request fails
|
838
|
+
# with the HTTP status code `403 Forbidden` (access denied).
|
763
839
|
# @option options [String] :expected_source_bucket_owner
|
764
840
|
# The account ID of the expected source bucket owner. If the source
|
765
|
-
# bucket is owned by a different account, the request
|
766
|
-
# HTTP `403 (
|
841
|
+
# bucket is owned by a different account, the request fails with the
|
842
|
+
# HTTP status code `403 Forbidden` (access denied).
|
767
843
|
# @return [Types::CopyObjectOutput]
|
768
844
|
def copy_from(options = {})
|
769
845
|
options = options.merge(
|
770
846
|
bucket: @bucket_name,
|
771
847
|
key: @key
|
772
848
|
)
|
773
|
-
resp =
|
849
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
850
|
+
@client.copy_object(options)
|
851
|
+
end
|
774
852
|
resp.data
|
775
853
|
end
|
776
854
|
|
@@ -794,8 +872,8 @@ module Aws::S3
|
|
794
872
|
# @option options [String] :request_payer
|
795
873
|
# Confirms that the requester knows that they will be charged for the
|
796
874
|
# request. Bucket owners need not specify this parameter in their
|
797
|
-
# requests. For information about downloading objects from
|
798
|
-
#
|
875
|
+
# requests. For information about downloading objects from Requester
|
876
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
799
877
|
# in the *Amazon S3 User Guide*.
|
800
878
|
#
|
801
879
|
#
|
@@ -803,18 +881,21 @@ module Aws::S3
|
|
803
881
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
804
882
|
# @option options [Boolean] :bypass_governance_retention
|
805
883
|
# Indicates whether S3 Object Lock should bypass Governance-mode
|
806
|
-
# restrictions to process this operation.
|
884
|
+
# restrictions to process this operation. To use this header, you must
|
885
|
+
# have the `s3:BypassGovernanceRetention` permission.
|
807
886
|
# @option options [String] :expected_bucket_owner
|
808
887
|
# The account ID of the expected bucket owner. If the bucket is owned by
|
809
|
-
# a different account, the request
|
810
|
-
#
|
888
|
+
# a different account, the request fails with the HTTP status code `403
|
889
|
+
# Forbidden` (access denied).
|
811
890
|
# @return [Types::DeleteObjectOutput]
|
812
891
|
def delete(options = {})
|
813
892
|
options = options.merge(
|
814
893
|
bucket: @bucket_name,
|
815
894
|
key: @key
|
816
895
|
)
|
817
|
-
resp =
|
896
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
897
|
+
@client.delete_object(options)
|
898
|
+
end
|
818
899
|
resp.data
|
819
900
|
end
|
820
901
|
|
@@ -839,24 +920,25 @@ module Aws::S3
|
|
839
920
|
# request_payer: "requester", # accepts requester
|
840
921
|
# part_number: 1,
|
841
922
|
# expected_bucket_owner: "AccountId",
|
923
|
+
# checksum_mode: "ENABLED", # accepts ENABLED
|
842
924
|
# })
|
843
925
|
# @param [Hash] options ({})
|
844
926
|
# @option options [String] :if_match
|
845
927
|
# Return the object only if its entity tag (ETag) is the same as the one
|
846
|
-
# specified
|
928
|
+
# specified; otherwise, return a 412 (precondition failed) error.
|
847
929
|
# @option options [Time,DateTime,Date,Integer,String] :if_modified_since
|
848
930
|
# Return the object only if it has been modified since the specified
|
849
|
-
# time
|
931
|
+
# time; otherwise, return a 304 (not modified) error.
|
850
932
|
# @option options [String] :if_none_match
|
851
933
|
# Return the object only if its entity tag (ETag) is different from the
|
852
|
-
# one specified
|
934
|
+
# one specified; otherwise, return a 304 (not modified) error.
|
853
935
|
# @option options [Time,DateTime,Date,Integer,String] :if_unmodified_since
|
854
936
|
# Return the object only if it has not been modified since the specified
|
855
|
-
# time
|
937
|
+
# time; otherwise, return a 412 (precondition failed) error.
|
856
938
|
# @option options [String] :range
|
857
939
|
# Downloads the specified range bytes of an object. For more information
|
858
940
|
# about the HTTP Range header, see
|
859
|
-
# [https://www.
|
941
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#name-range][1].
|
860
942
|
#
|
861
943
|
# <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
|
862
944
|
# `GET` request.
|
@@ -865,7 +947,7 @@ module Aws::S3
|
|
865
947
|
#
|
866
948
|
#
|
867
949
|
#
|
868
|
-
# [1]: https://www.
|
950
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-range
|
869
951
|
# @option options [String] :response_cache_control
|
870
952
|
# Sets the `Cache-Control` header of the response.
|
871
953
|
# @option options [String] :response_content_disposition
|
@@ -896,8 +978,8 @@ module Aws::S3
|
|
896
978
|
# @option options [String] :request_payer
|
897
979
|
# Confirms that the requester knows that they will be charged for the
|
898
980
|
# request. Bucket owners need not specify this parameter in their
|
899
|
-
# requests. For information about downloading objects from
|
900
|
-
#
|
981
|
+
# requests. For information about downloading objects from Requester
|
982
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
901
983
|
# in the *Amazon S3 User Guide*.
|
902
984
|
#
|
903
985
|
#
|
@@ -910,15 +992,19 @@ module Aws::S3
|
|
910
992
|
# object.
|
911
993
|
# @option options [String] :expected_bucket_owner
|
912
994
|
# The account ID of the expected bucket owner. If the bucket is owned by
|
913
|
-
# a different account, the request
|
914
|
-
#
|
995
|
+
# a different account, the request fails with the HTTP status code `403
|
996
|
+
# Forbidden` (access denied).
|
997
|
+
# @option options [String] :checksum_mode
|
998
|
+
# To retrieve the checksum, this mode must be enabled.
|
915
999
|
# @return [Types::GetObjectOutput]
|
916
1000
|
def get(options = {}, &block)
|
917
1001
|
options = options.merge(
|
918
1002
|
bucket: @bucket_name,
|
919
1003
|
key: @key
|
920
1004
|
)
|
921
|
-
resp =
|
1005
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
1006
|
+
@client.get_object(options, &block)
|
1007
|
+
end
|
922
1008
|
resp.data
|
923
1009
|
end
|
924
1010
|
|
@@ -939,8 +1025,8 @@ module Aws::S3
|
|
939
1025
|
# metadata: {
|
940
1026
|
# "MetadataKey" => "MetadataValue",
|
941
1027
|
# },
|
942
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
943
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
|
1028
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
1029
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
|
944
1030
|
# website_redirect_location: "WebsiteRedirectLocation",
|
945
1031
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
946
1032
|
# sse_customer_key: "SSECustomerKey",
|
@@ -954,6 +1040,7 @@ module Aws::S3
|
|
954
1040
|
# object_lock_retain_until_date: Time.now,
|
955
1041
|
# object_lock_legal_hold_status: "ON", # accepts ON, OFF
|
956
1042
|
# expected_bucket_owner: "AccountId",
|
1043
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
957
1044
|
# })
|
958
1045
|
# @param [Hash] options ({})
|
959
1046
|
# @option options [String] :acl
|
@@ -995,7 +1082,7 @@ module Aws::S3
|
|
995
1082
|
# A map of metadata to store with the object in S3.
|
996
1083
|
# @option options [String] :server_side_encryption
|
997
1084
|
# The server-side encryption algorithm used when storing this object in
|
998
|
-
# Amazon S3 (for example, AES256
|
1085
|
+
# Amazon S3 (for example, `AES256`, `aws:kms`).
|
999
1086
|
# @option options [String] :storage_class
|
1000
1087
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
1001
1088
|
# created objects. The STANDARD storage class provides high durability
|
@@ -1025,33 +1112,34 @@ module Aws::S3
|
|
1025
1112
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
1026
1113
|
# ensure that the encryption key was transmitted without error.
|
1027
1114
|
# @option options [String] :ssekms_key_id
|
1028
|
-
# Specifies the ID of the symmetric customer managed
|
1029
|
-
# for object encryption. All GET and PUT requests for an object
|
1030
|
-
# protected by
|
1031
|
-
# information about configuring
|
1032
|
-
#
|
1033
|
-
# Authentication][1] in the
|
1115
|
+
# Specifies the ID of the symmetric encryption customer managed key to
|
1116
|
+
# use for object encryption. All GET and PUT requests for an object
|
1117
|
+
# protected by KMS will fail if they're not made via SSL or using
|
1118
|
+
# SigV4. For information about configuring any of the officially
|
1119
|
+
# supported Amazon Web Services SDKs and Amazon Web Services CLI, see
|
1120
|
+
# [Specifying the Signature Version in Request Authentication][1] in the
|
1121
|
+
# *Amazon S3 User Guide*.
|
1034
1122
|
#
|
1035
1123
|
#
|
1036
1124
|
#
|
1037
1125
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
|
1038
1126
|
# @option options [String] :ssekms_encryption_context
|
1039
|
-
# Specifies the
|
1040
|
-
# The value of this header is a base64-encoded UTF-8
|
1041
|
-
# with the encryption context key-value pairs.
|
1127
|
+
# Specifies the Amazon Web Services KMS Encryption Context to use for
|
1128
|
+
# object encryption. The value of this header is a base64-encoded UTF-8
|
1129
|
+
# string holding JSON with the encryption context key-value pairs.
|
1042
1130
|
# @option options [Boolean] :bucket_key_enabled
|
1043
1131
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
1044
|
-
# encryption with server-side encryption using
|
1045
|
-
# Setting this header to `true` causes Amazon S3
|
1046
|
-
# for object encryption with SSE-KMS.
|
1132
|
+
# encryption with server-side encryption using Key Management Service
|
1133
|
+
# (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
|
1134
|
+
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
1047
1135
|
#
|
1048
1136
|
# Specifying this header with an object action doesn’t affect
|
1049
1137
|
# bucket-level settings for S3 Bucket Key.
|
1050
1138
|
# @option options [String] :request_payer
|
1051
1139
|
# Confirms that the requester knows that they will be charged for the
|
1052
1140
|
# request. Bucket owners need not specify this parameter in their
|
1053
|
-
# requests. For information about downloading objects from
|
1054
|
-
#
|
1141
|
+
# requests. For information about downloading objects from Requester
|
1142
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
1055
1143
|
# in the *Amazon S3 User Guide*.
|
1056
1144
|
#
|
1057
1145
|
#
|
@@ -1066,19 +1154,29 @@ module Aws::S3
|
|
1066
1154
|
# @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
|
1067
1155
|
# Specifies the date and time when you want the Object Lock to expire.
|
1068
1156
|
# @option options [String] :object_lock_legal_hold_status
|
1069
|
-
# Specifies whether you want to apply a
|
1157
|
+
# Specifies whether you want to apply a legal hold to the uploaded
|
1070
1158
|
# object.
|
1071
1159
|
# @option options [String] :expected_bucket_owner
|
1072
1160
|
# The account ID of the expected bucket owner. If the bucket is owned by
|
1073
|
-
# a different account, the request
|
1074
|
-
#
|
1161
|
+
# a different account, the request fails with the HTTP status code `403
|
1162
|
+
# Forbidden` (access denied).
|
1163
|
+
# @option options [String] :checksum_algorithm
|
1164
|
+
# Indicates the algorithm you want Amazon S3 to use to create the
|
1165
|
+
# checksum for the object. For more information, see [Checking object
|
1166
|
+
# integrity][1] in the *Amazon S3 User Guide*.
|
1167
|
+
#
|
1168
|
+
#
|
1169
|
+
#
|
1170
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
1075
1171
|
# @return [MultipartUpload]
|
1076
1172
|
def initiate_multipart_upload(options = {})
|
1077
1173
|
options = options.merge(
|
1078
1174
|
bucket: @bucket_name,
|
1079
1175
|
key: @key
|
1080
1176
|
)
|
1081
|
-
resp =
|
1177
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
1178
|
+
@client.create_multipart_upload(options)
|
1179
|
+
end
|
1082
1180
|
MultipartUpload.new(
|
1083
1181
|
bucket_name: @bucket_name,
|
1084
1182
|
object_key: @key,
|
@@ -1099,6 +1197,11 @@ module Aws::S3
|
|
1099
1197
|
# content_length: 1,
|
1100
1198
|
# content_md5: "ContentMD5",
|
1101
1199
|
# content_type: "ContentType",
|
1200
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
1201
|
+
# checksum_crc32: "ChecksumCRC32",
|
1202
|
+
# checksum_crc32c: "ChecksumCRC32C",
|
1203
|
+
# checksum_sha1: "ChecksumSHA1",
|
1204
|
+
# checksum_sha256: "ChecksumSHA256",
|
1102
1205
|
# expires: Time.now,
|
1103
1206
|
# grant_full_control: "GrantFullControl",
|
1104
1207
|
# grant_read: "GrantRead",
|
@@ -1107,8 +1210,8 @@ module Aws::S3
|
|
1107
1210
|
# metadata: {
|
1108
1211
|
# "MetadataKey" => "MetadataValue",
|
1109
1212
|
# },
|
1110
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
1111
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
|
1213
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
1214
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
|
1112
1215
|
# website_redirect_location: "WebsiteRedirectLocation",
|
1113
1216
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
1114
1217
|
# sse_customer_key: "SSECustomerKey",
|
@@ -1146,30 +1249,30 @@ module Aws::S3
|
|
1146
1249
|
# @option options [String] :content_disposition
|
1147
1250
|
# Specifies presentational information for the object. For more
|
1148
1251
|
# information, see
|
1149
|
-
# [
|
1252
|
+
# [https://www.rfc-editor.org/rfc/rfc6266#section-4][1].
|
1150
1253
|
#
|
1151
1254
|
#
|
1152
1255
|
#
|
1153
|
-
# [1]:
|
1256
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc6266#section-4
|
1154
1257
|
# @option options [String] :content_encoding
|
1155
1258
|
# Specifies what content encodings have been applied to the object and
|
1156
1259
|
# thus what decoding mechanisms must be applied to obtain the media-type
|
1157
1260
|
# referenced by the Content-Type header field. For more information, see
|
1158
|
-
# [
|
1261
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding][1].
|
1159
1262
|
#
|
1160
1263
|
#
|
1161
1264
|
#
|
1162
|
-
# [1]:
|
1265
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding
|
1163
1266
|
# @option options [String] :content_language
|
1164
1267
|
# The language the content is in.
|
1165
1268
|
# @option options [Integer] :content_length
|
1166
1269
|
# Size of the body in bytes. This parameter is useful when the size of
|
1167
1270
|
# the body cannot be determined automatically. For more information, see
|
1168
|
-
# [
|
1271
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length][1].
|
1169
1272
|
#
|
1170
1273
|
#
|
1171
1274
|
#
|
1172
|
-
# [1]:
|
1275
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
|
1173
1276
|
# @option options [String] :content_md5
|
1174
1277
|
# The base64-encoded 128-bit MD5 digest of the message (without the
|
1175
1278
|
# headers) according to RFC 1864. This header can be used as a message
|
@@ -1185,19 +1288,74 @@ module Aws::S3
|
|
1185
1288
|
# @option options [String] :content_type
|
1186
1289
|
# A standard MIME type describing the format of the contents. For more
|
1187
1290
|
# information, see
|
1188
|
-
# [
|
1291
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type][1].
|
1292
|
+
#
|
1293
|
+
#
|
1294
|
+
#
|
1295
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type
|
1296
|
+
# @option options [String] :checksum_algorithm
|
1297
|
+
# Indicates the algorithm used to create the checksum for the object
|
1298
|
+
# when using the SDK. This header will not provide any additional
|
1299
|
+
# functionality if not using the SDK. When sending this header, there
|
1300
|
+
# must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
|
1301
|
+
# sent. Otherwise, Amazon S3 fails the request with the HTTP status code
|
1302
|
+
# `400 Bad Request`. For more information, see [Checking object
|
1303
|
+
# integrity][1] in the *Amazon S3 User Guide*.
|
1304
|
+
#
|
1305
|
+
# If you provide an individual checksum, Amazon S3 ignores any provided
|
1306
|
+
# `ChecksumAlgorithm` parameter.
|
1307
|
+
#
|
1308
|
+
#
|
1309
|
+
#
|
1310
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
1311
|
+
# @option options [String] :checksum_crc32
|
1312
|
+
# This header can be used as a data integrity check to verify that the
|
1313
|
+
# data received is the same data that was originally sent. This header
|
1314
|
+
# specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
|
1315
|
+
# more information, see [Checking object integrity][1] in the *Amazon S3
|
1316
|
+
# User Guide*.
|
1317
|
+
#
|
1318
|
+
#
|
1189
1319
|
#
|
1320
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
1321
|
+
# @option options [String] :checksum_crc32c
|
1322
|
+
# This header can be used as a data integrity check to verify that the
|
1323
|
+
# data received is the same data that was originally sent. This header
|
1324
|
+
# specifies the base64-encoded, 32-bit CRC32C checksum of the object.
|
1325
|
+
# For more information, see [Checking object integrity][1] in the
|
1326
|
+
# *Amazon S3 User Guide*.
|
1190
1327
|
#
|
1191
1328
|
#
|
1192
|
-
#
|
1329
|
+
#
|
1330
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
1331
|
+
# @option options [String] :checksum_sha1
|
1332
|
+
# This header can be used as a data integrity check to verify that the
|
1333
|
+
# data received is the same data that was originally sent. This header
|
1334
|
+
# specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
|
1335
|
+
# more information, see [Checking object integrity][1] in the *Amazon S3
|
1336
|
+
# User Guide*.
|
1337
|
+
#
|
1338
|
+
#
|
1339
|
+
#
|
1340
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
1341
|
+
# @option options [String] :checksum_sha256
|
1342
|
+
# This header can be used as a data integrity check to verify that the
|
1343
|
+
# data received is the same data that was originally sent. This header
|
1344
|
+
# specifies the base64-encoded, 256-bit SHA-256 digest of the object.
|
1345
|
+
# For more information, see [Checking object integrity][1] in the
|
1346
|
+
# *Amazon S3 User Guide*.
|
1347
|
+
#
|
1348
|
+
#
|
1349
|
+
#
|
1350
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
1193
1351
|
# @option options [Time,DateTime,Date,Integer,String] :expires
|
1194
1352
|
# The date and time at which the object is no longer cacheable. For more
|
1195
1353
|
# information, see
|
1196
|
-
# [
|
1354
|
+
# [https://www.rfc-editor.org/rfc/rfc7234#section-5.3][1].
|
1197
1355
|
#
|
1198
1356
|
#
|
1199
1357
|
#
|
1200
|
-
# [1]:
|
1358
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
|
1201
1359
|
# @option options [String] :grant_full_control
|
1202
1360
|
# Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
|
1203
1361
|
# object.
|
@@ -1219,7 +1377,7 @@ module Aws::S3
|
|
1219
1377
|
# A map of metadata to store with the object in S3.
|
1220
1378
|
# @option options [String] :server_side_encryption
|
1221
1379
|
# The server-side encryption algorithm used when storing this object in
|
1222
|
-
# Amazon S3 (for example, AES256
|
1380
|
+
# Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
|
1223
1381
|
# @option options [String] :storage_class
|
1224
1382
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
1225
1383
|
# created objects. The STANDARD storage class provides high durability
|
@@ -1270,32 +1428,35 @@ module Aws::S3
|
|
1270
1428
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
1271
1429
|
# ensure that the encryption key was transmitted without error.
|
1272
1430
|
# @option options [String] :ssekms_key_id
|
1273
|
-
# If `x-amz-server-side-encryption`
|
1274
|
-
# `aws:kms`, this header specifies the ID of the
|
1275
|
-
# Service (
|
1276
|
-
#
|
1277
|
-
# `x-amz-server-side-encryption:aws:kms`, but do not provide`
|
1278
|
-
# x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
1279
|
-
# managed
|
1280
|
-
#
|
1281
|
-
# not just the ID.
|
1431
|
+
# If `x-amz-server-side-encryption` has a valid value of `aws:kms` or
|
1432
|
+
# `aws:kms:dsse`, this header specifies the ID of the Key Management
|
1433
|
+
# Service (KMS) symmetric encryption customer managed key that was used
|
1434
|
+
# for the object. If you specify `x-amz-server-side-encryption:aws:kms`
|
1435
|
+
# or `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide`
|
1436
|
+
# x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
1437
|
+
# Amazon Web Services managed key (`aws/s3`) to protect the data. If the
|
1438
|
+
# KMS key does not exist in the same account that's issuing the
|
1439
|
+
# command, you must use the full ARN and not just the ID.
|
1282
1440
|
# @option options [String] :ssekms_encryption_context
|
1283
|
-
# Specifies the
|
1284
|
-
# The value of this header is a base64-encoded UTF-8
|
1285
|
-
# with the encryption context key-value pairs.
|
1441
|
+
# Specifies the Amazon Web Services KMS Encryption Context to use for
|
1442
|
+
# object encryption. The value of this header is a base64-encoded UTF-8
|
1443
|
+
# string holding JSON with the encryption context key-value pairs. This
|
1444
|
+
# value is stored as object metadata and automatically gets passed on to
|
1445
|
+
# Amazon Web Services KMS for future `GetObject` or `CopyObject`
|
1446
|
+
# operations on this object.
|
1286
1447
|
# @option options [Boolean] :bucket_key_enabled
|
1287
1448
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
1288
|
-
# encryption with server-side encryption using
|
1289
|
-
# Setting this header to `true` causes Amazon S3
|
1290
|
-
# for object encryption with SSE-KMS.
|
1449
|
+
# encryption with server-side encryption using Key Management Service
|
1450
|
+
# (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
|
1451
|
+
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
1291
1452
|
#
|
1292
1453
|
# Specifying this header with a PUT action doesn’t affect bucket-level
|
1293
1454
|
# settings for S3 Bucket Key.
|
1294
1455
|
# @option options [String] :request_payer
|
1295
1456
|
# Confirms that the requester knows that they will be charged for the
|
1296
1457
|
# request. Bucket owners need not specify this parameter in their
|
1297
|
-
# requests. For information about downloading objects from
|
1298
|
-
#
|
1458
|
+
# requests. For information about downloading objects from Requester
|
1459
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
1299
1460
|
# in the *Amazon S3 User Guide*.
|
1300
1461
|
#
|
1301
1462
|
#
|
@@ -1318,15 +1479,17 @@ module Aws::S3
|
|
1318
1479
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
|
1319
1480
|
# @option options [String] :expected_bucket_owner
|
1320
1481
|
# The account ID of the expected bucket owner. If the bucket is owned by
|
1321
|
-
# a different account, the request
|
1322
|
-
#
|
1482
|
+
# a different account, the request fails with the HTTP status code `403
|
1483
|
+
# Forbidden` (access denied).
|
1323
1484
|
# @return [Types::PutObjectOutput]
|
1324
1485
|
def put(options = {})
|
1325
1486
|
options = options.merge(
|
1326
1487
|
bucket: @bucket_name,
|
1327
1488
|
key: @key
|
1328
1489
|
)
|
1329
|
-
resp =
|
1490
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
1491
|
+
@client.put_object(options)
|
1492
|
+
end
|
1330
1493
|
resp.data
|
1331
1494
|
end
|
1332
1495
|
|
@@ -1380,7 +1543,7 @@ module Aws::S3
|
|
1380
1543
|
# bucket_name: "BucketName", # required
|
1381
1544
|
# prefix: "LocationPrefix", # required
|
1382
1545
|
# encryption: {
|
1383
|
-
# encryption_type: "AES256", # required, accepts AES256, aws:kms
|
1546
|
+
# encryption_type: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
|
1384
1547
|
# kms_key_id: "SSEKMSKeyId",
|
1385
1548
|
# kms_context: "KMSContext",
|
1386
1549
|
# },
|
@@ -1411,11 +1574,12 @@ module Aws::S3
|
|
1411
1574
|
# value: "MetadataValue",
|
1412
1575
|
# },
|
1413
1576
|
# ],
|
1414
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
|
1577
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
|
1415
1578
|
# },
|
1416
1579
|
# },
|
1417
1580
|
# },
|
1418
1581
|
# request_payer: "requester", # accepts requester
|
1582
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
1419
1583
|
# expected_bucket_owner: "AccountId",
|
1420
1584
|
# })
|
1421
1585
|
# @param [Hash] options ({})
|
@@ -1426,24 +1590,41 @@ module Aws::S3
|
|
1426
1590
|
# @option options [String] :request_payer
|
1427
1591
|
# Confirms that the requester knows that they will be charged for the
|
1428
1592
|
# request. Bucket owners need not specify this parameter in their
|
1429
|
-
# requests. For information about downloading objects from
|
1430
|
-
#
|
1593
|
+
# requests. For information about downloading objects from Requester
|
1594
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
1431
1595
|
# in the *Amazon S3 User Guide*.
|
1432
1596
|
#
|
1433
1597
|
#
|
1434
1598
|
#
|
1435
1599
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
1600
|
+
# @option options [String] :checksum_algorithm
|
1601
|
+
# Indicates the algorithm used to create the checksum for the object
|
1602
|
+
# when using the SDK. This header will not provide any additional
|
1603
|
+
# functionality if not using the SDK. When sending this header, there
|
1604
|
+
# must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
|
1605
|
+
# sent. Otherwise, Amazon S3 fails the request with the HTTP status code
|
1606
|
+
# `400 Bad Request`. For more information, see [Checking object
|
1607
|
+
# integrity][1] in the *Amazon S3 User Guide*.
|
1608
|
+
#
|
1609
|
+
# If you provide an individual checksum, Amazon S3 ignores any provided
|
1610
|
+
# `ChecksumAlgorithm` parameter.
|
1611
|
+
#
|
1612
|
+
#
|
1613
|
+
#
|
1614
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
1436
1615
|
# @option options [String] :expected_bucket_owner
|
1437
1616
|
# The account ID of the expected bucket owner. If the bucket is owned by
|
1438
|
-
# a different account, the request
|
1439
|
-
#
|
1617
|
+
# a different account, the request fails with the HTTP status code `403
|
1618
|
+
# Forbidden` (access denied).
|
1440
1619
|
# @return [Types::RestoreObjectOutput]
|
1441
1620
|
def restore_object(options = {})
|
1442
1621
|
options = options.merge(
|
1443
1622
|
bucket: @bucket_name,
|
1444
1623
|
key: @key
|
1445
1624
|
)
|
1446
|
-
resp =
|
1625
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
1626
|
+
@client.restore_object(options)
|
1627
|
+
end
|
1447
1628
|
resp.data
|
1448
1629
|
end
|
1449
1630
|
|
@@ -1462,33 +1643,26 @@ module Aws::S3
|
|
1462
1643
|
# request_payer: "requester", # accepts requester
|
1463
1644
|
# part_number: 1,
|
1464
1645
|
# expected_bucket_owner: "AccountId",
|
1646
|
+
# checksum_mode: "ENABLED", # accepts ENABLED
|
1465
1647
|
# })
|
1466
1648
|
# @param [Hash] options ({})
|
1467
1649
|
# @option options [String] :if_match
|
1468
1650
|
# Return the object only if its entity tag (ETag) is the same as the one
|
1469
|
-
# specified
|
1651
|
+
# specified; otherwise, return a 412 (precondition failed) error.
|
1470
1652
|
# @option options [Time,DateTime,Date,Integer,String] :if_modified_since
|
1471
1653
|
# Return the object only if it has been modified since the specified
|
1472
|
-
# time
|
1654
|
+
# time; otherwise, return a 304 (not modified) error.
|
1473
1655
|
# @option options [String] :if_none_match
|
1474
1656
|
# Return the object only if its entity tag (ETag) is different from the
|
1475
|
-
# one specified
|
1657
|
+
# one specified; otherwise, return a 304 (not modified) error.
|
1476
1658
|
# @option options [Time,DateTime,Date,Integer,String] :if_unmodified_since
|
1477
1659
|
# Return the object only if it has not been modified since the specified
|
1478
|
-
# time
|
1660
|
+
# time; otherwise, return a 412 (precondition failed) error.
|
1479
1661
|
# @option options [String] :range
|
1480
|
-
#
|
1481
|
-
#
|
1482
|
-
#
|
1483
|
-
#
|
1484
|
-
# <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
|
1485
|
-
# `GET` request.
|
1486
|
-
#
|
1487
|
-
# </note>
|
1488
|
-
#
|
1489
|
-
#
|
1490
|
-
#
|
1491
|
-
# [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
|
1662
|
+
# HeadObject returns only the metadata for an object. If the Range is
|
1663
|
+
# satisfiable, only the `ContentLength` is affected in the response. If
|
1664
|
+
# the Range is not satisfiable, S3 returns a `416 - Requested Range Not
|
1665
|
+
# Satisfiable` error.
|
1492
1666
|
# @option options [String] :version_id
|
1493
1667
|
# VersionId used to reference a specific version of the object.
|
1494
1668
|
# @option options [String] :sse_customer_algorithm
|
@@ -1507,8 +1681,8 @@ module Aws::S3
|
|
1507
1681
|
# @option options [String] :request_payer
|
1508
1682
|
# Confirms that the requester knows that they will be charged for the
|
1509
1683
|
# request. Bucket owners need not specify this parameter in their
|
1510
|
-
# requests. For information about downloading objects from
|
1511
|
-
#
|
1684
|
+
# requests. For information about downloading objects from Requester
|
1685
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
1512
1686
|
# in the *Amazon S3 User Guide*.
|
1513
1687
|
#
|
1514
1688
|
#
|
@@ -1521,15 +1695,24 @@ module Aws::S3
|
|
1521
1695
|
# the number of parts in this object.
|
1522
1696
|
# @option options [String] :expected_bucket_owner
|
1523
1697
|
# The account ID of the expected bucket owner. If the bucket is owned by
|
1524
|
-
# a different account, the request
|
1525
|
-
#
|
1698
|
+
# a different account, the request fails with the HTTP status code `403
|
1699
|
+
# Forbidden` (access denied).
|
1700
|
+
# @option options [String] :checksum_mode
|
1701
|
+
# To retrieve the checksum, this parameter must be enabled.
|
1702
|
+
#
|
1703
|
+
# In addition, if you enable `ChecksumMode` and the object is encrypted
|
1704
|
+
# with Amazon Web Services Key Management Service (Amazon Web Services
|
1705
|
+
# KMS), you must have permission to use the `kms:Decrypt` action for the
|
1706
|
+
# request to succeed.
|
1526
1707
|
# @return [Types::HeadObjectOutput]
|
1527
1708
|
def head(options = {})
|
1528
1709
|
options = options.merge(
|
1529
1710
|
bucket: @bucket_name,
|
1530
1711
|
key: @key
|
1531
1712
|
)
|
1532
|
-
resp =
|
1713
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
1714
|
+
@client.head_object(options)
|
1715
|
+
end
|
1533
1716
|
resp.data
|
1534
1717
|
end
|
1535
1718
|
|
@@ -1646,6 +1829,7 @@ module Aws::S3
|
|
1646
1829
|
# request_payer: "requester", # accepts requester
|
1647
1830
|
# bypass_governance_retention: false,
|
1648
1831
|
# expected_bucket_owner: "AccountId",
|
1832
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
1649
1833
|
# })
|
1650
1834
|
# @param options ({})
|
1651
1835
|
# @option options [String] :mfa
|
@@ -1656,8 +1840,8 @@ module Aws::S3
|
|
1656
1840
|
# @option options [String] :request_payer
|
1657
1841
|
# Confirms that the requester knows that they will be charged for the
|
1658
1842
|
# request. Bucket owners need not specify this parameter in their
|
1659
|
-
# requests. For information about downloading objects from
|
1660
|
-
#
|
1843
|
+
# requests. For information about downloading objects from Requester
|
1844
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
1661
1845
|
# in the *Amazon S3 User Guide*.
|
1662
1846
|
#
|
1663
1847
|
#
|
@@ -1665,12 +1849,30 @@ module Aws::S3
|
|
1665
1849
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
1666
1850
|
# @option options [Boolean] :bypass_governance_retention
|
1667
1851
|
# Specifies whether you want to delete this object even if it has a
|
1668
|
-
# Governance-type Object Lock in place.
|
1669
|
-
#
|
1852
|
+
# Governance-type Object Lock in place. To use this header, you must
|
1853
|
+
# have the `s3:BypassGovernanceRetention` permission.
|
1670
1854
|
# @option options [String] :expected_bucket_owner
|
1671
1855
|
# The account ID of the expected bucket owner. If the bucket is owned by
|
1672
|
-
# a different account, the request
|
1673
|
-
#
|
1856
|
+
# a different account, the request fails with the HTTP status code `403
|
1857
|
+
# Forbidden` (access denied).
|
1858
|
+
# @option options [String] :checksum_algorithm
|
1859
|
+
# Indicates the algorithm used to create the checksum for the object
|
1860
|
+
# when using the SDK. This header will not provide any additional
|
1861
|
+
# functionality if not using the SDK. When sending this header, there
|
1862
|
+
# must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
|
1863
|
+
# sent. Otherwise, Amazon S3 fails the request with the HTTP status code
|
1864
|
+
# `400 Bad Request`. For more information, see [Checking object
|
1865
|
+
# integrity][1] in the *Amazon S3 User Guide*.
|
1866
|
+
#
|
1867
|
+
# If you provide an individual checksum, Amazon S3 ignores any provided
|
1868
|
+
# `ChecksumAlgorithm` parameter.
|
1869
|
+
#
|
1870
|
+
# This checksum algorithm must be the same for all parts and it match
|
1871
|
+
# the checksum value supplied in the `CreateMultipartUpload` request.
|
1872
|
+
#
|
1873
|
+
#
|
1874
|
+
#
|
1875
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
1674
1876
|
# @return [void]
|
1675
1877
|
def batch_delete!(options = {})
|
1676
1878
|
batch_enum.each do |batch|
|
@@ -1683,7 +1885,9 @@ module Aws::S3
|
|
1683
1885
|
key: item.key
|
1684
1886
|
}
|
1685
1887
|
end
|
1686
|
-
|
1888
|
+
Aws::Plugins::UserAgent.feature('resource') do
|
1889
|
+
batch[0].client.delete_objects(params)
|
1890
|
+
end
|
1687
1891
|
end
|
1688
1892
|
nil
|
1689
1893
|
end
|