aws-sdk-s3 1.136.0 → 1.208.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 (119) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +452 -1
  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 +250 -0
  6. data/lib/aws-sdk-s3/bucket.rb +728 -145
  7. data/lib/aws-sdk-s3/bucket_acl.rb +19 -18
  8. data/lib/aws-sdk-s3/bucket_cors.rb +22 -21
  9. data/lib/aws-sdk-s3/bucket_lifecycle.rb +23 -18
  10. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +76 -19
  11. data/lib/aws-sdk-s3/bucket_logging.rb +21 -14
  12. data/lib/aws-sdk-s3/bucket_notification.rb +6 -6
  13. data/lib/aws-sdk-s3/bucket_policy.rb +65 -20
  14. data/lib/aws-sdk-s3/bucket_region_cache.rb +9 -5
  15. data/lib/aws-sdk-s3/bucket_request_payment.rb +15 -15
  16. data/lib/aws-sdk-s3/bucket_tagging.rb +19 -19
  17. data/lib/aws-sdk-s3/bucket_versioning.rb +74 -41
  18. data/lib/aws-sdk-s3/bucket_website.rb +19 -19
  19. data/lib/aws-sdk-s3/client.rb +9951 -3365
  20. data/lib/aws-sdk-s3/client_api.rb +758 -164
  21. data/lib/aws-sdk-s3/customizations/bucket.rb +1 -1
  22. data/lib/aws-sdk-s3/customizations/errors.rb +15 -2
  23. data/lib/aws-sdk-s3/customizations/object.rb +87 -91
  24. data/lib/aws-sdk-s3/customizations/object_summary.rb +5 -0
  25. data/lib/aws-sdk-s3/customizations/object_version.rb +13 -0
  26. data/lib/aws-sdk-s3/customizations.rb +28 -31
  27. data/lib/aws-sdk-s3/default_executor.rb +103 -0
  28. data/lib/aws-sdk-s3/encryption/client.rb +4 -4
  29. data/lib/aws-sdk-s3/encryption/default_cipher_provider.rb +2 -0
  30. data/lib/aws-sdk-s3/encryption/encrypt_handler.rb +2 -0
  31. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +4 -2
  32. data/lib/aws-sdk-s3/encryptionV2/client.rb +100 -25
  33. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +7 -162
  34. data/lib/aws-sdk-s3/encryptionV2/decryption.rb +205 -0
  35. data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +17 -0
  36. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +2 -0
  37. data/lib/aws-sdk-s3/encryptionV2/io_encrypter.rb +2 -0
  38. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -2
  39. data/lib/aws-sdk-s3/encryptionV2/utils.rb +5 -0
  40. data/lib/aws-sdk-s3/encryptionV3/client.rb +885 -0
  41. data/lib/aws-sdk-s3/encryptionV3/decrypt_handler.rb +98 -0
  42. data/lib/aws-sdk-s3/encryptionV3/decryption.rb +244 -0
  43. data/lib/aws-sdk-s3/encryptionV3/default_cipher_provider.rb +159 -0
  44. data/lib/aws-sdk-s3/encryptionV3/default_key_provider.rb +35 -0
  45. data/lib/aws-sdk-s3/encryptionV3/encrypt_handler.rb +98 -0
  46. data/lib/aws-sdk-s3/encryptionV3/errors.rb +47 -0
  47. data/lib/aws-sdk-s3/encryptionV3/io_auth_decrypter.rb +60 -0
  48. data/lib/aws-sdk-s3/encryptionV3/io_decrypter.rb +35 -0
  49. data/lib/aws-sdk-s3/encryptionV3/io_encrypter.rb +84 -0
  50. data/lib/aws-sdk-s3/encryptionV3/key_provider.rb +28 -0
  51. data/lib/aws-sdk-s3/encryptionV3/kms_cipher_provider.rb +159 -0
  52. data/lib/aws-sdk-s3/encryptionV3/materials.rb +58 -0
  53. data/lib/aws-sdk-s3/encryptionV3/utils.rb +321 -0
  54. data/lib/aws-sdk-s3/encryption_v2.rb +1 -0
  55. data/lib/aws-sdk-s3/encryption_v3.rb +24 -0
  56. data/lib/aws-sdk-s3/endpoint_parameters.rb +65 -30
  57. data/lib/aws-sdk-s3/endpoint_provider.rb +604 -227
  58. data/lib/aws-sdk-s3/endpoints.rb +655 -1261
  59. data/lib/aws-sdk-s3/errors.rb +58 -0
  60. data/lib/aws-sdk-s3/express_credentials.rb +55 -0
  61. data/lib/aws-sdk-s3/express_credentials_provider.rb +59 -0
  62. data/lib/aws-sdk-s3/file_downloader.rb +192 -147
  63. data/lib/aws-sdk-s3/file_uploader.rb +10 -14
  64. data/lib/aws-sdk-s3/legacy_signer.rb +2 -1
  65. data/lib/aws-sdk-s3/multipart_download_error.rb +8 -0
  66. data/lib/aws-sdk-s3/multipart_file_uploader.rb +106 -103
  67. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +99 -109
  68. data/lib/aws-sdk-s3/multipart_upload.rb +185 -38
  69. data/lib/aws-sdk-s3/multipart_upload_error.rb +3 -4
  70. data/lib/aws-sdk-s3/multipart_upload_part.rb +205 -68
  71. data/lib/aws-sdk-s3/object.rb +2052 -315
  72. data/lib/aws-sdk-s3/object_acl.rb +46 -28
  73. data/lib/aws-sdk-s3/object_copier.rb +1 -1
  74. data/lib/aws-sdk-s3/object_multipart_copier.rb +12 -9
  75. data/lib/aws-sdk-s3/object_summary.rb +1778 -262
  76. data/lib/aws-sdk-s3/object_version.rb +400 -68
  77. data/lib/aws-sdk-s3/plugins/access_grants.rb +178 -0
  78. data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
  79. data/lib/aws-sdk-s3/plugins/endpoints.rb +32 -208
  80. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +88 -0
  81. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +55 -18
  82. data/lib/aws-sdk-s3/plugins/location_constraint.rb +3 -1
  83. data/lib/aws-sdk-s3/plugins/md5s.rb +10 -70
  84. data/lib/aws-sdk-s3/plugins/s3_signer.rb +7 -2
  85. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +5 -7
  86. data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -1
  87. data/lib/aws-sdk-s3/presigner.rb +9 -7
  88. data/lib/aws-sdk-s3/resource.rb +127 -22
  89. data/lib/aws-sdk-s3/transfer_manager.rb +303 -0
  90. data/lib/aws-sdk-s3/types.rb +8065 -1783
  91. data/lib/aws-sdk-s3.rb +35 -31
  92. data/sig/bucket.rbs +231 -0
  93. data/sig/bucket_acl.rbs +78 -0
  94. data/sig/bucket_cors.rbs +69 -0
  95. data/sig/bucket_lifecycle.rbs +88 -0
  96. data/sig/bucket_lifecycle_configuration.rbs +115 -0
  97. data/sig/bucket_logging.rbs +76 -0
  98. data/sig/bucket_notification.rbs +114 -0
  99. data/sig/bucket_policy.rbs +59 -0
  100. data/sig/bucket_request_payment.rbs +54 -0
  101. data/sig/bucket_tagging.rbs +65 -0
  102. data/sig/bucket_versioning.rbs +77 -0
  103. data/sig/bucket_website.rbs +93 -0
  104. data/sig/client.rbs +2612 -0
  105. data/sig/customizations/bucket.rbs +19 -0
  106. data/sig/customizations/object.rbs +38 -0
  107. data/sig/customizations/object_summary.rbs +35 -0
  108. data/sig/errors.rbs +44 -0
  109. data/sig/multipart_upload.rbs +120 -0
  110. data/sig/multipart_upload_part.rbs +109 -0
  111. data/sig/object.rbs +464 -0
  112. data/sig/object_acl.rbs +86 -0
  113. data/sig/object_summary.rbs +347 -0
  114. data/sig/object_version.rbs +143 -0
  115. data/sig/resource.rbs +141 -0
  116. data/sig/types.rbs +2899 -0
  117. data/sig/waiters.rbs +95 -0
  118. metadata +61 -12
  119. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +0 -31
