aws-sdk-s3 1.128.0 → 1.199.1

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 (95) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +450 -1
  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 +720 -128
  7. data/lib/aws-sdk-s3/bucket_acl.rb +18 -17
  8. data/lib/aws-sdk-s3/bucket_cors.rb +22 -21
  9. data/lib/aws-sdk-s3/bucket_lifecycle.rb +23 -18
  10. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +76 -19
  11. data/lib/aws-sdk-s3/bucket_logging.rb +21 -14
  12. data/lib/aws-sdk-s3/bucket_notification.rb +6 -6
  13. data/lib/aws-sdk-s3/bucket_policy.rb +65 -20
  14. data/lib/aws-sdk-s3/bucket_region_cache.rb +9 -5
  15. data/lib/aws-sdk-s3/bucket_request_payment.rb +15 -15
  16. data/lib/aws-sdk-s3/bucket_tagging.rb +19 -19
  17. data/lib/aws-sdk-s3/bucket_versioning.rb +41 -41
  18. data/lib/aws-sdk-s3/bucket_website.rb +19 -19
  19. data/lib/aws-sdk-s3/client.rb +9352 -3264
  20. data/lib/aws-sdk-s3/client_api.rb +697 -164
  21. data/lib/aws-sdk-s3/customizations/bucket.rb +1 -1
  22. data/lib/aws-sdk-s3/customizations/errors.rb +16 -3
  23. data/lib/aws-sdk-s3/customizations/object.rb +112 -56
  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 +26 -31
  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 +54 -15
  32. data/lib/aws-sdk-s3/endpoint_provider.rb +439 -456
  33. data/lib/aws-sdk-s3/endpoints.rb +629 -1261
  34. data/lib/aws-sdk-s3/errors.rb +58 -0
  35. data/lib/aws-sdk-s3/express_credentials.rb +55 -0
  36. data/lib/aws-sdk-s3/express_credentials_provider.rb +59 -0
  37. data/lib/aws-sdk-s3/file_downloader.rb +156 -69
  38. data/lib/aws-sdk-s3/file_uploader.rb +4 -6
  39. data/lib/aws-sdk-s3/legacy_signer.rb +2 -1
  40. data/lib/aws-sdk-s3/multipart_download_error.rb +8 -0
  41. data/lib/aws-sdk-s3/multipart_file_uploader.rb +56 -69
  42. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +84 -91
  43. data/lib/aws-sdk-s3/multipart_upload.rb +179 -26
  44. data/lib/aws-sdk-s3/multipart_upload_error.rb +3 -4
  45. data/lib/aws-sdk-s3/multipart_upload_part.rb +201 -60
  46. data/lib/aws-sdk-s3/object.rb +2007 -281
  47. data/lib/aws-sdk-s3/object_acl.rb +43 -23
  48. data/lib/aws-sdk-s3/object_copier.rb +1 -1
  49. data/lib/aws-sdk-s3/object_multipart_copier.rb +44 -25
  50. data/lib/aws-sdk-s3/object_summary.rb +1735 -232
  51. data/lib/aws-sdk-s3/object_version.rb +394 -52
  52. data/lib/aws-sdk-s3/plugins/access_grants.rb +178 -0
  53. data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
  54. data/lib/aws-sdk-s3/plugins/endpoints.rb +32 -208
  55. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +88 -0
  56. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +55 -18
  57. data/lib/aws-sdk-s3/plugins/location_constraint.rb +3 -1
  58. data/lib/aws-sdk-s3/plugins/md5s.rb +10 -70
  59. data/lib/aws-sdk-s3/plugins/s3_signer.rb +7 -2
  60. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +5 -7
  61. data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -1
  62. data/lib/aws-sdk-s3/presigned_post.rb +52 -43
  63. data/lib/aws-sdk-s3/presigner.rb +9 -7
  64. data/lib/aws-sdk-s3/resource.rb +127 -22
  65. data/lib/aws-sdk-s3/transfer_manager.rb +252 -0
  66. data/lib/aws-sdk-s3/types.rb +8068 -1887
  67. data/lib/aws-sdk-s3.rb +35 -31
  68. data/sig/bucket.rbs +231 -0
  69. data/sig/bucket_acl.rbs +78 -0
  70. data/sig/bucket_cors.rbs +69 -0
  71. data/sig/bucket_lifecycle.rbs +88 -0
  72. data/sig/bucket_lifecycle_configuration.rbs +115 -0
  73. data/sig/bucket_logging.rbs +76 -0
  74. data/sig/bucket_notification.rbs +114 -0
  75. data/sig/bucket_policy.rbs +59 -0
  76. data/sig/bucket_request_payment.rbs +54 -0
  77. data/sig/bucket_tagging.rbs +65 -0
  78. data/sig/bucket_versioning.rbs +77 -0
  79. data/sig/bucket_website.rbs +93 -0
  80. data/sig/client.rbs +2584 -0
  81. data/sig/customizations/bucket.rbs +19 -0
  82. data/sig/customizations/object.rbs +38 -0
  83. data/sig/customizations/object_summary.rbs +35 -0
  84. data/sig/errors.rbs +44 -0
  85. data/sig/multipart_upload.rbs +120 -0
  86. data/sig/multipart_upload_part.rbs +109 -0
  87. data/sig/object.rbs +462 -0
  88. data/sig/object_acl.rbs +86 -0
  89. data/sig/object_summary.rbs +345 -0
  90. data/sig/object_version.rbs +143 -0
  91. data/sig/resource.rbs +141 -0
  92. data/sig/types.rbs +2866 -0
  93. data/sig/waiters.rbs +95 -0
  94. metadata +44 -12
  95. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +0 -31
