aws-sdk-s3 1.127.0 → 1.141.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 +87 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/bucket.rb +421 -81
- data/lib/aws-sdk-s3/bucket_acl.rb +9 -9
- data/lib/aws-sdk-s3/bucket_cors.rb +12 -12
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +12 -12
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +12 -12
- data/lib/aws-sdk-s3/bucket_logging.rb +16 -9
- data/lib/aws-sdk-s3/bucket_notification.rb +3 -3
- data/lib/aws-sdk-s3/bucket_policy.rb +58 -14
- data/lib/aws-sdk-s3/bucket_request_payment.rb +9 -9
- data/lib/aws-sdk-s3/bucket_tagging.rb +12 -12
- data/lib/aws-sdk-s3/bucket_versioning.rb +27 -27
- data/lib/aws-sdk-s3/bucket_website.rb +12 -12
- data/lib/aws-sdk-s3/client.rb +5707 -2536
- data/lib/aws-sdk-s3/client_api.rb +111 -16
- data/lib/aws-sdk-s3/customizations/errors.rb +1 -1
- data/lib/aws-sdk-s3/customizations/object.rb +63 -0
- data/lib/aws-sdk-s3/customizations.rb +5 -0
- data/lib/aws-sdk-s3/endpoint_parameters.rb +36 -0
- data/lib/aws-sdk-s3/endpoint_provider.rb +104 -246
- data/lib/aws-sdk-s3/endpoints.rb +440 -0
- data/lib/aws-sdk-s3/express_credentials.rb +55 -0
- data/lib/aws-sdk-s3/express_credentials_cache.rb +30 -0
- data/lib/aws-sdk-s3/express_credentials_provider.rb +36 -0
- data/lib/aws-sdk-s3/file_downloader.rb +142 -21
- data/lib/aws-sdk-s3/multipart_file_uploader.rb +0 -1
- data/lib/aws-sdk-s3/multipart_stream_uploader.rb +0 -1
- data/lib/aws-sdk-s3/multipart_upload.rb +69 -16
- data/lib/aws-sdk-s3/multipart_upload_part.rb +160 -35
- data/lib/aws-sdk-s3/object.rb +1504 -235
- data/lib/aws-sdk-s3/object_acl.rb +29 -15
- data/lib/aws-sdk-s3/object_multipart_copier.rb +33 -17
- data/lib/aws-sdk-s3/object_summary.rb +1367 -254
- data/lib/aws-sdk-s3/object_version.rb +297 -42
- data/lib/aws-sdk-s3/plugins/endpoints.rb +13 -2
- data/lib/aws-sdk-s3/plugins/express_session_auth.rb +90 -0
- data/lib/aws-sdk-s3/plugins/location_constraint.rb +3 -1
- data/lib/aws-sdk-s3/plugins/md5s.rb +2 -1
- data/lib/aws-sdk-s3/presigned_post.rb +52 -43
- data/lib/aws-sdk-s3/presigner.rb +2 -2
- data/lib/aws-sdk-s3/resource.rb +83 -11
- data/lib/aws-sdk-s3/types.rb +4500 -1351
- data/lib/aws-sdk-s3.rb +1 -1
- metadata +11 -7
@@ -91,10 +91,13 @@ module Aws::S3
|
|
91
91
|
end
|
92
92
|
|
93
93
|
# The base64-encoded, 32-bit CRC32C checksum of the object. This will
|
94
|
-
# only be present if it was uploaded with the object.
|
95
|
-
#
|
96
|
-
#
|
97
|
-
#
|
94
|
+
# only be present if it was uploaded with the object. When you use an
|
95
|
+
# API operation on an object that was uploaded using multipart uploads,
|
96
|
+
# this value may not be a direct checksum value of the full object.
|
97
|
+
# Instead, it's a calculation based on the checksum values of each
|
98
|
+
# individual part. For more information about how checksums are
|
99
|
+
# calculated with multipart uploads, see [ Checking object integrity][1]
|
100
|
+
# in the *Amazon S3 User Guide*.
|
98
101
|
#
|
99
102
|
#
|
100
103
|
#
|
@@ -105,10 +108,13 @@ module Aws::S3
|
|
105
108
|
end
|
106
109
|
|
107
110
|
# The base64-encoded, 160-bit SHA-1 digest of the object. This will only
|
108
|
-
# be present if it was uploaded with the object.
|
109
|
-
#
|
110
|
-
#
|
111
|
-
#
|
111
|
+
# be present if it was uploaded with the object. When you use the API
|
112
|
+
# operation on an object that was uploaded using multipart uploads, this
|
113
|
+
# value may not be a direct checksum value of the full object. Instead,
|
114
|
+
# it's a calculation based on the checksum values of each individual
|
115
|
+
# part. For more information about how checksums are calculated with
|
116
|
+
# multipart uploads, see [ Checking object integrity][1] in the *Amazon
|
117
|
+
# S3 User Guide*.
|
112
118
|
#
|
113
119
|
#
|
114
120
|
#
|
@@ -305,9 +311,11 @@ module Aws::S3
|
|
305
311
|
# `arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf`.
|
306
312
|
# The value must be URL encoded.
|
307
313
|
#
|
308
|
-
# <note markdown="1"> Amazon S3 supports copy operations using
|
309
|
-
#
|
310
|
-
#
|
314
|
+
# <note markdown="1"> * Amazon S3 supports copy operations using Access points only when
|
315
|
+
# the source and destination buckets are in the same Amazon Web
|
316
|
+
# Services Region.
|
317
|
+
#
|
318
|
+
# * Access points are not supported by directory buckets.
|
311
319
|
#
|
312
320
|
# </note>
|
313
321
|
#
|
@@ -320,25 +328,82 @@ module Aws::S3
|
|
320
328
|
# `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
|
321
329
|
# The value must be URL-encoded.
|
322
330
|
#
|
323
|
-
#
|
324
|
-
#
|
325
|
-
#
|
326
|
-
#
|
327
|
-
# version
|
331
|
+
# If your bucket has versioning enabled, you could have multiple
|
332
|
+
# versions of the same object. By default, `x-amz-copy-source`
|
333
|
+
# identifies the current version of the source object to copy. To copy a
|
334
|
+
# specific version of the source object to copy, append
|
335
|
+
# `?versionId=<version-id>` to the `x-amz-copy-source` request header
|
336
|
+
# (for example, `x-amz-copy-source:
|
337
|
+
# /awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893`).
|
338
|
+
#
|
339
|
+
# If the current version is a delete marker and you don't specify a
|
340
|
+
# versionId in the `x-amz-copy-source` request header, Amazon S3 returns
|
341
|
+
# a `404 Not Found` error, because the object does not exist. If you
|
342
|
+
# specify versionId in the `x-amz-copy-source` and the versionId is a
|
343
|
+
# delete marker, Amazon S3 returns an HTTP `400 Bad Request` error,
|
344
|
+
# because you are not allowed to specify a delete marker as a version
|
345
|
+
# for the `x-amz-copy-source`.
|
346
|
+
#
|
347
|
+
# <note markdown="1"> **Directory buckets** - S3 Versioning isn't enabled and supported for
|
348
|
+
# directory buckets.
|
349
|
+
#
|
350
|
+
# </note>
|
328
351
|
#
|
329
352
|
#
|
330
353
|
#
|
331
354
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html
|
332
355
|
# @option options [String] :copy_source_if_match
|
333
356
|
# Copies the object if its entity tag (ETag) matches the specified tag.
|
357
|
+
#
|
358
|
+
# If both of the `x-amz-copy-source-if-match` and
|
359
|
+
# `x-amz-copy-source-if-unmodified-since` headers are present in the
|
360
|
+
# request as follows:
|
361
|
+
#
|
362
|
+
# `x-amz-copy-source-if-match` condition evaluates to `true`, and;
|
363
|
+
#
|
364
|
+
# `x-amz-copy-source-if-unmodified-since` condition evaluates to
|
365
|
+
# `false`;
|
366
|
+
#
|
367
|
+
# Amazon S3 returns `200 OK` and copies the data.
|
334
368
|
# @option options [Time,DateTime,Date,Integer,String] :copy_source_if_modified_since
|
335
369
|
# Copies the object if it has been modified since the specified time.
|
370
|
+
#
|
371
|
+
# If both of the `x-amz-copy-source-if-none-match` and
|
372
|
+
# `x-amz-copy-source-if-modified-since` headers are present in the
|
373
|
+
# request as follows:
|
374
|
+
#
|
375
|
+
# `x-amz-copy-source-if-none-match` condition evaluates to `false`, and;
|
376
|
+
#
|
377
|
+
# `x-amz-copy-source-if-modified-since` condition evaluates to `true`;
|
378
|
+
#
|
379
|
+
# Amazon S3 returns `412 Precondition Failed` response code.
|
336
380
|
# @option options [String] :copy_source_if_none_match
|
337
381
|
# Copies the object if its entity tag (ETag) is different than the
|
338
382
|
# specified ETag.
|
383
|
+
#
|
384
|
+
# If both of the `x-amz-copy-source-if-none-match` and
|
385
|
+
# `x-amz-copy-source-if-modified-since` headers are present in the
|
386
|
+
# request as follows:
|
387
|
+
#
|
388
|
+
# `x-amz-copy-source-if-none-match` condition evaluates to `false`, and;
|
389
|
+
#
|
390
|
+
# `x-amz-copy-source-if-modified-since` condition evaluates to `true`;
|
391
|
+
#
|
392
|
+
# Amazon S3 returns `412 Precondition Failed` response code.
|
339
393
|
# @option options [Time,DateTime,Date,Integer,String] :copy_source_if_unmodified_since
|
340
394
|
# Copies the object if it hasn't been modified since the specified
|
341
395
|
# time.
|
396
|
+
#
|
397
|
+
# If both of the `x-amz-copy-source-if-match` and
|
398
|
+
# `x-amz-copy-source-if-unmodified-since` headers are present in the
|
399
|
+
# request as follows:
|
400
|
+
#
|
401
|
+
# `x-amz-copy-source-if-match` condition evaluates to `true`, and;
|
402
|
+
#
|
403
|
+
# `x-amz-copy-source-if-unmodified-since` condition evaluates to
|
404
|
+
# `false`;
|
405
|
+
#
|
406
|
+
# Amazon S3 returns `200 OK` and copies the data.
|
342
407
|
# @option options [String] :copy_source_range
|
343
408
|
# The range of bytes to copy from the source object. The range value
|
344
409
|
# must use the form bytes=first-last, where the first and last are the
|
@@ -346,8 +411,13 @@ module Aws::S3
|
|
346
411
|
# you want to copy the first 10 bytes of the source. You can copy a
|
347
412
|
# range only if the source object is greater than 5 MB.
|
348
413
|
# @option options [String] :sse_customer_algorithm
|
349
|
-
# Specifies the algorithm to use
|
414
|
+
# Specifies the algorithm to use when encrypting the object (for
|
350
415
|
# example, AES256).
|
416
|
+
#
|
417
|
+
# <note markdown="1"> This functionality is not supported when the destination bucket is a
|
418
|
+
# directory bucket.
|
419
|
+
#
|
420
|
+
# </note>
|
351
421
|
# @option options [String] :sse_customer_key
|
352
422
|
# Specifies the customer-provided encryption key for Amazon S3 to use in
|
353
423
|
# encrypting data. This value is used to store the object and then it is
|
@@ -356,39 +426,72 @@ module Aws::S3
|
|
356
426
|
# `x-amz-server-side-encryption-customer-algorithm` header. This must be
|
357
427
|
# the same encryption key specified in the initiate multipart upload
|
358
428
|
# request.
|
429
|
+
#
|
430
|
+
# <note markdown="1"> This functionality is not supported when the destination bucket is a
|
431
|
+
# directory bucket.
|
432
|
+
#
|
433
|
+
# </note>
|
359
434
|
# @option options [String] :sse_customer_key_md5
|
360
435
|
# Specifies the 128-bit MD5 digest of the encryption key according to
|
361
436
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
362
437
|
# ensure that the encryption key was transmitted without error.
|
438
|
+
#
|
439
|
+
# <note markdown="1"> This functionality is not supported when the destination bucket is a
|
440
|
+
# directory bucket.
|
441
|
+
#
|
442
|
+
# </note>
|
363
443
|
# @option options [String] :copy_source_sse_customer_algorithm
|
364
444
|
# Specifies the algorithm to use when decrypting the source object (for
|
365
|
-
# example, AES256).
|
445
|
+
# example, `AES256`).
|
446
|
+
#
|
447
|
+
# <note markdown="1"> This functionality is not supported when the source object is in a
|
448
|
+
# directory bucket.
|
449
|
+
#
|
450
|
+
# </note>
|
366
451
|
# @option options [String] :copy_source_sse_customer_key
|
367
452
|
# Specifies the customer-provided encryption key for Amazon S3 to use to
|
368
453
|
# decrypt the source object. The encryption key provided in this header
|
369
454
|
# must be one that was used when the source object was created.
|
455
|
+
#
|
456
|
+
# <note markdown="1"> This functionality is not supported when the source object is in a
|
457
|
+
# directory bucket.
|
458
|
+
#
|
459
|
+
# </note>
|
370
460
|
# @option options [String] :copy_source_sse_customer_key_md5
|
371
461
|
# Specifies the 128-bit MD5 digest of the encryption key according to
|
372
462
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
373
463
|
# ensure that the encryption key was transmitted without error.
|
464
|
+
#
|
465
|
+
# <note markdown="1"> This functionality is not supported when the source object is in a
|
466
|
+
# directory bucket.
|
467
|
+
#
|
468
|
+
# </note>
|
374
469
|
# @option options [String] :request_payer
|
375
470
|
# Confirms that the requester knows that they will be charged for the
|
376
471
|
# request. Bucket owners need not specify this parameter in their
|
377
|
-
# requests.
|
472
|
+
# requests. If either the source or destination S3 bucket has Requester
|
473
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
474
|
+
# the object. For information about downloading objects from Requester
|
378
475
|
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
379
476
|
# in the *Amazon S3 User Guide*.
|
380
477
|
#
|
478
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
479
|
+
#
|
480
|
+
# </note>
|
481
|
+
#
|
381
482
|
#
|
382
483
|
#
|
383
484
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
384
485
|
# @option options [String] :expected_bucket_owner
|
385
486
|
# The account ID of the expected destination bucket owner. If the
|
386
|
-
#
|
387
|
-
# with the HTTP status code `403
|
487
|
+
# account ID that you provide does not match the actual owner of the
|
488
|
+
# destination bucket, the request fails with the HTTP status code `403
|
489
|
+
# Forbidden` (access denied).
|
388
490
|
# @option options [String] :expected_source_bucket_owner
|
389
|
-
# The account ID of the expected source bucket owner. If the
|
390
|
-
#
|
391
|
-
# HTTP status code `403 Forbidden` (access
|
491
|
+
# The account ID of the expected source bucket owner. If the account ID
|
492
|
+
# that you provide does not match the actual owner of the source bucket,
|
493
|
+
# the request fails with the HTTP status code `403 Forbidden` (access
|
494
|
+
# denied).
|
392
495
|
# @return [Types::UploadPartCopyOutput]
|
393
496
|
def copy_from(options = {})
|
394
497
|
options = options.merge(
|
@@ -430,14 +533,18 @@ module Aws::S3
|
|
430
533
|
# The base64-encoded 128-bit MD5 digest of the part data. This parameter
|
431
534
|
# is auto-populated when using the command from the CLI. This parameter
|
432
535
|
# is required if object lock parameters are specified.
|
536
|
+
#
|
537
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
538
|
+
#
|
539
|
+
# </note>
|
433
540
|
# @option options [String] :checksum_algorithm
|
434
541
|
# Indicates the algorithm used to create the checksum for the object
|
435
|
-
# when
|
436
|
-
# functionality if
|
437
|
-
# must be a corresponding `x-amz-checksum` or `x-amz-trailer`
|
438
|
-
# sent. Otherwise, Amazon S3 fails the request with the HTTP
|
439
|
-
# `400 Bad Request`. For more information, see [Checking
|
440
|
-
# integrity][1] in the *Amazon S3 User Guide*.
|
542
|
+
# when you use the SDK. This header will not provide any additional
|
543
|
+
# functionality if you don't use the SDK. When you send this header,
|
544
|
+
# there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
|
545
|
+
# header sent. Otherwise, Amazon S3 fails the request with the HTTP
|
546
|
+
# status code `400 Bad Request`. For more information, see [Checking
|
547
|
+
# object integrity][1] in the *Amazon S3 User Guide*.
|
441
548
|
#
|
442
549
|
# If you provide an individual checksum, Amazon S3 ignores any provided
|
443
550
|
# `ChecksumAlgorithm` parameter.
|
@@ -489,8 +596,12 @@ module Aws::S3
|
|
489
596
|
#
|
490
597
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
491
598
|
# @option options [String] :sse_customer_algorithm
|
492
|
-
# Specifies the algorithm to use
|
599
|
+
# Specifies the algorithm to use when encrypting the object (for
|
493
600
|
# example, AES256).
|
601
|
+
#
|
602
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
603
|
+
#
|
604
|
+
# </note>
|
494
605
|
# @option options [String] :sse_customer_key
|
495
606
|
# Specifies the customer-provided encryption key for Amazon S3 to use in
|
496
607
|
# encrypting data. This value is used to store the object and then it is
|
@@ -499,24 +610,38 @@ module Aws::S3
|
|
499
610
|
# `x-amz-server-side-encryption-customer-algorithm header`. This must be
|
500
611
|
# the same encryption key specified in the initiate multipart upload
|
501
612
|
# request.
|
613
|
+
#
|
614
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
615
|
+
#
|
616
|
+
# </note>
|
502
617
|
# @option options [String] :sse_customer_key_md5
|
503
618
|
# Specifies the 128-bit MD5 digest of the encryption key according to
|
504
619
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
505
620
|
# ensure that the encryption key was transmitted without error.
|
621
|
+
#
|
622
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
623
|
+
#
|
624
|
+
# </note>
|
506
625
|
# @option options [String] :request_payer
|
507
626
|
# Confirms that the requester knows that they will be charged for the
|
508
627
|
# request. Bucket owners need not specify this parameter in their
|
509
|
-
# requests.
|
628
|
+
# requests. If either the source or destination S3 bucket has Requester
|
629
|
+
# Pays enabled, the requester will pay for corresponding charges to copy
|
630
|
+
# the object. For information about downloading objects from Requester
|
510
631
|
# Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
|
511
632
|
# in the *Amazon S3 User Guide*.
|
512
633
|
#
|
634
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
635
|
+
#
|
636
|
+
# </note>
|
637
|
+
#
|
513
638
|
#
|
514
639
|
#
|
515
640
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
516
641
|
# @option options [String] :expected_bucket_owner
|
517
|
-
# The account ID of the expected bucket owner. If the
|
518
|
-
#
|
519
|
-
# Forbidden` (access denied).
|
642
|
+
# The account ID of the expected bucket owner. If the account ID that
|
643
|
+
# you provide does not match the actual owner of the bucket, the request
|
644
|
+
# fails with the HTTP status code `403 Forbidden` (access denied).
|
520
645
|
# @return [Types::UploadPartOutput]
|
521
646
|
def upload(options = {})
|
522
647
|
options = options.merge(
|