aws-sdk-s3 1.109.0 → 1.156.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.
Files changed (100) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +352 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/access_grants_credentials.rb +57 -0
  5. data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +241 -0
  6. data/lib/aws-sdk-s3/bucket.rb +585 -110
  7. data/lib/aws-sdk-s3/bucket_acl.rb +28 -6
  8. data/lib/aws-sdk-s3/bucket_cors.rb +34 -10
  9. data/lib/aws-sdk-s3/bucket_lifecycle.rb +34 -10
  10. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +34 -10
  11. data/lib/aws-sdk-s3/bucket_logging.rb +35 -6
  12. data/lib/aws-sdk-s3/bucket_notification.rb +12 -6
  13. data/lib/aws-sdk-s3/bucket_policy.rb +78 -10
  14. data/lib/aws-sdk-s3/bucket_region_cache.rb +9 -5
  15. data/lib/aws-sdk-s3/bucket_request_payment.rb +28 -6
  16. data/lib/aws-sdk-s3/bucket_tagging.rb +34 -10
  17. data/lib/aws-sdk-s3/bucket_versioning.rb +72 -14
  18. data/lib/aws-sdk-s3/bucket_website.rb +34 -10
  19. data/lib/aws-sdk-s3/client.rb +7900 -3252
  20. data/lib/aws-sdk-s3/client_api.rb +706 -228
  21. data/lib/aws-sdk-s3/customizations/bucket.rb +23 -47
  22. data/lib/aws-sdk-s3/customizations/errors.rb +40 -0
  23. data/lib/aws-sdk-s3/customizations/object.rb +97 -21
  24. data/lib/aws-sdk-s3/customizations/types/permanent_redirect.rb +26 -0
  25. data/lib/aws-sdk-s3/customizations.rb +10 -0
  26. data/lib/aws-sdk-s3/encryption/client.rb +6 -2
  27. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +13 -9
  28. data/lib/aws-sdk-s3/encryptionV2/client.rb +6 -2
  29. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +1 -0
  30. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -6
  31. data/lib/aws-sdk-s3/endpoint_parameters.rb +186 -0
  32. data/lib/aws-sdk-s3/endpoint_provider.rb +592 -0
  33. data/lib/aws-sdk-s3/endpoints.rb +2689 -0
  34. data/lib/aws-sdk-s3/express_credentials.rb +55 -0
  35. data/lib/aws-sdk-s3/express_credentials_provider.rb +59 -0
  36. data/lib/aws-sdk-s3/file_downloader.rb +170 -45
  37. data/lib/aws-sdk-s3/file_uploader.rb +11 -4
  38. data/lib/aws-sdk-s3/multipart_file_uploader.rb +30 -11
  39. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +46 -17
  40. data/lib/aws-sdk-s3/multipart_upload.rb +194 -19
  41. data/lib/aws-sdk-s3/multipart_upload_part.rb +280 -30
  42. data/lib/aws-sdk-s3/object.rb +1753 -266
  43. data/lib/aws-sdk-s3/object_acl.rb +49 -13
  44. data/lib/aws-sdk-s3/object_copier.rb +7 -5
  45. data/lib/aws-sdk-s3/object_multipart_copier.rb +46 -22
  46. data/lib/aws-sdk-s3/object_summary.rb +1497 -221
  47. data/lib/aws-sdk-s3/object_version.rb +383 -58
  48. data/lib/aws-sdk-s3/plugins/accelerate.rb +3 -50
  49. data/lib/aws-sdk-s3/plugins/access_grants.rb +114 -0
  50. data/lib/aws-sdk-s3/plugins/arn.rb +0 -184
  51. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +3 -39
  52. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +1 -6
  53. data/lib/aws-sdk-s3/plugins/dualstack.rb +1 -49
  54. data/lib/aws-sdk-s3/plugins/endpoints.rb +274 -0
  55. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +2 -1
  56. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +97 -0
  57. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +53 -16
  58. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +6 -29
  59. data/lib/aws-sdk-s3/plugins/location_constraint.rb +3 -1
  60. data/lib/aws-sdk-s3/plugins/md5s.rb +6 -3
  61. data/lib/aws-sdk-s3/plugins/s3_signer.rb +42 -126
  62. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  63. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +23 -2
  64. data/lib/aws-sdk-s3/presigned_post.rb +99 -78
  65. data/lib/aws-sdk-s3/presigner.rb +28 -37
  66. data/lib/aws-sdk-s3/resource.rb +89 -13
  67. data/lib/aws-sdk-s3/types.rb +6544 -4909
  68. data/lib/aws-sdk-s3.rb +5 -1
  69. data/sig/bucket.rbs +212 -0
  70. data/sig/bucket_acl.rbs +78 -0
  71. data/sig/bucket_cors.rbs +69 -0
  72. data/sig/bucket_lifecycle.rbs +88 -0
  73. data/sig/bucket_lifecycle_configuration.rbs +111 -0
  74. data/sig/bucket_logging.rbs +76 -0
  75. data/sig/bucket_notification.rbs +114 -0
  76. data/sig/bucket_policy.rbs +59 -0
  77. data/sig/bucket_request_payment.rbs +54 -0
  78. data/sig/bucket_tagging.rbs +65 -0
  79. data/sig/bucket_versioning.rbs +77 -0
  80. data/sig/bucket_website.rbs +93 -0
  81. data/sig/client.rbs +2381 -0
  82. data/sig/customizations/bucket.rbs +19 -0
  83. data/sig/customizations/object.rbs +38 -0
  84. data/sig/customizations/object_summary.rbs +35 -0
  85. data/sig/errors.rbs +34 -0
  86. data/sig/multipart_upload.rbs +110 -0
  87. data/sig/multipart_upload_part.rbs +105 -0
  88. data/sig/object.rbs +442 -0
  89. data/sig/object_acl.rbs +86 -0
  90. data/sig/object_summary.rbs +334 -0
  91. data/sig/object_version.rbs +137 -0
  92. data/sig/resource.rbs +127 -0
  93. data/sig/types.rbs +2568 -0
  94. data/sig/waiters.rbs +95 -0
  95. metadata +50 -16
  96. data/lib/aws-sdk-s3/arn/access_point_arn.rb +0 -69
  97. data/lib/aws-sdk-s3/arn/multi_region_access_point_arn.rb +0 -68
  98. data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +0 -69
  99. data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +0 -74
  100. data/lib/aws-sdk-s3/plugins/object_lambda_endpoint.rb +0 -25
