aws-sdk-s3 1.150.0 → 1.169.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 (59) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +110 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +12 -3
  5. data/lib/aws-sdk-s3/bucket.rb +252 -88
  6. data/lib/aws-sdk-s3/bucket_acl.rb +3 -3
  7. data/lib/aws-sdk-s3/bucket_cors.rb +4 -4
  8. data/lib/aws-sdk-s3/bucket_lifecycle.rb +4 -4
  9. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +42 -5
  10. data/lib/aws-sdk-s3/bucket_logging.rb +3 -3
  11. data/lib/aws-sdk-s3/bucket_notification.rb +3 -3
  12. data/lib/aws-sdk-s3/bucket_policy.rb +8 -8
  13. data/lib/aws-sdk-s3/bucket_request_payment.rb +3 -3
  14. data/lib/aws-sdk-s3/bucket_tagging.rb +4 -4
  15. data/lib/aws-sdk-s3/bucket_versioning.rb +5 -5
  16. data/lib/aws-sdk-s3/bucket_website.rb +4 -4
  17. data/lib/aws-sdk-s3/client.rb +1685 -668
  18. data/lib/aws-sdk-s3/client_api.rb +49 -4
  19. data/lib/aws-sdk-s3/customizations/bucket.rb +1 -1
  20. data/lib/aws-sdk-s3/customizations/object.rb +11 -5
  21. data/lib/aws-sdk-s3/customizations/object_summary.rb +5 -0
  22. data/lib/aws-sdk-s3/customizations/object_version.rb +13 -0
  23. data/lib/aws-sdk-s3/customizations.rb +24 -38
  24. data/lib/aws-sdk-s3/encryption/client.rb +2 -2
  25. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +2 -2
  26. data/lib/aws-sdk-s3/encryptionV2/client.rb +2 -2
  27. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +2 -2
  28. data/lib/aws-sdk-s3/endpoint_parameters.rb +21 -18
  29. data/lib/aws-sdk-s3/endpoint_provider.rb +1 -0
  30. data/lib/aws-sdk-s3/endpoints.rb +416 -1614
  31. data/lib/aws-sdk-s3/errors.rb +3 -0
  32. data/lib/aws-sdk-s3/file_downloader.rb +1 -1
  33. data/lib/aws-sdk-s3/file_uploader.rb +1 -1
  34. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +1 -1
  35. data/lib/aws-sdk-s3/multipart_upload.rb +31 -8
  36. data/lib/aws-sdk-s3/multipart_upload_part.rb +11 -11
  37. data/lib/aws-sdk-s3/object.rb +441 -158
  38. data/lib/aws-sdk-s3/object_acl.rb +3 -3
  39. data/lib/aws-sdk-s3/object_copier.rb +1 -1
  40. data/lib/aws-sdk-s3/object_summary.rb +403 -134
  41. data/lib/aws-sdk-s3/object_version.rb +53 -13
  42. data/lib/aws-sdk-s3/plugins/access_grants.rb +75 -5
  43. data/lib/aws-sdk-s3/plugins/endpoints.rb +24 -212
  44. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +7 -1
  45. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +53 -16
  46. data/lib/aws-sdk-s3/resource.rb +37 -11
  47. data/lib/aws-sdk-s3/types.rb +1106 -401
  48. data/lib/aws-sdk-s3.rb +35 -31
  49. data/sig/bucket.rbs +4 -0
  50. data/sig/bucket_lifecycle_configuration.rbs +7 -3
  51. data/sig/client.rbs +49 -5
  52. data/sig/multipart_upload.rbs +1 -0
  53. data/sig/object.rbs +7 -0
  54. data/sig/object_summary.rbs +1 -0
  55. data/sig/object_version.rbs +6 -0
  56. data/sig/resource.rbs +7 -1
  57. data/sig/types.rbs +36 -2
  58. data/sig/waiters.rbs +12 -0
  59. metadata +7 -6
@@ -134,3 +134,6 @@ module Aws::S3
134
134
 
135
135
  end
136
136
  end
137
+
138
+ # Load customizations if they exist
139
+ require 'aws-sdk-s3/customizations/errors'
@@ -44,7 +44,7 @@ module Aws
44
44
 
45
45
  validate!
46
46
 