@@ -54,7 +54,7 @@ module Aws::S3
54
54
  #
55
55
  # @return [self]
56
56
  def load
57
- resp = Aws::Plugins::UserAgent.feature('resource') do
57
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
58
58
  @client.get_bucket_policy(bucket: @bucket_name)
59
59
  end
60
60
  @data = resp.data
@@ -171,7 +171,7 @@ module Aws::S3
171
171
  :retry
172
172
  end
173
173
  end
174
- Aws::Plugins::UserAgent.feature('resource') do
174
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
175
175
  Aws::Waiters::Waiter.new(options).wait({})
176
176
  end
177
177
  end
@@ -185,13 +185,19 @@ module Aws::S3
185
185
  # })
186
186
  # @param [Hash] options ({})
187
187
  # @option options [String] :expected_bucket_owner
188
- # The account ID of the expected bucket owner. If the bucket is owned by
189
- # a different account, the request fails with the HTTP status code `403
190
- # Forbidden` (access denied).
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).
191
+ #
192
+ # <note markdown="1"> For directory buckets, this header is not supported in this API
193
+ # operation. If you specify this header, the request fails with the HTTP
194
+ # status code `501 Not Implemented`.
195
+ #
196
+ # </note>
191
197
  # @return [EmptyStructure]
192
198
  def delete(options = {})