@@ -54,7 +54,9 @@ module Aws::S3
54
54
  #
55
55
  # @return [self]
56
56
  def load
57
- resp = @client.get_bucket_request_payment(bucket: @bucket_name)
57
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
58
+ @client.get_bucket_request_payment(bucket: @bucket_name)
59
+ end
58
60
  @data = resp.data
59
61
  self
60
62
  end
@@ -169,7 +171,9 @@ module Aws::S3
169
171
  :retry
170
172
  end
171
173
  end
172
- Aws::Waiters::Waiter.new(options).wait({})
174
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
175
+ Aws::Waiters::Waiter.new(options).wait({})
176
+ end
173
177
  end
174
178
 
175
179
  # @!group Actions
@@ -178,6 +182,7 @@ module Aws::S3
178
182
  #
179
183
  # bucket_request_payment.put({
180
184
  # content_md5: "ContentMD5",
185
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
181
186
  # request_payment_configuration: { # required
182
187
  # payer: "Requester", # required, accepts Requester, BucketOwner
183
188
  # },
@@ -196,16 +201,33 @@ module Aws::S3
196
201
  #
197
202
  #
198
203
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
204
+ # @option options [String] :checksum_algorithm
205
+ # Indicates the algorithm used to create the checksum for the object
206
+ # when you use the SDK. This header will not provide any additional
207
+ # functionality if you don't use the SDK. When you send this header,
208
+ # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
209
+ # header sent. Otherwise, Amazon S3 fails the request with the HTTP
210
+ # status code `400 Bad Request`. For more information, see [Checking
211
+ # object integrity][1] in the *Amazon S3 User Guide*.
212
+ #
213
+ # If you provide an individual checksum, Amazon S3 ignores any provided
214
+ # `ChecksumAlgorithm` parameter.
215
+ #
216
+ #
217
+ #
218
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
199
219
  # @option options [required, Types::RequestPaymentConfiguration] :request_payment_configuration
