aws-sdk-s3 1.166.0 → 1.174.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.
@@ -723,17 +723,17 @@ module Aws::S3
723
723
  # * To encrypt new object copies to a directory bucket with SSE-KMS, we
724
724
  # recommend you specify SSE-KMS as the directory bucket's default
725
725
  # encryption configuration with a KMS key (specifically, a [customer
726
- # managed key][4]). [Amazon Web Services managed key][5] (`aws/s3`)
727
- # isn't supported. Your SSE-KMS configuration can only support 1
728
- # [customer managed key][4] per directory bucket for the lifetime of
729
- # the bucket. After you specify a customer managed key for SSE-KMS,
730
- # you can't override the customer managed key for the bucket's
731
- # SSE-KMS configuration. Then, when you perform a `CopyObject`
732
- # operation and want to specify server-side encryption settings for
733
- # new object copies with SSE-KMS in the encryption-related request
734
- # headers, you must ensure the encryption key is the same customer
735
- # managed key that you specified for the directory bucket's default
736
- # encryption configuration.
726
+ # managed key][4]). The [Amazon Web Services managed key][5]
727
+ # (`aws/s3`) isn't supported. Your SSE-KMS configuration can only
728
+ # support 1 [customer managed key][4] per directory bucket for the
729
+ # lifetime of the bucket. After you specify a customer managed key for
730
+ # SSE-KMS, you can't override the customer managed key for the
731
+ # bucket's SSE-KMS configuration. Then, when you perform a
732
+ # `CopyObject` operation and want to specify server-side encryption
733
+ # settings for new object copies with SSE-KMS in the
734
+ # encryption-related request headers, you must ensure the encryption
735
+ # key is the same customer managed key that you specified for the
736
+ # directory bucket's default encryption configuration.
737
737
  #
738
738
  #
739
739
  #
@@ -841,14 +841,19 @@ module Aws::S3
841
841
  # Guide*.
842
842
  #
843
843
  # **Directory buckets** - If you specify `x-amz-server-side-encryption`
844
- # with `aws:kms`, you must specify the `
845
- # x-amz-server-side-encryption-aws-kms-key-id` header with the ID (Key
846
- # ID or Key ARN) of the KMS symmetric encryption customer managed key to
847
- # use. Otherwise, you get an HTTP `400 Bad Request` error. Only use the
848
- # key ID or key ARN. The key alias format of the KMS key isn't
849
- # supported. Your SSE-KMS configuration can only support 1 [customer
850
- # managed key][2] per directory bucket for the lifetime of the bucket.
851
- # [Amazon Web Services managed key][3] (`aws/s3`) isn't supported.
844
+ # with `aws:kms`, the ` x-amz-server-side-encryption-aws-kms-key-id`
845
+ # header is implicitly assigned the ID of the KMS symmetric encryption
846
+ # customer managed key that's configured for your directory bucket's
847
+ # default encryption setting. If you want to specify the `
848
+ # x-amz-server-side-encryption-aws-kms-key-id` header explicitly, you
849
+ # can only specify it with the ID (Key ID or Key ARN) of the KMS
850
+ # customer managed key that's configured for your directory bucket's
851
+ # default encryption setting. Otherwise, you get an HTTP `400 Bad
852
+ # Request` error. Only use the key ID or key ARN. The key alias format
853
+ # of the KMS key isn't supported. Your SSE-KMS configuration can only
854
+ # support 1 [customer managed key][2] per directory bucket for the
855
+ # lifetime of the bucket. The [Amazon Web Services managed key][3]
856
+ # (`aws/s3`) isn't supported.
852
857
  #
853
858
  #
854
859
  #
@@ -1055,6 +1060,9 @@ module Aws::S3
1055
1060
  # request_payer: "requester", # accepts requester
1056
1061
  # bypass_governance_retention: false,
1057
1062
  # expected_bucket_owner: "AccountId",
1063
+ # if_match: "IfMatch",
1064
+ # if_match_last_modified_time: Time.now,
1065
+ # if_match_size: 1,
1058
1066
  # })
1059
1067
  # @param [Hash] options ({})
1060
1068
  # @option options [String] :mfa
@@ -1101,6 +1109,46 @@ module Aws::S3
1101
1109
  # The account ID of the expected bucket owner. If the account ID that
1102
1110
  # you provide does not match the actual owner of the bucket, the request