@@ -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
@@ -207,7 +207,7 @@ module Aws::S3
207
207
  # },
208
208
  # },
209
209
  # content_md5: "ContentMD5",
210
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
210
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
211
211
  # grant_full_control: "GrantFullControl",
212
212
  # grant_read: "GrantRead",
213
213
  # grant_read_acp: "GrantReadACP",
@@ -222,9 +222,10 @@ module Aws::S3
222
222
  # Contains the elements that set the ACL permissions for an object per
223
223
  # grantee.
224
224
  # @option options [String] :content_md5
225
- # The base64-encoded 128-bit MD5 digest of the data. This header must be
226
- # used as a message integrity check to verify that the request body was
227
- # not corrupted in transit. For more information, go to [RFC 1864.][1]
225
+ # The Base64 encoded 128-bit `MD5` digest of the data. This header must
226
+ # be used as a message integrity check to verify that the request body
227
+ # was not corrupted in transit. For more information, go to [RFC
228
+ # 1864.][1]
228
229
  #
229
230
  # For requests made using the Amazon Web Services Command Line Interface
230
231
  # (CLI) or Amazon Web Services SDKs, this field is calculated
@@ -234,13 +235,13 @@ module Aws::S3
234
235
  #
235
236
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
236
237
  # @option options [String] :checksum_algorithm
237
- # Indicates the algorithm used to create the checksum for the object
238
- # when using the SDK. This header will not provide any additional
239
- # functionality if not using the SDK. When sending this header, there
240
- # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
241
- # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
242
- # `400 Bad Request`. For more information, see [Checking object
243
- # integrity][1] in the *Amazon S3 User Guide*.
238
+ # Indicates the algorithm used to create the checksum for the request
239
+ # when you use the SDK. This header will not provide any additional
240
+ # functionality if you don't use the SDK. When you send this header,
241
+ # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
242
+ # header sent. Otherwise, Amazon S3 fails the request with the HTTP
243
+ # status code `400 Bad Request`. For more information, see [Checking
244
+ # object integrity][1] in the *Amazon S3 User Guide*.
244
245
  #
245
246
  # If you provide an individual checksum, Amazon S3 ignores any provided
246
247
  # `ChecksumAlgorithm` parameter.
@@ -263,13 +264,13 @@ module Aws::S3
263
264
  # @option options [String] :grant_write_acp
264
265
  # Allows grantee to write the ACL for the applicable bucket.
265
266
  # @option options [String] :expected_bucket_owner
266
- # The account ID of the expected bucket owner. If the bucket is owned by
267
- # a different account, the request fails with the HTTP status code `403
268
- # Forbidden` (access denied).
267
+ # The account ID of the expected bucket owner. If the account ID that
268
+ # you provide does not match the actual owner of the bucket, the request
269
+ # fails with the HTTP status code `403 Forbidden` (access denied).
269
270
  # @return [EmptyStructure]
270
271
  def put(options = {})
271
272
  options = options.merge(bucket: @bucket_name)