200
220
  # Container for Payer.
201
221
  # @option options [String] :expected_bucket_owner
202
- # The account ID of the expected bucket owner. If the bucket is owned by
203
- # a different account, the request will fail with an HTTP `403 (Access
204
- # Denied)` error.
222
+ # The account ID of the expected bucket owner. If the account ID that
223
+ # you provide does not match the actual owner of the bucket, the request
224
+ # fails with the HTTP status code `403 Forbidden` (access denied).
205
225
  # @return [EmptyStructure]
206
226
  def put(options = {})
207
227
  options = options.merge(bucket: @bucket_name)
208
- resp = @client.put_bucket_request_payment(options)
228
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
229
+ @client.put_bucket_request_payment(options)
230
+ end
209
231
  resp.data
210
232
  end
211
233
 
@@ -54,7 +54,9 @@ module Aws::S3
54
54
  #
55
55
  # @return [self]
56
56
  def load
57
- resp = @client.get_bucket_tagging(bucket: @bucket_name)
57
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
58
+ @client.get_bucket_tagging(bucket: @bucket_name)
59
+ end
58
60
  @data = resp.data
59
61
  self
60
62
  end
@@ -169,7 +171,9 @@ module Aws::S3
169
171
  :retry
170
172
  end
171
173
  end
172
- Aws::Waiters::Waiter.new(options).wait({})
174
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
175
+ Aws::Waiters::Waiter.new(options).wait({})
176
+ end
173
177
  end
174
178
 
175
179
  # @!group Actions
@@ -181,13 +185,15 @@ module Aws::S3
181
185
  # })
182
186
  # @param [Hash] options ({})
183
187
  # @option options [String] :expected_bucket_owner
184
- # The account ID of the expected bucket owner. If the bucket is owned by
185
- # a different account, the request will fail with an HTTP `403 (Access
186
- # Denied)` error.
188
+ # The account ID of the expected bucket owner. If the account ID that
189
+ # you provide does not match the actual owner of the bucket, the request
190
+ # fails with the HTTP status code `403 Forbidden` (access denied).
187
191
  # @return [EmptyStructure]
188
192
  def delete(options = {})
189
193
  options = options.merge(bucket: @bucket_name)
190
- resp = @client.delete_bucket_tagging(options)
194
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
195
+ @client.delete_bucket_tagging(options)
196
+ end
191
197
  resp.data
192
198
  end
193
199
 
@@ -195,6 +201,7 @@ module Aws::S3
195
201
  #
196
202
  # bucket_tagging.put({
197
203
  # content_md5: "ContentMD5",
204
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
198
205
  # tagging: { # required
199
206
  # tag_set: [ # required
200
207
  # {
@@ -218,16 +225,33 @@ module Aws::S3
218
225
  #
219
226
  #
220
227
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
228
+ # @option options [String] :checksum_algorithm
229
+ # Indicates the algorithm used to create the checksum for the object
230
+ # when you use the SDK. This header will not provide any additional
231
+ # functionality if you don't use the SDK. When you send this header,
232
+ # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
233
+ # header sent. Otherwise, Amazon S3 fails the request with the HTTP
234
+ # status code `400 Bad Request`. For more information, see [Checking
235
+ # object integrity][1] in the *Amazon S3 User Guide*.
236
+ #
237
+ # If you provide an individual checksum, Amazon S3 ignores any provided
238
+ # `ChecksumAlgorithm` parameter.
239
+ #
240
+ #
241
+ #
242
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
221
243
  # @option options [required, Types::Tagging] :tagging