193
199
  options = options.merge(bucket: @bucket_name)
194
- resp = Aws::Plugins::UserAgent.feature('resource') do
200
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
195
201
  @client.delete_bucket_policy(options)
196
202
  end
197
203
  resp.data
@@ -201,7 +207,7 @@ module Aws::S3
201
207
  #
202
208
  # bucket_policy.put({
203
209
  # content_md5: "ContentMD5",
204
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
210
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
205
211
  # confirm_remove_self_bucket_access: false,
206
212
  # policy: "Policy", # required
207
213
  # expected_bucket_owner: "AccountId",
@@ -213,17 +219,43 @@ module Aws::S3
213
219
  # For requests made using the Amazon Web Services Command Line Interface
214
220
  # (CLI) or Amazon Web Services SDKs, this field is calculated
215
221
  # automatically.
222
+ #
223
+ # <note markdown="1"> This functionality is not supported for directory buckets.
224
+ #
225
+ # </note>
216
226
  # @option options [String] :checksum_algorithm
217
- # Indicates the algorithm used to create the checksum for the object
218
- # when using the SDK. This header will not provide any additional
219
- # functionality if not using the SDK. When sending this header, there
220
- # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
221
- # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
222
- # `400 Bad Request`. For more information, see [Checking object
223
- # integrity][1] in the *Amazon S3 User Guide*.
227
+ # Indicates the algorithm used to create the checksum for the request
228
+ # when you use the SDK. This header will not provide any additional
229
+ # functionality if you don't use the SDK. When you send this header,
230
+ # there must be a corresponding `x-amz-checksum-algorithm ` or
231
+ # `x-amz-trailer` header sent. Otherwise, Amazon S3 fails the request
232
+ # with the HTTP status code `400 Bad Request`.
233
+ #
234
+ # For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
235
+ # the supported algorithm from the following list:
236
+ #
237
+ # * `CRC32`
238
+ #
239
+ # * `CRC32C`
240
+ #
241
+ # * `CRC64NVME`
242
+ #
243
+ # * `SHA1`
224
244
  #
225
- # If you provide an individual checksum, Amazon S3 ignores any provided
226
- # `ChecksumAlgorithm` parameter.
245
+ # * `SHA256`
246
+ #
247
+ # For more information, see [Checking object integrity][1] in the
248
+ # *Amazon S3 User Guide*.
249
+ #
250
+ # If the individual checksum value you provide through
251
+ # `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
252
+ # set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
253
+ # request with a `BadDigest` error.
254
+ #
255
+ # <note markdown="1"> For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
256
+ # is the default checksum algorithm that's used for performance.
257
+ #
258
+ # </note>
227
259
  #
228
260
  #
229
261
  #
@@ -231,16 +263,29 @@ module Aws::S3
231
263
  # @option options [Boolean] :confirm_remove_self_bucket_access
232
264
  # Set this parameter to true to confirm that you want to remove your
233
265
  # permissions to change this bucket policy in the future.
266
+ #
267
+ # <note markdown="1"> This functionality is not supported for directory buckets.
268
+ #
269
+ # </note>
234
270
  # @option options [required, String] :policy
235
271
  # The bucket policy as a JSON document.
272
+ #
273
+ # For directory buckets, the only IAM action supported in the bucket
274
+ # policy is `s3express:CreateSession`.
236
275
  # @option options [String] :expected_bucket_owner
237
- # The account ID of the expected bucket owner. If the bucket is owned by
238
- # a different account, the request fails with the HTTP status code `403
239
- # Forbidden` (access denied).
276
+ # The account ID of the expected bucket owner. If the account ID that
277
+ # you provide does not match the actual owner of the bucket, the request
278
+ # fails with the HTTP status code `403 Forbidden` (access denied).
279
+ #
280
+ # <note markdown="1"> For directory buckets, this header is not supported in this API
281
+ # operation. If you specify this header, the request fails with the HTTP
282
+ # status code `501 Not Implemented`.
283
+ #
284
+ # </note>
240
285
  # @return [EmptyStructure]