272
- resp = Aws::Plugins::UserAgent.feature('resource') do
273
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
273
274
  @client.put_bucket_acl(options)
274
275
  end
275
276
  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
@@ -186,13 +186,13 @@ module Aws::S3
186
186
  # })
187
187
  # @param [Hash] options ({})
188
188
  # @option options [String] :expected_bucket_owner
189
- # The account ID of the expected bucket owner. If the bucket is owned by
190
- # a different account, the request fails with the HTTP status code `403
191
- # Forbidden` (access denied).
189
+ # The account ID of the expected bucket owner. If the account ID that
190
+ # you provide does not match the actual owner of the bucket, the request
191
+ # fails with the HTTP status code `403 Forbidden` (access denied).
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
@@ -214,7 +214,7 @@ module Aws::S3
214
214
  # ],
215
215
  # },
216
216
  # content_md5: "ContentMD5",
217
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
217
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
218
218
  # expected_bucket_owner: "AccountId",
219
219
  # })
220
220
  # @param [Hash] options ({})
@@ -227,9 +227,10 @@ module Aws::S3
227
227
  #
228
228
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html
229
229
  # @option options [String] :content_md5
230
- # The base64-encoded 128-bit MD5 digest of the data. This header must be
231
- # used as a message integrity check to verify that the request body was
232
- # not corrupted in transit. For more information, go to [RFC 1864.][1]
230
+ # The Base64 encoded 128-bit `MD5` digest of the data. This header must
231
+ # be used as a message integrity check to verify that the request body
232
+ # was not corrupted in transit. For more information, go to [RFC
233
+ # 1864.][1]
233
234
  #
234
235
  # For requests made using the Amazon Web Services Command Line Interface
235
236
  # (CLI) or Amazon Web Services SDKs, this field is calculated
@@ -239,13 +240,13 @@ module Aws::S3
239
240
  #
240
241
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
241
242
  # @option options [String] :checksum_algorithm
242
- # Indicates the algorithm used to create the checksum for the object
243
- # when using the SDK. This header will not provide any additional
244
- # functionality if not using the SDK. When sending this header, there
245
- # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
246
- # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
247
- # `400 Bad Request`. For more information, see [Checking object
248
- # integrity][1] in the *Amazon S3 User Guide*.
243
+ # Indicates the algorithm used to create the checksum for the request
244
+ # when you use the SDK. This header will not provide any additional
245
+ # functionality if you don't use the SDK. When you send this header,
246
+ # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
247
+ # header sent. Otherwise, Amazon S3 fails the request with the HTTP
248
+ # status code `400 Bad Request`. For more information, see [Checking
249
+ # object integrity][1] in the *Amazon S3 User Guide*.
249
250
  #
250
251
  # If you provide an individual checksum, Amazon S3 ignores any provided
251
252
  # `ChecksumAlgorithm` parameter.
@@ -254,13 +255,13 @@ module Aws::S3
254
255
  #
255
256
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
256
257
  # @option options [String] :expected_bucket_owner
257
- # The account ID of the expected bucket owner. If the bucket is owned by
258
- # a different account, the request fails with the HTTP status code `403
259
- # Forbidden` (access denied).
258
+ # The account ID of the expected bucket owner. If the account ID that
259
+ # you provide does not match the actual owner of the bucket, the request
260
+ # fails with the HTTP status code `403 Forbidden` (access denied).
260
261
  # @return [EmptyStructure]
261
262
  def put(options = {})
262
263
  options = options.merge(bucket: @bucket_name)
263
- resp = Aws::Plugins::UserAgent.feature('resource') do
264
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
264
265
  @client.put_bucket_cors(options)
265
266
  end
266
267
  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
@@ -185,13 +185,18 @@ module Aws::S3
185
185
  # })
186
186
  # @param [Hash] options ({})
187
187
  # @option options [String] :expected_bucket_owner
188
- # The account ID of the expected bucket owner. If the bucket is owned by
189
- # a different account, the request fails with the HTTP status code `403
190
- # Forbidden` (access denied).
188
+ # The account ID of the expected bucket owner. If the account ID that
189
+ # you provide does not match the actual owner of the bucket, the request
190
+ # fails with the HTTP status code `403 Forbidden` (access denied).
191
+ #
192
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
193
+ # supported for directory bucket lifecycle configurations.
194
+ #
195
+ # </note>
191
196
  # @return [EmptyStructure]