222
244
  # Container for the `TagSet` and `Tag` elements.
223
245
  # @option options [String] :expected_bucket_owner
224
- # The account ID of the expected bucket owner. If the bucket is owned by
225
- # a different account, the request will fail with an HTTP `403 (Access
226
- # Denied)` error.
246
+ # The account ID of the expected bucket owner. If the account ID that
247
+ # you provide does not match the actual owner of the bucket, the request
248
+ # fails with the HTTP status code `403 Forbidden` (access denied).
227
249
  # @return [EmptyStructure]
228
250
  def put(options = {})
229
251
  options = options.merge(bucket: @bucket_name)
230
- resp = @client.put_bucket_tagging(options)
252
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
253
+ @client.put_bucket_tagging(options)
254
+ end
231
255
  resp.data
232
256
  end
233
257
 
@@ -63,7 +63,9 @@ module Aws::S3
63
63
  #
64
64
  # @return [self]
65
65
  def load
66
- resp = @client.get_bucket_versioning(bucket: @bucket_name)
66
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
67
+ @client.get_bucket_versioning(bucket: @bucket_name)
68
+ end
67
69
  @data = resp.data
68
70
  self
69
71
  end
@@ -178,7 +180,9 @@ module Aws::S3
178
180
  :retry
179
181
  end
180
182
  end
181
- Aws::Waiters::Waiter.new(options).wait({})
183
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
184
+ Aws::Waiters::Waiter.new(options).wait({})
185
+ end
182
186
  end
183
187
 
184
188
  # @!group Actions
@@ -187,6 +191,7 @@ module Aws::S3
187
191
  #
188
192
  # bucket_versioning.enable({
189
193
  # content_md5: "ContentMD5",
194
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
190
195
  # mfa: "MFA",
191
196
  # expected_bucket_owner: "AccountId",
192
197
  # })
@@ -204,13 +209,28 @@ module Aws::S3
204
209
  #
205
210
  #
206
211
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
212
+ # @option options [String] :checksum_algorithm
213
+ # Indicates the algorithm used to create the checksum for the object
214
+ # when you use the SDK. This header will not provide any additional
215
+ # functionality if you don't use the SDK. When you send this header,
216
+ # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
217
+ # header sent. Otherwise, Amazon S3 fails the request with the HTTP
218
+ # status code `400 Bad Request`. For more information, see [Checking
219
+ # object integrity][1] in the *Amazon S3 User Guide*.
220
+ #
221
+ # If you provide an individual checksum, Amazon S3 ignores any provided
222
+ # `ChecksumAlgorithm` parameter.
223
+ #
224
+ #
225
+ #
226
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
207
227
  # @option options [String] :mfa
208
228
  # The concatenation of the authentication device's serial number, a
209
229
  # space, and the value that is displayed on your authentication device.
210
230
  # @option options [String] :expected_bucket_owner
211
- # The account ID of the expected bucket owner. If the bucket is owned by
212
- # a different account, the request will fail with an HTTP `403 (Access
213
- # Denied)` error.
231
+ # The account ID of the expected bucket owner. If the account ID that
232
+ # you provide does not match the actual owner of the bucket, the request
233
+ # fails with the HTTP status code `403 Forbidden` (access denied).
214
234
  # @return [EmptyStructure]
215
235
  def enable(options = {})
216
236
  options = Aws::Util.deep_merge(options,
@@ -219,7 +239,9 @@ module Aws::S3
219
239
  status: "Enabled"
220
240
  }
221
241
  )
222
- resp = @client.put_bucket_versioning(options)
242
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
243
+ @client.put_bucket_versioning(options)
244
+ end
223
245
  resp.data
224
246
  end
225
247
 
