aws-sdk-s3 1.121.0 → 1.136.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 +99 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/bucket.rb +122 -60
- data/lib/aws-sdk-s3/bucket_acl.rb +9 -3
- data/lib/aws-sdk-s3/bucket_cors.rb +12 -4
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +12 -4
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +12 -4
- data/lib/aws-sdk-s3/bucket_logging.rb +9 -3
- data/lib/aws-sdk-s3/bucket_notification.rb +9 -3
- data/lib/aws-sdk-s3/bucket_policy.rb +12 -4
- data/lib/aws-sdk-s3/bucket_request_payment.rb +9 -3
- data/lib/aws-sdk-s3/bucket_tagging.rb +12 -4
- data/lib/aws-sdk-s3/bucket_versioning.rb +15 -5
- data/lib/aws-sdk-s3/bucket_website.rb +12 -4
- data/lib/aws-sdk-s3/client.rb +2017 -1674
- data/lib/aws-sdk-s3/client_api.rb +24 -0
- data/lib/aws-sdk-s3/customizations/bucket.rb +3 -1
- data/lib/aws-sdk-s3/customizations/errors.rb +1 -1
- data/lib/aws-sdk-s3/customizations/object.rb +91 -18
- 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 +4 -0
- data/lib/aws-sdk-s3/endpoint_provider.rb +22 -246
- data/lib/aws-sdk-s3/endpoints.rb +1 -0
- data/lib/aws-sdk-s3/file_downloader.rb +170 -44
- data/lib/aws-sdk-s3/file_uploader.rb +8 -6
- data/lib/aws-sdk-s3/multipart_stream_uploader.rb +5 -3
- data/lib/aws-sdk-s3/multipart_upload.rb +27 -13
- data/lib/aws-sdk-s3/multipart_upload_part.rb +19 -9
- data/lib/aws-sdk-s3/object.rb +151 -105
- data/lib/aws-sdk-s3/object_acl.rb +14 -6
- data/lib/aws-sdk-s3/object_copier.rb +7 -5
- data/lib/aws-sdk-s3/object_multipart_copier.rb +33 -17
- data/lib/aws-sdk-s3/object_summary.rb +144 -89
- data/lib/aws-sdk-s3/object_version.rb +55 -21
- data/lib/aws-sdk-s3/presigned_post.rb +52 -43
- data/lib/aws-sdk-s3/presigner.rb +4 -2
- data/lib/aws-sdk-s3/resource.rb +7 -3
- data/lib/aws-sdk-s3/types.rb +854 -484
- data/lib/aws-sdk-s3.rb +1 -1
- metadata +6 -6
@@ -15,18 +15,21 @@ module Aws
|
|
15
15
|
MAX_PARTS = 10_000
|
16
16
|
|
17
17
|
# @option options [Client] :client
|
18
|
-
# @option [Integer] :min_part_size (52428800)
|
19
|
-
# Defaults to 50MB.
|
20
|
-
#
|
21
|
-
#
|
22
|
-
#
|
18
|
+
# @option options [Integer] :min_part_size (52428800)
|
19
|
+
# Size of copied parts. Defaults to 50MB.
|
20
|
+
# @option options [Integer] :thread_count (10) Number of concurrent
|
21
|
+
# threads to use for copying parts.
|
22
|
+
# @option options [Boolean] :use_source_parts (false) Use part sizes
|
23
|
+
# defined on the source object if any exist. If copying or moving an
|
24
|
+
# object that is already multipart, this does not re-part the object,
|
25
|
+
# instead re-using the part definitions on the original. That means
|
26
|
+
# the etag and any checksums will not change. This is especially
|
27
|
+
# useful if the source object has parts with varied sizes.
|
23
28
|
def initialize(options = {})
|
29
|
+
@use_source_parts = options.delete(:use_source_parts) || false
|
24
30
|
@thread_count = options.delete(:thread_count) || 10
|
25
31
|
@min_part_size = options.delete(:min_part_size) || (FIVE_MB * 10)
|
26
32
|
@client = options[:client] || Client.new
|
27
|
-
if options[:checksum_algorithm]
|
28
|
-
raise ArgumentError, 'Multipart Copy does not support setting :checksum_algorithm'
|
29
|
-
end
|
30
33
|
end
|
31
34
|
|
32
35
|
# @return [Client]
|
@@ -78,10 +81,9 @@ module Aws
|
|
78
81
|
end
|
79
82
|
|
80
83
|
def copy_part(part)
|
81
|
-
{
|
82
|
-
|
83
|
-
|
84
|
-
}
|
84
|
+
@client.upload_part_copy(part).copy_part_result.to_h.merge({
|
85
|
+
part_number: part[:part_number]
|
86
|
+
}).tap { |result| result.delete(:last_modified) }
|
85
87
|
end
|
86
88
|
|
87
89
|
def complete_upload(parts, options)
|
@@ -104,24 +106,37 @@ module Aws
|
|
104
106
|
parts = []
|
105
107
|
options = options_for(:upload_part_copy, options)
|
106
108
|
while offset < size
|
109
|
+
part_size = calculate_part_size(part_number, default_part_size, options)
|
107
110
|
parts << options.merge({
|
108
111
|
part_number: part_number,
|
109
|
-
copy_source_range: byte_range(offset,
|
112
|
+
copy_source_range: byte_range(offset, part_size, size),
|
110
113
|
})
|
111
114
|
part_number += 1
|
112
|
-
offset +=
|
115
|
+
offset += part_size
|
113
116
|
end
|
114
117
|
parts
|
115
118
|
end
|
116
119
|
|
117
|
-
def byte_range(offset,
|
118
|
-
if offset +
|
119
|
-
"bytes=#{offset}-#{offset +
|
120
|
+
def byte_range(offset, part_size, size)
|
121
|
+
if offset + part_size < size
|
122
|
+
"bytes=#{offset}-#{offset + part_size - 1}"
|
120
123
|
else
|
121
124
|
"bytes=#{offset}-#{size - 1}"
|
122
125
|
end
|
123
126
|
end
|
124
127
|
|
128
|
+
def calculate_part_size(part_number, default_part_size, options)
|
129
|
+
if @use_source_parts && source_has_parts(options)
|
130
|
+
source_metadata(options.merge({ part_number: part_number }))[:content_length]
|
131
|
+
else
|
132
|
+
default_part_size
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
def source_has_parts(options)
|
137
|
+
@source_has_parts ||= source_metadata(options.merge({ part_number: 1 }))[:parts_count]
|
138
|
+
end
|
139
|
+
|
125
140
|
def source_metadata(options)
|
126
141
|
if options[:content_length]
|
127
142
|
return { content_length: options.delete(:content_length) }
|
@@ -138,6 +153,7 @@ module Aws
|
|
138
153
|
key = CGI.unescape(key)
|
139
154
|
opts = { bucket: bucket, key: key }
|
140
155
|
opts[:version_id] = version_id if version_id
|
156
|
+
opts[:part_number] = options[:part_number] if options[:part_number]
|
141
157
|
client.head_object(opts).to_h
|
142
158
|
end
|
143
159
|
|
@@ -98,6 +98,20 @@ module Aws::S3
|
|
98
98
|
data[:owner]
|
99
99
|
end
|
100
100
|
|
101
|
+
# Specifies the restoration status of an object. Objects in certain
|
102
|
+
# storage classes must be restored before they can be retrieved. For
|
103
|
+
# more information about these storage classes and how to work with
|
104
|
+
# archived objects, see [ Working with archived objects][1] in the
|
105
|
+
# *Amazon S3 User Guide*.
|
106
|
+
#
|
107
|
+
#
|
108
|
+
#
|
109
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/archived-objects.html
|
110
|
+
# @return [Types::RestoreStatus]
|
111
|
+
def restore_status
|
112
|
+
data[:restore_status]
|
113
|
+
end
|
114
|
+
|
101
115
|
# @!endgroup
|
102
116
|
|
103
117
|
# @return [Client]
|
@@ -152,8 +166,10 @@ module Aws::S3
|
|
152
166
|
options, params = separate_params_and_options(options)
|
153
167
|
waiter = Waiters::ObjectExists.new(options)
|
154
168
|
yield_waiter_and_warn(waiter, &block) if block_given?
|
155
|
-
|
169
|
+
Aws::Plugins::UserAgent.feature('resource') do
|
170
|
+
waiter.wait(params.merge(bucket: @bucket_name,
|
156
171
|
key: @key))
|
172
|
+
end
|
157
173
|
ObjectSummary.new({
|
158
174
|
bucket_name: @bucket_name,
|
159
175
|
key: @key,
|
@@ -171,8 +187,10 @@ module Aws::S3
|
|
171
187
|
options, params = separate_params_and_options(options)
|
172
188
|
waiter = Waiters::ObjectNotExists.new(options)
|
173
189
|
yield_waiter_and_warn(waiter, &block) if block_given?
|
174
|
-
|
190
|
+
Aws::Plugins::UserAgent.feature('resource') do
|
191
|
+
waiter.wait(params.merge(bucket: @bucket_name,
|
175
192
|
key: @key))
|
193
|
+
end
|
176
194
|
ObjectSummary.new({
|
177
195
|
bucket_name: @bucket_name,
|
178
196
|
key: @key,
|
@@ -274,7 +292,9 @@ module Aws::S3
|
|
274
292
|
:retry
|
275
293
|
end
|
276
294
|
end
|
277
|
-
Aws::
|
295
|
+
Aws::Plugins::UserAgent.feature('resource') do
|
296
|
+
Aws::Waiters::Waiter.new(options).wait({})
|
297
|
+
end
|
278
298
|
end
|
279
299
|
|
280
300
|
# @!group Actions
|
@@ -304,7 +324,7 @@ module Aws::S3
|
|
304
324
|
# },
|
305
325
|
# metadata_directive: "COPY", # accepts COPY, REPLACE
|
306
326
|
# tagging_directive: "COPY", # accepts COPY, REPLACE
|
307
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
327
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
308
328
|
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
|
309
329
|
# website_redirect_location: "WebsiteRedirectLocation",
|
310
330
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
@@ -434,14 +454,15 @@ module Aws::S3
|
|
434
454
|
# or replaced with tag-set provided in the request.
|
435
455
|
# @option options [String] :server_side_encryption
|
436
456
|
# The server-side encryption algorithm used when storing this object in
|
437
|
-
# Amazon S3 (for example, AES256
|
457
|
+
# Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
|
438
458
|
# @option options [String] :storage_class
|
439
|
-
#
|
440
|
-
#
|
441
|
-
#
|
442
|
-
#
|
443
|
-
#
|
444
|
-
# in the *Amazon S3 User
|
459
|
+
# If the `x-amz-storage-class` header is not used, the copied object
|
460
|
+
# will be stored in the STANDARD Storage Class by default. The STANDARD
|
461
|
+
# storage class provides high durability and high availability.
|
462
|
+
# Depending on performance needs, you can specify a different Storage
|
463
|
+
# Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For
|
464
|
+
# more information, see [Storage Classes][1] in the *Amazon S3 User
|
465
|
+
# Guide*.
|
445
466
|
#
|
446
467
|
#
|
447
468
|
#
|
@@ -449,7 +470,10 @@ module Aws::S3
|
|
449
470
|
# @option options [String] :website_redirect_location
|
450
471
|
# If the bucket is configured as a website, redirects requests for this
|
451
472
|
# object to another object in the same bucket or to an external URL.
|
452
|
-
# Amazon S3 stores the value of this header in the object metadata.
|
473
|
+
# Amazon S3 stores the value of this header in the object metadata. This
|
474
|
+
# value is unique to each object and is not copied when using the
|
475
|
+
# `x-amz-metadata-directive` header. Instead, you may opt to provide
|
476
|
+
# this header in combination with the directive.
|
453
477
|
# @option options [String] :sse_customer_algorithm
|
454
478
|
# Specifies the algorithm to use to when encrypting the object (for
|
455
479
|
# example, AES256).
|
@@ -464,13 +488,12 @@ module Aws::S3
|
|
464
488
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
465
489
|
# ensure that the encryption key was transmitted without error.
|
466
490
|
# @option options [String] :ssekms_key_id
|
467
|
-
# Specifies the
|
468
|
-
# encryption. All GET and PUT requests for an object protected by
|
469
|
-
#
|
470
|
-
#
|
471
|
-
#
|
472
|
-
#
|
473
|
-
# User Guide*.
|
491
|
+
# Specifies the KMS ID (Key ID, Key ARN, or Key Alias) to use for object
|
492
|
+
# encryption. All GET and PUT requests for an object protected by KMS
|
493
|
+
# will fail if they're not made via SSL or using SigV4. For information
|
494
|
+
# about configuring any of the officially supported Amazon Web Services
|
495
|
+
# SDKs and Amazon Web Services CLI, see [Specifying the Signature
|
496
|
+
# Version in Request Authentication][1] in the *Amazon S3 User Guide*.
|
474
497
|
#
|
475
498
|
#
|
476
499
|
#
|
@@ -481,9 +504,9 @@ module Aws::S3
|
|
481
504
|
# string holding JSON with the encryption context key-value pairs.
|
482
505
|
# @option options [Boolean] :bucket_key_enabled
|
483
506
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
484
|
-
# encryption with server-side encryption using
|
485
|
-
# Setting this header to `true` causes Amazon S3
|
486
|
-
# for object encryption with SSE-KMS.
|
507
|
+
# encryption with server-side encryption using Key Management Service
|
508
|
+
# (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
|
509
|
+
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
487
510
|
#
|
488
511
|
# Specifying this header with a COPY action doesn’t affect bucket-level
|
489
512
|
# settings for S3 Bucket Key.
|
@@ -501,9 +524,11 @@ module Aws::S3
|
|
501
524
|
# @option options [String] :request_payer
|
502
525
|
# Confirms that the requester knows that they will be charged for the
|
503
526
|
# request. Bucket owners need not specify this parameter in their
|
504
|
-
# requests.
|
505
|
-
# Pays
|
506
|
-
#
|
527
|
+
# requests. If either the source or destination Amazon S3 bucket has
|
528
|
+
# Requester Pays enabled, the requester will pay for corresponding
|
529
|
+
# charges to copy the object. For information about downloading objects
|
530
|
+
# from Requester Pays buckets, see [Downloading Objects in Requester
|
531
|
+
# Pays Buckets][1] in the *Amazon S3 User Guide*.
|
507
532
|
#
|
508
533
|
#
|
509
534
|
#
|
@@ -533,7 +558,9 @@ module Aws::S3
|
|
533
558
|
bucket: @bucket_name,
|
534
559
|
key: @key
|
535
560
|
)
|
536
|
-
resp =
|
561
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
562
|
+
@client.copy_object(options)
|
563
|
+
end
|
537
564
|
resp.data
|
538
565
|
end
|
539
566
|
|
@@ -557,9 +584,11 @@ module Aws::S3
|
|
557
584
|
# @option options [String] :request_payer
|
558
585
|
# Confirms that the requester knows that they will be charged for the
|
559
586
|
# request. Bucket owners need not specify this parameter in their
|
560
|
-
# requests.
|
561
|
-
# Pays
|
562
|
-
#
|
587
|
+
# requests. If either the source or destination Amazon S3 bucket has
|
588
|
+
# Requester Pays enabled, the requester will pay for corresponding
|
589
|
+
# charges to copy the object. For information about downloading objects
|
590
|
+
# from Requester Pays buckets, see [Downloading Objects in Requester
|
591
|
+
# Pays Buckets][1] in the *Amazon S3 User Guide*.
|
563
592
|
#
|
564
593
|
#
|
565
594
|
#
|
@@ -578,7 +607,9 @@ module Aws::S3
|
|
578
607
|
bucket: @bucket_name,
|
579
608
|
key: @key
|
580
609
|
)
|
581
|
-
resp =
|
610
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
611
|
+
@client.delete_object(options)
|
612
|
+
end
|
582
613
|
resp.data
|
583
614
|
end
|
584
615
|
|
@@ -621,7 +652,7 @@ module Aws::S3
|
|
621
652
|
# @option options [String] :range
|
622
653
|
# Downloads the specified range bytes of an object. For more information
|
623
654
|
# about the HTTP Range header, see
|
624
|
-
# [https://www.
|
655
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#name-range][1].
|
625
656
|
#
|
626
657
|
# <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
|
627
658
|
# `GET` request.
|
@@ -630,7 +661,7 @@ module Aws::S3
|
|
630
661
|
#
|
631
662
|
#
|
632
663
|
#
|
633
|
-
# [1]: https://www.
|
664
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-range
|
634
665
|
# @option options [String] :response_cache_control
|
635
666
|
# Sets the `Cache-Control` header of the response.
|
636
667
|
# @option options [String] :response_content_disposition
|
@@ -661,9 +692,11 @@ module Aws::S3
|
|
661
692
|
# @option options [String] :request_payer
|
662
693
|
# Confirms that the requester knows that they will be charged for the
|
663
694
|
# request. Bucket owners need not specify this parameter in their
|
664
|
-
# requests.
|
665
|
-
# Pays
|
666
|
-
#
|
695
|
+
# requests. If either the source or destination Amazon S3 bucket has
|
696
|
+
# Requester Pays enabled, the requester will pay for corresponding
|
697
|
+
# charges to copy the object. For information about downloading objects
|
698
|
+
# from Requester Pays buckets, see [Downloading Objects in Requester
|
699
|
+
# Pays Buckets][1] in the *Amazon S3 User Guide*.
|
667
700
|
#
|
668
701
|
#
|
669
702
|
#
|
@@ -685,7 +718,9 @@ module Aws::S3
|
|
685
718
|
bucket: @bucket_name,
|
686
719
|
key: @key
|
687
720
|
)
|
688
|
-
resp =
|
721
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
722
|
+
@client.get_object(options, &block)
|
723
|
+
end
|
689
724
|
resp.data
|
690
725
|
end
|
691
726
|
|
@@ -706,7 +741,7 @@ module Aws::S3
|
|
706
741
|
# metadata: {
|
707
742
|
# "MetadataKey" => "MetadataValue",
|
708
743
|
# },
|
709
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
744
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
710
745
|
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
|
711
746
|
# website_redirect_location: "WebsiteRedirectLocation",
|
712
747
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
@@ -763,7 +798,7 @@ module Aws::S3
|
|
763
798
|
# A map of metadata to store with the object in S3.
|
764
799
|
# @option options [String] :server_side_encryption
|
765
800
|
# The server-side encryption algorithm used when storing this object in
|
766
|
-
# Amazon S3 (for example, AES256
|
801
|
+
# Amazon S3 (for example, `AES256`, `aws:kms`).
|
767
802
|
# @option options [String] :storage_class
|
768
803
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
769
804
|
# created objects. The STANDARD storage class provides high durability
|
@@ -793,13 +828,13 @@ module Aws::S3
|
|
793
828
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
794
829
|
# ensure that the encryption key was transmitted without error.
|
795
830
|
# @option options [String] :ssekms_key_id
|
796
|
-
# Specifies the ID
|
797
|
-
#
|
798
|
-
#
|
799
|
-
# For information about configuring
|
800
|
-
# supported Amazon Web Services SDKs and Amazon Web
|
801
|
-
# [Specifying the Signature Version in Request
|
802
|
-
# *Amazon S3 User Guide*.
|
831
|
+
# Specifies the ID (Key ID, Key ARN, or Key Alias) of the symmetric
|
832
|
+
# encryption customer managed key to use for object encryption. All GET
|
833
|
+
# and PUT requests for an object protected by KMS will fail if they're
|
834
|
+
# not made via SSL or using SigV4. For information about configuring any
|
835
|
+
# of the officially supported Amazon Web Services SDKs and Amazon Web
|
836
|
+
# Services CLI, see [Specifying the Signature Version in Request
|
837
|
+
# Authentication][1] in the *Amazon S3 User Guide*.
|
803
838
|
#
|
804
839
|
#
|
805
840
|
#
|
@@ -810,18 +845,20 @@ module Aws::S3
|
|
810
845
|
# string holding JSON with the encryption context key-value pairs.
|
811
846
|
# @option options [Boolean] :bucket_key_enabled
|
812
847
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
813
|
-
# encryption with server-side encryption using
|
814
|
-
# Setting this header to `true` causes Amazon S3
|
815
|
-
# for object encryption with SSE-KMS.
|
848
|
+
# encryption with server-side encryption using Key Management Service
|
849
|
+
# (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
|
850
|
+
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
816
851
|
#
|
817
852
|
# Specifying this header with an object action doesn’t affect
|
818
853
|
# bucket-level settings for S3 Bucket Key.
|
819
854
|
# @option options [String] :request_payer
|
820
855
|
# Confirms that the requester knows that they will be charged for the
|
821
856
|
# request. Bucket owners need not specify this parameter in their
|
822
|
-
# requests.
|
823
|
-
# Pays
|
824
|
-
#
|
857
|
+
# requests. If either the source or destination Amazon S3 bucket has
|
858
|
+
# Requester Pays enabled, the requester will pay for corresponding
|
859
|
+
# charges to copy the object. For information about downloading objects
|
860
|
+
# from Requester Pays buckets, see [Downloading Objects in Requester
|
861
|
+
# Pays Buckets][1] in the *Amazon S3 User Guide*.
|
825
862
|
#
|
826
863
|
#
|
827
864
|
#
|
@@ -855,7 +892,9 @@ module Aws::S3
|
|
855
892
|
bucket: @bucket_name,
|
856
893
|
key: @key
|
857
894
|
)
|
858
|
-
resp =
|
895
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
896
|
+
@client.create_multipart_upload(options)
|
897
|
+
end
|
859
898
|
MultipartUpload.new(
|
860
899
|
bucket_name: @bucket_name,
|
861
900
|
object_key: @key,
|
@@ -889,7 +928,7 @@ module Aws::S3
|
|
889
928
|
# metadata: {
|
890
929
|
# "MetadataKey" => "MetadataValue",
|
891
930
|
# },
|
892
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
931
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
893
932
|
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
|
894
933
|
# website_redirect_location: "WebsiteRedirectLocation",
|
895
934
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
@@ -928,30 +967,30 @@ module Aws::S3
|
|
928
967
|
# @option options [String] :content_disposition
|
929
968
|
# Specifies presentational information for the object. For more
|
930
969
|
# information, see
|
931
|
-
# [
|
970
|
+
# [https://www.rfc-editor.org/rfc/rfc6266#section-4][1].
|
932
971
|
#
|
933
972
|
#
|
934
973
|
#
|
935
|
-
# [1]:
|
974
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc6266#section-4
|
936
975
|
# @option options [String] :content_encoding
|
937
976
|
# Specifies what content encodings have been applied to the object and
|
938
977
|
# thus what decoding mechanisms must be applied to obtain the media-type
|
939
978
|
# referenced by the Content-Type header field. For more information, see
|
940
|
-
# [
|
979
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding][1].
|
941
980
|
#
|
942
981
|
#
|
943
982
|
#
|
944
|
-
# [1]:
|
983
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding
|
945
984
|
# @option options [String] :content_language
|
946
985
|
# The language the content is in.
|
947
986
|
# @option options [Integer] :content_length
|
948
987
|
# Size of the body in bytes. This parameter is useful when the size of
|
949
988
|
# the body cannot be determined automatically. For more information, see
|
950
|
-
# [
|
989
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length][1].
|
951
990
|
#
|
952
991
|
#
|
953
992
|
#
|
954
|
-
# [1]:
|
993
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
|
955
994
|
# @option options [String] :content_md5
|
956
995
|
# The base64-encoded 128-bit MD5 digest of the message (without the
|
957
996
|
# headers) according to RFC 1864. This header can be used as a message
|
@@ -967,11 +1006,11 @@ module Aws::S3
|
|
967
1006
|
# @option options [String] :content_type
|
968
1007
|
# A standard MIME type describing the format of the contents. For more
|
969
1008
|
# information, see
|
970
|
-
# [
|
1009
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type][1].
|
971
1010
|
#
|
972
1011
|
#
|
973
1012
|
#
|
974
|
-
# [1]:
|
1013
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type
|
975
1014
|
# @option options [String] :checksum_algorithm
|
976
1015
|
# Indicates the algorithm used to create the checksum for the object
|
977
1016
|
# when using the SDK. This header will not provide any additional
|
@@ -1030,11 +1069,11 @@ module Aws::S3
|
|
1030
1069
|
# @option options [Time,DateTime,Date,Integer,String] :expires
|
1031
1070
|
# The date and time at which the object is no longer cacheable. For more
|
1032
1071
|
# information, see
|
1033
|
-
# [
|
1072
|
+
# [https://www.rfc-editor.org/rfc/rfc7234#section-5.3][1].
|
1034
1073
|
#
|
1035
1074
|
#
|
1036
1075
|
#
|
1037
|
-
# [1]:
|
1076
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
|
1038
1077
|
# @option options [String] :grant_full_control
|
1039
1078
|
# Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
|
1040
1079
|
# object.
|
@@ -1056,7 +1095,7 @@ module Aws::S3
|
|
1056
1095
|
# A map of metadata to store with the object in S3.
|
1057
1096
|
# @option options [String] :server_side_encryption
|
1058
1097
|
# The server-side encryption algorithm used when storing this object in
|
1059
|
-
# Amazon S3 (for example, AES256
|
1098
|
+
# Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
|
1060
1099
|
# @option options [String] :storage_class
|
1061
1100
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
1062
1101
|
# created objects. The STANDARD storage class provides high durability
|
@@ -1107,33 +1146,39 @@ module Aws::S3
|
|
1107
1146
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
1108
1147
|
# ensure that the encryption key was transmitted without error.
|
1109
1148
|
# @option options [String] :ssekms_key_id
|
1110
|
-
# If `x-amz-server-side-encryption`
|
1111
|
-
# `aws:kms`, this header specifies the ID
|
1112
|
-
# Management Service (
|
1113
|
-
# managed key that was used for the object. If you specify
|
1114
|
-
# `x-amz-server-side-encryption:aws:kms
|
1149
|
+
# If `x-amz-server-side-encryption` has a valid value of `aws:kms` or
|
1150
|
+
# `aws:kms:dsse`, this header specifies the ID (Key ID, Key ARN, or Key
|
1151
|
+
# Alias) of the Key Management Service (KMS) symmetric encryption
|
1152
|
+
# customer managed key that was used for the object. If you specify
|
1153
|
+
# `x-amz-server-side-encryption:aws:kms` or
|
1154
|
+
# `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide`
|
1115
1155
|
# x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
1116
|
-
# Amazon Web Services managed key to protect the data. If the
|
1117
|
-
# does not exist in the same account issuing the
|
1118
|
-
# the full ARN and not just the ID.
|
1156
|
+
# Amazon Web Services managed key (`aws/s3`) to protect the data. If the
|
1157
|
+
# KMS key does not exist in the same account that's issuing the
|
1158
|
+
# command, you must use the full ARN and not just the ID.
|
1119
1159
|
# @option options [String] :ssekms_encryption_context
|
1120
1160
|
# Specifies the Amazon Web Services KMS Encryption Context to use for
|
1121
1161
|
# object encryption. The value of this header is a base64-encoded UTF-8
|
1122
|
-
# string holding JSON with the encryption context key-value pairs.
|
1162
|
+
# string holding JSON with the encryption context key-value pairs. This
|
1163
|
+
# value is stored as object metadata and automatically gets passed on to
|
1164
|
+
# Amazon Web Services KMS for future `GetObject` or `CopyObject`
|
1165
|
+
# operations on this object.
|
1123
1166
|
# @option options [Boolean] :bucket_key_enabled
|
1124
1167
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
1125
|
-
# encryption with server-side encryption using
|
1126
|
-
# Setting this header to `true` causes Amazon S3
|
1127
|
-
# for object encryption with SSE-KMS.
|
1168
|
+
# encryption with server-side encryption using Key Management Service
|
1169
|
+
# (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
|
1170
|
+
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
1128
1171
|
#
|
1129
1172
|
# Specifying this header with a PUT action doesn’t affect bucket-level
|
1130
1173
|
# settings for S3 Bucket Key.
|
1131
1174
|
# @option options [String] :request_payer
|
1132
1175
|
# Confirms that the requester knows that they will be charged for the
|
1133
1176
|
# request. Bucket owners need not specify this parameter in their
|
1134
|
-
# requests.
|
1135
|
-
# Pays
|
1136
|
-
#
|
1177
|
+
# requests. If either the source or destination Amazon S3 bucket has
|
1178
|
+
# Requester Pays enabled, the requester will pay for corresponding
|
1179
|
+
# charges to copy the object. For information about downloading objects
|
1180
|
+
# from Requester Pays buckets, see [Downloading Objects in Requester
|
1181
|
+
# Pays Buckets][1] in the *Amazon S3 User Guide*.
|
1137
1182
|
#
|
1138
1183
|
#
|
1139
1184
|
#
|
@@ -1163,7 +1208,9 @@ module Aws::S3
|
|
1163
1208
|
bucket: @bucket_name,
|
1164
1209
|
key: @key
|
1165
1210
|
)
|
1166
|
-
resp =
|
1211
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
1212
|
+
@client.put_object(options)
|
1213
|
+
end
|
1167
1214
|
resp.data
|
1168
1215
|
end
|
1169
1216
|
|
@@ -1217,7 +1264,7 @@ module Aws::S3
|
|
1217
1264
|
# bucket_name: "BucketName", # required
|
1218
1265
|
# prefix: "LocationPrefix", # required
|
1219
1266
|
# encryption: {
|
1220
|
-
# encryption_type: "AES256", # required, accepts AES256, aws:kms
|
1267
|
+
# encryption_type: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
|
1221
1268
|
# kms_key_id: "SSEKMSKeyId",
|
1222
1269
|
# kms_context: "KMSContext",
|
1223
1270
|
# },
|
@@ -1264,9 +1311,11 @@ module Aws::S3
|
|
1264
1311
|
# @option options [String] :request_payer
|
1265
1312
|
# Confirms that the requester knows that they will be charged for the
|
1266
1313
|
# request. Bucket owners need not specify this parameter in their
|
1267
|
-
# requests.
|
1268
|
-
# Pays
|
1269
|
-
#
|
1314
|
+
# requests. If either the source or destination Amazon S3 bucket has
|
1315
|
+
# Requester Pays enabled, the requester will pay for corresponding
|
1316
|
+
# charges to copy the object. For information about downloading objects
|
1317
|
+
# from Requester Pays buckets, see [Downloading Objects in Requester
|
1318
|
+
# Pays Buckets][1] in the *Amazon S3 User Guide*.
|
1270
1319
|
#
|
1271
1320
|
#
|
1272
1321
|
#
|
@@ -1296,7 +1345,9 @@ module Aws::S3
|
|
1296
1345
|
bucket: @bucket_name,
|
1297
1346
|
key: @key
|
1298
1347
|
)
|
1299
|
-
resp =
|
1348
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
1349
|
+
@client.restore_object(options)
|
1350
|
+
end
|
1300
1351
|
resp.data
|
1301
1352
|
end
|
1302
1353
|
|
@@ -1433,9 +1484,11 @@ module Aws::S3
|
|
1433
1484
|
# @option options [String] :request_payer
|
1434
1485
|
# Confirms that the requester knows that they will be charged for the
|
1435
1486
|
# request. Bucket owners need not specify this parameter in their
|
1436
|
-
# requests.
|
1437
|
-
# Pays
|
1438
|
-
#
|
1487
|
+
# requests. If either the source or destination Amazon S3 bucket has
|
1488
|
+
# Requester Pays enabled, the requester will pay for corresponding
|
1489
|
+
# charges to copy the object. For information about downloading objects
|
1490
|
+
# from Requester Pays buckets, see [Downloading Objects in Requester
|
1491
|
+
# Pays Buckets][1] in the *Amazon S3 User Guide*.
|
1439
1492
|
#
|
1440
1493
|
#
|
1441
1494
|
#
|
@@ -1478,7 +1531,9 @@ module Aws::S3
|
|
1478
1531
|
key: item.key
|
1479
1532
|
}
|
1480
1533
|
end
|
1481
|
-
|
1534
|
+
Aws::Plugins::UserAgent.feature('resource') do
|
1535
|
+
batch[0].client.delete_objects(params)
|
1536
|
+
end
|
1482
1537
|
end
|
1483
1538
|
nil
|
1484
1539
|
end
|