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.
@@ -239,8 +239,11 @@ module Aws::S3
239
239
  data[:website_redirect_location]
240
240
  end
241
241
 
242
- # The server-side encryption algorithm used when storing this object in
243
- # Amazon S3 (for example, AES256, `aws:kms`).
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 encryption customer
274
- # managed key that was used for the object.
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, `aws:kms`).
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. This
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.rfc-editor.org/rfc/rfc9110.html#name-range][1].
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.rfc-editor.org/rfc/rfc9110.html#name-range
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, `aws:kms`).
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 encryption customer managed key to
1103
- # use for object encryption. All GET and PUT requests for an object
1104
- # protected by Amazon Web Services KMS will fail if not made via SSL or
1105
- # using SigV4. For information about configuring using any of the
1106
- # officially supported Amazon Web Services SDKs and Amazon Web Services
1107
- # CLI, see [Specifying the Signature Version in Request
1108
- # Authentication][1] in the *Amazon S3 User Guide*.
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
- # [https://www.rfc-editor.org/rfc/rfc6266#section-4][1].
1237
+ # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1][1].
1238
1238
  #
1239
1239
  #
1240
1240
  #
1241
- # [1]: https://www.rfc-editor.org/rfc/rfc6266#section-4
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
- # [https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding][1].
1246
+ # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11][1].
1247
1247
  #
1248
1248
  #
1249
1249
  #
1250
- # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding
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
- # [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length][1].
1256
+ # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13][1].
1257
1257
  #
1258
1258
  #
1259
1259
  #
1260
- # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
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
- # [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type][1].
1276
+ # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17][1].
1277
1277
  #
1278
1278
  #
1279
1279
  #
1280
- # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type
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
- # [https://www.rfc-editor.org/rfc/rfc7234#section-5.3][1].
1339
+ # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21][1].
1340
1340
  #
1341
1341
  #
1342
1342
  #
1343
- # [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
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, `aws:kms`).
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 a valid value of `aws:kms`, this
1417
- # header specifies the ID of the Amazon Web Services Key Management
1418
- # Service (Amazon Web Services KMS) symmetric encryption customer
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. This
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. If the Range is
1644
- # satisfiable, only the `ContentLength` is affected in the response. If
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, `aws:kms`).
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. This
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.rfc-editor.org/rfc/rfc9110.html#name-range][1].
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.rfc-editor.org/rfc/rfc9110.html#name-range
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, `aws:kms`).
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 encryption customer managed key to
800
- # use for object encryption. All GET and PUT requests for an object
801
- # protected by Amazon Web Services KMS will fail if not made via SSL or
802
- # using SigV4. For information about configuring using any of the
803
- # officially supported Amazon Web Services SDKs and Amazon Web Services
804
- # CLI, see [Specifying the Signature Version in Request
805
- # Authentication][1] in the *Amazon S3 User Guide*.
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
- # [https://www.rfc-editor.org/rfc/rfc6266#section-4][1].
931
+ # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1][1].
935
932
  #
936
933
  #
937
934
  #
938
- # [1]: https://www.rfc-editor.org/rfc/rfc6266#section-4
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
- # [https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding][1].
940
+ # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11][1].
944
941
  #
945
942
  #
946
943
  #
947
- # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding
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
- # [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length][1].
950
+ # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13][1].
954
951
  #
955
952
  #
956
953
  #
957
- # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
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
- # [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type][1].
970
+ # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17][1].
974
971
  #
975
972
  #
976
973
  #
977
- # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type
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
- # [https://www.rfc-editor.org/rfc/rfc7234#section-5.3][1].
1033
+ # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21][1].
1037
1034
  #
1038
1035
  #
1039
1036
  #
1040
- # [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
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, `aws:kms`).
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 a valid value of `aws:kms`, this
1114
- # header specifies the ID of the Amazon Web Services Key Management
1115
- # Service (Amazon Web Services KMS) symmetric encryption customer
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. This
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.rfc-editor.org/rfc/rfc9110.html#name-range][1].
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.rfc-editor.org/rfc/rfc9110.html#name-range
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. If the Range is
416
- # satisfiable, only the `ContentLength` is affected in the response. If
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 && cached_region != context.config.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