aws-sdk-s3 1.109.0 → 1.156.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +352 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/access_grants_credentials.rb +57 -0
- data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +241 -0
- data/lib/aws-sdk-s3/bucket.rb +585 -110
- data/lib/aws-sdk-s3/bucket_acl.rb +28 -6
- data/lib/aws-sdk-s3/bucket_cors.rb +34 -10
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +34 -10
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +34 -10
- data/lib/aws-sdk-s3/bucket_logging.rb +35 -6
- data/lib/aws-sdk-s3/bucket_notification.rb +12 -6
- data/lib/aws-sdk-s3/bucket_policy.rb +78 -10
- data/lib/aws-sdk-s3/bucket_region_cache.rb +9 -5
- data/lib/aws-sdk-s3/bucket_request_payment.rb +28 -6
- data/lib/aws-sdk-s3/bucket_tagging.rb +34 -10
- data/lib/aws-sdk-s3/bucket_versioning.rb +72 -14
- data/lib/aws-sdk-s3/bucket_website.rb +34 -10
- data/lib/aws-sdk-s3/client.rb +7900 -3252
- data/lib/aws-sdk-s3/client_api.rb +706 -228
- data/lib/aws-sdk-s3/customizations/bucket.rb +23 -47
- data/lib/aws-sdk-s3/customizations/errors.rb +40 -0
- data/lib/aws-sdk-s3/customizations/object.rb +97 -21
- data/lib/aws-sdk-s3/customizations/types/permanent_redirect.rb +26 -0
- data/lib/aws-sdk-s3/customizations.rb +10 -0
- data/lib/aws-sdk-s3/encryption/client.rb +6 -2
- data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +13 -9
- data/lib/aws-sdk-s3/encryptionV2/client.rb +6 -2
- data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +1 -0
- data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -6
- data/lib/aws-sdk-s3/endpoint_parameters.rb +186 -0
- data/lib/aws-sdk-s3/endpoint_provider.rb +592 -0
- data/lib/aws-sdk-s3/endpoints.rb +2689 -0
- data/lib/aws-sdk-s3/express_credentials.rb +55 -0
- data/lib/aws-sdk-s3/express_credentials_provider.rb +59 -0
- data/lib/aws-sdk-s3/file_downloader.rb +170 -45
- data/lib/aws-sdk-s3/file_uploader.rb +11 -4
- data/lib/aws-sdk-s3/multipart_file_uploader.rb +30 -11
- data/lib/aws-sdk-s3/multipart_stream_uploader.rb +46 -17
- data/lib/aws-sdk-s3/multipart_upload.rb +194 -19
- data/lib/aws-sdk-s3/multipart_upload_part.rb +280 -30
- data/lib/aws-sdk-s3/object.rb +1753 -266
- data/lib/aws-sdk-s3/object_acl.rb +49 -13
- data/lib/aws-sdk-s3/object_copier.rb +7 -5
- data/lib/aws-sdk-s3/object_multipart_copier.rb +46 -22
- data/lib/aws-sdk-s3/object_summary.rb +1497 -221
- data/lib/aws-sdk-s3/object_version.rb +383 -58
- data/lib/aws-sdk-s3/plugins/accelerate.rb +3 -50
- data/lib/aws-sdk-s3/plugins/access_grants.rb +114 -0
- data/lib/aws-sdk-s3/plugins/arn.rb +0 -184
- data/lib/aws-sdk-s3/plugins/bucket_dns.rb +3 -39
- data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +1 -6
- data/lib/aws-sdk-s3/plugins/dualstack.rb +1 -49
- data/lib/aws-sdk-s3/plugins/endpoints.rb +274 -0
- data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +2 -1
- data/lib/aws-sdk-s3/plugins/express_session_auth.rb +97 -0
- data/lib/aws-sdk-s3/plugins/http_200_errors.rb +53 -16
- data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +6 -29
- data/lib/aws-sdk-s3/plugins/location_constraint.rb +3 -1
- data/lib/aws-sdk-s3/plugins/md5s.rb +6 -3
- data/lib/aws-sdk-s3/plugins/s3_signer.rb +42 -126
- data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
- data/lib/aws-sdk-s3/plugins/streaming_retry.rb +23 -2
- data/lib/aws-sdk-s3/presigned_post.rb +99 -78
- data/lib/aws-sdk-s3/presigner.rb +28 -37
- data/lib/aws-sdk-s3/resource.rb +89 -13
- data/lib/aws-sdk-s3/types.rb +6544 -4909
- data/lib/aws-sdk-s3.rb +5 -1
- data/sig/bucket.rbs +212 -0
- data/sig/bucket_acl.rbs +78 -0
- data/sig/bucket_cors.rbs +69 -0
- data/sig/bucket_lifecycle.rbs +88 -0
- data/sig/bucket_lifecycle_configuration.rbs +111 -0
- data/sig/bucket_logging.rbs +76 -0
- data/sig/bucket_notification.rbs +114 -0
- data/sig/bucket_policy.rbs +59 -0
- data/sig/bucket_request_payment.rbs +54 -0
- data/sig/bucket_tagging.rbs +65 -0
- data/sig/bucket_versioning.rbs +77 -0
- data/sig/bucket_website.rbs +93 -0
- data/sig/client.rbs +2381 -0
- data/sig/customizations/bucket.rbs +19 -0
- data/sig/customizations/object.rbs +38 -0
- data/sig/customizations/object_summary.rbs +35 -0
- data/sig/errors.rbs +34 -0
- data/sig/multipart_upload.rbs +110 -0
- data/sig/multipart_upload_part.rbs +105 -0
- data/sig/object.rbs +442 -0
- data/sig/object_acl.rbs +86 -0
- data/sig/object_summary.rbs +334 -0
- data/sig/object_version.rbs +137 -0
- data/sig/resource.rbs +127 -0
- data/sig/types.rbs +2568 -0
- data/sig/waiters.rbs +95 -0
- metadata +50 -16
- data/lib/aws-sdk-s3/arn/access_point_arn.rb +0 -69
- data/lib/aws-sdk-s3/arn/multi_region_access_point_arn.rb +0 -68
- data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +0 -69
- data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +0 -74
- data/lib/aws-sdk-s3/plugins/object_lambda_endpoint.rb +0 -25
data/lib/aws-sdk-s3/bucket.rb
CHANGED
@@ -95,7 +95,9 @@ 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
|
-
|
98
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
99
|
+
waiter.wait(params.merge(bucket: @name))
|
100
|
+
end
|
99
101
|
Bucket.new({
|
100
102
|
name: @name,
|
101
103
|
client: @client
|
@@ -112,7 +114,9 @@ module Aws::S3
|
|
112
114
|
options, params = separate_params_and_options(options)
|
113
115
|
waiter = Waiters::BucketNotExists.new(options)
|
114
116
|
yield_waiter_and_warn(waiter, &block) if block_given?
|
115
|
-
|
117
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
118
|
+
waiter.wait(params.merge(bucket: @name))
|
119
|
+
end
|
116
120
|
Bucket.new({
|
117
121
|
name: @name,
|
118
122
|
client: @client
|
@@ -213,7 +217,9 @@ module Aws::S3
|
|
213
217
|
:retry
|
214
218
|
end
|
215
219
|
end
|
216
|
-
Aws::
|
220
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
221
|
+
Aws::Waiters::Waiter.new(options).wait({})
|
222
|
+
end
|
217
223
|
end
|
218
224
|
|
219
225
|
# @!group Actions
|
@@ -223,7 +229,15 @@ module Aws::S3
|
|
223
229
|
# bucket.create({
|
224
230
|
# acl: "private", # accepts private, public-read, public-read-write, authenticated-read
|
225
231
|
# create_bucket_configuration: {
|
226
|
-
# location_constraint: "af-south-1", # accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, cn-north-1, cn-northwest-1, EU, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, me-south-1, sa-east-1, us-east-2, us-gov-east-1, us-gov-west-1, us-west-1, us-west-2
|
232
|
+
# location_constraint: "af-south-1", # accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-south-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ca-central-1, cn-north-1, cn-northwest-1, EU, eu-central-1, eu-north-1, eu-south-1, eu-south-2, eu-west-1, eu-west-2, eu-west-3, me-south-1, sa-east-1, us-east-2, us-gov-east-1, us-gov-west-1, us-west-1, us-west-2
|
233
|
+
# location: {
|
234
|
+
# type: "AvailabilityZone", # accepts AvailabilityZone
|
235
|
+
# name: "LocationNameAsString",
|
236
|
+
# },
|
237
|
+
# bucket: {
|
238
|
+
# data_redundancy: "SingleAvailabilityZone", # accepts SingleAvailabilityZone
|
239
|
+
# type: "Directory", # accepts Directory
|
240
|
+
# },
|
227
241
|
# },
|
228
242
|
# grant_full_control: "GrantFullControl",
|
229
243
|
# grant_read: "GrantRead",
|
@@ -236,46 +250,93 @@ module Aws::S3
|
|
236
250
|
# @param [Hash] options ({})
|
237
251
|
# @option options [String] :acl
|
238
252
|
# The canned ACL to apply to the bucket.
|
253
|
+
#
|
254
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
255
|
+
#
|
256
|
+
# </note>
|
239
257
|
# @option options [Types::CreateBucketConfiguration] :create_bucket_configuration
|
240
258
|
# The configuration information for the bucket.
|
241
259
|
# @option options [String] :grant_full_control
|
242
260
|
# Allows grantee the read, write, read ACP, and write ACP permissions on
|
243
261
|
# the bucket.
|
262
|
+
#
|
263
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
264
|
+
#
|
265
|
+
# </note>
|
244
266
|
# @option options [String] :grant_read
|
245
267
|
# Allows grantee to list the objects in the bucket.
|
268
|
+
#
|
269
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
270
|
+
#
|
271
|
+
# </note>
|
246
272
|
# @option options [String] :grant_read_acp
|
247
273
|
# Allows grantee to read the bucket ACL.
|
274
|
+
#
|
275
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
276
|
+
#
|
277
|
+
# </note>
|
248
278
|
# @option options [String] :grant_write
|
249
279
|
# Allows grantee to create new objects in the bucket.
|
250
280
|
#
|
251
281
|
# For the bucket and object owners of existing objects, also allows
|
252
282
|
# deletions and overwrites of those objects.
|
283
|
+
#
|
284
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
285
|
+
#
|
286
|
+
# </note>
|
253
287
|
# @option options [String] :grant_write_acp
|
254
288
|
# Allows grantee to write the ACL for the applicable bucket.
|
289
|
+
#
|
290
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
291
|
+
#
|
292
|
+
# </note>
|
255
293
|
# @option options [Boolean] :object_lock_enabled_for_bucket
|
256
294
|
# Specifies whether you want S3 Object Lock to be enabled for the new
|
257
295
|
# bucket.
|
296
|
+
#
|
297
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
298
|
+
#
|
299
|
+
# </note>
|
258
300
|
# @option options [String] :object_ownership
|
259
301
|
# The container element for object ownership for a bucket's ownership
|
260
302
|
# controls.
|
261
303
|
#
|
262
|
-
# BucketOwnerPreferred - Objects uploaded to the bucket change
|
263
|
-
# to the bucket owner if the objects are uploaded with the
|
304
|
+
# `BucketOwnerPreferred` - Objects uploaded to the bucket change
|
305
|
+
# ownership to the bucket owner if the objects are uploaded with the
|
264
306
|
# `bucket-owner-full-control` canned ACL.
|
265
307
|
#
|
266
|
-
# ObjectWriter - The uploading account will own the object if the
|
267
|
-
# is uploaded with the `bucket-owner-full-control` canned ACL.
|
308
|
+
# `ObjectWriter` - The uploading account will own the object if the
|
309
|
+
# object is uploaded with the `bucket-owner-full-control` canned ACL.
|
310
|
+
#
|
311
|
+
# `BucketOwnerEnforced` - Access control lists (ACLs) are disabled and
|
312
|
+
# no longer affect permissions. The bucket owner automatically owns and
|
313
|
+
# has full control over every object in the bucket. The bucket only
|
314
|
+
# accepts PUT requests that don't specify an ACL or specify bucket
|
315
|
+
# owner full control ACLs (such as the predefined
|
316
|
+
# `bucket-owner-full-control` canned ACL or a custom ACL in XML format
|
317
|
+
# that grants the same permissions).
|
318
|
+
#
|
319
|
+
# By default, `ObjectOwnership` is set to `BucketOwnerEnforced` and ACLs
|
320
|
+
# are disabled. We recommend keeping ACLs disabled, except in uncommon
|
321
|
+
# use cases where you must control access for each object individually.
|
322
|
+
# For more information about S3 Object Ownership, see [Controlling
|
323
|
+
# ownership of objects and disabling ACLs for your bucket][1] in the
|
324
|
+
# *Amazon S3 User Guide*.
|
325
|
+
#
|
326
|
+
# <note markdown="1"> This functionality is not supported for directory buckets. Directory
|
327
|
+
# buckets use the bucket owner enforced setting for S3 Object Ownership.
|
328
|
+
#
|
329
|
+
# </note>
|
330
|
+
#
|
268
331
|
#
|
269
|
-
#
|
270
|
-
#
|
271
|
-
# full control over every object in the bucket. The bucket only accepts
|
272
|
-
# PUT requests that don't specify an ACL or bucket owner full control
|
273
|
-
# ACLs, such as the `bucket-owner-full-control` canned ACL or an
|
274
|
-
# equivalent form of this ACL expressed in the XML format.
|
332
|
+
#
|
333
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
|
275
334
|
# @return [Types::CreateBucketOutput]
|
276
335
|
def create(options = {})
|
277
336
|
options = options.merge(bucket: @name)
|
278
|
-
resp =
|
337
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
338
|
+
@client.create_bucket(options)
|
339
|
+
end
|
279
340
|
resp.data
|
280
341
|
end
|
281
342
|
|
@@ -286,13 +347,21 @@ module Aws::S3
|
|
286
347
|
# })
|
287
348
|
# @param [Hash] options ({})
|
288
349
|
# @option options [String] :expected_bucket_owner
|
289
|
-
# The account ID of the expected bucket owner. If the
|
290
|
-
#
|
291
|
-
#
|
350
|
+
# The account ID of the expected bucket owner. If the account ID that
|
351
|
+
# you provide does not match the actual owner of the bucket, the request
|
352
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
353
|
+
#
|
354
|
+
# <note markdown="1"> For directory buckets, this header is not supported in this API
|
355
|
+
# operation. If you specify this header, the request fails with the HTTP
|
356
|
+
# status code `501 Not Implemented`.
|
357
|
+
#
|
358
|
+
# </note>
|
292
359
|
# @return [EmptyStructure]
|
293
360
|
def delete(options = {})
|
294
361
|
options = options.merge(bucket: @name)
|
295
|
-
resp =
|
362
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
363
|
+
@client.delete_bucket(options)
|
364
|
+
end
|
296
365
|
resp.data
|
297
366
|
end
|
298
367
|
|
@@ -312,6 +381,7 @@ module Aws::S3
|
|
312
381
|
# request_payer: "requester", # accepts requester
|
313
382
|
# bypass_governance_retention: false,
|
314
383
|
# expected_bucket_owner: "AccountId",
|
384
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
315
385
|
# })
|
316
386
|
# @param [Hash] options ({})
|
317
387
|
# @option options [required, Types::Delete] :delete
|
@@ -321,28 +391,91 @@ module Aws::S3
|
|
321
391
|
# space, and the value that is displayed on your authentication device.
|
322
392
|
# Required to permanently delete a versioned object if versioning is
|
323
393
|
# configured with MFA delete enabled.
|
394
|
+
#
|
395
|
+
# When performing the `DeleteObjects` operation on an MFA delete enabled
|
396
|
+
# bucket, which attempts to delete the specified versioned objects, you
|
397
|
+
# must include an MFA token. If you don't provide an MFA token, the
|
398
|
+
# entire request will fail, even if there are non-versioned objects that
|
399
|
+
# you are trying to delete. If you provide an invalid token, whether
|
400
|
+
# there are versioned object keys in the request or not, the entire
|
401
|
+
# Multi-Object Delete request will fail. For information about MFA
|
402
|
+
# Delete, see [ MFA Delete][1] in the *Amazon S3 User Guide*.
|
403
|
+
#
|
404
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
405
|
+
#
|
406
|
+
# </note>
|
407
|
+
#
|
408
|
+
#
|
409
|
+
#
|
410
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete
|
324
411
|
# @option options [String] :request_payer
|
325
412
|
# Confirms that the requester knows that they will be charged for the
|
326
413
|
# request. Bucket owners need not specify this parameter in their
|
327
|
-
# requests.
|
328
|
-
#
|
414
|
+
# requests. If either the source or destination S3 bucket has Requester
|
415
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
416
|
+
# the object. For information about downloading objects from Requester
|
417
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
329
418
|
# in the *Amazon S3 User Guide*.
|
330
419
|
#
|
420
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
421
|
+
#
|
422
|
+
# </note>
|
423
|
+
#
|
331
424
|
#
|
332
425
|
#
|
333
426
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
334
427
|
# @option options [Boolean] :bypass_governance_retention
|
335
428
|
# Specifies whether you want to delete this object even if it has a
|
336
429
|
# Governance-type Object Lock in place. To use this header, you must
|
337
|
-
# have the `s3:
|
430
|
+
# have the `s3:BypassGovernanceRetention` permission.
|
431
|
+
#
|
432
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
433
|
+
#
|
434
|
+
# </note>
|
338
435
|
# @option options [String] :expected_bucket_owner
|
339
|
-
# The account ID of the expected bucket owner. If the
|
340
|
-
#
|
341
|
-
#
|
436
|
+
# The account ID of the expected bucket owner. If the account ID that
|
437
|
+
# you provide does not match the actual owner of the bucket, the request
|
438
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
439
|
+
# @option options [String] :checksum_algorithm
|
440
|
+
# Indicates the algorithm used to create the checksum for the object
|
441
|
+
# when you use the SDK. This header will not provide any additional
|
442
|
+
# functionality if you don't use the SDK. When you send this header,
|
443
|
+
# there must be a corresponding `x-amz-checksum-algorithm ` or
|
444
|
+
# `x-amz-trailer` header sent. Otherwise, Amazon S3 fails the request
|
445
|
+
# with the HTTP status code `400 Bad Request`.
|
446
|
+
#
|
447
|
+
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
448
|
+
# the supported algorithm from the following list:
|
449
|
+
#
|
450
|
+
# * CRC32
|
451
|
+
#
|
452
|
+
# * CRC32C
|
453
|
+
#
|
454
|
+
# * SHA1
|
455
|
+
#
|
456
|
+
# * SHA256
|
457
|
+
#
|
458
|
+
# For more information, see [Checking object integrity][1] in the
|
459
|
+
# *Amazon S3 User Guide*.
|
460
|
+
#
|
461
|
+
# If the individual checksum value you provide through
|
462
|
+
# `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
|
463
|
+
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3 ignores any
|
464
|
+
# provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
|
465
|
+
# that matches the provided value in `x-amz-checksum-algorithm `.
|
466
|
+
#
|
467
|
+
# If you provide an individual checksum, Amazon S3 ignores any provided
|
468
|
+
# `ChecksumAlgorithm` parameter.
|
469
|
+
#
|
470
|
+
#
|
471
|
+
#
|
472
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
342
473
|
# @return [Types::DeleteObjectsOutput]
|
343
474
|
def delete_objects(options = {})
|
344
475
|
options = options.merge(bucket: @name)
|
345
|
-
resp =
|
476
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
477
|
+
@client.delete_objects(options)
|
478
|
+
end
|
346
479
|
resp.data
|
347
480
|
end
|
348
481
|
|
@@ -358,6 +491,11 @@ module Aws::S3
|
|
358
491
|
# content_length: 1,
|
359
492
|
# content_md5: "ContentMD5",
|
360
493
|
# content_type: "ContentType",
|
494
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
495
|
+
# checksum_crc32: "ChecksumCRC32",
|
496
|
+
# checksum_crc32c: "ChecksumCRC32C",
|
497
|
+
# checksum_sha1: "ChecksumSHA1",
|
498
|
+
# checksum_sha256: "ChecksumSHA256",
|
361
499
|
# expires: Time.now,
|
362
500
|
# grant_full_control: "GrantFullControl",
|
363
501
|
# grant_read: "GrantRead",
|
@@ -367,8 +505,8 @@ module Aws::S3
|
|
367
505
|
# metadata: {
|
368
506
|
# "MetadataKey" => "MetadataValue",
|
369
507
|
# },
|
370
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
371
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
|
508
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
509
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
372
510
|
# website_redirect_location: "WebsiteRedirectLocation",
|
373
511
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
374
512
|
# sse_customer_key: "SSECustomerKey",
|
@@ -386,13 +524,41 @@ module Aws::S3
|
|
386
524
|
# @param [Hash] options ({})
|
387
525
|
# @option options [String] :acl
|
388
526
|
# The canned ACL to apply to the object. For more information, see
|
389
|
-
# [Canned ACL][1]
|
527
|
+
# [Canned ACL][1] in the *Amazon S3 User Guide*.
|
528
|
+
#
|
529
|
+
# When adding a new object, you can use headers to grant ACL-based
|
530
|
+
# permissions to individual Amazon Web Services accounts or to
|
531
|
+
# predefined groups defined by Amazon S3. These permissions are then
|
532
|
+
# added to the ACL on the object. By default, all objects are private.
|
533
|
+
# Only the owner has full access control. For more information, see
|
534
|
+
# [Access Control List (ACL) Overview][2] and [Managing ACLs Using the
|
535
|
+
# REST API][3] in the *Amazon S3 User Guide*.
|
390
536
|
#
|
391
|
-
#
|
537
|
+
# If the bucket that you're uploading objects to uses the bucket owner
|
538
|
+
# enforced setting for S3 Object Ownership, ACLs are disabled and no
|
539
|
+
# longer affect permissions. Buckets that use this setting only accept
|
540
|
+
# PUT requests that don't specify an ACL or PUT requests that specify
|
541
|
+
# bucket owner full control ACLs, such as the
|
542
|
+
# `bucket-owner-full-control` canned ACL or an equivalent form of this
|
543
|
+
# ACL expressed in the XML format. PUT requests that contain other ACLs
|
544
|
+
# (for example, custom grants to certain Amazon Web Services accounts)
|
545
|
+
# fail and return a `400` error with the error code
|
546
|
+
# `AccessControlListNotSupported`. For more information, see [
|
547
|
+
# Controlling ownership of objects and disabling ACLs][4] in the *Amazon
|
548
|
+
# S3 User Guide*.
|
549
|
+
#
|
550
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
551
|
+
#
|
552
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
553
|
+
#
|
554
|
+
# </note>
|
392
555
|
#
|
393
556
|
#
|
394
557
|
#
|
395
558
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
|
559
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
|
560
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html
|
561
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
|
396
562
|
# @option options [String, StringIO, File] :body
|
397
563
|
# Object data.
|
398
564
|
# @option options [String] :cache_control
|
@@ -406,30 +572,30 @@ module Aws::S3
|
|
406
572
|
# @option options [String] :content_disposition
|
407
573
|
# Specifies presentational information for the object. For more
|
408
574
|
# information, see
|
409
|
-
# [
|
575
|
+
# [https://www.rfc-editor.org/rfc/rfc6266#section-4][1].
|
410
576
|
#
|
411
577
|
#
|
412
578
|
#
|
413
|
-
# [1]:
|
579
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc6266#section-4
|
414
580
|
# @option options [String] :content_encoding
|
415
581
|
# Specifies what content encodings have been applied to the object and
|
416
582
|
# thus what decoding mechanisms must be applied to obtain the media-type
|
417
583
|
# referenced by the Content-Type header field. For more information, see
|
418
|
-
# [
|
584
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding][1].
|
419
585
|
#
|
420
586
|
#
|
421
587
|
#
|
422
|
-
# [1]:
|
588
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding
|
423
589
|
# @option options [String] :content_language
|
424
590
|
# The language the content is in.
|
425
591
|
# @option options [Integer] :content_length
|
426
592
|
# Size of the body in bytes. This parameter is useful when the size of
|
427
593
|
# the body cannot be determined automatically. For more information, see
|
428
|
-
# [
|
594
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length][1].
|
429
595
|
#
|
430
596
|
#
|
431
597
|
#
|
432
|
-
# [1]:
|
598
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
|
433
599
|
# @option options [String] :content_md5
|
434
600
|
# The base64-encoded 128-bit MD5 digest of the message (without the
|
435
601
|
# headers) according to RFC 1864. This header can be used as a message
|
@@ -439,56 +605,187 @@ module Aws::S3
|
|
439
605
|
# information about REST request authentication, see [REST
|
440
606
|
# Authentication][1].
|
441
607
|
#
|
608
|
+
# <note markdown="1"> The `Content-MD5` header is required for any request to upload an
|
609
|
+
# object with a retention period configured using Amazon S3 Object Lock.
|
610
|
+
# For more information about Amazon S3 Object Lock, see [Amazon S3
|
611
|
+
# Object Lock Overview][2] in the *Amazon S3 User Guide*.
|
612
|
+
#
|
613
|
+
# </note>
|
614
|
+
#
|
615
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
616
|
+
#
|
617
|
+
# </note>
|
618
|
+
#
|
442
619
|
#
|
443
620
|
#
|
444
621
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
|
622
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html
|
445
623
|
# @option options [String] :content_type
|
446
624
|
# A standard MIME type describing the format of the contents. For more
|
447
625
|
# information, see
|
448
|
-
# [
|
626
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type][1].
|
627
|
+
#
|
628
|
+
#
|
629
|
+
#
|
630
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type
|
631
|
+
# @option options [String] :checksum_algorithm
|
632
|
+
# Indicates the algorithm used to create the checksum for the object
|
633
|
+
# when you use the SDK. This header will not provide any additional
|
634
|
+
# functionality if you don't use the SDK. When you send this header,
|
635
|
+
# there must be a corresponding `x-amz-checksum-algorithm ` or
|
636
|
+
# `x-amz-trailer` header sent. Otherwise, Amazon S3 fails the request
|
637
|
+
# with the HTTP status code `400 Bad Request`.
|
638
|
+
#
|
639
|
+
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
640
|
+
# the supported algorithm from the following list:
|
641
|
+
#
|
642
|
+
# * CRC32
|
643
|
+
#
|
644
|
+
# * CRC32C
|
645
|
+
#
|
646
|
+
# * SHA1
|
647
|
+
#
|
648
|
+
# * SHA256
|
649
|
+
#
|
650
|
+
# For more information, see [Checking object integrity][1] in the
|
651
|
+
# *Amazon S3 User Guide*.
|
449
652
|
#
|
653
|
+
# If the individual checksum value you provide through
|
654
|
+
# `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
|
655
|
+
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3 ignores any
|
656
|
+
# provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
|
657
|
+
# that matches the provided value in `x-amz-checksum-algorithm `.
|
450
658
|
#
|
659
|
+
# <note markdown="1"> For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
|
660
|
+
# is the default checksum algorithm that's used for performance.
|
451
661
|
#
|
452
|
-
#
|
662
|
+
# </note>
|
663
|
+
#
|
664
|
+
#
|
665
|
+
#
|
666
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
667
|
+
# @option options [String] :checksum_crc32
|
668
|
+
# This header can be used as a data integrity check to verify that the
|
669
|
+
# data received is the same data that was originally sent. This header
|
670
|
+
# specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
|
671
|
+
# more information, see [Checking object integrity][1] in the *Amazon S3
|
672
|
+
# User Guide*.
|
673
|
+
#
|
674
|
+
#
|
675
|
+
#
|
676
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
677
|
+
# @option options [String] :checksum_crc32c
|
678
|
+
# This header can be used as a data integrity check to verify that the
|
679
|
+
# data received is the same data that was originally sent. This header
|
680
|
+
# specifies the base64-encoded, 32-bit CRC32C checksum of the object.
|
681
|
+
# For more information, see [Checking object integrity][1] in the
|
682
|
+
# *Amazon S3 User Guide*.
|
683
|
+
#
|
684
|
+
#
|
685
|
+
#
|
686
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
687
|
+
# @option options [String] :checksum_sha1
|
688
|
+
# This header can be used as a data integrity check to verify that the
|
689
|
+
# data received is the same data that was originally sent. This header
|
690
|
+
# specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
|
691
|
+
# more information, see [Checking object integrity][1] in the *Amazon S3
|
692
|
+
# User Guide*.
|
693
|
+
#
|
694
|
+
#
|
695
|
+
#
|
696
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
697
|
+
# @option options [String] :checksum_sha256
|
698
|
+
# This header can be used as a data integrity check to verify that the
|
699
|
+
# data received is the same data that was originally sent. This header
|
700
|
+
# specifies the base64-encoded, 256-bit SHA-256 digest of the object.
|
701
|
+
# For more information, see [Checking object integrity][1] in the
|
702
|
+
# *Amazon S3 User Guide*.
|
703
|
+
#
|
704
|
+
#
|
705
|
+
#
|
706
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
453
707
|
# @option options [Time,DateTime,Date,Integer,String] :expires
|
454
708
|
# The date and time at which the object is no longer cacheable. For more
|
455
709
|
# information, see
|
456
|
-
# [
|
710
|
+
# [https://www.rfc-editor.org/rfc/rfc7234#section-5.3][1].
|
457
711
|
#
|
458
712
|
#
|
459
713
|
#
|
460
|
-
# [1]:
|
714
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
|
461
715
|
# @option options [String] :grant_full_control
|
462
716
|
# Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
|
463
717
|
# object.
|
464
718
|
#
|
465
|
-
# This
|
719
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
720
|
+
#
|
721
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
722
|
+
#
|
723
|
+
# </note>
|
466
724
|
# @option options [String] :grant_read
|
467
725
|
# Allows grantee to read the object data and its metadata.
|
468
726
|
#
|
469
|
-
# This
|
727
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
728
|
+
#
|
729
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
730
|
+
#
|
731
|
+
# </note>
|
470
732
|
# @option options [String] :grant_read_acp
|
471
733
|
# Allows grantee to read the object ACL.
|
472
734
|
#
|
473
|
-
# This
|
735
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
736
|
+
#
|
737
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
738
|
+
#
|
739
|
+
# </note>
|
474
740
|
# @option options [String] :grant_write_acp
|
475
741
|
# Allows grantee to write the ACL for the applicable object.
|
476
742
|
#
|
477
|
-
# This
|
743
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
744
|
+
#
|
745
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
746
|
+
#
|
747
|
+
# </note>
|
478
748
|
# @option options [required, String] :key
|
479
749
|
# Object key for which the PUT action was initiated.
|
480
750
|
# @option options [Hash<String,String>] :metadata
|
481
751
|
# A map of metadata to store with the object in S3.
|
482
752
|
# @option options [String] :server_side_encryption
|
483
|
-
# The server-side encryption algorithm used when
|
484
|
-
# Amazon S3 (for example, AES256
|
753
|
+
# The server-side encryption algorithm that was used when you store this
|
754
|
+
# object in Amazon S3 (for example, `AES256`, `aws:kms`,
|
755
|
+
# `aws:kms:dsse`).
|
756
|
+
#
|
757
|
+
# <b>General purpose buckets </b> - You have four mutually exclusive
|
758
|
+
# options to protect data using server-side encryption in Amazon S3,
|
759
|
+
# depending on how you choose to manage the encryption keys.
|
760
|
+
# Specifically, the encryption key options are Amazon S3 managed keys
|
761
|
+
# (SSE-S3), Amazon Web Services KMS keys (SSE-KMS or DSSE-KMS), and
|
762
|
+
# customer-provided keys (SSE-C). Amazon S3 encrypts data with
|
763
|
+
# server-side encryption by using Amazon S3 managed keys (SSE-S3) by
|
764
|
+
# default. You can optionally tell Amazon S3 to encrypt data at rest by
|
765
|
+
# using server-side encryption with other key options. For more
|
766
|
+
# information, see [Using Server-Side Encryption][1] in the *Amazon S3
|
767
|
+
# User Guide*.
|
768
|
+
#
|
769
|
+
# <b>Directory buckets </b> - For directory buckets, only the
|
770
|
+
# server-side encryption with Amazon S3 managed keys (SSE-S3) (`AES256`)
|
771
|
+
# value is supported.
|
772
|
+
#
|
773
|
+
#
|
774
|
+
#
|
775
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
485
776
|
# @option options [String] :storage_class
|
486
777
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
487
778
|
# created objects. The STANDARD storage class provides high durability
|
488
779
|
# and high availability. Depending on performance needs, you can specify
|
489
|
-
# a different Storage Class.
|
490
|
-
#
|
491
|
-
#
|
780
|
+
# a different Storage Class. For more information, see [Storage
|
781
|
+
# Classes][1] in the *Amazon S3 User Guide*.
|
782
|
+
#
|
783
|
+
# <note markdown="1"> * For directory buckets, only the S3 Express One Zone storage class is
|
784
|
+
# supported to store newly created objects.
|
785
|
+
#
|
786
|
+
# * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
|
787
|
+
#
|
788
|
+
# </note>
|
492
789
|
#
|
493
790
|
#
|
494
791
|
#
|
@@ -497,7 +794,8 @@ module Aws::S3
|
|
497
794
|
# If the bucket is configured as a website, redirects requests for this
|
498
795
|
# object to another object in the same bucket or to an external URL.
|
499
796
|
# Amazon S3 stores the value of this header in the object metadata. For
|
500
|
-
# information about object metadata, see [Object Key and Metadata][1]
|
797
|
+
# information about object metadata, see [Object Key and Metadata][1] in
|
798
|
+
# the *Amazon S3 User Guide*.
|
501
799
|
#
|
502
800
|
# In the following example, the request header sets the redirect to an
|
503
801
|
# object (anotherPage.html) in the same bucket:
|
@@ -511,7 +809,11 @@ module Aws::S3
|
|
511
809
|
#
|
512
810
|
# For more information about website hosting in Amazon S3, see [Hosting
|
513
811
|
# Websites on Amazon S3][2] and [How to Configure Website Page
|
514
|
-
# Redirects][3]
|
812
|
+
# Redirects][3] in the *Amazon S3 User Guide*.
|
813
|
+
#
|
814
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
815
|
+
#
|
816
|
+
# </note>
|
515
817
|
#
|
516
818
|
#
|
517
819
|
#
|
@@ -519,73 +821,127 @@ module Aws::S3
|
|
519
821
|
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html
|
520
822
|
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html
|
521
823
|
# @option options [String] :sse_customer_algorithm
|
522
|
-
# Specifies the algorithm to use
|
523
|
-
# example, AES256).
|
824
|
+
# Specifies the algorithm to use when encrypting the object (for
|
825
|
+
# example, `AES256`).
|
826
|
+
#
|
827
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
828
|
+
#
|
829
|
+
# </note>
|
524
830
|
# @option options [String] :sse_customer_key
|
525
831
|
# Specifies the customer-provided encryption key for Amazon S3 to use in
|
526
832
|
# encrypting data. This value is used to store the object and then it is
|
527
833
|
# discarded; Amazon S3 does not store the encryption key. The key must
|
528
834
|
# be appropriate for use with the algorithm specified in the
|
529
835
|
# `x-amz-server-side-encryption-customer-algorithm` header.
|
836
|
+
#
|
837
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
838
|
+
#
|
839
|
+
# </note>
|
530
840
|
# @option options [String] :sse_customer_key_md5
|
531
841
|
# Specifies the 128-bit MD5 digest of the encryption key according to
|
532
842
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
533
843
|
# ensure that the encryption key was transmitted without error.
|
844
|
+
#
|
845
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
846
|
+
#
|
847
|
+
# </note>
|
534
848
|
# @option options [String] :ssekms_key_id
|
535
|
-
# If `x-amz-server-side-encryption`
|
536
|
-
# `aws:kms`, this header specifies the ID
|
537
|
-
# Management Service (
|
538
|
-
# managed key that was used for the object. If you specify
|
539
|
-
# `x-amz-server-side-encryption:aws:kms
|
849
|
+
# If `x-amz-server-side-encryption` has a valid value of `aws:kms` or
|
850
|
+
# `aws:kms:dsse`, this header specifies the ID (Key ID, Key ARN, or Key
|
851
|
+
# Alias) of the Key Management Service (KMS) symmetric encryption
|
852
|
+
# customer managed key that was used for the object. If you specify
|
853
|
+
# `x-amz-server-side-encryption:aws:kms` or
|
854
|
+
# `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide`
|
540
855
|
# x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
541
|
-
# Amazon Web Services managed key to protect the data. If the
|
542
|
-
# does not exist in the same account issuing the
|
543
|
-
# the full ARN and not just the ID.
|
856
|
+
# Amazon Web Services managed key (`aws/s3`) to protect the data. If the
|
857
|
+
# KMS key does not exist in the same account that's issuing the
|
858
|
+
# command, you must use the full ARN and not just the ID.
|
859
|
+
#
|
860
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
861
|
+
#
|
862
|
+
# </note>
|
544
863
|
# @option options [String] :ssekms_encryption_context
|
545
864
|
# Specifies the Amazon Web Services KMS Encryption Context to use for
|
546
865
|
# object encryption. The value of this header is a base64-encoded UTF-8
|
547
|
-
# string holding JSON with the encryption context key-value pairs.
|
866
|
+
# string holding JSON with the encryption context key-value pairs. This
|
867
|
+
# value is stored as object metadata and automatically gets passed on to
|
868
|
+
# Amazon Web Services KMS for future `GetObject` or `CopyObject`
|
869
|
+
# operations on this object. This value must be explicitly added during
|
870
|
+
# `CopyObject` operations.
|
871
|
+
#
|
872
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
873
|
+
#
|
874
|
+
# </note>
|
548
875
|
# @option options [Boolean] :bucket_key_enabled
|
549
876
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
550
|
-
# encryption with server-side encryption using
|
551
|
-
# Setting this header to `true` causes Amazon S3
|
552
|
-
# for object encryption with SSE-KMS.
|
877
|
+
# encryption with server-side encryption using Key Management Service
|
878
|
+
# (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
|
879
|
+
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
553
880
|
#
|
554
881
|
# Specifying this header with a PUT action doesn’t affect bucket-level
|
555
882
|
# settings for S3 Bucket Key.
|
883
|
+
#
|
884
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
885
|
+
#
|
886
|
+
# </note>
|
556
887
|
# @option options [String] :request_payer
|
557
888
|
# Confirms that the requester knows that they will be charged for the
|
558
889
|
# request. Bucket owners need not specify this parameter in their
|
559
|
-
# requests.
|
560
|
-
#
|
890
|
+
# requests. If either the source or destination S3 bucket has Requester
|
891
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
892
|
+
# the object. For information about downloading objects from Requester
|
893
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
561
894
|
# in the *Amazon S3 User Guide*.
|
562
895
|
#
|
896
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
897
|
+
#
|
898
|
+
# </note>
|
899
|
+
#
|
563
900
|
#
|
564
901
|
#
|
565
902
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
566
903
|
# @option options [String] :tagging
|
567
904
|
# The tag-set for the object. The tag-set must be encoded as URL Query
|
568
905
|
# parameters. (For example, "Key1=Value1")
|
906
|
+
#
|
907
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
908
|
+
#
|
909
|
+
# </note>
|
569
910
|
# @option options [String] :object_lock_mode
|
570
911
|
# The Object Lock mode that you want to apply to this object.
|
912
|
+
#
|
913
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
914
|
+
#
|
915
|
+
# </note>
|
571
916
|
# @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
|
572
917
|
# The date and time when you want this object's Object Lock to expire.
|
573
918
|
# Must be formatted as a timestamp parameter.
|
919
|
+
#
|
920
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
921
|
+
#
|
922
|
+
# </note>
|
574
923
|
# @option options [String] :object_lock_legal_hold_status
|
575
924
|
# Specifies whether a legal hold will be applied to this object. For
|
576
|
-
# more information about S3 Object Lock, see [Object Lock][1]
|
925
|
+
# more information about S3 Object Lock, see [Object Lock][1] in the
|
926
|
+
# *Amazon S3 User Guide*.
|
927
|
+
#
|
928
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
929
|
+
#
|
930
|
+
# </note>
|
577
931
|
#
|
578
932
|
#
|
579
933
|
#
|
580
934
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
|
581
935
|
# @option options [String] :expected_bucket_owner
|
582
|
-
# The account ID of the expected bucket owner. If the
|
583
|
-
#
|
584
|
-
#
|
936
|
+
# The account ID of the expected bucket owner. If the account ID that
|
937
|
+
# you provide does not match the actual owner of the bucket, the request
|
938
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
585
939
|
# @return [Object]
|
586
940
|
def put_object(options = {})
|
587
941
|
options = options.merge(bucket: @name)
|
588
|
-
|
942
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
943
|
+
@client.put_object(options)
|
944
|
+
end
|
589
945
|
Object.new(
|
590
946
|
bucket_name: @name,
|
591
947
|
key: options[:key],
|
@@ -644,6 +1000,7 @@ module Aws::S3
|
|
644
1000
|
# prefix: "Prefix",
|
645
1001
|
# upload_id_marker: "UploadIdMarker",
|
646
1002
|
# expected_bucket_owner: "AccountId",
|
1003
|
+
# request_payer: "requester", # accepts requester
|
647
1004
|
# })
|
648
1005
|
# @param [Hash] options ({})
|
649
1006
|
# @option options [String] :delimiter
|
@@ -655,30 +1012,56 @@ module Aws::S3
|
|
655
1012
|
# don't specify the prefix parameter, then the substring starts at the
|
656
1013
|
# beginning of the key. The keys that are grouped under `CommonPrefixes`
|
657
1014
|
# result element are not returned elsewhere in the response.
|
1015
|
+
#
|
1016
|
+
# <note markdown="1"> **Directory buckets** - For directory buckets, `/` is the only
|
1017
|
+
# supported delimiter.
|
1018
|
+
#
|
1019
|
+
# </note>
|
658
1020
|
# @option options [String] :encoding_type
|
659
1021
|
# Requests Amazon S3 to encode the object keys in the response and
|
660
|
-
# specifies the encoding method to use. An object key
|
661
|
-
# Unicode character; however, XML 1.0 parser cannot parse some
|
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
|
662
1024
|
# characters, such as characters with an ASCII value from 0 to 10. For
|
663
1025
|
# characters that are not supported in XML 1.0, you can add this
|
664
1026
|
# parameter to request that Amazon S3 encode the keys in the response.
|
665
1027
|
# @option options [String] :key_marker
|
666
|
-
#
|
667
|
-
# upload after which listing should begin.
|
1028
|
+
# Specifies the multipart upload after which listing should begin.
|
668
1029
|
#
|
669
|
-
#
|
670
|
-
#
|
671
|
-
#
|
1030
|
+
# <note markdown="1"> * **General purpose buckets** - For general purpose buckets,
|
1031
|
+
# `key-marker` is an object key. Together with `upload-id-marker`,
|
1032
|
+
# this parameter specifies the multipart upload after which listing
|
1033
|
+
# should begin.
|
672
1034
|
#
|
673
|
-
#
|
674
|
-
#
|
675
|
-
#
|
676
|
-
#
|
1035
|
+
# If `upload-id-marker` is not specified, only the keys
|
1036
|
+
# lexicographically greater than the specified `key-marker` will be
|
1037
|
+
# included in the list.
|
1038
|
+
#
|
1039
|
+
# If `upload-id-marker` is specified, any multipart uploads for a key
|
1040
|
+
# equal to the `key-marker` might also be included, provided those
|
1041
|
+
# multipart uploads have upload IDs lexicographically greater than the
|
1042
|
+
# specified `upload-id-marker`.
|
1043
|
+
#
|
1044
|
+
# * **Directory buckets** - For directory buckets, `key-marker` is
|
1045
|
+
# obfuscated and isn't a real object key. The `upload-id-marker`
|
1046
|
+
# parameter isn't supported by directory buckets. To list the
|
1047
|
+
# additional multipart uploads, you only need to set the value of
|
1048
|
+
# `key-marker` to the `NextKeyMarker` value from the previous
|
1049
|
+
# response.
|
1050
|
+
#
|
1051
|
+
# In the `ListMultipartUploads` response, the multipart uploads
|
1052
|
+
# aren't sorted lexicographically based on the object keys.
|
1053
|
+
#
|
1054
|
+
# </note>
|
677
1055
|
# @option options [String] :prefix
|
678
1056
|
# Lists in-progress uploads only for those keys that begin with the
|
679
1057
|
# specified prefix. You can use prefixes to separate a bucket into
|
680
|
-
# different grouping of keys. (You can think of using prefix to make
|
681
|
-
# groups in the same way you'd use a folder in a file system.)
|
1058
|
+
# different grouping of keys. (You can think of using `prefix` to make
|
1059
|
+
# groups in the same way that you'd use a folder in a file system.)
|
1060
|
+
#
|
1061
|
+
# <note markdown="1"> **Directory buckets** - For directory buckets, only prefixes that end
|
1062
|
+
# in a delimiter (`/`) are supported.
|
1063
|
+
#
|
1064
|
+
# </note>
|
682
1065
|
# @option options [String] :upload_id_marker
|
683
1066
|
# Together with key-marker, specifies the multipart upload after which
|
684
1067
|
# listing should begin. If key-marker is not specified, the
|
@@ -686,15 +1069,37 @@ module Aws::S3
|
|
686
1069
|
# uploads for a key equal to the key-marker might be included in the
|
687
1070
|
# list only if they have an upload ID lexicographically greater than the
|
688
1071
|
# specified `upload-id-marker`.
|
1072
|
+
#
|
1073
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1074
|
+
#
|
1075
|
+
# </note>
|
689
1076
|
# @option options [String] :expected_bucket_owner
|
690
|
-
# The account ID of the expected bucket owner. If the
|
691
|
-
#
|
692
|
-
#
|
1077
|
+
# The account ID of the expected bucket owner. If the account ID that
|
1078
|
+
# you provide does not match the actual owner of the bucket, the request
|
1079
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
1080
|
+
# @option options [String] :request_payer
|
1081
|
+
# Confirms that the requester knows that they will be charged for the
|
1082
|
+
# request. Bucket owners need not specify this parameter in their
|
1083
|
+
# requests. If either the source or destination S3 bucket has Requester
|
1084
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
1085
|
+
# the object. For information about downloading objects from Requester
|
1086
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
1087
|
+
# in the *Amazon S3 User Guide*.
|
1088
|
+
#
|
1089
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1090
|
+
#
|
1091
|
+
# </note>
|
1092
|
+
#
|
1093
|
+
#
|
1094
|
+
#
|
1095
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
693
1096
|
# @return [MultipartUpload::Collection]
|
694
1097
|
def multipart_uploads(options = {})
|
695
1098
|
batches = Enumerator.new do |y|
|
696
1099
|
options = options.merge(bucket: @name)
|
697
|
-
resp =
|
1100
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
1101
|
+
@client.list_multipart_uploads(options)
|
1102
|
+
end
|
698
1103
|
resp.each_page do |page|
|
699
1104
|
batch = []
|
700
1105
|
page.data.uploads.each do |u|
|
@@ -739,19 +1144,21 @@ module Aws::S3
|
|
739
1144
|
# prefix: "Prefix",
|
740
1145
|
# version_id_marker: "VersionIdMarker",
|
741
1146
|
# expected_bucket_owner: "AccountId",
|
1147
|
+
# request_payer: "requester", # accepts requester
|
1148
|
+
# optional_object_attributes: ["RestoreStatus"], # accepts RestoreStatus
|
742
1149
|
# })
|
743
1150
|
# @param [Hash] options ({})
|
744
1151
|
# @option options [String] :delimiter
|
745
1152
|
# A delimiter is a character that you specify to group keys. All keys
|
746
1153
|
# that contain the same string between the `prefix` and the first
|
747
1154
|
# occurrence of the delimiter are grouped under a single result element
|
748
|
-
# in CommonPrefixes
|
749
|
-
# max-keys limitation. These keys are not returned elsewhere in
|
750
|
-
# response.
|
1155
|
+
# in `CommonPrefixes`. These groups are counted as one result against
|
1156
|
+
# the `max-keys` limitation. These keys are not returned elsewhere in
|
1157
|
+
# the response.
|
751
1158
|
# @option options [String] :encoding_type
|
752
1159
|
# Requests Amazon S3 to encode the object keys in the response and
|
753
|
-
# specifies the encoding method to use. An object key
|
754
|
-
# Unicode character; however, XML 1.0 parser cannot parse some
|
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
|
755
1162
|
# characters, such as characters with an ASCII value from 0 to 10. For
|
756
1163
|
# characters that are not supported in XML 1.0, you can add this
|
757
1164
|
# parameter to request that Amazon S3 encode the keys in the response.
|
@@ -760,21 +1167,42 @@ module Aws::S3
|
|
760
1167
|
# @option options [String] :prefix
|
761
1168
|
# Use this parameter to select only those keys that begin with the
|
762
1169
|
# specified prefix. You can use prefixes to separate a bucket into
|
763
|
-
# different groupings of keys. (You can think of using prefix to make
|
764
|
-
# groups in the same way you'd use a folder in a file system.) You
|
765
|
-
# use prefix with delimiter to roll up numerous objects into a
|
766
|
-
# result under CommonPrefixes
|
1170
|
+
# different groupings of keys. (You can think of using `prefix` to make
|
1171
|
+
# groups in the same way that you'd use a folder in a file system.) You
|
1172
|
+
# can use `prefix` with `delimiter` to roll up numerous objects into a
|
1173
|
+
# single result under `CommonPrefixes`.
|
767
1174
|
# @option options [String] :version_id_marker
|
768
1175
|
# Specifies the object version you want to start listing from.
|
769
1176
|
# @option options [String] :expected_bucket_owner
|
770
|
-
# The account ID of the expected bucket owner. If the
|
771
|
-
#
|
772
|
-
#
|
1177
|
+
# The account ID of the expected bucket owner. If the account ID that
|
1178
|
+
# you provide does not match the actual owner of the bucket, the request
|
1179
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
1180
|
+
# @option options [String] :request_payer
|
1181
|
+
# Confirms that the requester knows that they will be charged for the
|
1182
|
+
# request. Bucket owners need not specify this parameter in their
|
1183
|
+
# requests. If either the source or destination S3 bucket has Requester
|
1184
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
1185
|
+
# the object. For information about downloading objects from Requester
|
1186
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
1187
|
+
# in the *Amazon S3 User Guide*.
|
1188
|
+
#
|
1189
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1190
|
+
#
|
1191
|
+
# </note>
|
1192
|
+
#
|
1193
|
+
#
|
1194
|
+
#
|
1195
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
1196
|
+
# @option options [Array<String>] :optional_object_attributes
|
1197
|
+
# Specifies the optional fields that you want returned in the response.
|
1198
|
+
# Fields that you do not specify are not returned.
|
773
1199
|
# @return [ObjectVersion::Collection]
|
774
1200
|
def object_versions(options = {})
|
775
1201
|
batches = Enumerator.new do |y|
|
776
1202
|
options = options.merge(bucket: @name)
|
777
|
-
resp =
|
1203
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
1204
|
+
@client.list_object_versions(options)
|
1205
|
+
end
|
778
1206
|
resp.each_page do |page|
|
779
1207
|
batch = []
|
780
1208
|
page.data.versions_delete_markers.each do |v|
|
@@ -802,35 +1230,82 @@ module Aws::S3
|
|
802
1230
|
# start_after: "StartAfter",
|
803
1231
|
# request_payer: "requester", # accepts requester
|
804
1232
|
# expected_bucket_owner: "AccountId",
|
1233
|
+
# optional_object_attributes: ["RestoreStatus"], # accepts RestoreStatus
|
805
1234
|
# })
|
806
1235
|
# @param [Hash] options ({})
|
807
1236
|
# @option options [String] :delimiter
|
808
|
-
# A delimiter is a character you use to group keys.
|
1237
|
+
# A delimiter is a character that you use to group keys.
|
1238
|
+
#
|
1239
|
+
# <note markdown="1"> * **Directory buckets** - For directory buckets, `/` is the only
|
1240
|
+
# supported delimiter.
|
1241
|
+
#
|
1242
|
+
# * <b>Directory buckets </b> - When you query `ListObjectsV2` with a
|
1243
|
+
# delimiter during in-progress multipart uploads, the `CommonPrefixes`
|
1244
|
+
# response parameter contains the prefixes that are associated with
|
1245
|
+
# the in-progress multipart uploads. For more information about
|
1246
|
+
# multipart uploads, see [Multipart Upload Overview][1] in the *Amazon
|
1247
|
+
# S3 User Guide*.
|
1248
|
+
#
|
1249
|
+
# </note>
|
1250
|
+
#
|
1251
|
+
#
|
1252
|
+
#
|
1253
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
|
809
1254
|
# @option options [String] :encoding_type
|
810
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`.
|
811
1259
|
# @option options [String] :prefix
|
812
1260
|
# Limits the response to keys that begin with the specified prefix.
|
1261
|
+
#
|
1262
|
+
# <note markdown="1"> **Directory buckets** - For directory buckets, only prefixes that end
|
1263
|
+
# in a delimiter (`/`) are supported.
|
1264
|
+
#
|
1265
|
+
# </note>
|
813
1266
|
# @option options [Boolean] :fetch_owner
|
814
|
-
# The owner field is not present in
|
815
|
-
# return owner field with each key in the result then set
|
816
|
-
#
|
1267
|
+
# The owner field is not present in `ListObjectsV2` by default. If you
|
1268
|
+
# want to return the owner field with each key in the result, then set
|
1269
|
+
# the `FetchOwner` field to `true`.
|
1270
|
+
#
|
1271
|
+
# <note markdown="1"> **Directory buckets** - For directory buckets, the bucket owner is
|
1272
|
+
# returned as the object owner for all objects.
|
1273
|
+
#
|
1274
|
+
# </note>
|
817
1275
|
# @option options [String] :start_after
|
818
1276
|
# StartAfter is where you want Amazon S3 to start listing from. Amazon
|
819
1277
|
# S3 starts listing after this specified key. StartAfter can be any key
|
820
1278
|
# in the bucket.
|
1279
|
+
#
|
1280
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1281
|
+
#
|
1282
|
+
# </note>
|
821
1283
|
# @option options [String] :request_payer
|
822
1284
|
# Confirms that the requester knows that she or he will be charged for
|
823
1285
|
# the list objects request in V2 style. Bucket owners need not specify
|
824
1286
|
# this parameter in their requests.
|
1287
|
+
#
|
1288
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1289
|
+
#
|
1290
|
+
# </note>
|
825
1291
|
# @option options [String] :expected_bucket_owner
|
826
|
-
# The account ID of the expected bucket owner. If the
|
827
|
-
#
|
828
|
-
#
|
1292
|
+
# The account ID of the expected bucket owner. If the account ID that
|
1293
|
+
# you provide does not match the actual owner of the bucket, the request
|
1294
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
1295
|
+
# @option options [Array<String>] :optional_object_attributes
|
1296
|
+
# Specifies the optional fields that you want returned in the response.
|
1297
|
+
# Fields that you do not specify are not returned.
|
1298
|
+
#
|
1299
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1300
|
+
#
|
1301
|
+
# </note>
|
829
1302
|
# @return [ObjectSummary::Collection]
|
830
1303
|
def objects(options = {})
|
831
1304
|
batches = Enumerator.new do |y|
|
832
1305
|
options = options.merge(bucket: @name)
|
833
|
-
resp =
|
1306
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
1307
|
+
@client.list_objects_v2(options)
|
1308
|
+
end
|
834
1309
|
resp.each_page do |page|
|
835
1310
|
batch = []
|
836
1311
|
page.data.contents.each do |c|
|