@@ -227,6 +249,7 @@ module Aws::S3
227
249
  #
228
250
  # bucket_versioning.put({
229
251
  # content_md5: "ContentMD5",
252
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
230
253
  # mfa: "MFA",
231
254
  # versioning_configuration: { # required
232
255
  # mfa_delete: "Enabled", # accepts Enabled, Disabled
@@ -248,19 +271,36 @@ module Aws::S3
248
271
  #
249
272
  #
250
273
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
274
+ # @option options [String] :checksum_algorithm
275
+ # Indicates the algorithm used to create the checksum for the object
276
+ # when you use the SDK. This header will not provide any additional
277
+ # functionality if you don't use the SDK. When you send this header,
278
+ # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
279
+ # header sent. Otherwise, Amazon S3 fails the request with the HTTP
280
+ # status code `400 Bad Request`. For more information, see [Checking
281
+ # object integrity][1] in the *Amazon S3 User Guide*.
282
+ #
283
+ # If you provide an individual checksum, Amazon S3 ignores any provided
284
+ # `ChecksumAlgorithm` parameter.
285
+ #
286
+ #
287
+ #
288
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
251
289
  # @option options [String] :mfa
252
290
  # The concatenation of the authentication device's serial number, a
253
291
  # space, and the value that is displayed on your authentication device.
254
292
  # @option options [required, Types::VersioningConfiguration] :versioning_configuration
255
293
  # Container for setting the versioning state.
256
294
  # @option options [String] :expected_bucket_owner
257
- # The account ID of the expected bucket owner. If the bucket is owned by
258
- # a different account, the request will fail with an HTTP `403 (Access
259
- # Denied)` error.
295
+ # The account ID of the expected bucket owner. If the account ID that
296
+ # you provide does not match the actual owner of the bucket, the request
297
+ # fails with the HTTP status code `403 Forbidden` (access denied).
260
298
  # @return [EmptyStructure]
261
299
  def put(options = {})
262
300
  options = options.merge(bucket: @bucket_name)
263
- resp = @client.put_bucket_versioning(options)
301
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
302
+ @client.put_bucket_versioning(options)
303
+ end
264
304
  resp.data
265
305
  end
266
306
 
@@ -268,6 +308,7 @@ module Aws::S3
268
308
  #
269
309
  # bucket_versioning.suspend({
270
310
  # content_md5: "ContentMD5",
311
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
271
312
  # mfa: "MFA",
272
313
  # expected_bucket_owner: "AccountId",
273
314
  # })
@@ -285,13 +326,28 @@ module Aws::S3
285
326
  #
286
327
  #
287
328
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
329
+ # @option options [String] :checksum_algorithm
330
+ # Indicates the algorithm used to create the checksum for the object
331
+ # when you use the SDK. This header will not provide any additional
332
+ # functionality if you don't use the SDK. When you send this header,
333
+ # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
334
+ # header sent. Otherwise, Amazon S3 fails the request with the HTTP
335
+ # status code `400 Bad Request`. For more information, see [Checking
336
+ # object integrity][1] in the *Amazon S3 User Guide*.
337
+ #
338
+ # If you provide an individual checksum, Amazon S3 ignores any provided
339
+ # `ChecksumAlgorithm` parameter.
340
+ #
341
+ #
342
+ #
343
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
288
344
  # @option options [String] :mfa
289
345
  # The concatenation of the authentication device's serial number, a
290
346
  # space, and the value that is displayed on your authentication device.
291
347
  # @option options [String] :expected_bucket_owner
292
- # The account ID of the expected bucket owner. If the bucket is owned by
293
- # a different account, the request will fail with an HTTP `403 (Access
294
- # Denied)` error.
348
+ # The account ID of the expected bucket owner. If the account ID that
349
+ # you provide does not match the actual owner of the bucket, the request
350
+ # fails with the HTTP status code `403 Forbidden` (access denied).
295
351
  # @return [EmptyStructure]