47
- Aws::Plugins::UserAgent.feature('s3-transfer') do
47
+ Aws::Plugins::UserAgent.metric('S3_TRANSFER') do
48
48
  case @mode
49
49
  when 'auto' then multipart_download
50
50
  when 'single_request' then single_request
@@ -37,7 +37,7 @@ module Aws
37
37
  # objects smaller than the multipart threshold.
38
38
  # @return [void]
39
39
  def upload(source, options = {})
40
- Aws::Plugins::UserAgent.feature('s3-transfer') do
40
+ Aws::Plugins::UserAgent.metric('S3_TRANSFER') do
41
41
  if File.size(source) >= multipart_threshold
42
42
  MultipartFileUploader.new(@options).upload(source, options)
43
43
  else
@@ -46,7 +46,7 @@ module Aws
46
46
  # @option options [Integer] :thread_count (THREAD_COUNT)
47
47
  # @return [Seahorse::Client::Response] - the CompleteMultipartUploadResponse
48
48
  def upload(options = {}, &block)
49
- Aws::Plugins::UserAgent.feature('s3-transfer') do
49
+ Aws::Plugins::UserAgent.metric('S3_TRANSFER') do
50
50
  upload_id = initiate_upload(options)
51
51
  parts = upload_parts(upload_id, options, &block)
52
52
  complete_upload(upload_id, parts, options)
@@ -227,7 +227,7 @@ module Aws::S3
227
227
  :retry
228
228
  end
229
229
  end
230
- Aws::Plugins::UserAgent.feature('resource') do
230
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
231
231
  Aws::Waiters::Waiter.new(options).wait({})
232
232
  end
233
233
  end
@@ -268,7 +268,7 @@ module Aws::S3
268
268
  key: @object_key,
269
269
  upload_id: @id
270
270
  )
271
- resp = Aws::Plugins::UserAgent.feature('resource') do
271
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
272
272
  @client.abort_multipart_upload(options)
273
273
  end
274
274
  resp.data
@@ -295,6 +295,7 @@ module Aws::S3
295
295
  # checksum_sha256: "ChecksumSHA256",
296
296
  # request_payer: "requester", # accepts requester
297
297
  # expected_bucket_owner: "AccountId",
298
+ # if_none_match: "IfNoneMatch",
298
299
  # sse_customer_algorithm: "SSECustomerAlgorithm",
299
300
  # sse_customer_key: "SSECustomerKey",
300
301
  # sse_customer_key_md5: "SSECustomerKeyMD5",
@@ -305,9 +306,9 @@ module Aws::S3
305
306
  # @option options [String] :checksum_crc32
306
307
  # This header can be used as a data integrity check to verify that the
307
308
  # data received is the same data that was originally sent. This header
308
- # specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
309
- # more information, see [Checking object integrity][1] in the *Amazon S3
310
- # User Guide*.
309
+ # specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
310
+ # For more information, see [Checking object integrity][1] in the
311
+ # *Amazon S3 User Guide*.
311
312
  #
312
313
  #
313
314
  #
@@ -315,7 +316,7 @@ module Aws::S3
315
316
  # @option options [String] :checksum_crc32c
316
317
  # This header can be used as a data integrity check to verify that the
317
318
  # data received is the same data that was originally sent. This header
318
- # specifies the base64-encoded, 32-bit CRC32C checksum of the object.
319
+ # specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
319
320
  # For more information, see [Checking object integrity][1] in the
320
321
  # *Amazon S3 User Guide*.
321
322
  #
@@ -362,6 +363,25 @@ module Aws::S3
362
363
  # The account ID of the expected bucket owner. If the account ID that
363
364
  # you provide does not match the actual owner of the bucket, the request
364
365
  # fails with the HTTP status code `403 Forbidden` (access denied).
366
+ # @option options [String] :if_none_match
367
+ # Uploads the object only if the object key name does not already exist
368
+ # in the bucket specified. Otherwise, Amazon S3 returns a `412
369
+ # Precondition Failed` error.
370
+ #
371
+ # If a conflicting operation occurs during the upload S3 returns a `409
372
+ # ConditionalRequestConflict` response. On a 409 failure you should
373
+ # re-initiate the multipart upload with `CreateMultipartUpload` and
374
+ # re-upload each part.
375
+ #
376
+ # Expects the '*' (asterisk) character.
377
+ #
378
+ # For more information about conditional requests, see [RFC 7232][1], or
379
+ # [Conditional requests][2] in the *Amazon S3 User Guide*.
380
+ #
381
+ #
382
+ #
383
+ # [1]: https://tools.ietf.org/html/rfc7232
384
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
365
385
  # @option options [String] :sse_customer_algorithm
