aws-sdk-s3 1.184.0 → 1.208.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 +160 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/bucket.rb +43 -4
- data/lib/aws-sdk-s3/bucket_acl.rb +1 -1
- data/lib/aws-sdk-s3/bucket_versioning.rb +33 -0
- data/lib/aws-sdk-s3/client.rb +1979 -377
- data/lib/aws-sdk-s3/client_api.rb +457 -162
- data/lib/aws-sdk-s3/customizations/object.rb +76 -86
- data/lib/aws-sdk-s3/customizations.rb +4 -1
- data/lib/aws-sdk-s3/default_executor.rb +103 -0
- data/lib/aws-sdk-s3/encryption/client.rb +2 -2
- data/lib/aws-sdk-s3/encryption/default_cipher_provider.rb +2 -0
- data/lib/aws-sdk-s3/encryption/encrypt_handler.rb +2 -0
- data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +2 -0
- data/lib/aws-sdk-s3/encryptionV2/client.rb +98 -23
- data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +7 -162
- data/lib/aws-sdk-s3/encryptionV2/decryption.rb +205 -0
- data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +17 -0
- data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +2 -0
- data/lib/aws-sdk-s3/encryptionV2/io_encrypter.rb +2 -0
- data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +8 -0
- data/lib/aws-sdk-s3/encryptionV2/utils.rb +5 -0
- data/lib/aws-sdk-s3/encryptionV3/client.rb +885 -0
- data/lib/aws-sdk-s3/encryptionV3/decrypt_handler.rb +98 -0
- data/lib/aws-sdk-s3/encryptionV3/decryption.rb +244 -0
- data/lib/aws-sdk-s3/encryptionV3/default_cipher_provider.rb +159 -0
- data/lib/aws-sdk-s3/encryptionV3/default_key_provider.rb +35 -0
- data/lib/aws-sdk-s3/encryptionV3/encrypt_handler.rb +98 -0
- data/lib/aws-sdk-s3/encryptionV3/errors.rb +47 -0
- data/lib/aws-sdk-s3/encryptionV3/io_auth_decrypter.rb +60 -0
- data/lib/aws-sdk-s3/encryptionV3/io_decrypter.rb +35 -0
- data/lib/aws-sdk-s3/encryptionV3/io_encrypter.rb +84 -0
- data/lib/aws-sdk-s3/encryptionV3/key_provider.rb +28 -0
- data/lib/aws-sdk-s3/encryptionV3/kms_cipher_provider.rb +159 -0
- data/lib/aws-sdk-s3/encryptionV3/materials.rb +58 -0
- data/lib/aws-sdk-s3/encryptionV3/utils.rb +321 -0
- data/lib/aws-sdk-s3/encryption_v2.rb +1 -0
- data/lib/aws-sdk-s3/encryption_v3.rb +24 -0
- data/lib/aws-sdk-s3/endpoint_parameters.rb +17 -17
- data/lib/aws-sdk-s3/endpoint_provider.rb +332 -162
- data/lib/aws-sdk-s3/endpoints.rb +110 -0
- data/lib/aws-sdk-s3/errors.rb +11 -0
- data/lib/aws-sdk-s3/file_downloader.rb +197 -134
- data/lib/aws-sdk-s3/file_uploader.rb +9 -13
- data/lib/aws-sdk-s3/legacy_signer.rb +2 -1
- data/lib/aws-sdk-s3/multipart_download_error.rb +8 -0
- data/lib/aws-sdk-s3/multipart_file_uploader.rb +92 -107
- data/lib/aws-sdk-s3/multipart_stream_uploader.rb +96 -107
- data/lib/aws-sdk-s3/multipart_upload_error.rb +3 -4
- data/lib/aws-sdk-s3/object.rb +117 -36
- data/lib/aws-sdk-s3/object_acl.rb +8 -2
- data/lib/aws-sdk-s3/object_multipart_copier.rb +2 -1
- data/lib/aws-sdk-s3/object_summary.rb +72 -20
- data/lib/aws-sdk-s3/object_version.rb +7 -9
- data/lib/aws-sdk-s3/plugins/endpoints.rb +1 -1
- data/lib/aws-sdk-s3/plugins/streaming_retry.rb +5 -7
- data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -1
- data/lib/aws-sdk-s3/resource.rb +6 -0
- data/lib/aws-sdk-s3/transfer_manager.rb +303 -0
- data/lib/aws-sdk-s3/types.rb +1719 -310
- data/lib/aws-sdk-s3.rb +1 -1
- data/sig/bucket.rbs +12 -3
- data/sig/client.rbs +173 -33
- data/sig/errors.rbs +2 -0
- data/sig/multipart_upload.rbs +1 -1
- data/sig/object.rbs +15 -10
- data/sig/object_summary.rbs +11 -9
- data/sig/resource.rbs +8 -1
- data/sig/types.rbs +217 -30
- metadata +25 -9
data/lib/aws-sdk-s3/object.rb
CHANGED
|
@@ -136,10 +136,10 @@ module Aws::S3
|
|
|
136
136
|
end
|
|
137
137
|
|
|
138
138
|
# The Base64 encoded, 32-bit `CRC32 checksum` of the object. This
|
|
139
|
-
# checksum is only
|
|
140
|
-
#
|
|
141
|
-
#
|
|
142
|
-
#
|
|
139
|
+
# checksum is only present if the checksum was uploaded with the object.
|
|
140
|
+
# When you use an API operation on an object that was uploaded using
|
|
141
|
+
# multipart uploads, this value may not be a direct checksum value of
|
|
142
|
+
# the full object. Instead, it's a calculation based on the checksum
|
|
143
143
|
# values of each individual part. For more information about how
|
|
144
144
|
# checksums are calculated with multipart uploads, see [ Checking object
|
|
145
145
|
# integrity][1] in the *Amazon S3 User Guide*.
|
|
@@ -181,8 +181,8 @@ module Aws::S3
|
|
|
181
181
|
data[:checksum_crc64nvme]
|
|
182
182
|
end
|
|
183
183
|
|
|
184
|
-
# The Base64 encoded, 160-bit `SHA1` digest of the object. This
|
|
185
|
-
# only
|
|
184
|
+
# The Base64 encoded, 160-bit `SHA1` digest of the object. This checksum
|
|
185
|
+
# is only present if the checksum was uploaded with the object. When you
|
|
186
186
|
# use the API operation on an object that was uploaded using multipart
|
|
187
187
|
# uploads, this value may not be a direct checksum value of the full
|
|
188
188
|
# object. Instead, it's a calculation based on the checksum values of
|
|
@@ -198,14 +198,14 @@ module Aws::S3
|
|
|
198
198
|
data[:checksum_sha1]
|
|
199
199
|
end
|
|
200
200
|
|
|
201
|
-
# The Base64 encoded, 256-bit `SHA256` digest of the object. This
|
|
202
|
-
# only
|
|
203
|
-
# use an API operation on an object that was uploaded using
|
|
204
|
-
# uploads, this value may not be a direct checksum value of
|
|
205
|
-
# object. Instead, it's a calculation based on the checksum
|
|
206
|
-
# each individual part. For more information about how
|
|
207
|
-
# calculated with multipart uploads, see [ Checking object
|
|
208
|
-
# in the *Amazon S3 User Guide*.
|
|
201
|
+
# The Base64 encoded, 256-bit `SHA256` digest of the object. This
|
|
202
|
+
# checksum is only present if the checksum was uploaded with the object.
|
|
203
|
+
# When you use an API operation on an object that was uploaded using
|
|
204
|
+
# multipart uploads, this value may not be a direct checksum value of
|
|
205
|
+
# the full object. Instead, it's a calculation based on the checksum
|
|
206
|
+
# values of each individual part. For more information about how
|
|
207
|
+
# checksums are calculated with multipart uploads, see [ Checking object
|
|
208
|
+
# integrity][1] in the *Amazon S3 User Guide*.
|
|
209
209
|
#
|
|
210
210
|
#
|
|
211
211
|
#
|
|
@@ -324,7 +324,12 @@ module Aws::S3
|
|
|
324
324
|
end
|
|
325
325
|
|
|
326
326
|
# The server-side encryption algorithm used when you store this object
|
|
327
|
-
# in Amazon S3
|
|
327
|
+
# in Amazon S3 or Amazon FSx.
|
|
328
|
+
#
|
|
329
|
+
# <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3 access
|
|
330
|
+
# points, the only valid server side encryption option is `aws:fsx`.
|
|
331
|
+
#
|
|
332
|
+
# </note>
|
|
328
333
|
# @return [String]
|
|
329
334
|
def server_side_encryption
|
|
330
335
|
data[:server_side_encryption]
|
|
@@ -397,11 +402,17 @@ module Aws::S3
|
|
|
397
402
|
end
|
|
398
403
|
|
|
399
404
|
# If present, indicates that the requester was successfully charged for
|
|
400
|
-
# the request.
|
|
405
|
+
# the request. For more information, see [Using Requester Pays buckets
|
|
406
|
+
# for storage transfers and usage][1] in the *Amazon Simple Storage
|
|
407
|
+
# Service user guide*.
|
|
401
408
|
#
|
|
402
409
|
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
403
410
|
#
|
|
404
411
|
# </note>
|
|
412
|
+
#
|
|
413
|
+
#
|
|
414
|
+
#
|
|
415
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
|
|
405
416
|
# @return [String]
|
|
406
417
|
def request_charged
|
|
407
418
|
data[:request_charged]
|
|
@@ -464,6 +475,24 @@ module Aws::S3
|
|
|
464
475
|
data[:parts_count]
|
|
465
476
|
end
|
|
466
477
|
|
|
478
|
+
# The number of tags, if any, on the object, when you have the relevant
|
|
479
|
+
# permission to read object tags.
|
|
480
|
+
#
|
|
481
|
+
# You can use [GetObjectTagging][1] to retrieve the tag set associated
|
|
482
|
+
# with an object.
|
|
483
|
+
#
|
|
484
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
485
|
+
#
|
|
486
|
+
# </note>
|
|
487
|
+
#
|
|
488
|
+
#
|
|
489
|
+
#
|
|
490
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
|
|
491
|
+
# @return [Integer]
|
|
492
|
+
def tag_count
|
|
493
|
+
data[:tag_count]
|
|
494
|
+
end
|
|
495
|
+
|
|
467
496
|
# The Object Lock mode, if any, that's in effect for this object. This
|
|
468
497
|
# header is only returned if the requester has the
|
|
469
498
|
# `s3:GetObjectRetention` permission. For more information about S3
|
|
@@ -728,13 +757,15 @@ module Aws::S3
|
|
|
728
757
|
# grant_read: "GrantRead",
|
|
729
758
|
# grant_read_acp: "GrantReadACP",
|
|
730
759
|
# grant_write_acp: "GrantWriteACP",
|
|
760
|
+
# if_match: "IfMatch",
|
|
761
|
+
# if_none_match: "IfNoneMatch",
|
|
731
762
|
# metadata: {
|
|
732
763
|
# "MetadataKey" => "MetadataValue",
|
|
733
764
|
# },
|
|
734
765
|
# metadata_directive: "COPY", # accepts COPY, REPLACE
|
|
735
766
|
# tagging_directive: "COPY", # accepts COPY, REPLACE
|
|
736
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
|
737
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
|
767
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
|
768
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS, FSX_ONTAP
|
|
738
769
|
# website_redirect_location: "WebsiteRedirectLocation",
|
|
739
770
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
|
740
771
|
# sse_customer_key: "SSECustomerKey",
|
|
@@ -984,6 +1015,35 @@ module Aws::S3
|
|
|
984
1015
|
# * This functionality is not supported for Amazon S3 on Outposts.
|
|
985
1016
|
#
|
|
986
1017
|
# </note>
|
|
1018
|
+
# @option options [String] :if_match
|
|
1019
|
+
# Copies the object if the entity tag (ETag) of the destination object
|
|
1020
|
+
# matches the specified tag. If the ETag values do not match, the
|
|
1021
|
+
# operation returns a `412 Precondition Failed` error. If a concurrent
|
|
1022
|
+
# operation occurs during the upload S3 returns a `409
|
|
1023
|
+
# ConditionalRequestConflict` response. On a 409 failure you should
|
|
1024
|
+
# fetch the object's ETag and retry the upload.
|
|
1025
|
+
#
|
|
1026
|
+
# Expects the ETag value as a string.
|
|
1027
|
+
#
|
|
1028
|
+
# For more information about conditional requests, see [RFC 7232][1].
|
|
1029
|
+
#
|
|
1030
|
+
#
|
|
1031
|
+
#
|
|
1032
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
|
1033
|
+
# @option options [String] :if_none_match
|
|
1034
|
+
# Copies the object only if the object key name at the destination does
|
|
1035
|
+
# not already exist in the bucket specified. Otherwise, Amazon S3
|
|
1036
|
+
# returns a `412 Precondition Failed` error. If a concurrent operation
|
|
1037
|
+
# occurs during the upload S3 returns a `409 ConditionalRequestConflict`
|
|
1038
|
+
# response. On a 409 failure you should retry the upload.
|
|
1039
|
+
#
|
|
1040
|
+
# Expects the '*' (asterisk) character.
|
|
1041
|
+
#
|
|
1042
|
+
# For more information about conditional requests, see [RFC 7232][1].
|
|
1043
|
+
#
|
|
1044
|
+
#
|
|
1045
|
+
#
|
|
1046
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
|
987
1047
|
# @option options [Hash<String,String>] :metadata
|
|
988
1048
|
# A map of metadata to store with the object in S3.
|
|
989
1049
|
# @option options [String] :metadata_directive
|
|
@@ -1124,6 +1184,14 @@ module Aws::S3
|
|
|
1124
1184
|
# key is the same customer managed key that you specified for the
|
|
1125
1185
|
# directory bucket's default encryption configuration.
|
|
1126
1186
|
#
|
|
1187
|
+
# * <b>S3 access points for Amazon FSx </b> - When accessing data stored
|
|
1188
|
+
# in Amazon FSx file systems using S3 access points, the only valid
|
|
1189
|
+
# server side encryption option is `aws:fsx`. All Amazon FSx file
|
|
1190
|
+
# systems have encryption configured by default and are encrypted at
|
|
1191
|
+
# rest. Data is automatically encrypted before being written to the
|
|
1192
|
+
# file system, and automatically decrypted as it is read. These
|
|
1193
|
+
# processes are handled transparently by Amazon FSx.
|
|
1194
|
+
#
|
|
1127
1195
|
#
|
|
1128
1196
|
#
|
|
1129
1197
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
|
|
@@ -1498,17 +1566,15 @@ module Aws::S3
|
|
|
1498
1566
|
# you provide does not match the actual owner of the bucket, the request
|
|
1499
1567
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
|
1500
1568
|
# @option options [String] :if_match
|
|
1501
|
-
#
|
|
1502
|
-
#
|
|
1503
|
-
#
|
|
1504
|
-
#
|
|
1505
|
-
# response`.
|
|
1506
|
-
#
|
|
1507
|
-
# For more information about conditional requests, see [RFC 7232][1].
|
|
1569
|
+
# Deletes the object if the ETag (entity tag) value provided during the
|
|
1570
|
+
# delete operation matches the ETag of the object in S3. If the ETag
|
|
1571
|
+
# values do not match, the operation returns a `412 Precondition Failed`
|
|
1572
|
+
# error.
|
|
1508
1573
|
#
|
|
1509
|
-
#
|
|
1574
|
+
# Expects the ETag value as a string. `If-Match` does accept a string
|
|
1575
|
+
# value of an '*' (asterisk) character to denote a match of any ETag.
|
|
1510
1576
|
#
|
|
1511
|
-
#
|
|
1577
|
+
# For more information about conditional requests, see [RFC 7232][1].
|
|
1512
1578
|
#
|
|
1513
1579
|
#
|
|
1514
1580
|
#
|
|
@@ -1822,8 +1888,8 @@ module Aws::S3
|
|
|
1822
1888
|
# metadata: {
|
|
1823
1889
|
# "MetadataKey" => "MetadataValue",
|
|
1824
1890
|
# },
|
|
1825
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
|
1826
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
|
1891
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
|
1892
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS, FSX_ONTAP
|
|
1827
1893
|
# website_redirect_location: "WebsiteRedirectLocation",
|
|
1828
1894
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
|
1829
1895
|
# sse_customer_key: "SSECustomerKey",
|
|
@@ -2140,7 +2206,7 @@ module Aws::S3
|
|
|
2140
2206
|
# A map of metadata to store with the object in S3.
|
|
2141
2207
|
# @option options [String] :server_side_encryption
|
|
2142
2208
|
# The server-side encryption algorithm used when you store this object
|
|
2143
|
-
# in Amazon S3
|
|
2209
|
+
# in Amazon S3 or Amazon FSx.
|
|
2144
2210
|
#
|
|
2145
2211
|
# * <b>Directory buckets </b> - For directory buckets, there are only
|
|
2146
2212
|
# two supported options for server-side encryption: server-side
|
|
@@ -2182,6 +2248,14 @@ module Aws::S3
|
|
|
2182
2248
|
#
|
|
2183
2249
|
# </note>
|
|
2184
2250
|
#
|
|
2251
|
+
# * <b>S3 access points for Amazon FSx </b> - When accessing data stored
|
|
2252
|
+
# in Amazon FSx file systems using S3 access points, the only valid
|
|
2253
|
+
# server side encryption option is `aws:fsx`. All Amazon FSx file
|
|
2254
|
+
# systems have encryption configured by default and are encrypted at
|
|
2255
|
+
# rest. Data is automatically encrypted before being written to the
|
|
2256
|
+
# file system, and automatically decrypted as it is read. These
|
|
2257
|
+
# processes are handled transparently by Amazon FSx.
|
|
2258
|
+
#
|
|
2185
2259
|
#
|
|
2186
2260
|
#
|
|
2187
2261
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
|
@@ -2415,8 +2489,8 @@ module Aws::S3
|
|
|
2415
2489
|
# metadata: {
|
|
2416
2490
|
# "MetadataKey" => "MetadataValue",
|
|
2417
2491
|
# },
|
|
2418
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
|
2419
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
|
2492
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
|
2493
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS, FSX_ONTAP
|
|
2420
2494
|
# website_redirect_location: "WebsiteRedirectLocation",
|
|
2421
2495
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
|
2422
2496
|
# sse_customer_key: "SSECustomerKey",
|
|
@@ -2726,8 +2800,7 @@ module Aws::S3
|
|
|
2726
2800
|
# A map of metadata to store with the object in S3.
|
|
2727
2801
|
# @option options [String] :server_side_encryption
|
|
2728
2802
|
# The server-side encryption algorithm that was used when you store this
|
|
2729
|
-
# object in Amazon S3
|
|
2730
|
-
# `aws:kms:dsse`).
|
|
2803
|
+
# object in Amazon S3 or Amazon FSx.
|
|
2731
2804
|
#
|
|
2732
2805
|
# * <b>General purpose buckets </b> - You have four mutually exclusive
|
|
2733
2806
|
# options to protect data using server-side encryption in Amazon S3,
|
|
@@ -2781,6 +2854,14 @@ module Aws::S3
|
|
|
2781
2854
|
#
|
|
2782
2855
|
# </note>
|
|
2783
2856
|
#
|
|
2857
|
+
# * <b>S3 access points for Amazon FSx </b> - When accessing data stored
|
|
2858
|
+
# in Amazon FSx file systems using S3 access points, the only valid
|
|
2859
|
+
# server side encryption option is `aws:fsx`. All Amazon FSx file
|
|
2860
|
+
# systems have encryption configured by default and are encrypted at
|
|
2861
|
+
# rest. Data is automatically encrypted before being written to the
|
|
2862
|
+
# file system, and automatically decrypted as it is read. These
|
|
2863
|
+
# processes are handled transparently by Amazon FSx.
|
|
2864
|
+
#
|
|
2784
2865
|
#
|
|
2785
2866
|
#
|
|
2786
2867
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
|
@@ -3053,7 +3134,7 @@ module Aws::S3
|
|
|
3053
3134
|
# bucket_name: "BucketName", # required
|
|
3054
3135
|
# prefix: "LocationPrefix", # required
|
|
3055
3136
|
# encryption: {
|
|
3056
|
-
# encryption_type: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
|
|
3137
|
+
# encryption_type: "AES256", # required, accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
|
3057
3138
|
# kms_key_id: "SSEKMSKeyId",
|
|
3058
3139
|
# kms_context: "KMSContext",
|
|
3059
3140
|
# },
|
|
@@ -3084,7 +3165,7 @@ module Aws::S3
|
|
|
3084
3165
|
# value: "MetadataValue",
|
|
3085
3166
|
# },
|
|
3086
3167
|
# ],
|
|
3087
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
|
3168
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS, FSX_ONTAP
|
|
3088
3169
|
# },
|
|
3089
3170
|
# },
|
|
3090
3171
|
# },
|
|
@@ -42,7 +42,7 @@ module Aws::S3
|
|
|
42
42
|
@object_key
|
|
43
43
|
end
|
|
44
44
|
|
|
45
|
-
# Container for the bucket owner's
|
|
45
|
+
# Container for the bucket owner's ID.
|
|
46
46
|
# @return [Types::Owner]
|
|
47
47
|
def owner
|
|
48
48
|
data[:owner]
|
|
@@ -55,11 +55,17 @@ module Aws::S3
|
|
|
55
55
|
end
|
|
56
56
|
|
|
57
57
|
# If present, indicates that the requester was successfully charged for
|
|
58
|
-
# the request.
|
|
58
|
+
# the request. For more information, see [Using Requester Pays buckets
|
|
59
|
+
# for storage transfers and usage][1] in the *Amazon Simple Storage
|
|
60
|
+
# Service user guide*.
|
|
59
61
|
#
|
|
60
62
|
# <note markdown="1"> This functionality is not supported for directory buckets.
|
|
61
63
|
#
|
|
62
64
|
# </note>
|
|
65
|
+
#
|
|
66
|
+
#
|
|
67
|
+
#
|
|
68
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
|
|
63
69
|
# @return [String]
|
|
64
70
|
def request_charged
|
|
65
71
|
data[:request_charged]
|
|
@@ -354,13 +354,15 @@ module Aws::S3
|
|
|
354
354
|
# grant_read: "GrantRead",
|
|
355
355
|
# grant_read_acp: "GrantReadACP",
|
|
356
356
|
# grant_write_acp: "GrantWriteACP",
|
|
357
|
+
# if_match: "IfMatch",
|
|
358
|
+
# if_none_match: "IfNoneMatch",
|
|
357
359
|
# metadata: {
|
|
358
360
|
# "MetadataKey" => "MetadataValue",
|
|
359
361
|
# },
|
|
360
362
|
# metadata_directive: "COPY", # accepts COPY, REPLACE
|
|
361
363
|
# tagging_directive: "COPY", # accepts COPY, REPLACE
|
|
362
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
|
363
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
|
364
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
|
365
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS, FSX_ONTAP
|
|
364
366
|
# website_redirect_location: "WebsiteRedirectLocation",
|
|
365
367
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
|
366
368
|
# sse_customer_key: "SSECustomerKey",
|
|
@@ -610,6 +612,35 @@ module Aws::S3
|
|
|
610
612
|
# * This functionality is not supported for Amazon S3 on Outposts.
|
|
611
613
|
#
|
|
612
614
|
# </note>
|
|
615
|
+
# @option options [String] :if_match
|
|
616
|
+
# Copies the object if the entity tag (ETag) of the destination object
|
|
617
|
+
# matches the specified tag. If the ETag values do not match, the
|
|
618
|
+
# operation returns a `412 Precondition Failed` error. If a concurrent
|
|
619
|
+
# operation occurs during the upload S3 returns a `409
|
|
620
|
+
# ConditionalRequestConflict` response. On a 409 failure you should
|
|
621
|
+
# fetch the object's ETag and retry the upload.
|
|
622
|
+
#
|
|
623
|
+
# Expects the ETag value as a string.
|
|
624
|
+
#
|
|
625
|
+
# For more information about conditional requests, see [RFC 7232][1].
|
|
626
|
+
#
|
|
627
|
+
#
|
|
628
|
+
#
|
|
629
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
|
630
|
+
# @option options [String] :if_none_match
|
|
631
|
+
# Copies the object only if the object key name at the destination does
|
|
632
|
+
# not already exist in the bucket specified. Otherwise, Amazon S3
|
|
633
|
+
# returns a `412 Precondition Failed` error. If a concurrent operation
|
|
634
|
+
# occurs during the upload S3 returns a `409 ConditionalRequestConflict`
|
|
635
|
+
# response. On a 409 failure you should retry the upload.
|
|
636
|
+
#
|
|
637
|
+
# Expects the '*' (asterisk) character.
|
|
638
|
+
#
|
|
639
|
+
# For more information about conditional requests, see [RFC 7232][1].
|
|
640
|
+
#
|
|
641
|
+
#
|
|
642
|
+
#
|
|
643
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
|
613
644
|
# @option options [Hash<String,String>] :metadata
|
|
614
645
|
# A map of metadata to store with the object in S3.
|
|
615
646
|
# @option options [String] :metadata_directive
|
|
@@ -750,6 +781,14 @@ module Aws::S3
|
|
|
750
781
|
# key is the same customer managed key that you specified for the
|
|
751
782
|
# directory bucket's default encryption configuration.
|
|
752
783
|
#
|
|
784
|
+
# * <b>S3 access points for Amazon FSx </b> - When accessing data stored
|
|
785
|
+
# in Amazon FSx file systems using S3 access points, the only valid
|
|
786
|
+
# server side encryption option is `aws:fsx`. All Amazon FSx file
|
|
787
|
+
# systems have encryption configured by default and are encrypted at
|
|
788
|
+
# rest. Data is automatically encrypted before being written to the
|
|
789
|
+
# file system, and automatically decrypted as it is read. These
|
|
790
|
+
# processes are handled transparently by Amazon FSx.
|
|
791
|
+
#
|
|
753
792
|
#
|
|
754
793
|
#
|
|
755
794
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
|
|
@@ -1124,17 +1163,15 @@ module Aws::S3
|
|
|
1124
1163
|
# you provide does not match the actual owner of the bucket, the request
|
|
1125
1164
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
|
1126
1165
|
# @option options [String] :if_match
|
|
1127
|
-
#
|
|
1128
|
-
#
|
|
1129
|
-
#
|
|
1130
|
-
#
|
|
1131
|
-
# response`.
|
|
1132
|
-
#
|
|
1133
|
-
# For more information about conditional requests, see [RFC 7232][1].
|
|
1166
|
+
# Deletes the object if the ETag (entity tag) value provided during the
|
|
1167
|
+
# delete operation matches the ETag of the object in S3. If the ETag
|
|
1168
|
+
# values do not match, the operation returns a `412 Precondition Failed`
|
|
1169
|
+
# error.
|
|
1134
1170
|
#
|
|
1135
|
-
#
|
|
1171
|
+
# Expects the ETag value as a string. `If-Match` does accept a string
|
|
1172
|
+
# value of an '*' (asterisk) character to denote a match of any ETag.
|
|
1136
1173
|
#
|
|
1137
|
-
#
|
|
1174
|
+
# For more information about conditional requests, see [RFC 7232][1].
|
|
1138
1175
|
#
|
|
1139
1176
|
#
|
|
1140
1177
|
#
|
|
@@ -1448,8 +1485,8 @@ module Aws::S3
|
|
|
1448
1485
|
# metadata: {
|
|
1449
1486
|
# "MetadataKey" => "MetadataValue",
|
|
1450
1487
|
# },
|
|
1451
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
|
1452
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
|
1488
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
|
1489
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS, FSX_ONTAP
|
|
1453
1490
|
# website_redirect_location: "WebsiteRedirectLocation",
|
|
1454
1491
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
|
1455
1492
|
# sse_customer_key: "SSECustomerKey",
|
|
@@ -1766,7 +1803,7 @@ module Aws::S3
|
|
|
1766
1803
|
# A map of metadata to store with the object in S3.
|
|
1767
1804
|
# @option options [String] :server_side_encryption
|
|
1768
1805
|
# The server-side encryption algorithm used when you store this object
|
|
1769
|
-
# in Amazon S3
|
|
1806
|
+
# in Amazon S3 or Amazon FSx.
|
|
1770
1807
|
#
|
|
1771
1808
|
# * <b>Directory buckets </b> - For directory buckets, there are only
|
|
1772
1809
|
# two supported options for server-side encryption: server-side
|
|
@@ -1808,6 +1845,14 @@ module Aws::S3
|
|
|
1808
1845
|
#
|
|
1809
1846
|
# </note>
|
|
1810
1847
|
#
|
|
1848
|
+
# * <b>S3 access points for Amazon FSx </b> - When accessing data stored
|
|
1849
|
+
# in Amazon FSx file systems using S3 access points, the only valid
|
|
1850
|
+
# server side encryption option is `aws:fsx`. All Amazon FSx file
|
|
1851
|
+
# systems have encryption configured by default and are encrypted at
|
|
1852
|
+
# rest. Data is automatically encrypted before being written to the
|
|
1853
|
+
# file system, and automatically decrypted as it is read. These
|
|
1854
|
+
# processes are handled transparently by Amazon FSx.
|
|
1855
|
+
#
|
|
1811
1856
|
#
|
|
1812
1857
|
#
|
|
1813
1858
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
|
@@ -2041,8 +2086,8 @@ module Aws::S3
|
|
|
2041
2086
|
# metadata: {
|
|
2042
2087
|
# "MetadataKey" => "MetadataValue",
|
|
2043
2088
|
# },
|
|
2044
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
|
2045
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
|
2089
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
|
2090
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS, FSX_ONTAP
|
|
2046
2091
|
# website_redirect_location: "WebsiteRedirectLocation",
|
|
2047
2092
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
|
2048
2093
|
# sse_customer_key: "SSECustomerKey",
|
|
@@ -2352,8 +2397,7 @@ module Aws::S3
|
|
|
2352
2397
|
# A map of metadata to store with the object in S3.
|
|
2353
2398
|
# @option options [String] :server_side_encryption
|
|
2354
2399
|
# The server-side encryption algorithm that was used when you store this
|
|
2355
|
-
# object in Amazon S3
|
|
2356
|
-
# `aws:kms:dsse`).
|
|
2400
|
+
# object in Amazon S3 or Amazon FSx.
|
|
2357
2401
|
#
|
|
2358
2402
|
# * <b>General purpose buckets </b> - You have four mutually exclusive
|
|
2359
2403
|
# options to protect data using server-side encryption in Amazon S3,
|
|
@@ -2407,6 +2451,14 @@ module Aws::S3
|
|
|
2407
2451
|
#
|
|
2408
2452
|
# </note>
|
|
2409
2453
|
#
|
|
2454
|
+
# * <b>S3 access points for Amazon FSx </b> - When accessing data stored
|
|
2455
|
+
# in Amazon FSx file systems using S3 access points, the only valid
|
|
2456
|
+
# server side encryption option is `aws:fsx`. All Amazon FSx file
|
|
2457
|
+
# systems have encryption configured by default and are encrypted at
|
|
2458
|
+
# rest. Data is automatically encrypted before being written to the
|
|
2459
|
+
# file system, and automatically decrypted as it is read. These
|
|
2460
|
+
# processes are handled transparently by Amazon FSx.
|
|
2461
|
+
#
|
|
2410
2462
|
#
|
|
2411
2463
|
#
|
|
2412
2464
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
|
@@ -2679,7 +2731,7 @@ module Aws::S3
|
|
|
2679
2731
|
# bucket_name: "BucketName", # required
|
|
2680
2732
|
# prefix: "LocationPrefix", # required
|
|
2681
2733
|
# encryption: {
|
|
2682
|
-
# encryption_type: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
|
|
2734
|
+
# encryption_type: "AES256", # required, accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
|
2683
2735
|
# kms_key_id: "SSEKMSKeyId",
|
|
2684
2736
|
# kms_context: "KMSContext",
|
|
2685
2737
|
# },
|
|
@@ -2710,7 +2762,7 @@ module Aws::S3
|
|
|
2710
2762
|
# value: "MetadataValue",
|
|
2711
2763
|
# },
|
|
2712
2764
|
# ],
|
|
2713
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
|
2765
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS, FSX_ONTAP
|
|
2714
2766
|
# },
|
|
2715
2767
|
# },
|
|
2716
2768
|
# },
|
|
@@ -312,17 +312,15 @@ module Aws::S3
|
|
|
312
312
|
# you provide does not match the actual owner of the bucket, the request
|
|
313
313
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
|
314
314
|
# @option options [String] :if_match
|
|
315
|
-
#
|
|
316
|
-
#
|
|
317
|
-
#
|
|
318
|
-
#
|
|
319
|
-
# response`.
|
|
320
|
-
#
|
|
321
|
-
# For more information about conditional requests, see [RFC 7232][1].
|
|
315
|
+
# Deletes the object if the ETag (entity tag) value provided during the
|
|
316
|
+
# delete operation matches the ETag of the object in S3. If the ETag
|
|
317
|
+
# values do not match, the operation returns a `412 Precondition Failed`
|
|
318
|
+
# error.
|
|
322
319
|
#
|
|
323
|
-
#
|
|
320
|
+
# Expects the ETag value as a string. `If-Match` does accept a string
|
|
321
|
+
# value of an '*' (asterisk) character to denote a match of any ETag.
|
|
324
322
|
#
|
|
325
|
-
#
|
|
323
|
+
# For more information about conditional requests, see [RFC 7232][1].
|
|
326
324
|
#
|
|
327
325
|
#
|
|
328
326
|
#
|
|
@@ -25,7 +25,7 @@ The endpoint provider used to resolve endpoints. Any object that responds to
|
|
|
25
25
|
|
|
26
26
|
option(
|
|
27
27
|
:disable_s3_express_session_auth,
|
|
28
|
-
doc_type: '
|
|
28
|
+
doc_type: 'boolean',
|
|
29
29
|
docstring: <<~DOCS) do |cfg|
|
|
30
30
|
Parameter to indicate whether S3Express session auth should be disabled
|
|
31
31
|
DOCS
|
|
@@ -62,18 +62,16 @@ module Aws
|
|
|
62
62
|
class Handler < Seahorse::Client::Handler
|
|
63
63
|
|
|
64
64
|
def call(context)
|
|
65
|
-
target = context.params[:response_target] || context[:response_target]
|
|
66
|
-
|
|
67
65
|
# retry is only supported when range is NOT set on the initial request
|
|
68
|
-
if supported_target?(
|
|
69
|
-
add_event_listeners(context
|
|
66
|
+
if supported_target?(context) && !context.params[:range]
|
|
67
|
+
add_event_listeners(context)
|
|
70
68
|
end
|
|
71
69
|
@handler.call(context)
|
|
72
70
|
end
|
|
73
71
|
|
|
74
72
|
private
|
|
75
73
|
|
|
76
|
-
def add_event_listeners(context
|
|
74
|
+
def add_event_listeners(context)
|
|
77
75
|
context.http_response.on_headers(200..299) do
|
|
78
76
|
case context.http_response.body
|
|
79
77
|
when Seahorse::Client::BlockIO then
|
|
@@ -123,8 +121,8 @@ module Aws
|
|
|
123
121
|
context.http_response.body.is_a?(RetryableManagedFile)
|
|
124
122
|
end
|
|
125
123
|
|
|
126
|
-
def supported_target?(
|
|
127
|
-
case
|
|
124
|
+
def supported_target?(context)
|
|
125
|
+
case context[:response_target]
|
|
128
126
|
when Proc, String, Pathname then true
|
|
129
127
|
else false
|
|
130
128
|
end
|
data/lib/aws-sdk-s3/resource.rb
CHANGED
|
@@ -50,6 +50,12 @@ module Aws::S3
|
|
|
50
50
|
# data_redundancy: "SingleAvailabilityZone", # accepts SingleAvailabilityZone, SingleLocalZone
|
|
51
51
|
# type: "Directory", # accepts Directory
|
|
52
52
|
# },
|
|
53
|
+
# tags: [
|
|
54
|
+
# {
|
|
55
|
+
# key: "ObjectKey", # required
|
|
56
|
+
# value: "Value", # required
|
|
57
|
+
# },
|
|
58
|
+
# ],
|
|
53
59
|
# },
|
|
54
60
|
# grant_full_control: "GrantFullControl",
|
|
55
61
|
# grant_read: "GrantRead",
|