aws-sdk-s3 1.96.2 → 1.132.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +256 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/bucket.rb +226 -76
- data/lib/aws-sdk-s3/bucket_acl.rb +30 -7
- data/lib/aws-sdk-s3/bucket_cors.rb +35 -10
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +39 -12
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +40 -10
- data/lib/aws-sdk-s3/bucket_logging.rb +30 -7
- data/lib/aws-sdk-s3/bucket_notification.rb +28 -10
- data/lib/aws-sdk-s3/bucket_policy.rb +35 -10
- data/lib/aws-sdk-s3/bucket_request_payment.rb +30 -7
- data/lib/aws-sdk-s3/bucket_tagging.rb +35 -10
- data/lib/aws-sdk-s3/bucket_versioning.rb +78 -17
- data/lib/aws-sdk-s3/bucket_website.rb +35 -10
- data/lib/aws-sdk-s3/client.rb +3854 -2120
- data/lib/aws-sdk-s3/client_api.rb +601 -208
- data/lib/aws-sdk-s3/customizations/bucket.rb +23 -47
- data/lib/aws-sdk-s3/customizations/errors.rb +27 -0
- data/lib/aws-sdk-s3/customizations/object.rb +130 -24
- data/lib/aws-sdk-s3/customizations/types/permanent_redirect.rb +26 -0
- data/lib/aws-sdk-s3/customizations.rb +2 -0
- data/lib/aws-sdk-s3/encryption/client.rb +7 -3
- data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +0 -4
- data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +13 -9
- data/lib/aws-sdk-s3/encryptionV2/client.rb +7 -3
- data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +1 -4
- data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +0 -4
- data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -6
- data/lib/aws-sdk-s3/endpoint_parameters.rb +146 -0
- data/lib/aws-sdk-s3/endpoint_provider.rb +509 -0
- data/lib/aws-sdk-s3/endpoints.rb +2150 -0
- data/lib/aws-sdk-s3/file_downloader.rb +57 -27
- data/lib/aws-sdk-s3/file_uploader.rb +12 -5
- data/lib/aws-sdk-s3/multipart_file_uploader.rb +26 -7
- data/lib/aws-sdk-s3/multipart_stream_uploader.rb +41 -13
- data/lib/aws-sdk-s3/multipart_upload.rb +138 -16
- data/lib/aws-sdk-s3/multipart_upload_part.rb +144 -18
- data/lib/aws-sdk-s3/object.rb +364 -160
- data/lib/aws-sdk-s3/object_acl.rb +32 -9
- data/lib/aws-sdk-s3/object_copier.rb +7 -5
- data/lib/aws-sdk-s3/object_multipart_copier.rb +41 -19
- data/lib/aws-sdk-s3/object_summary.rb +291 -123
- data/lib/aws-sdk-s3/object_version.rb +99 -46
- data/lib/aws-sdk-s3/plugins/accelerate.rb +3 -44
- data/lib/aws-sdk-s3/plugins/arn.rb +22 -180
- 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 -55
- data/lib/aws-sdk-s3/plugins/endpoints.rb +262 -0
- data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +2 -1
- data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +6 -29
- data/lib/aws-sdk-s3/plugins/md5s.rb +5 -3
- data/lib/aws-sdk-s3/plugins/s3_signer.rb +35 -100
- 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 +24 -29
- data/lib/aws-sdk-s3/resource.rb +25 -3
- data/lib/aws-sdk-s3/types.rb +3307 -4625
- data/lib/aws-sdk-s3.rb +5 -1
- metadata +14 -11
- data/lib/aws-sdk-s3/arn/access_point_arn.rb +0 -69
- data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +0 -69
- data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +0 -73
- 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.feature('resource') 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.feature('resource') 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.feature('resource') do
|
221
|
+
Aws::Waiters::Waiter.new(options).wait({})
|
222
|
+
end
|
217
223
|
end
|
218
224
|
|
219
225
|
# @!group Actions
|
@@ -223,7 +229,7 @@ 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-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, ap-south-2, eu-south-2
|
227
233
|
# },
|
228
234
|
# grant_full_control: "GrantFullControl",
|
229
235
|
# grant_read: "GrantRead",
|
@@ -231,6 +237,7 @@ module Aws::S3
|
|
231
237
|
# grant_write: "GrantWrite",
|
232
238
|
# grant_write_acp: "GrantWriteACP",
|
233
239
|
# object_lock_enabled_for_bucket: false,
|
240
|
+
# object_ownership: "BucketOwnerPreferred", # accepts BucketOwnerPreferred, ObjectWriter, BucketOwnerEnforced
|
234
241
|
# })
|
235
242
|
# @param [Hash] options ({})
|
236
243
|
# @option options [String] :acl
|
@@ -254,10 +261,29 @@ module Aws::S3
|
|
254
261
|
# @option options [Boolean] :object_lock_enabled_for_bucket
|
255
262
|
# Specifies whether you want S3 Object Lock to be enabled for the new
|
256
263
|
# bucket.
|
264
|
+
# @option options [String] :object_ownership
|
265
|
+
# The container element for object ownership for a bucket's ownership
|
266
|
+
# controls.
|
267
|
+
#
|
268
|
+
# BucketOwnerPreferred - Objects uploaded to the bucket change ownership
|
269
|
+
# to the bucket owner if the objects are uploaded with the
|
270
|
+
# `bucket-owner-full-control` canned ACL.
|
271
|
+
#
|
272
|
+
# ObjectWriter - The uploading account will own the object if the object
|
273
|
+
# is uploaded with the `bucket-owner-full-control` canned ACL.
|
274
|
+
#
|
275
|
+
# BucketOwnerEnforced - Access control lists (ACLs) are disabled and no
|
276
|
+
# longer affect permissions. The bucket owner automatically owns and has
|
277
|
+
# full control over every object in the bucket. The bucket only accepts
|
278
|
+
# PUT requests that don't specify an ACL or bucket owner full control
|
279
|
+
# ACLs, such as the `bucket-owner-full-control` canned ACL or an
|
280
|
+
# equivalent form of this ACL expressed in the XML format.
|
257
281
|
# @return [Types::CreateBucketOutput]
|
258
282
|
def create(options = {})
|
259
283
|
options = options.merge(bucket: @name)
|
260
|
-
resp =
|
284
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
285
|
+
@client.create_bucket(options)
|
286
|
+
end
|
261
287
|
resp.data
|
262
288
|
end
|
263
289
|
|
@@ -269,12 +295,14 @@ module Aws::S3
|
|
269
295
|
# @param [Hash] options ({})
|
270
296
|
# @option options [String] :expected_bucket_owner
|
271
297
|
# The account ID of the expected bucket owner. If the bucket is owned by
|
272
|
-
# a different account, the request
|
273
|
-
#
|
298
|
+
# a different account, the request fails with the HTTP status code `403
|
299
|
+
# Forbidden` (access denied).
|
274
300
|
# @return [EmptyStructure]
|
275
301
|
def delete(options = {})
|
276
302
|
options = options.merge(bucket: @name)
|
277
|
-
resp =
|
303
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
304
|
+
@client.delete_bucket(options)
|
305
|
+
end
|
278
306
|
resp.data
|
279
307
|
end
|
280
308
|
|
@@ -294,6 +322,7 @@ module Aws::S3
|
|
294
322
|
# request_payer: "requester", # accepts requester
|
295
323
|
# bypass_governance_retention: false,
|
296
324
|
# expected_bucket_owner: "AccountId",
|
325
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
297
326
|
# })
|
298
327
|
# @param [Hash] options ({})
|
299
328
|
# @option options [required, Types::Delete] :delete
|
@@ -306,8 +335,8 @@ module Aws::S3
|
|
306
335
|
# @option options [String] :request_payer
|
307
336
|
# Confirms that the requester knows that they will be charged for the
|
308
337
|
# request. Bucket owners need not specify this parameter in their
|
309
|
-
# requests. For information about downloading objects from
|
310
|
-
#
|
338
|
+
# requests. For information about downloading objects from Requester
|
339
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
311
340
|
# in the *Amazon S3 User Guide*.
|
312
341
|
#
|
313
342
|
#
|
@@ -315,16 +344,36 @@ module Aws::S3
|
|
315
344
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
316
345
|
# @option options [Boolean] :bypass_governance_retention
|
317
346
|
# Specifies whether you want to delete this object even if it has a
|
318
|
-
# Governance-type Object Lock in place.
|
319
|
-
#
|
347
|
+
# Governance-type Object Lock in place. To use this header, you must
|
348
|
+
# have the `s3:BypassGovernanceRetention` permission.
|
320
349
|
# @option options [String] :expected_bucket_owner
|
321
350
|
# The account ID of the expected bucket owner. If the bucket is owned by
|
322
|
-
# a different account, the request
|
323
|
-
#
|
351
|
+
# a different account, the request fails with the HTTP status code `403
|
352
|
+
# Forbidden` (access denied).
|
353
|
+
# @option options [String] :checksum_algorithm
|
354
|
+
# Indicates the algorithm used to create the checksum for the object
|
355
|
+
# when using the SDK. This header will not provide any additional
|
356
|
+
# functionality if not using the SDK. When sending this header, there
|
357
|
+
# must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
|
358
|
+
# sent. Otherwise, Amazon S3 fails the request with the HTTP status code
|
359
|
+
# `400 Bad Request`. For more information, see [Checking object
|
360
|
+
# integrity][1] in the *Amazon S3 User Guide*.
|
361
|
+
#
|
362
|
+
# If you provide an individual checksum, Amazon S3 ignores any provided
|
363
|
+
# `ChecksumAlgorithm` parameter.
|
364
|
+
#
|
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
|
+
#
|
369
|
+
#
|
370
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
324
371
|
# @return [Types::DeleteObjectsOutput]
|
325
372
|
def delete_objects(options = {})
|
326
373
|
options = options.merge(bucket: @name)
|
327
|
-
resp =
|
374
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
375
|
+
@client.delete_objects(options)
|
376
|
+
end
|
328
377
|
resp.data
|
329
378
|
end
|
330
379
|
|
@@ -340,6 +389,11 @@ module Aws::S3
|
|
340
389
|
# content_length: 1,
|
341
390
|
# content_md5: "ContentMD5",
|
342
391
|
# content_type: "ContentType",
|
392
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
393
|
+
# checksum_crc32: "ChecksumCRC32",
|
394
|
+
# checksum_crc32c: "ChecksumCRC32C",
|
395
|
+
# checksum_sha1: "ChecksumSHA1",
|
396
|
+
# checksum_sha256: "ChecksumSHA256",
|
343
397
|
# expires: Time.now,
|
344
398
|
# grant_full_control: "GrantFullControl",
|
345
399
|
# grant_read: "GrantRead",
|
@@ -349,8 +403,8 @@ module Aws::S3
|
|
349
403
|
# metadata: {
|
350
404
|
# "MetadataKey" => "MetadataValue",
|
351
405
|
# },
|
352
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms
|
353
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
|
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
|
354
408
|
# website_redirect_location: "WebsiteRedirectLocation",
|
355
409
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
356
410
|
# sse_customer_key: "SSECustomerKey",
|
@@ -388,30 +442,30 @@ module Aws::S3
|
|
388
442
|
# @option options [String] :content_disposition
|
389
443
|
# Specifies presentational information for the object. For more
|
390
444
|
# information, see
|
391
|
-
# [
|
445
|
+
# [https://www.rfc-editor.org/rfc/rfc6266#section-4][1].
|
392
446
|
#
|
393
447
|
#
|
394
448
|
#
|
395
|
-
# [1]:
|
449
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc6266#section-4
|
396
450
|
# @option options [String] :content_encoding
|
397
451
|
# Specifies what content encodings have been applied to the object and
|
398
452
|
# thus what decoding mechanisms must be applied to obtain the media-type
|
399
453
|
# referenced by the Content-Type header field. For more information, see
|
400
|
-
# [
|
454
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding][1].
|
401
455
|
#
|
402
456
|
#
|
403
457
|
#
|
404
|
-
# [1]:
|
458
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding
|
405
459
|
# @option options [String] :content_language
|
406
460
|
# The language the content is in.
|
407
461
|
# @option options [Integer] :content_length
|
408
462
|
# Size of the body in bytes. This parameter is useful when the size of
|
409
463
|
# the body cannot be determined automatically. For more information, see
|
410
|
-
# [
|
464
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length][1].
|
411
465
|
#
|
412
466
|
#
|
413
467
|
#
|
414
|
-
# [1]:
|
468
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
|
415
469
|
# @option options [String] :content_md5
|
416
470
|
# The base64-encoded 128-bit MD5 digest of the message (without the
|
417
471
|
# headers) according to RFC 1864. This header can be used as a message
|
@@ -427,19 +481,74 @@ module Aws::S3
|
|
427
481
|
# @option options [String] :content_type
|
428
482
|
# A standard MIME type describing the format of the contents. For more
|
429
483
|
# information, see
|
430
|
-
# [
|
484
|
+
# [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type][1].
|
485
|
+
#
|
486
|
+
#
|
487
|
+
#
|
488
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type
|
489
|
+
# @option options [String] :checksum_algorithm
|
490
|
+
# Indicates the algorithm used to create the checksum for the object
|
491
|
+
# when using the SDK. This header will not provide any additional
|
492
|
+
# functionality if not using the SDK. When sending this header, there
|
493
|
+
# must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
|
494
|
+
# sent. Otherwise, Amazon S3 fails the request with the HTTP status code
|
495
|
+
# `400 Bad Request`. For more information, see [Checking object
|
496
|
+
# integrity][1] in the *Amazon S3 User Guide*.
|
497
|
+
#
|
498
|
+
# If you provide an individual checksum, Amazon S3 ignores any provided
|
499
|
+
# `ChecksumAlgorithm` parameter.
|
500
|
+
#
|
501
|
+
#
|
502
|
+
#
|
503
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
504
|
+
# @option options [String] :checksum_crc32
|
505
|
+
# This header can be used as a data integrity check to verify that the
|
506
|
+
# data received is the same data that was originally sent. This header
|
507
|
+
# specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
|
508
|
+
# more information, see [Checking object integrity][1] in the *Amazon S3
|
509
|
+
# User Guide*.
|
510
|
+
#
|
511
|
+
#
|
512
|
+
#
|
513
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
514
|
+
# @option options [String] :checksum_crc32c
|
515
|
+
# This header can be used as a data integrity check to verify that the
|
516
|
+
# data received is the same data that was originally sent. This header
|
517
|
+
# specifies the base64-encoded, 32-bit CRC32C checksum of the object.
|
518
|
+
# For more information, see [Checking object integrity][1] in the
|
519
|
+
# *Amazon S3 User Guide*.
|
520
|
+
#
|
521
|
+
#
|
522
|
+
#
|
523
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
524
|
+
# @option options [String] :checksum_sha1
|
525
|
+
# This header can be used as a data integrity check to verify that the
|
526
|
+
# data received is the same data that was originally sent. This header
|
527
|
+
# specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
|
528
|
+
# more information, see [Checking object integrity][1] in the *Amazon S3
|
529
|
+
# User Guide*.
|
530
|
+
#
|
431
531
|
#
|
432
532
|
#
|
533
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
534
|
+
# @option options [String] :checksum_sha256
|
535
|
+
# This header can be used as a data integrity check to verify that the
|
536
|
+
# data received is the same data that was originally sent. This header
|
537
|
+
# specifies the base64-encoded, 256-bit SHA-256 digest of the object.
|
538
|
+
# For more information, see [Checking object integrity][1] in the
|
539
|
+
# *Amazon S3 User Guide*.
|
433
540
|
#
|
434
|
-
#
|
541
|
+
#
|
542
|
+
#
|
543
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
435
544
|
# @option options [Time,DateTime,Date,Integer,String] :expires
|
436
545
|
# The date and time at which the object is no longer cacheable. For more
|
437
546
|
# information, see
|
438
|
-
# [
|
547
|
+
# [https://www.rfc-editor.org/rfc/rfc7234#section-5.3][1].
|
439
548
|
#
|
440
549
|
#
|
441
550
|
#
|
442
|
-
# [1]:
|
551
|
+
# [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
|
443
552
|
# @option options [String] :grant_full_control
|
444
553
|
# Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
|
445
554
|
# object.
|
@@ -463,7 +572,7 @@ module Aws::S3
|
|
463
572
|
# A map of metadata to store with the object in S3.
|
464
573
|
# @option options [String] :server_side_encryption
|
465
574
|
# The server-side encryption algorithm used when storing this object in
|
466
|
-
# Amazon S3 (for example, AES256
|
575
|
+
# Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
|
467
576
|
# @option options [String] :storage_class
|
468
577
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
469
578
|
# created objects. The STANDARD storage class provides high durability
|
@@ -514,32 +623,35 @@ module Aws::S3
|
|
514
623
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
515
624
|
# ensure that the encryption key was transmitted without error.
|
516
625
|
# @option options [String] :ssekms_key_id
|
517
|
-
# If `x-amz-server-side-encryption`
|
518
|
-
# `aws:kms`, this header specifies the ID of the
|
519
|
-
# Service (
|
520
|
-
#
|
521
|
-
# `x-amz-server-side-encryption:aws:kms`, but do not provide`
|
522
|
-
# x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
523
|
-
# managed
|
524
|
-
#
|
525
|
-
# not just the ID.
|
626
|
+
# If `x-amz-server-side-encryption` has a valid value of `aws:kms` or
|
627
|
+
# `aws:kms:dsse`, this header specifies the ID of the Key Management
|
628
|
+
# Service (KMS) symmetric encryption customer managed key that was used
|
629
|
+
# for the object. If you specify `x-amz-server-side-encryption:aws:kms`
|
630
|
+
# or `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide`
|
631
|
+
# x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
632
|
+
# Amazon Web Services managed key (`aws/s3`) to protect the data. If the
|
633
|
+
# KMS key does not exist in the same account that's issuing the
|
634
|
+
# command, you must use the full ARN and not just the ID.
|
526
635
|
# @option options [String] :ssekms_encryption_context
|
527
|
-
# Specifies the
|
528
|
-
# The value of this header is a base64-encoded UTF-8
|
529
|
-
# with the encryption context key-value pairs.
|
636
|
+
# Specifies the Amazon Web Services KMS Encryption Context to use for
|
637
|
+
# object encryption. The value of this header is a base64-encoded UTF-8
|
638
|
+
# string holding JSON with the encryption context key-value pairs. This
|
639
|
+
# value is stored as object metadata and automatically gets passed on to
|
640
|
+
# Amazon Web Services KMS for future `GetObject` or `CopyObject`
|
641
|
+
# operations on this object.
|
530
642
|
# @option options [Boolean] :bucket_key_enabled
|
531
643
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
532
|
-
# encryption with server-side encryption using
|
533
|
-
# Setting this header to `true` causes Amazon S3
|
534
|
-
# for object encryption with SSE-KMS.
|
644
|
+
# encryption with server-side encryption using Key Management Service
|
645
|
+
# (KMS) keys (SSE-KMS). Setting this header to `true` causes Amazon S3
|
646
|
+
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
535
647
|
#
|
536
648
|
# Specifying this header with a PUT action doesn’t affect bucket-level
|
537
649
|
# settings for S3 Bucket Key.
|
538
650
|
# @option options [String] :request_payer
|
539
651
|
# Confirms that the requester knows that they will be charged for the
|
540
652
|
# request. Bucket owners need not specify this parameter in their
|
541
|
-
# requests. For information about downloading objects from
|
542
|
-
#
|
653
|
+
# requests. For information about downloading objects from Requester
|
654
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
543
655
|
# in the *Amazon S3 User Guide*.
|
544
656
|
#
|
545
657
|
#
|
@@ -562,12 +674,14 @@ module Aws::S3
|
|
562
674
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
|
563
675
|
# @option options [String] :expected_bucket_owner
|
564
676
|
# The account ID of the expected bucket owner. If the bucket is owned by
|
565
|
-
# a different account, the request
|
566
|
-
#
|
677
|
+
# a different account, the request fails with the HTTP status code `403
|
678
|
+
# Forbidden` (access denied).
|
567
679
|
# @return [Object]
|
568
680
|
def put_object(options = {})
|
569
681
|
options = options.merge(bucket: @name)
|
570
|
-
|
682
|
+
Aws::Plugins::UserAgent.feature('resource') do
|
683
|
+
@client.put_object(options)
|
684
|
+
end
|
571
685
|
Object.new(
|
572
686
|
bucket_name: @name,
|
573
687
|
key: options[:key],
|
@@ -626,6 +740,7 @@ module Aws::S3
|
|
626
740
|
# prefix: "Prefix",
|
627
741
|
# upload_id_marker: "UploadIdMarker",
|
628
742
|
# expected_bucket_owner: "AccountId",
|
743
|
+
# request_payer: "requester", # accepts requester
|
629
744
|
# })
|
630
745
|
# @param [Hash] options ({})
|
631
746
|
# @option options [String] :delimiter
|
@@ -639,14 +754,14 @@ module Aws::S3
|
|
639
754
|
# result element are not returned elsewhere in the response.
|
640
755
|
# @option options [String] :encoding_type
|
641
756
|
# Requests Amazon S3 to encode the object keys in the response and
|
642
|
-
# specifies the encoding method to use. An object key
|
643
|
-
# Unicode character; however, XML 1.0 parser cannot parse some
|
757
|
+
# specifies the encoding method to use. An object key can contain any
|
758
|
+
# Unicode character; however, the XML 1.0 parser cannot parse some
|
644
759
|
# characters, such as characters with an ASCII value from 0 to 10. For
|
645
760
|
# characters that are not supported in XML 1.0, you can add this
|
646
761
|
# parameter to request that Amazon S3 encode the keys in the response.
|
647
762
|
# @option options [String] :key_marker
|
648
|
-
# Together with upload-id-marker
|
649
|
-
# upload after which listing should begin.
|
763
|
+
# Together with `upload-id-marker`, this parameter specifies the
|
764
|
+
# multipart upload after which listing should begin.
|
650
765
|
#
|
651
766
|
# If `upload-id-marker` is not specified, only the keys
|
652
767
|
# lexicographically greater than the specified `key-marker` will be
|
@@ -659,8 +774,8 @@ module Aws::S3
|
|
659
774
|
# @option options [String] :prefix
|
660
775
|
# Lists in-progress uploads only for those keys that begin with the
|
661
776
|
# specified prefix. You can use prefixes to separate a bucket into
|
662
|
-
# different grouping of keys. (You can think of using prefix to make
|
663
|
-
# groups in the same way you'd use a folder in a file system.)
|
777
|
+
# different grouping of keys. (You can think of using `prefix` to make
|
778
|
+
# groups in the same way that you'd use a folder in a file system.)
|
664
779
|
# @option options [String] :upload_id_marker
|
665
780
|
# Together with key-marker, specifies the multipart upload after which
|
666
781
|
# listing should begin. If key-marker is not specified, the
|
@@ -670,13 +785,25 @@ module Aws::S3
|
|
670
785
|
# specified `upload-id-marker`.
|
671
786
|
# @option options [String] :expected_bucket_owner
|
672
787
|
# The account ID of the expected bucket owner. If the bucket is owned by
|
673
|
-
# a different account, the request
|
674
|
-
#
|
788
|
+
# a different account, the request fails with the HTTP status code `403
|
789
|
+
# Forbidden` (access denied).
|
790
|
+
# @option options [String] :request_payer
|
791
|
+
# Confirms that the requester knows that they will be charged for the
|
792
|
+
# request. Bucket owners need not specify this parameter in their
|
793
|
+
# requests. For information about downloading objects from Requester
|
794
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
795
|
+
# in the *Amazon S3 User Guide*.
|
796
|
+
#
|
797
|
+
#
|
798
|
+
#
|
799
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
675
800
|
# @return [MultipartUpload::Collection]
|
676
801
|
def multipart_uploads(options = {})
|
677
802
|
batches = Enumerator.new do |y|
|
678
803
|
options = options.merge(bucket: @name)
|
679
|
-
resp =
|
804
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
805
|
+
@client.list_multipart_uploads(options)
|
806
|
+
end
|
680
807
|
resp.each_page do |page|
|
681
808
|
batch = []
|
682
809
|
page.data.uploads.each do |u|
|
@@ -721,19 +848,21 @@ module Aws::S3
|
|
721
848
|
# prefix: "Prefix",
|
722
849
|
# version_id_marker: "VersionIdMarker",
|
723
850
|
# expected_bucket_owner: "AccountId",
|
851
|
+
# request_payer: "requester", # accepts requester
|
852
|
+
# optional_object_attributes: ["RestoreStatus"], # accepts RestoreStatus
|
724
853
|
# })
|
725
854
|
# @param [Hash] options ({})
|
726
855
|
# @option options [String] :delimiter
|
727
856
|
# A delimiter is a character that you specify to group keys. All keys
|
728
857
|
# that contain the same string between the `prefix` and the first
|
729
858
|
# occurrence of the delimiter are grouped under a single result element
|
730
|
-
# in CommonPrefixes
|
731
|
-
# max-keys limitation. These keys are not returned elsewhere in
|
732
|
-
# response.
|
859
|
+
# in `CommonPrefixes`. These groups are counted as one result against
|
860
|
+
# the `max-keys` limitation. These keys are not returned elsewhere in
|
861
|
+
# the response.
|
733
862
|
# @option options [String] :encoding_type
|
734
863
|
# Requests Amazon S3 to encode the object keys in the response and
|
735
|
-
# specifies the encoding method to use. An object key
|
736
|
-
# Unicode character; however, XML 1.0 parser cannot parse some
|
864
|
+
# specifies the encoding method to use. An object key can contain any
|
865
|
+
# Unicode character; however, the XML 1.0 parser cannot parse some
|
737
866
|
# characters, such as characters with an ASCII value from 0 to 10. For
|
738
867
|
# characters that are not supported in XML 1.0, you can add this
|
739
868
|
# parameter to request that Amazon S3 encode the keys in the response.
|
@@ -742,21 +871,36 @@ module Aws::S3
|
|
742
871
|
# @option options [String] :prefix
|
743
872
|
# Use this parameter to select only those keys that begin with the
|
744
873
|
# specified prefix. You can use prefixes to separate a bucket into
|
745
|
-
# different groupings of keys. (You can think of using prefix to make
|
746
|
-
# groups in the same way you'd use a folder in a file system.) You
|
747
|
-
# use prefix with delimiter to roll up numerous objects into a
|
748
|
-
# result under CommonPrefixes
|
874
|
+
# different groupings of keys. (You can think of using `prefix` to make
|
875
|
+
# groups in the same way that you'd use a folder in a file system.) You
|
876
|
+
# can use `prefix` with `delimiter` to roll up numerous objects into a
|
877
|
+
# single result under `CommonPrefixes`.
|
749
878
|
# @option options [String] :version_id_marker
|
750
879
|
# Specifies the object version you want to start listing from.
|
751
880
|
# @option options [String] :expected_bucket_owner
|
752
881
|
# The account ID of the expected bucket owner. If the bucket is owned by
|
753
|
-
# a different account, the request
|
754
|
-
#
|
882
|
+
# a different account, the request fails with the HTTP status code `403
|
883
|
+
# Forbidden` (access denied).
|
884
|
+
# @option options [String] :request_payer
|
885
|
+
# Confirms that the requester knows that they will be charged for the
|
886
|
+
# request. Bucket owners need not specify this parameter in their
|
887
|
+
# requests. For information about downloading objects from Requester
|
888
|
+
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
889
|
+
# in the *Amazon S3 User Guide*.
|
890
|
+
#
|
891
|
+
#
|
892
|
+
#
|
893
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
894
|
+
# @option options [Array<String>] :optional_object_attributes
|
895
|
+
# Specifies the optional fields that you want returned in the response.
|
896
|
+
# Fields that you do not specify are not returned.
|
755
897
|
# @return [ObjectVersion::Collection]
|
756
898
|
def object_versions(options = {})
|
757
899
|
batches = Enumerator.new do |y|
|
758
900
|
options = options.merge(bucket: @name)
|
759
|
-
resp =
|
901
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
902
|
+
@client.list_object_versions(options)
|
903
|
+
end
|
760
904
|
resp.each_page do |page|
|
761
905
|
batch = []
|
762
906
|
page.data.versions_delete_markers.each do |v|
|
@@ -784,18 +928,19 @@ module Aws::S3
|
|
784
928
|
# start_after: "StartAfter",
|
785
929
|
# request_payer: "requester", # accepts requester
|
786
930
|
# expected_bucket_owner: "AccountId",
|
931
|
+
# optional_object_attributes: ["RestoreStatus"], # accepts RestoreStatus
|
787
932
|
# })
|
788
933
|
# @param [Hash] options ({})
|
789
934
|
# @option options [String] :delimiter
|
790
|
-
# A delimiter is a character you use to group keys.
|
935
|
+
# A delimiter is a character that you use to group keys.
|
791
936
|
# @option options [String] :encoding_type
|
792
937
|
# Encoding type used by Amazon S3 to encode object keys in the response.
|
793
938
|
# @option options [String] :prefix
|
794
939
|
# Limits the response to keys that begin with the specified prefix.
|
795
940
|
# @option options [Boolean] :fetch_owner
|
796
|
-
# The owner field is not present in
|
797
|
-
# return owner field with each key in the result then set
|
798
|
-
#
|
941
|
+
# The owner field is not present in `ListObjectsV2` by default. If you
|
942
|
+
# want to return the owner field with each key in the result, then set
|
943
|
+
# the `FetchOwner` field to `true`.
|
799
944
|
# @option options [String] :start_after
|
800
945
|
# StartAfter is where you want Amazon S3 to start listing from. Amazon
|
801
946
|
# S3 starts listing after this specified key. StartAfter can be any key
|
@@ -806,13 +951,18 @@ module Aws::S3
|
|
806
951
|
# this parameter in their requests.
|
807
952
|
# @option options [String] :expected_bucket_owner
|
808
953
|
# The account ID of the expected bucket owner. If the bucket is owned by
|
809
|
-
# a different account, the request
|
810
|
-
#
|
954
|
+
# a different account, the request fails with the HTTP status code `403
|
955
|
+
# Forbidden` (access denied).
|
956
|
+
# @option options [Array<String>] :optional_object_attributes
|
957
|
+
# Specifies the optional fields that you want returned in the response.
|
958
|
+
# Fields that you do not specify are not returned.
|
811
959
|
# @return [ObjectSummary::Collection]
|
812
960
|
def objects(options = {})
|
813
961
|
batches = Enumerator.new do |y|
|
814
962
|
options = options.merge(bucket: @name)
|
815
|
-
resp =
|
963
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
964
|
+
@client.list_objects_v2(options)
|
965
|
+
end
|
816
966
|
resp.each_page do |page|
|
817
967
|
batch = []
|
818
968
|
page.data.contents.each do |c|
|
@@ -60,7 +60,9 @@ module Aws::S3
|
|
60
60
|
#
|
61
61
|
# @return [self]
|
62
62
|
def load
|
63
|
-
resp =
|
63
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
64
|
+
@client.get_bucket_acl(bucket: @bucket_name)
|
65
|
+
end
|
64
66
|
@data = resp.data
|
65
67
|
self
|
66
68
|
end
|
@@ -175,7 +177,9 @@ module Aws::S3
|
|
175
177
|
:retry
|
176
178
|
end
|
177
179
|
end
|
178
|
-
Aws::
|
180
|
+
Aws::Plugins::UserAgent.feature('resource') do
|
181
|
+
Aws::Waiters::Waiter.new(options).wait({})
|
182
|
+
end
|
179
183
|
end
|
180
184
|
|
181
185
|
# @!group Actions
|
@@ -203,6 +207,7 @@ module Aws::S3
|
|
203
207
|
# },
|
204
208
|
# },
|
205
209
|
# content_md5: "ContentMD5",
|
210
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
206
211
|
# grant_full_control: "GrantFullControl",
|
207
212
|
# grant_read: "GrantRead",
|
208
213
|
# grant_read_acp: "GrantReadACP",
|
@@ -221,12 +226,28 @@ module Aws::S3
|
|
221
226
|
# used as a message integrity check to verify that the request body was
|
222
227
|
# not corrupted in transit. For more information, go to [RFC 1864.][1]
|
223
228
|
#
|
224
|
-
# For requests made using the
|
225
|
-
# SDKs, this field is calculated
|
229
|
+
# For requests made using the Amazon Web Services Command Line Interface
|
230
|
+
# (CLI) or Amazon Web Services SDKs, this field is calculated
|
231
|
+
# automatically.
|
226
232
|
#
|
227
233
|
#
|
228
234
|
#
|
229
235
|
# [1]: http://www.ietf.org/rfc/rfc1864.txt
|
236
|
+
# @option options [String] :checksum_algorithm
|
237
|
+
# Indicates the algorithm used to create the checksum for the object
|
238
|
+
# when using the SDK. This header will not provide any additional
|
239
|
+
# functionality if not using the SDK. When sending this header, there
|
240
|
+
# must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
|
241
|
+
# sent. Otherwise, Amazon S3 fails the request with the HTTP status code
|
242
|
+
# `400 Bad Request`. For more information, see [Checking object
|
243
|
+
# integrity][1] in the *Amazon S3 User Guide*.
|
244
|
+
#
|
245
|
+
# If you provide an individual checksum, Amazon S3 ignores any provided
|
246
|
+
# `ChecksumAlgorithm` parameter.
|
247
|
+
#
|
248
|
+
#
|
249
|
+
#
|
250
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
230
251
|
# @option options [String] :grant_full_control
|
231
252
|
# Allows grantee the read, write, read ACP, and write ACP permissions on
|
232
253
|
# the bucket.
|
@@ -243,12 +264,14 @@ module Aws::S3
|
|
243
264
|
# Allows grantee to write the ACL for the applicable bucket.
|
244
265
|
# @option options [String] :expected_bucket_owner
|
245
266
|
# The account ID of the expected bucket owner. If the bucket is owned by
|
246
|
-
# a different account, the request
|
247
|
-
#
|
267
|
+
# a different account, the request fails with the HTTP status code `403
|
268
|
+
# Forbidden` (access denied).
|
248
269
|
# @return [EmptyStructure]
|
249
270
|
def put(options = {})
|
250
271
|
options = options.merge(bucket: @bucket_name)
|
251
|
-
resp =
|
272
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
273
|
+
@client.put_bucket_acl(options)
|
274
|
+
end
|
252
275
|
resp.data
|
253
276
|
end
|
254
277
|
|