366
386
  # The server-side encryption (SSE) algorithm used to encrypt the object.
367
387
  # This parameter is required only when the object was created using a
@@ -409,7 +429,7 @@ module Aws::S3
409
429
  key: @object_key,
410
430
  upload_id: @id
411
431
  )
412
- Aws::Plugins::UserAgent.feature('resource') do
432
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
413
433
  @client.complete_multipart_upload(options)
414
434
  end
415
435
  Object.new(
@@ -519,7 +539,7 @@ module Aws::S3
519
539
  key: @object_key,
520
540
  upload_id: @id
521
541
  )
522
- resp = Aws::Plugins::UserAgent.feature('resource') do
542
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
523
543
  @client.list_parts(options)
524
544
  end
525
545
  resp.each_page do |page|
@@ -589,3 +609,6 @@ module Aws::S3
589
609
  class Collection < Aws::Resources::Collection; end
590
610
  end
591
611
  end
612
+
613
+ # Load customizations if they exist
614
+ require 'aws-sdk-s3/customizations/multipart_upload'
@@ -78,9 +78,9 @@ module Aws::S3
78
78
 
79
79
  # This header can be used as a data integrity check to verify that the
80
80
  # data received is the same data that was originally sent. This header
81
- # specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
82
- # more information, see [Checking object integrity][1] in the *Amazon S3
83
- # User Guide*.
81
+ # specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
82
+ # For more information, see [Checking object integrity][1] in the
83
+ # *Amazon S3 User Guide*.
84
84
  #
85
85
  #
86
86
  #
@@ -90,7 +90,7 @@ module Aws::S3
90
90
  data[:checksum_crc32]
91
91
  end
92
92
 
93
- # The base64-encoded, 32-bit CRC32C checksum of the object. This will
93
+ # The base64-encoded, 32-bit CRC-32C checksum of the object. This will
94
94
  # only be present if it was uploaded with the object. When you use an
95
95
  # API operation on an object that was uploaded using multipart uploads,
96
96
  # this value may not be a direct checksum value of the full object.
@@ -262,7 +262,7 @@ module Aws::S3
262
262
  :retry
263
263
  end
264
264
  end
265
- Aws::Plugins::UserAgent.feature('resource') do
265
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
266
266
  Aws::Waiters::Waiter.new(options).wait({})
267
267
  end
268
268
  end
@@ -500,7 +500,7 @@ module Aws::S3
500
500
  upload_id: @multipart_upload_id,
501
501
  part_number: @part_number
502
502
  )
503
- resp = Aws::Plugins::UserAgent.feature('resource') do
503
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
504
504
  @client.upload_part_copy(options)
505
505
  end
506
506
  resp.data
@@ -558,9 +558,9 @@ module Aws::S3
558
558
  # @option options [String] :checksum_crc32
559
559
  # This header can be used as a data integrity check to verify that the
560
560
  # data received is the same data that was originally sent. This header
561
- # specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
562
- # more information, see [Checking object integrity][1] in the *Amazon S3
563
- # User Guide*.
561
+ # specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
562
+ # For more information, see [Checking object integrity][1] in the
563
+ # *Amazon S3 User Guide*.
564
564
  #
565
565
  #
566
566
  #
@@ -568,7 +568,7 @@ module Aws::S3
568
568
  # @option options [String] :checksum_crc32c
569
569
  # This header can be used as a data integrity check to verify that the
570
570
  # data received is the same data that was originally sent. This header
571
- # specifies the base64-encoded, 32-bit CRC32C checksum of the object.
571
+ # specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
572
572
  # For more information, see [Checking object integrity][1] in the
573
573
  # *Amazon S3 User Guide*.
574
574
  #
@@ -650,7 +650,7 @@ module Aws::S3
650
650
  upload_id: @multipart_upload_id,
651
651
  part_number: @part_number
652
652
  )
653
- resp = Aws::Plugins::UserAgent.feature('resource') do
653
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
654
654
  @client.upload_part(options)
655
655
  end
656
656
  resp.data