aws-sdk-s3 1.150.0 → 1.160.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +65 -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 +89 -26
  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 +4 -4
  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 +4 -4
  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 +632 -351
  18. data/lib/aws-sdk-s3/client_api.rb +27 -3
  19. data/lib/aws-sdk-s3/customizations/bucket.rb +1 -1
  20. data/lib/aws-sdk-s3/customizations/object.rb +5 -5
  21. data/lib/aws-sdk-s3/encryption/client.rb +2 -2
  22. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +2 -2
  23. data/lib/aws-sdk-s3/encryptionV2/client.rb +2 -2
  24. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +2 -2
  25. data/lib/aws-sdk-s3/endpoint_parameters.rb +8 -0
  26. data/lib/aws-sdk-s3/endpoint_provider.rb +1 -0
  27. data/lib/aws-sdk-s3/endpoints.rb +100 -1
  28. data/lib/aws-sdk-s3/file_downloader.rb +1 -1
  29. data/lib/aws-sdk-s3/file_uploader.rb +1 -1
  30. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +1 -1
  31. data/lib/aws-sdk-s3/multipart_upload.rb +24 -4
  32. data/lib/aws-sdk-s3/multipart_upload_part.rb +3 -3
  33. data/lib/aws-sdk-s3/object.rb +66 -16
  34. data/lib/aws-sdk-s3/object_acl.rb +3 -3
  35. data/lib/aws-sdk-s3/object_copier.rb +1 -1
  36. data/lib/aws-sdk-s3/object_summary.rb +38 -10
  37. data/lib/aws-sdk-s3/object_version.rb +40 -9
  38. data/lib/aws-sdk-s3/plugins/access_grants.rb +75 -5
  39. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +7 -1
  40. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +53 -16
  41. data/lib/aws-sdk-s3/resource.rb +12 -10
  42. data/lib/aws-sdk-s3/types.rb +340 -62
  43. data/lib/aws-sdk-s3.rb +1 -1
  44. data/sig/bucket.rbs +1 -0
  45. data/sig/client.rbs +27 -1
  46. data/sig/multipart_upload.rbs +1 -0
  47. data/sig/object.rbs +7 -0
  48. data/sig/object_summary.rbs +1 -0
  49. data/sig/object_version.rbs +6 -0
  50. data/sig/resource.rbs +4 -1
  51. data/sig/types.rbs +15 -0
  52. data/sig/waiters.rbs +12 -0
  53. metadata +6 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 41399520da04f62c1599a7b75b76f20c7870f86d864e85e5d9c2d03a54c249e6
4
- data.tar.gz: 3ca62b88c0db37447b083618ca31ba41c9311cf079b89a1713c100fed8236da2
3
+ metadata.gz: 626b7f94bf87dd8ee9f00eea6d41f99e94f36960c1b22a6de4e3c22033a23e73
4
+ data.tar.gz: 6a1dd3a39ca55926608b7ee234a764370063e66dfc308392b47f8b8cbe5ed693
5
5
  SHA512:
