aws-sdk-s3 1.96.2 → 1.132.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +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
|
|