aws-sdk-s3 1.150.0 → 1.169.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +110 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +12 -3
- data/lib/aws-sdk-s3/bucket.rb +252 -88
- data/lib/aws-sdk-s3/bucket_acl.rb +3 -3
- data/lib/aws-sdk-s3/bucket_cors.rb +4 -4
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +4 -4
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +42 -5
- data/lib/aws-sdk-s3/bucket_logging.rb +3 -3
- data/lib/aws-sdk-s3/bucket_notification.rb +3 -3
- data/lib/aws-sdk-s3/bucket_policy.rb +8 -8
- data/lib/aws-sdk-s3/bucket_request_payment.rb +3 -3
- data/lib/aws-sdk-s3/bucket_tagging.rb +4 -4
- data/lib/aws-sdk-s3/bucket_versioning.rb +5 -5
- data/lib/aws-sdk-s3/bucket_website.rb +4 -4
- data/lib/aws-sdk-s3/client.rb +1685 -668
- data/lib/aws-sdk-s3/client_api.rb +49 -4
- data/lib/aws-sdk-s3/customizations/bucket.rb +1 -1
- data/lib/aws-sdk-s3/customizations/object.rb +11 -5
- 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/encryption/client.rb +2 -2
- data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +2 -2
- data/lib/aws-sdk-s3/encryptionV2/client.rb +2 -2
- data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +2 -2
- data/lib/aws-sdk-s3/endpoint_parameters.rb +21 -18
- data/lib/aws-sdk-s3/endpoint_provider.rb +1 -0
- data/lib/aws-sdk-s3/endpoints.rb +416 -1614
- data/lib/aws-sdk-s3/errors.rb +3 -0
- data/lib/aws-sdk-s3/file_downloader.rb +1 -1
- data/lib/aws-sdk-s3/file_uploader.rb +1 -1
- data/lib/aws-sdk-s3/multipart_stream_uploader.rb +1 -1
- data/lib/aws-sdk-s3/multipart_upload.rb +31 -8
- data/lib/aws-sdk-s3/multipart_upload_part.rb +11 -11
- data/lib/aws-sdk-s3/object.rb +441 -158
- data/lib/aws-sdk-s3/object_acl.rb +3 -3
- data/lib/aws-sdk-s3/object_copier.rb +1 -1
- data/lib/aws-sdk-s3/object_summary.rb +403 -134
- data/lib/aws-sdk-s3/object_version.rb +53 -13
- data/lib/aws-sdk-s3/plugins/access_grants.rb +75 -5
- data/lib/aws-sdk-s3/plugins/endpoints.rb +24 -212
- data/lib/aws-sdk-s3/plugins/express_session_auth.rb +7 -1
- data/lib/aws-sdk-s3/plugins/http_200_errors.rb +53 -16
- data/lib/aws-sdk-s3/resource.rb +37 -11
- data/lib/aws-sdk-s3/types.rb +1106 -401
- data/lib/aws-sdk-s3.rb +35 -31
- data/sig/bucket.rbs +4 -0
- data/sig/bucket_lifecycle_configuration.rbs +7 -3
- data/sig/client.rbs +49 -5
- data/sig/multipart_upload.rbs +1 -0
- data/sig/object.rbs +7 -0
- data/sig/object_summary.rbs +1 -0
- data/sig/object_version.rbs +6 -0
- data/sig/resource.rbs +7 -1
- data/sig/types.rbs +36 -2
- data/sig/waiters.rbs +12 -0
- metadata +7 -6
@@ -186,7 +186,7 @@ module Aws::S3
|
|
186
186
|
options, params = separate_params_and_options(options)
|
187
187
|
waiter = Waiters::ObjectExists.new(options)
|
188
188
|
yield_waiter_and_warn(waiter, &block) if block_given?
|
189
|
-
Aws::Plugins::UserAgent.
|
189
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
190
190
|
waiter.wait(params.merge(bucket: @bucket_name,
|
191
191
|
key: @key))
|
192
192
|
end
|
@@ -207,7 +207,7 @@ module Aws::S3
|
|
207
207
|
options, params = separate_params_and_options(options)
|
208
208
|
waiter = Waiters::ObjectNotExists.new(options)
|
209
209
|
yield_waiter_and_warn(waiter, &block) if block_given?
|
210
|
-
Aws::Plugins::UserAgent.
|
210
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
211
211
|
waiter.wait(params.merge(bucket: @bucket_name,
|
212
212
|
key: @key))
|
213
213
|
end
|
@@ -312,7 +312,7 @@ module Aws::S3
|
|
312
312
|
:retry
|
313
313
|
end
|
314
314
|
end
|
315
|
-
Aws::Plugins::UserAgent.
|
315
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
316
316
|
Aws::Waiters::Waiter.new(options).wait({})
|
317
317
|
end
|
318
318
|
end
|
@@ -667,9 +667,8 @@ module Aws::S3
|
|
667
667
|
# </note>
|
668
668
|
# @option options [String] :server_side_encryption
|
669
669
|
# The server-side encryption algorithm used when storing this object in
|
670
|
-
# Amazon S3
|
671
|
-
#
|
672
|
-
# and will receive a `400 Bad Request` response.
|
670
|
+
# Amazon S3. Unrecognized or unsupported values won’t write a
|
671
|
+
# destination object and will receive a `400 Bad Request` response.
|
673
672
|
#
|
674
673
|
# Amazon S3 automatically encrypts all new objects that are copied to an
|
675
674
|
# S3 bucket. When copying an object, if you don't specify encryption
|
@@ -677,35 +676,72 @@ module Aws::S3
|
|
677
676
|
# object is set to the default encryption configuration of the
|
678
677
|
# destination bucket. By default, all buckets have a base level of
|
679
678
|
# 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.
|
679
|
+
# S3 managed keys (SSE-S3). If the destination bucket has a different
|
680
|
+
# default encryption configuration, Amazon S3 uses the corresponding
|
681
|
+
# encryption key to encrypt the target object copy.
|
695
682
|
#
|
696
683
|
# With server-side encryption, Amazon S3 encrypts your data as it writes
|
697
684
|
# your data to disks in its data centers and decrypts the data when you
|
698
685
|
# access it. For more information about server-side encryption, see
|
699
686
|
# [Using Server-Side Encryption][1] in the *Amazon S3 User Guide*.
|
700
687
|
#
|
701
|
-
# <
|
702
|
-
#
|
703
|
-
#
|
704
|
-
#
|
688
|
+
# <b>General purpose buckets </b>
|
689
|
+
#
|
690
|
+
# * For general purpose buckets, there are the following supported
|
691
|
+
# options for server-side encryption: server-side encryption with Key
|
692
|
+
# Management Service (KMS) keys (SSE-KMS), dual-layer server-side
|
693
|
+
# encryption with Amazon Web Services KMS keys (DSSE-KMS), and
|
694
|
+
# server-side encryption with customer-provided encryption keys
|
695
|
+
# (SSE-C). Amazon S3 uses the corresponding KMS key, or a
|
696
|
+
# customer-provided key to encrypt the target object copy.
|
697
|
+
#
|
698
|
+
# * When you perform a `CopyObject` operation, if you want to use a
|
699
|
+
# different type of encryption setting for the target object, you can
|
700
|
+
# specify appropriate encryption-related headers to encrypt the target
|
701
|
+
# object with an Amazon S3 managed key, a KMS key, or a
|
702
|
+
# customer-provided key. If the encryption setting in your request is
|
703
|
+
# different from the default encryption configuration of the
|
704
|
+
# destination bucket, the encryption setting in your request takes
|
705
|
+
# precedence.
|
706
|
+
#
|
707
|
+
# <b>Directory buckets </b>
|
708
|
+
#
|
709
|
+
# * For directory buckets, there are only two supported options for
|
710
|
+
# server-side encryption: server-side encryption with Amazon S3
|
711
|
+
# managed keys (SSE-S3) (`AES256`) and server-side encryption with KMS
|
712
|
+
# keys (SSE-KMS) (`aws:kms`). We recommend that the bucket's default
|
713
|
+
# encryption uses the desired encryption configuration and you don't
|
714
|
+
# override the bucket default encryption in your `CreateSession`
|
715
|
+
# requests or `PUT` object requests. Then, new objects are
|
716
|
+
# automatically encrypted with the desired encryption settings. For
|
717
|
+
# more information, see [Protecting data with server-side
|
718
|
+
# encryption][2] in the *Amazon S3 User Guide*. For more information
|
719
|
+
# about the encryption overriding behaviors in directory buckets, see
|
720
|
+
# [Specifying server-side encryption with KMS for new object
|
721
|
+
# uploads][3].
|
722
|
+
#
|
723
|
+
# * To encrypt new object copies to a directory bucket with SSE-KMS, we
|
724
|
+
# recommend you specify SSE-KMS as the directory bucket's default
|
725
|
+
# encryption configuration with a KMS key (specifically, a [customer
|
726
|
+
# managed key][4]). The [Amazon Web Services managed key][5]
|
727
|
+
# (`aws/s3`) isn't supported. Your SSE-KMS configuration can only
|
728
|
+
# support 1 [customer managed key][4] per directory bucket for the
|
729
|
+
# lifetime of the bucket. After you specify a customer managed key for
|
730
|
+
# SSE-KMS, you can't override the customer managed key for the
|
731
|
+
# bucket's SSE-KMS configuration. Then, when you perform a
|
732
|
+
# `CopyObject` operation and want to specify server-side encryption
|
733
|
+
# settings for new object copies with SSE-KMS in the
|
734
|
+
# encryption-related request headers, you must ensure the encryption
|
735
|
+
# key is the same customer managed key that you specified for the
|
736
|
+
# directory bucket's default encryption configuration.
|
705
737
|
#
|
706
738
|
#
|
707
739
|
#
|
708
740
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
|
741
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
742
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
743
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
744
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
709
745
|
# @option options [String] :storage_class
|
710
746
|
# If the `x-amz-storage-class` header is not used, the copied object
|
711
747
|
# will be stored in the `STANDARD` Storage Class by default. The
|
@@ -796,32 +832,55 @@ module Aws::S3
|
|
796
832
|
#
|
797
833
|
# </note>
|
798
834
|
# @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
|
-
#
|
835
|
+
# Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for
|
836
|
+
# object encryption. All GET and PUT requests for an object protected by
|
837
|
+
# KMS will fail if they're not made via SSL or using SigV4. For
|
838
|
+
# information about configuring any of the officially supported Amazon
|
839
|
+
# Web Services SDKs and Amazon Web Services CLI, see [Specifying the
|
840
|
+
# Signature Version in Request Authentication][1] in the *Amazon S3 User
|
841
|
+
# Guide*.
|
842
|
+
#
|
843
|
+
# **Directory buckets** - If you specify `x-amz-server-side-encryption`
|
844
|
+
# with `aws:kms`, the ` x-amz-server-side-encryption-aws-kms-key-id`
|
845
|
+
# header is implicitly assigned the ID of the KMS symmetric encryption
|
846
|
+
# customer managed key that's configured for your directory bucket's
|
847
|
+
# default encryption setting. If you want to specify the `
|
848
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header explicitly, you
|
849
|
+
# can only specify it with the ID (Key ID or Key ARN) of the KMS
|
850
|
+
# customer managed key that's configured for your directory bucket's
|
851
|
+
# default encryption setting. Otherwise, you get an HTTP `400 Bad
|
852
|
+
# Request` error. Only use the key ID or key ARN. The key alias format
|
853
|
+
# of the KMS key isn't supported. Your SSE-KMS configuration can only
|
854
|
+
# support 1 [customer managed key][2] per directory bucket for the
|
855
|
+
# lifetime of the bucket. The [Amazon Web Services managed key][3]
|
856
|
+
# (`aws/s3`) isn't supported.
|
810
857
|
#
|
811
858
|
#
|
812
859
|
#
|
813
860
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
|
861
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
862
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
814
863
|
# @option options [String] :ssekms_encryption_context
|
815
|
-
# Specifies the Amazon Web Services KMS Encryption Context
|
816
|
-
#
|
817
|
-
#
|
818
|
-
#
|
819
|
-
# `CopyObject` requests.
|
864
|
+
# Specifies the Amazon Web Services KMS Encryption Context as an
|
865
|
+
# additional encryption context to use for the destination object
|
866
|
+
# encryption. The value of this header is a base64-encoded UTF-8 string
|
867
|
+
# holding JSON with the encryption context key-value pairs.
|
820
868
|
#
|
821
|
-
#
|
822
|
-
#
|
869
|
+
# **General purpose buckets** - This value must be explicitly added to
|
870
|
+
# specify encryption context for `CopyObject` requests if you want an
|
871
|
+
# additional encryption context for your destination object. The
|
872
|
+
# additional encryption context of the source object won't be copied to
|
873
|
+
# the destination object. For more information, see [Encryption
|
874
|
+
# context][1] in the *Amazon S3 User Guide*.
|
823
875
|
#
|
824
|
-
#
|
876
|
+
# **Directory buckets** - You can optionally provide an explicit
|
877
|
+
# encryption context value. The value must match the default encryption
|
878
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
879
|
+
# encryption context value is not supported.
|
880
|
+
#
|
881
|
+
#
|
882
|
+
#
|
883
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context
|
825
884
|
# @option options [Boolean] :bucket_key_enabled
|
826
885
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
827
886
|
# encryption with server-side encryption using Key Management Service
|
@@ -835,14 +894,19 @@ module Aws::S3
|
|
835
894
|
# For more information, see [Amazon S3 Bucket Keys][1] in the *Amazon S3
|
836
895
|
# User Guide*.
|
837
896
|
#
|
838
|
-
# <note markdown="1">
|
839
|
-
#
|
897
|
+
# <note markdown="1"> **Directory buckets** - S3 Bucket Keys aren't supported, when you
|
898
|
+
# copy SSE-KMS encrypted objects from general purpose buckets to
|
899
|
+
# directory buckets, from directory buckets to general purpose buckets,
|
900
|
+
# or between directory buckets, through [CopyObject][2]. In this case,
|
901
|
+
# Amazon S3 makes a call to KMS every time a copy request is made for a
|
902
|
+
# KMS-encrypted object.
|
840
903
|
#
|
841
904
|
# </note>
|
842
905
|
#
|
843
906
|
#
|
844
907
|
#
|
845
908
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
|
909
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
846
910
|
# @option options [String] :copy_source_sse_customer_algorithm
|
847
911
|
# Specifies the algorithm to use when decrypting the source object (for
|
848
912
|
# example, `AES256`).
|
@@ -982,7 +1046,7 @@ module Aws::S3
|
|
982
1046
|
bucket: @bucket_name,
|
983
1047
|
key: @key
|
984
1048
|
)
|
985
|
-
resp = Aws::Plugins::UserAgent.
|
1049
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
986
1050
|
@client.copy_object(options)
|
987
1051
|
end
|
988
1052
|
resp.data
|
@@ -1048,7 +1112,7 @@ module Aws::S3
|
|
1048
1112
|
bucket: @bucket_name,
|
1049
1113
|
key: @key
|
1050
1114
|
)
|
1051
|
-
resp = Aws::Plugins::UserAgent.
|
1115
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
1052
1116
|
@client.delete_object(options)
|
1053
1117
|
end
|
1054
1118
|
resp.data
|
@@ -1298,13 +1362,22 @@ module Aws::S3
|
|
1298
1362
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
1299
1363
|
# @option options [String] :checksum_mode
|
1300
1364
|
# To retrieve the checksum, this mode must be enabled.
|
1365
|
+
#
|
1366
|
+
# **General purpose buckets** - In addition, if you enable checksum mode
|
1367
|
+
# and the object is uploaded with a [checksum][1] and encrypted with an
|
1368
|
+
# Key Management Service (KMS) key, you must have permission to use the
|
1369
|
+
# `kms:Decrypt` action to retrieve the checksum.
|
1370
|
+
#
|
1371
|
+
#
|
1372
|
+
#
|
1373
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
|
1301
1374
|
# @return [Types::GetObjectOutput]
|
1302
1375
|
def get(options = {}, &block)
|
1303
1376
|
options = options.merge(
|
1304
1377
|
bucket: @bucket_name,
|
1305
1378
|
key: @key
|
1306
1379
|
)
|
1307
|
-
resp = Aws::Plugins::UserAgent.
|
1380
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
1308
1381
|
@client.get_object(options, &block)
|
1309
1382
|
end
|
1310
1383
|
resp.data
|
@@ -1646,10 +1719,52 @@ module Aws::S3
|
|
1646
1719
|
# The server-side encryption algorithm used when you store this object
|
1647
1720
|
# in Amazon S3 (for example, `AES256`, `aws:kms`).
|
1648
1721
|
#
|
1649
|
-
# <
|
1650
|
-
#
|
1722
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
1723
|
+
# two supported options for server-side encryption: server-side
|
1724
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
1725
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). We
|
1726
|
+
# recommend that the bucket's default encryption uses the desired
|
1727
|
+
# encryption configuration and you don't override the bucket default
|
1728
|
+
# encryption in your `CreateSession` requests or `PUT` object
|
1729
|
+
# requests. Then, new objects are automatically encrypted with the
|
1730
|
+
# desired encryption settings. For more information, see [Protecting
|
1731
|
+
# data with server-side encryption][1] in the *Amazon S3 User Guide*.
|
1732
|
+
# For more information about the encryption overriding behaviors in
|
1733
|
+
# directory buckets, see [Specifying server-side encryption with KMS
|
1734
|
+
# for new object uploads][2].
|
1735
|
+
#
|
1736
|
+
# In the Zonal endpoint API calls (except [CopyObject][3] and
|
1737
|
+
# [UploadPartCopy][4]) using the REST API, the encryption request
|
1738
|
+
# headers must match the encryption settings that are specified in the
|
1739
|
+
# `CreateSession` request. You can't override the values of the
|
1740
|
+
# encryption settings (`x-amz-server-side-encryption`,
|
1741
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`,
|
1742
|
+
# `x-amz-server-side-encryption-context`, and
|
1743
|
+
# `x-amz-server-side-encryption-bucket-key-enabled`) that are
|
1744
|
+
# specified in the `CreateSession` request. You don't need to
|
1745
|
+
# explicitly specify these encryption settings values in Zonal
|
1746
|
+
# endpoint API calls, and Amazon S3 will use the encryption settings
|
1747
|
+
# values from the `CreateSession` request to protect new objects in
|
1748
|
+
# the directory bucket.
|
1749
|
+
#
|
1750
|
+
# <note markdown="1"> When you use the CLI or the Amazon Web Services SDKs, for
|
1751
|
+
# `CreateSession`, the session token refreshes automatically to avoid
|
1752
|
+
# service interruptions when a session expires. The CLI or the Amazon
|
1753
|
+
# Web Services SDKs use the bucket's default encryption configuration
|
1754
|
+
# for the `CreateSession` request. It's not supported to override the
|
1755
|
+
# encryption settings values in the `CreateSession` request. So in the
|
1756
|
+
# Zonal endpoint API calls (except [CopyObject][3] and
|
1757
|
+
# [UploadPartCopy][4]), the encryption request headers must match the
|
1758
|
+
# default encryption configuration of the directory bucket.
|
1651
1759
|
#
|
1652
|
-
#
|
1760
|
+
# </note>
|
1761
|
+
#
|
1762
|
+
#
|
1763
|
+
#
|
1764
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
1765
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
1766
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
1767
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
1653
1768
|
# @option options [String] :storage_class
|
1654
1769
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
1655
1770
|
# created objects. The STANDARD storage class provides high durability
|
@@ -1702,32 +1817,74 @@ module Aws::S3
|
|
1702
1817
|
#
|
1703
1818
|
# </note>
|
1704
1819
|
# @option options [String] :ssekms_key_id
|
1705
|
-
# Specifies the ID (Key ID, Key ARN, or Key Alias)
|
1706
|
-
# encryption
|
1707
|
-
#
|
1708
|
-
#
|
1709
|
-
#
|
1710
|
-
#
|
1820
|
+
# Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for
|
1821
|
+
# object encryption. If the KMS key doesn't exist in the same account
|
1822
|
+
# that's issuing the command, you must use the full Key ARN not the Key
|
1823
|
+
# ID.
|
1824
|
+
#
|
1825
|
+
# **General purpose buckets** - If you specify
|
1826
|
+
# `x-amz-server-side-encryption` with `aws:kms` or `aws:kms:dsse`, this
|
1827
|
+
# header specifies the ID (Key ID, Key ARN, or Key Alias) of the KMS key
|
1828
|
+
# to use. If you specify `x-amz-server-side-encryption:aws:kms` or
|
1829
|
+
# `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide
|
1830
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
1831
|
+
# Amazon Web Services managed key (`aws/s3`) to protect the data.
|
1832
|
+
#
|
1833
|
+
# **Directory buckets** - If you specify `x-amz-server-side-encryption`
|
1834
|
+
# with `aws:kms`, the ` x-amz-server-side-encryption-aws-kms-key-id`
|
1835
|
+
# header is implicitly assigned the ID of the KMS symmetric encryption
|
1836
|
+
# customer managed key that's configured for your directory bucket's
|
1837
|
+
# default encryption setting. If you want to specify the `
|
1838
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header explicitly, you
|
1839
|
+
# can only specify it with the ID (Key ID or Key ARN) of the KMS
|
1840
|
+
# customer managed key that's configured for your directory bucket's
|
1841
|
+
# default encryption setting. Otherwise, you get an HTTP `400 Bad
|
1842
|
+
# Request` error. Only use the key ID or key ARN. The key alias format
|
1843
|
+
# of the KMS key isn't supported. Your SSE-KMS configuration can only
|
1844
|
+
# support 1 [customer managed key][1] per directory bucket for the
|
1845
|
+
# lifetime of the bucket. The [Amazon Web Services managed key][2]
|
1846
|
+
# (`aws/s3`) isn't supported.
|
1847
|
+
#
|
1848
|
+
#
|
1849
|
+
#
|
1850
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
1851
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
1711
1852
|
# @option options [String] :ssekms_encryption_context
|
1712
1853
|
# 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
|
-
#
|
1854
|
+
# object encryption. The value of this header is a Base64-encoded string
|
1855
|
+
# of a UTF-8 encoded JSON, which contains the encryption context as
|
1856
|
+
# key-value pairs.
|
1857
|
+
#
|
1858
|
+
# **Directory buckets** - You can optionally provide an explicit
|
1859
|
+
# encryption context value. The value must match the default encryption
|
1860
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
1861
|
+
# encryption context value is not supported.
|
1719
1862
|
# @option options [Boolean] :bucket_key_enabled
|
1720
1863
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
1721
1864
|
# 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.
|
1865
|
+
# (KMS) keys (SSE-KMS).
|
1724
1866
|
#
|
1725
|
-
#
|
1867
|
+
# **General purpose buckets** - Setting this header to `true` causes
|
1868
|
+
# Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.
|
1869
|
+
# Also, specifying this header with a PUT action doesn't affect
|
1726
1870
|
# bucket-level settings for S3 Bucket Key.
|
1727
1871
|
#
|
1728
|
-
#
|
1872
|
+
# **Directory buckets** - S3 Bucket Keys are always enabled for `GET`
|
1873
|
+
# and `PUT` operations in a directory bucket and can’t be disabled. S3
|
1874
|
+
# Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects
|
1875
|
+
# from general purpose buckets to directory buckets, from directory
|
1876
|
+
# buckets to general purpose buckets, or between directory buckets,
|
1877
|
+
# through [CopyObject][1], [UploadPartCopy][2], [the Copy operation in
|
1878
|
+
# Batch Operations][3], or [the import jobs][4]. In this case, Amazon S3
|
1879
|
+
# makes a call to KMS every time a copy request is made for a
|
1880
|
+
# KMS-encrypted object.
|
1729
1881
|
#
|
1730
|
-
#
|
1882
|
+
#
|
1883
|
+
#
|
1884
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
1885
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
1886
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
|
1887
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
|
1731
1888
|
# @option options [String] :request_payer
|
1732
1889
|
# Confirms that the requester knows that they will be charged for the
|
1733
1890
|
# request. Bucket owners need not specify this parameter in their
|
@@ -1789,7 +1946,7 @@ module Aws::S3
|
|
1789
1946
|
bucket: @bucket_name,
|
1790
1947
|
key: @key
|
1791
1948
|
)
|
1792
|
-
resp = Aws::Plugins::UserAgent.
|
1949
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
1793
1950
|
@client.create_multipart_upload(options)
|
1794
1951
|
end
|
1795
1952
|
MultipartUpload.new(
|
@@ -1818,6 +1975,7 @@ module Aws::S3
|
|
1818
1975
|
# checksum_sha1: "ChecksumSHA1",
|
1819
1976
|
# checksum_sha256: "ChecksumSHA256",
|
1820
1977
|
# expires: Time.now,
|
1978
|
+
# if_none_match: "IfNoneMatch",
|
1821
1979
|
# grant_full_control: "GrantFullControl",
|
1822
1980
|
# grant_read: "GrantRead",
|
1823
1981
|
# grant_read_acp: "GrantReadACP",
|
@@ -1925,10 +2083,11 @@ module Aws::S3
|
|
1925
2083
|
# information about REST request authentication, see [REST
|
1926
2084
|
# Authentication][1].
|
1927
2085
|
#
|
1928
|
-
# <note markdown="1"> The `Content-MD5` header is required
|
1929
|
-
# object with a retention period configured
|
1930
|
-
#
|
1931
|
-
# Object Lock
|
2086
|
+
# <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
|
2087
|
+
# for any request to upload an object with a retention period configured
|
2088
|
+
# using Amazon S3 Object Lock. For more information, see [Uploading
|
2089
|
+
# objects to an Object Lock enabled bucket ][2] in the *Amazon S3 User
|
2090
|
+
# Guide*.
|
1932
2091
|
#
|
1933
2092
|
# </note>
|
1934
2093
|
#
|
@@ -1939,7 +2098,7 @@ module Aws::S3
|
|
1939
2098
|
#
|
1940
2099
|
#
|
1941
2100
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
|
1942
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2101
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-put-object
|
1943
2102
|
# @option options [String] :content_type
|
1944
2103
|
# A standard MIME type describing the format of the contents. For more
|
1945
2104
|
# information, see
|
@@ -1959,13 +2118,13 @@ module Aws::S3
|
|
1959
2118
|
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
1960
2119
|
# the supported algorithm from the following list:
|
1961
2120
|
#
|
1962
|
-
# * CRC32
|
2121
|
+
# * `CRC32`
|
1963
2122
|
#
|
1964
|
-
# * CRC32C
|
2123
|
+
# * `CRC32C`
|
1965
2124
|
#
|
1966
|
-
# * SHA1
|
2125
|
+
# * `SHA1`
|
1967
2126
|
#
|
1968
|
-
# * SHA256
|
2127
|
+
# * `SHA256`
|
1969
2128
|
#
|
1970
2129
|
# For more information, see [Checking object integrity][1] in the
|
1971
2130
|
# *Amazon S3 User Guide*.
|
@@ -1976,20 +2135,27 @@ module Aws::S3
|
|
1976
2135
|
# provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
|
1977
2136
|
# that matches the provided value in `x-amz-checksum-algorithm `.
|
1978
2137
|
#
|
1979
|
-
# <note markdown="1">
|
1980
|
-
#
|
2138
|
+
# <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
|
2139
|
+
# for any request to upload an object with a retention period configured
|
2140
|
+
# using Amazon S3 Object Lock. For more information, see [Uploading
|
2141
|
+
# objects to an Object Lock enabled bucket ][2] in the *Amazon S3 User
|
2142
|
+
# Guide*.
|
1981
2143
|
#
|
1982
2144
|
# </note>
|
1983
2145
|
#
|
2146
|
+
# For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
|
2147
|
+
# is the default checksum algorithm that's used for performance.
|
2148
|
+
#
|
1984
2149
|
#
|
1985
2150
|
#
|
1986
2151
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
2152
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-put-object
|
1987
2153
|
# @option options [String] :checksum_crc32
|
1988
2154
|
# This header can be used as a data integrity check to verify that the
|
1989
2155
|
# data received is the same data that was originally sent. This header
|
1990
|
-
# specifies the base64-encoded, 32-bit
|
1991
|
-
# more information, see [Checking object integrity][1] in the
|
1992
|
-
# User Guide*.
|
2156
|
+
# specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
|
2157
|
+
# For more information, see [Checking object integrity][1] in the
|
2158
|
+
# *Amazon S3 User Guide*.
|
1993
2159
|
#
|
1994
2160
|
#
|
1995
2161
|
#
|
@@ -1997,7 +2163,7 @@ module Aws::S3
|
|
1997
2163
|
# @option options [String] :checksum_crc32c
|
1998
2164
|
# This header can be used as a data integrity check to verify that the
|
1999
2165
|
# data received is the same data that was originally sent. This header
|
2000
|
-
# specifies the base64-encoded, 32-bit
|
2166
|
+
# specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
|
2001
2167
|
# For more information, see [Checking object integrity][1] in the
|
2002
2168
|
# *Amazon S3 User Guide*.
|
2003
2169
|
#
|
@@ -2032,6 +2198,24 @@ module Aws::S3
|
|
2032
2198
|
#
|
2033
2199
|
#
|
2034
2200
|
# [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
|
2201
|
+
# @option options [String] :if_none_match
|
2202
|
+
# Uploads the object only if the object key name does not already exist
|
2203
|
+
# in the bucket specified. Otherwise, Amazon S3 returns a `412
|
2204
|
+
# Precondition Failed` error.
|
2205
|
+
#
|
2206
|
+
# If a conflicting operation occurs during the upload S3 returns a `409
|
2207
|
+
# ConditionalRequestConflict` response. On a 409 failure you should
|
2208
|
+
# retry the upload.
|
2209
|
+
#
|
2210
|
+
# Expects the '*' (asterisk) character.
|
2211
|
+
#
|
2212
|
+
# For more information about conditional requests, see [RFC 7232][1], or
|
2213
|
+
# [Conditional requests][2] in the *Amazon S3 User Guide*.
|
2214
|
+
#
|
2215
|
+
#
|
2216
|
+
#
|
2217
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
2218
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
|
2035
2219
|
# @option options [String] :grant_full_control
|
2036
2220
|
# Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
|
2037
2221
|
# object.
|
@@ -2072,25 +2256,65 @@ module Aws::S3
|
|
2072
2256
|
# object in Amazon S3 (for example, `AES256`, `aws:kms`,
|
2073
2257
|
# `aws:kms:dsse`).
|
2074
2258
|
#
|
2075
|
-
# <b>General purpose buckets </b> - You have four mutually exclusive
|
2076
|
-
#
|
2077
|
-
#
|
2078
|
-
#
|
2079
|
-
#
|
2080
|
-
#
|
2081
|
-
#
|
2082
|
-
#
|
2083
|
-
#
|
2084
|
-
#
|
2085
|
-
#
|
2259
|
+
# * <b>General purpose buckets </b> - You have four mutually exclusive
|
2260
|
+
# options to protect data using server-side encryption in Amazon S3,
|
2261
|
+
# depending on how you choose to manage the encryption keys.
|
2262
|
+
# Specifically, the encryption key options are Amazon S3 managed keys
|
2263
|
+
# (SSE-S3), Amazon Web Services KMS keys (SSE-KMS or DSSE-KMS), and
|
2264
|
+
# customer-provided keys (SSE-C). Amazon S3 encrypts data with
|
2265
|
+
# server-side encryption by using Amazon S3 managed keys (SSE-S3) by
|
2266
|
+
# default. You can optionally tell Amazon S3 to encrypt data at rest
|
2267
|
+
# by using server-side encryption with other key options. For more
|
2268
|
+
# information, see [Using Server-Side Encryption][1] in the *Amazon S3
|
2269
|
+
# User Guide*.
|
2270
|
+
#
|
2271
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
2272
|
+
# two supported options for server-side encryption: server-side
|
2273
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
2274
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). We
|
2275
|
+
# recommend that the bucket's default encryption uses the desired
|
2276
|
+
# encryption configuration and you don't override the bucket default
|
2277
|
+
# encryption in your `CreateSession` requests or `PUT` object
|
2278
|
+
# requests. Then, new objects are automatically encrypted with the
|
2279
|
+
# desired encryption settings. For more information, see [Protecting
|
2280
|
+
# data with server-side encryption][2] in the *Amazon S3 User Guide*.
|
2281
|
+
# For more information about the encryption overriding behaviors in
|
2282
|
+
# directory buckets, see [Specifying server-side encryption with KMS
|
2283
|
+
# for new object uploads][3].
|
2284
|
+
#
|
2285
|
+
# In the Zonal endpoint API calls (except [CopyObject][4] and
|
2286
|
+
# [UploadPartCopy][5]) using the REST API, the encryption request
|
2287
|
+
# headers must match the encryption settings that are specified in the
|
2288
|
+
# `CreateSession` request. You can't override the values of the
|
2289
|
+
# encryption settings (`x-amz-server-side-encryption`,
|
2290
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`,
|
2291
|
+
# `x-amz-server-side-encryption-context`, and
|
2292
|
+
# `x-amz-server-side-encryption-bucket-key-enabled`) that are
|
2293
|
+
# specified in the `CreateSession` request. You don't need to
|
2294
|
+
# explicitly specify these encryption settings values in Zonal
|
2295
|
+
# endpoint API calls, and Amazon S3 will use the encryption settings
|
2296
|
+
# values from the `CreateSession` request to protect new objects in
|
2297
|
+
# the directory bucket.
|
2298
|
+
#
|
2299
|
+
# <note markdown="1"> When you use the CLI or the Amazon Web Services SDKs, for
|
2300
|
+
# `CreateSession`, the session token refreshes automatically to avoid
|
2301
|
+
# service interruptions when a session expires. The CLI or the Amazon
|
2302
|
+
# Web Services SDKs use the bucket's default encryption configuration
|
2303
|
+
# for the `CreateSession` request. It's not supported to override the
|
2304
|
+
# encryption settings values in the `CreateSession` request. So in the
|
2305
|
+
# Zonal endpoint API calls (except [CopyObject][4] and
|
2306
|
+
# [UploadPartCopy][5]), the encryption request headers must match the
|
2307
|
+
# default encryption configuration of the directory bucket.
|
2086
2308
|
#
|
2087
|
-
#
|
2088
|
-
# server-side encryption with Amazon S3 managed keys (SSE-S3) (`AES256`)
|
2089
|
-
# value is supported.
|
2309
|
+
# </note>
|
2090
2310
|
#
|
2091
2311
|
#
|
2092
2312
|
#
|
2093
2313
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
2314
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
2315
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
2316
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
2317
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
2094
2318
|
# @option options [String] :storage_class
|
2095
2319
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
2096
2320
|
# created objects. The STANDARD storage class provides high durability
|
@@ -2164,44 +2388,86 @@ module Aws::S3
|
|
2164
2388
|
#
|
2165
2389
|
# </note>
|
2166
2390
|
# @option options [String] :ssekms_key_id
|
2167
|
-
#
|
2168
|
-
#
|
2169
|
-
#
|
2170
|
-
#
|
2171
|
-
#
|
2172
|
-
#
|
2173
|
-
# x-amz-server-side-encryption
|
2174
|
-
#
|
2175
|
-
#
|
2176
|
-
#
|
2391
|
+
# Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for
|
2392
|
+
# object encryption. If the KMS key doesn't exist in the same account
|
2393
|
+
# that's issuing the command, you must use the full Key ARN not the Key
|
2394
|
+
# ID.
|
2395
|
+
#
|
2396
|
+
# **General purpose buckets** - If you specify
|
2397
|
+
# `x-amz-server-side-encryption` with `aws:kms` or `aws:kms:dsse`, this
|
2398
|
+
# header specifies the ID (Key ID, Key ARN, or Key Alias) of the KMS key
|
2399
|
+
# to use. If you specify `x-amz-server-side-encryption:aws:kms` or
|
2400
|
+
# `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide
|
2401
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
2402
|
+
# Amazon Web Services managed key (`aws/s3`) to protect the data.
|
2403
|
+
#
|
2404
|
+
# **Directory buckets** - If you specify `x-amz-server-side-encryption`
|
2405
|
+
# with `aws:kms`, the ` x-amz-server-side-encryption-aws-kms-key-id`
|
2406
|
+
# header is implicitly assigned the ID of the KMS symmetric encryption
|
2407
|
+
# customer managed key that's configured for your directory bucket's
|
2408
|
+
# default encryption setting. If you want to specify the `
|
2409
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header explicitly, you
|
2410
|
+
# can only specify it with the ID (Key ID or Key ARN) of the KMS
|
2411
|
+
# customer managed key that's configured for your directory bucket's
|
2412
|
+
# default encryption setting. Otherwise, you get an HTTP `400 Bad
|
2413
|
+
# Request` error. Only use the key ID or key ARN. The key alias format
|
2414
|
+
# of the KMS key isn't supported. Your SSE-KMS configuration can only
|
2415
|
+
# support 1 [customer managed key][1] per directory bucket for the
|
2416
|
+
# lifetime of the bucket. The [Amazon Web Services managed key][2]
|
2417
|
+
# (`aws/s3`) isn't supported.
|
2418
|
+
#
|
2419
|
+
#
|
2420
|
+
#
|
2421
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
2422
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
2423
|
+
# @option options [String] :ssekms_encryption_context
|
2424
|
+
# Specifies the Amazon Web Services KMS Encryption Context as an
|
2425
|
+
# additional encryption context to use for object encryption. The value
|
2426
|
+
# of this header is a Base64-encoded string of a UTF-8 encoded JSON,
|
2427
|
+
# which contains the encryption context as key-value pairs. This value
|
2428
|
+
# is stored as object metadata and automatically gets passed on to
|
2429
|
+
# Amazon Web Services KMS for future `GetObject` operations on this
|
2430
|
+
# object.
|
2177
2431
|
#
|
2178
|
-
#
|
2432
|
+
# **General purpose buckets** - This value must be explicitly added
|
2433
|
+
# during `CopyObject` operations if you want an additional encryption
|
2434
|
+
# context for your object. For more information, see [Encryption
|
2435
|
+
# context][1] in the *Amazon S3 User Guide*.
|
2179
2436
|
#
|
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.
|
2437
|
+
# **Directory buckets** - You can optionally provide an explicit
|
2438
|
+
# encryption context value. The value must match the default encryption
|
2439
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
2440
|
+
# encryption context value is not supported.
|
2189
2441
|
#
|
2190
|
-
# <note markdown="1"> This functionality is not supported for directory buckets.
|
2191
2442
|
#
|
2192
|
-
#
|
2443
|
+
#
|
2444
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context
|
2193
2445
|
# @option options [Boolean] :bucket_key_enabled
|
2194
2446
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
2195
2447
|
# 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.
|
2448
|
+
# (KMS) keys (SSE-KMS).
|
2198
2449
|
#
|
2199
|
-
#
|
2200
|
-
#
|
2450
|
+
# **General purpose buckets** - Setting this header to `true` causes
|
2451
|
+
# Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.
|
2452
|
+
# Also, specifying this header with a PUT action doesn't affect
|
2453
|
+
# bucket-level settings for S3 Bucket Key.
|
2201
2454
|
#
|
2202
|
-
#
|
2455
|
+
# **Directory buckets** - S3 Bucket Keys are always enabled for `GET`
|
2456
|
+
# and `PUT` operations in a directory bucket and can’t be disabled. S3
|
2457
|
+
# Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects
|
2458
|
+
# from general purpose buckets to directory buckets, from directory
|
2459
|
+
# buckets to general purpose buckets, or between directory buckets,
|
2460
|
+
# through [CopyObject][1], [UploadPartCopy][2], [the Copy operation in
|
2461
|
+
# Batch Operations][3], or [the import jobs][4]. In this case, Amazon S3
|
2462
|
+
# makes a call to KMS every time a copy request is made for a
|
2463
|
+
# KMS-encrypted object.
|
2203
2464
|
#
|
2204
|
-
#
|
2465
|
+
#
|
2466
|
+
#
|
2467
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
2468
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
2469
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
|
2470
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
|
2205
2471
|
# @option options [String] :request_payer
|
2206
2472
|
# Confirms that the requester knows that they will be charged for the
|
2207
2473
|
# request. Bucket owners need not specify this parameter in their
|
@@ -2260,7 +2526,7 @@ module Aws::S3
|
|
2260
2526
|
bucket: @bucket_name,
|
2261
2527
|
key: @key
|
2262
2528
|
)
|
2263
|
-
resp = Aws::Plugins::UserAgent.
|
2529
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
2264
2530
|
@client.put_object(options)
|
2265
2531
|
end
|
2266
2532
|
resp.data
|
@@ -2401,7 +2667,7 @@ module Aws::S3
|
|
2401
2667
|
bucket: @bucket_name,
|
2402
2668
|
key: @key
|
2403
2669
|
)
|
2404
|
-
resp = Aws::Plugins::UserAgent.
|
2670
|
+
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
2405
2671
|
@client.restore_object(options)
|
2406
2672
|
end
|
2407
2673
|
resp.data
|
@@ -2593,13 +2859,13 @@ module Aws::S3
|
|
2593
2859
|
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
2594
2860
|
# the supported algorithm from the following list:
|
2595
2861
|
#
|
2596
|
-
# * CRC32
|
2862
|
+
# * `CRC32`
|
2597
2863
|
#
|
2598
|
-
# * CRC32C
|
2864
|
+
# * `CRC32C`
|
2599
2865
|
#
|
2600
|
-
# * SHA1
|
2866
|
+
# * `SHA1`
|
2601
2867
|
#
|
2602
|
-
# * SHA256
|
2868
|
+
# * `SHA256`
|
2603
2869
|
#
|
2604
2870
|
# For more information, see [Checking object integrity][1] in the
|
2605
2871
|
# *Amazon S3 User Guide*.
|
@@ -2628,7 +2894,7 @@ module Aws::S3
|
|
2628
2894
|
key: item.key
|
2629
2895
|
}
|
2630
2896
|
end
|
2631
|
-
Aws::Plugins::UserAgent.
|
2897
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
2632
2898
|
batch[0].client.delete_objects(params)
|
2633
2899
|
end
|
2634
2900
|
end
|
@@ -2640,3 +2906,6 @@ module Aws::S3
|
|
2640
2906
|
end
|
2641
2907
|
end
|
2642
2908
|
end
|
2909
|
+
|
2910
|
+
# Load customizations if they exist
|
2911
|
+
require 'aws-sdk-s3/customizations/object_summary'
|