aws-sdk-s3 1.150.0 → 1.169.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 +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'
|