6
- metadata.gz: 0cb666a3f9dbddee3fa0026806badc816d666a8a76bd870439b7acce710c463aa9deef8b592665df6a7691c060ea5d80ca65c8c784342e6085f1da398a7491d8
7
- data.tar.gz: 75831cc1a6cafa8c7fc9f48fe1bb8c59a6ddaf8d7f469498840e1040e9e20416960c3f76c7e44002408736550d3af6888663e120f777920d2062e30b4d1cff2e
6
+ metadata.gz: 90976c3b85af292542c4a17a2102ae02b89796aa14f9282f8a0959c81071155a7790b9587ea5ab69d19db4a431103387764caa395d2f1e390213797d677cfdd2
7
+ data.tar.gz: 2205aed27fc2ffbdf8f279459102fd36c5d91fcbdb9b2e661877707d408c8cb8c0cc7a9766b41c10d7594f88434d0ab24dda6e0658968e460f2f722cdf9501c2
data/CHANGELOG.md CHANGED
@@ -1,6 +1,71 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.160.0 (2024-09-03)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.159.0 (2024-08-20)
10
+ ------------------
11
+
12
+ * Feature - Amazon Simple Storage Service / Features : Add support for conditional writes for PutObject and CompleteMultipartUpload APIs.
13
+
14
+ 1.158.0 (2024-08-15)
15
+ ------------------
16
+
17
+ * Feature - Amazon Simple Storage Service / Features : Adds support for pagination in the S3 ListBuckets API.
18
+
19
+ 1.157.0 (2024-08-01)
20
+ ------------------
21
+
22
+ * Feature - Support `head_bucket`, `get_object_attributes`, `delete_objects`, and `copy_object` for Access Grants.
23
+
24
+ 1.156.0 (2024-07-02)
25
+ ------------------
26
+
27
+ * Feature - Added response overrides to Head Object requests.
28
+
29
+ 1.155.0 (2024-06-28)
30
+ ------------------
31
+
32
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
33
+
34
+ 1.154.0 (2024-06-25)
35
+ ------------------
36
+
37
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
38
+
39
+ 1.153.0 (2024-06-24)
40
+ ------------------
41
+
42
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
43
+
44
+ 1.152.3 (2024-06-13)
45
+ ------------------
46
+
47
+ * Issue - Handle 200 errors for all S3 operations that do not have streaming responses.
48
+
49
+ 1.152.2 (2024-06-12)
50
+ ------------------
51
+
52
+ * Issue - Revert Handling of 200 errors for all S3 operations.
53
+
54
+ 1.152.1 (2024-06-10)
55
+ ------------------
56
+
57
+ * Issue - Handle 200 errors for all S3 operations that do not have streaming responses.
58
+
59
+ 1.152.0 (2024-06-05)
60
+ ------------------
61
+
62
+ * Feature - Added new params copySource and key to copyObject API for supporting S3 Access Grants plugin. These changes will not change any of the existing S3 API functionality.
63
+
64
+ 1.151.0 (2024-05-14)
65
+ ------------------
66
+
67
+ * Feature - Updated a few x-id in the http uri traits
68
+
4
69
  1.150.0 (2024-05-13)
5
70
  ------------------
6
71
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.150.0
1
+ 1.160.0
@@ -47,6 +47,8 @@ module Aws
47
47
  @caching = options.delete(:caching) != false
48
48
  @s3_control_clients = {}
49
49
  @bucket_region_cache = Aws::S3.bucket_region_cache
50
+ @head_bucket_mutex = Mutex.new
51
+ @head_bucket_call = false
50
52
  return unless @caching
51
53
 
52
54
  @credentials_cache = Aws::S3.access_grants_credentials_cache
@@ -195,9 +197,16 @@ module Aws
195
197
  end
196
198
 
197
199
  def new_bucket_region_for(bucket)
198
- @s3_client.head_bucket(bucket: bucket).bucket_region
199
- rescue Aws::S3::Errors::Http301Error => e
200
- e.data.region
200
+ @head_bucket_mutex.synchronize do
201
+ begin
202
+ @head_bucket_call = true
203
+ @s3_client.head_bucket(bucket: bucket).bucket_region
204
+ rescue Aws::S3::Errors::Http301Error => e
205
+ e.data.region
206
+ ensure
207
+ @head_bucket_call = false
208
+ end
209
+ end
201
210
  end
202
211
 
203
212
  # returns the account id for the configured credentials
@@ -95,7 +95,7 @@ module Aws::S3
95
95
  options, params = separate_params_and_options(options)
96
96
  waiter = Waiters::BucketExists.new(options)
97
97
  yield_waiter_and_warn(waiter, &block) if block_given?
98
- Aws::Plugins::UserAgent.feature('resource') do
98
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
99
99
  waiter.wait(params.merge(bucket: @name))
100
100
  end