192
197
  def delete(options = {})
193
198
  options = options.merge(bucket: @bucket_name)
194
- resp = Aws::Plugins::UserAgent.feature('resource') do
199
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
195
200
  @client.delete_bucket_lifecycle(options)
196
201
  end
197
202
  resp.data
@@ -201,7 +206,7 @@ module Aws::S3
201
206
  #
202
207
  # bucket_lifecycle.put({
203
208
  # content_md5: "ContentMD5",
204
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
209
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
205
210
  # lifecycle_configuration: {
206
211
  # rules: [ # required
207
212
  # {
@@ -241,13 +246,13 @@ module Aws::S3
241
246
  # (CLI) or Amazon Web Services SDKs, this field is calculated
242
247
  # automatically.
243
248
  # @option options [String] :checksum_algorithm
244
- # Indicates the algorithm used to create the checksum for the object
245
- # when using the SDK. This header will not provide any additional
246
- # functionality if not using the SDK. When sending this header, there
247
- # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
248
- # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
249
- # `400 Bad Request`. For more information, see [Checking object
250
- # integrity][1] in the *Amazon S3 User Guide*.
249
+ # Indicates the algorithm used to create the checksum for the request
250
+ # when you use the SDK. This header will not provide any additional
251
+ # functionality if you don't use the SDK. When you send this header,
252
+ # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
253
+ # header sent. Otherwise, Amazon S3 fails the request with the HTTP
254
+ # status code `400 Bad Request`. For more information, see [Checking
255
+ # object integrity][1] in the *Amazon S3 User Guide*.
251
256
  #
252
257
  # If you provide an individual checksum, Amazon S3 ignores any provided
253
258
  # `ChecksumAlgorithm` parameter.
@@ -257,13 +262,13 @@ module Aws::S3
257
262
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
258
263
  # @option options [Types::LifecycleConfiguration] :lifecycle_configuration
259
264
  # @option options [String] :expected_bucket_owner
260
- # The account ID of the expected bucket owner. If the bucket is owned by
261
- # a different account, the request fails with the HTTP status code `403
262
- # Forbidden` (access denied).
265
+ # The account ID of the expected bucket owner. If the account ID that
266
+ # you provide does not match the actual owner of the bucket, the request
267
+ # fails with the HTTP status code `403 Forbidden` (access denied).
263
268
  # @return [EmptyStructure]
264
269
  def put(options = {})
265
270
  options = options.merge(bucket: @bucket_name)
266
- resp = Aws::Plugins::UserAgent.feature('resource') do
271
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
267
272
  @client.put_bucket_lifecycle(options)
268
273
  end
269
274
  resp.data
@@ -40,6 +40,31 @@ module Aws::S3
40
40
  data[:rules]
41
41
  end
42
42
 
43
+ # Indicates which default minimum object size behavior is applied to the
44
+ # lifecycle configuration.
45
+ #
46
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It isn't
47
+ # supported for directory bucket lifecycle configurations.
48
+ #
49
+ # </note>
50
+ #
51
+ # * `all_storage_classes_128K` - Objects smaller than 128 KB will not
52
+ # transition to any storage class by default.
53
+ #
54
+ # * `varies_by_storage_class` - Objects smaller than 128 KB will
55
+ # transition to Glacier Flexible Retrieval or Glacier Deep Archive
56
+ # storage classes. By default, all other storage classes will prevent
57
+ # transitions smaller than 128 KB.
58
+ #
59
+ # To customize the minimum object size for any transition you can add a
60
+ # filter that specifies a custom `ObjectSizeGreaterThan` or
61
+ # `ObjectSizeLessThan` in the body of your transition rule. Custom
62
+ # filters always take precedence over the default transition behavior.
63
+ # @return [String]
64
+ def transition_default_minimum_object_size
65
+ data[:transition_default_minimum_object_size]
66
+ end
67
+
43
68
  # @!endgroup
44
69
 
45
70
  # @return [Client]
@@ -54,7 +79,7 @@ module Aws::S3
54
79
  #
55
80
  # @return [self]
56
81
  def load
57
- resp = Aws::Plugins::UserAgent.feature('resource') do
82
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
58
83
  @client.get_bucket_lifecycle_configuration(bucket: @bucket_name)