241
286
  def put(options = {})
242
287
  options = options.merge(bucket: @bucket_name)
243
- resp = Aws::Plugins::UserAgent.feature('resource') do
288
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
244
289
  @client.put_bucket_policy(options)
245
290
  end
246
291
  resp.data
@@ -15,7 +15,7 @@ module Aws
15
15
  # Registers a block as a callback. This listener is called when a
16
16
  # new bucket/region pair is added to the cache.
17
17
  #
18
- # S3::BUCKET_REGIONS.bucket_added do |bucket_name, region_name|
18
+ # Aws::S3.bucket_region_cache.bucket_added do |bucket_name, region_name|
19
19
  # # ...
20
20
  # end
21
21
  #
@@ -59,6 +59,14 @@ module Aws
59
59
  end
60
60
  end
61
61
 
62
+ # @param [String] key
63
+ # @return [Boolean]
64
+ def key?(key)
65
+ @mutex.synchronize do
66
+ @regions.key?(key)
67
+ end
68
+ end
69
+
62
70
  # @api private
63
71
  def clear
64
72
  @mutex.synchronize { @regions = {} }
@@ -73,9 +81,5 @@ module Aws
73
81
  alias to_h to_hash
74
82
 
75
83
  end
76
-
77
- # @api private
78
- BUCKET_REGIONS = BucketRegionCache.new
79
-
80
84
  end
81
85
  end
@@ -54,7 +54,7 @@ module Aws::S3
54
54
  #
55
55
  # @return [self]
56
56
  def load
57
- resp = Aws::Plugins::UserAgent.feature('resource') do
57
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
58
58
  @client.get_bucket_request_payment(bucket: @bucket_name)
59
59
  end
60
60
  @data = resp.data
@@ -171,7 +171,7 @@ module Aws::S3
171
171
  :retry
172
172
  end
173
173
  end
174
- Aws::Plugins::UserAgent.feature('resource') do
174
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
175
175
  Aws::Waiters::Waiter.new(options).wait({})
176
176
  end
177
177
  end
@@ -182,7 +182,7 @@ module Aws::S3
182
182
  #
183
183
  # bucket_request_payment.put({
184
184
  # content_md5: "ContentMD5",
185
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
185
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
186
186
  # request_payment_configuration: { # required
187
187
  # payer: "Requester", # required, accepts Requester, BucketOwner
188
188
  # },
@@ -190,7 +190,7 @@ module Aws::S3
190
190
  # })
191
191
  # @param [Hash] options ({})
192
192
  # @option options [String] :content_md5
193
- # The base64-encoded 128-bit MD5 digest of the data. You must use this
193
+ # The Base64 encoded 128-bit `MD5` digest of the data. You must use this
194
194
  # header as a message integrity check to verify that the request body
195
195
  # was not corrupted in transit. For more information, see [RFC 1864][1].
196
196
  #
@@ -202,13 +202,13 @@ module Aws::S3
202
202
  #
203
203
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
204
204
  # @option options [String] :checksum_algorithm
205
- # Indicates the algorithm used to create the checksum for the object
206
- # when using the SDK. This header will not provide any additional
207
- # functionality if not using the SDK. When sending this header, there
208
- # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
209
- # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
210
- # `400 Bad Request`. For more information, see [Checking object
211
- # integrity][1] in the *Amazon S3 User Guide*.
205
+ # Indicates the algorithm used to create the checksum for the request
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
212
  #
213
213
  # If you provide an individual checksum, Amazon S3 ignores any provided
214
214
  # `ChecksumAlgorithm` parameter.
@@ -219,13 +219,13 @@ module Aws::S3
219
219
  # @option options [required, Types::RequestPaymentConfiguration] :request_payment_configuration
220
220
  # Container for Payer.
221
221
  # @option options [String] :expected_bucket_owner
222
- # The account ID of the expected bucket owner. If the bucket is owned by
223
- # a different account, the request fails with the HTTP status code `403
224
- # Forbidden` (access denied).
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).
225
225
  # @return [EmptyStructure]
226
226
  def put(options = {})
227
227
  options = options.merge(bucket: @bucket_name)