101
101
  Bucket.new({
@@ -114,7 +114,7 @@ module Aws::S3
114
114
  options, params = separate_params_and_options(options)
115
115
  waiter = Waiters::BucketNotExists.new(options)
116
116
  yield_waiter_and_warn(waiter, &block) if block_given?
117
- Aws::Plugins::UserAgent.feature('resource') do
117
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
118
118
  waiter.wait(params.merge(bucket: @name))
119
119
  end
120
120
  Bucket.new({
@@ -217,7 +217,7 @@ module Aws::S3
217
217
  :retry
218
218
  end
219
219
  end
220
- Aws::Plugins::UserAgent.feature('resource') do
220
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
221
221
  Aws::Waiters::Waiter.new(options).wait({})
222
222
  end
223
223
  end
@@ -334,7 +334,7 @@ module Aws::S3
334
334
  # @return [Types::CreateBucketOutput]
335
335
  def create(options = {})
336
336
  options = options.merge(bucket: @name)
337
- resp = Aws::Plugins::UserAgent.feature('resource') do
337
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
338
338
  @client.create_bucket(options)
339
339
  end
340
340
  resp.data
@@ -359,7 +359,7 @@ module Aws::S3
359
359
  # @return [EmptyStructure]
360
360
  def delete(options = {})
361
361
  options = options.merge(bucket: @name)
362
- resp = Aws::Plugins::UserAgent.feature('resource') do
362
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
363
363
  @client.delete_bucket(options)
364
364
  end
365
365
  resp.data
@@ -473,7 +473,7 @@ module Aws::S3
473
473
  # @return [Types::DeleteObjectsOutput]
474
474
  def delete_objects(options = {})
475
475
  options = options.merge(bucket: @name)
476
- resp = Aws::Plugins::UserAgent.feature('resource') do
476
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
477
477
  @client.delete_objects(options)
478
478
  end
479
479
  resp.data
@@ -497,6 +497,7 @@ module Aws::S3
497
497
  # checksum_sha1: "ChecksumSHA1",
498
498
  # checksum_sha256: "ChecksumSHA256",
499
499
  # expires: Time.now,
500
+ # if_none_match: "IfNoneMatch",
500
501
  # grant_full_control: "GrantFullControl",
501
502
  # grant_read: "GrantRead",
502
503
  # grant_read_acp: "GrantReadACP",
@@ -712,6 +713,24 @@ module Aws::S3
712
713
  #
713
714
  #
714
715
  # [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
716
+ # @option options [String] :if_none_match
717
+ # Uploads the object only if the object key name does not already exist
718
+ # in the bucket specified. Otherwise, Amazon S3 returns a `412
719
+ # Precondition Failed` error.
720
+ #
721
+ # If a conflicting operation occurs during the upload S3 returns a `409
722
+ # ConditionalRequestConflict` response. On a 409 failure you should
723
+ # retry the upload.
724
+ #
725
+ # Expects the '*' (asterisk) character.
726
+ #
727
+ # For more information about conditional requests, see [RFC 7232][1], or
728
+ # [Conditional requests][2] in the *Amazon S3 User Guide*.
729
+ #
730
+ #
731
+ #
732
+ # [1]: https://tools.ietf.org/html/rfc7232
733
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
715
734
  # @option options [String] :grant_full_control
716
735
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
717
736
  # object.
@@ -939,7 +958,7 @@ module Aws::S3
939
958
  # @return [Object]
940
959
  def put_object(options = {})
941
960
  options = options.merge(bucket: @name)
942
- Aws::Plugins::UserAgent.feature('resource') do
961
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
943
962
  @client.put_object(options)
944
963
  end
945
964
  Object.new(
@@ -1018,12 +1037,26 @@ module Aws::S3
1018
1037
  #
1019
1038
  # </note>
1020
1039
  # @option options [String] :encoding_type
1021
- # Requests Amazon S3 to encode the object keys in the response and
1022
- # specifies the encoding method to use. An object key can contain any
1023
- # Unicode character; however, the XML 1.0 parser cannot parse some
1024
- # characters, such as characters with an ASCII value from 0 to 10. For
1025
- # characters that are not supported in XML 1.0, you can add this
1026
- # parameter to request that Amazon S3 encode the keys in the response.
1040
+ # Encoding type used by Amazon S3 to encode the [object keys][1] in the
1041
+ # response. Responses are encoded only in UTF-8. An object key can
1042
+ # contain any Unicode character. However, the XML 1.0 parser can't
1043
+ # parse certain characters, such as characters with an ASCII value from
1044
+ # 0 to 10. For characters that aren't supported in XML 1.0, you can add
1045
+ # this parameter to request that Amazon S3 encode the keys in the
1046
+ # response. For more information about characters to avoid in object key
1047
+ # names, see [Object key naming guidelines][2].
1048
+ #
1049
+ # <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
1050
+ # in an object's key name will be percent-encoded according to UTF-8
1051
+ # code values. For example, the object `test_file(3).png` will appear as
1052
+ # `test_file%283%29.png`.
1053
+ #
1054
+ # </note>
1055
+ #
1056
+ #
1057
+ #
1058
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
1059
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
1027
1060
  # @option options [String] :key_marker
1028
1061
  # Specifies the multipart upload after which listing should begin.
1029
1062
  #
@@ -1097,7 +1130,7 @@ module Aws::S3
1097
1130
  def multipart_uploads(options = {})
1098
1131
  batches = Enumerator.new do |y|
1099
1132
  options = options.merge(bucket: @name)
1100
- resp = Aws::Plugins::UserAgent.feature('resource') do
1133
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1101
1134
  @client.list_multipart_uploads(options)
1102
1135
  end
1103
1136
  resp.each_page do |page|
@@ -1156,12 +1189,26 @@ module Aws::S3
1156
1189
  # the `max-keys` limitation. These keys are not returned elsewhere in
1157
1190
  # the response.
1158
1191
  # @option options [String] :encoding_type
1159
- # Requests Amazon S3 to encode the object keys in the response and
1160
- # specifies the encoding method to use. An object key can contain any
1161
- # Unicode character; however, the XML 1.0 parser cannot parse some
1162
- # characters, such as characters with an ASCII value from 0 to 10. For
1163
- # characters that are not supported in XML 1.0, you can add this
1164
- # parameter to request that Amazon S3 encode the keys in the response.
1192
+ # Encoding type used by Amazon S3 to encode the [object keys][1] in the
1193
+ # response. Responses are encoded only in UTF-8. An object key can
1194
+ # contain any Unicode character. However, the XML 1.0 parser can't
1195
+ # parse certain characters, such as characters with an ASCII value from
1196
+ # 0 to 10. For characters that aren't supported in XML 1.0, you can add
1197
+ # this parameter to request that Amazon S3 encode the keys in the
1198
+ # response. For more information about characters to avoid in object key
1199
+ # names, see [Object key naming guidelines][2].
1200
+ #
1201
+ # <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
1202
+ # in an object's key name will be percent-encoded according to UTF-8
1203
+ # code values. For example, the object `test_file(3).png` will appear as
1204
+ # `test_file%283%29.png`.
1205
+ #
1206
+ # </note>
1207
+ #
1208
+ #
1209
+ #
1210
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
1211
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
1165
1212
  # @option options [String] :key_marker
1166
1213
  # Specifies the key to start with when listing objects in a bucket.
1167
1214
  # @option options [String] :prefix
@@ -1200,7 +1247,7 @@ module Aws::S3
1200
1247
  def object_versions(options = {})
1201
1248
  batches = Enumerator.new do |y|
1202
1249
  options = options.merge(bucket: @name)
1203
- resp = Aws::Plugins::UserAgent.feature('resource') do
1250
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1204
1251
  @client.list_object_versions(options)
1205
1252
  end
1206
1253
  resp.each_page do |page|
@@ -1252,10 +1299,26 @@ module Aws::S3
1252
1299
  #
1253
1300
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
1254
1301
  # @option options [String] :encoding_type
1255
- # Encoding type used by Amazon S3 to encode object keys in the response.
1256
- # If using `url`, non-ASCII characters used in an object's key name
1257
- # will be URL encoded. For example, the object test\_file(3).png will
1258
- # appear as test\_file%283%29.png.
1302
+ # Encoding type used by Amazon S3 to encode the [object keys][1] in the
1303
+ # response. Responses are encoded only in UTF-8. An object key can
1304
+ # contain any Unicode character. However, the XML 1.0 parser can't
1305
+ # parse certain characters, such as characters with an ASCII value from
1306
+ # 0 to 10. For characters that aren't supported in XML 1.0, you can add
1307
+ # this parameter to request that Amazon S3 encode the keys in the
1308
+ # response. For more information about characters to avoid in object key
1309
+ # names, see [Object key naming guidelines][2].
1310
+ #
1311
+ # <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
1312
+ # in an object's key name will be percent-encoded according to UTF-8
1313
+ # code values. For example, the object `test_file(3).png` will appear as
1314
+ # `test_file%283%29.png`.
1315
+ #
1316
+ # </note>
1317
+ #
1318
+ #
1319
+ #
1320
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
1321
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
1259
1322
  # @option options [String] :prefix
1260
1323
  # Limits the response to keys that begin with the specified prefix.
1261
1324
  #
@@ -1303,7 +1366,7 @@ module Aws::S3
1303
1366
  def objects(options = {})
1304
1367
  batches = Enumerator.new do |y|
1305
1368
  options = options.merge(bucket: @name)
1306
- resp = Aws::Plugins::UserAgent.feature('resource') do
1369
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1307
1370
  @client.list_objects_v2(options)
1308
1371
  end
1309
1372
  resp.each_page do |page|
@@ -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_acl(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
@@ -269,7 +269,7 @@ module Aws::S3
269
269
  # @return [EmptyStructure]
270
270
  def put(options = {})
271
271
  options = options.merge(bucket: @bucket_name)
272
- resp = Aws::Plugins::UserAgent.feature('resource') do
272
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
273
273
  @client.put_bucket_acl(options)
274
274
  end
275
275
  resp.data
@@ -55,7 +55,7 @@ module Aws::S3
55
55
  #
56
56
  # @return [self]
57
57
  def load
58
- resp = Aws::Plugins::UserAgent.feature('resource') do
58
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
59
59
  @client.get_bucket_cors(bucket: @bucket_name)
60
60
  end
61
61
  @data = resp.data
@@ -172,7 +172,7 @@ module Aws::S3
172
172
  :retry
173
173
  end
174
174
  end
175
- Aws::Plugins::UserAgent.feature('resource') do
175
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
176
176
  Aws::Waiters::Waiter.new(options).wait({})
177
177
  end
178
178
  end
@@ -192,7 +192,7 @@ module Aws::S3
192
192
  # @return [EmptyStructure]
193
193
  def delete(options = {})
194
194
  options = options.merge(bucket: @bucket_name)
195
- resp = Aws::Plugins::UserAgent.feature('resource') do
195
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
196
196
  @client.delete_bucket_cors(options)
197
197
  end
198
198
  resp.data
@@ -260,7 +260,7 @@ module Aws::S3
260
260
  # @return [EmptyStructure]
261
261
  def put(options = {})
262
262
  options = options.merge(bucket: @bucket_name)
263
- resp = Aws::Plugins::UserAgent.feature('resource') do
263
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
264
264
  @client.put_bucket_cors(options)
265
265
  end
266
266
  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_lifecycle(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_lifecycle(options)
196
196
  end
197
197
  resp.data
@@ -263,7 +263,7 @@ module Aws::S3
263
263
  # @return [EmptyStructure]
264
264
  def put(options = {})
265
265
  options = options.merge(bucket: @bucket_name)
266
- resp = Aws::Plugins::UserAgent.feature('resource') do
266
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
267
267
  @client.put_bucket_lifecycle(options)
268
268
  end
269
269
  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_lifecycle_configuration(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_lifecycle(options)
196
196
  end
197
197
  resp.data
@@ -283,7 +283,7 @@ module Aws::S3
283
283
  # @return [EmptyStructure]
284
284
  def put(options = {})
285
285
  options = options.merge(bucket: @bucket_name)
286
- resp = Aws::Plugins::UserAgent.feature('resource') do
286
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
287
287
  @client.put_bucket_lifecycle_configuration(options)
288
288
  end
289
289
  resp.data
@@ -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
@@ -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
@@ -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