aws-sdk-s3 1.147.0 → 1.167.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 (70) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +123 -2
  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 +224 -81
  7. data/lib/aws-sdk-s3/bucket_acl.rb +3 -3
  8. data/lib/aws-sdk-s3/bucket_cors.rb +4 -4
  9. data/lib/aws-sdk-s3/bucket_lifecycle.rb +4 -4
  10. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +42 -5
  11. data/lib/aws-sdk-s3/bucket_logging.rb +3 -3
  12. data/lib/aws-sdk-s3/bucket_notification.rb +3 -3
  13. data/lib/aws-sdk-s3/bucket_policy.rb +8 -8
  14. data/lib/aws-sdk-s3/bucket_region_cache.rb +9 -5
  15. data/lib/aws-sdk-s3/bucket_request_payment.rb +3 -3
  16. data/lib/aws-sdk-s3/bucket_tagging.rb +4 -4
  17. data/lib/aws-sdk-s3/bucket_versioning.rb +5 -5
  18. data/lib/aws-sdk-s3/bucket_website.rb +4 -4
  19. data/lib/aws-sdk-s3/client.rb +1744 -695
  20. data/lib/aws-sdk-s3/client_api.rb +44 -4
  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 +11 -5
  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 +24 -35
  27. data/lib/aws-sdk-s3/encryption/client.rb +2 -2
  28. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +2 -2
  29. data/lib/aws-sdk-s3/encryptionV2/client.rb +2 -2
  30. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +2 -2
  31. data/lib/aws-sdk-s3/endpoint_parameters.rb +8 -0
  32. data/lib/aws-sdk-s3/endpoint_provider.rb +1 -0
  33. data/lib/aws-sdk-s3/endpoints.rb +199 -397
  34. data/lib/aws-sdk-s3/errors.rb +3 -0
  35. data/lib/aws-sdk-s3/express_credentials_provider.rb +27 -4
  36. data/lib/aws-sdk-s3/file_downloader.rb +1 -1
  37. data/lib/aws-sdk-s3/file_uploader.rb +1 -1
  38. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +1 -1
  39. data/lib/aws-sdk-s3/multipart_upload.rb +31 -8
  40. data/lib/aws-sdk-s3/multipart_upload_part.rb +11 -11
  41. data/lib/aws-sdk-s3/object.rb +411 -151
  42. data/lib/aws-sdk-s3/object_acl.rb +3 -3
  43. data/lib/aws-sdk-s3/object_copier.rb +1 -1
  44. data/lib/aws-sdk-s3/object_multipart_copier.rb +10 -8
  45. data/lib/aws-sdk-s3/object_summary.rb +373 -127
  46. data/lib/aws-sdk-s3/object_version.rb +53 -13
  47. data/lib/aws-sdk-s3/plugins/access_grants.rb +178 -0
  48. data/lib/aws-sdk-s3/plugins/endpoints.rb +23 -8
  49. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +8 -2
  50. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +53 -16
  51. data/lib/aws-sdk-s3/plugins/s3_signer.rb +7 -2
  52. data/lib/aws-sdk-s3/presigner.rb +1 -0
  53. data/lib/aws-sdk-s3/resource.rb +12 -10
  54. data/lib/aws-sdk-s3/types.rb +1082 -399
  55. data/lib/aws-sdk-s3.rb +35 -31
  56. data/sig/bucket.rbs +1 -0
  57. data/sig/bucket_lifecycle_configuration.rbs +7 -3
  58. data/sig/client.rbs +48 -5
  59. data/sig/customizations/bucket.rbs +19 -0
  60. data/sig/customizations/object.rbs +38 -0
  61. data/sig/customizations/object_summary.rbs +35 -0
  62. data/sig/multipart_upload.rbs +1 -0
  63. data/sig/object.rbs +7 -0
  64. data/sig/object_summary.rbs +1 -0
  65. data/sig/object_version.rbs +6 -0
  66. data/sig/resource.rbs +7 -1
  67. data/sig/types.rbs +32 -2
  68. data/sig/waiters.rbs +12 -0
  69. metadata +13 -7
  70. data/lib/aws-sdk-s3/express_credentials_cache.rb +0 -30
@@ -60,7 +60,7 @@ module Aws::S3
60
60
  #
61
61
  # @return [self]
62
62
  def load