59
84
  end
60
85
  @data = resp.data
@@ -171,7 +196,7 @@ module Aws::S3
171
196
  :retry
172
197
  end
173
198
  end
174
- Aws::Plugins::UserAgent.feature('resource') do
199
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
175
200
  Aws::Waiters::Waiter.new(options).wait({})
176
201
  end
177
202
  end
@@ -185,13 +210,18 @@ module Aws::S3
185
210
  # })
186
211
  # @param [Hash] options ({})
187
212
  # @option options [String] :expected_bucket_owner
188
- # The account ID of the expected bucket owner. If the bucket is owned by
189
- # a different account, the request fails with the HTTP status code `403
190
- # Forbidden` (access denied).
213
+ # The account ID of the expected bucket owner. If the account ID that
214
+ # you provide does not match the actual owner of the bucket, the request
215
+ # fails with the HTTP status code `403 Forbidden` (access denied).
216
+ #
217
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
218
+ # supported for directory bucket lifecycle configurations.
219
+ #
220
+ # </note>
191
221
  # @return [EmptyStructure]
192
222
  def delete(options = {})
193
223
  options = options.merge(bucket: @bucket_name)
194
- resp = Aws::Plugins::UserAgent.feature('resource') do
224
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
195
225
  @client.delete_bucket_lifecycle(options)
196
226
  end
197
227
  resp.data
@@ -200,7 +230,7 @@ module Aws::S3
200
230
  # @example Request syntax with placeholder values
201
231
  #
202
232
  # bucket_lifecycle_configuration.put({
203
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
233
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
204
234
  # lifecycle_configuration: {
205
235
  # rules: [ # required
206
236
  # {
@@ -257,16 +287,17 @@ module Aws::S3
257
287
  # ],
258
288
  # },
259
289
  # expected_bucket_owner: "AccountId",
290
+ # transition_default_minimum_object_size: "varies_by_storage_class", # accepts varies_by_storage_class, all_storage_classes_128K
260
291
  # })
261
292
  # @param [Hash] options ({})
262
293
  # @option options [String] :checksum_algorithm
263
- # Indicates the algorithm used to create the checksum for the object
264
- # when using the SDK. This header will not provide any additional
265
- # functionality if not using the SDK. When sending this header, there
266
- # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
267
- # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
268
- # `400 Bad Request`. For more information, see [Checking object
269
- # integrity][1] in the *Amazon S3 User Guide*.
294
+ # Indicates the algorithm used to create the checksum for the request
295
+ # when you use the SDK. This header will not provide any additional
296
+ # functionality if you don't use the SDK. When you send this header,
297
+ # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
298
+ # header sent. Otherwise, Amazon S3 fails the request with the HTTP
299
+ # status code `400 Bad Request`. For more information, see [Checking
300
+ # object integrity][1] in the *Amazon S3 User Guide*.
270
301
  #
271
302
  # If you provide an individual checksum, Amazon S3 ignores any provided
272
303
  # `ChecksumAlgorithm` parameter.
@@ -277,13 +308,39 @@ module Aws::S3
277
308
  # @option options [Types::BucketLifecycleConfiguration] :lifecycle_configuration
278
309
  # Container for lifecycle rules. You can add as many as 1,000 rules.
279
310
  # @option options [String] :expected_bucket_owner
280
- # The account ID of the expected bucket owner. If the bucket is owned by
281
- # a different account, the request fails with the HTTP status code `403
282
- # Forbidden` (access denied).
283
- # @return [EmptyStructure]
311
+ # The account ID of the expected bucket owner. If the account ID that
312
+ # you provide does not match the actual owner of the bucket, the request
313
+ # fails with the HTTP status code `403 Forbidden` (access denied).
314
+ #
315
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
316
+ # supported for directory bucket lifecycle configurations.
317
+ #
318
+ # </note>
319
+ # @option options [String] :transition_default_minimum_object_size
320
+ # Indicates which default minimum object size behavior is applied to the
321
+ # lifecycle configuration.
322
+ #
323
+ # <note markdown="1"> This parameter applies to general purpose buckets only. It is not
324
+ # supported for directory bucket lifecycle configurations.
325
+ #
326
+ # </note>
327
+ #
328
+ # * `all_storage_classes_128K` - Objects smaller than 128 KB will not
329
+ # transition to any storage class by default.
330
+ #
331
+ # * `varies_by_storage_class` - Objects smaller than 128 KB will
332
+ # transition to Glacier Flexible Retrieval or Glacier Deep Archive
333
+ # storage classes. By default, all other storage classes will prevent
334
+ # transitions smaller than 128 KB.
335
+ #
336
+ # To customize the minimum object size for any transition you can add a
337
+ # filter that specifies a custom `ObjectSizeGreaterThan` or
338
+ # `ObjectSizeLessThan` in the body of your transition rule. Custom
339
+ # filters always take precedence over the default transition behavior.
340
+ # @return [Types::PutBucketLifecycleConfigurationOutput]
284
341
  def put(options = {})