296
352
  def suspend(options = {})
297
353
  options = Aws::Util.deep_merge(options,
@@ -300,7 +356,9 @@ module Aws::S3
300
356
  status: "Suspended"
301
357
  }
302
358
  )
303
- resp = @client.put_bucket_versioning(options)
359
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
360
+ @client.put_bucket_versioning(options)
361
+ end
304
362
  resp.data
305
363
  end
306
364
 
@@ -76,7 +76,9 @@ module Aws::S3
76
76
  #
77
77
  # @return [self]
78
78
  def load
79
- resp = @client.get_bucket_website(bucket: @bucket_name)
79
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
80
+ @client.get_bucket_website(bucket: @bucket_name)
81
+ end
80
82
  @data = resp.data
81
83
  self
82
84
  end
@@ -191,7 +193,9 @@ module Aws::S3
191
193
  :retry
192
194
  end
193
195
  end
194
- Aws::Waiters::Waiter.new(options).wait({})
196
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
197
+ Aws::Waiters::Waiter.new(options).wait({})
198
+ end
195
199
  end
196
200
 
197
201
  # @!group Actions
@@ -203,13 +207,15 @@ module Aws::S3
203
207
  # })
204
208
  # @param [Hash] options ({})
205
209
  # @option options [String] :expected_bucket_owner
206
- # The account ID of the expected bucket owner. If the bucket is owned by
207
- # a different account, the request will fail with an HTTP `403 (Access
208
- # Denied)` error.
210
+ # The account ID of the expected bucket owner. If the account ID that
211
+ # you provide does not match the actual owner of the bucket, the request
212
+ # fails with the HTTP status code `403 Forbidden` (access denied).
209
213
  # @return [EmptyStructure]
210
214
  def delete(options = {})
211
215
  options = options.merge(bucket: @bucket_name)
212
- resp = @client.delete_bucket_website(options)
216
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
217
+ @client.delete_bucket_website(options)
218
+ end
213
219
  resp.data
214
220
  end
215
221
 
@@ -217,6 +223,7 @@ module Aws::S3
217
223
  #
218
224
  # bucket_website.put({
219
225
  # content_md5: "ContentMD5",
226
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
220
227
  # website_configuration: { # required
221
228
  # error_document: {
222
229
  # key: "ObjectKey", # required
@@ -259,16 +266,33 @@ module Aws::S3
259
266
  #
260
267
  #
261
268
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
269
+ # @option options [String] :checksum_algorithm
270
+ # Indicates the algorithm used to create the checksum for the object
271
+ # when you use the SDK. This header will not provide any additional
272
+ # functionality if you don't use the SDK. When you send this header,
273
+ # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
274
+ # header sent. Otherwise, Amazon S3 fails the request with the HTTP
275
+ # status code `400 Bad Request`. For more information, see [Checking
276
+ # object integrity][1] in the *Amazon S3 User Guide*.
277
+ #
278
+ # If you provide an individual checksum, Amazon S3 ignores any provided
279
+ # `ChecksumAlgorithm` parameter.
280
+ #
281
+ #
282
+ #
283
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
262
284
  # @option options [required, Types::WebsiteConfiguration] :website_configuration
263
285
  # Container for the request.
264
286
  # @option options [String] :expected_bucket_owner
265
- # The account ID of the expected bucket owner. If the bucket is owned by
266
- # a different account, the request will fail with an HTTP `403 (Access
267
- # Denied)` error.
287
+ # The account ID of the expected bucket owner. If the account ID that
288
+ # you provide does not match the actual owner of the bucket, the request
289
+ # fails with the HTTP status code `403 Forbidden` (access denied).
268
290
  # @return [EmptyStructure]
269
291
  def put(options = {})
270
292
  options = options.merge(bucket: @bucket_name)
271
- resp = @client.put_bucket_website(options)
293
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
294
+ @client.put_bucket_website(options)
295
+ end
272
296
  resp.data
273
297
  end
274
298