1103
1111
  # fails with the HTTP status code `403 Forbidden` (access denied).
1112
+ # @option options [String] :if_match
1113
+ # The `If-Match` header field makes the request method conditional on
1114
+ # ETags. If the ETag value does not match, the operation returns a `412
1115
+ # Precondition Failed` error. If the ETag matches or if the object
1116
+ # doesn't exist, the operation will return a `204 Success (No Content)
1117
+ # response`.
1118
+ #
1119
+ # For more information about conditional requests, see [RFC 7232][1].
1120
+ #
1121
+ # <note markdown="1"> This functionality is only supported for directory buckets.
1122
+ #
1123
+ # </note>
1124
+ #
1125
+ #
1126
+ #
1127
+ # [1]: https://docs.aws.amazon.com/https:/tools.ietf.org/html/rfc7232
1128
+ # @option options [Time,DateTime,Date,Integer,String] :if_match_last_modified_time
1129
+ # If present, the object is deleted only if its modification times
1130
+ # matches the provided `Timestamp`. If the `Timestamp` values do not
1131
+ # match, the operation returns a `412 Precondition Failed` error. If the
1132
+ # `Timestamp` matches or if the object doesn’t exist, the operation
1133
+ # returns a `204 Success (No Content)` response.
1134
+ #
1135
+ # <note markdown="1"> This functionality is only supported for directory buckets.
1136
+ #
1137
+ # </note>
1138
+ # @option options [Integer] :if_match_size
1139
+ # If present, the object is deleted only if its size matches the
1140
+ # provided size in bytes. If the `Size` value does not match, the
1141
+ # operation returns a `412 Precondition Failed` error. If the `Size`
1142
+ # matches or if the object doesn’t exist, the operation returns a `204
1143
+ # Success (No Content)` response.
1144
+ #
1145
+ # <note markdown="1"> This functionality is only supported for directory buckets.
1146
+ #
1147
+ # </note>
1148
+ #
1149
+ # You can use the `If-Match`, `x-amz-if-match-last-modified-time` and
1150
+ # `x-amz-if-match-size` conditional headers in conjunction with
1151
+ # each-other or individually.
1104
1152
  # @return [Types::DeleteObjectOutput]
1105
1153
  def delete(options = {})