228
- resp = Aws::Plugins::UserAgent.feature('resource') do
228
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
229
229
  @client.put_bucket_request_payment(options)
230
230
  end
231
231
  resp.data
@@ -54,7 +54,7 @@ module Aws::S3
54
54
  #
55
55
  # @return [self]
56
56
  def load
57
- resp = Aws::Plugins::UserAgent.feature('resource') do
57
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
58
58
  @client.get_bucket_tagging(bucket: @bucket_name)
59
59
  end
60
60
  @data = resp.data
@@ -171,7 +171,7 @@ module Aws::S3
171
171
  :retry
172
172
  end
173
173
  end
174
- Aws::Plugins::UserAgent.feature('resource') do
174
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
175
175
  Aws::Waiters::Waiter.new(options).wait({})
176
176
  end
177
177
  end
@@ -185,13 +185,13 @@ module Aws::S3
185
185
  # })
186
186
  # @param [Hash] options ({})
187
187
  # @option options [String] :expected_bucket_owner
188
- # The account ID of the expected bucket owner. If the bucket is owned by
189
- # a different account, the request fails with the HTTP status code `403
190
- # Forbidden` (access denied).
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).
191
191
  # @return [EmptyStructure]
192
192
  def delete(options = {})
193
193
  options = options.merge(bucket: @bucket_name)
194
- resp = Aws::Plugins::UserAgent.feature('resource') do
194
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
195
195
  @client.delete_bucket_tagging(options)
196
196
  end
197
197
  resp.data
@@ -201,7 +201,7 @@ module Aws::S3
201
201
  #
202
202
  # bucket_tagging.put({
203
203
  # content_md5: "ContentMD5",
204
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
204
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
205
205
  # tagging: { # required
206
206
  # tag_set: [ # required
207
207
  # {
@@ -214,7 +214,7 @@ module Aws::S3
214
214
  # })
215
215
  # @param [Hash] options ({})
216
216
  # @option options [String] :content_md5
217
- # The base64-encoded 128-bit MD5 digest of the data. You must use this
217
+ # The Base64 encoded 128-bit `MD5` digest of the data. You must use this
218
218
  # header as a message integrity check to verify that the request body
219
219
  # was not corrupted in transit. For more information, see [RFC 1864][1].
220
220
  #
@@ -226,13 +226,13 @@ module Aws::S3
226
226
  #
227
227
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
228
228
  # @option options [String] :checksum_algorithm
229
- # Indicates the algorithm used to create the checksum for the object
230
- # when using the SDK. This header will not provide any additional
231
- # functionality if not using the SDK. When sending this header, there
232
- # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
233
- # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
234
- # `400 Bad Request`. For more information, see [Checking object
235
- # integrity][1] in the *Amazon S3 User Guide*.
229
+ # Indicates the algorithm used to create the checksum for the request
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
236
  #
237
237
  # If you provide an individual checksum, Amazon S3 ignores any provided
238
238
  # `ChecksumAlgorithm` parameter.
@@ -243,13 +243,13 @@ module Aws::S3
243
243
  # @option options [required, Types::Tagging] :tagging
244
244
  # Container for the `TagSet` and `Tag` elements.
245
245
  # @option options [String] :expected_bucket_owner
246
- # The account ID of the expected bucket owner. If the bucket is owned by
247
- # a different account, the request fails with the HTTP status code `403
248
- # Forbidden` (access denied).
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).
249
249
  # @return [EmptyStructure]
250
250
  def put(options = {})
251
251
  options = options.merge(bucket: @bucket_name)
252
- resp = Aws::Plugins::UserAgent.feature('resource') do
252
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
253
253
  @client.put_bucket_tagging(options)
254
254
  end
255
255
  resp.data
@@ -63,7 +63,7 @@ module Aws::S3
63
63
  #
64
64
  # @return [self]
65
65
  def load
66
- resp = Aws::Plugins::UserAgent.feature('resource') do
66
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
67
67
  @client.get_bucket_versioning(bucket: @bucket_name)
68
68
  end
69
69
  @data = resp.data
@@ -180,7 +180,7 @@ module Aws::S3
180
180
  :retry
181
181
  end
182
182
  end
183
- Aws::Plugins::UserAgent.feature('resource') do
183
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
184
184
  Aws::Waiters::Waiter.new(options).wait({})
185
185
  end
186
186
  end
@@ -191,13 +191,13 @@ module Aws::S3
191
191
  #
192
192
  # bucket_versioning.enable({
193
193
  # content_md5: "ContentMD5",
