aws-sdk-s3 1.150.0 → 1.160.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 (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