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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +450 -1
- 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 +250 -0
- data/lib/aws-sdk-s3/bucket.rb +720 -128
- data/lib/aws-sdk-s3/bucket_acl.rb +18 -17
- data/lib/aws-sdk-s3/bucket_cors.rb +22 -21
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +23 -18
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +76 -19
- data/lib/aws-sdk-s3/bucket_logging.rb +21 -14
- data/lib/aws-sdk-s3/bucket_notification.rb +6 -6
- data/lib/aws-sdk-s3/bucket_policy.rb +65 -20
- data/lib/aws-sdk-s3/bucket_region_cache.rb +9 -5
- data/lib/aws-sdk-s3/bucket_request_payment.rb +15 -15
- data/lib/aws-sdk-s3/bucket_tagging.rb +19 -19
- data/lib/aws-sdk-s3/bucket_versioning.rb +41 -41
- data/lib/aws-sdk-s3/bucket_website.rb +19 -19
- data/lib/aws-sdk-s3/client.rb +9352 -3264
- data/lib/aws-sdk-s3/client_api.rb +697 -164
- data/lib/aws-sdk-s3/customizations/bucket.rb +1 -1
- data/lib/aws-sdk-s3/customizations/errors.rb +16 -3
- data/lib/aws-sdk-s3/customizations/object.rb +112 -56
- data/lib/aws-sdk-s3/customizations/object_summary.rb +5 -0
- data/lib/aws-sdk-s3/customizations/object_version.rb +13 -0
- data/lib/aws-sdk-s3/customizations.rb +26 -31
- data/lib/aws-sdk-s3/encryption/client.rb +2 -2
- data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +2 -2
- data/lib/aws-sdk-s3/encryptionV2/client.rb +2 -2
- data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +2 -2
- data/lib/aws-sdk-s3/endpoint_parameters.rb +54 -15
- data/lib/aws-sdk-s3/endpoint_provider.rb +439 -456
- data/lib/aws-sdk-s3/endpoints.rb +629 -1261
- data/lib/aws-sdk-s3/errors.rb +58 -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 +156 -69
- data/lib/aws-sdk-s3/file_uploader.rb +4 -6
- data/lib/aws-sdk-s3/legacy_signer.rb +2 -1
- data/lib/aws-sdk-s3/multipart_download_error.rb +8 -0
- data/lib/aws-sdk-s3/multipart_file_uploader.rb +56 -69
- data/lib/aws-sdk-s3/multipart_stream_uploader.rb +84 -91
- data/lib/aws-sdk-s3/multipart_upload.rb +179 -26
- data/lib/aws-sdk-s3/multipart_upload_error.rb +3 -4
- data/lib/aws-sdk-s3/multipart_upload_part.rb +201 -60
- data/lib/aws-sdk-s3/object.rb +2007 -281
- data/lib/aws-sdk-s3/object_acl.rb +43 -23
- data/lib/aws-sdk-s3/object_copier.rb +1 -1
- data/lib/aws-sdk-s3/object_multipart_copier.rb +44 -25
- data/lib/aws-sdk-s3/object_summary.rb +1735 -232
- data/lib/aws-sdk-s3/object_version.rb +394 -52
- data/lib/aws-sdk-s3/plugins/access_grants.rb +178 -0
- data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
- data/lib/aws-sdk-s3/plugins/endpoints.rb +32 -208
- data/lib/aws-sdk-s3/plugins/express_session_auth.rb +88 -0
- data/lib/aws-sdk-s3/plugins/http_200_errors.rb +55 -18
- data/lib/aws-sdk-s3/plugins/location_constraint.rb +3 -1
- data/lib/aws-sdk-s3/plugins/md5s.rb +10 -70
- data/lib/aws-sdk-s3/plugins/s3_signer.rb +7 -2
- data/lib/aws-sdk-s3/plugins/streaming_retry.rb +5 -7
- data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -1
- data/lib/aws-sdk-s3/presigned_post.rb +52 -43
- data/lib/aws-sdk-s3/presigner.rb +9 -7
- data/lib/aws-sdk-s3/resource.rb +127 -22
- data/lib/aws-sdk-s3/transfer_manager.rb +252 -0
- data/lib/aws-sdk-s3/types.rb +8068 -1887
- data/lib/aws-sdk-s3.rb +35 -31
- data/sig/bucket.rbs +231 -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 +115 -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 +2584 -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 +44 -0
- data/sig/multipart_upload.rbs +120 -0
- data/sig/multipart_upload_part.rbs +109 -0
- data/sig/object.rbs +462 -0
- data/sig/object_acl.rbs +86 -0
- data/sig/object_summary.rbs +345 -0
- data/sig/object_version.rbs +143 -0
- data/sig/resource.rbs +141 -0
- data/sig/types.rbs +2866 -0
- data/sig/waiters.rbs +95 -0
- metadata +44 -12
- data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +0 -31
data/lib/aws-sdk-s3/bucket.rb
CHANGED
@@ -41,6 +41,31 @@ module Aws::S3
|
|
41
41
|
data[:creation_date]
|
42
42
|
end
|
43
43
|
|
44
|
+
# `BucketRegion` indicates the Amazon Web Services region where the
|
45
|
+
# bucket is located. If the request contains at least one valid
|
46
|
+
# parameter, it is included in the response.
|
47
|
+
# @return [String]
|
48
|
+
def bucket_region
|
49
|
+
data[:bucket_region]
|
50
|
+
end
|
51
|
+
|
52
|
+
# The Amazon Resource Name (ARN) of the S3 bucket. ARNs uniquely
|
53
|
+
# identify Amazon Web Services resources across all of Amazon Web
|
54
|
+
# Services.
|
55
|
+
#
|
56
|
+
# <note markdown="1"> This parameter is only supported for S3 directory buckets. For more
|
57
|
+
# information, see [Using tags with directory buckets][1].
|
58
|
+
#
|
59
|
+
# </note>
|
60
|
+
#
|
61
|
+
#
|
62
|
+
#
|
63
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-tagging.html
|
64
|
+
# @return [String]
|
65
|
+
def bucket_arn
|
66
|
+
data[:bucket_arn]
|
67
|
+
end
|
68
|
+
|
44
69
|
# @!endgroup
|
45
70
|
|
46
71
|
# @return [Client]
|
@@ -95,7 +120,7 @@ module Aws::S3
|
|
95
120
|
options, params = separate_params_and_options(options)
|
96
121
|
waiter = Waiters::BucketExists.new(options)
|
97
122
|
yield_waiter_and_warn(waiter, &block) if block_given?
|
98
|
-
Aws::Plugins::UserAgent.
|
123
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
99
124
|
waiter.wait(params.merge(bucket: @name))
|
100
125
|
end
|
101
126
|
Bucket.new({
|
@@ -114,7 +139,7 @@ module Aws::S3
|
|
114
139
|
options, params = separate_params_and_options(options)
|
115
140
|
waiter = Waiters::BucketNotExists.new(options)
|
116
141
|
yield_waiter_and_warn(waiter, &block) if block_given?
|
117
|
-
Aws::Plugins::UserAgent.
|
142
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
118
143
|
waiter.wait(params.merge(bucket: @name))
|
119
144
|
end
|
120
145
|
Bucket.new({
|
@@ -217,7 +242,7 @@ module Aws::S3
|
|
217
242
|
:retry
|
218
243
|
end
|
219
244
|
end
|
220
|
-
Aws::Plugins::UserAgent.
|
245
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
221
246
|
Aws::Waiters::Waiter.new(options).wait({})
|
222
247
|
end
|
223
248
|
end
|
@@ -229,7 +254,21 @@ module Aws::S3
|
|
229
254
|
# bucket.create({
|
230
255
|
# acl: "private", # accepts private, public-read, public-read-write, authenticated-read
|
231
256
|
# create_bucket_configuration: {
|
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-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-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
|
257
|
+
# 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, ap-southeast-4, ap-southeast-5, ca-central-1, cn-north-1, cn-northwest-1, EU, eu-central-1, eu-central-2, eu-north-1, eu-south-1, eu-south-2, eu-west-1, eu-west-2, eu-west-3, il-central-1, me-central-1, me-south-1, sa-east-1, us-east-2, us-gov-east-1, us-gov-west-1, us-west-1, us-west-2
|
258
|
+
# location: {
|
259
|
+
# type: "AvailabilityZone", # accepts AvailabilityZone, LocalZone
|
260
|
+
# name: "LocationNameAsString",
|
261
|
+
# },
|
262
|
+
# bucket: {
|
263
|
+
# data_redundancy: "SingleAvailabilityZone", # accepts SingleAvailabilityZone, SingleLocalZone
|
264
|
+
# type: "Directory", # accepts Directory
|
265
|
+
# },
|
266
|
+
# tags: [
|
267
|
+
# {
|
268
|
+
# key: "ObjectKey", # required
|
269
|
+
# value: "Value", # required
|
270
|
+
# },
|
271
|
+
# ],
|
233
272
|
# },
|
234
273
|
# grant_full_control: "GrantFullControl",
|
235
274
|
# grant_read: "GrantRead",
|
@@ -242,46 +281,91 @@ module Aws::S3
|
|
242
281
|
# @param [Hash] options ({})
|
243
282
|
# @option options [String] :acl
|
244
283
|
# The canned ACL to apply to the bucket.
|
284
|
+
#
|
285
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
286
|
+
#
|
287
|
+
# </note>
|
245
288
|
# @option options [Types::CreateBucketConfiguration] :create_bucket_configuration
|
246
289
|
# The configuration information for the bucket.
|
247
290
|
# @option options [String] :grant_full_control
|
248
291
|
# Allows grantee the read, write, read ACP, and write ACP permissions on
|
249
292
|
# the bucket.
|
293
|
+
#
|
294
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
295
|
+
#
|
296
|
+
# </note>
|
250
297
|
# @option options [String] :grant_read
|
251
298
|
# Allows grantee to list the objects in the bucket.
|
299
|
+
#
|
300
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
301
|
+
#
|
302
|
+
# </note>
|
252
303
|
# @option options [String] :grant_read_acp
|
253
304
|
# Allows grantee to read the bucket ACL.
|
305
|
+
#
|
306
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
307
|
+
#
|
308
|
+
# </note>
|
254
309
|
# @option options [String] :grant_write
|
255
310
|
# Allows grantee to create new objects in the bucket.
|
256
311
|
#
|
257
312
|
# For the bucket and object owners of existing objects, also allows
|
258
313
|
# deletions and overwrites of those objects.
|
314
|
+
#
|
315
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
316
|
+
#
|
317
|
+
# </note>
|
259
318
|
# @option options [String] :grant_write_acp
|
260
319
|
# Allows grantee to write the ACL for the applicable bucket.
|
320
|
+
#
|
321
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
322
|
+
#
|
323
|
+
# </note>
|
261
324
|
# @option options [Boolean] :object_lock_enabled_for_bucket
|
262
325
|
# Specifies whether you want S3 Object Lock to be enabled for the new
|
263
326
|
# bucket.
|
327
|
+
#
|
328
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
329
|
+
#
|
330
|
+
# </note>
|
264
331
|
# @option options [String] :object_ownership
|
265
332
|
# The container element for object ownership for a bucket's ownership
|
266
333
|
# controls.
|
267
334
|
#
|
268
|
-
# BucketOwnerPreferred - Objects uploaded to the bucket change
|
269
|
-
# to the bucket owner if the objects are uploaded with the
|
335
|
+
# `BucketOwnerPreferred` - Objects uploaded to the bucket change
|
336
|
+
# ownership to the bucket owner if the objects are uploaded with the
|
270
337
|
# `bucket-owner-full-control` canned ACL.
|
271
338
|
#
|
272
|
-
# ObjectWriter - The uploading account will own the object if the
|
273
|
-
# is uploaded with the `bucket-owner-full-control` canned ACL.
|
339
|
+
# `ObjectWriter` - The uploading account will own the object if the
|
340
|
+
# object is uploaded with the `bucket-owner-full-control` canned ACL.
|
341
|
+
#
|
342
|
+
# `BucketOwnerEnforced` - Access control lists (ACLs) are disabled and
|
343
|
+
# no longer affect permissions. The bucket owner automatically owns and
|
344
|
+
# has full control over every object in the bucket. The bucket only
|
345
|
+
# accepts PUT requests that don't specify an ACL or specify bucket
|
346
|
+
# owner full control ACLs (such as the predefined
|
347
|
+
# `bucket-owner-full-control` canned ACL or a custom ACL in XML format
|
348
|
+
# that grants the same permissions).
|
349
|
+
#
|
350
|
+
# By default, `ObjectOwnership` is set to `BucketOwnerEnforced` and ACLs
|
351
|
+
# are disabled. We recommend keeping ACLs disabled, except in uncommon
|
352
|
+
# use cases where you must control access for each object individually.
|
353
|
+
# For more information about S3 Object Ownership, see [Controlling
|
354
|
+
# ownership of objects and disabling ACLs for your bucket][1] in the
|
355
|
+
# *Amazon S3 User Guide*.
|
356
|
+
#
|
357
|
+
# <note markdown="1"> This functionality is not supported for directory buckets. Directory
|
358
|
+
# buckets use the bucket owner enforced setting for S3 Object Ownership.
|
274
359
|
#
|
275
|
-
#
|
276
|
-
#
|
277
|
-
#
|
278
|
-
#
|
279
|
-
#
|
280
|
-
# equivalent form of this ACL expressed in the XML format.
|
360
|
+
# </note>
|
361
|
+
#
|
362
|
+
#
|
363
|
+
#
|
364
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
|
281
365
|
# @return [Types::CreateBucketOutput]
|
282
366
|
def create(options = {})
|
283
367
|
options = options.merge(bucket: @name)
|
284
|
-
resp = Aws::Plugins::UserAgent.
|
368
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
285
369
|
@client.create_bucket(options)
|
286
370
|
end
|
287
371
|
resp.data
|
@@ -294,13 +378,19 @@ module Aws::S3
|
|
294
378
|
# })
|
295
379
|
# @param [Hash] options ({})
|
296
380
|
# @option options [String] :expected_bucket_owner
|
297
|
-
# The account ID of the expected bucket owner. If the
|
298
|
-
#
|
299
|
-
# Forbidden` (access denied).
|
381
|
+
# The account ID of the expected bucket owner. If the account ID that
|
382
|
+
# you provide does not match the actual owner of the bucket, the request
|
383
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
384
|
+
#
|
385
|
+
# <note markdown="1"> For directory buckets, this header is not supported in this API
|
386
|
+
# operation. If you specify this header, the request fails with the HTTP
|
387
|
+
# status code `501 Not Implemented`.
|
388
|
+
#
|
389
|
+
# </note>
|
300
390
|
# @return [EmptyStructure]
|
301
391
|
def delete(options = {})
|
302
392
|
options = options.merge(bucket: @name)
|
303
|
-
resp = Aws::Plugins::UserAgent.
|
393
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
304
394
|
@client.delete_bucket(options)
|
305
395
|
end
|
306
396
|
resp.data
|
@@ -314,6 +404,9 @@ module Aws::S3
|
|
314
404
|
# {
|
315
405
|
# key: "ObjectKey", # required
|
316
406
|
# version_id: "ObjectVersionId",
|
407
|
+
# etag: "ETag",
|
408
|
+
# last_modified_time: Time.now,
|
409
|
+
# size: 1,
|
317
410
|
# },
|
318
411
|
# ],
|
319
412
|
# quiet: false,
|
@@ -322,7 +415,7 @@ module Aws::S3
|
|
322
415
|
# request_payer: "requester", # accepts requester
|
323
416
|
# bypass_governance_retention: false,
|
324
417
|
# expected_bucket_owner: "AccountId",
|
325
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
418
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
326
419
|
# })
|
327
420
|
# @param [Hash] options ({})
|
328
421
|
# @option options [required, Types::Delete] :delete
|
@@ -332,13 +425,36 @@ module Aws::S3
|
|
332
425
|
# space, and the value that is displayed on your authentication device.
|
333
426
|
# Required to permanently delete a versioned object if versioning is
|
334
427
|
# configured with MFA delete enabled.
|
428
|
+
#
|
429
|
+
# When performing the `DeleteObjects` operation on an MFA delete enabled
|
430
|
+
# bucket, which attempts to delete the specified versioned objects, you
|
431
|
+
# must include an MFA token. If you don't provide an MFA token, the
|
432
|
+
# entire request will fail, even if there are non-versioned objects that
|
433
|
+
# you are trying to delete. If you provide an invalid token, whether
|
434
|
+
# there are versioned object keys in the request or not, the entire
|
435
|
+
# Multi-Object Delete request will fail. For information about MFA
|
436
|
+
# Delete, see [ MFA Delete][1] in the *Amazon S3 User Guide*.
|
437
|
+
#
|
438
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
439
|
+
#
|
440
|
+
# </note>
|
441
|
+
#
|
442
|
+
#
|
443
|
+
#
|
444
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete
|
335
445
|
# @option options [String] :request_payer
|
336
446
|
# Confirms that the requester knows that they will be charged for the
|
337
447
|
# request. Bucket owners need not specify this parameter in their
|
338
|
-
# requests.
|
448
|
+
# requests. If either the source or destination S3 bucket has Requester
|
449
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
450
|
+
# the object. For information about downloading objects from Requester
|
339
451
|
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
340
452
|
# in the *Amazon S3 User Guide*.
|
341
453
|
#
|
454
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
455
|
+
#
|
456
|
+
# </note>
|
457
|
+
#
|
342
458
|
#
|
343
459
|
#
|
344
460
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
@@ -346,32 +462,53 @@ module Aws::S3
|
|
346
462
|
# Specifies whether you want to delete this object even if it has a
|
347
463
|
# Governance-type Object Lock in place. To use this header, you must
|
348
464
|
# have the `s3:BypassGovernanceRetention` permission.
|
465
|
+
#
|
466
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
467
|
+
#
|
468
|
+
# </note>
|
349
469
|
# @option options [String] :expected_bucket_owner
|
350
|
-
# The account ID of the expected bucket owner. If the
|
351
|
-
#
|
352
|
-
# Forbidden` (access denied).
|
470
|
+
# The account ID of the expected bucket owner. If the account ID that
|
471
|
+
# you provide does not match the actual owner of the bucket, the request
|
472
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
353
473
|
# @option options [String] :checksum_algorithm
|
354
474
|
# Indicates the algorithm used to create the checksum for the object
|
355
|
-
# when
|
356
|
-
# functionality if
|
357
|
-
# must be a corresponding `x-amz-checksum` or
|
358
|
-
# sent. Otherwise, Amazon S3 fails the request
|
359
|
-
# `400 Bad Request`.
|
360
|
-
#
|
475
|
+
# when you use the SDK. This header will not provide any additional
|
476
|
+
# functionality if you don't use the SDK. When you send this header,
|
477
|
+
# there must be a corresponding `x-amz-checksum-algorithm ` or
|
478
|
+
# `x-amz-trailer` header sent. Otherwise, Amazon S3 fails the request
|
479
|
+
# with the HTTP status code `400 Bad Request`.
|
480
|
+
#
|
481
|
+
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
482
|
+
# the supported algorithm from the following list:
|
483
|
+
#
|
484
|
+
# * `CRC32`
|
485
|
+
#
|
486
|
+
# * `CRC32C`
|
487
|
+
#
|
488
|
+
# * `CRC64NVME`
|
489
|
+
#
|
490
|
+
# * `SHA1`
|
491
|
+
#
|
492
|
+
# * `SHA256`
|
493
|
+
#
|
494
|
+
# For more information, see [Checking object integrity][1] in the
|
495
|
+
# *Amazon S3 User Guide*.
|
496
|
+
#
|
497
|
+
# If the individual checksum value you provide through
|
498
|
+
# `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
|
499
|
+
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
|
500
|
+
# request with a `BadDigest` error.
|
361
501
|
#
|
362
502
|
# If you provide an individual checksum, Amazon S3 ignores any provided
|
363
503
|
# `ChecksumAlgorithm` parameter.
|
364
504
|
#
|
365
|
-
# This checksum algorithm must be the same for all parts and it match
|
366
|
-
# the checksum value supplied in the `CreateMultipartUpload` request.
|
367
|
-
#
|
368
505
|
#
|
369
506
|
#
|
370
507
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
371
508
|
# @return [Types::DeleteObjectsOutput]
|
372
509
|
def delete_objects(options = {})
|
373
510
|
options = options.merge(bucket: @name)
|
374
|
-
resp = Aws::Plugins::UserAgent.
|
511
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
375
512
|
@client.delete_objects(options)
|
376
513
|
end
|
377
514
|
resp.data
|
@@ -389,22 +526,26 @@ module Aws::S3
|
|
389
526
|
# content_length: 1,
|
390
527
|
# content_md5: "ContentMD5",
|
391
528
|
# content_type: "ContentType",
|
392
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
529
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
393
530
|
# checksum_crc32: "ChecksumCRC32",
|
394
531
|
# checksum_crc32c: "ChecksumCRC32C",
|
532
|
+
# checksum_crc64nvme: "ChecksumCRC64NVME",
|
395
533
|
# checksum_sha1: "ChecksumSHA1",
|
396
534
|
# checksum_sha256: "ChecksumSHA256",
|
397
535
|
# expires: Time.now,
|
536
|
+
# if_match: "IfMatch",
|
537
|
+
# if_none_match: "IfNoneMatch",
|
398
538
|
# grant_full_control: "GrantFullControl",
|
399
539
|
# grant_read: "GrantRead",
|
400
540
|
# grant_read_acp: "GrantReadACP",
|
401
541
|
# grant_write_acp: "GrantWriteACP",
|
402
542
|
# key: "ObjectKey", # required
|
543
|
+
# write_offset_bytes: 1,
|
403
544
|
# metadata: {
|
404
545
|
# "MetadataKey" => "MetadataValue",
|
405
546
|
# },
|
406
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
407
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW
|
547
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
548
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
|
408
549
|
# website_redirect_location: "WebsiteRedirectLocation",
|
409
550
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
410
551
|
# sse_customer_key: "SSECustomerKey",
|
@@ -422,13 +563,41 @@ module Aws::S3
|
|
422
563
|
# @param [Hash] options ({})
|
423
564
|
# @option options [String] :acl
|
424
565
|
# The canned ACL to apply to the object. For more information, see
|
425
|
-
# [Canned ACL][1]
|
566
|
+
# [Canned ACL][1] in the *Amazon S3 User Guide*.
|
567
|
+
#
|
568
|
+
# When adding a new object, you can use headers to grant ACL-based
|
569
|
+
# permissions to individual Amazon Web Services accounts or to
|
570
|
+
# predefined groups defined by Amazon S3. These permissions are then
|
571
|
+
# added to the ACL on the object. By default, all objects are private.
|
572
|
+
# Only the owner has full access control. For more information, see
|
573
|
+
# [Access Control List (ACL) Overview][2] and [Managing ACLs Using the
|
574
|
+
# REST API][3] in the *Amazon S3 User Guide*.
|
575
|
+
#
|
576
|
+
# If the bucket that you're uploading objects to uses the bucket owner
|
577
|
+
# enforced setting for S3 Object Ownership, ACLs are disabled and no
|
578
|
+
# longer affect permissions. Buckets that use this setting only accept
|
579
|
+
# PUT requests that don't specify an ACL or PUT requests that specify
|
580
|
+
# bucket owner full control ACLs, such as the
|
581
|
+
# `bucket-owner-full-control` canned ACL or an equivalent form of this
|
582
|
+
# ACL expressed in the XML format. PUT requests that contain other ACLs
|
583
|
+
# (for example, custom grants to certain Amazon Web Services accounts)
|
584
|
+
# fail and return a `400` error with the error code
|
585
|
+
# `AccessControlListNotSupported`. For more information, see [
|
586
|
+
# Controlling ownership of objects and disabling ACLs][4] in the *Amazon
|
587
|
+
# S3 User Guide*.
|
588
|
+
#
|
589
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
590
|
+
#
|
591
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
426
592
|
#
|
427
|
-
#
|
593
|
+
# </note>
|
428
594
|
#
|
429
595
|
#
|
430
596
|
#
|
431
597
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
|
598
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
|
599
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html
|
600
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
|
432
601
|
# @option options [String, StringIO, File] :body
|
433
602
|
# Object data.
|
434
603
|
# @option options [String] :cache_control
|
@@ -467,7 +636,7 @@ module Aws::S3
|
|
467
636
|
#
|
468
637
|
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
|
469
638
|
# @option options [String] :content_md5
|
470
|
-
# The
|
639
|
+
# The Base64 encoded 128-bit `MD5` digest of the message (without the
|
471
640
|
# headers) according to RFC 1864. This header can be used as a message
|
472
641
|
# integrity check to verify that the data is the same data that was
|
473
642
|
# originally sent. Although it is optional, we recommend using the
|
@@ -475,9 +644,22 @@ module Aws::S3
|
|
475
644
|
# information about REST request authentication, see [REST
|
476
645
|
# Authentication][1].
|
477
646
|
#
|
647
|
+
# <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
|
648
|
+
# for any request to upload an object with a retention period configured
|
649
|
+
# using Amazon S3 Object Lock. For more information, see [Uploading
|
650
|
+
# objects to an Object Lock enabled bucket ][2] in the *Amazon S3 User
|
651
|
+
# Guide*.
|
652
|
+
#
|
653
|
+
# </note>
|
654
|
+
#
|
655
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
656
|
+
#
|
657
|
+
# </note>
|
658
|
+
#
|
478
659
|
#
|
479
660
|
#
|
480
661
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
|
662
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-put-object
|
481
663
|
# @option options [String] :content_type
|
482
664
|
# A standard MIME type describing the format of the contents. For more
|
483
665
|
# information, see
|
@@ -488,25 +670,54 @@ module Aws::S3
|
|
488
670
|
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type
|
489
671
|
# @option options [String] :checksum_algorithm
|
490
672
|
# Indicates the algorithm used to create the checksum for the object
|
491
|
-
# when
|
492
|
-
# functionality if
|
493
|
-
# must be a corresponding `x-amz-checksum` or
|
494
|
-
# sent. Otherwise, Amazon S3 fails the request
|
495
|
-
# `400 Bad Request`.
|
496
|
-
# integrity][1] in the *Amazon S3 User Guide*.
|
673
|
+
# when you use the SDK. This header will not provide any additional
|
674
|
+
# functionality if you don't use the SDK. When you send this header,
|
675
|
+
# there must be a corresponding `x-amz-checksum-algorithm ` or
|
676
|
+
# `x-amz-trailer` header sent. Otherwise, Amazon S3 fails the request
|
677
|
+
# with the HTTP status code `400 Bad Request`.
|
497
678
|
#
|
498
|
-
#
|
499
|
-
#
|
679
|
+
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
680
|
+
# the supported algorithm from the following list:
|
681
|
+
#
|
682
|
+
# * `CRC32`
|
683
|
+
#
|
684
|
+
# * `CRC32C`
|
685
|
+
#
|
686
|
+
# * `CRC64NVME`
|
687
|
+
#
|
688
|
+
# * `SHA1`
|
689
|
+
#
|
690
|
+
# * `SHA256`
|
691
|
+
#
|
692
|
+
# For more information, see [Checking object integrity][1] in the
|
693
|
+
# *Amazon S3 User Guide*.
|
694
|
+
#
|
695
|
+
# If the individual checksum value you provide through
|
696
|
+
# `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
|
697
|
+
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
|
698
|
+
# request with a `BadDigest` error.
|
699
|
+
#
|
700
|
+
# <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
|
701
|
+
# for any request to upload an object with a retention period configured
|
702
|
+
# using Amazon S3 Object Lock. For more information, see [Uploading
|
703
|
+
# objects to an Object Lock enabled bucket ][2] in the *Amazon S3 User
|
704
|
+
# Guide*.
|
705
|
+
#
|
706
|
+
# </note>
|
707
|
+
#
|
708
|
+
# For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
|
709
|
+
# is the default checksum algorithm that's used for performance.
|
500
710
|
#
|
501
711
|
#
|
502
712
|
#
|
503
713
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
714
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-put-object
|
504
715
|
# @option options [String] :checksum_crc32
|
505
716
|
# This header can be used as a data integrity check to verify that the
|
506
717
|
# data received is the same data that was originally sent. This header
|
507
|
-
# specifies the
|
508
|
-
# more information, see [Checking object integrity][1] in the
|
509
|
-
# User Guide*.
|
718
|
+
# specifies the Base64 encoded, 32-bit `CRC32` checksum of the object.
|
719
|
+
# For more information, see [Checking object integrity][1] in the
|
720
|
+
# *Amazon S3 User Guide*.
|
510
721
|
#
|
511
722
|
#
|
512
723
|
#
|
@@ -514,17 +725,28 @@ module Aws::S3
|
|
514
725
|
# @option options [String] :checksum_crc32c
|
515
726
|
# This header can be used as a data integrity check to verify that the
|
516
727
|
# data received is the same data that was originally sent. This header
|
517
|
-
# specifies the
|
728
|
+
# specifies the Base64 encoded, 32-bit `CRC32C` checksum of the object.
|
518
729
|
# For more information, see [Checking object integrity][1] in the
|
519
730
|
# *Amazon S3 User Guide*.
|
520
731
|
#
|
521
732
|
#
|
522
733
|
#
|
523
734
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
735
|
+
# @option options [String] :checksum_crc64nvme
|
736
|
+
# This header can be used as a data integrity check to verify that the
|
737
|
+
# data received is the same data that was originally sent. This header
|
738
|
+
# specifies the Base64 encoded, 64-bit `CRC64NVME` checksum of the
|
739
|
+
# object. The `CRC64NVME` checksum is always a full object checksum. For
|
740
|
+
# more information, see [Checking object integrity in the Amazon S3 User
|
741
|
+
# Guide][1].
|
742
|
+
#
|
743
|
+
#
|
744
|
+
#
|
745
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
524
746
|
# @option options [String] :checksum_sha1
|
525
747
|
# This header can be used as a data integrity check to verify that the
|
526
748
|
# data received is the same data that was originally sent. This header
|
527
|
-
# specifies the
|
749
|
+
# specifies the Base64 encoded, 160-bit `SHA1` digest of the object. For
|
528
750
|
# more information, see [Checking object integrity][1] in the *Amazon S3
|
529
751
|
# User Guide*.
|
530
752
|
#
|
@@ -534,7 +756,7 @@ module Aws::S3
|
|
534
756
|
# @option options [String] :checksum_sha256
|
535
757
|
# This header can be used as a data integrity check to verify that the
|
536
758
|
# data received is the same data that was originally sent. This header
|
537
|
-
# specifies the
|
759
|
+
# specifies the Base64 encoded, 256-bit `SHA256` digest of the object.
|
538
760
|
# For more information, see [Checking object integrity][1] in the
|
539
761
|
# *Amazon S3 User Guide*.
|
540
762
|
#
|
@@ -549,37 +771,175 @@ module Aws::S3
|
|
549
771
|
#
|
550
772
|
#
|
551
773
|
# [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
|
774
|
+
# @option options [String] :if_match
|
775
|
+
# Uploads the object only if the ETag (entity tag) value provided during
|
776
|
+
# the WRITE operation matches the ETag of the object in S3. If the ETag
|
777
|
+
# values do not match, the operation returns a `412 Precondition Failed`
|
778
|
+
# error.
|
779
|
+
#
|
780
|
+
# If a conflicting operation occurs during the upload S3 returns a `409
|
781
|
+
# ConditionalRequestConflict` response. On a 409 failure you should
|
782
|
+
# fetch the object's ETag and retry the upload.
|
783
|
+
#
|
784
|
+
# Expects the ETag value as a string.
|
785
|
+
#
|
786
|
+
# For more information about conditional requests, see [RFC 7232][1], or
|
787
|
+
# [Conditional requests][2] in the *Amazon S3 User Guide*.
|
788
|
+
#
|
789
|
+
#
|
790
|
+
#
|
791
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
792
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
|
793
|
+
# @option options [String] :if_none_match
|
794
|
+
# Uploads the object only if the object key name does not already exist
|
795
|
+
# in the bucket specified. Otherwise, Amazon S3 returns a `412
|
796
|
+
# Precondition Failed` error.
|
797
|
+
#
|
798
|
+
# If a conflicting operation occurs during the upload S3 returns a `409
|
799
|
+
# ConditionalRequestConflict` response. On a 409 failure you should
|
800
|
+
# retry the upload.
|
801
|
+
#
|
802
|
+
# Expects the '*' (asterisk) character.
|
803
|
+
#
|
804
|
+
# For more information about conditional requests, see [RFC 7232][1], or
|
805
|
+
# [Conditional requests][2] in the *Amazon S3 User Guide*.
|
806
|
+
#
|
807
|
+
#
|
808
|
+
#
|
809
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
810
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
|
552
811
|
# @option options [String] :grant_full_control
|
553
812
|
# Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
|
554
813
|
# object.
|
555
814
|
#
|
556
|
-
# This
|
815
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
816
|
+
#
|
817
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
818
|
+
#
|
819
|
+
# </note>
|
557
820
|
# @option options [String] :grant_read
|
558
821
|
# Allows grantee to read the object data and its metadata.
|
559
822
|
#
|
560
|
-
# This
|
823
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
824
|
+
#
|
825
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
826
|
+
#
|
827
|
+
# </note>
|
561
828
|
# @option options [String] :grant_read_acp
|
562
829
|
# Allows grantee to read the object ACL.
|
563
830
|
#
|
564
|
-
# This
|
831
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
832
|
+
#
|
833
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
834
|
+
#
|
835
|
+
# </note>
|
565
836
|
# @option options [String] :grant_write_acp
|
566
837
|
# Allows grantee to write the ACL for the applicable object.
|
567
838
|
#
|
568
|
-
# This
|
839
|
+
# <note markdown="1"> * This functionality is not supported for directory buckets.
|
840
|
+
#
|
841
|
+
# * This functionality is not supported for Amazon S3 on Outposts.
|
842
|
+
#
|
843
|
+
# </note>
|
569
844
|
# @option options [required, String] :key
|
570
845
|
# Object key for which the PUT action was initiated.
|
846
|
+
# @option options [Integer] :write_offset_bytes
|
847
|
+
# Specifies the offset for appending data to existing objects in bytes.
|
848
|
+
# The offset must be equal to the size of the existing object being
|
849
|
+
# appended to. If no object exists, setting this header to 0 will create
|
850
|
+
# a new object.
|
851
|
+
#
|
852
|
+
# <note markdown="1"> This functionality is only supported for objects in the Amazon S3
|
853
|
+
# Express One Zone storage class in directory buckets.
|
854
|
+
#
|
855
|
+
# </note>
|
571
856
|
# @option options [Hash<String,String>] :metadata
|
572
857
|
# A map of metadata to store with the object in S3.
|
573
858
|
# @option options [String] :server_side_encryption
|
574
|
-
# The server-side encryption algorithm used when
|
575
|
-
# Amazon S3
|
859
|
+
# The server-side encryption algorithm that was used when you store this
|
860
|
+
# object in Amazon S3 or Amazon FSx.
|
861
|
+
#
|
862
|
+
# * <b>General purpose buckets </b> - You have four mutually exclusive
|
863
|
+
# options to protect data using server-side encryption in Amazon S3,
|
864
|
+
# depending on how you choose to manage the encryption keys.
|
865
|
+
# Specifically, the encryption key options are Amazon S3 managed keys
|
866
|
+
# (SSE-S3), Amazon Web Services KMS keys (SSE-KMS or DSSE-KMS), and
|
867
|
+
# customer-provided keys (SSE-C). Amazon S3 encrypts data with
|
868
|
+
# server-side encryption by using Amazon S3 managed keys (SSE-S3) by
|
869
|
+
# default. You can optionally tell Amazon S3 to encrypt data at rest
|
870
|
+
# by using server-side encryption with other key options. For more
|
871
|
+
# information, see [Using Server-Side Encryption][1] in the *Amazon S3
|
872
|
+
# User Guide*.
|
873
|
+
#
|
874
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
875
|
+
# two supported options for server-side encryption: server-side
|
876
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
877
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). We
|
878
|
+
# recommend that the bucket's default encryption uses the desired
|
879
|
+
# encryption configuration and you don't override the bucket default
|
880
|
+
# encryption in your `CreateSession` requests or `PUT` object
|
881
|
+
# requests. Then, new objects are automatically encrypted with the
|
882
|
+
# desired encryption settings. For more information, see [Protecting
|
883
|
+
# data with server-side encryption][2] in the *Amazon S3 User Guide*.
|
884
|
+
# For more information about the encryption overriding behaviors in
|
885
|
+
# directory buckets, see [Specifying server-side encryption with KMS
|
886
|
+
# for new object uploads][3].
|
887
|
+
#
|
888
|
+
# In the Zonal endpoint API calls (except [CopyObject][4] and
|
889
|
+
# [UploadPartCopy][5]) using the REST API, the encryption request
|
890
|
+
# headers must match the encryption settings that are specified in the
|
891
|
+
# `CreateSession` request. You can't override the values of the
|
892
|
+
# encryption settings (`x-amz-server-side-encryption`,
|
893
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`,
|
894
|
+
# `x-amz-server-side-encryption-context`, and
|
895
|
+
# `x-amz-server-side-encryption-bucket-key-enabled`) that are
|
896
|
+
# specified in the `CreateSession` request. You don't need to
|
897
|
+
# explicitly specify these encryption settings values in Zonal
|
898
|
+
# endpoint API calls, and Amazon S3 will use the encryption settings
|
899
|
+
# values from the `CreateSession` request to protect new objects in
|
900
|
+
# the directory bucket.
|
901
|
+
#
|
902
|
+
# <note markdown="1"> When you use the CLI or the Amazon Web Services SDKs, for
|
903
|
+
# `CreateSession`, the session token refreshes automatically to avoid
|
904
|
+
# service interruptions when a session expires. The CLI or the Amazon
|
905
|
+
# Web Services SDKs use the bucket's default encryption configuration
|
906
|
+
# for the `CreateSession` request. It's not supported to override the
|
907
|
+
# encryption settings values in the `CreateSession` request. So in the
|
908
|
+
# Zonal endpoint API calls (except [CopyObject][4] and
|
909
|
+
# [UploadPartCopy][5]), the encryption request headers must match the
|
910
|
+
# default encryption configuration of the directory bucket.
|
911
|
+
#
|
912
|
+
# </note>
|
913
|
+
#
|
914
|
+
# * <b>S3 access points for Amazon FSx </b> - When accessing data stored
|
915
|
+
# in Amazon FSx file systems using S3 access points, the only valid
|
916
|
+
# server side encryption option is `aws:fsx`. All Amazon FSx file
|
917
|
+
# systems have encryption configured by default and are encrypted at
|
918
|
+
# rest. Data is automatically encrypted before being written to the
|
919
|
+
# file system, and automatically decrypted as it is read. These
|
920
|
+
# processes are handled transparently by Amazon FSx.
|
921
|
+
#
|
922
|
+
#
|
923
|
+
#
|
924
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
925
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
926
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
927
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
928
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
576
929
|
# @option options [String] :storage_class
|
577
930
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
578
931
|
# created objects. The STANDARD storage class provides high durability
|
579
932
|
# and high availability. Depending on performance needs, you can specify
|
580
|
-
# a different Storage Class.
|
581
|
-
#
|
582
|
-
#
|
933
|
+
# a different Storage Class. For more information, see [Storage
|
934
|
+
# Classes][1] in the *Amazon S3 User Guide*.
|
935
|
+
#
|
936
|
+
# <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express One
|
937
|
+
# Zone storage class) in Availability Zones and `ONEZONE_IA` (the S3
|
938
|
+
# One Zone-Infrequent Access storage class) in Dedicated Local Zones.
|
939
|
+
#
|
940
|
+
# * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
|
941
|
+
#
|
942
|
+
# </note>
|
583
943
|
#
|
584
944
|
#
|
585
945
|
#
|
@@ -588,7 +948,8 @@ module Aws::S3
|
|
588
948
|
# If the bucket is configured as a website, redirects requests for this
|
589
949
|
# object to another object in the same bucket or to an external URL.
|
590
950
|
# Amazon S3 stores the value of this header in the object metadata. For
|
591
|
-
# information about object metadata, see [Object Key and Metadata][1]
|
951
|
+
# information about object metadata, see [Object Key and Metadata][1] in
|
952
|
+
# the *Amazon S3 User Guide*.
|
592
953
|
#
|
593
954
|
# In the following example, the request header sets the redirect to an
|
594
955
|
# object (anotherPage.html) in the same bucket:
|
@@ -602,7 +963,11 @@ module Aws::S3
|
|
602
963
|
#
|
603
964
|
# For more information about website hosting in Amazon S3, see [Hosting
|
604
965
|
# Websites on Amazon S3][2] and [How to Configure Website Page
|
605
|
-
# Redirects][3]
|
966
|
+
# Redirects][3] in the *Amazon S3 User Guide*.
|
967
|
+
#
|
968
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
969
|
+
#
|
970
|
+
# </note>
|
606
971
|
#
|
607
972
|
#
|
608
973
|
#
|
@@ -610,76 +975,164 @@ module Aws::S3
|
|
610
975
|
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html
|
611
976
|
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html
|
612
977
|
# @option options [String] :sse_customer_algorithm
|
613
|
-
# Specifies the algorithm to use
|
614
|
-
# example, AES256).
|
978
|
+
# Specifies the algorithm to use when encrypting the object (for
|
979
|
+
# example, `AES256`).
|
980
|
+
#
|
981
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
982
|
+
#
|
983
|
+
# </note>
|
615
984
|
# @option options [String] :sse_customer_key
|
616
985
|
# Specifies the customer-provided encryption key for Amazon S3 to use in
|
617
986
|
# encrypting data. This value is used to store the object and then it is
|
618
987
|
# discarded; Amazon S3 does not store the encryption key. The key must
|
619
988
|
# be appropriate for use with the algorithm specified in the
|
620
989
|
# `x-amz-server-side-encryption-customer-algorithm` header.
|
990
|
+
#
|
991
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
992
|
+
#
|
993
|
+
# </note>
|
621
994
|
# @option options [String] :sse_customer_key_md5
|
622
995
|
# Specifies the 128-bit MD5 digest of the encryption key according to
|
623
996
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
624
997
|
# ensure that the encryption key was transmitted without error.
|
998
|
+
#
|
999
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1000
|
+
#
|
1001
|
+
# </note>
|
625
1002
|
# @option options [String] :ssekms_key_id
|
626
|
-
#
|
627
|
-
#
|
628
|
-
#
|
629
|
-
#
|
630
|
-
#
|
631
|
-
#
|
632
|
-
#
|
633
|
-
#
|
634
|
-
#
|
1003
|
+
# Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for
|
1004
|
+
# object encryption. If the KMS key doesn't exist in the same account
|
1005
|
+
# that's issuing the command, you must use the full Key ARN not the Key
|
1006
|
+
# ID.
|
1007
|
+
#
|
1008
|
+
# **General purpose buckets** - If you specify
|
1009
|
+
# `x-amz-server-side-encryption` with `aws:kms` or `aws:kms:dsse`, this
|
1010
|
+
# header specifies the ID (Key ID, Key ARN, or Key Alias) of the KMS key
|
1011
|
+
# to use. If you specify `x-amz-server-side-encryption:aws:kms` or
|
1012
|
+
# `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide
|
1013
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
1014
|
+
# Amazon Web Services managed key (`aws/s3`) to protect the data.
|
1015
|
+
#
|
1016
|
+
# **Directory buckets** - To encrypt data using SSE-KMS, it's
|
1017
|
+
# recommended to specify the `x-amz-server-side-encryption` header to
|
1018
|
+
# `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
|
1019
|
+
# header implicitly uses the bucket's default KMS customer managed key
|
1020
|
+
# ID. If you want to explicitly set the `
|
1021
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
|
1022
|
+
# bucket's default customer managed key (using key ID or ARN, not
|
1023
|
+
# alias). Your SSE-KMS configuration can only support 1 [customer
|
1024
|
+
# managed key][1] per directory bucket's lifetime. The [Amazon Web
|
1025
|
+
# Services managed key][2] (`aws/s3`) isn't supported. Incorrect key
|
1026
|
+
# specification results in an HTTP `400 Bad Request` error.
|
1027
|
+
#
|
1028
|
+
#
|
1029
|
+
#
|
1030
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
1031
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
635
1032
|
# @option options [String] :ssekms_encryption_context
|
636
|
-
# Specifies the Amazon Web Services KMS Encryption Context
|
637
|
-
#
|
638
|
-
#
|
639
|
-
#
|
640
|
-
#
|
641
|
-
# operations on this
|
1033
|
+
# Specifies the Amazon Web Services KMS Encryption Context as an
|
1034
|
+
# additional encryption context to use for object encryption. The value
|
1035
|
+
# of this header is a Base64 encoded string of a UTF-8 encoded JSON,
|
1036
|
+
# which contains the encryption context as key-value pairs. This value
|
1037
|
+
# is stored as object metadata and automatically gets passed on to
|
1038
|
+
# Amazon Web Services KMS for future `GetObject` operations on this
|
1039
|
+
# object.
|
1040
|
+
#
|
1041
|
+
# **General purpose buckets** - This value must be explicitly added
|
1042
|
+
# during `CopyObject` operations if you want an additional encryption
|
1043
|
+
# context for your object. For more information, see [Encryption
|
1044
|
+
# context][1] in the *Amazon S3 User Guide*.
|
1045
|
+
#
|
1046
|
+
# **Directory buckets** - You can optionally provide an explicit
|
1047
|
+
# encryption context value. The value must match the default encryption
|
1048
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
1049
|
+
# encryption context value is not supported.
|
1050
|
+
#
|
1051
|
+
#
|
1052
|
+
#
|
1053
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context
|
642
1054
|
# @option options [Boolean] :bucket_key_enabled
|
643
1055
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
644
1056
|
# encryption with server-side encryption using Key Management Service
|
645
|
-
# (KMS) keys (SSE-KMS).
|
646
|
-
#
|
1057
|
+
# (KMS) keys (SSE-KMS).
|
1058
|
+
#
|
1059
|
+
# **General purpose buckets** - Setting this header to `true` causes
|
1060
|
+
# Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.
|
1061
|
+
# Also, specifying this header with a PUT action doesn't affect
|
1062
|
+
# bucket-level settings for S3 Bucket Key.
|
1063
|
+
#
|
1064
|
+
# **Directory buckets** - S3 Bucket Keys are always enabled for `GET`
|
1065
|
+
# and `PUT` operations in a directory bucket and can’t be disabled. S3
|
1066
|
+
# Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects
|
1067
|
+
# from general purpose buckets to directory buckets, from directory
|
1068
|
+
# buckets to general purpose buckets, or between directory buckets,
|
1069
|
+
# through [CopyObject][1], [UploadPartCopy][2], [the Copy operation in
|
1070
|
+
# Batch Operations][3], or [the import jobs][4]. In this case, Amazon S3
|
1071
|
+
# makes a call to KMS every time a copy request is made for a
|
1072
|
+
# KMS-encrypted object.
|
647
1073
|
#
|
648
|
-
#
|
649
|
-
#
|
1074
|
+
#
|
1075
|
+
#
|
1076
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
1077
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
1078
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
|
1079
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
|
650
1080
|
# @option options [String] :request_payer
|
651
1081
|
# Confirms that the requester knows that they will be charged for the
|
652
1082
|
# request. Bucket owners need not specify this parameter in their
|
653
|
-
# requests.
|
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
|
654
1086
|
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
655
1087
|
# in the *Amazon S3 User Guide*.
|
656
1088
|
#
|
1089
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1090
|
+
#
|
1091
|
+
# </note>
|
1092
|
+
#
|
657
1093
|
#
|
658
1094
|
#
|
659
1095
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
660
1096
|
# @option options [String] :tagging
|
661
1097
|
# The tag-set for the object. The tag-set must be encoded as URL Query
|
662
1098
|
# parameters. (For example, "Key1=Value1")
|
1099
|
+
#
|
1100
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1101
|
+
#
|
1102
|
+
# </note>
|
663
1103
|
# @option options [String] :object_lock_mode
|
664
1104
|
# The Object Lock mode that you want to apply to this object.
|
1105
|
+
#
|
1106
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1107
|
+
#
|
1108
|
+
# </note>
|
665
1109
|
# @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
|
666
1110
|
# The date and time when you want this object's Object Lock to expire.
|
667
1111
|
# Must be formatted as a timestamp parameter.
|
1112
|
+
#
|
1113
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1114
|
+
#
|
1115
|
+
# </note>
|
668
1116
|
# @option options [String] :object_lock_legal_hold_status
|
669
1117
|
# Specifies whether a legal hold will be applied to this object. For
|
670
|
-
# more information about S3 Object Lock, see [Object Lock][1]
|
1118
|
+
# more information about S3 Object Lock, see [Object Lock][1] in the
|
1119
|
+
# *Amazon S3 User Guide*.
|
1120
|
+
#
|
1121
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1122
|
+
#
|
1123
|
+
# </note>
|
671
1124
|
#
|
672
1125
|
#
|
673
1126
|
#
|
674
1127
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
|
675
1128
|
# @option options [String] :expected_bucket_owner
|
676
|
-
# The account ID of the expected bucket owner. If the
|
677
|
-
#
|
678
|
-
# Forbidden` (access denied).
|
1129
|
+
# The account ID of the expected bucket owner. If the account ID that
|
1130
|
+
# you provide does not match the actual owner of the bucket, the request
|
1131
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
679
1132
|
# @return [Object]
|
680
1133
|
def put_object(options = {})
|
681
1134
|
options = options.merge(bucket: @name)
|
682
|
-
Aws::Plugins::UserAgent.
|
1135
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
683
1136
|
@client.put_object(options)
|
684
1137
|
end
|
685
1138
|
Object.new(
|
@@ -752,30 +1205,73 @@ module Aws::S3
|
|
752
1205
|
# don't specify the prefix parameter, then the substring starts at the
|
753
1206
|
# beginning of the key. The keys that are grouped under `CommonPrefixes`
|
754
1207
|
# result element are not returned elsewhere in the response.
|
1208
|
+
#
|
1209
|
+
# `CommonPrefixes` is filtered out from results if it is not
|
1210
|
+
# lexicographically greater than the key-marker.
|
1211
|
+
#
|
1212
|
+
# <note markdown="1"> **Directory buckets** - For directory buckets, `/` is the only
|
1213
|
+
# supported delimiter.
|
1214
|
+
#
|
1215
|
+
# </note>
|
755
1216
|
# @option options [String] :encoding_type
|
756
|
-
#
|
757
|
-
#
|
758
|
-
# Unicode character
|
759
|
-
# characters, such as characters with an ASCII value from
|
760
|
-
# characters that
|
761
|
-
# parameter to request that Amazon S3 encode the keys in the
|
1217
|
+
# Encoding type used by Amazon S3 to encode the [object keys][1] in the
|
1218
|
+
# response. Responses are encoded only in UTF-8. An object key can
|
1219
|
+
# contain any Unicode character. However, the XML 1.0 parser can't
|
1220
|
+
# parse certain characters, such as characters with an ASCII value from
|
1221
|
+
# 0 to 10. For characters that aren't supported in XML 1.0, you can add
|
1222
|
+
# this parameter to request that Amazon S3 encode the keys in the
|
1223
|
+
# response. For more information about characters to avoid in object key
|
1224
|
+
# names, see [Object key naming guidelines][2].
|
1225
|
+
#
|
1226
|
+
# <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
|
1227
|
+
# in an object's key name will be percent-encoded according to UTF-8
|
1228
|
+
# code values. For example, the object `test_file(3).png` will appear as
|
1229
|
+
# `test_file%283%29.png`.
|
1230
|
+
#
|
1231
|
+
# </note>
|
1232
|
+
#
|
1233
|
+
#
|
1234
|
+
#
|
1235
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
|
1236
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
|
762
1237
|
# @option options [String] :key_marker
|
763
|
-
#
|
764
|
-
# multipart upload after which listing should begin.
|
1238
|
+
# Specifies the multipart upload after which listing should begin.
|
765
1239
|
#
|
766
|
-
#
|
767
|
-
#
|
768
|
-
#
|
1240
|
+
# <note markdown="1"> * **General purpose buckets** - For general purpose buckets,
|
1241
|
+
# `key-marker` is an object key. Together with `upload-id-marker`,
|
1242
|
+
# this parameter specifies the multipart upload after which listing
|
1243
|
+
# should begin.
|
769
1244
|
#
|
770
|
-
#
|
771
|
-
#
|
772
|
-
#
|
773
|
-
#
|
1245
|
+
# If `upload-id-marker` is not specified, only the keys
|
1246
|
+
# lexicographically greater than the specified `key-marker` will be
|
1247
|
+
# included in the list.
|
1248
|
+
#
|
1249
|
+
# If `upload-id-marker` is specified, any multipart uploads for a key
|
1250
|
+
# equal to the `key-marker` might also be included, provided those
|
1251
|
+
# multipart uploads have upload IDs lexicographically greater than the
|
1252
|
+
# specified `upload-id-marker`.
|
1253
|
+
#
|
1254
|
+
# * **Directory buckets** - For directory buckets, `key-marker` is
|
1255
|
+
# obfuscated and isn't a real object key. The `upload-id-marker`
|
1256
|
+
# parameter isn't supported by directory buckets. To list the
|
1257
|
+
# additional multipart uploads, you only need to set the value of
|
1258
|
+
# `key-marker` to the `NextKeyMarker` value from the previous
|
1259
|
+
# response.
|
1260
|
+
#
|
1261
|
+
# In the `ListMultipartUploads` response, the multipart uploads
|
1262
|
+
# aren't sorted lexicographically based on the object keys.
|
1263
|
+
#
|
1264
|
+
# </note>
|
774
1265
|
# @option options [String] :prefix
|
775
1266
|
# Lists in-progress uploads only for those keys that begin with the
|
776
1267
|
# specified prefix. You can use prefixes to separate a bucket into
|
777
1268
|
# different grouping of keys. (You can think of using `prefix` to make
|
778
1269
|
# groups in the same way that you'd use a folder in a file system.)
|
1270
|
+
#
|
1271
|
+
# <note markdown="1"> **Directory buckets** - For directory buckets, only prefixes that end
|
1272
|
+
# in a delimiter (`/`) are supported.
|
1273
|
+
#
|
1274
|
+
# </note>
|
779
1275
|
# @option options [String] :upload_id_marker
|
780
1276
|
# Together with key-marker, specifies the multipart upload after which
|
781
1277
|
# listing should begin. If key-marker is not specified, the
|
@@ -783,17 +1279,27 @@ module Aws::S3
|
|
783
1279
|
# uploads for a key equal to the key-marker might be included in the
|
784
1280
|
# list only if they have an upload ID lexicographically greater than the
|
785
1281
|
# specified `upload-id-marker`.
|
1282
|
+
#
|
1283
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1284
|
+
#
|
1285
|
+
# </note>
|
786
1286
|
# @option options [String] :expected_bucket_owner
|
787
|
-
# The account ID of the expected bucket owner. If the
|
788
|
-
#
|
789
|
-
# Forbidden` (access denied).
|
1287
|
+
# The account ID of the expected bucket owner. If the account ID that
|
1288
|
+
# you provide does not match the actual owner of the bucket, the request
|
1289
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
790
1290
|
# @option options [String] :request_payer
|
791
1291
|
# Confirms that the requester knows that they will be charged for the
|
792
1292
|
# request. Bucket owners need not specify this parameter in their
|
793
|
-
# requests.
|
1293
|
+
# requests. If either the source or destination S3 bucket has Requester
|
1294
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
1295
|
+
# the object. For information about downloading objects from Requester
|
794
1296
|
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
795
1297
|
# in the *Amazon S3 User Guide*.
|
796
1298
|
#
|
1299
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1300
|
+
#
|
1301
|
+
# </note>
|
1302
|
+
#
|
797
1303
|
#
|
798
1304
|
#
|
799
1305
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
@@ -801,7 +1307,7 @@ module Aws::S3
|
|
801
1307
|
def multipart_uploads(options = {})
|
802
1308
|
batches = Enumerator.new do |y|
|
803
1309
|
options = options.merge(bucket: @name)
|
804
|
-
resp = Aws::Plugins::UserAgent.
|
1310
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
805
1311
|
@client.list_multipart_uploads(options)
|
806
1312
|
end
|
807
1313
|
resp.each_page do |page|
|
@@ -859,13 +1365,30 @@ module Aws::S3
|
|
859
1365
|
# in `CommonPrefixes`. These groups are counted as one result against
|
860
1366
|
# the `max-keys` limitation. These keys are not returned elsewhere in
|
861
1367
|
# the response.
|
1368
|
+
#
|
1369
|
+
# `CommonPrefixes` is filtered out from results if it is not
|
1370
|
+
# lexicographically greater than the key-marker.
|
862
1371
|
# @option options [String] :encoding_type
|
863
|
-
#
|
864
|
-
#
|
865
|
-
# Unicode character
|
866
|
-
# characters, such as characters with an ASCII value from
|
867
|
-
# characters that
|
868
|
-
# parameter to request that Amazon S3 encode the keys in the
|
1372
|
+
# Encoding type used by Amazon S3 to encode the [object keys][1] in the
|
1373
|
+
# response. Responses are encoded only in UTF-8. An object key can
|
1374
|
+
# contain any Unicode character. However, the XML 1.0 parser can't
|
1375
|
+
# parse certain characters, such as characters with an ASCII value from
|
1376
|
+
# 0 to 10. For characters that aren't supported in XML 1.0, you can add
|
1377
|
+
# this parameter to request that Amazon S3 encode the keys in the
|
1378
|
+
# response. For more information about characters to avoid in object key
|
1379
|
+
# names, see [Object key naming guidelines][2].
|
1380
|
+
#
|
1381
|
+
# <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
|
1382
|
+
# in an object's key name will be percent-encoded according to UTF-8
|
1383
|
+
# code values. For example, the object `test_file(3).png` will appear as
|
1384
|
+
# `test_file%283%29.png`.
|
1385
|
+
#
|
1386
|
+
# </note>
|
1387
|
+
#
|
1388
|
+
#
|
1389
|
+
#
|
1390
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
|
1391
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
|
869
1392
|
# @option options [String] :key_marker
|
870
1393
|
# Specifies the key to start with when listing objects in a bucket.
|
871
1394
|
# @option options [String] :prefix
|
@@ -878,16 +1401,22 @@ module Aws::S3
|
|
878
1401
|
# @option options [String] :version_id_marker
|
879
1402
|
# Specifies the object version you want to start listing from.
|
880
1403
|
# @option options [String] :expected_bucket_owner
|
881
|
-
# The account ID of the expected bucket owner. If the
|
882
|
-
#
|
883
|
-
# Forbidden` (access denied).
|
1404
|
+
# The account ID of the expected bucket owner. If the account ID that
|
1405
|
+
# you provide does not match the actual owner of the bucket, the request
|
1406
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
884
1407
|
# @option options [String] :request_payer
|
885
1408
|
# Confirms that the requester knows that they will be charged for the
|
886
1409
|
# request. Bucket owners need not specify this parameter in their
|
887
|
-
# requests.
|
1410
|
+
# requests. If either the source or destination S3 bucket has Requester
|
1411
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
1412
|
+
# the object. For information about downloading objects from Requester
|
888
1413
|
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
889
1414
|
# in the *Amazon S3 User Guide*.
|
890
1415
|
#
|
1416
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1417
|
+
#
|
1418
|
+
# </note>
|
1419
|
+
#
|
891
1420
|
#
|
892
1421
|
#
|
893
1422
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
@@ -898,7 +1427,7 @@ module Aws::S3
|
|
898
1427
|
def object_versions(options = {})
|
899
1428
|
batches = Enumerator.new do |y|
|
900
1429
|
options = options.merge(bucket: @name)
|
901
|
-
resp = Aws::Plugins::UserAgent.
|
1430
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
902
1431
|
@client.list_object_versions(options)
|
903
1432
|
end
|
904
1433
|
resp.each_page do |page|
|
@@ -933,34 +1462,94 @@ module Aws::S3
|
|
933
1462
|
# @param [Hash] options ({})
|
934
1463
|
# @option options [String] :delimiter
|
935
1464
|
# A delimiter is a character that you use to group keys.
|
1465
|
+
#
|
1466
|
+
# `CommonPrefixes` is filtered out from results if it is not
|
1467
|
+
# lexicographically greater than the `StartAfter` value.
|
1468
|
+
#
|
1469
|
+
# <note markdown="1"> * **Directory buckets** - For directory buckets, `/` is the only
|
1470
|
+
# supported delimiter.
|
1471
|
+
#
|
1472
|
+
# * <b>Directory buckets </b> - When you query `ListObjectsV2` with a
|
1473
|
+
# delimiter during in-progress multipart uploads, the `CommonPrefixes`
|
1474
|
+
# response parameter contains the prefixes that are associated with
|
1475
|
+
# the in-progress multipart uploads. For more information about
|
1476
|
+
# multipart uploads, see [Multipart Upload Overview][1] in the *Amazon
|
1477
|
+
# S3 User Guide*.
|
1478
|
+
#
|
1479
|
+
# </note>
|
1480
|
+
#
|
1481
|
+
#
|
1482
|
+
#
|
1483
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
|
936
1484
|
# @option options [String] :encoding_type
|
937
|
-
# Encoding type used by Amazon S3 to encode object keys in the
|
1485
|
+
# Encoding type used by Amazon S3 to encode the [object keys][1] in the
|
1486
|
+
# response. Responses are encoded only in UTF-8. An object key can
|
1487
|
+
# contain any Unicode character. However, the XML 1.0 parser can't
|
1488
|
+
# parse certain characters, such as characters with an ASCII value from
|
1489
|
+
# 0 to 10. For characters that aren't supported in XML 1.0, you can add
|
1490
|
+
# this parameter to request that Amazon S3 encode the keys in the
|
1491
|
+
# response. For more information about characters to avoid in object key
|
1492
|
+
# names, see [Object key naming guidelines][2].
|
1493
|
+
#
|
1494
|
+
# <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
|
1495
|
+
# in an object's key name will be percent-encoded according to UTF-8
|
1496
|
+
# code values. For example, the object `test_file(3).png` will appear as
|
1497
|
+
# `test_file%283%29.png`.
|
1498
|
+
#
|
1499
|
+
# </note>
|
1500
|
+
#
|
1501
|
+
#
|
1502
|
+
#
|
1503
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
|
1504
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
|
938
1505
|
# @option options [String] :prefix
|
939
1506
|
# Limits the response to keys that begin with the specified prefix.
|
1507
|
+
#
|
1508
|
+
# <note markdown="1"> **Directory buckets** - For directory buckets, only prefixes that end
|
1509
|
+
# in a delimiter (`/`) are supported.
|
1510
|
+
#
|
1511
|
+
# </note>
|
940
1512
|
# @option options [Boolean] :fetch_owner
|
941
1513
|
# The owner field is not present in `ListObjectsV2` by default. If you
|
942
1514
|
# want to return the owner field with each key in the result, then set
|
943
1515
|
# the `FetchOwner` field to `true`.
|
1516
|
+
#
|
1517
|
+
# <note markdown="1"> **Directory buckets** - For directory buckets, the bucket owner is
|
1518
|
+
# returned as the object owner for all objects.
|
1519
|
+
#
|
1520
|
+
# </note>
|
944
1521
|
# @option options [String] :start_after
|
945
1522
|
# StartAfter is where you want Amazon S3 to start listing from. Amazon
|
946
1523
|
# S3 starts listing after this specified key. StartAfter can be any key
|
947
1524
|
# in the bucket.
|
1525
|
+
#
|
1526
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1527
|
+
#
|
1528
|
+
# </note>
|
948
1529
|
# @option options [String] :request_payer
|
949
1530
|
# Confirms that the requester knows that she or he will be charged for
|
950
1531
|
# the list objects request in V2 style. Bucket owners need not specify
|
951
1532
|
# this parameter in their requests.
|
1533
|
+
#
|
1534
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1535
|
+
#
|
1536
|
+
# </note>
|
952
1537
|
# @option options [String] :expected_bucket_owner
|
953
|
-
# The account ID of the expected bucket owner. If the
|
954
|
-
#
|
955
|
-
# Forbidden` (access denied).
|
1538
|
+
# The account ID of the expected bucket owner. If the account ID that
|
1539
|
+
# you provide does not match the actual owner of the bucket, the request
|
1540
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
956
1541
|
# @option options [Array<String>] :optional_object_attributes
|
957
1542
|
# Specifies the optional fields that you want returned in the response.
|
958
1543
|
# Fields that you do not specify are not returned.
|
1544
|
+
#
|
1545
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
1546
|
+
#
|
1547
|
+
# </note>
|
959
1548
|
# @return [ObjectSummary::Collection]
|
960
1549
|
def objects(options = {})
|
961
1550
|
batches = Enumerator.new do |y|
|
962
1551
|
options = options.merge(bucket: @name)
|
963
|
-
resp = Aws::Plugins::UserAgent.
|
1552
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
964
1553
|
@client.list_objects_v2(options)
|
965
1554
|
end
|
966
1555
|
resp.each_page do |page|
|
@@ -1069,3 +1658,6 @@ module Aws::S3
|
|
1069
1658
|
class Collection < Aws::Resources::Collection; end
|
1070
1659
|
end
|
1071
1660
|
end
|
1661
|
+
|
1662
|
+
# Load customizations if they exist
|
1663
|
+
require 'aws-sdk-s3/customizations/bucket'
|