aws-sdk-s3 1.220.0 → 1.232.2

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 (42) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +89 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +26 -2
  5. data/lib/aws-sdk-s3/bucket_notification.rb +3 -3
  6. data/lib/aws-sdk-s3/client.rb +869 -62
  7. data/lib/aws-sdk-s3/client_api.rb +301 -0
  8. data/lib/aws-sdk-s3/customizations/object.rb +55 -25
  9. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +14 -1
  10. data/lib/aws-sdk-s3/encryptionV3/kms_cipher_provider.rb +13 -1
  11. data/lib/aws-sdk-s3/endpoint_provider.rb +6 -3
  12. data/lib/aws-sdk-s3/endpoints.rb +68 -0
  13. data/lib/aws-sdk-s3/errors.rb +66 -0
  14. data/lib/aws-sdk-s3/file_downloader.rb +3 -1
  15. data/lib/aws-sdk-s3/multipart_file_uploader.rb +1 -1
  16. data/lib/aws-sdk-s3/object.rb +150 -8
  17. data/lib/aws-sdk-s3/object_copier.rb +11 -22
  18. data/lib/aws-sdk-s3/object_multipart_copier.rb +177 -84
  19. data/lib/aws-sdk-s3/object_summary.rb +117 -8
  20. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +1 -1
  21. data/lib/aws-sdk-s3/transfer_manager.rb +44 -31
  22. data/lib/aws-sdk-s3/types.rb +1162 -46
  23. data/lib/aws-sdk-s3.rb +1 -1
  24. data/sig/bucket.rbs +7 -4
  25. data/sig/bucket_acl.rbs +1 -1
  26. data/sig/bucket_cors.rbs +1 -1
  27. data/sig/bucket_lifecycle.rbs +1 -1
  28. data/sig/bucket_lifecycle_configuration.rbs +4 -4
  29. data/sig/bucket_logging.rbs +1 -1
  30. data/sig/bucket_notification.rbs +9 -9
  31. data/sig/bucket_tagging.rbs +1 -1
  32. data/sig/bucket_website.rbs +1 -1
  33. data/sig/client.rbs +246 -198
  34. data/sig/errors.rbs +12 -0
  35. data/sig/multipart_upload.rbs +2 -2
  36. data/sig/object.rbs +32 -13
  37. data/sig/object_acl.rbs +1 -1
  38. data/sig/object_summary.rbs +22 -12
  39. data/sig/params.rbs +78 -0
  40. data/sig/resource.rbs +1 -1
  41. data/sig/types.rbs +249 -39
  42. metadata +4 -3
@@ -161,10 +161,12 @@ module Aws
161
161
  def download_directory(destination, bucket:, **options)
162
162
  Aws::Plugins::UserAgent.metric('S3_TRANSFER', 'S3_TRANSFER_DOWNLOAD_DIRECTORY') do
163
163
  executor = @executor || DefaultExecutor.new(max_threads: options.delete(:thread_count))
164
- downloader = DirectoryDownloader.new(client: @client, executor: executor, logger: @logger)
165
- result = downloader.download(destination, bucket: bucket, **options)
166
- executor.shutdown unless @executor
167
- result
164
+ begin
165
+ downloader = DirectoryDownloader.new(client: @client, executor: executor, logger: @logger)
166
+ downloader.download(destination, bucket: bucket, **options)
167
+ ensure
168
+ executor.shutdown unless @executor
169
+ end
168
170
  end
169
171
  end
170
172
 
@@ -246,10 +248,13 @@ module Aws
246
248
  def download_file(destination, bucket:, key:, **options)
247
249
  download_opts = options.merge(bucket: bucket, key: key)
248
250
  executor = @executor || DefaultExecutor.new(max_threads: download_opts.delete(:thread_count))
249
- downloader = FileDownloader.new(client: @client, executor: executor)
250
- downloader.download(destination, download_opts)
251
- executor.shutdown unless @executor
252
- true
251
+ begin
252
+ downloader = FileDownloader.new(client: @client, executor: executor)
253
+ downloader.download(destination, download_opts)
254
+ true
255
+ ensure
256
+ executor.shutdown unless @executor
257
+ end
253
258
  end
254
259
 
255
260
  # Uploads all files under the given directory to the provided S3 bucket.
@@ -361,10 +366,12 @@ module Aws
361
366
  def upload_directory(source, bucket:, **options)
362
367
  Aws::Plugins::UserAgent.metric('S3_TRANSFER', 'S3_TRANSFER_UPLOAD_DIRECTORY') do
363
368
  executor = @executor || DefaultExecutor.new(max_threads: options.delete(:thread_count))
364
- uploader = DirectoryUploader.new(client: @client, executor: executor, logger: @logger)
365
- result = uploader.upload(source, bucket, **options.merge(http_chunk_size: resolve_http_chunk_size(options)))
366
- executor.shutdown unless @executor
367
- result
369
+ begin
370
+ uploader = DirectoryUploader.new(client: @client, executor: executor, logger: @logger)
371
+ uploader.upload(source, bucket, **options.merge(http_chunk_size: resolve_http_chunk_size(options)))
372
+ ensure
373
+ executor.shutdown unless @executor
374
+ end
368
375
  end
369
376
  end
370
377
 
@@ -445,16 +452,19 @@ module Aws
445
452
  http_chunk_size = resolve_http_chunk_size(upload_opts)
446
453
 
447
454
  executor = @executor || DefaultExecutor.new(max_threads: upload_opts.delete(:thread_count))
448
- uploader = FileUploader.new(
449
- multipart_threshold: upload_opts.delete(:multipart_threshold),
450
- http_chunk_size: http_chunk_size,
451
- client: @client,
452
- executor: executor
453
- )
454
- response = uploader.upload(source, upload_opts)
455
- yield response if block_given?
456
- executor.shutdown unless @executor
457
- true
455
+ begin
456
+ uploader = FileUploader.new(
457
+ multipart_threshold: upload_opts.delete(:multipart_threshold),
458
+ http_chunk_size: http_chunk_size,
459
+ client: @client,
460
+ executor: executor
461
+ )
462
+ response = uploader.upload(source, upload_opts)
463
+ yield response if block_given?
464
+ true
465
+ ensure
466
+ executor.shutdown unless @executor
467
+ end
458
468
  end
459
469
 
460
470
  # Uploads a stream in a streaming fashion to S3.
@@ -512,15 +522,18 @@ module Aws
512
522
  def upload_stream(bucket:, key:, **options, &block)
513
523
  upload_opts = options.merge(bucket: bucket, key: key)
514
524
  executor = @executor || DefaultExecutor.new(max_threads: upload_opts.delete(:thread_count))
515
- uploader = MultipartStreamUploader.new(
516
- client: @client,
517
- executor: executor,
518
- tempfile: upload_opts.delete(:tempfile),
519
- part_size: upload_opts.delete(:part_size)
520
- )
521
- uploader.upload(upload_opts, &block)
522
- executor.shutdown unless @executor
523
- true
525
+ begin
526
+ uploader = MultipartStreamUploader.new(
527
+ client: @client,
528
+ executor: executor,
529
+ tempfile: upload_opts.delete(:tempfile),
530
+ part_size: upload_opts.delete(:part_size)
531
+ )
532
+ uploader.upload(upload_opts, &block)
533
+ true
534
+ ensure
535
+ executor.shutdown unless @executor
536
+ end
524
537
  end
525
538
 
526
539
  private