285
342
  options = options.merge(bucket: @bucket_name)
286
- resp = Aws::Plugins::UserAgent.feature('resource') do
343
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
287
344
  @client.put_bucket_lifecycle_configuration(options)
288
345
  end
289
346
  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
@@ -203,10 +203,17 @@ module Aws::S3
203
203
  # },
204
204
  # ],
205
205
  # target_prefix: "TargetPrefix", # required
206
+ # target_object_key_format: {
207
+ # simple_prefix: {
208
+ # },
209
+ # partitioned_prefix: {
210
+ # partition_date_source: "EventTime", # accepts EventTime, DeliveryTime
211
+ # },
212
+ # },
206
213
  # },
207
214
  # },
208
215
  # content_md5: "ContentMD5",
209
- # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
216
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
210
217
  # expected_bucket_owner: "AccountId",
211
218
  # })
212
219
  # @param [Hash] options ({})
@@ -219,13 +226,13 @@ module Aws::S3
219
226
  # (CLI) or Amazon Web Services SDKs, this field is calculated
220
227
  # automatically.
221
228
  # @option options [String] :checksum_algorithm
222
- # Indicates the algorithm used to create the checksum for the object
223
- # when using the SDK. This header will not provide any additional
224
- # functionality if not using the SDK. When sending this header, there
225
- # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
226
- # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
227
- # `400 Bad Request`. For more information, see [Checking object
228
- # integrity][1] in the *Amazon S3 User Guide*.
229
+ # Indicates the algorithm used to create the checksum for the request
230
+ # when you use the SDK. This header will not provide any additional
231
+ # functionality if you don't use the SDK. When you send this header,
232
+ # there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
233
+ # header sent. Otherwise, Amazon S3 fails the request with the HTTP
234
+ # status code `400 Bad Request`. For more information, see [Checking
235
+ # object integrity][1] in the *Amazon S3 User Guide*.
229
236
  #
230
237
  # If you provide an individual checksum, Amazon S3 ignores any provided
231
238
  # `ChecksumAlgorithm` parameter.
@@ -234,13 +241,13 @@ module Aws::S3
234
241
  #
235
242
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
236
243
  # @option options [String] :expected_bucket_owner
237
- # The account ID of the expected bucket owner. If the bucket is owned by
238
- # a different account, the request fails with the HTTP status code `403
239
- # Forbidden` (access denied).
244
+ # The account ID of the expected bucket owner. If the account ID that
245
+ # you provide does not match the actual owner of the bucket, the request
246
+ # fails with the HTTP status code `403 Forbidden` (access denied).
240
247
  # @return [EmptyStructure]
241
248
  def put(options = {})
242
249
  options = options.merge(bucket: @bucket_name)
243
- resp = Aws::Plugins::UserAgent.feature('resource') do
250
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
244
251
  @client.put_bucket_logging(options)
245
252
  end
246
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
@@ -266,16 +266,16 @@ module Aws::S3
266
266
  # bucket. If this element is empty, notifications are turned off for the
267
267
  # bucket.
268
268
  # @option options [String] :expected_bucket_owner
269
- # The account ID of the expected bucket owner. If the bucket is owned by
270
- # a different account, the request fails with the HTTP status code `403
271
- # Forbidden` (access denied).
269
+ # The account ID of the expected bucket owner. If the account ID that
270
+ # you provide does not match the actual owner of the bucket, the request
271
+ # fails with the HTTP status code `403 Forbidden` (access denied).
272
272
  # @option options [Boolean] :skip_destination_validation
273
273
  # Skips validation of Amazon SQS, Amazon SNS, and Lambda destinations.
274
274
  # True or false value.
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