194
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
194
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
195
195
  # mfa: "MFA",
196
196
  # expected_bucket_owner: "AccountId",
197
197
  # })
198
198
  # @param [Hash] options ({})
199
199
  # @option options [String] :content_md5
200
- # &gt;The base64-encoded 128-bit MD5 digest of the data. You must use
200
+ # &gt;The Base64 encoded 128-bit `MD5` digest of the data. You must use
201
201
  # this header as a message integrity check to verify that the request
202
202
  # body was not corrupted in transit. For more information, see [RFC
203
203
  # 1864][1].
@@ -210,13 +210,13 @@ module Aws::S3
210
210
  #
211
211
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
212
212
  # @option options [String] :checksum_algorithm
213
- # Indicates the algorithm used to create the checksum for the object
214
- # when using the SDK. This header will not provide any additional
215
- # functionality if not using the SDK. When sending this header, there
216
- # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
217
- # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
218
- # `400 Bad Request`. For more information, see [Checking object
219
- # integrity][1] in the *Amazon S3 User Guide*.
213
+ # Indicates the algorithm used to create the checksum for the request
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
220
  #
221
221
  # If you provide an individual checksum, Amazon S3 ignores any provided
222
222
  # `ChecksumAlgorithm` parameter.
@@ -227,10 +227,21 @@ module Aws::S3
227
227
  # @option options [String] :mfa
228
228
  # The concatenation of the authentication device's serial number, a
229
229
  # space, and the value that is displayed on your authentication device.
230
+ # The serial number is the number that uniquely identifies the MFA
231
+ # device. For physical MFA devices, this is the unique serial number
232
+ # that's provided with the device. For virtual MFA devices, the serial
233
+ # number is the device ARN. For more information, see [Enabling
234
+ # versioning on buckets][1] and [Configuring MFA delete][2] in the
235
+ # *Amazon Simple Storage Service User Guide*.
236
+ #
237
+ #
238
+ #
239
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/manage-versioning-examples.html
240
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiFactorAuthenticationDelete.html
230
241
  # @option options [String] :expected_bucket_owner
231
- # The account ID of the expected bucket owner. If the bucket is owned by
232
- # a different account, the request fails with the HTTP status code `403
233
- # Forbidden` (access denied).
242
+ # The account ID of the expected bucket owner. If the account ID that
243
+ # you provide does not match the actual owner of the bucket, the request
244
+ # fails with the HTTP status code `403 Forbidden` (access denied).
234
245
  # @return [EmptyStructure]
235
246
  def enable(options = {})
236
247
  options = Aws::Util.deep_merge(options,
@@ -239,7 +250,7 @@ module Aws::S3
239
250
  status: "Enabled"
240
251
  }
241
252
  )
242
- resp = Aws::Plugins::UserAgent.feature('resource') do
253
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
243
254
  @client.put_bucket_versioning(options)
244
255
  end
245
256
  resp.data
@@ -249,7 +260,7 @@ module Aws::S3
249
260
  #
250
261
  # bucket_versioning.put({
251
262
  # content_md5: "ContentMD5",
252
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
263
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
253
264
  # mfa: "MFA",
254
265
  # versioning_configuration: { # required
255
266
  # mfa_delete: "Enabled", # accepts Enabled, Disabled
@@ -259,7 +270,7 @@ module Aws::S3
259
270
  # })
260
271
  # @param [Hash] options ({})
261
272
  # @option options [String] :content_md5
262
- # &gt;The base64-encoded 128-bit MD5 digest of the data. You must use
273
+ # &gt;The Base64 encoded 128-bit `MD5` digest of the data. You must use
263
274
  # this header as a message integrity check to verify that the request
264
275
  # body was not corrupted in transit. For more information, see [RFC
265
276
  # 1864][1].
@@ -272,13 +283,13 @@ module Aws::S3
272
283
  #
273
284
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
274
285
  # @option options [String] :checksum_algorithm
275
- # Indicates the algorithm used to create the checksum for the object
276
- # when using the SDK. This header will not provide any additional
277
- # functionality if not using the SDK. When sending this header, there
278
- # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
279
- # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
280
- # `400 Bad Request`. For more information, see [Checking object
281
- # integrity][1] in the *Amazon S3 User Guide*.
286
+ # Indicates the algorithm used to create the checksum for the request
287
+ # when you use the SDK. This header will not provide any additional
288
+ # functionality if you don't use the SDK. When you send this header,
289
+ # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
290
+ # header sent. Otherwise, Amazon S3 fails the request with the HTTP
291
+ # status code `400 Bad Request`. For more information, see [Checking
292
+ # object integrity][1] in the *Amazon S3 User Guide*.
282
293
  #
