aws-sdk-s3 1.182.0 → 1.198.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 +106 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/bucket.rb +46 -6
- data/lib/aws-sdk-s3/client.rb +1693 -591
- data/lib/aws-sdk-s3/client_api.rb +396 -162
- data/lib/aws-sdk-s3/customizations/object.rb +57 -76
- data/lib/aws-sdk-s3/customizations.rb +2 -1
- data/lib/aws-sdk-s3/endpoint_provider.rb +234 -129
- data/lib/aws-sdk-s3/endpoints.rb +84 -0
- data/lib/aws-sdk-s3/errors.rb +11 -0
- data/lib/aws-sdk-s3/file_downloader.rb +65 -82
- data/lib/aws-sdk-s3/file_uploader.rb +3 -5
- 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 +34 -65
- data/lib/aws-sdk-s3/multipart_stream_uploader.rb +80 -88
- data/lib/aws-sdk-s3/multipart_upload.rb +4 -2
- data/lib/aws-sdk-s3/multipart_upload_error.rb +3 -4
- data/lib/aws-sdk-s3/object.rb +85 -26
- data/lib/aws-sdk-s3/object_acl.rb +7 -1
- data/lib/aws-sdk-s3/object_multipart_copier.rb +2 -1
- data/lib/aws-sdk-s3/object_summary.rb +54 -24
- 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 +246 -0
- data/lib/aws-sdk-s3/types.rb +1627 -295
- data/lib/aws-sdk-s3.rb +1 -1
- data/sig/bucket.rbs +12 -3
- data/sig/client.rbs +143 -31
- data/sig/errors.rbs +2 -0
- data/sig/multipart_upload.rbs +1 -1
- data/sig/object.rbs +13 -10
- data/sig/object_summary.rbs +9 -9
- data/sig/resource.rbs +8 -1
- data/sig/types.rbs +183 -29
- metadata +8 -9
data/lib/aws-sdk-s3/object.rb
CHANGED
@@ -97,9 +97,10 @@ module Aws::S3
|
|
97
97
|
# For more information about archiving objects, see [Transitioning
|
98
98
|
# Objects: General Considerations][2].
|
99
99
|
#
|
100
|
-
# <note markdown="1"> This functionality is not supported for directory buckets.
|
101
|
-
#
|
102
|
-
#
|
100
|
+
# <note markdown="1"> This functionality is not supported for directory buckets. Directory
|
101
|
+
# buckets only support `EXPRESS_ONEZONE` (the S3 Express One Zone
|
102
|
+
# storage class) in Availability Zones and `ONEZONE_IA` (the S3 One
|
103
|
+
# Zone-Infrequent Access storage class) in Dedicated Local Zones.
|
103
104
|
#
|
104
105
|
# </note>
|
105
106
|
#
|
@@ -323,7 +324,12 @@ module Aws::S3
|
|
323
324
|
end
|
324
325
|
|
325
326
|
# The server-side encryption algorithm used when you store this object
|
326
|
-
# 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>
|
327
333
|
# @return [String]
|
328
334
|
def server_side_encryption
|
329
335
|
data[:server_side_encryption]
|
@@ -380,8 +386,10 @@ module Aws::S3
|
|
380
386
|
#
|
381
387
|
# For more information, see [Storage Classes][1].
|
382
388
|
#
|
383
|
-
# <note markdown="1"> <b>Directory buckets </b> -
|
384
|
-
#
|
389
|
+
# <note markdown="1"> <b>Directory buckets </b> - Directory buckets only support
|
390
|
+
# `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
|
391
|
+
# Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent Access
|
392
|
+
# storage class) in Dedicated Local Zones.
|
385
393
|
#
|
386
394
|
# </note>
|
387
395
|
#
|
@@ -394,11 +402,17 @@ module Aws::S3
|
|
394
402
|
end
|
395
403
|
|
396
404
|
# If present, indicates that the requester was successfully charged for
|
397
|
-
# 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*.
|
398
408
|
#
|
399
409
|
# <note markdown="1"> This functionality is not supported for directory buckets.
|
400
410
|
#
|
401
411
|
# </note>
|
412
|
+
#
|
413
|
+
#
|
414
|
+
#
|
415
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
|
402
416
|
# @return [String]
|
403
417
|
def request_charged
|
404
418
|
data[:request_charged]
|
@@ -461,6 +475,24 @@ module Aws::S3
|
|
461
475
|
data[:parts_count]
|
462
476
|
end
|
463
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
|
+
|
464
496
|
# The Object Lock mode, if any, that's in effect for this object. This
|
465
497
|
# header is only returned if the requester has the
|
466
498
|
# `s3:GetObjectRetention` permission. For more information about S3
|
@@ -730,8 +762,8 @@ module Aws::S3
|
|
730
762
|
# },
|
731
763
|
# metadata_directive: "COPY", # accepts COPY, REPLACE
|
732
764
|
# tagging_directive: "COPY", # accepts COPY, REPLACE
|
733
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
734
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
765
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
766
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
|
735
767
|
# website_redirect_location: "WebsiteRedirectLocation",
|
736
768
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
737
769
|
# sse_customer_key: "SSECustomerKey",
|
@@ -1121,6 +1153,14 @@ module Aws::S3
|
|
1121
1153
|
# key is the same customer managed key that you specified for the
|
1122
1154
|
# directory bucket's default encryption configuration.
|
1123
1155
|
#
|
1156
|
+
# * <b>S3 access points for Amazon FSx </b> - When accessing data stored
|
1157
|
+
# in Amazon FSx file systems using S3 access points, the only valid
|
1158
|
+
# server side encryption option is `aws:fsx`. All Amazon FSx file
|
1159
|
+
# systems have encryption configured by default and are encrypted at
|
1160
|
+
# rest. Data is automatically encrypted before being written to the
|
1161
|
+
# file system, and automatically decrypted as it is read. These
|
1162
|
+
# processes are handled transparently by Amazon FSx.
|
1163
|
+
#
|
1124
1164
|
#
|
1125
1165
|
#
|
1126
1166
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
|
@@ -1135,10 +1175,12 @@ module Aws::S3
|
|
1135
1175
|
# availability. Depending on performance needs, you can specify a
|
1136
1176
|
# different Storage Class.
|
1137
1177
|
#
|
1138
|
-
# <note markdown="1"> * <b>Directory buckets </b> -
|
1139
|
-
# Express One Zone storage class
|
1140
|
-
#
|
1141
|
-
#
|
1178
|
+
# <note markdown="1"> * <b>Directory buckets </b> - Directory buckets only support
|
1179
|
+
# `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
|
1180
|
+
# Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent
|
1181
|
+
# Access storage class) in Dedicated Local Zones. Unsupported storage
|
1182
|
+
# class values won't write a destination object and will respond with
|
1183
|
+
# the HTTP status code `400 Bad Request`.
|
1142
1184
|
#
|
1143
1185
|
# * <b>Amazon S3 on Outposts </b> - S3 on Outposts only uses the
|
1144
1186
|
# `OUTPOSTS` Storage Class.
|
@@ -1817,8 +1859,8 @@ module Aws::S3
|
|
1817
1859
|
# metadata: {
|
1818
1860
|
# "MetadataKey" => "MetadataValue",
|
1819
1861
|
# },
|
1820
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
1821
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
1862
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
1863
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
|
1822
1864
|
# website_redirect_location: "WebsiteRedirectLocation",
|
1823
1865
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
1824
1866
|
# sse_customer_key: "SSECustomerKey",
|
@@ -2135,7 +2177,7 @@ module Aws::S3
|
|
2135
2177
|
# A map of metadata to store with the object in S3.
|
2136
2178
|
# @option options [String] :server_side_encryption
|
2137
2179
|
# The server-side encryption algorithm used when you store this object
|
2138
|
-
# in Amazon S3
|
2180
|
+
# in Amazon S3 or Amazon FSx.
|
2139
2181
|
#
|
2140
2182
|
# * <b>Directory buckets </b> - For directory buckets, there are only
|
2141
2183
|
# two supported options for server-side encryption: server-side
|
@@ -2177,6 +2219,14 @@ module Aws::S3
|
|
2177
2219
|
#
|
2178
2220
|
# </note>
|
2179
2221
|
#
|
2222
|
+
# * <b>S3 access points for Amazon FSx </b> - When accessing data stored
|
2223
|
+
# in Amazon FSx file systems using S3 access points, the only valid
|
2224
|
+
# server side encryption option is `aws:fsx`. All Amazon FSx file
|
2225
|
+
# systems have encryption configured by default and are encrypted at
|
2226
|
+
# rest. Data is automatically encrypted before being written to the
|
2227
|
+
# file system, and automatically decrypted as it is read. These
|
2228
|
+
# processes are handled transparently by Amazon FSx.
|
2229
|
+
#
|
2180
2230
|
#
|
2181
2231
|
#
|
2182
2232
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
@@ -2190,8 +2240,9 @@ module Aws::S3
|
|
2190
2240
|
# a different Storage Class. For more information, see [Storage
|
2191
2241
|
# Classes][1] in the *Amazon S3 User Guide*.
|
2192
2242
|
#
|
2193
|
-
# <note markdown="1"> *
|
2194
|
-
#
|
2243
|
+
# <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express One
|
2244
|
+
# Zone storage class) in Availability Zones and `ONEZONE_IA` (the S3
|
2245
|
+
# One Zone-Infrequent Access storage class) in Dedicated Local Zones.
|
2195
2246
|
#
|
2196
2247
|
# * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
|
2197
2248
|
#
|
@@ -2409,8 +2460,8 @@ module Aws::S3
|
|
2409
2460
|
# metadata: {
|
2410
2461
|
# "MetadataKey" => "MetadataValue",
|
2411
2462
|
# },
|
2412
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
2413
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
2463
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
2464
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
|
2414
2465
|
# website_redirect_location: "WebsiteRedirectLocation",
|
2415
2466
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
2416
2467
|
# sse_customer_key: "SSECustomerKey",
|
@@ -2720,8 +2771,7 @@ module Aws::S3
|
|
2720
2771
|
# A map of metadata to store with the object in S3.
|
2721
2772
|
# @option options [String] :server_side_encryption
|
2722
2773
|
# The server-side encryption algorithm that was used when you store this
|
2723
|
-
# object in Amazon S3
|
2724
|
-
# `aws:kms:dsse`).
|
2774
|
+
# object in Amazon S3 or Amazon FSx.
|
2725
2775
|
#
|
2726
2776
|
# * <b>General purpose buckets </b> - You have four mutually exclusive
|
2727
2777
|
# options to protect data using server-side encryption in Amazon S3,
|
@@ -2775,6 +2825,14 @@ module Aws::S3
|
|
2775
2825
|
#
|
2776
2826
|
# </note>
|
2777
2827
|
#
|
2828
|
+
# * <b>S3 access points for Amazon FSx </b> - When accessing data stored
|
2829
|
+
# in Amazon FSx file systems using S3 access points, the only valid
|
2830
|
+
# server side encryption option is `aws:fsx`. All Amazon FSx file
|
2831
|
+
# systems have encryption configured by default and are encrypted at
|
2832
|
+
# rest. Data is automatically encrypted before being written to the
|
2833
|
+
# file system, and automatically decrypted as it is read. These
|
2834
|
+
# processes are handled transparently by Amazon FSx.
|
2835
|
+
#
|
2778
2836
|
#
|
2779
2837
|
#
|
2780
2838
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
@@ -2789,8 +2847,9 @@ module Aws::S3
|
|
2789
2847
|
# a different Storage Class. For more information, see [Storage
|
2790
2848
|
# Classes][1] in the *Amazon S3 User Guide*.
|
2791
2849
|
#
|
2792
|
-
# <note markdown="1"> *
|
2793
|
-
#
|
2850
|
+
# <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express One
|
2851
|
+
# Zone storage class) in Availability Zones and `ONEZONE_IA` (the S3
|
2852
|
+
# One Zone-Infrequent Access storage class) in Dedicated Local Zones.
|
2794
2853
|
#
|
2795
2854
|
# * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
|
2796
2855
|
#
|
@@ -3046,7 +3105,7 @@ module Aws::S3
|
|
3046
3105
|
# bucket_name: "BucketName", # required
|
3047
3106
|
# prefix: "LocationPrefix", # required
|
3048
3107
|
# encryption: {
|
3049
|
-
# encryption_type: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
|
3108
|
+
# encryption_type: "AES256", # required, accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
3050
3109
|
# kms_key_id: "SSEKMSKeyId",
|
3051
3110
|
# kms_context: "KMSContext",
|
3052
3111
|
# },
|
@@ -3077,7 +3136,7 @@ module Aws::S3
|
|
3077
3136
|
# value: "MetadataValue",
|
3078
3137
|
# },
|
3079
3138
|
# ],
|
3080
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
3139
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
|
3081
3140
|
# },
|
3082
3141
|
# },
|
3083
3142
|
# },
|
@@ -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]
|
@@ -104,8 +104,10 @@ module Aws::S3
|
|
104
104
|
|
105
105
|
# The class of storage used to store the object.
|
106
106
|
#
|
107
|
-
# <note markdown="1"> **Directory buckets** -
|
108
|
-
#
|
107
|
+
# <note markdown="1"> **Directory buckets** - Directory buckets only support
|
108
|
+
# `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
|
109
|
+
# Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent Access
|
110
|
+
# storage class) in Dedicated Local Zones.
|
109
111
|
#
|
110
112
|
# </note>
|
111
113
|
# @return [String]
|
@@ -130,9 +132,10 @@ module Aws::S3
|
|
130
132
|
# archived objects, see [ Working with archived objects][1] in the
|
131
133
|
# *Amazon S3 User Guide*.
|
132
134
|
#
|
133
|
-
# <note markdown="1"> This functionality is not supported for directory buckets.
|
134
|
-
#
|
135
|
-
#
|
135
|
+
# <note markdown="1"> This functionality is not supported for directory buckets. Directory
|
136
|
+
# buckets only support `EXPRESS_ONEZONE` (the S3 Express One Zone
|
137
|
+
# storage class) in Availability Zones and `ONEZONE_IA` (the S3 One
|
138
|
+
# Zone-Infrequent Access storage class) in Dedicated Local Zones.
|
136
139
|
#
|
137
140
|
# </note>
|
138
141
|
#
|
@@ -356,8 +359,8 @@ module Aws::S3
|
|
356
359
|
# },
|
357
360
|
# metadata_directive: "COPY", # accepts COPY, REPLACE
|
358
361
|
# tagging_directive: "COPY", # accepts COPY, REPLACE
|
359
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
360
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
362
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:fsx, 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, FSX_OPENZFS
|
361
364
|
# website_redirect_location: "WebsiteRedirectLocation",
|
362
365
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
363
366
|
# sse_customer_key: "SSECustomerKey",
|
@@ -747,6 +750,14 @@ module Aws::S3
|
|
747
750
|
# key is the same customer managed key that you specified for the
|
748
751
|
# directory bucket's default encryption configuration.
|
749
752
|
#
|
753
|
+
# * <b>S3 access points for Amazon FSx </b> - When accessing data stored
|
754
|
+
# in Amazon FSx file systems using S3 access points, the only valid
|
755
|
+
# server side encryption option is `aws:fsx`. All Amazon FSx file
|
756
|
+
# systems have encryption configured by default and are encrypted at
|
757
|
+
# rest. Data is automatically encrypted before being written to the
|
758
|
+
# file system, and automatically decrypted as it is read. These
|
759
|
+
# processes are handled transparently by Amazon FSx.
|
760
|
+
#
|
750
761
|
#
|
751
762
|
#
|
752
763
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
|
@@ -761,10 +772,12 @@ module Aws::S3
|
|
761
772
|
# availability. Depending on performance needs, you can specify a
|
762
773
|
# different Storage Class.
|
763
774
|
#
|
764
|
-
# <note markdown="1"> * <b>Directory buckets </b> -
|
765
|
-
# Express One Zone storage class
|
766
|
-
#
|
767
|
-
#
|
775
|
+
# <note markdown="1"> * <b>Directory buckets </b> - Directory buckets only support
|
776
|
+
# `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
|
777
|
+
# Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent
|
778
|
+
# Access storage class) in Dedicated Local Zones. Unsupported storage
|
779
|
+
# class values won't write a destination object and will respond with
|
780
|
+
# the HTTP status code `400 Bad Request`.
|
768
781
|
#
|
769
782
|
# * <b>Amazon S3 on Outposts </b> - S3 on Outposts only uses the
|
770
783
|
# `OUTPOSTS` Storage Class.
|
@@ -1443,8 +1456,8 @@ module Aws::S3
|
|
1443
1456
|
# metadata: {
|
1444
1457
|
# "MetadataKey" => "MetadataValue",
|
1445
1458
|
# },
|
1446
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
1447
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
1459
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
1460
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
|
1448
1461
|
# website_redirect_location: "WebsiteRedirectLocation",
|
1449
1462
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
1450
1463
|
# sse_customer_key: "SSECustomerKey",
|
@@ -1761,7 +1774,7 @@ module Aws::S3
|
|
1761
1774
|
# A map of metadata to store with the object in S3.
|
1762
1775
|
# @option options [String] :server_side_encryption
|
1763
1776
|
# The server-side encryption algorithm used when you store this object
|
1764
|
-
# in Amazon S3
|
1777
|
+
# in Amazon S3 or Amazon FSx.
|
1765
1778
|
#
|
1766
1779
|
# * <b>Directory buckets </b> - For directory buckets, there are only
|
1767
1780
|
# two supported options for server-side encryption: server-side
|
@@ -1803,6 +1816,14 @@ module Aws::S3
|
|
1803
1816
|
#
|
1804
1817
|
# </note>
|
1805
1818
|
#
|
1819
|
+
# * <b>S3 access points for Amazon FSx </b> - When accessing data stored
|
1820
|
+
# in Amazon FSx file systems using S3 access points, the only valid
|
1821
|
+
# server side encryption option is `aws:fsx`. All Amazon FSx file
|
1822
|
+
# systems have encryption configured by default and are encrypted at
|
1823
|
+
# rest. Data is automatically encrypted before being written to the
|
1824
|
+
# file system, and automatically decrypted as it is read. These
|
1825
|
+
# processes are handled transparently by Amazon FSx.
|
1826
|
+
#
|
1806
1827
|
#
|
1807
1828
|
#
|
1808
1829
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
@@ -1816,8 +1837,9 @@ module Aws::S3
|
|
1816
1837
|
# a different Storage Class. For more information, see [Storage
|
1817
1838
|
# Classes][1] in the *Amazon S3 User Guide*.
|
1818
1839
|
#
|
1819
|
-
# <note markdown="1"> *
|
1820
|
-
#
|
1840
|
+
# <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express One
|
1841
|
+
# Zone storage class) in Availability Zones and `ONEZONE_IA` (the S3
|
1842
|
+
# One Zone-Infrequent Access storage class) in Dedicated Local Zones.
|
1821
1843
|
#
|
1822
1844
|
# * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
|
1823
1845
|
#
|
@@ -2035,8 +2057,8 @@ module Aws::S3
|
|
2035
2057
|
# metadata: {
|
2036
2058
|
# "MetadataKey" => "MetadataValue",
|
2037
2059
|
# },
|
2038
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
2039
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
2060
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
2061
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
|
2040
2062
|
# website_redirect_location: "WebsiteRedirectLocation",
|
2041
2063
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
2042
2064
|
# sse_customer_key: "SSECustomerKey",
|
@@ -2346,8 +2368,7 @@ module Aws::S3
|
|
2346
2368
|
# A map of metadata to store with the object in S3.
|
2347
2369
|
# @option options [String] :server_side_encryption
|
2348
2370
|
# The server-side encryption algorithm that was used when you store this
|
2349
|
-
# object in Amazon S3
|
2350
|
-
# `aws:kms:dsse`).
|
2371
|
+
# object in Amazon S3 or Amazon FSx.
|
2351
2372
|
#
|
2352
2373
|
# * <b>General purpose buckets </b> - You have four mutually exclusive
|
2353
2374
|
# options to protect data using server-side encryption in Amazon S3,
|
@@ -2401,6 +2422,14 @@ module Aws::S3
|
|
2401
2422
|
#
|
2402
2423
|
# </note>
|
2403
2424
|
#
|
2425
|
+
# * <b>S3 access points for Amazon FSx </b> - When accessing data stored
|
2426
|
+
# in Amazon FSx file systems using S3 access points, the only valid
|
2427
|
+
# server side encryption option is `aws:fsx`. All Amazon FSx file
|
2428
|
+
# systems have encryption configured by default and are encrypted at
|
2429
|
+
# rest. Data is automatically encrypted before being written to the
|
2430
|
+
# file system, and automatically decrypted as it is read. These
|
2431
|
+
# processes are handled transparently by Amazon FSx.
|
2432
|
+
#
|
2404
2433
|
#
|
2405
2434
|
#
|
2406
2435
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
@@ -2415,8 +2444,9 @@ module Aws::S3
|
|
2415
2444
|
# a different Storage Class. For more information, see [Storage
|
2416
2445
|
# Classes][1] in the *Amazon S3 User Guide*.
|
2417
2446
|
#
|
2418
|
-
# <note markdown="1"> *
|
2419
|
-
#
|
2447
|
+
# <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express One
|
2448
|
+
# Zone storage class) in Availability Zones and `ONEZONE_IA` (the S3
|
2449
|
+
# One Zone-Infrequent Access storage class) in Dedicated Local Zones.
|
2420
2450
|
#
|
2421
2451
|
# * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
|
2422
2452
|
#
|
@@ -2672,7 +2702,7 @@ module Aws::S3
|
|
2672
2702
|
# bucket_name: "BucketName", # required
|
2673
2703
|
# prefix: "LocationPrefix", # required
|
2674
2704
|
# encryption: {
|
2675
|
-
# encryption_type: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
|
2705
|
+
# encryption_type: "AES256", # required, accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
2676
2706
|
# kms_key_id: "SSEKMSKeyId",
|
2677
2707
|
# kms_context: "KMSContext",
|
2678
2708
|
# },
|
@@ -2703,7 +2733,7 @@ module Aws::S3
|
|
2703
2733
|
# value: "MetadataValue",
|
2704
2734
|
# },
|
2705
2735
|
# ],
|
2706
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
2736
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
|
2707
2737
|
# },
|
2708
2738
|
# },
|
2709
2739
|
# },
|
@@ -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",
|