aws-sdk-s3 1.142.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 (118) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +417 -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 +358 -106
  7. data/lib/aws-sdk-s3/bucket_acl.rb +10 -9
  8. data/lib/aws-sdk-s3/bucket_cors.rb +10 -9
  9. data/lib/aws-sdk-s3/bucket_lifecycle.rb +11 -6
  10. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +64 -7
  11. data/lib/aws-sdk-s3/bucket_logging.rb +5 -5
  12. data/lib/aws-sdk-s3/bucket_notification.rb +3 -3
  13. data/lib/aws-sdk-s3/bucket_policy.rb +14 -13
  14. data/lib/aws-sdk-s3/bucket_region_cache.rb +9 -5
  15. data/lib/aws-sdk-s3/bucket_request_payment.rb +6 -6
  16. data/lib/aws-sdk-s3/bucket_tagging.rb +7 -7
  17. data/lib/aws-sdk-s3/bucket_versioning.rb +47 -14
  18. data/lib/aws-sdk-s3/bucket_website.rb +7 -7
  19. data/lib/aws-sdk-s3/client.rb +5671 -2195
  20. data/lib/aws-sdk-s3/client_api.rb +665 -166
  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 -36
  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 +37 -34
  57. data/lib/aws-sdk-s3/endpoint_provider.rb +572 -277
  58. data/lib/aws-sdk-s3/endpoints.rb +566 -1612
  59. data/lib/aws-sdk-s3/errors.rb +58 -0
  60. data/lib/aws-sdk-s3/express_credentials_provider.rb +27 -4
  61. data/lib/aws-sdk-s3/file_downloader.rb +192 -146
  62. data/lib/aws-sdk-s3/file_uploader.rb +10 -14
  63. data/lib/aws-sdk-s3/legacy_signer.rb +2 -1
  64. data/lib/aws-sdk-s3/multipart_download_error.rb +8 -0
  65. data/lib/aws-sdk-s3/multipart_file_uploader.rb +106 -102
  66. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +99 -108
  67. data/lib/aws-sdk-s3/multipart_upload.rb +112 -12
  68. data/lib/aws-sdk-s3/multipart_upload_error.rb +3 -4
  69. data/lib/aws-sdk-s3/multipart_upload_part.rb +55 -39
  70. data/lib/aws-sdk-s3/object.rb +713 -227
  71. data/lib/aws-sdk-s3/object_acl.rb +15 -9
  72. data/lib/aws-sdk-s3/object_copier.rb +1 -1
  73. data/lib/aws-sdk-s3/object_multipart_copier.rb +12 -9
  74. data/lib/aws-sdk-s3/object_summary.rb +592 -173
  75. data/lib/aws-sdk-s3/object_version.rb +102 -17
  76. data/lib/aws-sdk-s3/plugins/access_grants.rb +178 -0
  77. data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
  78. data/lib/aws-sdk-s3/plugins/endpoints.rb +26 -213
  79. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +19 -21
  80. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +55 -18
  81. data/lib/aws-sdk-s3/plugins/md5s.rb +10 -71
  82. data/lib/aws-sdk-s3/plugins/s3_signer.rb +7 -2
  83. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +5 -7
  84. data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -1
  85. data/lib/aws-sdk-s3/presigner.rb +7 -5
  86. data/lib/aws-sdk-s3/resource.rb +53 -20
  87. data/lib/aws-sdk-s3/transfer_manager.rb +303 -0
  88. data/lib/aws-sdk-s3/types.rb +4738 -1542
  89. data/lib/aws-sdk-s3.rb +35 -31
  90. data/sig/bucket.rbs +231 -0
  91. data/sig/bucket_acl.rbs +78 -0
  92. data/sig/bucket_cors.rbs +69 -0
  93. data/sig/bucket_lifecycle.rbs +88 -0
  94. data/sig/bucket_lifecycle_configuration.rbs +115 -0
  95. data/sig/bucket_logging.rbs +76 -0
  96. data/sig/bucket_notification.rbs +114 -0
  97. data/sig/bucket_policy.rbs +59 -0
  98. data/sig/bucket_request_payment.rbs +54 -0
  99. data/sig/bucket_tagging.rbs +65 -0
  100. data/sig/bucket_versioning.rbs +77 -0
  101. data/sig/bucket_website.rbs +93 -0
  102. data/sig/client.rbs +2612 -0
  103. data/sig/customizations/bucket.rbs +19 -0
  104. data/sig/customizations/object.rbs +38 -0
  105. data/sig/customizations/object_summary.rbs +35 -0
  106. data/sig/errors.rbs +44 -0
  107. data/sig/multipart_upload.rbs +120 -0
  108. data/sig/multipart_upload_part.rbs +109 -0
  109. data/sig/object.rbs +464 -0
  110. data/sig/object_acl.rbs +86 -0
  111. data/sig/object_summary.rbs +347 -0
  112. data/sig/object_version.rbs +143 -0
  113. data/sig/resource.rbs +141 -0
  114. data/sig/types.rbs +2899 -0
  115. data/sig/waiters.rbs +95 -0
  116. metadata +58 -13
  117. data/lib/aws-sdk-s3/express_credentials_cache.rb +0 -30
  118. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +0 -31
@@ -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
- # >The base64-encoded 128-bit MD5 digest of the data. You must use
200
+ # >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,7 +210,7 @@ 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
213
+ # Indicates the algorithm used to create the checksum for the request
214
214
  # when you use the SDK. This header will not provide any additional
215
215
  # functionality if you don't use the SDK. When you send this header,
216
216
  # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
@@ -227,6 +227,17 @@ 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
242
  # The account ID of the expected bucket owner. If the account ID that
232
243
  # you provide does not match the actual owner of the bucket, the request
@@ -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
- # >The base64-encoded 128-bit MD5 digest of the data. You must use
273
+ # >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,7 +283,7 @@ 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
286
+ # Indicates the algorithm used to create the checksum for the request
276
287
  # when you use the SDK. This header will not provide any additional
277
288
  # functionality if you don't use the SDK. When you send this header,
278
289
  # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
@@ -289,6 +300,17 @@ 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
@@ -298,7 +320,7 @@ module Aws::S3
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
- # >The base64-encoded 128-bit MD5 digest of the data. You must use
339
+ # >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,7 +349,7 @@ 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
352
+ # Indicates the algorithm used to create the checksum for the request
331
353
  # when you use the SDK. This header will not provide any additional
332
354
  # functionality if you don't use the SDK. When you send this header,
333
355
  # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
@@ -344,6 +366,17 @@ 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
381
  # The account ID of the expected bucket owner. If the account ID that
349
382
  # you provide does not match the actual owner of the bucket, the request
@@ -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
@@ -213,7 +213,7 @@ module Aws::S3
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,7 +267,7 @@ 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
270
+ # Indicates the algorithm used to create the checksum for the request
271
271
  # when you use the SDK. This header will not provide any additional
272
272
  # functionality if you don't use the SDK. When you send this header,
273
273
  # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
@@ -290,7 +290,7 @@ module Aws::S3
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