aws-sdk-s3 1.156.0 → 1.190.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 +193 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +12 -3
- data/lib/aws-sdk-s3/bucket.rb +304 -94
- data/lib/aws-sdk-s3/bucket_acl.rb +6 -5
- data/lib/aws-sdk-s3/bucket_cors.rb +6 -5
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +7 -2
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +60 -3
- data/lib/aws-sdk-s3/bucket_logging.rb +2 -2
- data/lib/aws-sdk-s3/bucket_policy.rb +10 -9
- data/lib/aws-sdk-s3/bucket_request_payment.rb +3 -3
- data/lib/aws-sdk-s3/bucket_tagging.rb +3 -3
- data/lib/aws-sdk-s3/bucket_versioning.rb +9 -9
- data/lib/aws-sdk-s3/bucket_website.rb +3 -3
- data/lib/aws-sdk-s3/client.rb +4081 -1812
- data/lib/aws-sdk-s3/client_api.rb +404 -162
- data/lib/aws-sdk-s3/customizations/object.rb +6 -0
- data/lib/aws-sdk-s3/customizations/object_summary.rb +5 -0
- data/lib/aws-sdk-s3/customizations/object_version.rb +13 -0
- data/lib/aws-sdk-s3/customizations.rb +24 -38
- data/lib/aws-sdk-s3/endpoint_parameters.rb +13 -18
- data/lib/aws-sdk-s3/endpoint_provider.rb +400 -276
- data/lib/aws-sdk-s3/endpoints.rb +465 -1706
- data/lib/aws-sdk-s3/errors.rb +58 -0
- data/lib/aws-sdk-s3/file_downloader.rb +14 -31
- data/lib/aws-sdk-s3/legacy_signer.rb +2 -1
- data/lib/aws-sdk-s3/multipart_file_uploader.rb +31 -13
- data/lib/aws-sdk-s3/multipart_upload.rb +108 -8
- data/lib/aws-sdk-s3/multipart_upload_part.rb +52 -36
- data/lib/aws-sdk-s3/object.rb +614 -203
- data/lib/aws-sdk-s3/object_acl.rb +11 -5
- data/lib/aws-sdk-s3/object_multipart_copier.rb +2 -1
- data/lib/aws-sdk-s3/object_summary.rb +518 -151
- data/lib/aws-sdk-s3/object_version.rb +81 -12
- data/lib/aws-sdk-s3/plugins/access_grants.rb +68 -4
- data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
- data/lib/aws-sdk-s3/plugins/endpoints.rb +24 -212
- data/lib/aws-sdk-s3/plugins/express_session_auth.rb +11 -20
- data/lib/aws-sdk-s3/plugins/http_200_errors.rb +3 -3
- data/lib/aws-sdk-s3/plugins/md5s.rb +10 -71
- data/lib/aws-sdk-s3/plugins/streaming_retry.rb +5 -7
- data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -1
- data/lib/aws-sdk-s3/presigner.rb +5 -5
- data/lib/aws-sdk-s3/resource.rb +45 -18
- data/lib/aws-sdk-s3/types.rb +3462 -1337
- data/lib/aws-sdk-s3.rb +35 -31
- data/sig/bucket.rbs +16 -6
- data/sig/bucket_acl.rbs +1 -1
- data/sig/bucket_cors.rbs +1 -1
- data/sig/bucket_lifecycle.rbs +1 -1
- data/sig/bucket_lifecycle_configuration.rbs +8 -4
- data/sig/bucket_logging.rbs +1 -1
- data/sig/bucket_policy.rbs +1 -1
- data/sig/bucket_request_payment.rbs +1 -1
- data/sig/bucket_tagging.rbs +1 -1
- data/sig/bucket_versioning.rbs +3 -3
- data/sig/bucket_website.rbs +1 -1
- data/sig/client.rbs +162 -45
- data/sig/errors.rbs +10 -0
- data/sig/multipart_upload.rbs +12 -2
- data/sig/multipart_upload_part.rbs +5 -1
- data/sig/object.rbs +26 -6
- data/sig/object_acl.rbs +1 -1
- data/sig/object_summary.rbs +18 -7
- data/sig/object_version.rbs +9 -3
- data/sig/resource.rbs +11 -4
- data/sig/types.rbs +210 -38
- metadata +8 -10
- data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +0 -31
data/lib/aws-sdk-s3/bucket.rb
CHANGED
@@ -41,6 +41,14 @@ module Aws::S3
|
|
41
41
|
data[:creation_date]
|
42
42
|
end
|
43
43
|
|
44
|
+
# `BucketRegion` indicates the Amazon Web Services region where the
|
45
|
+
# bucket is located. If the request contains at least one valid
|
46
|
+
# parameter, it is included in the response.
|
47
|
+
# @return [String]
|
48
|
+
def bucket_region
|
49
|
+
data[:bucket_region]
|
50
|
+
end
|
51
|
+
|
44
52
|
# @!endgroup
|
45
53
|
|
46
54
|
# @return [Client]
|
@@ -229,13 +237,13 @@ module Aws::S3
|
|
229
237
|
# bucket.create({
|
230
238
|
# acl: "private", # accepts private, public-read, public-read-write, authenticated-read
|
231
239
|
# create_bucket_configuration: {
|
232
|
-
# location_constraint: "af-south-1", # accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-south-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ca-central-1, cn-north-1, cn-northwest-1, EU, eu-central-1, eu-north-1, eu-south-1, eu-south-2, eu-west-1, eu-west-2, eu-west-3, me-south-1, sa-east-1, us-east-2, us-gov-east-1, us-gov-west-1, us-west-1, us-west-2
|
240
|
+
# location_constraint: "af-south-1", # accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-south-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-southeast-4, ap-southeast-5, ca-central-1, cn-north-1, cn-northwest-1, EU, eu-central-1, eu-central-2, eu-north-1, eu-south-1, eu-south-2, eu-west-1, eu-west-2, eu-west-3, il-central-1, me-central-1, me-south-1, sa-east-1, us-east-2, us-gov-east-1, us-gov-west-1, us-west-1, us-west-2
|
233
241
|
# location: {
|
234
|
-
# type: "AvailabilityZone", # accepts AvailabilityZone
|
242
|
+
# type: "AvailabilityZone", # accepts AvailabilityZone, LocalZone
|
235
243
|
# name: "LocationNameAsString",
|
236
244
|
# },
|
237
245
|
# bucket: {
|
238
|
-
# data_redundancy: "SingleAvailabilityZone", # accepts SingleAvailabilityZone
|
246
|
+
# data_redundancy: "SingleAvailabilityZone", # accepts SingleAvailabilityZone, SingleLocalZone
|
239
247
|
# type: "Directory", # accepts Directory
|
240
248
|
# },
|
241
249
|
# },
|
@@ -373,6 +381,9 @@ module Aws::S3
|
|
373
381
|
# {
|
374
382
|
# key: "ObjectKey", # required
|
375
383
|
# version_id: "ObjectVersionId",
|
384
|
+
# etag: "ETag",
|
385
|
+
# last_modified_time: Time.now,
|
386
|
+
# size: 1,
|
376
387
|
# },
|
377
388
|
# ],
|
378
389
|
# quiet: false,
|
@@ -381,7 +392,7 @@ module Aws::S3
|
|
381
392
|
# request_payer: "requester", # accepts requester
|
382
393
|
# bypass_governance_retention: false,
|
383
394
|
# expected_bucket_owner: "AccountId",
|
384
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
395
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
385
396
|
# })
|
386
397
|
# @param [Hash] options ({})
|
387
398
|
# @option options [required, Types::Delete] :delete
|
@@ -447,22 +458,23 @@ module Aws::S3
|
|
447
458
|
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
448
459
|
# the supported algorithm from the following list:
|
449
460
|
#
|
450
|
-
# * CRC32
|
461
|
+
# * `CRC32`
|
462
|
+
#
|
463
|
+
# * `CRC32C`
|
451
464
|
#
|
452
|
-
# *
|
465
|
+
# * `CRC64NVME`
|
453
466
|
#
|
454
|
-
# * SHA1
|
467
|
+
# * `SHA1`
|
455
468
|
#
|
456
|
-
# * SHA256
|
469
|
+
# * `SHA256`
|
457
470
|
#
|
458
471
|
# For more information, see [Checking object integrity][1] in the
|
459
472
|
# *Amazon S3 User Guide*.
|
460
473
|
#
|
461
474
|
# If the individual checksum value you provide through
|
462
475
|
# `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
|
463
|
-
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3
|
464
|
-
#
|
465
|
-
# that matches the provided value in `x-amz-checksum-algorithm `.
|
476
|
+
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
|
477
|
+
# request with a `BadDigest` error.
|
466
478
|
#
|
467
479
|
# If you provide an individual checksum, Amazon S3 ignores any provided
|
468
480
|
# `ChecksumAlgorithm` parameter.
|
@@ -491,17 +503,21 @@ module Aws::S3
|
|
491
503
|
# content_length: 1,
|
492
504
|
# content_md5: "ContentMD5",
|
493
505
|
# content_type: "ContentType",
|
494
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
506
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
495
507
|
# checksum_crc32: "ChecksumCRC32",
|
496
508
|
# checksum_crc32c: "ChecksumCRC32C",
|
509
|
+
# checksum_crc64nvme: "ChecksumCRC64NVME",
|
497
510
|
# checksum_sha1: "ChecksumSHA1",
|
498
511
|
# checksum_sha256: "ChecksumSHA256",
|
499
512
|
# expires: Time.now,
|
513
|
+
# if_match: "IfMatch",
|
514
|
+
# if_none_match: "IfNoneMatch",
|
500
515
|
# grant_full_control: "GrantFullControl",
|
501
516
|
# grant_read: "GrantRead",
|
502
517
|
# grant_read_acp: "GrantReadACP",
|
503
518
|
# grant_write_acp: "GrantWriteACP",
|
504
519
|
# key: "ObjectKey", # required
|
520
|
+
# write_offset_bytes: 1,
|
505
521
|
# metadata: {
|
506
522
|
# "MetadataKey" => "MetadataValue",
|
507
523
|
# },
|
@@ -597,7 +613,7 @@ module Aws::S3
|
|
597
613
|
#
|
598
614
|
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
|
599
615
|
# @option options [String] :content_md5
|
600
|
-
# The
|
616
|
+
# The Base64 encoded 128-bit `MD5` digest of the message (without the
|
601
617
|
# headers) according to RFC 1864. This header can be used as a message
|
602
618
|
# integrity check to verify that the data is the same data that was
|
603
619
|
# originally sent. Although it is optional, we recommend using the
|
@@ -605,10 +621,11 @@ module Aws::S3
|
|
605
621
|
# information about REST request authentication, see [REST
|
606
622
|
# Authentication][1].
|
607
623
|
#
|
608
|
-
# <note markdown="1"> The `Content-MD5` header is required
|
609
|
-
# object with a retention period configured
|
610
|
-
#
|
611
|
-
# Object Lock
|
624
|
+
# <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
|
625
|
+
# for any request to upload an object with a retention period configured
|
626
|
+
# using Amazon S3 Object Lock. For more information, see [Uploading
|
627
|
+
# objects to an Object Lock enabled bucket ][2] in the *Amazon S3 User
|
628
|
+
# Guide*.
|
612
629
|
#
|
613
630
|
# </note>
|
614
631
|
#
|
@@ -619,7 +636,7 @@ module Aws::S3
|
|
619
636
|
#
|
620
637
|
#
|
621
638
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
|
622
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/
|
639
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-put-object
|
623
640
|
# @option options [String] :content_type
|
624
641
|
# A standard MIME type describing the format of the contents. For more
|
625
642
|
# information, see
|
@@ -639,37 +656,45 @@ module Aws::S3
|
|
639
656
|
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
640
657
|
# the supported algorithm from the following list:
|
641
658
|
#
|
642
|
-
# * CRC32
|
659
|
+
# * `CRC32`
|
643
660
|
#
|
644
|
-
# * CRC32C
|
661
|
+
# * `CRC32C`
|
645
662
|
#
|
646
|
-
# *
|
663
|
+
# * `CRC64NVME`
|
647
664
|
#
|
648
|
-
# *
|
665
|
+
# * `SHA1`
|
666
|
+
#
|
667
|
+
# * `SHA256`
|
649
668
|
#
|
650
669
|
# For more information, see [Checking object integrity][1] in the
|
651
670
|
# *Amazon S3 User Guide*.
|
652
671
|
#
|
653
672
|
# If the individual checksum value you provide through
|
654
673
|
# `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
|
655
|
-
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3
|
656
|
-
#
|
657
|
-
# that matches the provided value in `x-amz-checksum-algorithm `.
|
674
|
+
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
|
675
|
+
# request with a `BadDigest` error.
|
658
676
|
#
|
659
|
-
# <note markdown="1">
|
660
|
-
#
|
677
|
+
# <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
|
678
|
+
# for any request to upload an object with a retention period configured
|
679
|
+
# using Amazon S3 Object Lock. For more information, see [Uploading
|
680
|
+
# objects to an Object Lock enabled bucket ][2] in the *Amazon S3 User
|
681
|
+
# Guide*.
|
661
682
|
#
|
662
683
|
# </note>
|
663
684
|
#
|
685
|
+
# For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
|
686
|
+
# is the default checksum algorithm that's used for performance.
|
687
|
+
#
|
664
688
|
#
|
665
689
|
#
|
666
690
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
691
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-put-object
|
667
692
|
# @option options [String] :checksum_crc32
|
668
693
|
# This header can be used as a data integrity check to verify that the
|
669
694
|
# data received is the same data that was originally sent. This header
|
670
|
-
# specifies the
|
671
|
-
# more information, see [Checking object integrity][1] in the
|
672
|
-
# User Guide*.
|
695
|
+
# specifies the Base64 encoded, 32-bit `CRC32` checksum of the object.
|
696
|
+
# For more information, see [Checking object integrity][1] in the
|
697
|
+
# *Amazon S3 User Guide*.
|
673
698
|
#
|
674
699
|
#
|
675
700
|
#
|
@@ -677,17 +702,28 @@ module Aws::S3
|
|
677
702
|
# @option options [String] :checksum_crc32c
|
678
703
|
# This header can be used as a data integrity check to verify that the
|
679
704
|
# data received is the same data that was originally sent. This header
|
680
|
-
# specifies the
|
705
|
+
# specifies the Base64 encoded, 32-bit `CRC32C` checksum of the object.
|
681
706
|
# For more information, see [Checking object integrity][1] in the
|
682
707
|
# *Amazon S3 User Guide*.
|
683
708
|
#
|
684
709
|
#
|
685
710
|
#
|
686
711
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
712
|
+
# @option options [String] :checksum_crc64nvme
|
713
|
+
# This header can be used as a data integrity check to verify that the
|
714
|
+
# data received is the same data that was originally sent. This header
|
715
|
+
# specifies the Base64 encoded, 64-bit `CRC64NVME` checksum of the
|
716
|
+
# object. The `CRC64NVME` checksum is always a full object checksum. For
|
717
|
+
# more information, see [Checking object integrity in the Amazon S3 User
|
718
|
+
# Guide][1].
|
719
|
+
#
|
720
|
+
#
|
721
|
+
#
|
722
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
687
723
|
# @option options [String] :checksum_sha1
|
688
724
|
# This header can be used as a data integrity check to verify that the
|
689
725
|
# data received is the same data that was originally sent. This header
|
690
|
-
# specifies the
|
726
|
+
# specifies the Base64 encoded, 160-bit `SHA1` digest of the object. For
|
691
727
|
# more information, see [Checking object integrity][1] in the *Amazon S3
|
692
728
|
# User Guide*.
|
693
729
|
#
|
@@ -697,7 +733,7 @@ module Aws::S3
|
|
697
733
|
# @option options [String] :checksum_sha256
|
698
734
|
# This header can be used as a data integrity check to verify that the
|
699
735
|
# data received is the same data that was originally sent. This header
|
700
|
-
# specifies the
|
736
|
+
# specifies the Base64 encoded, 256-bit `SHA256` digest of the object.
|
701
737
|
# For more information, see [Checking object integrity][1] in the
|
702
738
|
# *Amazon S3 User Guide*.
|
703
739
|
#
|
@@ -712,6 +748,43 @@ module Aws::S3
|
|
712
748
|
#
|
713
749
|
#
|
714
750
|
# [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
|
751
|
+
# @option options [String] :if_match
|
752
|
+
# Uploads the object only if the ETag (entity tag) value provided during
|
753
|
+
# the WRITE operation matches the ETag of the object in S3. If the ETag
|
754
|
+
# values do not match, the operation returns a `412 Precondition Failed`
|
755
|
+
# error.
|
756
|
+
#
|
757
|
+
# If a conflicting operation occurs during the upload S3 returns a `409
|
758
|
+
# ConditionalRequestConflict` response. On a 409 failure you should
|
759
|
+
# fetch the object's ETag and retry the upload.
|
760
|
+
#
|
761
|
+
# Expects the ETag value as a string.
|
762
|
+
#
|
763
|
+
# For more information about conditional requests, see [RFC 7232][1], or
|
764
|
+
# [Conditional requests][2] in the *Amazon S3 User Guide*.
|
765
|
+
#
|
766
|
+
#
|
767
|
+
#
|
768
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
769
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
|
770
|
+
# @option options [String] :if_none_match
|
771
|
+
# Uploads the object only if the object key name does not already exist
|
772
|
+
# in the bucket specified. Otherwise, Amazon S3 returns a `412
|
773
|
+
# Precondition Failed` error.
|
774
|
+
#
|
775
|
+
# If a conflicting operation occurs during the upload S3 returns a `409
|
776
|
+
# ConditionalRequestConflict` response. On a 409 failure you should
|
777
|
+
# retry the upload.
|
778
|
+
#
|
779
|
+
# Expects the '*' (asterisk) character.
|
780
|
+
#
|
781
|
+
# For more information about conditional requests, see [RFC 7232][1], or
|
782
|
+
# [Conditional requests][2] in the *Amazon S3 User Guide*.
|
783
|
+
#
|
784
|
+
#
|
785
|
+
#
|
786
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
787
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
|
715
788
|
# @option options [String] :grant_full_control
|
716
789
|
# Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
|
717
790
|
# object.
|
@@ -747,6 +820,16 @@ module Aws::S3
|
|
747
820
|
# </note>
|
748
821
|
# @option options [required, String] :key
|
749
822
|
# Object key for which the PUT action was initiated.
|
823
|
+
# @option options [Integer] :write_offset_bytes
|
824
|
+
# Specifies the offset for appending data to existing objects in bytes.
|
825
|
+
# The offset must be equal to the size of the existing object being
|
826
|
+
# appended to. If no object exists, setting this header to 0 will create
|
827
|
+
# a new object.
|
828
|
+
#
|
829
|
+
# <note markdown="1"> This functionality is only supported for objects in the Amazon S3
|
830
|
+
# Express One Zone storage class in directory buckets.
|
831
|
+
#
|
832
|
+
# </note>
|
750
833
|
# @option options [Hash<String,String>] :metadata
|
751
834
|
# A map of metadata to store with the object in S3.
|
752
835
|
# @option options [String] :server_side_encryption
|
@@ -754,25 +837,65 @@ module Aws::S3
|
|
754
837
|
# object in Amazon S3 (for example, `AES256`, `aws:kms`,
|
755
838
|
# `aws:kms:dsse`).
|
756
839
|
#
|
757
|
-
# <b>General purpose buckets </b> - You have four mutually exclusive
|
758
|
-
#
|
759
|
-
#
|
760
|
-
#
|
761
|
-
#
|
762
|
-
#
|
763
|
-
#
|
764
|
-
#
|
765
|
-
#
|
766
|
-
#
|
767
|
-
#
|
768
|
-
#
|
769
|
-
# <b>Directory buckets </b> - For directory buckets, only
|
770
|
-
#
|
771
|
-
#
|
840
|
+
# * <b>General purpose buckets </b> - You have four mutually exclusive
|
841
|
+
# options to protect data using server-side encryption in Amazon S3,
|
842
|
+
# depending on how you choose to manage the encryption keys.
|
843
|
+
# Specifically, the encryption key options are Amazon S3 managed keys
|
844
|
+
# (SSE-S3), Amazon Web Services KMS keys (SSE-KMS or DSSE-KMS), and
|
845
|
+
# customer-provided keys (SSE-C). Amazon S3 encrypts data with
|
846
|
+
# server-side encryption by using Amazon S3 managed keys (SSE-S3) by
|
847
|
+
# default. You can optionally tell Amazon S3 to encrypt data at rest
|
848
|
+
# by using server-side encryption with other key options. For more
|
849
|
+
# information, see [Using Server-Side Encryption][1] in the *Amazon S3
|
850
|
+
# User Guide*.
|
851
|
+
#
|
852
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
853
|
+
# two supported options for server-side encryption: server-side
|
854
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
855
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). We
|
856
|
+
# recommend that the bucket's default encryption uses the desired
|
857
|
+
# encryption configuration and you don't override the bucket default
|
858
|
+
# encryption in your `CreateSession` requests or `PUT` object
|
859
|
+
# requests. Then, new objects are automatically encrypted with the
|
860
|
+
# desired encryption settings. For more information, see [Protecting
|
861
|
+
# data with server-side encryption][2] in the *Amazon S3 User Guide*.
|
862
|
+
# For more information about the encryption overriding behaviors in
|
863
|
+
# directory buckets, see [Specifying server-side encryption with KMS
|
864
|
+
# for new object uploads][3].
|
865
|
+
#
|
866
|
+
# In the Zonal endpoint API calls (except [CopyObject][4] and
|
867
|
+
# [UploadPartCopy][5]) using the REST API, the encryption request
|
868
|
+
# headers must match the encryption settings that are specified in the
|
869
|
+
# `CreateSession` request. You can't override the values of the
|
870
|
+
# encryption settings (`x-amz-server-side-encryption`,
|
871
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`,
|
872
|
+
# `x-amz-server-side-encryption-context`, and
|
873
|
+
# `x-amz-server-side-encryption-bucket-key-enabled`) that are
|
874
|
+
# specified in the `CreateSession` request. You don't need to
|
875
|
+
# explicitly specify these encryption settings values in Zonal
|
876
|
+
# endpoint API calls, and Amazon S3 will use the encryption settings
|
877
|
+
# values from the `CreateSession` request to protect new objects in
|
878
|
+
# the directory bucket.
|
879
|
+
#
|
880
|
+
# <note markdown="1"> When you use the CLI or the Amazon Web Services SDKs, for
|
881
|
+
# `CreateSession`, the session token refreshes automatically to avoid
|
882
|
+
# service interruptions when a session expires. The CLI or the Amazon
|
883
|
+
# Web Services SDKs use the bucket's default encryption configuration
|
884
|
+
# for the `CreateSession` request. It's not supported to override the
|
885
|
+
# encryption settings values in the `CreateSession` request. So in the
|
886
|
+
# Zonal endpoint API calls (except [CopyObject][4] and
|
887
|
+
# [UploadPartCopy][5]), the encryption request headers must match the
|
888
|
+
# default encryption configuration of the directory bucket.
|
889
|
+
#
|
890
|
+
# </note>
|
772
891
|
#
|
773
892
|
#
|
774
893
|
#
|
775
894
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
895
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
896
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
897
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
898
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
776
899
|
# @option options [String] :storage_class
|
777
900
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
778
901
|
# created objects. The STANDARD storage class provides high durability
|
@@ -780,8 +903,9 @@ module Aws::S3
|
|
780
903
|
# a different Storage Class. For more information, see [Storage
|
781
904
|
# Classes][1] in the *Amazon S3 User Guide*.
|
782
905
|
#
|
783
|
-
# <note markdown="1"> *
|
784
|
-
#
|
906
|
+
# <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express One
|
907
|
+
# Zone storage class) in Availability Zones and `ONEZONE_IA` (the S3
|
908
|
+
# One Zone-Infrequent Access storage class) in Dedicated Local Zones.
|
785
909
|
#
|
786
910
|
# * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
|
787
911
|
#
|
@@ -846,44 +970,83 @@ module Aws::S3
|
|
846
970
|
#
|
847
971
|
# </note>
|
848
972
|
# @option options [String] :ssekms_key_id
|
849
|
-
#
|
850
|
-
#
|
851
|
-
#
|
852
|
-
#
|
853
|
-
#
|
854
|
-
#
|
855
|
-
# x-amz-server-side-encryption
|
856
|
-
#
|
857
|
-
#
|
858
|
-
#
|
973
|
+
# Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for
|
974
|
+
# object encryption. If the KMS key doesn't exist in the same account
|
975
|
+
# that's issuing the command, you must use the full Key ARN not the Key
|
976
|
+
# ID.
|
977
|
+
#
|
978
|
+
# **General purpose buckets** - If you specify
|
979
|
+
# `x-amz-server-side-encryption` with `aws:kms` or `aws:kms:dsse`, this
|
980
|
+
# header specifies the ID (Key ID, Key ARN, or Key Alias) of the KMS key
|
981
|
+
# to use. If you specify `x-amz-server-side-encryption:aws:kms` or
|
982
|
+
# `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide
|
983
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
984
|
+
# Amazon Web Services managed key (`aws/s3`) to protect the data.
|
985
|
+
#
|
986
|
+
# **Directory buckets** - To encrypt data using SSE-KMS, it's
|
987
|
+
# recommended to specify the `x-amz-server-side-encryption` header to
|
988
|
+
# `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
|
989
|
+
# header implicitly uses the bucket's default KMS customer managed key
|
990
|
+
# ID. If you want to explicitly set the `
|
991
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
|
992
|
+
# bucket's default customer managed key (using key ID or ARN, not
|
993
|
+
# alias). Your SSE-KMS configuration can only support 1 [customer
|
994
|
+
# managed key][1] per directory bucket's lifetime. The [Amazon Web
|
995
|
+
# Services managed key][2] (`aws/s3`) isn't supported. Incorrect key
|
996
|
+
# specification results in an HTTP `400 Bad Request` error.
|
997
|
+
#
|
998
|
+
#
|
999
|
+
#
|
1000
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
1001
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
1002
|
+
# @option options [String] :ssekms_encryption_context
|
1003
|
+
# Specifies the Amazon Web Services KMS Encryption Context as an
|
1004
|
+
# additional encryption context to use for object encryption. The value
|
1005
|
+
# of this header is a Base64 encoded string of a UTF-8 encoded JSON,
|
1006
|
+
# which contains the encryption context as key-value pairs. This value
|
1007
|
+
# is stored as object metadata and automatically gets passed on to
|
1008
|
+
# Amazon Web Services KMS for future `GetObject` operations on this
|
1009
|
+
# object.
|
859
1010
|
#
|
860
|
-
#
|
1011
|
+
# **General purpose buckets** - This value must be explicitly added
|
1012
|
+
# during `CopyObject` operations if you want an additional encryption
|
1013
|
+
# context for your object. For more information, see [Encryption
|
1014
|
+
# context][1] in the *Amazon S3 User Guide*.
|
861
1015
|
#
|
862
|
-
#
|
863
|
-
#
|
864
|
-
#
|
865
|
-
#
|
866
|
-
# string holding JSON with the encryption context key-value pairs. This
|
867
|
-
# value is stored as object metadata and automatically gets passed on to
|
868
|
-
# Amazon Web Services KMS for future `GetObject` or `CopyObject`
|
869
|
-
# operations on this object. This value must be explicitly added during
|
870
|
-
# `CopyObject` operations.
|
1016
|
+
# **Directory buckets** - You can optionally provide an explicit
|
1017
|
+
# encryption context value. The value must match the default encryption
|
1018
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
1019
|
+
# encryption context value is not supported.
|
871
1020
|
#
|
872
|
-
# <note markdown="1"> This functionality is not supported for directory buckets.
|
873
1021
|
#
|
874
|
-
#
|
1022
|
+
#
|
1023
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context
|
875
1024
|
# @option options [Boolean] :bucket_key_enabled
|
876
1025
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
877
1026
|
# encryption with server-side encryption using Key Management Service
|
878
|
-
# (KMS) keys (SSE-KMS).
|
879
|
-
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
1027
|
+
# (KMS) keys (SSE-KMS).
|
880
1028
|
#
|
881
|
-
#
|
882
|
-
#
|
1029
|
+
# **General purpose buckets** - Setting this header to `true` causes
|
1030
|
+
# Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.
|
1031
|
+
# Also, specifying this header with a PUT action doesn't affect
|
1032
|
+
# bucket-level settings for S3 Bucket Key.
|
883
1033
|
#
|
884
|
-
#
|
1034
|
+
# **Directory buckets** - S3 Bucket Keys are always enabled for `GET`
|
1035
|
+
# and `PUT` operations in a directory bucket and can’t be disabled. S3
|
1036
|
+
# Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects
|
1037
|
+
# from general purpose buckets to directory buckets, from directory
|
1038
|
+
# buckets to general purpose buckets, or between directory buckets,
|
1039
|
+
# through [CopyObject][1], [UploadPartCopy][2], [the Copy operation in
|
1040
|
+
# Batch Operations][3], or [the import jobs][4]. In this case, Amazon S3
|
1041
|
+
# makes a call to KMS every time a copy request is made for a
|
1042
|
+
# KMS-encrypted object.
|
885
1043
|
#
|
886
|
-
#
|
1044
|
+
#
|
1045
|
+
#
|
1046
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
1047
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
1048
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
|
1049
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
|
887
1050
|
# @option options [String] :request_payer
|
888
1051
|
# Confirms that the requester knows that they will be charged for the
|
889
1052
|
# request. Bucket owners need not specify this parameter in their
|
@@ -1018,12 +1181,26 @@ module Aws::S3
|
|
1018
1181
|
#
|
1019
1182
|
# </note>
|
1020
1183
|
# @option options [String] :encoding_type
|
1021
|
-
#
|
1022
|
-
#
|
1023
|
-
# Unicode character
|
1024
|
-
# characters, such as characters with an ASCII value from
|
1025
|
-
# characters that
|
1026
|
-
# parameter to request that Amazon S3 encode the keys in the
|
1184
|
+
# Encoding type used by Amazon S3 to encode the [object keys][1] in the
|
1185
|
+
# response. Responses are encoded only in UTF-8. An object key can
|
1186
|
+
# contain any Unicode character. However, the XML 1.0 parser can't
|
1187
|
+
# parse certain characters, such as characters with an ASCII value from
|
1188
|
+
# 0 to 10. For characters that aren't supported in XML 1.0, you can add
|
1189
|
+
# this parameter to request that Amazon S3 encode the keys in the
|
1190
|
+
# response. For more information about characters to avoid in object key
|
1191
|
+
# names, see [Object key naming guidelines][2].
|
1192
|
+
#
|
1193
|
+
# <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
|
1194
|
+
# in an object's key name will be percent-encoded according to UTF-8
|
1195
|
+
# code values. For example, the object `test_file(3).png` will appear as
|
1196
|
+
# `test_file%283%29.png`.
|
1197
|
+
#
|
1198
|
+
# </note>
|
1199
|
+
#
|
1200
|
+
#
|
1201
|
+
#
|
1202
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
|
1203
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
|
1027
1204
|
# @option options [String] :key_marker
|
1028
1205
|
# Specifies the multipart upload after which listing should begin.
|
1029
1206
|
#
|
@@ -1156,12 +1333,26 @@ module Aws::S3
|
|
1156
1333
|
# the `max-keys` limitation. These keys are not returned elsewhere in
|
1157
1334
|
# the response.
|
1158
1335
|
# @option options [String] :encoding_type
|
1159
|
-
#
|
1160
|
-
#
|
1161
|
-
# Unicode character
|
1162
|
-
# characters, such as characters with an ASCII value from
|
1163
|
-
# characters that
|
1164
|
-
# parameter to request that Amazon S3 encode the keys in the
|
1336
|
+
# Encoding type used by Amazon S3 to encode the [object keys][1] in the
|
1337
|
+
# response. Responses are encoded only in UTF-8. An object key can
|
1338
|
+
# contain any Unicode character. However, the XML 1.0 parser can't
|
1339
|
+
# parse certain characters, such as characters with an ASCII value from
|
1340
|
+
# 0 to 10. For characters that aren't supported in XML 1.0, you can add
|
1341
|
+
# this parameter to request that Amazon S3 encode the keys in the
|
1342
|
+
# response. For more information about characters to avoid in object key
|
1343
|
+
# names, see [Object key naming guidelines][2].
|
1344
|
+
#
|
1345
|
+
# <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
|
1346
|
+
# in an object's key name will be percent-encoded according to UTF-8
|
1347
|
+
# code values. For example, the object `test_file(3).png` will appear as
|
1348
|
+
# `test_file%283%29.png`.
|
1349
|
+
#
|
1350
|
+
# </note>
|
1351
|
+
#
|
1352
|
+
#
|
1353
|
+
#
|
1354
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
|
1355
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
|
1165
1356
|
# @option options [String] :key_marker
|
1166
1357
|
# Specifies the key to start with when listing objects in a bucket.
|
1167
1358
|
# @option options [String] :prefix
|
@@ -1252,10 +1443,26 @@ module Aws::S3
|
|
1252
1443
|
#
|
1253
1444
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
|
1254
1445
|
# @option options [String] :encoding_type
|
1255
|
-
# Encoding type used by Amazon S3 to encode object keys in the
|
1256
|
-
#
|
1257
|
-
#
|
1258
|
-
#
|
1446
|
+
# Encoding type used by Amazon S3 to encode the [object keys][1] in the
|
1447
|
+
# response. Responses are encoded only in UTF-8. An object key can
|
1448
|
+
# contain any Unicode character. However, the XML 1.0 parser can't
|
1449
|
+
# parse certain characters, such as characters with an ASCII value from
|
1450
|
+
# 0 to 10. For characters that aren't supported in XML 1.0, you can add
|
1451
|
+
# this parameter to request that Amazon S3 encode the keys in the
|
1452
|
+
# response. For more information about characters to avoid in object key
|
1453
|
+
# names, see [Object key naming guidelines][2].
|
1454
|
+
#
|
1455
|
+
# <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
|
1456
|
+
# in an object's key name will be percent-encoded according to UTF-8
|
1457
|
+
# code values. For example, the object `test_file(3).png` will appear as
|
1458
|
+
# `test_file%283%29.png`.
|
1459
|
+
#
|
1460
|
+
# </note>
|
1461
|
+
#
|
1462
|
+
#
|
1463
|
+
#
|
1464
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
|
1465
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
|
1259
1466
|
# @option options [String] :prefix
|
1260
1467
|
# Limits the response to keys that begin with the specified prefix.
|
1261
1468
|
#
|
@@ -1412,3 +1619,6 @@ module Aws::S3
|
|
1412
1619
|
class Collection < Aws::Resources::Collection; end
|
1413
1620
|
end
|
1414
1621
|
end
|
1622
|
+
|
1623
|
+
# Load customizations if they exist
|
1624
|
+
require 'aws-sdk-s3/customizations/bucket'
|
@@ -207,7 +207,7 @@ module Aws::S3
|
|
207
207
|
# },
|
208
208
|
# },
|
209
209
|
# content_md5: "ContentMD5",
|
210
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
210
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
211
211
|
# grant_full_control: "GrantFullControl",
|
212
212
|
# grant_read: "GrantRead",
|
213
213
|
# grant_read_acp: "GrantReadACP",
|
@@ -222,9 +222,10 @@ module Aws::S3
|
|
222
222
|
# Contains the elements that set the ACL permissions for an object per
|
223
223
|
# grantee.
|
224
224
|
# @option options [String] :content_md5
|
225
|
-
# The
|
226
|
-
# used as a message integrity check to verify that the request body
|
227
|
-
# not corrupted in transit. For more information, go to [RFC
|
225
|
+
# The Base64 encoded 128-bit `MD5` digest of the data. This header must
|
226
|
+
# be used as a message integrity check to verify that the request body
|
227
|
+
# was not corrupted in transit. For more information, go to [RFC
|
228
|
+
# 1864.][1]
|
228
229
|
#
|
229
230
|
# For requests made using the Amazon Web Services Command Line Interface
|
230
231
|
# (CLI) or Amazon Web Services SDKs, this field is calculated
|
@@ -234,7 +235,7 @@ module Aws::S3
|
|
234
235
|
#
|
235
236
|
# [1]: http://www.ietf.org/rfc/rfc1864.txt
|
236
237
|
# @option options [String] :checksum_algorithm
|
237
|
-
# Indicates the algorithm used to create the checksum for the
|
238
|
+
# Indicates the algorithm used to create the checksum for the request
|
238
239
|
# when you use the SDK. This header will not provide any additional
|
239
240
|
# functionality if you don't use the SDK. When you send this header,
|
240
241
|
# there must be a corresponding `x-amz-checksum` or `x-amz-trailer`
|