63
- resp = Aws::Plugins::UserAgent.feature('resource') do
63
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
64
64
  @client.get_bucket_logging(bucket: @bucket_name)
65
65
  end
66
66
  @data = resp.data
@@ -177,7 +177,7 @@ module Aws::S3
177
177
  :retry
178
178
  end
179
179
  end
180
- Aws::Plugins::UserAgent.feature('resource') do
180
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
181
181
  Aws::Waiters::Waiter.new(options).wait({})
182
182
  end
183
183
  end
@@ -247,7 +247,7 @@ module Aws::S3
247
247
  # @return [EmptyStructure]
248
248
  def put(options = {})
249
249
  options = options.merge(bucket: @bucket_name)
250
- resp = Aws::Plugins::UserAgent.feature('resource') do
250
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
251
251
  @client.put_bucket_logging(options)
252
252
  end
253
253
  resp.data
@@ -75,7 +75,7 @@ module Aws::S3
75
75
  #
76
76
  # @return [self]
77
77
  def load
78
- resp = Aws::Plugins::UserAgent.feature('resource') do
78
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
79
79
  @client.get_bucket_notification_configuration(bucket: @bucket_name)
80
80
  end
81
81
  @data = resp.data
@@ -192,7 +192,7 @@ module Aws::S3
192
192
  :retry
193
193
  end
194
194
  end
195
- Aws::Plugins::UserAgent.feature('resource') do
195
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
196
196
  Aws::Waiters::Waiter.new(options).wait({})
197
197
  end
198
198
  end
@@ -275,7 +275,7 @@ module Aws::S3
275
275
  # @return [EmptyStructure]
276
276
  def put(options = {})
277
277
  options = options.merge(bucket: @bucket_name)
278
- resp = Aws::Plugins::UserAgent.feature('resource') do
278
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
279
279
  @client.put_bucket_notification_configuration(options)
280
280
  end
281
281
  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_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
@@ -197,7 +197,7 @@ module Aws::S3
197
197
  # @return [EmptyStructure]
198
198
  def delete(options = {})
199
199
  options = options.merge(bucket: @bucket_name)
200
- resp = Aws::Plugins::UserAgent.feature('resource') do
200
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
201
201
  @client.delete_bucket_policy(options)
202
202
  end
203
203
  resp.data
@@ -234,13 +234,13 @@ module Aws::S3
234
234
  # For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
235
235
  # the supported algorithm from the following list:
236
236
  #
237
- # * CRC32
237
+ # * `CRC32`
238
238
  #
239
- # * CRC32C
239
+ # * `CRC32C`
240
240
  #
241
- # * SHA1
241
+ # * `SHA1`
242
242
  #
243
- # * SHA256
243
+ # * `SHA256`
244
244
  #
245
245
  # For more information, see [Checking object integrity][1] in the
246
246
  # *Amazon S3 User Guide*.
@@ -284,7 +284,7 @@ module Aws::S3
284
284
  # @return [EmptyStructure]
285
285
  def put(options = {})
286
286
  options = options.merge(bucket: @bucket_name)
287
- resp = Aws::Plugins::UserAgent.feature('resource') do
287
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
288
288
  @client.put_bucket_policy(options)
289
289
  end
290
290
  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
@@ -225,7 +225,7 @@ module Aws::S3
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
@@ -191,7 +191,7 @@ module Aws::S3
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
@@ -249,7 +249,7 @@ module Aws::S3
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
@@ -239,7 +239,7 @@ module Aws::S3
239
239
  status: "Enabled"
240
240
  }
241
241
  )
242
- resp = Aws::Plugins::UserAgent.feature('resource') do
242
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
243
243
  @client.put_bucket_versioning(options)
244
244
  end
245
245
  resp.data
@@ -298,7 +298,7 @@ module Aws::S3
298
298
  # @return [EmptyStructure]
299
299
  def put(options = {})
300
300
  options = options.merge(bucket: @bucket_name)
301
- resp = Aws::Plugins::UserAgent.feature('resource') do
301
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
302
302
  @client.put_bucket_versioning(options)
303
303
  end
304
304
  resp.data
@@ -356,7 +356,7 @@ module Aws::S3
356
356
  status: "Suspended"
357
357
  }
358
358
  )
359
- resp = Aws::Plugins::UserAgent.feature('resource') do
359
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
360
360
  @client.put_bucket_versioning(options)
361
361
  end
362
362
  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
@@ -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