283
294
  # If you provide an individual checksum, Amazon S3 ignores any provided
284
295
  # `ChecksumAlgorithm` parameter.
@@ -289,16 +300,27 @@ module Aws::S3
289
300
  # @option options [String] :mfa
290
301
  # The concatenation of the authentication device's serial number, a
291
302
  # space, and the value that is displayed on your authentication device.
303
+ # The serial number is the number that uniquely identifies the MFA
304
+ # device. For physical MFA devices, this is the unique serial number
305
+ # that's provided with the device. For virtual MFA devices, the serial
306
+ # number is the device ARN. For more information, see [Enabling
307
+ # versioning on buckets][1] and [Configuring MFA delete][2] in the
308
+ # *Amazon Simple Storage Service User Guide*.
309
+ #
310
+ #
311
+ #
312
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/manage-versioning-examples.html
313
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiFactorAuthenticationDelete.html
292
314
  # @option options [required, Types::VersioningConfiguration] :versioning_configuration
293
315
  # Container for setting the versioning state.
294
316
  # @option options [String] :expected_bucket_owner
295
- # The account ID of the expected bucket owner. If the bucket is owned by
296
- # a different account, the request fails with the HTTP status code `403
297
- # Forbidden` (access denied).
317
+ # The account ID of the expected bucket owner. If the account ID that
318
+ # you provide does not match the actual owner of the bucket, the request
319
+ # fails with the HTTP status code `403 Forbidden` (access denied).
298
320
  # @return [EmptyStructure]
299
321
  def put(options = {})
300
322
  options = options.merge(bucket: @bucket_name)
301
- resp = Aws::Plugins::UserAgent.feature('resource') do
323
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
302
324
  @client.put_bucket_versioning(options)
303
325
  end
304
326
  resp.data
@@ -308,13 +330,13 @@ module Aws::S3
308
330
  #
309
331
  # bucket_versioning.suspend({
310
332
  # content_md5: "ContentMD5",
311
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
333
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
312
334
  # mfa: "MFA",
313
335
  # expected_bucket_owner: "AccountId",
314
336
  # })
315
337
  # @param [Hash] options ({})
316
338
  # @option options [String] :content_md5
317
- # &gt;The base64-encoded 128-bit MD5 digest of the data. You must use
339
+ # &gt;The Base64 encoded 128-bit `MD5` digest of the data. You must use
318
340
  # this header as a message integrity check to verify that the request
319
341
  # body was not corrupted in transit. For more information, see [RFC
320
342
  # 1864][1].
@@ -327,13 +349,13 @@ module Aws::S3
327
349
  #
328
350
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
329
351
  # @option options [String] :checksum_algorithm
330
- # Indicates the algorithm used to create the checksum for the object
331
- # when using the SDK. This header will not provide any additional
332
- # functionality if not using the SDK. When sending this header, there
333
- # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
334
- # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
335
- # `400 Bad Request`. For more information, see [Checking object
336
- # integrity][1] in the *Amazon S3 User Guide*.
352
+ # Indicates the algorithm used to create the checksum for the request
353
+ # when you use the SDK. This header will not provide any additional
354
+ # functionality if you don't use the SDK. When you send this header,
355
+ # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
356
+ # header sent. Otherwise, Amazon S3 fails the request with the HTTP
357
+ # status code `400 Bad Request`. For more information, see [Checking
358
+ # object integrity][1] in the *Amazon S3 User Guide*.
337
359
  #
338
360
  # If you provide an individual checksum, Amazon S3 ignores any provided
339
361
  # `ChecksumAlgorithm` parameter.
@@ -344,10 +366,21 @@ module Aws::S3
344
366
  # @option options [String] :mfa
345
367
  # The concatenation of the authentication device's serial number, a
346
368
  # space, and the value that is displayed on your authentication device.
369
+ # The serial number is the number that uniquely identifies the MFA
370
+ # device. For physical MFA devices, this is the unique serial number
371
+ # that's provided with the device. For virtual MFA devices, the serial
372
+ # number is the device ARN. For more information, see [Enabling
373
+ # versioning on buckets][1] and [Configuring MFA delete][2] in the
374
+ # *Amazon Simple Storage Service User Guide*.
375
+ #
376
+ #
377
+ #
378
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/manage-versioning-examples.html
379
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiFactorAuthenticationDelete.html
347
380
  # @option options [String] :expected_bucket_owner
