aws-sdk-s3 1.151.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 (108) 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_provider.rb +12 -3
  5. data/lib/aws-sdk-s3/bucket.rb +358 -109
  6. data/lib/aws-sdk-s3/bucket_acl.rb +10 -9
  7. data/lib/aws-sdk-s3/bucket_cors.rb +10 -9
  8. data/lib/aws-sdk-s3/bucket_lifecycle.rb +11 -6
  9. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +64 -7
  10. data/lib/aws-sdk-s3/bucket_logging.rb +5 -5
  11. data/lib/aws-sdk-s3/bucket_notification.rb +3 -3
  12. data/lib/aws-sdk-s3/bucket_policy.rb +14 -13
  13. data/lib/aws-sdk-s3/bucket_request_payment.rb +6 -6
  14. data/lib/aws-sdk-s3/bucket_tagging.rb +7 -7
  15. data/lib/aws-sdk-s3/bucket_versioning.rb +47 -14
  16. data/lib/aws-sdk-s3/bucket_website.rb +7 -7
  17. data/lib/aws-sdk-s3/client.rb +5530 -2075
  18. data/lib/aws-sdk-s3/client_api.rb +660 -162
  19. data/lib/aws-sdk-s3/customizations/bucket.rb +1 -1
  20. data/lib/aws-sdk-s3/customizations/object.rb +87 -91
  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 +28 -39
  24. data/lib/aws-sdk-s3/default_executor.rb +103 -0
  25. data/lib/aws-sdk-s3/encryption/client.rb +4 -4
  26. data/lib/aws-sdk-s3/encryption/default_cipher_provider.rb +2 -0
  27. data/lib/aws-sdk-s3/encryption/encrypt_handler.rb +2 -0
  28. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +4 -2
  29. data/lib/aws-sdk-s3/encryptionV2/client.rb +100 -25
  30. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +7 -162
  31. data/lib/aws-sdk-s3/encryptionV2/decryption.rb +205 -0
  32. data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +17 -0
  33. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +2 -0
  34. data/lib/aws-sdk-s3/encryptionV2/io_encrypter.rb +2 -0
  35. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -2
  36. data/lib/aws-sdk-s3/encryptionV2/utils.rb +5 -0
  37. data/lib/aws-sdk-s3/encryptionV3/client.rb +885 -0
  38. data/lib/aws-sdk-s3/encryptionV3/decrypt_handler.rb +98 -0
  39. data/lib/aws-sdk-s3/encryptionV3/decryption.rb +244 -0
  40. data/lib/aws-sdk-s3/encryptionV3/default_cipher_provider.rb +159 -0
  41. data/lib/aws-sdk-s3/encryptionV3/default_key_provider.rb +35 -0
  42. data/lib/aws-sdk-s3/encryptionV3/encrypt_handler.rb +98 -0
  43. data/lib/aws-sdk-s3/encryptionV3/errors.rb +47 -0
  44. data/lib/aws-sdk-s3/encryptionV3/io_auth_decrypter.rb +60 -0
  45. data/lib/aws-sdk-s3/encryptionV3/io_decrypter.rb +35 -0
  46. data/lib/aws-sdk-s3/encryptionV3/io_encrypter.rb +84 -0
  47. data/lib/aws-sdk-s3/encryptionV3/key_provider.rb +28 -0
  48. data/lib/aws-sdk-s3/encryptionV3/kms_cipher_provider.rb +159 -0
  49. data/lib/aws-sdk-s3/encryptionV3/materials.rb +58 -0
  50. data/lib/aws-sdk-s3/encryptionV3/utils.rb +321 -0
  51. data/lib/aws-sdk-s3/encryption_v2.rb +1 -0
  52. data/lib/aws-sdk-s3/encryption_v3.rb +24 -0
  53. data/lib/aws-sdk-s3/endpoint_parameters.rb +37 -34
  54. data/lib/aws-sdk-s3/endpoint_provider.rb +572 -277
  55. data/lib/aws-sdk-s3/endpoints.rb +566 -1612
  56. data/lib/aws-sdk-s3/errors.rb +58 -0
  57. data/lib/aws-sdk-s3/file_downloader.rb +192 -146
  58. data/lib/aws-sdk-s3/file_uploader.rb +10 -14
  59. data/lib/aws-sdk-s3/legacy_signer.rb +2 -1
  60. data/lib/aws-sdk-s3/multipart_download_error.rb +8 -0
  61. data/lib/aws-sdk-s3/multipart_file_uploader.rb +105 -102
  62. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +97 -108
  63. data/lib/aws-sdk-s3/multipart_upload.rb +112 -12
  64. data/lib/aws-sdk-s3/multipart_upload_error.rb +3 -4
  65. data/lib/aws-sdk-s3/multipart_upload_part.rb +55 -39
  66. data/lib/aws-sdk-s3/object.rb +713 -227
  67. data/lib/aws-sdk-s3/object_acl.rb +15 -9
  68. data/lib/aws-sdk-s3/object_copier.rb +1 -1
  69. data/lib/aws-sdk-s3/object_multipart_copier.rb +2 -1
  70. data/lib/aws-sdk-s3/object_summary.rb +592 -173
  71. data/lib/aws-sdk-s3/object_version.rb +102 -17
  72. data/lib/aws-sdk-s3/plugins/access_grants.rb +75 -5
  73. data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
  74. data/lib/aws-sdk-s3/plugins/endpoints.rb +25 -213
  75. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +18 -21
  76. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +55 -18
  77. data/lib/aws-sdk-s3/plugins/md5s.rb +10 -71
  78. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +5 -7
  79. data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -1
  80. data/lib/aws-sdk-s3/presigner.rb +5 -5
  81. data/lib/aws-sdk-s3/resource.rb +53 -20
  82. data/lib/aws-sdk-s3/transfer_manager.rb +303 -0
  83. data/lib/aws-sdk-s3/types.rb +4705 -1528
  84. data/lib/aws-sdk-s3.rb +35 -31
  85. data/sig/bucket.rbs +28 -9
  86. data/sig/bucket_acl.rbs +1 -1
  87. data/sig/bucket_cors.rbs +1 -1
  88. data/sig/bucket_lifecycle.rbs +1 -1
  89. data/sig/bucket_lifecycle_configuration.rbs +8 -4
  90. data/sig/bucket_logging.rbs +1 -1
  91. data/sig/bucket_policy.rbs +1 -1
  92. data/sig/bucket_request_payment.rbs +1 -1
  93. data/sig/bucket_tagging.rbs +1 -1
  94. data/sig/bucket_versioning.rbs +3 -3
  95. data/sig/bucket_website.rbs +1 -1
  96. data/sig/client.rbs +322 -72
  97. data/sig/errors.rbs +10 -0
  98. data/sig/multipart_upload.rbs +13 -3
  99. data/sig/multipart_upload_part.rbs +5 -1
  100. data/sig/object.rbs +44 -16
  101. data/sig/object_acl.rbs +1 -1
  102. data/sig/object_summary.rbs +29 -16
  103. data/sig/object_version.rbs +15 -3
  104. data/sig/resource.rbs +20 -5
  105. data/sig/types.rbs +403 -66
  106. data/sig/waiters.rbs +12 -0
  107. metadata +29 -12
  108. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +0 -31
