aws-sdk-s3 1.120.0 → 1.121.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 +10 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/bucket.rb +16 -19
- data/lib/aws-sdk-s3/client.rb +555 -637
- data/lib/aws-sdk-s3/object.rb +40 -45
- data/lib/aws-sdk-s3/object_summary.rb +31 -37
- data/lib/aws-sdk-s3/object_version.rb +4 -6
- data/lib/aws-sdk-s3/plugins/s3_signer.rb +13 -11
- data/lib/aws-sdk-s3/types.rb +222 -284
- data/lib/aws-sdk-s3.rb +1 -1
- metadata +2 -2
data/lib/aws-sdk-s3/object.rb
CHANGED
@@ -239,8 +239,11 @@ module Aws::S3
|
|
239
239
|
data[:website_redirect_location]
|
240
240
|
end
|
241
241
|
|
242
|
-
#
|
243
|
-
# Amazon S3
|
242
|
+
# If the object is stored using server-side encryption either with an
|
243
|
+
# Amazon Web Services KMS key or an Amazon S3-managed encryption key,
|
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).
|
244
247
|
# @return [String]
|
245
248
|
def server_side_encryption
|
246
249
|
data[:server_side_encryption]
|
@@ -270,8 +273,8 @@ module Aws::S3
|
|
270
273
|
end
|
271
274
|
|
272
275
|
# If present, specifies the ID of the Amazon Web Services Key Management
|
273
|
-
# Service (Amazon Web Services KMS) symmetric
|
274
|
-
#
|
276
|
+
# Service (Amazon Web Services KMS) symmetric customer managed key that
|
277
|
+
# was used for the object.
|
275
278
|
# @return [String]
|
276
279
|
def ssekms_key_id
|
277
280
|
data[:ssekms_key_id]
|
@@ -608,7 +611,7 @@ module Aws::S3
|
|
608
611
|
# metadata_directive: "COPY", # accepts COPY, REPLACE
|
609
612
|
# tagging_directive: "COPY", # accepts COPY, REPLACE
|
610
613
|
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
611
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
|
614
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
|
612
615
|
# website_redirect_location: "WebsiteRedirectLocation",
|
613
616
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
614
617
|
# sse_customer_key: "SSECustomerKey",
|
@@ -737,7 +740,7 @@ module Aws::S3
|
|
737
740
|
# or replaced with tag-set provided in the request.
|
738
741
|
# @option options [String] :server_side_encryption
|
739
742
|
# The server-side encryption algorithm used when storing this object in
|
740
|
-
# Amazon S3 (for example, AES256,
|
743
|
+
# Amazon S3 (for example, AES256, aws:kms).
|
741
744
|
# @option options [String] :storage_class
|
742
745
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
743
746
|
# created objects. The STANDARD storage class provides high durability
|
@@ -752,10 +755,7 @@ module Aws::S3
|
|
752
755
|
# @option options [String] :website_redirect_location
|
753
756
|
# If the bucket is configured as a website, redirects requests for this
|
754
757
|
# object to another object in the same bucket or to an external URL.
|
755
|
-
# Amazon S3 stores the value of this header in the object metadata.
|
756
|
-
# value is unique to each object and is not copied when using the
|
757
|
-
# `x-amz-metadata-directive` header. Instead, you may opt to provide
|
758
|
-
# this header in combination with the directive.
|
758
|
+
# Amazon S3 stores the value of this header in the object metadata.
|
759
759
|
# @option options [String] :sse_customer_algorithm
|
760
760
|
# Specifies the algorithm to use to when encrypting the object (for
|
761
761
|
# example, AES256).
|
@@ -927,7 +927,7 @@ module Aws::S3
|
|
927
927
|
# @option options [String] :range
|
928
928
|
# Downloads the specified range bytes of an object. For more information
|
929
929
|
# about the HTTP Range header, see
|
930
|
-
# [https://www.
|
930
|
+
# [https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
|
931
931
|
#
|
932
932
|
# <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
|
933
933
|
# `GET` request.
|
@@ -936,7 +936,7 @@ module Aws::S3
|
|
936
936
|
#
|
937
937
|
#
|
938
938
|
#
|
939
|
-
# [1]: https://www.
|
939
|
+
# [1]: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
|
940
940
|
# @option options [String] :response_cache_control
|
941
941
|
# Sets the `Cache-Control` header of the response.
|
942
942
|
# @option options [String] :response_content_disposition
|
@@ -1013,7 +1013,7 @@ module Aws::S3
|
|
1013
1013
|
# "MetadataKey" => "MetadataValue",
|
1014
1014
|
# },
|
1015
1015
|
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
1016
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
|
1016
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
|
1017
1017
|
# website_redirect_location: "WebsiteRedirectLocation",
|
1018
1018
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
1019
1019
|
# sse_customer_key: "SSECustomerKey",
|
@@ -1069,7 +1069,7 @@ module Aws::S3
|
|
1069
1069
|
# A map of metadata to store with the object in S3.
|
1070
1070
|
# @option options [String] :server_side_encryption
|
1071
1071
|
# The server-side encryption algorithm used when storing this object in
|
1072
|
-
# Amazon S3 (for example, AES256,
|
1072
|
+
# Amazon S3 (for example, AES256, aws:kms).
|
1073
1073
|
# @option options [String] :storage_class
|
1074
1074
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
1075
1075
|
# created objects. The STANDARD storage class provides high durability
|
@@ -1099,13 +1099,13 @@ module Aws::S3
|
|
1099
1099
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
1100
1100
|
# ensure that the encryption key was transmitted without error.
|
1101
1101
|
# @option options [String] :ssekms_key_id
|
1102
|
-
# Specifies the ID of the symmetric
|
1103
|
-
#
|
1104
|
-
#
|
1105
|
-
#
|
1106
|
-
#
|
1107
|
-
#
|
1108
|
-
#
|
1102
|
+
# Specifies the ID of the symmetric customer managed key to use for
|
1103
|
+
# object encryption. All GET and PUT requests for an object protected by
|
1104
|
+
# Amazon Web Services KMS will fail if not made via SSL or using SigV4.
|
1105
|
+
# For information about configuring using any of the officially
|
1106
|
+
# supported Amazon Web Services SDKs and Amazon Web Services CLI, see
|
1107
|
+
# [Specifying the Signature Version in Request Authentication][1] in the
|
1108
|
+
# *Amazon S3 User Guide*.
|
1109
1109
|
#
|
1110
1110
|
#
|
1111
1111
|
#
|
@@ -1196,7 +1196,7 @@ module Aws::S3
|
|
1196
1196
|
# "MetadataKey" => "MetadataValue",
|
1197
1197
|
# },
|
1198
1198
|
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
1199
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
|
1199
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
|
1200
1200
|
# website_redirect_location: "WebsiteRedirectLocation",
|
1201
1201
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
1202
1202
|
# sse_customer_key: "SSECustomerKey",
|
@@ -1234,30 +1234,30 @@ module Aws::S3
|
|
1234
1234
|
# @option options [String] :content_disposition
|
1235
1235
|
# Specifies presentational information for the object. For more
|
1236
1236
|
# information, see
|
1237
|
-
# [
|
1237
|
+
# [http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1][1].
|
1238
1238
|
#
|
1239
1239
|
#
|
1240
1240
|
#
|
1241
|
-
# [1]:
|
1241
|
+
# [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1
|
1242
1242
|
# @option options [String] :content_encoding
|
1243
1243
|
# Specifies what content encodings have been applied to the object and
|
1244
1244
|
# thus what decoding mechanisms must be applied to obtain the media-type
|
1245
1245
|
# referenced by the Content-Type header field. For more information, see
|
1246
|
-
# [
|
1246
|
+
# [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11][1].
|
1247
1247
|
#
|
1248
1248
|
#
|
1249
1249
|
#
|
1250
|
-
# [1]:
|
1250
|
+
# [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11
|
1251
1251
|
# @option options [String] :content_language
|
1252
1252
|
# The language the content is in.
|
1253
1253
|
# @option options [Integer] :content_length
|
1254
1254
|
# Size of the body in bytes. This parameter is useful when the size of
|
1255
1255
|
# the body cannot be determined automatically. For more information, see
|
1256
|
-
# [
|
1256
|
+
# [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13][1].
|
1257
1257
|
#
|
1258
1258
|
#
|
1259
1259
|
#
|
1260
|
-
# [1]:
|
1260
|
+
# [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13
|
1261
1261
|
# @option options [String] :content_md5
|
1262
1262
|
# The base64-encoded 128-bit MD5 digest of the message (without the
|
1263
1263
|
# headers) according to RFC 1864. This header can be used as a message
|
@@ -1273,11 +1273,11 @@ module Aws::S3
|
|
1273
1273
|
# @option options [String] :content_type
|
1274
1274
|
# A standard MIME type describing the format of the contents. For more
|
1275
1275
|
# information, see
|
1276
|
-
# [
|
1276
|
+
# [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17][1].
|
1277
1277
|
#
|
1278
1278
|
#
|
1279
1279
|
#
|
1280
|
-
# [1]:
|
1280
|
+
# [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
|
1281
1281
|
# @option options [String] :checksum_algorithm
|
1282
1282
|
# Indicates the algorithm used to create the checksum for the object
|
1283
1283
|
# when using the SDK. This header will not provide any additional
|
@@ -1336,11 +1336,11 @@ module Aws::S3
|
|
1336
1336
|
# @option options [Time,DateTime,Date,Integer,String] :expires
|
1337
1337
|
# The date and time at which the object is no longer cacheable. For more
|
1338
1338
|
# information, see
|
1339
|
-
# [
|
1339
|
+
# [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21][1].
|
1340
1340
|
#
|
1341
1341
|
#
|
1342
1342
|
#
|
1343
|
-
# [1]:
|
1343
|
+
# [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21
|
1344
1344
|
# @option options [String] :grant_full_control
|
1345
1345
|
# Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
|
1346
1346
|
# object.
|
@@ -1362,7 +1362,7 @@ module Aws::S3
|
|
1362
1362
|
# A map of metadata to store with the object in S3.
|
1363
1363
|
# @option options [String] :server_side_encryption
|
1364
1364
|
# The server-side encryption algorithm used when storing this object in
|
1365
|
-
# Amazon S3 (for example, AES256,
|
1365
|
+
# Amazon S3 (for example, AES256, aws:kms).
|
1366
1366
|
# @option options [String] :storage_class
|
1367
1367
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
1368
1368
|
# created objects. The STANDARD storage class provides high durability
|
@@ -1413,9 +1413,9 @@ module Aws::S3
|
|
1413
1413
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
1414
1414
|
# ensure that the encryption key was transmitted without error.
|
1415
1415
|
# @option options [String] :ssekms_key_id
|
1416
|
-
# If `x-amz-server-side-encryption` has
|
1417
|
-
# header specifies the ID of the Amazon Web Services Key
|
1418
|
-
# Service (Amazon Web Services KMS)
|
1416
|
+
# If `x-amz-server-side-encryption` is present and has the value of
|
1417
|
+
# `aws:kms`, this header specifies the ID of the Amazon Web Services Key
|
1418
|
+
# Management Service (Amazon Web Services KMS) symmetrical customer
|
1419
1419
|
# managed key that was used for the object. If you specify
|
1420
1420
|
# `x-amz-server-side-encryption:aws:kms`, but do not provide`
|
1421
1421
|
# x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
@@ -1425,10 +1425,7 @@ module Aws::S3
|
|
1425
1425
|
# @option options [String] :ssekms_encryption_context
|
1426
1426
|
# Specifies the Amazon Web Services KMS Encryption Context to use for
|
1427
1427
|
# object encryption. The value of this header is a base64-encoded UTF-8
|
1428
|
-
# string holding JSON with the encryption context key-value pairs.
|
1429
|
-
# value is stored as object metadata and automatically gets passed on to
|
1430
|
-
# Amazon Web Services KMS for future `GetObject` or `CopyObject`
|
1431
|
-
# operations on this object.
|
1428
|
+
# string holding JSON with the encryption context key-value pairs.
|
1432
1429
|
# @option options [Boolean] :bucket_key_enabled
|
1433
1430
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
1434
1431
|
# encryption with server-side encryption using AWS KMS (SSE-KMS).
|
@@ -1557,7 +1554,7 @@ module Aws::S3
|
|
1557
1554
|
# value: "MetadataValue",
|
1558
1555
|
# },
|
1559
1556
|
# ],
|
1560
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
|
1557
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
|
1561
1558
|
# },
|
1562
1559
|
# },
|
1563
1560
|
# },
|
@@ -1640,10 +1637,8 @@ module Aws::S3
|
|
1640
1637
|
# Return the object only if it has not been modified since the specified
|
1641
1638
|
# time; otherwise, return a 412 (precondition failed) error.
|
1642
1639
|
# @option options [String] :range
|
1643
|
-
# HeadObject returns only the metadata for an object
|
1644
|
-
#
|
1645
|
-
# the Range is not satisfiable, S3 returns a `416 - Requested Range Not
|
1646
|
-
# Satisfiable` error.
|
1640
|
+
# Because `HeadObject` returns only the metadata for an object, this
|
1641
|
+
# parameter has no effect.
|
1647
1642
|
# @option options [String] :version_id
|
1648
1643
|
# VersionId used to reference a specific version of the object.
|
1649
1644
|
# @option options [String] :sse_customer_algorithm
|
@@ -305,7 +305,7 @@ module Aws::S3
|
|
305
305
|
# metadata_directive: "COPY", # accepts COPY, REPLACE
|
306
306
|
# tagging_directive: "COPY", # accepts COPY, REPLACE
|
307
307
|
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
308
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
|
308
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
|
309
309
|
# website_redirect_location: "WebsiteRedirectLocation",
|
310
310
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
311
311
|
# sse_customer_key: "SSECustomerKey",
|
@@ -434,7 +434,7 @@ module Aws::S3
|
|
434
434
|
# or replaced with tag-set provided in the request.
|
435
435
|
# @option options [String] :server_side_encryption
|
436
436
|
# The server-side encryption algorithm used when storing this object in
|
437
|
-
# Amazon S3 (for example, AES256,
|
437
|
+
# Amazon S3 (for example, AES256, aws:kms).
|
438
438
|
# @option options [String] :storage_class
|
439
439
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
440
440
|
# created objects. The STANDARD storage class provides high durability
|
@@ -449,10 +449,7 @@ module Aws::S3
|
|
449
449
|
# @option options [String] :website_redirect_location
|
450
450
|
# If the bucket is configured as a website, redirects requests for this
|
451
451
|
# object to another object in the same bucket or to an external URL.
|
452
|
-
# Amazon S3 stores the value of this header in the object metadata.
|
453
|
-
# value is unique to each object and is not copied when using the
|
454
|
-
# `x-amz-metadata-directive` header. Instead, you may opt to provide
|
455
|
-
# this header in combination with the directive.
|
452
|
+
# Amazon S3 stores the value of this header in the object metadata.
|
456
453
|
# @option options [String] :sse_customer_algorithm
|
457
454
|
# Specifies the algorithm to use to when encrypting the object (for
|
458
455
|
# example, AES256).
|
@@ -624,7 +621,7 @@ module Aws::S3
|
|
624
621
|
# @option options [String] :range
|
625
622
|
# Downloads the specified range bytes of an object. For more information
|
626
623
|
# about the HTTP Range header, see
|
627
|
-
# [https://www.
|
624
|
+
# [https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
|
628
625
|
#
|
629
626
|
# <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
|
630
627
|
# `GET` request.
|
@@ -633,7 +630,7 @@ module Aws::S3
|
|
633
630
|
#
|
634
631
|
#
|
635
632
|
#
|
636
|
-
# [1]: https://www.
|
633
|
+
# [1]: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
|
637
634
|
# @option options [String] :response_cache_control
|
638
635
|
# Sets the `Cache-Control` header of the response.
|
639
636
|
# @option options [String] :response_content_disposition
|
@@ -710,7 +707,7 @@ module Aws::S3
|
|
710
707
|
# "MetadataKey" => "MetadataValue",
|
711
708
|
# },
|
712
709
|
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
713
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
|
710
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
|
714
711
|
# website_redirect_location: "WebsiteRedirectLocation",
|
715
712
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
716
713
|
# sse_customer_key: "SSECustomerKey",
|
@@ -766,7 +763,7 @@ module Aws::S3
|
|
766
763
|
# A map of metadata to store with the object in S3.
|
767
764
|
# @option options [String] :server_side_encryption
|
768
765
|
# The server-side encryption algorithm used when storing this object in
|
769
|
-
# Amazon S3 (for example, AES256,
|
766
|
+
# Amazon S3 (for example, AES256, aws:kms).
|
770
767
|
# @option options [String] :storage_class
|
771
768
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
772
769
|
# created objects. The STANDARD storage class provides high durability
|
@@ -796,13 +793,13 @@ module Aws::S3
|
|
796
793
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
797
794
|
# ensure that the encryption key was transmitted without error.
|
798
795
|
# @option options [String] :ssekms_key_id
|
799
|
-
# Specifies the ID of the symmetric
|
800
|
-
#
|
801
|
-
#
|
802
|
-
#
|
803
|
-
#
|
804
|
-
#
|
805
|
-
#
|
796
|
+
# Specifies the ID of the symmetric customer managed key to use for
|
797
|
+
# object encryption. All GET and PUT requests for an object protected by
|
798
|
+
# Amazon Web Services KMS will fail if not made via SSL or using SigV4.
|
799
|
+
# For information about configuring using any of the officially
|
800
|
+
# supported Amazon Web Services SDKs and Amazon Web Services CLI, see
|
801
|
+
# [Specifying the Signature Version in Request Authentication][1] in the
|
802
|
+
# *Amazon S3 User Guide*.
|
806
803
|
#
|
807
804
|
#
|
808
805
|
#
|
@@ -893,7 +890,7 @@ module Aws::S3
|
|
893
890
|
# "MetadataKey" => "MetadataValue",
|
894
891
|
# },
|
895
892
|
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
896
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
|
893
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
|
897
894
|
# website_redirect_location: "WebsiteRedirectLocation",
|
898
895
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
899
896
|
# sse_customer_key: "SSECustomerKey",
|
@@ -931,30 +928,30 @@ module Aws::S3
|
|
931
928
|
# @option options [String] :content_disposition
|
932
929
|
# Specifies presentational information for the object. For more
|
933
930
|
# information, see
|
934
|
-
# [
|
931
|
+
# [http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1][1].
|
935
932
|
#
|
936
933
|
#
|
937
934
|
#
|
938
|
-
# [1]:
|
935
|
+
# [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1
|
939
936
|
# @option options [String] :content_encoding
|
940
937
|
# Specifies what content encodings have been applied to the object and
|
941
938
|
# thus what decoding mechanisms must be applied to obtain the media-type
|
942
939
|
# referenced by the Content-Type header field. For more information, see
|
943
|
-
# [
|
940
|
+
# [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11][1].
|
944
941
|
#
|
945
942
|
#
|
946
943
|
#
|
947
|
-
# [1]:
|
944
|
+
# [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11
|
948
945
|
# @option options [String] :content_language
|
949
946
|
# The language the content is in.
|
950
947
|
# @option options [Integer] :content_length
|
951
948
|
# Size of the body in bytes. This parameter is useful when the size of
|
952
949
|
# the body cannot be determined automatically. For more information, see
|
953
|
-
# [
|
950
|
+
# [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13][1].
|
954
951
|
#
|
955
952
|
#
|
956
953
|
#
|
957
|
-
# [1]:
|
954
|
+
# [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13
|
958
955
|
# @option options [String] :content_md5
|
959
956
|
# The base64-encoded 128-bit MD5 digest of the message (without the
|
960
957
|
# headers) according to RFC 1864. This header can be used as a message
|
@@ -970,11 +967,11 @@ module Aws::S3
|
|
970
967
|
# @option options [String] :content_type
|
971
968
|
# A standard MIME type describing the format of the contents. For more
|
972
969
|
# information, see
|
973
|
-
# [
|
970
|
+
# [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17][1].
|
974
971
|
#
|
975
972
|
#
|
976
973
|
#
|
977
|
-
# [1]:
|
974
|
+
# [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
|
978
975
|
# @option options [String] :checksum_algorithm
|
979
976
|
# Indicates the algorithm used to create the checksum for the object
|
980
977
|
# when using the SDK. This header will not provide any additional
|
@@ -1033,11 +1030,11 @@ module Aws::S3
|
|
1033
1030
|
# @option options [Time,DateTime,Date,Integer,String] :expires
|
1034
1031
|
# The date and time at which the object is no longer cacheable. For more
|
1035
1032
|
# information, see
|
1036
|
-
# [
|
1033
|
+
# [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21][1].
|
1037
1034
|
#
|
1038
1035
|
#
|
1039
1036
|
#
|
1040
|
-
# [1]:
|
1037
|
+
# [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21
|
1041
1038
|
# @option options [String] :grant_full_control
|
1042
1039
|
# Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
|
1043
1040
|
# object.
|
@@ -1059,7 +1056,7 @@ module Aws::S3
|
|
1059
1056
|
# A map of metadata to store with the object in S3.
|
1060
1057
|
# @option options [String] :server_side_encryption
|
1061
1058
|
# The server-side encryption algorithm used when storing this object in
|
1062
|
-
# Amazon S3 (for example, AES256,
|
1059
|
+
# Amazon S3 (for example, AES256, aws:kms).
|
1063
1060
|
# @option options [String] :storage_class
|
1064
1061
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
1065
1062
|
# created objects. The STANDARD storage class provides high durability
|
@@ -1110,9 +1107,9 @@ module Aws::S3
|
|
1110
1107
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
1111
1108
|
# ensure that the encryption key was transmitted without error.
|
1112
1109
|
# @option options [String] :ssekms_key_id
|
1113
|
-
# If `x-amz-server-side-encryption` has
|
1114
|
-
# header specifies the ID of the Amazon Web Services Key
|
1115
|
-
# Service (Amazon Web Services KMS)
|
1110
|
+
# If `x-amz-server-side-encryption` is present and has the value of
|
1111
|
+
# `aws:kms`, this header specifies the ID of the Amazon Web Services Key
|
1112
|
+
# Management Service (Amazon Web Services KMS) symmetrical customer
|
1116
1113
|
# managed key that was used for the object. If you specify
|
1117
1114
|
# `x-amz-server-side-encryption:aws:kms`, but do not provide`
|
1118
1115
|
# x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
@@ -1122,10 +1119,7 @@ module Aws::S3
|
|
1122
1119
|
# @option options [String] :ssekms_encryption_context
|
1123
1120
|
# Specifies the Amazon Web Services KMS Encryption Context to use for
|
1124
1121
|
# object encryption. The value of this header is a base64-encoded UTF-8
|
1125
|
-
# string holding JSON with the encryption context key-value pairs.
|
1126
|
-
# value is stored as object metadata and automatically gets passed on to
|
1127
|
-
# Amazon Web Services KMS for future `GetObject` or `CopyObject`
|
1128
|
-
# operations on this object.
|
1122
|
+
# string holding JSON with the encryption context key-value pairs.
|
1129
1123
|
# @option options [Boolean] :bucket_key_enabled
|
1130
1124
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
1131
1125
|
# encryption with server-side encryption using AWS KMS (SSE-KMS).
|
@@ -1254,7 +1248,7 @@ module Aws::S3
|
|
1254
1248
|
# value: "MetadataValue",
|
1255
1249
|
# },
|
1256
1250
|
# ],
|
1257
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
|
1251
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
|
1258
1252
|
# },
|
1259
1253
|
# },
|
1260
1254
|
# },
|
@@ -315,7 +315,7 @@ module Aws::S3
|
|
315
315
|
# @option options [String] :range
|
316
316
|
# Downloads the specified range bytes of an object. For more information
|
317
317
|
# about the HTTP Range header, see
|
318
|
-
# [https://www.
|
318
|
+
# [https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
|
319
319
|
#
|
320
320
|
# <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
|
321
321
|
# `GET` request.
|
@@ -324,7 +324,7 @@ module Aws::S3
|
|
324
324
|
#
|
325
325
|
#
|
326
326
|
#
|
327
|
-
# [1]: https://www.
|
327
|
+
# [1]: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
|
328
328
|
# @option options [String] :response_cache_control
|
329
329
|
# Sets the `Cache-Control` header of the response.
|
330
330
|
# @option options [String] :response_content_disposition
|
@@ -412,10 +412,8 @@ module Aws::S3
|
|
412
412
|
# Return the object only if it has not been modified since the specified
|
413
413
|
# time; otherwise, return a 412 (precondition failed) error.
|
414
414
|
# @option options [String] :range
|
415
|
-
# HeadObject returns only the metadata for an object
|
416
|
-
#
|
417
|
-
# the Range is not satisfiable, S3 returns a `416 - Requested Range Not
|
418
|
-
# Satisfiable` error.
|
415
|
+
# Because `HeadObject` returns only the metadata for an object, this
|
416
|
+
# parameter has no effect.
|
419
417
|
# @option options [String] :sse_customer_algorithm
|
420
418
|
# Specifies the algorithm to use to when encrypting the object (for
|
421
419
|
# example, AES256).
|
@@ -52,7 +52,9 @@ module Aws
|
|
52
52
|
|
53
53
|
def check_for_cached_region(context, bucket)
|
54
54
|
cached_region = S3::BUCKET_REGIONS[bucket]
|
55
|
-
if cached_region &&
|
55
|
+
if cached_region &&
|
56
|
+
cached_region != context.config.region &&
|
57
|
+
!S3Signer.custom_endpoint?(context)
|
56
58
|
context.http_request.endpoint.host = S3Signer.new_hostname(
|
57
59
|
context, cached_region
|
58
60
|
)
|
@@ -77,7 +79,7 @@ module Aws
|
|
77
79
|
def handle_region_errors(response)
|
78
80
|
if wrong_sigv4_region?(response) &&
|
79
81
|
!fips_region?(response) &&
|
80
|
-
!custom_endpoint?(response) &&
|
82
|
+
!S3Signer.custom_endpoint?(response.context) &&
|
81
83
|
!expired_credentials?(response)
|
82
84
|
get_region_and_retry(response.context)
|
83
85
|
else
|
@@ -106,15 +108,6 @@ module Aws
|
|
106
108
|
resp.context.http_response.body_contents.match(/<Code>ExpiredToken<\/Code>/)
|
107
109
|
end
|
108
110
|
|
109
|
-
def custom_endpoint?(resp)
|
110
|
-
region = resp.context.config.region
|
111
|
-
partition = Aws::Endpoints::Matchers.aws_partition(region)
|
112
|
-
endpoint = resp.context.http_request.endpoint
|
113
|
-
|
114
|
-
!endpoint.hostname.include?(partition['dnsSuffix']) &&
|
115
|
-
!endpoint.hostname.include?(partition['dualStackDnsSuffix'])
|
116
|
-
end
|
117
|
-
|
118
111
|
def wrong_sigv4_region?(resp)
|
119
112
|
resp.context.http_response.status_code == 400 &&
|
120
113
|
(resp.context.http_response.headers['x-amz-bucket-region'] ||
|
@@ -168,6 +161,15 @@ module Aws
|
|
168
161
|
context.config.endpoint_provider.resolve_endpoint(endpoint_params)
|
169
162
|
URI(endpoint.url).host
|
170
163
|
end
|
164
|
+
|
165
|
+
def custom_endpoint?(context)
|
166
|
+
region = context.config.region
|
167
|
+
partition = Aws::Endpoints::Matchers.aws_partition(region)
|
168
|
+
endpoint = context.http_request.endpoint
|
169
|
+
|
170
|
+
!endpoint.hostname.include?(partition['dnsSuffix']) &&
|
171
|
+
!endpoint.hostname.include?(partition['dualStackDnsSuffix'])
|
172
|
+
end
|
171
173
|
end
|
172
174
|
end
|
173
175
|
end
|