1106
1154
  options = options.merge(
@@ -1826,14 +1874,19 @@ module Aws::S3
1826
1874
  # Amazon Web Services managed key (`aws/s3`) to protect the data.
1827
1875
  #
1828
1876
  # **Directory buckets** - If you specify `x-amz-server-side-encryption`
1829
- # with `aws:kms`, you must specify the `
1830
- # x-amz-server-side-encryption-aws-kms-key-id` header with the ID (Key
1831
- # ID or Key ARN) of the KMS symmetric encryption customer managed key to
1832
- # use. Otherwise, you get an HTTP `400 Bad Request` error. Only use the
1833
- # key ID or key ARN. The key alias format of the KMS key isn't
1834
- # supported. Your SSE-KMS configuration can only support 1 [customer
1835
- # managed key][1] per directory bucket for the lifetime of the bucket.
1836
- # [Amazon Web Services managed key][2] (`aws/s3`) isn't supported.
1877
+ # with `aws:kms`, the ` x-amz-server-side-encryption-aws-kms-key-id`
1878
+ # header is implicitly assigned the ID of the KMS symmetric encryption
1879
+ # customer managed key that's configured for your directory bucket's
1880
+ # default encryption setting. If you want to specify the `
1881
+ # x-amz-server-side-encryption-aws-kms-key-id` header explicitly, you
1882
+ # can only specify it with the ID (Key ID or Key ARN) of the KMS
1883
+ # customer managed key that's configured for your directory bucket's
1884
+ # default encryption setting. Otherwise, you get an HTTP `400 Bad
1885
+ # Request` error. Only use the key ID or key ARN. The key alias format
1886
+ # of the KMS key isn't supported. Your SSE-KMS configuration can only
1887
+ # support 1 [customer managed key][1] per directory bucket for the
1888
+ # lifetime of the bucket. The [Amazon Web Services managed key][2]
1889
+ # (`aws/s3`) isn't supported.
1837
1890
  #
1838
1891
  #
1839
1892
  #
@@ -1965,11 +2018,13 @@ module Aws::S3
1965
2018
  # checksum_sha1: "ChecksumSHA1",
1966
2019
  # checksum_sha256: "ChecksumSHA256",
1967
2020
  # expires: Time.now,
2021
+ # if_match: "IfMatch",
1968
2022
  # if_none_match: "IfNoneMatch",
1969
2023
  # grant_full_control: "GrantFullControl",
1970
2024
  # grant_read: "GrantRead",
1971
2025
  # grant_read_acp: "GrantReadACP",
1972
2026
  # grant_write_acp: "GrantWriteACP",
2027
+ # write_offset_bytes: 1,
1973
2028
  # metadata: {
1974
2029
  # "MetadataKey" => "MetadataValue",
1975
2030
  # },
@@ -2073,10 +2128,11 @@ module Aws::S3
2073
2128
  # information about REST request authentication, see [REST
2074
2129
  # Authentication][1].
2075
2130
  #
2076
- # <note markdown="1"> The `Content-MD5` header is required for any request to upload an
2077
- # object with a retention period configured using Amazon S3 Object Lock.
2078
- # For more information about Amazon S3 Object Lock, see [Amazon S3
2079
- # Object Lock Overview][2] in the *Amazon S3 User Guide*.
2131
+ # <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
2132
+ # for any request to upload an object with a retention period configured
2133
+ # using Amazon S3 Object Lock. For more information, see [Uploading
2134
+ # objects to an Object Lock enabled bucket ][2] in the *Amazon S3 User
2135
+ # Guide*.
2080
2136
  #
2081
2137
  # </note>
2082
2138
  #
@@ -2087,7 +2143,7 @@ module Aws::S3
2087
2143
  #
2088
2144
  #
2089
2145
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
2090
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html
2146
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-put-object
2091
2147
  # @option options [String] :content_type
2092
2148
  # A standard MIME type describing the format of the contents. For more
2093
2149
  # information, see
@@ -2107,13 +2163,13 @@ module Aws::S3
2107
2163
  # For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
2108
2164
  # the supported algorithm from the following list:
2109
2165
  #
2110
- # * CRC32
2166
+ # * `CRC32`
2111
2167
  #
2112
- # * CRC32C
2168
+ # * `CRC32C`
2113
2169
  #
2114
- # * SHA1
2170
+ # * `SHA1`
2115
2171
  #
2116
- # * SHA256
2172
+ # * `SHA256`
2117
2173
  #
2118
2174
  # For more information, see [Checking object integrity][1] in the
2119
2175
  # *Amazon S3 User Guide*.
@@ -2124,20 +2180,27 @@ module Aws::S3
2124
2180
  # provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
2125
2181
  # that matches the provided value in `x-amz-checksum-algorithm `.
2126
2182
  #
2127
- # <note markdown="1"> For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
2128
- # is the default checksum algorithm that's used for performance.
2183
+ # <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
2184
+ # for any request to upload an object with a retention period configured
2185
+ # using Amazon S3 Object Lock. For more information, see [Uploading
2186
+ # objects to an Object Lock enabled bucket ][2] in the *Amazon S3 User
2187
+ # Guide*.
2129
2188
  #
2130
2189
  # </note>
2131
2190
  #
2191
+ # For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
2192
+ # is the default checksum algorithm that's used for performance.
2193
+ #
2132
2194
  #
2133
2195
  #
2134
2196
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
2197
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-put-object
2135
2198
  # @option options [String] :checksum_crc32
2136
2199
  # This header can be used as a data integrity check to verify that the
2137
2200
  # data received is the same data that was originally sent. This header
2138
- # specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
2139
- # more information, see [Checking object integrity][1] in the *Amazon S3
2140
- # User Guide*.
2201
+ # specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
2202
+ # For more information, see [Checking object integrity][1] in the
2203
+ # *Amazon S3 User Guide*.
2141
2204
  #
2142
2205
  #
2143
2206
  #
@@ -2145,7 +2208,7 @@ module Aws::S3
2145
2208
  # @option options [String] :checksum_crc32c
2146
2209
  # This header can be used as a data integrity check to verify that the
2147
2210
  # data received is the same data that was originally sent. This header
2148
- # specifies the base64-encoded, 32-bit CRC32C checksum of the object.
2211
+ # specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
2149
2212
  # For more information, see [Checking object integrity][1] in the
2150
2213
  # *Amazon S3 User Guide*.
2151
2214
  #
@@ -2180,6 +2243,25 @@ module Aws::S3
2180
2243
  #
2181
2244
  #
2182
2245
  # [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
2246
+ # @option options [String] :if_match
2247
+ # Uploads the object only if the ETag (entity tag) value provided during
2248
+ # the WRITE operation matches the ETag of the object in S3. If the ETag
2249
+ # values do not match, the operation returns a `412 Precondition Failed`
2250
+ # error.
2251
+ #
2252
+ # If a conflicting operation occurs during the upload S3 returns a `409
2253
+ # ConditionalRequestConflict` response. On a 409 failure you should
2254
+ # fetch the object's ETag and retry the upload.
2255
+ #
2256
+ # Expects the ETag value as a string.
2257
+ #
2258
+ # For more information about conditional requests, see [RFC 7232][1], or
2259
+ # [Conditional requests][2] in the *Amazon S3 User Guide*.
2260
+ #
2261
+ #
2262
+ #
2263
+ # [1]: https://tools.ietf.org/html/rfc7232
2264
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
2183
2265
  # @option options [String] :if_none_match
2184
2266
  # Uploads the object only if the object key name does not already exist
2185
2267
  # in the bucket specified. Otherwise, Amazon S3 returns a `412
@@ -2231,6 +2313,16 @@ module Aws::S3
2231
2313
  # * This functionality is not supported for Amazon S3 on Outposts.
2232
2314
  #
2233
2315
  # </note>
2316
+ # @option options [Integer] :write_offset_bytes
2317
+ # Specifies the offset for appending data to existing objects in bytes.
2318
+ # The offset must be equal to the size of the existing object being
2319
+ # appended to. If no object exists, setting this header to 0 will create
2320
+ # a new object.
2321
+ #
2322
+ # <note markdown="1"> This functionality is only supported for objects in the Amazon S3
2323
+ # Express One Zone storage class in directory buckets.
2324
+ #
2325
+ # </note>
2234
2326
  # @option options [Hash<String,String>] :metadata
2235
2327
  # A map of metadata to store with the object in S3.
2236
2328
  # @option options [String] :server_side_encryption
@@ -2384,14 +2476,19 @@ module Aws::S3
2384
2476
  # Amazon Web Services managed key (`aws/s3`) to protect the data.
2385
2477
  #
2386
2478
  # **Directory buckets** - If you specify `x-amz-server-side-encryption`
2387
- # with `aws:kms`, you must specify the `
2388
- # x-amz-server-side-encryption-aws-kms-key-id` header with the ID (Key
2389
- # ID or Key ARN) of the KMS symmetric encryption customer managed key to
2390
- # use. Otherwise, you get an HTTP `400 Bad Request` error. Only use the
2391
- # key ID or key ARN. The key alias format of the KMS key isn't
2392
- # supported. Your SSE-KMS configuration can only support 1 [customer
2393
- # managed key][1] per directory bucket for the lifetime of the bucket.
2394
- # [Amazon Web Services managed key][2] (`aws/s3`) isn't supported.
2479
+ # with `aws:kms`, the ` x-amz-server-side-encryption-aws-kms-key-id`
2480
+ # header is implicitly assigned the ID of the KMS symmetric encryption
2481
+ # customer managed key that's configured for your directory bucket's
2482
+ # default encryption setting. If you want to specify the `
2483
+ # x-amz-server-side-encryption-aws-kms-key-id` header explicitly, you
2484
+ # can only specify it with the ID (Key ID or Key ARN) of the KMS
2485
+ # customer managed key that's configured for your directory bucket's
2486
+ # default encryption setting. Otherwise, you get an HTTP `400 Bad
2487
+ # Request` error. Only use the key ID or key ARN. The key alias format
2488
+ # of the KMS key isn't supported. Your SSE-KMS configuration can only
2489
+ # support 1 [customer managed key][1] per directory bucket for the
2490
+ # lifetime of the bucket. The [Amazon Web Services managed key][2]
2491
+ # (`aws/s3`) isn't supported.
2395
2492
  #
2396
2493
  #
2397
2494
  #
@@ -2836,13 +2933,13 @@ module Aws::S3
2836
2933
  # For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
2837
2934
  # the supported algorithm from the following list:
2838
2935
  #
2839
- # * CRC32
2936
+ # * `CRC32`
2840
2937
  #
2841
- # * CRC32C
2938
+ # * `CRC32C`
2842
2939
  #
2843
- # * SHA1
2940
+ # * `SHA1`
2844
2941
  #
2845
- # * SHA256
2942
+ # * `SHA256`
2846
2943
  #
2847
2944
  # For more information, see [Checking object integrity][1] in the
2848
2945
  # *Amazon S3 User Guide*.
@@ -257,6 +257,9 @@ module Aws::S3
257
257
  # request_payer: "requester", # accepts requester
258
258
  # bypass_governance_retention: false,
259
259
  # expected_bucket_owner: "AccountId",
260
+ # if_match: "IfMatch",
261
+ # if_match_last_modified_time: Time.now,
262
+ # if_match_size: 1,
260
263
  # })
261
264
  # @param [Hash] options ({})
262
265
  # @option options [String] :mfa
@@ -296,6 +299,46 @@ module Aws::S3
296
299
  # The account ID of the expected bucket owner. If the account ID that
297
300
  # you provide does not match the actual owner of the bucket, the request
298
301
  # fails with the HTTP status code `403 Forbidden` (access denied).
302
+ # @option options [String] :if_match
303
+ # The `If-Match` header field makes the request method conditional on
304
+ # ETags. If the ETag value does not match, the operation returns a `412
305
+ # Precondition Failed` error. If the ETag matches or if the object
306
+ # doesn't exist, the operation will return a `204 Success (No Content)
307
+ # response`.
308
+ #
309
+ # For more information about conditional requests, see [RFC 7232][1].
310
+ #
311
+ # <note markdown="1"> This functionality is only supported for directory buckets.
312
+ #
313
+ # </note>
314
+ #
315
+ #
316
+ #
317
+ # [1]: https://docs.aws.amazon.com/https:/tools.ietf.org/html/rfc7232
318
+ # @option options [Time,DateTime,Date,Integer,String] :if_match_last_modified_time
319
+ # If present, the object is deleted only if its modification times
320
+ # matches the provided `Timestamp`. If the `Timestamp` values do not
321
+ # match, the operation returns a `412 Precondition Failed` error. If the
322
+ # `Timestamp` matches or if the object doesn’t exist, the operation
323
+ # returns a `204 Success (No Content)` response.
324
+ #
325
+ # <note markdown="1"> This functionality is only supported for directory buckets.
326
+ #
327
+ # </note>
328
+ # @option options [Integer] :if_match_size
329
+ # If present, the object is deleted only if its size matches the
330
+ # provided size in bytes. If the `Size` value does not match, the
331
+ # operation returns a `412 Precondition Failed` error. If the `Size`
332
+ # matches or if the object doesn’t exist, the operation returns a `204
333
+ # Success (No Content)` response.
334
+ #
335
+ # <note markdown="1"> This functionality is only supported for directory buckets.
336
+ #
337
+ # </note>
338
+ #
339
+ # You can use the `If-Match`, `x-amz-if-match-last-modified-time` and
340
+ # `x-amz-if-match-size` conditional headers in conjunction with
341
+ # each-other or individually.
299
342
  # @return [Types::DeleteObjectOutput]
300
343
  def delete(options = {})
301
344
  options = options.merge(
@@ -869,13 +912,13 @@ module Aws::S3
869
912
  # For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
870
913
  # the supported algorithm from the following list:
871
914
  #
872
- # * CRC32
915
+ # * `CRC32`
873
916
  #
874
- # * CRC32C
917
+ # * `CRC32C`
875
918
  #
876
- # * SHA1
919
+ # * `SHA1`
877
920
  #
878
- # * SHA256
921
+ # * `SHA256`
879
922
  #
880
923
  # For more information, see [Checking object integrity][1] in the
881
924
  # *Amazon S3 User Guide*.
@@ -36,7 +36,7 @@ Parameter to indicate whether S3Express session auth should be disabled
36
36
  class Handler < Seahorse::Client::Handler
37
37
  def call(context)
38
38
  unless context[:discovered_endpoint]
39
- params = parameters_for_operation(context)
39
+ params = Aws::S3::Endpoints.parameters_for_operation(context)
40
40
  endpoint = context.config.endpoint_provider.resolve_endpoint(params)
41
41
 
42
42
  context.http_request.endpoint = endpoint.url
@@ -76,209 +76,6 @@ Parameter to indicate whether S3Express session auth should be disabled
76
76
  context.http_request.headers[key] = value
77
77
  end
78
78
  end
79
-
80
- def parameters_for_operation(context)
81
- case context.operation_name
82
- when :abort_multipart_upload
83
- Aws::S3::Endpoints::AbortMultipartUpload.build(context)
84
- when :complete_multipart_upload
85
- Aws::S3::Endpoints::CompleteMultipartUpload.build(context)
86
- when :copy_object
87
- Aws::S3::Endpoints::CopyObject.build(context)
88
- when :create_bucket
89
- Aws::S3::Endpoints::CreateBucket.build(context)
90
- when :create_multipart_upload
91
- Aws::S3::Endpoints::CreateMultipartUpload.build(context)
92
- when :create_session
93
- Aws::S3::Endpoints::CreateSession.build(context)
94
- when :delete_bucket
95
- Aws::S3::Endpoints::DeleteBucket.build(context)
96
- when :delete_bucket_analytics_configuration
97
- Aws::S3::Endpoints::DeleteBucketAnalyticsConfiguration.build(context)
98
- when :delete_bucket_cors
99
- Aws::S3::Endpoints::DeleteBucketCors.build(context)
100
- when :delete_bucket_encryption
101
- Aws::S3::Endpoints::DeleteBucketEncryption.build(context)
102
- when :delete_bucket_intelligent_tiering_configuration
103
- Aws::S3::Endpoints::DeleteBucketIntelligentTieringConfiguration.build(context)
104
- when :delete_bucket_inventory_configuration
105
- Aws::S3::Endpoints::DeleteBucketInventoryConfiguration.build(context)
106
- when :delete_bucket_lifecycle
107
- Aws::S3::Endpoints::DeleteBucketLifecycle.build(context)
108
- when :delete_bucket_metrics_configuration
109
- Aws::S3::Endpoints::DeleteBucketMetricsConfiguration.build(context)
110
- when :delete_bucket_ownership_controls
111
- Aws::S3::Endpoints::DeleteBucketOwnershipControls.build(context)
112
- when :delete_bucket_policy
113
- Aws::S3::Endpoints::DeleteBucketPolicy.build(context)
114
- when :delete_bucket_replication
115
- Aws::S3::Endpoints::DeleteBucketReplication.build(context)
116
- when :delete_bucket_tagging
117
- Aws::S3::Endpoints::DeleteBucketTagging.build(context)
118
- when :delete_bucket_website
119
- Aws::S3::Endpoints::DeleteBucketWebsite.build(context)
120
- when :delete_object
121
- Aws::S3::Endpoints::DeleteObject.build(context)
122
- when :delete_object_tagging
123
- Aws::S3::Endpoints::DeleteObjectTagging.build(context)
124
- when :delete_objects
125
- Aws::S3::Endpoints::DeleteObjects.build(context)
126
- when :delete_public_access_block
127
- Aws::S3::Endpoints::DeletePublicAccessBlock.build(context)
128
- when :get_bucket_accelerate_configuration
129
- Aws::S3::Endpoints::GetBucketAccelerateConfiguration.build(context)
130
- when :get_bucket_acl
131
- Aws::S3::Endpoints::GetBucketAcl.build(context)
132
- when :get_bucket_analytics_configuration
133
- Aws::S3::Endpoints::GetBucketAnalyticsConfiguration.build(context)
134
- when :get_bucket_cors
135
- Aws::S3::Endpoints::GetBucketCors.build(context)
136
- when :get_bucket_encryption
137
- Aws::S3::Endpoints::GetBucketEncryption.build(context)
138
- when :get_bucket_intelligent_tiering_configuration
139
- Aws::S3::Endpoints::GetBucketIntelligentTieringConfiguration.build(context)
140
- when :get_bucket_inventory_configuration
141
- Aws::S3::Endpoints::GetBucketInventoryConfiguration.build(context)
142
- when :get_bucket_lifecycle
143
- Aws::S3::Endpoints::GetBucketLifecycle.build(context)
144
- when :get_bucket_lifecycle_configuration
145
- Aws::S3::Endpoints::GetBucketLifecycleConfiguration.build(context)
146
- when :get_bucket_location
147
- Aws::S3::Endpoints::GetBucketLocation.build(context)
148
- when :get_bucket_logging
149
- Aws::S3::Endpoints::GetBucketLogging.build(context)
150
- when :get_bucket_metrics_configuration
151
- Aws::S3::Endpoints::GetBucketMetricsConfiguration.build(context)
152
- when :get_bucket_notification
153
- Aws::S3::Endpoints::GetBucketNotification.build(context)
154
- when :get_bucket_notification_configuration
155
- Aws::S3::Endpoints::GetBucketNotificationConfiguration.build(context)
156
- when :get_bucket_ownership_controls
157
- Aws::S3::Endpoints::GetBucketOwnershipControls.build(context)
158
- when :get_bucket_policy
159
- Aws::S3::Endpoints::GetBucketPolicy.build(context)
160
- when :get_bucket_policy_status
161
- Aws::S3::Endpoints::GetBucketPolicyStatus.build(context)
162
- when :get_bucket_replication
163
- Aws::S3::Endpoints::GetBucketReplication.build(context)
164
- when :get_bucket_request_payment
165
- Aws::S3::Endpoints::GetBucketRequestPayment.build(context)
166
- when :get_bucket_tagging
167
- Aws::S3::Endpoints::GetBucketTagging.build(context)
168
- when :get_bucket_versioning
169
- Aws::S3::Endpoints::GetBucketVersioning.build(context)
170
- when :get_bucket_website
171
- Aws::S3::Endpoints::GetBucketWebsite.build(context)
172
- when :get_object
173
- Aws::S3::Endpoints::GetObject.build(context)
174
- when :get_object_acl
175
- Aws::S3::Endpoints::GetObjectAcl.build(context)
176
- when :get_object_attributes
177
- Aws::S3::Endpoints::GetObjectAttributes.build(context)
178
- when :get_object_legal_hold
179
- Aws::S3::Endpoints::GetObjectLegalHold.build(context)
180
- when :get_object_lock_configuration
181
- Aws::S3::Endpoints::GetObjectLockConfiguration.build(context)
182
- when :get_object_retention
183
- Aws::S3::Endpoints::GetObjectRetention.build(context)
184
- when :get_object_tagging
185
- Aws::S3::Endpoints::GetObjectTagging.build(context)
186
- when :get_object_torrent
187
- Aws::S3::Endpoints::GetObjectTorrent.build(context)
188
- when :get_public_access_block
189
- Aws::S3::Endpoints::GetPublicAccessBlock.build(context)
190
- when :head_bucket
191
- Aws::S3::Endpoints::HeadBucket.build(context)
192
- when :head_object
193
- Aws::S3::Endpoints::HeadObject.build(context)
194
- when :list_bucket_analytics_configurations
195
- Aws::S3::Endpoints::ListBucketAnalyticsConfigurations.build(context)
196
- when :list_bucket_intelligent_tiering_configurations
197
- Aws::S3::Endpoints::ListBucketIntelligentTieringConfigurations.build(context)
198
- when :list_bucket_inventory_configurations
199
- Aws::S3::Endpoints::ListBucketInventoryConfigurations.build(context)
200
- when :list_bucket_metrics_configurations
201
- Aws::S3::Endpoints::ListBucketMetricsConfigurations.build(context)
202
- when :list_buckets
203
- Aws::S3::Endpoints::ListBuckets.build(context)
204
- when :list_directory_buckets
205
- Aws::S3::Endpoints::ListDirectoryBuckets.build(context)
206
- when :list_multipart_uploads
207
- Aws::S3::Endpoints::ListMultipartUploads.build(context)
208
- when :list_object_versions
209
- Aws::S3::Endpoints::ListObjectVersions.build(context)
210
- when :list_objects
211
- Aws::S3::Endpoints::ListObjects.build(context)
212
- when :list_objects_v2
213
- Aws::S3::Endpoints::ListObjectsV2.build(context)
214
- when :list_parts
215
- Aws::S3::Endpoints::ListParts.build(context)
216
- when :put_bucket_accelerate_configuration
217
- Aws::S3::Endpoints::PutBucketAccelerateConfiguration.build(context)
218
- when :put_bucket_acl
219
- Aws::S3::Endpoints::PutBucketAcl.build(context)
220
- when :put_bucket_analytics_configuration
221
- Aws::S3::Endpoints::PutBucketAnalyticsConfiguration.build(context)
222
- when :put_bucket_cors
223
- Aws::S3::Endpoints::PutBucketCors.build(context)
224
- when :put_bucket_encryption
225
- Aws::S3::Endpoints::PutBucketEncryption.build(context)
226
- when :put_bucket_intelligent_tiering_configuration
227
- Aws::S3::Endpoints::PutBucketIntelligentTieringConfiguration.build(context)
228
- when :put_bucket_inventory_configuration
229
- Aws::S3::Endpoints::PutBucketInventoryConfiguration.build(context)
230
- when :put_bucket_lifecycle
231
- Aws::S3::Endpoints::PutBucketLifecycle.build(context)
232
- when :put_bucket_lifecycle_configuration
233
- Aws::S3::Endpoints::PutBucketLifecycleConfiguration.build(context)
234
- when :put_bucket_logging
235
- Aws::S3::Endpoints::PutBucketLogging.build(context)
236
- when :put_bucket_metrics_configuration
237
- Aws::S3::Endpoints::PutBucketMetricsConfiguration.build(context)
238
- when :put_bucket_notification
239
- Aws::S3::Endpoints::PutBucketNotification.build(context)
240
- when :put_bucket_notification_configuration
241
- Aws::S3::Endpoints::PutBucketNotificationConfiguration.build(context)
242
- when :put_bucket_ownership_controls
243
- Aws::S3::Endpoints::PutBucketOwnershipControls.build(context)
244
- when :put_bucket_policy
245
- Aws::S3::Endpoints::PutBucketPolicy.build(context)
246
- when :put_bucket_replication
247
- Aws::S3::Endpoints::PutBucketReplication.build(context)
248
- when :put_bucket_request_payment
249
- Aws::S3::Endpoints::PutBucketRequestPayment.build(context)
250
- when :put_bucket_tagging
251
- Aws::S3::Endpoints::PutBucketTagging.build(context)
252
- when :put_bucket_versioning
253
- Aws::S3::Endpoints::PutBucketVersioning.build(context)
254
- when :put_bucket_website
255
- Aws::S3::Endpoints::PutBucketWebsite.build(context)
256
- when :put_object
257
- Aws::S3::Endpoints::PutObject.build(context)
258
- when :put_object_acl
259
- Aws::S3::Endpoints::PutObjectAcl.build(context)
260
- when :put_object_legal_hold
261
- Aws::S3::Endpoints::PutObjectLegalHold.build(context)
262
- when :put_object_lock_configuration
263
- Aws::S3::Endpoints::PutObjectLockConfiguration.build(context)
264
- when :put_object_retention
265
- Aws::S3::Endpoints::PutObjectRetention.build(context)
266
- when :put_object_tagging
267
- Aws::S3::Endpoints::PutObjectTagging.build(context)
268
- when :put_public_access_block
269
- Aws::S3::Endpoints::PutPublicAccessBlock.build(context)
270
- when :restore_object
271
- Aws::S3::Endpoints::RestoreObject.build(context)
272
- when :select_object_content
273
- Aws::S3::Endpoints::SelectObjectContent.build(context)
274
- when :upload_part
275
- Aws::S3::Endpoints::UploadPart.build(context)
276
- when :upload_part_copy
277
- Aws::S3::Endpoints::UploadPartCopy.build(context)
278
- when :write_get_object_response
279
- Aws::S3::Endpoints::WriteGetObjectResponse.build(context)
280
- end
281
- end
282
79
  end
283
80
 
284
81
  def add_handlers(handlers, _config)
@@ -71,9 +71,9 @@ module Aws
71
71
 
72
72
  def check_for_error(context)
73
73
  xml = context.http_response.body_contents
74
- if xml.match(/\?>\s*<Error>/)
75
- error_code = xml.match(/<Code>(.+?)<\/Code>/)[1]
76
- error_message = xml.match(/<Message>(.+?)<\/Message>/)[1]
74
+ if xml.match(/<\?xml\s[^>]*\?>\s*<Error>/)
75
+ error_code = xml.match(%r{<Code>(.+?)</Code>})[1]
76
+ error_message = xml.match(%r{<Message>(.+?)</Message>})[1]
77
77
  S3::Errors.error_class(error_code).new(context, error_message)
78
78
  elsif incomplete_xml_body?(xml, context.operation.output)
79
79
  Seahorse::Client::NetworkingError.new(