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
@@ -84,6 +84,18 @@ module Aws::S3
|
|
84
84
|
data[:checksum_algorithm]
|
85
85
|
end
|
86
86
|
|
87
|
+
# The checksum type that is used to calculate the object’s checksum
|
88
|
+
# value. For more information, see [Checking object integrity][1] in the
|
89
|
+
# *Amazon S3 User Guide*.
|
90
|
+
#
|
91
|
+
#
|
92
|
+
#
|
93
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
94
|
+
# @return [String]
|
95
|
+
def checksum_type
|
96
|
+
data[:checksum_type]
|
97
|
+
end
|
98
|
+
|
87
99
|
# Size in bytes of the object
|
88
100
|
# @return [Integer]
|
89
101
|
def size
|
@@ -92,8 +104,10 @@ module Aws::S3
|
|
92
104
|
|
93
105
|
# The class of storage used to store the object.
|
94
106
|
#
|
95
|
-
# <note markdown="1"> **Directory buckets** -
|
96
|
-
#
|
107
|
+
# <note markdown="1"> **Directory buckets** - Directory buckets only support
|
108
|
+
# `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
|
109
|
+
# Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent Access
|
110
|
+
# storage class) in Dedicated Local Zones.
|
97
111
|
#
|
98
112
|
# </note>
|
99
113
|
# @return [String]
|
@@ -118,9 +132,10 @@ module Aws::S3
|
|
118
132
|
# archived objects, see [ Working with archived objects][1] in the
|
119
133
|
# *Amazon S3 User Guide*.
|
120
134
|
#
|
121
|
-
# <note markdown="1"> This functionality is not supported for directory buckets.
|
122
|
-
#
|
123
|
-
#
|
135
|
+
# <note markdown="1"> This functionality is not supported for directory buckets. Directory
|
136
|
+
# buckets only support `EXPRESS_ONEZONE` (the S3 Express One Zone
|
137
|
+
# storage class) in Availability Zones and `ONEZONE_IA` (the S3 One
|
138
|
+
# Zone-Infrequent Access storage class) in Dedicated Local Zones.
|
124
139
|
#
|
125
140
|
# </note>
|
126
141
|
#
|
@@ -324,7 +339,7 @@ module Aws::S3
|
|
324
339
|
# object_summary.copy_from({
|
325
340
|
# acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
|
326
341
|
# cache_control: "CacheControl",
|
327
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
342
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
328
343
|
# content_disposition: "ContentDisposition",
|
329
344
|
# content_encoding: "ContentEncoding",
|
330
345
|
# content_language: "ContentLanguage",
|
@@ -667,9 +682,8 @@ module Aws::S3
|
|
667
682
|
# </note>
|
668
683
|
# @option options [String] :server_side_encryption
|
669
684
|
# The server-side encryption algorithm used when storing this object in
|
670
|
-
# Amazon S3
|
671
|
-
#
|
672
|
-
# and will receive a `400 Bad Request` response.
|
685
|
+
# Amazon S3. Unrecognized or unsupported values won’t write a
|
686
|
+
# destination object and will receive a `400 Bad Request` response.
|
673
687
|
#
|
674
688
|
# Amazon S3 automatically encrypts all new objects that are copied to an
|
675
689
|
# S3 bucket. When copying an object, if you don't specify encryption
|
@@ -677,35 +691,72 @@ module Aws::S3
|
|
677
691
|
# object is set to the default encryption configuration of the
|
678
692
|
# destination bucket. By default, all buckets have a base level of
|
679
693
|
# encryption configuration that uses server-side encryption with Amazon
|
680
|
-
# S3 managed keys (SSE-S3). If the destination bucket has a
|
681
|
-
# encryption configuration
|
682
|
-
#
|
683
|
-
# encryption with Amazon Web Services KMS keys (DSSE-KMS), or
|
684
|
-
# server-side encryption with customer-provided encryption keys (SSE-C),
|
685
|
-
# Amazon S3 uses the corresponding KMS key, or a customer-provided key
|
686
|
-
# to encrypt the target object copy.
|
687
|
-
#
|
688
|
-
# When you perform a `CopyObject` operation, if you want to use a
|
689
|
-
# different type of encryption setting for the target object, you can
|
690
|
-
# specify appropriate encryption-related headers to encrypt the target
|
691
|
-
# object with an Amazon S3 managed key, a KMS key, or a
|
692
|
-
# customer-provided key. If the encryption setting in your request is
|
693
|
-
# different from the default encryption configuration of the destination
|
694
|
-
# bucket, the encryption setting in your request takes precedence.
|
694
|
+
# S3 managed keys (SSE-S3). If the destination bucket has a different
|
695
|
+
# default encryption configuration, Amazon S3 uses the corresponding
|
696
|
+
# encryption key to encrypt the target object copy.
|
695
697
|
#
|
696
698
|
# With server-side encryption, Amazon S3 encrypts your data as it writes
|
697
699
|
# your data to disks in its data centers and decrypts the data when you
|
698
700
|
# access it. For more information about server-side encryption, see
|
699
701
|
# [Using Server-Side Encryption][1] in the *Amazon S3 User Guide*.
|
700
702
|
#
|
701
|
-
# <
|
702
|
-
#
|
703
|
-
#
|
704
|
-
#
|
703
|
+
# <b>General purpose buckets </b>
|
704
|
+
#
|
705
|
+
# * For general purpose buckets, there are the following supported
|
706
|
+
# options for server-side encryption: server-side encryption with Key
|
707
|
+
# Management Service (KMS) keys (SSE-KMS), dual-layer server-side
|
708
|
+
# encryption with Amazon Web Services KMS keys (DSSE-KMS), and
|
709
|
+
# server-side encryption with customer-provided encryption keys
|
710
|
+
# (SSE-C). Amazon S3 uses the corresponding KMS key, or a
|
711
|
+
# customer-provided key to encrypt the target object copy.
|
712
|
+
#
|
713
|
+
# * When you perform a `CopyObject` operation, if you want to use a
|
714
|
+
# different type of encryption setting for the target object, you can
|
715
|
+
# specify appropriate encryption-related headers to encrypt the target
|
716
|
+
# object with an Amazon S3 managed key, a KMS key, or a
|
717
|
+
# customer-provided key. If the encryption setting in your request is
|
718
|
+
# different from the default encryption configuration of the
|
719
|
+
# destination bucket, the encryption setting in your request takes
|
720
|
+
# precedence.
|
721
|
+
#
|
722
|
+
# <b>Directory buckets </b>
|
723
|
+
#
|
724
|
+
# * For directory buckets, there are only two supported options for
|
725
|
+
# server-side encryption: server-side encryption with Amazon S3
|
726
|
+
# managed keys (SSE-S3) (`AES256`) and server-side encryption with KMS
|
727
|
+
# keys (SSE-KMS) (`aws:kms`). We recommend that the bucket's default
|
728
|
+
# encryption uses the desired encryption configuration and you don't
|
729
|
+
# override the bucket default encryption in your `CreateSession`
|
730
|
+
# requests or `PUT` object requests. Then, new objects are
|
731
|
+
# automatically encrypted with the desired encryption settings. For
|
732
|
+
# more information, see [Protecting data with server-side
|
733
|
+
# encryption][2] in the *Amazon S3 User Guide*. For more information
|
734
|
+
# about the encryption overriding behaviors in directory buckets, see
|
735
|
+
# [Specifying server-side encryption with KMS for new object
|
736
|
+
# uploads][3].
|
737
|
+
#
|
738
|
+
# * To encrypt new object copies to a directory bucket with SSE-KMS, we
|
739
|
+
# recommend you specify SSE-KMS as the directory bucket's default
|
740
|
+
# encryption configuration with a KMS key (specifically, a [customer
|
741
|
+
# managed key][4]). The [Amazon Web Services managed key][5]
|
742
|
+
# (`aws/s3`) isn't supported. Your SSE-KMS configuration can only
|
743
|
+
# support 1 [customer managed key][4] per directory bucket for the
|
744
|
+
# lifetime of the bucket. After you specify a customer managed key for
|
745
|
+
# SSE-KMS, you can't override the customer managed key for the
|
746
|
+
# bucket's SSE-KMS configuration. Then, when you perform a
|
747
|
+
# `CopyObject` operation and want to specify server-side encryption
|
748
|
+
# settings for new object copies with SSE-KMS in the
|
749
|
+
# encryption-related request headers, you must ensure the encryption
|
750
|
+
# key is the same customer managed key that you specified for the
|
751
|
+
# directory bucket's default encryption configuration.
|
705
752
|
#
|
706
753
|
#
|
707
754
|
#
|
708
755
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
|
756
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
757
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
758
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
759
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
709
760
|
# @option options [String] :storage_class
|
710
761
|
# If the `x-amz-storage-class` header is not used, the copied object
|
711
762
|
# will be stored in the `STANDARD` Storage Class by default. The
|
@@ -713,10 +764,12 @@ module Aws::S3
|
|
713
764
|
# availability. Depending on performance needs, you can specify a
|
714
765
|
# different Storage Class.
|
715
766
|
#
|
716
|
-
# <note markdown="1"> * <b>Directory buckets </b> -
|
717
|
-
# Express One Zone storage class
|
718
|
-
#
|
719
|
-
#
|
767
|
+
# <note markdown="1"> * <b>Directory buckets </b> - Directory buckets only support
|
768
|
+
# `EXPRESS_ONEZONE` (the S3 Express One Zone storage class) in
|
769
|
+
# Availability Zones and `ONEZONE_IA` (the S3 One Zone-Infrequent
|
770
|
+
# Access storage class) in Dedicated Local Zones. Unsupported storage
|
771
|
+
# class values won't write a destination object and will respond with
|
772
|
+
# the HTTP status code `400 Bad Request`.
|
720
773
|
#
|
721
774
|
# * <b>Amazon S3 on Outposts </b> - S3 on Outposts only uses the
|
722
775
|
# `OUTPOSTS` Storage Class.
|
@@ -796,32 +849,52 @@ module Aws::S3
|
|
796
849
|
#
|
797
850
|
# </note>
|
798
851
|
# @option options [String] :ssekms_key_id
|
799
|
-
# Specifies the KMS ID (Key ID, Key ARN, or Key Alias) to use for
|
800
|
-
# encryption. All GET and PUT requests for an object protected by
|
801
|
-
# will fail if they're not made via SSL or using SigV4. For
|
802
|
-
# about configuring any of the officially supported Amazon
|
803
|
-
# SDKs and Amazon Web Services CLI, see [Specifying the
|
804
|
-
# Version in Request Authentication][1] in the *Amazon S3 User
|
805
|
-
#
|
806
|
-
#
|
807
|
-
#
|
808
|
-
#
|
809
|
-
#
|
852
|
+
# Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for
|
853
|
+
# object encryption. All GET and PUT requests for an object protected by
|
854
|
+
# KMS will fail if they're not made via SSL or using SigV4. For
|
855
|
+
# information about configuring any of the officially supported Amazon
|
856
|
+
# Web Services SDKs and Amazon Web Services CLI, see [Specifying the
|
857
|
+
# Signature Version in Request Authentication][1] in the *Amazon S3 User
|
858
|
+
# Guide*.
|
859
|
+
#
|
860
|
+
# **Directory buckets** - To encrypt data using SSE-KMS, it's
|
861
|
+
# recommended to specify the `x-amz-server-side-encryption` header to
|
862
|
+
# `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
|
863
|
+
# header implicitly uses the bucket's default KMS customer managed key
|
864
|
+
# ID. If you want to explicitly set the `
|
865
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
|
866
|
+
# bucket's default customer managed key (using key ID or ARN, not
|
867
|
+
# alias). Your SSE-KMS configuration can only support 1 [customer
|
868
|
+
# managed key][2] per directory bucket's lifetime. The [Amazon Web
|
869
|
+
# Services managed key][3] (`aws/s3`) isn't supported. Incorrect key
|
870
|
+
# specification results in an HTTP `400 Bad Request` error.
|
810
871
|
#
|
811
872
|
#
|
812
873
|
#
|
813
874
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
|
875
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
876
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
814
877
|
# @option options [String] :ssekms_encryption_context
|
815
|
-
# Specifies the Amazon Web Services KMS Encryption Context
|
816
|
-
#
|
817
|
-
#
|
818
|
-
#
|
819
|
-
# `CopyObject` requests.
|
878
|
+
# Specifies the Amazon Web Services KMS Encryption Context as an
|
879
|
+
# additional encryption context to use for the destination object
|
880
|
+
# encryption. The value of this header is a base64-encoded UTF-8 string
|
881
|
+
# holding JSON with the encryption context key-value pairs.
|
820
882
|
#
|
821
|
-
#
|
822
|
-
#
|
883
|
+
# **General purpose buckets** - This value must be explicitly added to
|
884
|
+
# specify encryption context for `CopyObject` requests if you want an
|
885
|
+
# additional encryption context for your destination object. The
|
886
|
+
# additional encryption context of the source object won't be copied to
|
887
|
+
# the destination object. For more information, see [Encryption
|
888
|
+
# context][1] in the *Amazon S3 User Guide*.
|
823
889
|
#
|
824
|
-
#
|
890
|
+
# **Directory buckets** - You can optionally provide an explicit
|
891
|
+
# encryption context value. The value must match the default encryption
|
892
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
893
|
+
# encryption context value is not supported.
|
894
|
+
#
|
895
|
+
#
|
896
|
+
#
|
897
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context
|
825
898
|
# @option options [Boolean] :bucket_key_enabled
|
826
899
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
827
900
|
# encryption with server-side encryption using Key Management Service
|
@@ -835,14 +908,19 @@ module Aws::S3
|
|
835
908
|
# For more information, see [Amazon S3 Bucket Keys][1] in the *Amazon S3
|
836
909
|
# User Guide*.
|
837
910
|
#
|
838
|
-
# <note markdown="1">
|
839
|
-
#
|
911
|
+
# <note markdown="1"> **Directory buckets** - S3 Bucket Keys aren't supported, when you
|
912
|
+
# copy SSE-KMS encrypted objects from general purpose buckets to
|
913
|
+
# directory buckets, from directory buckets to general purpose buckets,
|
914
|
+
# or between directory buckets, through [CopyObject][2]. In this case,
|
915
|
+
# Amazon S3 makes a call to KMS every time a copy request is made for a
|
916
|
+
# KMS-encrypted object.
|
840
917
|
#
|
841
918
|
# </note>
|
842
919
|
#
|
843
920
|
#
|
844
921
|
#
|
845
922
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
|
923
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
846
924
|
# @option options [String] :copy_source_sse_customer_algorithm
|
847
925
|
# Specifies the algorithm to use when decrypting the source object (for
|
848
926
|
# example, `AES256`).
|
@@ -996,6 +1074,9 @@ module Aws::S3
|
|
996
1074
|
# request_payer: "requester", # accepts requester
|
997
1075
|
# bypass_governance_retention: false,
|
998
1076
|
# expected_bucket_owner: "AccountId",
|
1077
|
+
# if_match: "IfMatch",
|
1078
|
+
# if_match_last_modified_time: Time.now,
|
1079
|
+
# if_match_size: 1,
|
999
1080
|
# })
|
1000
1081
|
# @param [Hash] options ({})
|
1001
1082
|
# @option options [String] :mfa
|
@@ -1042,6 +1123,46 @@ module Aws::S3
|
|
1042
1123
|
# The account ID of the expected bucket owner. If the account ID that
|
1043
1124
|
# you provide does not match the actual owner of the bucket, the request
|
1044
1125
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
1126
|
+
# @option options [String] :if_match
|
1127
|
+
# The `If-Match` header field makes the request method conditional on
|
1128
|
+
# ETags. If the ETag value does not match, the operation returns a `412
|
1129
|
+
# Precondition Failed` error. If the ETag matches or if the object
|
1130
|
+
# doesn't exist, the operation will return a `204 Success (No Content)
|
1131
|
+
# response`.
|
1132
|
+
#
|
1133
|
+
# For more information about conditional requests, see [RFC 7232][1].
|
1134
|
+
#
|
1135
|
+
# <note markdown="1"> This functionality is only supported for directory buckets.
|
1136
|
+
#
|
1137
|
+
# </note>
|
1138
|
+
#
|
1139
|
+
#
|
1140
|
+
#
|
1141
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
1142
|
+
# @option options [Time,DateTime,Date,Integer,String] :if_match_last_modified_time
|
1143
|
+
# If present, the object is deleted only if its modification times
|
1144
|
+
# matches the provided `Timestamp`. If the `Timestamp` values do not
|
1145
|
+
# match, the operation returns a `412 Precondition Failed` error. If the
|
1146
|
+
# `Timestamp` matches or if the object doesn’t exist, the operation
|
1147
|
+
# returns a `204 Success (No Content)` response.
|
1148
|
+
#
|
1149
|
+
# <note markdown="1"> This functionality is only supported for directory buckets.
|
1150
|
+
#
|
1151
|
+
# </note>
|
1152
|
+
# @option options [Integer] :if_match_size
|
1153
|
+
# If present, the object is deleted only if its size matches the
|
1154
|
+
# provided size in bytes. If the `Size` value does not match, the
|
1155
|
+
# operation returns a `412 Precondition Failed` error. If the `Size`
|
1156
|
+
# matches or if the object doesn’t exist, the operation returns a `204
|
1157
|
+
# Success (No Content)` response.
|
1158
|
+
#
|
1159
|
+
# <note markdown="1"> This functionality is only supported for directory buckets.
|
1160
|
+
#
|
1161
|
+
# </note>
|
1162
|
+
#
|
1163
|
+
# You can use the `If-Match`, `x-amz-if-match-last-modified-time` and
|
1164
|
+
# `x-amz-if-match-size` conditional headers in conjunction with
|
1165
|
+
# each-other or individually.
|
1045
1166
|
# @return [Types::DeleteObjectOutput]
|
1046
1167
|
def delete(options = {})
|
1047
1168
|
options = options.merge(
|
@@ -1342,7 +1463,8 @@ module Aws::S3
|
|
1342
1463
|
# object_lock_retain_until_date: Time.now,
|
1343
1464
|
# object_lock_legal_hold_status: "ON", # accepts ON, OFF
|
1344
1465
|
# expected_bucket_owner: "AccountId",
|
1345
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
1466
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
1467
|
+
# checksum_type: "COMPOSITE", # accepts COMPOSITE, FULL_OBJECT
|
1346
1468
|
# })
|
1347
1469
|
# @param [Hash] options ({})
|
1348
1470
|
# @option options [String] :acl
|
@@ -1646,10 +1768,52 @@ module Aws::S3
|
|
1646
1768
|
# The server-side encryption algorithm used when you store this object
|
1647
1769
|
# in Amazon S3 (for example, `AES256`, `aws:kms`).
|
1648
1770
|
#
|
1649
|
-
# <
|
1650
|
-
#
|
1771
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
1772
|
+
# two supported options for server-side encryption: server-side
|
1773
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
1774
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). We
|
1775
|
+
# recommend that the bucket's default encryption uses the desired
|
1776
|
+
# encryption configuration and you don't override the bucket default
|
1777
|
+
# encryption in your `CreateSession` requests or `PUT` object
|
1778
|
+
# requests. Then, new objects are automatically encrypted with the
|
1779
|
+
# desired encryption settings. For more information, see [Protecting
|
1780
|
+
# data with server-side encryption][1] in the *Amazon S3 User Guide*.
|
1781
|
+
# For more information about the encryption overriding behaviors in
|
1782
|
+
# directory buckets, see [Specifying server-side encryption with KMS
|
1783
|
+
# for new object uploads][2].
|
1784
|
+
#
|
1785
|
+
# In the Zonal endpoint API calls (except [CopyObject][3] and
|
1786
|
+
# [UploadPartCopy][4]) using the REST API, the encryption request
|
1787
|
+
# headers must match the encryption settings that are specified in the
|
1788
|
+
# `CreateSession` request. You can't override the values of the
|
1789
|
+
# encryption settings (`x-amz-server-side-encryption`,
|
1790
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`,
|
1791
|
+
# `x-amz-server-side-encryption-context`, and
|
1792
|
+
# `x-amz-server-side-encryption-bucket-key-enabled`) that are
|
1793
|
+
# specified in the `CreateSession` request. You don't need to
|
1794
|
+
# explicitly specify these encryption settings values in Zonal
|
1795
|
+
# endpoint API calls, and Amazon S3 will use the encryption settings
|
1796
|
+
# values from the `CreateSession` request to protect new objects in
|
1797
|
+
# the directory bucket.
|
1798
|
+
#
|
1799
|
+
# <note markdown="1"> When you use the CLI or the Amazon Web Services SDKs, for
|
1800
|
+
# `CreateSession`, the session token refreshes automatically to avoid
|
1801
|
+
# service interruptions when a session expires. The CLI or the Amazon
|
1802
|
+
# Web Services SDKs use the bucket's default encryption configuration
|
1803
|
+
# for the `CreateSession` request. It's not supported to override the
|
1804
|
+
# encryption settings values in the `CreateSession` request. So in the
|
1805
|
+
# Zonal endpoint API calls (except [CopyObject][3] and
|
1806
|
+
# [UploadPartCopy][4]), the encryption request headers must match the
|
1807
|
+
# default encryption configuration of the directory bucket.
|
1651
1808
|
#
|
1652
|
-
#
|
1809
|
+
# </note>
|
1810
|
+
#
|
1811
|
+
#
|
1812
|
+
#
|
1813
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
1814
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
1815
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
1816
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
1653
1817
|
# @option options [String] :storage_class
|
1654
1818
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
1655
1819
|
# created objects. The STANDARD storage class provides high durability
|
@@ -1657,8 +1821,9 @@ module Aws::S3
|
|
1657
1821
|
# a different Storage Class. For more information, see [Storage
|
1658
1822
|
# Classes][1] in the *Amazon S3 User Guide*.
|
1659
1823
|
#
|
1660
|
-
# <note markdown="1"> *
|
1661
|
-
#
|
1824
|
+
# <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express One
|
1825
|
+
# Zone storage class) in Availability Zones and `ONEZONE_IA` (the S3
|
1826
|
+
# One Zone-Infrequent Access storage class) in Dedicated Local Zones.
|
1662
1827
|
#
|
1663
1828
|
# * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
|
1664
1829
|
#
|
@@ -1702,32 +1867,71 @@ module Aws::S3
|
|
1702
1867
|
#
|
1703
1868
|
# </note>
|
1704
1869
|
# @option options [String] :ssekms_key_id
|
1705
|
-
# Specifies the ID (Key ID, Key ARN, or Key Alias)
|
1706
|
-
# encryption
|
1707
|
-
#
|
1708
|
-
#
|
1709
|
-
#
|
1710
|
-
#
|
1870
|
+
# Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for
|
1871
|
+
# object encryption. If the KMS key doesn't exist in the same account
|
1872
|
+
# that's issuing the command, you must use the full Key ARN not the Key
|
1873
|
+
# ID.
|
1874
|
+
#
|
1875
|
+
# **General purpose buckets** - If you specify
|
1876
|
+
# `x-amz-server-side-encryption` with `aws:kms` or `aws:kms:dsse`, this
|
1877
|
+
# header specifies the ID (Key ID, Key ARN, or Key Alias) of the KMS key
|
1878
|
+
# to use. If you specify `x-amz-server-side-encryption:aws:kms` or
|
1879
|
+
# `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide
|
1880
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
1881
|
+
# Amazon Web Services managed key (`aws/s3`) to protect the data.
|
1882
|
+
#
|
1883
|
+
# **Directory buckets** - To encrypt data using SSE-KMS, it's
|
1884
|
+
# recommended to specify the `x-amz-server-side-encryption` header to
|
1885
|
+
# `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
|
1886
|
+
# header implicitly uses the bucket's default KMS customer managed key
|
1887
|
+
# ID. If you want to explicitly set the `
|
1888
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
|
1889
|
+
# bucket's default customer managed key (using key ID or ARN, not
|
1890
|
+
# alias). Your SSE-KMS configuration can only support 1 [customer
|
1891
|
+
# managed key][1] per directory bucket's lifetime. The [Amazon Web
|
1892
|
+
# Services managed key][2] (`aws/s3`) isn't supported. Incorrect key
|
1893
|
+
# specification results in an HTTP `400 Bad Request` error.
|
1894
|
+
#
|
1895
|
+
#
|
1896
|
+
#
|
1897
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
1898
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
1711
1899
|
# @option options [String] :ssekms_encryption_context
|
1712
1900
|
# Specifies the Amazon Web Services KMS Encryption Context to use for
|
1713
|
-
# object encryption. The value of this header is a
|
1714
|
-
#
|
1715
|
-
#
|
1716
|
-
#
|
1717
|
-
#
|
1718
|
-
#
|
1901
|
+
# object encryption. The value of this header is a Base64 encoded string
|
1902
|
+
# of a UTF-8 encoded JSON, which contains the encryption context as
|
1903
|
+
# key-value pairs.
|
1904
|
+
#
|
1905
|
+
# **Directory buckets** - You can optionally provide an explicit
|
1906
|
+
# encryption context value. The value must match the default encryption
|
1907
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
1908
|
+
# encryption context value is not supported.
|
1719
1909
|
# @option options [Boolean] :bucket_key_enabled
|
1720
1910
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
1721
1911
|
# encryption with server-side encryption using Key Management Service
|
1722
|
-
# (KMS) keys (SSE-KMS).
|
1723
|
-
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
1912
|
+
# (KMS) keys (SSE-KMS).
|
1724
1913
|
#
|
1725
|
-
#
|
1914
|
+
# **General purpose buckets** - Setting this header to `true` causes
|
1915
|
+
# Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.
|
1916
|
+
# Also, specifying this header with a PUT action doesn't affect
|
1726
1917
|
# bucket-level settings for S3 Bucket Key.
|
1727
1918
|
#
|
1728
|
-
#
|
1919
|
+
# **Directory buckets** - S3 Bucket Keys are always enabled for `GET`
|
1920
|
+
# and `PUT` operations in a directory bucket and can’t be disabled. S3
|
1921
|
+
# Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects
|
1922
|
+
# from general purpose buckets to directory buckets, from directory
|
1923
|
+
# buckets to general purpose buckets, or between directory buckets,
|
1924
|
+
# through [CopyObject][1], [UploadPartCopy][2], [the Copy operation in
|
1925
|
+
# Batch Operations][3], or [the import jobs][4]. In this case, Amazon S3
|
1926
|
+
# makes a call to KMS every time a copy request is made for a
|
1927
|
+
# KMS-encrypted object.
|
1729
1928
|
#
|
1730
|
-
#
|
1929
|
+
#
|
1930
|
+
#
|
1931
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
1932
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
1933
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
|
1934
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
|
1731
1935
|
# @option options [String] :request_payer
|
1732
1936
|
# Confirms that the requester knows that they will be charged for the
|
1733
1937
|
# request. Bucket owners need not specify this parameter in their
|
@@ -1783,6 +1987,14 @@ module Aws::S3
|
|
1783
1987
|
#
|
1784
1988
|
#
|
1785
1989
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
1990
|
+
# @option options [String] :checksum_type
|
1991
|
+
# Indicates the checksum type that you want Amazon S3 to use to
|
1992
|
+
# calculate the object’s checksum value. For more information, see
|
1993
|
+
# [Checking object integrity in the Amazon S3 User Guide][1].
|
1994
|
+
#
|
1995
|
+
#
|
1996
|
+
#
|
1997
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
1786
1998
|
# @return [MultipartUpload]
|
1787
1999
|
def initiate_multipart_upload(options = {})
|
1788
2000
|
options = options.merge(
|
@@ -1812,16 +2024,20 @@ module Aws::S3
|
|
1812
2024
|
# content_length: 1,
|
1813
2025
|
# content_md5: "ContentMD5",
|
1814
2026
|
# content_type: "ContentType",
|
1815
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
2027
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
1816
2028
|
# checksum_crc32: "ChecksumCRC32",
|
1817
2029
|
# checksum_crc32c: "ChecksumCRC32C",
|
2030
|
+
# checksum_crc64nvme: "ChecksumCRC64NVME",
|
1818
2031
|
# checksum_sha1: "ChecksumSHA1",
|
1819
2032
|
# checksum_sha256: "ChecksumSHA256",
|
1820
2033
|
# expires: Time.now,
|
2034
|
+
# if_match: "IfMatch",
|
2035
|
+
# if_none_match: "IfNoneMatch",
|
1821
2036
|
# grant_full_control: "GrantFullControl",
|
1822
2037
|
# grant_read: "GrantRead",
|
1823
2038
|
# grant_read_acp: "GrantReadACP",
|
1824
2039
|
# grant_write_acp: "GrantWriteACP",
|
2040
|
+
# write_offset_bytes: 1,
|
1825
2041
|
# metadata: {
|
1826
2042
|
# "MetadataKey" => "MetadataValue",
|
1827
2043
|
# },
|
@@ -1917,7 +2133,7 @@ module Aws::S3
|
|
1917
2133
|
#
|
1918
2134
|
# [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
|
1919
2135
|
# @option options [String] :content_md5
|
1920
|
-
# The
|
2136
|
+
# The Base64 encoded 128-bit `MD5` digest of the message (without the
|
1921
2137
|
# headers) according to RFC 1864. This header can be used as a message
|
1922
2138
|
# integrity check to verify that the data is the same data that was
|
1923
2139
|
# originally sent. Although it is optional, we recommend using the
|
@@ -1925,10 +2141,11 @@ module Aws::S3
|
|
1925
2141
|
# information about REST request authentication, see [REST
|
1926
2142
|
# Authentication][1].
|
1927
2143
|
#
|
1928
|
-
# <note markdown="1"> The `Content-MD5` header is required
|
1929
|
-
# object with a retention period configured
|
1930
|
-
#
|
1931
|
-
# Object Lock
|
2144
|
+
# <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
|
2145
|
+
# for any request to upload an object with a retention period configured
|
2146
|
+
# using Amazon S3 Object Lock. For more information, see [Uploading
|
2147
|
+
# objects to an Object Lock enabled bucket ][2] in the *Amazon S3 User
|
2148
|
+
# Guide*.
|
1932
2149
|
#
|
1933
2150
|
# </note>
|
1934
2151
|
#
|
@@ -1939,7 +2156,7 @@ module Aws::S3
|
|
1939
2156
|
#
|
1940
2157
|
#
|
1941
2158
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
|
1942
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2159
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-put-object
|
1943
2160
|
# @option options [String] :content_type
|
1944
2161
|
# A standard MIME type describing the format of the contents. For more
|
1945
2162
|
# information, see
|
@@ -1959,37 +2176,45 @@ module Aws::S3
|
|
1959
2176
|
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
1960
2177
|
# the supported algorithm from the following list:
|
1961
2178
|
#
|
1962
|
-
# * CRC32
|
2179
|
+
# * `CRC32`
|
2180
|
+
#
|
2181
|
+
# * `CRC32C`
|
1963
2182
|
#
|
1964
|
-
# *
|
2183
|
+
# * `CRC64NVME`
|
1965
2184
|
#
|
1966
|
-
# * SHA1
|
2185
|
+
# * `SHA1`
|
1967
2186
|
#
|
1968
|
-
# * SHA256
|
2187
|
+
# * `SHA256`
|
1969
2188
|
#
|
1970
2189
|
# For more information, see [Checking object integrity][1] in the
|
1971
2190
|
# *Amazon S3 User Guide*.
|
1972
2191
|
#
|
1973
2192
|
# If the individual checksum value you provide through
|
1974
2193
|
# `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
|
1975
|
-
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3
|
1976
|
-
#
|
1977
|
-
# that matches the provided value in `x-amz-checksum-algorithm `.
|
2194
|
+
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
|
2195
|
+
# request with a `BadDigest` error.
|
1978
2196
|
#
|
1979
|
-
# <note markdown="1">
|
1980
|
-
#
|
2197
|
+
# <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
|
2198
|
+
# for any request to upload an object with a retention period configured
|
2199
|
+
# using Amazon S3 Object Lock. For more information, see [Uploading
|
2200
|
+
# objects to an Object Lock enabled bucket ][2] in the *Amazon S3 User
|
2201
|
+
# Guide*.
|
1981
2202
|
#
|
1982
2203
|
# </note>
|
1983
2204
|
#
|
2205
|
+
# For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
|
2206
|
+
# is the default checksum algorithm that's used for performance.
|
2207
|
+
#
|
1984
2208
|
#
|
1985
2209
|
#
|
1986
2210
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
2211
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-put-object
|
1987
2212
|
# @option options [String] :checksum_crc32
|
1988
2213
|
# This header can be used as a data integrity check to verify that the
|
1989
2214
|
# data received is the same data that was originally sent. This header
|
1990
|
-
# specifies the
|
1991
|
-
# more information, see [Checking object integrity][1] in the
|
1992
|
-
# User Guide*.
|
2215
|
+
# specifies the Base64 encoded, 32-bit `CRC32` checksum of the object.
|
2216
|
+
# For more information, see [Checking object integrity][1] in the
|
2217
|
+
# *Amazon S3 User Guide*.
|
1993
2218
|
#
|
1994
2219
|
#
|
1995
2220
|
#
|
@@ -1997,17 +2222,28 @@ module Aws::S3
|
|
1997
2222
|
# @option options [String] :checksum_crc32c
|
1998
2223
|
# This header can be used as a data integrity check to verify that the
|
1999
2224
|
# data received is the same data that was originally sent. This header
|
2000
|
-
# specifies the
|
2225
|
+
# specifies the Base64 encoded, 32-bit `CRC32C` checksum of the object.
|
2001
2226
|
# For more information, see [Checking object integrity][1] in the
|
2002
2227
|
# *Amazon S3 User Guide*.
|
2003
2228
|
#
|
2004
2229
|
#
|
2005
2230
|
#
|
2006
2231
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
2232
|
+
# @option options [String] :checksum_crc64nvme
|
2233
|
+
# This header can be used as a data integrity check to verify that the
|
2234
|
+
# data received is the same data that was originally sent. This header
|
2235
|
+
# specifies the Base64 encoded, 64-bit `CRC64NVME` checksum of the
|
2236
|
+
# object. The `CRC64NVME` checksum is always a full object checksum. For
|
2237
|
+
# more information, see [Checking object integrity in the Amazon S3 User
|
2238
|
+
# Guide][1].
|
2239
|
+
#
|
2240
|
+
#
|
2241
|
+
#
|
2242
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
2007
2243
|
# @option options [String] :checksum_sha1
|
2008
2244
|
# This header can be used as a data integrity check to verify that the
|
2009
2245
|
# data received is the same data that was originally sent. This header
|
2010
|
-
# specifies the
|
2246
|
+
# specifies the Base64 encoded, 160-bit `SHA1` digest of the object. For
|
2011
2247
|
# more information, see [Checking object integrity][1] in the *Amazon S3
|
2012
2248
|
# User Guide*.
|
2013
2249
|
#
|
@@ -2017,7 +2253,7 @@ module Aws::S3
|
|
2017
2253
|
# @option options [String] :checksum_sha256
|
2018
2254
|
# This header can be used as a data integrity check to verify that the
|
2019
2255
|
# data received is the same data that was originally sent. This header
|
2020
|
-
# specifies the
|
2256
|
+
# specifies the Base64 encoded, 256-bit `SHA256` digest of the object.
|
2021
2257
|
# For more information, see [Checking object integrity][1] in the
|
2022
2258
|
# *Amazon S3 User Guide*.
|
2023
2259
|
#
|
@@ -2032,6 +2268,43 @@ module Aws::S3
|
|
2032
2268
|
#
|
2033
2269
|
#
|
2034
2270
|
# [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
|
2271
|
+
# @option options [String] :if_match
|
2272
|
+
# Uploads the object only if the ETag (entity tag) value provided during
|
2273
|
+
# the WRITE operation matches the ETag of the object in S3. If the ETag
|
2274
|
+
# values do not match, the operation returns a `412 Precondition Failed`
|
2275
|
+
# error.
|
2276
|
+
#
|
2277
|
+
# If a conflicting operation occurs during the upload S3 returns a `409
|
2278
|
+
# ConditionalRequestConflict` response. On a 409 failure you should
|
2279
|
+
# fetch the object's ETag and retry the upload.
|
2280
|
+
#
|
2281
|
+
# Expects the ETag value as a string.
|
2282
|
+
#
|
2283
|
+
# For more information about conditional requests, see [RFC 7232][1], or
|
2284
|
+
# [Conditional requests][2] in the *Amazon S3 User Guide*.
|
2285
|
+
#
|
2286
|
+
#
|
2287
|
+
#
|
2288
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
2289
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
|
2290
|
+
# @option options [String] :if_none_match
|
2291
|
+
# Uploads the object only if the object key name does not already exist
|
2292
|
+
# in the bucket specified. Otherwise, Amazon S3 returns a `412
|
2293
|
+
# Precondition Failed` error.
|
2294
|
+
#
|
2295
|
+
# If a conflicting operation occurs during the upload S3 returns a `409
|
2296
|
+
# ConditionalRequestConflict` response. On a 409 failure you should
|
2297
|
+
# retry the upload.
|
2298
|
+
#
|
2299
|
+
# Expects the '*' (asterisk) character.
|
2300
|
+
#
|
2301
|
+
# For more information about conditional requests, see [RFC 7232][1], or
|
2302
|
+
# [Conditional requests][2] in the *Amazon S3 User Guide*.
|
2303
|
+
#
|
2304
|
+
#
|
2305
|
+
#
|
2306
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
2307
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
|
2035
2308
|
# @option options [String] :grant_full_control
|
2036
2309
|
# Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
|
2037
2310
|
# object.
|
@@ -2065,6 +2338,16 @@ module Aws::S3
|
|
2065
2338
|
# * This functionality is not supported for Amazon S3 on Outposts.
|
2066
2339
|
#
|
2067
2340
|
# </note>
|
2341
|
+
# @option options [Integer] :write_offset_bytes
|
2342
|
+
# Specifies the offset for appending data to existing objects in bytes.
|
2343
|
+
# The offset must be equal to the size of the existing object being
|
2344
|
+
# appended to. If no object exists, setting this header to 0 will create
|
2345
|
+
# a new object.
|
2346
|
+
#
|
2347
|
+
# <note markdown="1"> This functionality is only supported for objects in the Amazon S3
|
2348
|
+
# Express One Zone storage class in directory buckets.
|
2349
|
+
#
|
2350
|
+
# </note>
|
2068
2351
|
# @option options [Hash<String,String>] :metadata
|
2069
2352
|
# A map of metadata to store with the object in S3.
|
2070
2353
|
# @option options [String] :server_side_encryption
|
@@ -2072,25 +2355,65 @@ module Aws::S3
|
|
2072
2355
|
# object in Amazon S3 (for example, `AES256`, `aws:kms`,
|
2073
2356
|
# `aws:kms:dsse`).
|
2074
2357
|
#
|
2075
|
-
# <b>General purpose buckets </b> - You have four mutually exclusive
|
2076
|
-
#
|
2077
|
-
#
|
2078
|
-
#
|
2079
|
-
#
|
2080
|
-
#
|
2081
|
-
#
|
2082
|
-
#
|
2083
|
-
#
|
2084
|
-
#
|
2085
|
-
#
|
2358
|
+
# * <b>General purpose buckets </b> - You have four mutually exclusive
|
2359
|
+
# options to protect data using server-side encryption in Amazon S3,
|
2360
|
+
# depending on how you choose to manage the encryption keys.
|
2361
|
+
# Specifically, the encryption key options are Amazon S3 managed keys
|
2362
|
+
# (SSE-S3), Amazon Web Services KMS keys (SSE-KMS or DSSE-KMS), and
|
2363
|
+
# customer-provided keys (SSE-C). Amazon S3 encrypts data with
|
2364
|
+
# server-side encryption by using Amazon S3 managed keys (SSE-S3) by
|
2365
|
+
# default. You can optionally tell Amazon S3 to encrypt data at rest
|
2366
|
+
# by using server-side encryption with other key options. For more
|
2367
|
+
# information, see [Using Server-Side Encryption][1] in the *Amazon S3
|
2368
|
+
# User Guide*.
|
2369
|
+
#
|
2370
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
2371
|
+
# two supported options for server-side encryption: server-side
|
2372
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
2373
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). We
|
2374
|
+
# recommend that the bucket's default encryption uses the desired
|
2375
|
+
# encryption configuration and you don't override the bucket default
|
2376
|
+
# encryption in your `CreateSession` requests or `PUT` object
|
2377
|
+
# requests. Then, new objects are automatically encrypted with the
|
2378
|
+
# desired encryption settings. For more information, see [Protecting
|
2379
|
+
# data with server-side encryption][2] in the *Amazon S3 User Guide*.
|
2380
|
+
# For more information about the encryption overriding behaviors in
|
2381
|
+
# directory buckets, see [Specifying server-side encryption with KMS
|
2382
|
+
# for new object uploads][3].
|
2383
|
+
#
|
2384
|
+
# In the Zonal endpoint API calls (except [CopyObject][4] and
|
2385
|
+
# [UploadPartCopy][5]) using the REST API, the encryption request
|
2386
|
+
# headers must match the encryption settings that are specified in the
|
2387
|
+
# `CreateSession` request. You can't override the values of the
|
2388
|
+
# encryption settings (`x-amz-server-side-encryption`,
|
2389
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`,
|
2390
|
+
# `x-amz-server-side-encryption-context`, and
|
2391
|
+
# `x-amz-server-side-encryption-bucket-key-enabled`) that are
|
2392
|
+
# specified in the `CreateSession` request. You don't need to
|
2393
|
+
# explicitly specify these encryption settings values in Zonal
|
2394
|
+
# endpoint API calls, and Amazon S3 will use the encryption settings
|
2395
|
+
# values from the `CreateSession` request to protect new objects in
|
2396
|
+
# the directory bucket.
|
2397
|
+
#
|
2398
|
+
# <note markdown="1"> When you use the CLI or the Amazon Web Services SDKs, for
|
2399
|
+
# `CreateSession`, the session token refreshes automatically to avoid
|
2400
|
+
# service interruptions when a session expires. The CLI or the Amazon
|
2401
|
+
# Web Services SDKs use the bucket's default encryption configuration
|
2402
|
+
# for the `CreateSession` request. It's not supported to override the
|
2403
|
+
# encryption settings values in the `CreateSession` request. So in the
|
2404
|
+
# Zonal endpoint API calls (except [CopyObject][4] and
|
2405
|
+
# [UploadPartCopy][5]), the encryption request headers must match the
|
2406
|
+
# default encryption configuration of the directory bucket.
|
2086
2407
|
#
|
2087
|
-
#
|
2088
|
-
# server-side encryption with Amazon S3 managed keys (SSE-S3) (`AES256`)
|
2089
|
-
# value is supported.
|
2408
|
+
# </note>
|
2090
2409
|
#
|
2091
2410
|
#
|
2092
2411
|
#
|
2093
2412
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
2413
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
2414
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
2415
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
2416
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
2094
2417
|
# @option options [String] :storage_class
|
2095
2418
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
2096
2419
|
# created objects. The STANDARD storage class provides high durability
|
@@ -2098,8 +2421,9 @@ module Aws::S3
|
|
2098
2421
|
# a different Storage Class. For more information, see [Storage
|
2099
2422
|
# Classes][1] in the *Amazon S3 User Guide*.
|
2100
2423
|
#
|
2101
|
-
# <note markdown="1"> *
|
2102
|
-
#
|
2424
|
+
# <note markdown="1"> * Directory buckets only support `EXPRESS_ONEZONE` (the S3 Express One
|
2425
|
+
# Zone storage class) in Availability Zones and `ONEZONE_IA` (the S3
|
2426
|
+
# One Zone-Infrequent Access storage class) in Dedicated Local Zones.
|
2103
2427
|
#
|
2104
2428
|
# * Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
|
2105
2429
|
#
|
@@ -2164,44 +2488,83 @@ module Aws::S3
|
|
2164
2488
|
#
|
2165
2489
|
# </note>
|
2166
2490
|
# @option options [String] :ssekms_key_id
|
2167
|
-
#
|
2168
|
-
#
|
2169
|
-
#
|
2170
|
-
#
|
2171
|
-
#
|
2172
|
-
#
|
2173
|
-
# x-amz-server-side-encryption
|
2174
|
-
#
|
2175
|
-
#
|
2176
|
-
#
|
2491
|
+
# Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for
|
2492
|
+
# object encryption. If the KMS key doesn't exist in the same account
|
2493
|
+
# that's issuing the command, you must use the full Key ARN not the Key
|
2494
|
+
# ID.
|
2495
|
+
#
|
2496
|
+
# **General purpose buckets** - If you specify
|
2497
|
+
# `x-amz-server-side-encryption` with `aws:kms` or `aws:kms:dsse`, this
|
2498
|
+
# header specifies the ID (Key ID, Key ARN, or Key Alias) of the KMS key
|
2499
|
+
# to use. If you specify `x-amz-server-side-encryption:aws:kms` or
|
2500
|
+
# `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide
|
2501
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
2502
|
+
# Amazon Web Services managed key (`aws/s3`) to protect the data.
|
2503
|
+
#
|
2504
|
+
# **Directory buckets** - To encrypt data using SSE-KMS, it's
|
2505
|
+
# recommended to specify the `x-amz-server-side-encryption` header to
|
2506
|
+
# `aws:kms`. Then, the `x-amz-server-side-encryption-aws-kms-key-id`
|
2507
|
+
# header implicitly uses the bucket's default KMS customer managed key
|
2508
|
+
# ID. If you want to explicitly set the `
|
2509
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header, it must match the
|
2510
|
+
# bucket's default customer managed key (using key ID or ARN, not
|
2511
|
+
# alias). Your SSE-KMS configuration can only support 1 [customer
|
2512
|
+
# managed key][1] per directory bucket's lifetime. The [Amazon Web
|
2513
|
+
# Services managed key][2] (`aws/s3`) isn't supported. Incorrect key
|
2514
|
+
# specification results in an HTTP `400 Bad Request` error.
|
2515
|
+
#
|
2516
|
+
#
|
2517
|
+
#
|
2518
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
2519
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
2520
|
+
# @option options [String] :ssekms_encryption_context
|
2521
|
+
# Specifies the Amazon Web Services KMS Encryption Context as an
|
2522
|
+
# additional encryption context to use for object encryption. The value
|
2523
|
+
# of this header is a Base64 encoded string of a UTF-8 encoded JSON,
|
2524
|
+
# which contains the encryption context as key-value pairs. This value
|
2525
|
+
# is stored as object metadata and automatically gets passed on to
|
2526
|
+
# Amazon Web Services KMS for future `GetObject` operations on this
|
2527
|
+
# object.
|
2177
2528
|
#
|
2178
|
-
#
|
2529
|
+
# **General purpose buckets** - This value must be explicitly added
|
2530
|
+
# during `CopyObject` operations if you want an additional encryption
|
2531
|
+
# context for your object. For more information, see [Encryption
|
2532
|
+
# context][1] in the *Amazon S3 User Guide*.
|
2179
2533
|
#
|
2180
|
-
#
|
2181
|
-
#
|
2182
|
-
#
|
2183
|
-
#
|
2184
|
-
# string holding JSON with the encryption context key-value pairs. This
|
2185
|
-
# value is stored as object metadata and automatically gets passed on to
|
2186
|
-
# Amazon Web Services KMS for future `GetObject` or `CopyObject`
|
2187
|
-
# operations on this object. This value must be explicitly added during
|
2188
|
-
# `CopyObject` operations.
|
2534
|
+
# **Directory buckets** - You can optionally provide an explicit
|
2535
|
+
# encryption context value. The value must match the default encryption
|
2536
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
2537
|
+
# encryption context value is not supported.
|
2189
2538
|
#
|
2190
|
-
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2191
2539
|
#
|
2192
|
-
#
|
2540
|
+
#
|
2541
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context
|
2193
2542
|
# @option options [Boolean] :bucket_key_enabled
|
2194
2543
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
2195
2544
|
# encryption with server-side encryption using Key Management Service
|
2196
|
-
# (KMS) keys (SSE-KMS).
|
2197
|
-
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
2545
|
+
# (KMS) keys (SSE-KMS).
|
2198
2546
|
#
|
2199
|
-
#
|
2200
|
-
#
|
2547
|
+
# **General purpose buckets** - Setting this header to `true` causes
|
2548
|
+
# Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.
|
2549
|
+
# Also, specifying this header with a PUT action doesn't affect
|
2550
|
+
# bucket-level settings for S3 Bucket Key.
|
2201
2551
|
#
|
2202
|
-
#
|
2552
|
+
# **Directory buckets** - S3 Bucket Keys are always enabled for `GET`
|
2553
|
+
# and `PUT` operations in a directory bucket and can’t be disabled. S3
|
2554
|
+
# Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects
|
2555
|
+
# from general purpose buckets to directory buckets, from directory
|
2556
|
+
# buckets to general purpose buckets, or between directory buckets,
|
2557
|
+
# through [CopyObject][1], [UploadPartCopy][2], [the Copy operation in
|
2558
|
+
# Batch Operations][3], or [the import jobs][4]. In this case, Amazon S3
|
2559
|
+
# makes a call to KMS every time a copy request is made for a
|
2560
|
+
# KMS-encrypted object.
|
2203
2561
|
#
|
2204
|
-
#
|
2562
|
+
#
|
2563
|
+
#
|
2564
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
2565
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
2566
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
|
2567
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
|
2205
2568
|
# @option options [String] :request_payer
|
2206
2569
|
# Confirms that the requester knows that they will be charged for the
|
2207
2570
|
# request. Bucket owners need not specify this parameter in their
|
@@ -2352,7 +2715,7 @@ module Aws::S3
|
|
2352
2715
|
# },
|
2353
2716
|
# },
|
2354
2717
|
# request_payer: "requester", # accepts requester
|
2355
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
2718
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
2356
2719
|
# expected_bucket_owner: "AccountId",
|
2357
2720
|
# })
|
2358
2721
|
# @param [Hash] options ({})
|
@@ -2529,7 +2892,7 @@ module Aws::S3
|
|
2529
2892
|
# request_payer: "requester", # accepts requester
|
2530
2893
|
# bypass_governance_retention: false,
|
2531
2894
|
# expected_bucket_owner: "AccountId",
|
2532
|
-
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
|
2895
|
+
# checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256, CRC64NVME
|
2533
2896
|
# })
|
2534
2897
|
# @param options ({})
|
2535
2898
|
# @option options [String] :mfa
|
@@ -2593,22 +2956,23 @@ module Aws::S3
|
|
2593
2956
|
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
2594
2957
|
# the supported algorithm from the following list:
|
2595
2958
|
#
|
2596
|
-
# * CRC32
|
2959
|
+
# * `CRC32`
|
2960
|
+
#
|
2961
|
+
# * `CRC32C`
|
2597
2962
|
#
|
2598
|
-
# *
|
2963
|
+
# * `CRC64NVME`
|
2599
2964
|
#
|
2600
|
-
# * SHA1
|
2965
|
+
# * `SHA1`
|
2601
2966
|
#
|
2602
|
-
# * SHA256
|
2967
|
+
# * `SHA256`
|
2603
2968
|
#
|
2604
2969
|
# For more information, see [Checking object integrity][1] in the
|
2605
2970
|
# *Amazon S3 User Guide*.
|
2606
2971
|
#
|
2607
2972
|
# If the individual checksum value you provide through
|
2608
2973
|
# `x-amz-checksum-algorithm ` doesn't match the checksum algorithm you
|
2609
|
-
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3
|
2610
|
-
#
|
2611
|
-
# that matches the provided value in `x-amz-checksum-algorithm `.
|
2974
|
+
# set through `x-amz-sdk-checksum-algorithm`, Amazon S3 fails the
|
2975
|
+
# request with a `BadDigest` error.
|
2612
2976
|
#
|
2613
2977
|
# If you provide an individual checksum, Amazon S3 ignores any provided
|
2614
2978
|
# `ChecksumAlgorithm` parameter.
|
@@ -2640,3 +3004,6 @@ module Aws::S3
|
|
2640
3004
|
end
|
2641
3005
|
end
|
2642
3006
|
end
|
3007
|
+
|
3008
|
+
# Load customizations if they exist
|
3009
|
+
require 'aws-sdk-s3/customizations/object_summary'
|