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
data/lib/aws-sdk-s3/object.rb
CHANGED
@@ -239,11 +239,8 @@ module Aws::S3
|
|
239
239
|
data[:website_redirect_location]
|
240
240
|
end
|
241
241
|
|
242
|
-
#
|
243
|
-
# Amazon
|
244
|
-
# the response includes this header with the value of the server-side
|
245
|
-
# encryption algorithm used when storing this object in Amazon S3 (for
|
246
|
-
# 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`).
|
247
244
|
# @return [String]
|
248
245
|
def server_side_encryption
|
249
246
|
data[:server_side_encryption]
|
@@ -272,16 +269,16 @@ module Aws::S3
|
|
272
269
|
data[:sse_customer_key_md5]
|
273
270
|
end
|
274
271
|
|
275
|
-
# If present, specifies the ID of the
|
276
|
-
#
|
277
|
-
#
|
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.
|
278
275
|
# @return [String]
|
279
276
|
def ssekms_key_id
|
280
277
|
data[:ssekms_key_id]
|
281
278
|
end
|
282
279
|
|
283
280
|
# Indicates whether the object uses an S3 Bucket Key for server-side
|
284
|
-
# encryption with
|
281
|
+
# encryption with Key Management Service (KMS) keys (SSE-KMS).
|
285
282
|
# @return [Boolean]
|
286
283
|
def bucket_key_enabled
|
287
284
|
data[:bucket_key_enabled]
|
@@ -410,10 +407,12 @@ module Aws::S3
|
|
410
407
|
#
|
411
408
|
# @return [self]
|
412
409
|
def load
|
413
|
-
resp =
|
410
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
411
|
+
@client.head_object(
|
414
412
|
bucket: @bucket_name,
|
415
413
|
key: @key
|
416
414
|
)
|
415
|
+
end
|
417
416
|
@data = resp.data
|
418
417
|
self
|
419
418
|
end
|
@@ -458,8 +457,10 @@ module Aws::S3
|
|
458
457
|
options, params = separate_params_and_options(options)
|
459
458
|
waiter = Waiters::ObjectExists.new(options)
|
460
459
|
yield_waiter_and_warn(waiter, &block) if block_given?
|
461
|
-
|
460
|
+
Aws::Plugins::UserAgent.feature('resource') do
|
461
|
+
waiter.wait(params.merge(bucket: @bucket_name,
|
462
462
|
key: @key))
|
463
|
+
end
|
463
464
|
Object.new({
|
464
465
|
bucket_name: @bucket_name,
|
465
466
|
key: @key,
|
@@ -477,8 +478,10 @@ module Aws::S3
|
|
477
478
|
options, params = separate_params_and_options(options)
|
478
479
|
waiter = Waiters::ObjectNotExists.new(options)
|
479
480
|
yield_waiter_and_warn(waiter, &block) if block_given?
|
480
|
-
|
481
|
+
Aws::Plugins::UserAgent.feature('resource') do
|
482
|
+
waiter.wait(params.merge(bucket: @bucket_name,
|
481
483
|
key: @key))
|
484
|
+
end
|
482
485
|
Object.new({
|
483
486
|
bucket_name: @bucket_name,
|
484
487
|
key: @key,
|
@@ -580,7 +583,9 @@ module Aws::S3
|
|
580
583
|
:retry
|
581
584
|
end
|
582
585
|
end
|
583
|
-
Aws::
|
586
|
+
Aws::Plugins::UserAgent.feature('resource') do
|
587
|
+
Aws::Waiters::Waiter.new(options).wait({})
|
588
|
+
end
|
584
589
|
end
|
585
590
|
|
586
591
|
# @!group Actions
|
@@ -610,7 +615,7 @@ module Aws::S3
|
|
610
615
|
# },
|
611
616
|
# metadata_directive: "COPY", # accepts COPY, REPLACE
|
612
617
|
# tagging_directive: "COPY", # accepts COPY, REPLACE
|
613
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
618
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
614
619
|
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
|
615
620
|
# website_redirect_location: "WebsiteRedirectLocation",
|
616
621
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
@@ -740,14 +745,15 @@ module Aws::S3
|
|
740
745
|
# or replaced with tag-set provided in the request.
|
741
746
|
# @option options [String] :server_side_encryption
|
742
747
|
# The server-side encryption algorithm used when storing this object in
|
743
|
-
# Amazon S3 (for example, AES256
|
748
|
+
# Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
|
744
749
|
# @option options [String] :storage_class
|
745
|
-
#
|
746
|
-
#
|
747
|
-
#
|
748
|
-
#
|
749
|
-
#
|
750
|
-
# in the *Amazon S3 User
|
750
|
+
# If the `x-amz-storage-class` header is not used, the copied object
|
751
|
+
# will be stored in the STANDARD Storage Class by default. The STANDARD
|
752
|
+
# storage class provides high durability and high availability.
|
753
|
+
# Depending on performance needs, you can specify a different Storage
|
754
|
+
# Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For
|
755
|
+
# more information, see [Storage Classes][1] in the *Amazon S3 User
|
756
|
+
# Guide*.
|
751
757
|
#
|
752
758
|
#
|
753
759
|
#
|
@@ -755,7 +761,10 @@ module Aws::S3
|
|
755
761
|
# @option options [String] :website_redirect_location
|
756
762
|
# If the bucket is configured as a website, redirects requests for this
|
757
763
|
# object to another object in the same bucket or to an external URL.
|
758
|
-
# Amazon S3 stores the value of this header in the object metadata.
|
764
|
+
# Amazon S3 stores the value of this header in the object metadata. This
|
765
|
+
# value is unique to each object and is not copied when using the
|
766
|
+
# `x-amz-metadata-directive` header. Instead, you may opt to provide
|
767
|
+
# this header in combination with the directive.
|
759
768
|
# @option options [String] :sse_customer_algorithm
|
760
769
|
# Specifies the algorithm to use to when encrypting the object (for
|
761
770
|
# example, AES256).
|
@@ -770,13 +779,12 @@ module Aws::S3
|
|
770
779
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
771
780
|
# ensure that the encryption key was transmitted without error.
|
772
781
|
# @option options [String] :ssekms_key_id
|
773
|
-
# Specifies the
|
774
|
-
# encryption. All GET and PUT requests for an object protected by
|
775
|
-
#
|
776
|
-
#
|
777
|
-
#
|
778
|
-
#
|
779
|
-
# User Guide*.
|
782
|
+
# Specifies the KMS ID (Key ID, Key ARN, or Key Alias) to use for object
|
783
|
+
# encryption. All GET and PUT requests for an object protected by KMS
|
784
|
+
# will fail if they're not made via SSL or using SigV4. For information
|
785
|
+
# about configuring any of the officially supported Amazon Web Services
|
786
|
+
# SDKs and Amazon Web Services CLI, see [Specifying the Signature
|
787
|
+
# Version in Request Authentication][1] in the *Amazon S3 User Guide*.
|
780
788
|
#
|
781
789
|
#
|
782
790
|
#
|
@@ -787,9 +795,9 @@ module Aws::S3
|
|
787
795
|
# string holding JSON with the encryption context key-value pairs.
|
788
796
|
# @option options [Boolean] :bucket_key_enabled
|
789
797
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
790
|
-
# encryption with server-side encryption using
|
791
|
-
# Setting this header to `true` causes Amazon S3
|
792
|
-
# for object encryption with SSE-KMS.
|
798
|
+
# encryption with server-side encryption using Key Management Service
|
799
|
+
# (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
|
800
|
+
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
793
801
|
#
|
794
802
|
# Specifying this header with a COPY action doesn’t affect bucket-level
|
795
803
|
# settings for S3 Bucket Key.
|
@@ -807,9 +815,11 @@ module Aws::S3
|
|
807
815
|
# @option options [String] :request_payer
|
808
816
|
# Confirms that the requester knows that they will be charged for the
|
809
817
|
# request. Bucket owners need not specify this parameter in their
|
810
|
-
# requests.
|
811
|
-
# Pays
|
812
|
-
#
|
818
|
+
# requests. If either the source or destination Amazon S3 bucket has
|
819
|
+
# Requester Pays enabled, the requester will pay for corresponding
|
820
|
+
# charges to copy the object. For information about downloading objects
|
821
|
+
# from Requester Pays buckets, see [Downloading Objects in Requester
|
822
|
+
# Pays Buckets][1] in the *Amazon S3 User Guide*.
|
813
823
|
#
|
814
824
|
#
|
815
825
|
#
|
@@ -839,7 +849,9 @@ module Aws::S3
|
|
839
849
|
bucket: @bucket_name,
|
840
850
|
key: @key
|
841
851
|
)
|
842
|
-
resp =
|
852
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
853
|
+
@client.copy_object(options)
|
854
|
+
end
|
843
855
|
resp.data
|
844
856
|
end
|
845
857
|
|
@@ -863,9 +875,11 @@ module Aws::S3
|
|
863
875
|
# @option options [String] :request_payer
|
864
876
|
# Confirms that the requester knows that they will be charged for the
|
865
877
|
# request. Bucket owners need not specify this parameter in their
|
866
|
-
# requests.
|
867
|
-
# Pays
|
868
|
-
#
|
878
|
+
# requests. If either the source or destination Amazon S3 bucket has
|
879
|
+
# Requester Pays enabled, the requester will pay for corresponding
|
880
|
+
# charges to copy the object. For information about downloading objects
|
881
|
+
# from Requester Pays buckets, see [Downloading Objects in Requester
|
882
|
+
# Pays Buckets][1] in the *Amazon S3 User Guide*.
|
869
883
|
#
|
870
884
|
#
|
871
885
|
#
|
@@ -884,7 +898,9 @@ module Aws::S3
|
|
884
898
|
bucket: @bucket_name,
|
885
899
|
key: @key
|
886
900
|
)
|
887
|
-
resp =
|
901
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
902
|
+
@client.delete_object(options)
|
903
|
+
end
|
888
904
|
resp.data
|
889
905
|
end
|
890
906
|
|
@@ -927,7 +943,7 @@ module Aws::S3
|
|
927
943
|
# @option options [String] :range
|
928
944
|
# Downloads the specified range bytes of an object. For more information
|
929
945
|
# about the HTTP Range header, see
|
930
|
-
# [https://www.
|
946
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#name-range][1].
|
931
947
|
#
|
932
948
|
# <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
|
933
949
|
# `GET` request.
|
@@ -936,7 +952,7 @@ module Aws::S3
|
|
936
952
|
#
|
937
953
|
#
|
938
954
|
#
|
939
|
-
# [1]: https://www.
|
955
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-range
|
940
956
|
# @option options [String] :response_cache_control
|
941
957
|
# Sets the `Cache-Control` header of the response.
|
942
958
|
# @option options [String] :response_content_disposition
|
@@ -967,9 +983,11 @@ module Aws::S3
|
|
967
983
|
# @option options [String] :request_payer
|
968
984
|
# Confirms that the requester knows that they will be charged for the
|
969
985
|
# request. Bucket owners need not specify this parameter in their
|
970
|
-
# requests.
|
971
|
-
# Pays
|
972
|
-
#
|
986
|
+
# requests. If either the source or destination Amazon S3 bucket has
|
987
|
+
# Requester Pays enabled, the requester will pay for corresponding
|
988
|
+
# charges to copy the object. For information about downloading objects
|
989
|
+
# from Requester Pays buckets, see [Downloading Objects in Requester
|
990
|
+
# Pays Buckets][1] in the *Amazon S3 User Guide*.
|
973
991
|
#
|
974
992
|
#
|
975
993
|
#
|
@@ -991,7 +1009,9 @@ module Aws::S3
|
|
991
1009
|
bucket: @bucket_name,
|
992
1010
|
key: @key
|
993
1011
|
)
|
994
|
-
resp =
|
1012
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
1013
|
+
@client.get_object(options, &block)
|
1014
|
+
end
|
995
1015
|
resp.data
|
996
1016
|
end
|
997
1017
|
|
@@ -1012,7 +1032,7 @@ module Aws::S3
|
|
1012
1032
|
# metadata: {
|
1013
1033
|
# "MetadataKey" => "MetadataValue",
|
1014
1034
|
# },
|
1015
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
1035
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
1016
1036
|
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
|
1017
1037
|
# website_redirect_location: "WebsiteRedirectLocation",
|
1018
1038
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
@@ -1069,7 +1089,7 @@ module Aws::S3
|
|
1069
1089
|
# A map of metadata to store with the object in S3.
|
1070
1090
|
# @option options [String] :server_side_encryption
|
1071
1091
|
# The server-side encryption algorithm used when storing this object in
|
1072
|
-
# Amazon S3 (for example, AES256
|
1092
|
+
# Amazon S3 (for example, `AES256`, `aws:kms`).
|
1073
1093
|
# @option options [String] :storage_class
|
1074
1094
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
1075
1095
|
# created objects. The STANDARD storage class provides high durability
|
@@ -1099,13 +1119,13 @@ module Aws::S3
|
|
1099
1119
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
1100
1120
|
# ensure that the encryption key was transmitted without error.
|
1101
1121
|
# @option options [String] :ssekms_key_id
|
1102
|
-
# Specifies the ID
|
1103
|
-
#
|
1104
|
-
#
|
1105
|
-
# For information about configuring
|
1106
|
-
# supported Amazon Web Services SDKs and Amazon Web
|
1107
|
-
# [Specifying the Signature Version in Request
|
1108
|
-
# *Amazon S3 User Guide*.
|
1122
|
+
# Specifies the ID (Key ID, Key ARN, or Key Alias) of the symmetric
|
1123
|
+
# encryption customer managed key to use for object encryption. All GET
|
1124
|
+
# and PUT requests for an object protected by KMS will fail if they're
|
1125
|
+
# not made via SSL or using SigV4. For information about configuring any
|
1126
|
+
# of the officially supported Amazon Web Services SDKs and Amazon Web
|
1127
|
+
# Services CLI, see [Specifying the Signature Version in Request
|
1128
|
+
# Authentication][1] in the *Amazon S3 User Guide*.
|
1109
1129
|
#
|
1110
1130
|
#
|
1111
1131
|
#
|
@@ -1116,18 +1136,20 @@ module Aws::S3
|
|
1116
1136
|
# string holding JSON with the encryption context key-value pairs.
|
1117
1137
|
# @option options [Boolean] :bucket_key_enabled
|
1118
1138
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
1119
|
-
# encryption with server-side encryption using
|
1120
|
-
# Setting this header to `true` causes Amazon S3
|
1121
|
-
# for object encryption with SSE-KMS.
|
1139
|
+
# encryption with server-side encryption using Key Management Service
|
1140
|
+
# (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
|
1141
|
+
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
1122
1142
|
#
|
1123
1143
|
# Specifying this header with an object action doesn’t affect
|
1124
1144
|
# bucket-level settings for S3 Bucket Key.
|
1125
1145
|
# @option options [String] :request_payer
|
1126
1146
|
# Confirms that the requester knows that they will be charged for the
|
1127
1147
|
# request. Bucket owners need not specify this parameter in their
|
1128
|
-
# requests.
|
1129
|
-
# Pays
|
1130
|
-
#
|
1148
|
+
# requests. If either the source or destination Amazon S3 bucket has
|
1149
|
+
# Requester Pays enabled, the requester will pay for corresponding
|
1150
|
+
# charges to copy the object. For information about downloading objects
|
1151
|
+
# from Requester Pays buckets, see [Downloading Objects in Requester
|
1152
|
+
# Pays Buckets][1] in the *Amazon S3 User Guide*.
|
1131
1153
|
#
|
1132
1154
|
#
|
1133
1155
|
#
|
@@ -1161,7 +1183,9 @@ module Aws::S3
|
|
1161
1183
|
bucket: @bucket_name,
|
1162
1184
|
key: @key
|
1163
1185
|
)
|
1164
|
-
resp =
|
1186
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
1187
|
+
@client.create_multipart_upload(options)
|
1188
|
+
end
|
1165
1189
|
MultipartUpload.new(
|
1166
1190
|
bucket_name: @bucket_name,
|
1167
1191
|
object_key: @key,
|
@@ -1195,7 +1219,7 @@ module Aws::S3
|
|
1195
1219
|
# metadata: {
|
1196
1220
|
# "MetadataKey" => "MetadataValue",
|
1197
1221
|
# },
|
1198
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
1222
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
1199
1223
|
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
|
1200
1224
|
# website_redirect_location: "WebsiteRedirectLocation",
|
1201
1225
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
@@ -1234,30 +1258,30 @@ module Aws::S3
|
|
1234
1258
|
# @option options [String] :content_disposition
|
1235
1259
|
# Specifies presentational information for the object. For more
|
1236
1260
|
# information, see
|
1237
|
-
# [
|
1261
|
+
# [https://www.rfc-editor.org/rfc/rfc6266#section-4][1].
|
1238
1262
|
#
|
1239
1263
|
#
|
1240
1264
|
#
|
1241
|
-
# [1]:
|
1265
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc6266#section-4
|
1242
1266
|
# @option options [String] :content_encoding
|
1243
1267
|
# Specifies what content encodings have been applied to the object and
|
1244
1268
|
# thus what decoding mechanisms must be applied to obtain the media-type
|
1245
1269
|
# referenced by the Content-Type header field. For more information, see
|
1246
|
-
# [
|
1270
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding][1].
|
1247
1271
|
#
|
1248
1272
|
#
|
1249
1273
|
#
|
1250
|
-
# [1]:
|
1274
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding
|
1251
1275
|
# @option options [String] :content_language
|
1252
1276
|
# The language the content is in.
|
1253
1277
|
# @option options [Integer] :content_length
|
1254
1278
|
# Size of the body in bytes. This parameter is useful when the size of
|
1255
1279
|
# the body cannot be determined automatically. For more information, see
|
1256
|
-
# [
|
1280
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length][1].
|
1257
1281
|
#
|
1258
1282
|
#
|
1259
1283
|
#
|
1260
|
-
# [1]:
|
1284
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
|
1261
1285
|
# @option options [String] :content_md5
|
1262
1286
|
# The base64-encoded 128-bit MD5 digest of the message (without the
|
1263
1287
|
# headers) according to RFC 1864. This header can be used as a message
|
@@ -1273,11 +1297,11 @@ module Aws::S3
|
|
1273
1297
|
# @option options [String] :content_type
|
1274
1298
|
# A standard MIME type describing the format of the contents. For more
|
1275
1299
|
# information, see
|
1276
|
-
# [
|
1300
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type][1].
|
1277
1301
|
#
|
1278
1302
|
#
|
1279
1303
|
#
|
1280
|
-
# [1]:
|
1304
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type
|
1281
1305
|
# @option options [String] :checksum_algorithm
|
1282
1306
|
# Indicates the algorithm used to create the checksum for the object
|
1283
1307
|
# when using the SDK. This header will not provide any additional
|
@@ -1336,11 +1360,11 @@ module Aws::S3
|
|
1336
1360
|
# @option options [Time,DateTime,Date,Integer,String] :expires
|
1337
1361
|
# The date and time at which the object is no longer cacheable. For more
|
1338
1362
|
# information, see
|
1339
|
-
# [
|
1363
|
+
# [https://www.rfc-editor.org/rfc/rfc7234#section-5.3][1].
|
1340
1364
|
#
|
1341
1365
|
#
|
1342
1366
|
#
|
1343
|
-
# [1]:
|
1367
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
|
1344
1368
|
# @option options [String] :grant_full_control
|
1345
1369
|
# Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
|
1346
1370
|
# object.
|
@@ -1362,7 +1386,7 @@ module Aws::S3
|
|
1362
1386
|
# A map of metadata to store with the object in S3.
|
1363
1387
|
# @option options [String] :server_side_encryption
|
1364
1388
|
# The server-side encryption algorithm used when storing this object in
|
1365
|
-
# Amazon S3 (for example, AES256
|
1389
|
+
# Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
|
1366
1390
|
# @option options [String] :storage_class
|
1367
1391
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
1368
1392
|
# created objects. The STANDARD storage class provides high durability
|
@@ -1413,33 +1437,39 @@ module Aws::S3
|
|
1413
1437
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
1414
1438
|
# ensure that the encryption key was transmitted without error.
|
1415
1439
|
# @option options [String] :ssekms_key_id
|
1416
|
-
# If `x-amz-server-side-encryption`
|
1417
|
-
# `aws:kms`, this header specifies the ID
|
1418
|
-
# Management Service (
|
1419
|
-
# managed key that was used for the object. If you specify
|
1420
|
-
# `x-amz-server-side-encryption:aws:kms
|
1440
|
+
# If `x-amz-server-side-encryption` has a valid value of `aws:kms` or
|
1441
|
+
# `aws:kms:dsse`, this header specifies the ID (Key ID, Key ARN, or Key
|
1442
|
+
# Alias) of the Key Management Service (KMS) symmetric encryption
|
1443
|
+
# customer managed key that was used for the object. If you specify
|
1444
|
+
# `x-amz-server-side-encryption:aws:kms` or
|
1445
|
+
# `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide`
|
1421
1446
|
# x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
1422
|
-
# Amazon Web Services managed key to protect the data. If the
|
1423
|
-
# does not exist in the same account issuing the
|
1424
|
-
# the full ARN and not just the ID.
|
1447
|
+
# Amazon Web Services managed key (`aws/s3`) to protect the data. If the
|
1448
|
+
# KMS key does not exist in the same account that's issuing the
|
1449
|
+
# command, you must use the full ARN and not just the ID.
|
1425
1450
|
# @option options [String] :ssekms_encryption_context
|
1426
1451
|
# Specifies the Amazon Web Services KMS Encryption Context to use for
|
1427
1452
|
# object encryption. The value of this header is a base64-encoded UTF-8
|
1428
|
-
# string holding JSON with the encryption context key-value pairs.
|
1453
|
+
# string holding JSON with the encryption context key-value pairs. This
|
1454
|
+
# value is stored as object metadata and automatically gets passed on to
|
1455
|
+
# Amazon Web Services KMS for future `GetObject` or `CopyObject`
|
1456
|
+
# operations on this object.
|
1429
1457
|
# @option options [Boolean] :bucket_key_enabled
|
1430
1458
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
1431
|
-
# encryption with server-side encryption using
|
1432
|
-
# Setting this header to `true` causes Amazon S3
|
1433
|
-
# for object encryption with SSE-KMS.
|
1459
|
+
# encryption with server-side encryption using Key Management Service
|
1460
|
+
# (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
|
1461
|
+
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
1434
1462
|
#
|
1435
1463
|
# Specifying this header with a PUT action doesn’t affect bucket-level
|
1436
1464
|
# settings for S3 Bucket Key.
|
1437
1465
|
# @option options [String] :request_payer
|
1438
1466
|
# Confirms that the requester knows that they will be charged for the
|
1439
1467
|
# request. Bucket owners need not specify this parameter in their
|
1440
|
-
# requests.
|
1441
|
-
# Pays
|
1442
|
-
#
|
1468
|
+
# requests. If either the source or destination Amazon S3 bucket has
|
1469
|
+
# Requester Pays enabled, the requester will pay for corresponding
|
1470
|
+
# charges to copy the object. For information about downloading objects
|
1471
|
+
# from Requester Pays buckets, see [Downloading Objects in Requester
|
1472
|
+
# Pays Buckets][1] in the *Amazon S3 User Guide*.
|
1443
1473
|
#
|
1444
1474
|
#
|
1445
1475
|
#
|
@@ -1469,7 +1499,9 @@ module Aws::S3
|
|
1469
1499
|
bucket: @bucket_name,
|
1470
1500
|
key: @key
|
1471
1501
|
)
|
1472
|
-
resp =
|
1502
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
1503
|
+
@client.put_object(options)
|
1504
|
+
end
|
1473
1505
|
resp.data
|
1474
1506
|
end
|
1475
1507
|
|
@@ -1523,7 +1555,7 @@ module Aws::S3
|
|
1523
1555
|
# bucket_name: "BucketName", # required
|
1524
1556
|
# prefix: "LocationPrefix", # required
|
1525
1557
|
# encryption: {
|
1526
|
-
# encryption_type: "AES256", # required, accepts AES256, aws:kms
|
1558
|
+
# encryption_type: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
|
1527
1559
|
# kms_key_id: "SSEKMSKeyId",
|
1528
1560
|
# kms_context: "KMSContext",
|
1529
1561
|
# },
|
@@ -1570,9 +1602,11 @@ module Aws::S3
|
|
1570
1602
|
# @option options [String] :request_payer
|
1571
1603
|
# Confirms that the requester knows that they will be charged for the
|
1572
1604
|
# request. Bucket owners need not specify this parameter in their
|
1573
|
-
# requests.
|
1574
|
-
# Pays
|
1575
|
-
#
|
1605
|
+
# requests. If either the source or destination Amazon S3 bucket has
|
1606
|
+
# Requester Pays enabled, the requester will pay for corresponding
|
1607
|
+
# charges to copy the object. For information about downloading objects
|
1608
|
+
# from Requester Pays buckets, see [Downloading Objects in Requester
|
1609
|
+
# Pays Buckets][1] in the *Amazon S3 User Guide*.
|
1576
1610
|
#
|
1577
1611
|
#
|
1578
1612
|
#
|
@@ -1602,7 +1636,9 @@ module Aws::S3
|
|
1602
1636
|
bucket: @bucket_name,
|
1603
1637
|
key: @key
|
1604
1638
|
)
|
1605
|
-
resp =
|
1639
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
1640
|
+
@client.restore_object(options)
|
1641
|
+
end
|
1606
1642
|
resp.data
|
1607
1643
|
end
|
1608
1644
|
|
@@ -1637,8 +1673,10 @@ module Aws::S3
|
|
1637
1673
|
# Return the object only if it has not been modified since the specified
|
1638
1674
|
# time; otherwise, return a 412 (precondition failed) error.
|
1639
1675
|
# @option options [String] :range
|
1640
|
-
#
|
1641
|
-
#
|
1676
|
+
# HeadObject returns only the metadata for an object. If the Range is
|
1677
|
+
# satisfiable, only the `ContentLength` is affected in the response. If
|
1678
|
+
# the Range is not satisfiable, S3 returns a `416 - Requested Range Not
|
1679
|
+
# Satisfiable` error.
|
1642
1680
|
# @option options [String] :version_id
|
1643
1681
|
# VersionId used to reference a specific version of the object.
|
1644
1682
|
# @option options [String] :sse_customer_algorithm
|
@@ -1657,9 +1695,11 @@ module Aws::S3
|
|
1657
1695
|
# @option options [String] :request_payer
|
1658
1696
|
# Confirms that the requester knows that they will be charged for the
|
1659
1697
|
# request. Bucket owners need not specify this parameter in their
|
1660
|
-
# requests.
|
1661
|
-
# Pays
|
1662
|
-
#
|
1698
|
+
# requests. If either the source or destination Amazon S3 bucket has
|
1699
|
+
# Requester Pays enabled, the requester will pay for corresponding
|
1700
|
+
# charges to copy the object. For information about downloading objects
|
1701
|
+
# from Requester Pays buckets, see [Downloading Objects in Requester
|
1702
|
+
# Pays Buckets][1] in the *Amazon S3 User Guide*.
|
1663
1703
|
#
|
1664
1704
|
#
|
1665
1705
|
#
|
@@ -1686,7 +1726,9 @@ module Aws::S3
|
|
1686
1726
|
bucket: @bucket_name,
|
1687
1727
|
key: @key
|
1688
1728
|
)
|
1689
|
-
resp =
|
1729
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
1730
|
+
@client.head_object(options)
|
1731
|
+
end
|
1690
1732
|
resp.data
|
1691
1733
|
end
|
1692
1734
|
|
@@ -1814,9 +1856,11 @@ module Aws::S3
|
|
1814
1856
|
# @option options [String] :request_payer
|
1815
1857
|
# Confirms that the requester knows that they will be charged for the
|
1816
1858
|
# request. Bucket owners need not specify this parameter in their
|
1817
|
-
# requests.
|
1818
|
-
# Pays
|
1819
|
-
#
|
1859
|
+
# requests. If either the source or destination Amazon S3 bucket has
|
1860
|
+
# Requester Pays enabled, the requester will pay for corresponding
|
1861
|
+
# charges to copy the object. For information about downloading objects
|
1862
|
+
# from Requester Pays buckets, see [Downloading Objects in Requester
|
1863
|
+
# Pays Buckets][1] in the *Amazon S3 User Guide*.
|
1820
1864
|
#
|
1821
1865
|
#
|
1822
1866
|
#
|
@@ -1859,7 +1903,9 @@ module Aws::S3
|
|
1859
1903
|
key: item.key
|
1860
1904
|
}
|
1861
1905
|
end
|
1862
|
-
|
1906
|
+
Aws::Plugins::UserAgent.feature('resource') do
|
1907
|
+
batch[0].client.delete_objects(params)
|
1908
|
+
end
|
1863
1909
|
end
|
1864
1910
|
nil
|
1865
1911
|
end
|
@@ -75,10 +75,12 @@ module Aws::S3
|
|
75
75
|
#
|
76
76
|
# @return [self]
|
77
77
|
def load
|
78
|
-
resp =
|
78
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
79
|
+
@client.get_object_acl(
|
79
80
|
bucket: @bucket_name,
|
80
81
|
key: @object_key
|
81
82
|
)
|
83
|
+
end
|
82
84
|
@data = resp.data
|
83
85
|
self
|
84
86
|
end
|
@@ -193,7 +195,9 @@ module Aws::S3
|
|
193
195
|
:retry
|
194
196
|
end
|
195
197
|
end
|
196
|
-
Aws::
|
198
|
+
Aws::Plugins::UserAgent.feature('resource') do
|
199
|
+
Aws::Waiters::Waiter.new(options).wait({})
|
200
|
+
end
|
197
201
|
end
|
198
202
|
|
199
203
|
# @!group Actions
|
@@ -295,9 +299,11 @@ module Aws::S3
|
|
295
299
|
# @option options [String] :request_payer
|
296
300
|
# Confirms that the requester knows that they will be charged for the
|
297
301
|
# request. Bucket owners need not specify this parameter in their
|
298
|
-
# requests.
|
299
|
-
# Pays
|
300
|
-
#
|
302
|
+
# requests. If either the source or destination Amazon S3 bucket has
|
303
|
+
# Requester Pays enabled, the requester will pay for corresponding
|
304
|
+
# charges to copy the object. For information about downloading objects
|
305
|
+
# from Requester Pays buckets, see [Downloading Objects in Requester
|
306
|
+
# Pays Buckets][1] in the *Amazon S3 User Guide*.
|
301
307
|
#
|
302
308
|
#
|
303
309
|
#
|
@@ -314,7 +320,9 @@ module Aws::S3
|
|
314
320
|
bucket: @bucket_name,
|
315
321
|
key: @object_key
|
316
322
|
)
|
317
|
-
resp =
|
323
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
324
|
+
@client.put_object_acl(options)
|
325
|
+
end
|
318
326
|
resp.data
|
319
327
|
end
|
320
328
|
|
@@ -28,11 +28,13 @@ module Aws
|
|
28
28
|
options[:bucket] = target_bucket
|
29
29
|
options[:key] = target_key
|
30
30
|
options[:copy_source] = copy_source(source)
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
31
|
+
Aws::Plugins::UserAgent.feature('s3-transfer') do
|
32
|
+
if options.delete(:multipart_copy)
|
33
|
+
apply_source_client(source, options)
|
34
|
+
ObjectMultipartCopier.new(@options).copy(options)
|
35
|
+
else
|
36
|
+
@object.client.copy_object(options)
|
37
|
+
end
|
36
38
|
end
|
37
39
|
end
|
38
40
|
|