348
- # The account ID of the expected bucket owner. If the bucket is owned by
349
- # a different account, the request fails with the HTTP status code `403
350
- # Forbidden` (access denied).
381
+ # The account ID of the expected bucket owner. If the account ID that
382
+ # you provide does not match the actual owner of the bucket, the request
383
+ # fails with the HTTP status code `403 Forbidden` (access denied).
351
384
  # @return [EmptyStructure]
352
385
  def suspend(options = {})
353
386
  options = Aws::Util.deep_merge(options,
@@ -356,7 +389,7 @@ module Aws::S3
356
389
  status: "Suspended"
357
390
  }
358
391
  )
359
- resp = Aws::Plugins::UserAgent.feature('resource') do
392
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
360
393
  @client.put_bucket_versioning(options)
361
394
  end
362
395
  resp.data
@@ -76,7 +76,7 @@ module Aws::S3
76
76
  #
77
77
  # @return [self]
78
78
  def load
79
- resp = Aws::Plugins::UserAgent.feature('resource') do
79
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
80
80
  @client.get_bucket_website(bucket: @bucket_name)
81
81
  end
82
82
  @data = resp.data
@@ -193,7 +193,7 @@ module Aws::S3
193
193
  :retry
194
194
  end
195
195
  end
196
- Aws::Plugins::UserAgent.feature('resource') do
196
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
197
197
  Aws::Waiters::Waiter.new(options).wait({})
198
198
  end
199
199
  end
@@ -207,13 +207,13 @@ module Aws::S3
207
207
  # })
208
208
  # @param [Hash] options ({})
209
209
  # @option options [String] :expected_bucket_owner
210
- # The account ID of the expected bucket owner. If the bucket is owned by
211
- # a different account, the request fails with the HTTP status code `403
212
- # Forbidden` (access denied).
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).
213
213
  # @return [EmptyStructure]
214
214
  def delete(options = {})
215
215
  options = options.merge(bucket: @bucket_name)
216
- resp = Aws::Plugins::UserAgent.feature('resource') do
216
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
217
217
  @client.delete_bucket_website(options)
218
218
  end
219
219
  resp.data
@@ -223,7 +223,7 @@ module Aws::S3
223
223
  #
224
224
  # bucket_website.put({
225
225
  # content_md5: "ContentMD5",
226
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
226
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
227
227
  # website_configuration: { # required
228
228
  # error_document: {
229
229
  # key: "ObjectKey", # required
@@ -255,7 +255,7 @@ module Aws::S3
255
255
  # })
256
256
  # @param [Hash] options ({})
257
257
  # @option options [String] :content_md5
258
- # The base64-encoded 128-bit MD5 digest of the data. You must use this
258
+ # The Base64 encoded 128-bit `MD5` digest of the data. You must use this
259
259
  # header as a message integrity check to verify that the request body
260
260
  # was not corrupted in transit. For more information, see [RFC 1864][1].
261
261
  #
@@ -267,13 +267,13 @@ module Aws::S3
267
267
  #
268
268
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
269
269
  # @option options [String] :checksum_algorithm
270
- # Indicates the algorithm used to create the checksum for the object
271
- # when using the SDK. This header will not provide any additional
272
- # functionality if not using the SDK. When sending this header, there
273
- # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
274
- # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
275
- # `400 Bad Request`. For more information, see [Checking object
276
- # integrity][1] in the *Amazon S3 User Guide*.
270
+ # Indicates the algorithm used to create the checksum for the request
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
277
  #
278
278
  # If you provide an individual checksum, Amazon S3 ignores any provided
279
279
  # `ChecksumAlgorithm` parameter.
@@ -284,13 +284,13 @@ module Aws::S3
284
284
  # @option options [required, Types::WebsiteConfiguration] :website_configuration
285
285
  # Container for the request.
286
286
  # @option options [String] :expected_bucket_owner
287
- # The account ID of the expected bucket owner. If the bucket is owned by
288
- # a different account, the request fails with the HTTP status code `403
289
- # Forbidden` (access denied).
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).
290
290
  # @return [EmptyStructure]
291
291
  def put(options = {})
292
292
  options = options.merge(bucket: @bucket_name)
293
- resp = Aws::Plugins::UserAgent.feature('resource') do
293
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
294
294
  @client.put_bucket_website(options)
295
295
  end
296
296
  resp.data