@@ -42,7 +42,7 @@ module Aws::S3
42
42
  @object_key
43
43
  end
44
44
 
45
- # Container for the bucket owner's display name and ID.
45
+ # Container for the bucket owner's ID.
46
46
  # @return [Types::Owner]
47
47
  def owner
48
48
  data[:owner]
@@ -55,11 +55,17 @@ module Aws::S3
55
55
  end
56
56
 
57
57
  # If present, indicates that the requester was successfully charged for
58
- # the request.
58
+ # the request. For more information, see [Using Requester Pays buckets
59
+ # for storage transfers and usage][1] in the *Amazon Simple Storage
60
+ # Service user guide*.
59
61
  #
60
62
  # <note markdown="1"> This functionality is not supported for directory buckets.
61
63
  #
62
64
  # </note>
65
+ #
66
+ #
67
+ #
68
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
63
69
  # @return [String]
64
70
  def request_charged
65
71
  data[:request_charged]
@@ -79,7 +85,7 @@ module Aws::S3
79
85
  #
80
86
  # @return [self]
81
87
  def load
82
- resp = Aws::Plugins::UserAgent.feature('resource') do
88
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
83
89
  @client.get_object_acl(
84
90
  bucket: @bucket_name,
85
91
  key: @object_key
@@ -199,7 +205,7 @@ module Aws::S3
199
205
  :retry
200
206
  end
201
207
  end
202
- Aws::Plugins::UserAgent.feature('resource') do
208
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
203
209
  Aws::Waiters::Waiter.new(options).wait({})
204
210
  end
205
211
  end
@@ -229,7 +235,7 @@ module Aws::S3
229
235
  # },
230
236
  # },
231
237
  # content_md5: "ContentMD5",
232
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
238
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
233
239
  # grant_full_control: "GrantFullControl",
234
240
  # grant_read: "GrantRead",
235
241
  # grant_read_acp: "GrantReadACP",
@@ -251,9 +257,9 @@ module Aws::S3
251
257
  # Contains the elements that set the ACL permissions for an object per
252
258
  # grantee.
253
259
  # @option options [String] :content_md5
254
- # The base64-encoded 128-bit MD5 digest of the data. This header must be
255
- # used as a message integrity check to verify that the request body was
256
- # not corrupted in transit. For more information, go to [RFC
260
+ # The Base64 encoded 128-bit `MD5` digest of the data. This header must
261
+ # be used as a message integrity check to verify that the request body
262
+ # was not corrupted in transit. For more information, go to [RFC
257
263
  # 1864.&gt;][1]
258
264
  #
259
265
  # For requests made using the Amazon Web Services Command Line Interface
@@ -332,7 +338,7 @@ module Aws::S3
332
338
  bucket: @bucket_name,
333
339
  key: @object_key
334
340
  )
335
- resp = Aws::Plugins::UserAgent.feature('resource') do
341
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
336
342
  @client.put_object_acl(options)
337
343
  end
338
344
  resp.data
@@ -28,7 +28,7 @@ module Aws
28
28
  options[:bucket] = target_bucket
29
29
  options[:key] = target_key
30
30
  options[:copy_source] = copy_source(source)
31
- Aws::Plugins::UserAgent.feature('s3-transfer') do
31
+ Aws::Plugins::UserAgent.metric('S3_TRANSFER') do
32
32
  if options.delete(:multipart_copy)
33
33
  apply_source_client(source, options)
34
34
  ObjectMultipartCopier.new(@options).copy(options)
@@ -1,7 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'thread'
4
- require 'cgi'
4
+ require "cgi/escape"
5
+ require "cgi/util" if RUBY_VERSION < "3.5"
5
6
 
6
7
  module Aws
7
8
  module S3