aws-sdk-s3 1.162.0 → 1.167.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 +25 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/bucket.rb +135 -55
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +38 -1
- data/lib/aws-sdk-s3/bucket_policy.rb +4 -4
- data/lib/aws-sdk-s3/client.rb +1124 -398
- data/lib/aws-sdk-s3/client_api.rb +17 -1
- 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/errors.rb +3 -0
- data/lib/aws-sdk-s3/multipart_upload.rb +7 -4
- data/lib/aws-sdk-s3/multipart_upload_part.rb +8 -8
- data/lib/aws-sdk-s3/object.rb +353 -143
- data/lib/aws-sdk-s3/object_summary.rb +339 -121
- data/lib/aws-sdk-s3/object_version.rb +21 -12
- data/lib/aws-sdk-s3/plugins/endpoints.rb +13 -7
- data/lib/aws-sdk-s3/types.rb +755 -350
- data/lib/aws-sdk-s3.rb +35 -31
- data/sig/bucket_lifecycle_configuration.rbs +7 -3
- data/sig/client.rbs +19 -4
- data/sig/resource.rbs +1 -0
- data/sig/types.rbs +17 -2
- metadata +5 -4
data/lib/aws-sdk-s3/client.rb
CHANGED
@@ -57,8 +57,6 @@ require 'aws-sdk-s3/plugins/streaming_retry.rb'
|
|
57
57
|
require 'aws-sdk-s3/plugins/url_encoded_keys.rb'
|
58
58
|
require 'aws-sdk-core/plugins/event_stream_configuration.rb'
|
59
59
|
|
60
|
-
Aws::Plugins::GlobalConfiguration.add_identifier(:s3)
|
61
|
-
|
62
60
|
module Aws::S3
|
63
61
|
# An API client for S3. To construct a client, you need to configure a `:region` and `:credentials`.
|
64
62
|
#
|
@@ -172,13 +170,15 @@ module Aws::S3
|
|
172
170
|
# locations will be searched for credentials:
|
173
171
|
#
|
174
172
|
# * `Aws.config[:credentials]`
|
175
|
-
# * The `:access_key_id`, `:secret_access_key`,
|
176
|
-
#
|
173
|
+
# * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
|
174
|
+
# `:account_id` options.
|
175
|
+
# * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
|
176
|
+
# ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
|
177
177
|
# * `~/.aws/credentials`
|
178
178
|
# * `~/.aws/config`
|
179
179
|
# * EC2/ECS IMDS instance profile - When used by default, the timeouts
|
180
180
|
# are very aggressive. Construct and pass an instance of
|
181
|
-
# `Aws::
|
181
|
+
# `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
|
182
182
|
# enable retries and extended timeouts. Instance profile credential
|
183
183
|
# fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
|
184
184
|
# to true.
|
@@ -207,6 +207,8 @@ module Aws::S3
|
|
207
207
|
#
|
208
208
|
# @option options [String] :access_key_id
|
209
209
|
#
|
210
|
+
# @option options [String] :account_id
|
211
|
+
#
|
210
212
|
# @option options [Boolean] :active_endpoint_cache (false)
|
211
213
|
# When set to `true`, a thread polling for endpoints will be running in
|
212
214
|
# the background every 60 secs (default). Defaults to `false`.
|
@@ -476,7 +478,9 @@ module Aws::S3
|
|
476
478
|
# sending the request.
|
477
479
|
#
|
478
480
|
# @option options [Aws::S3::EndpointProvider] :endpoint_provider
|
479
|
-
# The endpoint provider used to resolve endpoints. Any object that responds to
|
481
|
+
# The endpoint provider used to resolve endpoints. Any object that responds to
|
482
|
+
# `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
|
483
|
+
# `Aws::S3::EndpointParameters`.
|
480
484
|
#
|
481
485
|
# @option options [Float] :http_continue_timeout (1)
|
482
486
|
# The number of seconds to wait for a 100-continue response before sending the
|
@@ -800,9 +804,15 @@ module Aws::S3
|
|
800
804
|
# [Multipart Upload and Permissions][6] in the *Amazon S3 User
|
801
805
|
# Guide*.
|
802
806
|
#
|
807
|
+
# If you provide an [additional checksum value][7] in your
|
808
|
+
# `MultipartUpload` requests and the object is encrypted with Key
|
809
|
+
# Management Service, you must have permission to use the
|
810
|
+
# `kms:Decrypt` action for the `CompleteMultipartUpload` request to
|
811
|
+
# succeed.
|
812
|
+
#
|
803
813
|
# * **Directory bucket permissions** - To grant access to this API
|
804
814
|
# operation on a directory bucket, we recommend that you use the [
|
805
|
-
# `CreateSession` ][
|
815
|
+
# `CreateSession` ][8] API operation for session-based
|
806
816
|
# authorization. Specifically, you grant the
|
807
817
|
# `s3express:CreateSession` permission to the directory bucket in a
|
808
818
|
# bucket policy or an IAM identity-based policy. Then, you make the
|
@@ -813,13 +823,11 @@ module Aws::S3
|
|
813
823
|
# token for use. Amazon Web Services CLI or SDKs create session and
|
814
824
|
# refresh the session token automatically to avoid service
|
815
825
|
# interruptions when a session expires. For more information about
|
816
|
-
# authorization, see [ `CreateSession` ][
|
826
|
+
# authorization, see [ `CreateSession` ][8].
|
817
827
|
#
|
818
|
-
#
|
819
|
-
# `
|
820
|
-
#
|
821
|
-
# `kms:Decrypt` action for the `CompleteMultipartUpload` request to
|
822
|
-
# succeed.
|
828
|
+
# If the object is encrypted with SSE-KMS, you must also have the
|
829
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
830
|
+
# identity-based policies and KMS key policies for the KMS key.
|
823
831
|
#
|
824
832
|
# Special errors
|
825
833
|
# : * Error Code: `EntityTooSmall`
|
@@ -878,8 +886,8 @@ module Aws::S3
|
|
878
886
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
|
879
887
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
880
888
|
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
|
881
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
882
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
889
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
|
890
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
883
891
|
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
|
884
892
|
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
|
885
893
|
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
|
@@ -941,9 +949,9 @@ module Aws::S3
|
|
941
949
|
# @option params [String] :checksum_crc32
|
942
950
|
# This header can be used as a data integrity check to verify that the
|
943
951
|
# data received is the same data that was originally sent. This header
|
944
|
-
# specifies the base64-encoded, 32-bit
|
945
|
-
# more information, see [Checking object integrity][1] in the
|
946
|
-
# User Guide*.
|
952
|
+
# specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
|
953
|
+
# For more information, see [Checking object integrity][1] in the
|
954
|
+
# *Amazon S3 User Guide*.
|
947
955
|
#
|
948
956
|
#
|
949
957
|
#
|
@@ -952,7 +960,7 @@ module Aws::S3
|
|
952
960
|
# @option params [String] :checksum_crc32c
|
953
961
|
# This header can be used as a data integrity check to verify that the
|
954
962
|
# data received is the same data that was originally sent. This header
|
955
|
-
# specifies the base64-encoded, 32-bit
|
963
|
+
# specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
|
956
964
|
# For more information, see [Checking object integrity][1] in the
|
957
965
|
# *Amazon S3 User Guide*.
|
958
966
|
#
|
@@ -1265,6 +1273,10 @@ module Aws::S3
|
|
1265
1273
|
# destination. The `s3express:SessionMode` condition key can't be
|
1266
1274
|
# set to `ReadOnly` on the copy destination bucket.
|
1267
1275
|
#
|
1276
|
+
# If the object is encrypted with SSE-KMS, you must also have the
|
1277
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
1278
|
+
# identity-based policies and KMS key policies for the KMS key.
|
1279
|
+
#
|
1268
1280
|
# For example policies, see [Example bucket policies for S3 Express
|
1269
1281
|
# One Zone][6] and [Amazon Web Services Identity and Access
|
1270
1282
|
# Management (IAM) identity-based policies for S3 Express One
|
@@ -1711,9 +1723,8 @@ module Aws::S3
|
|
1711
1723
|
#
|
1712
1724
|
# @option params [String] :server_side_encryption
|
1713
1725
|
# The server-side encryption algorithm used when storing this object in
|
1714
|
-
# Amazon S3
|
1715
|
-
#
|
1716
|
-
# and will receive a `400 Bad Request` response.
|
1726
|
+
# Amazon S3. Unrecognized or unsupported values won’t write a
|
1727
|
+
# destination object and will receive a `400 Bad Request` response.
|
1717
1728
|
#
|
1718
1729
|
# Amazon S3 automatically encrypts all new objects that are copied to an
|
1719
1730
|
# S3 bucket. When copying an object, if you don't specify encryption
|
@@ -1721,35 +1732,72 @@ module Aws::S3
|
|
1721
1732
|
# object is set to the default encryption configuration of the
|
1722
1733
|
# destination bucket. By default, all buckets have a base level of
|
1723
1734
|
# encryption configuration that uses server-side encryption with Amazon
|
1724
|
-
# S3 managed keys (SSE-S3). If the destination bucket has a
|
1725
|
-
# encryption configuration
|
1726
|
-
#
|
1727
|
-
# encryption with Amazon Web Services KMS keys (DSSE-KMS), or
|
1728
|
-
# server-side encryption with customer-provided encryption keys (SSE-C),
|
1729
|
-
# Amazon S3 uses the corresponding KMS key, or a customer-provided key
|
1730
|
-
# to encrypt the target object copy.
|
1731
|
-
#
|
1732
|
-
# When you perform a `CopyObject` operation, if you want to use a
|
1733
|
-
# different type of encryption setting for the target object, you can
|
1734
|
-
# specify appropriate encryption-related headers to encrypt the target
|
1735
|
-
# object with an Amazon S3 managed key, a KMS key, or a
|
1736
|
-
# customer-provided key. If the encryption setting in your request is
|
1737
|
-
# different from the default encryption configuration of the destination
|
1738
|
-
# bucket, the encryption setting in your request takes precedence.
|
1735
|
+
# S3 managed keys (SSE-S3). If the destination bucket has a different
|
1736
|
+
# default encryption configuration, Amazon S3 uses the corresponding
|
1737
|
+
# encryption key to encrypt the target object copy.
|
1739
1738
|
#
|
1740
1739
|
# With server-side encryption, Amazon S3 encrypts your data as it writes
|
1741
1740
|
# your data to disks in its data centers and decrypts the data when you
|
1742
1741
|
# access it. For more information about server-side encryption, see
|
1743
1742
|
# [Using Server-Side Encryption][1] in the *Amazon S3 User Guide*.
|
1744
1743
|
#
|
1745
|
-
# <
|
1746
|
-
#
|
1747
|
-
#
|
1748
|
-
#
|
1744
|
+
# <b>General purpose buckets </b>
|
1745
|
+
#
|
1746
|
+
# * For general purpose buckets, there are the following supported
|
1747
|
+
# options for server-side encryption: server-side encryption with Key
|
1748
|
+
# Management Service (KMS) keys (SSE-KMS), dual-layer server-side
|
1749
|
+
# encryption with Amazon Web Services KMS keys (DSSE-KMS), and
|
1750
|
+
# server-side encryption with customer-provided encryption keys
|
1751
|
+
# (SSE-C). Amazon S3 uses the corresponding KMS key, or a
|
1752
|
+
# customer-provided key to encrypt the target object copy.
|
1753
|
+
#
|
1754
|
+
# * When you perform a `CopyObject` operation, if you want to use a
|
1755
|
+
# different type of encryption setting for the target object, you can
|
1756
|
+
# specify appropriate encryption-related headers to encrypt the target
|
1757
|
+
# object with an Amazon S3 managed key, a KMS key, or a
|
1758
|
+
# customer-provided key. If the encryption setting in your request is
|
1759
|
+
# different from the default encryption configuration of the
|
1760
|
+
# destination bucket, the encryption setting in your request takes
|
1761
|
+
# precedence.
|
1762
|
+
#
|
1763
|
+
# <b>Directory buckets </b>
|
1764
|
+
#
|
1765
|
+
# * For directory buckets, there are only two supported options for
|
1766
|
+
# server-side encryption: server-side encryption with Amazon S3
|
1767
|
+
# managed keys (SSE-S3) (`AES256`) and server-side encryption with KMS
|
1768
|
+
# keys (SSE-KMS) (`aws:kms`). We recommend that the bucket's default
|
1769
|
+
# encryption uses the desired encryption configuration and you don't
|
1770
|
+
# override the bucket default encryption in your `CreateSession`
|
1771
|
+
# requests or `PUT` object requests. Then, new objects are
|
1772
|
+
# automatically encrypted with the desired encryption settings. For
|
1773
|
+
# more information, see [Protecting data with server-side
|
1774
|
+
# encryption][2] in the *Amazon S3 User Guide*. For more information
|
1775
|
+
# about the encryption overriding behaviors in directory buckets, see
|
1776
|
+
# [Specifying server-side encryption with KMS for new object
|
1777
|
+
# uploads][3].
|
1778
|
+
#
|
1779
|
+
# * To encrypt new object copies to a directory bucket with SSE-KMS, we
|
1780
|
+
# recommend you specify SSE-KMS as the directory bucket's default
|
1781
|
+
# encryption configuration with a KMS key (specifically, a [customer
|
1782
|
+
# managed key][4]). [Amazon Web Services managed key][5] (`aws/s3`)
|
1783
|
+
# isn't supported. Your SSE-KMS configuration can only support 1
|
1784
|
+
# [customer managed key][4] per directory bucket for the lifetime of
|
1785
|
+
# the bucket. After you specify a customer managed key for SSE-KMS,
|
1786
|
+
# you can't override the customer managed key for the bucket's
|
1787
|
+
# SSE-KMS configuration. Then, when you perform a `CopyObject`
|
1788
|
+
# operation and want to specify server-side encryption settings for
|
1789
|
+
# new object copies with SSE-KMS in the encryption-related request
|
1790
|
+
# headers, you must ensure the encryption key is the same customer
|
1791
|
+
# managed key that you specified for the directory bucket's default
|
1792
|
+
# encryption configuration.
|
1749
1793
|
#
|
1750
1794
|
#
|
1751
1795
|
#
|
1752
1796
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
|
1797
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
1798
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
1799
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
1800
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
1753
1801
|
#
|
1754
1802
|
# @option params [String] :storage_class
|
1755
1803
|
# If the `x-amz-storage-class` header is not used, the copied object
|
@@ -1846,33 +1894,51 @@ module Aws::S3
|
|
1846
1894
|
# </note>
|
1847
1895
|
#
|
1848
1896
|
# @option params [String] :ssekms_key_id
|
1849
|
-
# Specifies the KMS ID (Key ID, Key ARN, or Key Alias) to use for
|
1850
|
-
# encryption. All GET and PUT requests for an object protected by
|
1851
|
-
# will fail if they're not made via SSL or using SigV4. For
|
1852
|
-
# about configuring any of the officially supported Amazon
|
1853
|
-
# SDKs and Amazon Web Services CLI, see [Specifying the
|
1854
|
-
# Version in Request Authentication][1] in the *Amazon S3 User
|
1855
|
-
#
|
1856
|
-
# <note markdown="1"> This functionality is not supported when the destination bucket is a
|
1857
|
-
# directory bucket.
|
1897
|
+
# Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for
|
1898
|
+
# object encryption. All GET and PUT requests for an object protected by
|
1899
|
+
# KMS will fail if they're not made via SSL or using SigV4. For
|
1900
|
+
# information about configuring any of the officially supported Amazon
|
1901
|
+
# Web Services SDKs and Amazon Web Services CLI, see [Specifying the
|
1902
|
+
# Signature Version in Request Authentication][1] in the *Amazon S3 User
|
1903
|
+
# Guide*.
|
1858
1904
|
#
|
1859
|
-
#
|
1905
|
+
# **Directory buckets** - If you specify `x-amz-server-side-encryption`
|
1906
|
+
# with `aws:kms`, you must specify the `
|
1907
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header with the ID (Key
|
1908
|
+
# ID or Key ARN) of the KMS symmetric encryption customer managed key to
|
1909
|
+
# use. Otherwise, you get an HTTP `400 Bad Request` error. Only use the
|
1910
|
+
# key ID or key ARN. The key alias format of the KMS key isn't
|
1911
|
+
# supported. Your SSE-KMS configuration can only support 1 [customer
|
1912
|
+
# managed key][2] per directory bucket for the lifetime of the bucket.
|
1913
|
+
# [Amazon Web Services managed key][3] (`aws/s3`) isn't supported.
|
1860
1914
|
#
|
1861
1915
|
#
|
1862
1916
|
#
|
1863
1917
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
|
1918
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
1919
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
1864
1920
|
#
|
1865
1921
|
# @option params [String] :ssekms_encryption_context
|
1866
|
-
# Specifies the Amazon Web Services KMS Encryption Context
|
1867
|
-
#
|
1868
|
-
#
|
1869
|
-
#
|
1870
|
-
#
|
1922
|
+
# Specifies the Amazon Web Services KMS Encryption Context as an
|
1923
|
+
# additional encryption context to use for the destination object
|
1924
|
+
# encryption. The value of this header is a base64-encoded UTF-8 string
|
1925
|
+
# holding JSON with the encryption context key-value pairs.
|
1926
|
+
#
|
1927
|
+
# **General purpose buckets** - This value must be explicitly added to
|
1928
|
+
# specify encryption context for `CopyObject` requests if you want an
|
1929
|
+
# additional encryption context for your destination object. The
|
1930
|
+
# additional encryption context of the source object won't be copied to
|
1931
|
+
# the destination object. For more information, see [Encryption
|
1932
|
+
# context][1] in the *Amazon S3 User Guide*.
|
1933
|
+
#
|
1934
|
+
# **Directory buckets** - You can optionally provide an explicit
|
1935
|
+
# encryption context value. The value must match the default encryption
|
1936
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
1937
|
+
# encryption context value is not supported.
|
1871
1938
|
#
|
1872
|
-
# <note markdown="1"> This functionality is not supported when the destination bucket is a
|
1873
|
-
# directory bucket.
|
1874
1939
|
#
|
1875
|
-
#
|
1940
|
+
#
|
1941
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context
|
1876
1942
|
#
|
1877
1943
|
# @option params [Boolean] :bucket_key_enabled
|
1878
1944
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
@@ -1887,14 +1953,19 @@ module Aws::S3
|
|
1887
1953
|
# For more information, see [Amazon S3 Bucket Keys][1] in the *Amazon S3
|
1888
1954
|
# User Guide*.
|
1889
1955
|
#
|
1890
|
-
# <note markdown="1">
|
1891
|
-
#
|
1956
|
+
# <note markdown="1"> **Directory buckets** - S3 Bucket Keys aren't supported, when you
|
1957
|
+
# copy SSE-KMS encrypted objects from general purpose buckets to
|
1958
|
+
# directory buckets, from directory buckets to general purpose buckets,
|
1959
|
+
# or between directory buckets, through [CopyObject][2]. In this case,
|
1960
|
+
# Amazon S3 makes a call to KMS every time a copy request is made for a
|
1961
|
+
# KMS-encrypted object.
|
1892
1962
|
#
|
1893
1963
|
# </note>
|
1894
1964
|
#
|
1895
1965
|
#
|
1896
1966
|
#
|
1897
1967
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
|
1968
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
1898
1969
|
#
|
1899
1970
|
# @option params [String] :copy_source_sse_customer_algorithm
|
1900
1971
|
# Specifies the algorithm to use when decrypting the source object (for
|
@@ -2636,9 +2707,53 @@ module Aws::S3
|
|
2636
2707
|
# using server-side encryption with customer-provided encryption
|
2637
2708
|
# keys (SSE-C)][11] in the *Amazon S3 User Guide*.
|
2638
2709
|
#
|
2639
|
-
# * **Directory buckets** -For directory buckets, only
|
2640
|
-
#
|
2641
|
-
#
|
2710
|
+
# * **Directory buckets** - For directory buckets, there are only two
|
2711
|
+
# supported options for server-side encryption: server-side
|
2712
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
2713
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). We
|
2714
|
+
# recommend that the bucket's default encryption uses the desired
|
2715
|
+
# encryption configuration and you don't override the bucket
|
2716
|
+
# default encryption in your `CreateSession` requests or `PUT`
|
2717
|
+
# object requests. Then, new objects are automatically encrypted
|
2718
|
+
# with the desired encryption settings. For more information, see
|
2719
|
+
# [Protecting data with server-side encryption][12] in the *Amazon
|
2720
|
+
# S3 User Guide*. For more information about the encryption
|
2721
|
+
# overriding behaviors in directory buckets, see [Specifying
|
2722
|
+
# server-side encryption with KMS for new object uploads][13].
|
2723
|
+
#
|
2724
|
+
# In the Zonal endpoint API calls (except [CopyObject][14] and
|
2725
|
+
# [UploadPartCopy][9]) using the REST API, the encryption request
|
2726
|
+
# headers must match the encryption settings that are specified in
|
2727
|
+
# the `CreateSession` request. You can't override the values of the
|
2728
|
+
# encryption settings (`x-amz-server-side-encryption`,
|
2729
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`,
|
2730
|
+
# `x-amz-server-side-encryption-context`, and
|
2731
|
+
# `x-amz-server-side-encryption-bucket-key-enabled`) that are
|
2732
|
+
# specified in the `CreateSession` request. You don't need to
|
2733
|
+
# explicitly specify these encryption settings values in Zonal
|
2734
|
+
# endpoint API calls, and Amazon S3 will use the encryption settings
|
2735
|
+
# values from the `CreateSession` request to protect new objects in
|
2736
|
+
# the directory bucket.
|
2737
|
+
#
|
2738
|
+
# <note markdown="1"> When you use the CLI or the Amazon Web Services SDKs, for
|
2739
|
+
# `CreateSession`, the session token refreshes automatically to
|
2740
|
+
# avoid service interruptions when a session expires. The CLI or the
|
2741
|
+
# Amazon Web Services SDKs use the bucket's default encryption
|
2742
|
+
# configuration for the `CreateSession` request. It's not supported
|
2743
|
+
# to override the encryption settings values in the `CreateSession`
|
2744
|
+
# request. So in the Zonal endpoint API calls (except
|
2745
|
+
# [CopyObject][14] and [UploadPartCopy][9]), the encryption request
|
2746
|
+
# headers must match the default encryption configuration of the
|
2747
|
+
# directory bucket.
|
2748
|
+
#
|
2749
|
+
# </note>
|
2750
|
+
#
|
2751
|
+
# <note markdown="1"> For directory buckets, when you perform a `CreateMultipartUpload`
|
2752
|
+
# operation and an `UploadPartCopy` operation, the request headers
|
2753
|
+
# you provide in the `CreateMultipartUpload` request must match the
|
2754
|
+
# default encryption configuration of the destination bucket.
|
2755
|
+
#
|
2756
|
+
# </note>
|
2642
2757
|
#
|
2643
2758
|
# HTTP Host header syntax
|
2644
2759
|
#
|
@@ -2649,13 +2764,13 @@ module Aws::S3
|
|
2649
2764
|
#
|
2650
2765
|
# * [UploadPart][1]
|
2651
2766
|
#
|
2652
|
-
# * [CompleteMultipartUpload][
|
2767
|
+
# * [CompleteMultipartUpload][15]
|
2653
2768
|
#
|
2654
|
-
# * [AbortMultipartUpload][
|
2769
|
+
# * [AbortMultipartUpload][16]
|
2655
2770
|
#
|
2656
|
-
# * [ListParts][
|
2771
|
+
# * [ListParts][17]
|
2657
2772
|
#
|
2658
|
-
# * [ListMultipartUploads][
|
2773
|
+
# * [ListMultipartUploads][18]
|
2659
2774
|
#
|
2660
2775
|
#
|
2661
2776
|
#
|
@@ -2670,10 +2785,13 @@ module Aws::S3
|
|
2670
2785
|
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
2671
2786
|
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
|
2672
2787
|
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
|
2673
|
-
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2674
|
-
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2675
|
-
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
2676
|
-
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
2788
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
2789
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
2790
|
+
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
2791
|
+
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
|
2792
|
+
# [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
|
2793
|
+
# [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
|
2794
|
+
# [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
|
2677
2795
|
#
|
2678
2796
|
# @option params [String] :acl
|
2679
2797
|
# The canned ACL to apply to the object. Amazon S3 supports a set of
|
@@ -3036,10 +3154,52 @@ module Aws::S3
|
|
3036
3154
|
# The server-side encryption algorithm used when you store this object
|
3037
3155
|
# in Amazon S3 (for example, `AES256`, `aws:kms`).
|
3038
3156
|
#
|
3039
|
-
# <
|
3040
|
-
#
|
3157
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
3158
|
+
# two supported options for server-side encryption: server-side
|
3159
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
3160
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). We
|
3161
|
+
# recommend that the bucket's default encryption uses the desired
|
3162
|
+
# encryption configuration and you don't override the bucket default
|
3163
|
+
# encryption in your `CreateSession` requests or `PUT` object
|
3164
|
+
# requests. Then, new objects are automatically encrypted with the
|
3165
|
+
# desired encryption settings. For more information, see [Protecting
|
3166
|
+
# data with server-side encryption][1] in the *Amazon S3 User Guide*.
|
3167
|
+
# For more information about the encryption overriding behaviors in
|
3168
|
+
# directory buckets, see [Specifying server-side encryption with KMS
|
3169
|
+
# for new object uploads][2].
|
3170
|
+
#
|
3171
|
+
# In the Zonal endpoint API calls (except [CopyObject][3] and
|
3172
|
+
# [UploadPartCopy][4]) using the REST API, the encryption request
|
3173
|
+
# headers must match the encryption settings that are specified in the
|
3174
|
+
# `CreateSession` request. You can't override the values of the
|
3175
|
+
# encryption settings (`x-amz-server-side-encryption`,
|
3176
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`,
|
3177
|
+
# `x-amz-server-side-encryption-context`, and
|
3178
|
+
# `x-amz-server-side-encryption-bucket-key-enabled`) that are
|
3179
|
+
# specified in the `CreateSession` request. You don't need to
|
3180
|
+
# explicitly specify these encryption settings values in Zonal
|
3181
|
+
# endpoint API calls, and Amazon S3 will use the encryption settings
|
3182
|
+
# values from the `CreateSession` request to protect new objects in
|
3183
|
+
# the directory bucket.
|
3184
|
+
#
|
3185
|
+
# <note markdown="1"> When you use the CLI or the Amazon Web Services SDKs, for
|
3186
|
+
# `CreateSession`, the session token refreshes automatically to avoid
|
3187
|
+
# service interruptions when a session expires. The CLI or the Amazon
|
3188
|
+
# Web Services SDKs use the bucket's default encryption configuration
|
3189
|
+
# for the `CreateSession` request. It's not supported to override the
|
3190
|
+
# encryption settings values in the `CreateSession` request. So in the
|
3191
|
+
# Zonal endpoint API calls (except [CopyObject][3] and
|
3192
|
+
# [UploadPartCopy][4]), the encryption request headers must match the
|
3193
|
+
# default encryption configuration of the directory bucket.
|
3041
3194
|
#
|
3042
|
-
#
|
3195
|
+
# </note>
|
3196
|
+
#
|
3197
|
+
#
|
3198
|
+
#
|
3199
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
3200
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
3201
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
3202
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
3043
3203
|
#
|
3044
3204
|
# @option params [String] :storage_class
|
3045
3205
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
@@ -3098,34 +3258,71 @@ module Aws::S3
|
|
3098
3258
|
# </note>
|
3099
3259
|
#
|
3100
3260
|
# @option params [String] :ssekms_key_id
|
3101
|
-
# Specifies the ID (Key ID, Key ARN, or Key Alias)
|
3102
|
-
# encryption
|
3103
|
-
#
|
3104
|
-
#
|
3105
|
-
#
|
3106
|
-
#
|
3261
|
+
# Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for
|
3262
|
+
# object encryption. If the KMS key doesn't exist in the same account
|
3263
|
+
# that's issuing the command, you must use the full Key ARN not the Key
|
3264
|
+
# ID.
|
3265
|
+
#
|
3266
|
+
# **General purpose buckets** - If you specify
|
3267
|
+
# `x-amz-server-side-encryption` with `aws:kms` or `aws:kms:dsse`, this
|
3268
|
+
# header specifies the ID (Key ID, Key ARN, or Key Alias) of the KMS key
|
3269
|
+
# to use. If you specify `x-amz-server-side-encryption:aws:kms` or
|
3270
|
+
# `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide
|
3271
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
3272
|
+
# Amazon Web Services managed key (`aws/s3`) to protect the data.
|
3273
|
+
#
|
3274
|
+
# **Directory buckets** - If you specify `x-amz-server-side-encryption`
|
3275
|
+
# with `aws:kms`, you must specify the `
|
3276
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header with the ID (Key
|
3277
|
+
# ID or Key ARN) of the KMS symmetric encryption customer managed key to
|
3278
|
+
# use. Otherwise, you get an HTTP `400 Bad Request` error. Only use the
|
3279
|
+
# key ID or key ARN. The key alias format of the KMS key isn't
|
3280
|
+
# supported. Your SSE-KMS configuration can only support 1 [customer
|
3281
|
+
# managed key][1] per directory bucket for the lifetime of the bucket.
|
3282
|
+
# [Amazon Web Services managed key][2] (`aws/s3`) isn't supported.
|
3283
|
+
#
|
3284
|
+
#
|
3285
|
+
#
|
3286
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
3287
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
3107
3288
|
#
|
3108
3289
|
# @option params [String] :ssekms_encryption_context
|
3109
3290
|
# Specifies the Amazon Web Services KMS Encryption Context to use for
|
3110
|
-
# object encryption. The value of this header is a
|
3111
|
-
#
|
3291
|
+
# object encryption. The value of this header is a Base64-encoded string
|
3292
|
+
# of a UTF-8 encoded JSON, which contains the encryption context as
|
3293
|
+
# key-value pairs.
|
3112
3294
|
#
|
3113
|
-
#
|
3114
|
-
#
|
3115
|
-
#
|
3295
|
+
# **Directory buckets** - You can optionally provide an explicit
|
3296
|
+
# encryption context value. The value must match the default encryption
|
3297
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
3298
|
+
# encryption context value is not supported.
|
3116
3299
|
#
|
3117
3300
|
# @option params [Boolean] :bucket_key_enabled
|
3118
3301
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
3119
3302
|
# encryption with server-side encryption using Key Management Service
|
3120
|
-
# (KMS) keys (SSE-KMS).
|
3121
|
-
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
3303
|
+
# (KMS) keys (SSE-KMS).
|
3122
3304
|
#
|
3123
|
-
#
|
3305
|
+
# **General purpose buckets** - Setting this header to `true` causes
|
3306
|
+
# Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.
|
3307
|
+
# Also, specifying this header with a PUT action doesn't affect
|
3124
3308
|
# bucket-level settings for S3 Bucket Key.
|
3125
3309
|
#
|
3126
|
-
#
|
3310
|
+
# **Directory buckets** - S3 Bucket Keys are always enabled for `GET`
|
3311
|
+
# and `PUT` operations in a directory bucket and can’t be disabled. S3
|
3312
|
+
# Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects
|
3313
|
+
# from general purpose buckets to directory buckets, from directory
|
3314
|
+
# buckets to general purpose buckets, or between directory buckets,
|
3315
|
+
# through [CopyObject][1], [UploadPartCopy][2], [the Copy operation in
|
3316
|
+
# Batch Operations][3], or [the import jobs][4]. In this case, Amazon S3
|
3317
|
+
# makes a call to KMS every time a copy request is made for a
|
3318
|
+
# KMS-encrypted object.
|
3127
3319
|
#
|
3128
|
-
#
|
3320
|
+
#
|
3321
|
+
#
|
3322
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
3323
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
3324
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
|
3325
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
|
3129
3326
|
#
|
3130
3327
|
# @option params [String] :request_payer
|
3131
3328
|
# Confirms that the requester knows that they will be charged for the
|
@@ -3286,9 +3483,10 @@ module Aws::S3
|
|
3286
3483
|
|
3287
3484
|
# Creates a session that establishes temporary security credentials to
|
3288
3485
|
# support fast authentication and authorization for the Zonal endpoint
|
3289
|
-
#
|
3290
|
-
#
|
3291
|
-
# [S3 Express One Zone APIs][1] in the *Amazon S3
|
3486
|
+
# API operations on directory buckets. For more information about Zonal
|
3487
|
+
# endpoint API operations that include the Availability Zone in the
|
3488
|
+
# request endpoint, see [S3 Express One Zone APIs][1] in the *Amazon S3
|
3489
|
+
# User Guide*.
|
3292
3490
|
#
|
3293
3491
|
# To make Zonal endpoint API requests on a directory bucket, use the
|
3294
3492
|
# `CreateSession` API operation. Specifically, you grant
|
@@ -3297,13 +3495,13 @@ module Aws::S3
|
|
3297
3495
|
# the `CreateSession` API request on the bucket, which returns temporary
|
3298
3496
|
# security credentials that include the access key ID, secret access
|
3299
3497
|
# key, session token, and expiration. These credentials have associated
|
3300
|
-
# permissions to access the Zonal endpoint
|
3301
|
-
# created, you don’t need to use other policies to grant
|
3302
|
-
# each Zonal endpoint API individually. Instead, in your
|
3303
|
-
# API requests, you sign your requests by applying the
|
3304
|
-
# security credentials of the session to the request headers
|
3305
|
-
# following the SigV4 protocol for authentication. You also apply
|
3306
|
-
# session token to the `x-amz-s3session-token` request header for
|
3498
|
+
# permissions to access the Zonal endpoint API operations. After the
|
3499
|
+
# session is created, you don’t need to use other policies to grant
|
3500
|
+
# permissions to each Zonal endpoint API individually. Instead, in your
|
3501
|
+
# Zonal endpoint API requests, you sign your requests by applying the
|
3502
|
+
# temporary security credentials of the session to the request headers
|
3503
|
+
# and following the SigV4 protocol for authentication. You also apply
|
3504
|
+
# the session token to the `x-amz-s3session-token` request header for
|
3307
3505
|
# authorization. Temporary security credentials are scoped to the bucket
|
3308
3506
|
# and expire after 5 minutes. After the expiration time, any calls that
|
3309
3507
|
# you make with those credentials will fail. You must use IAM
|
@@ -3326,16 +3524,16 @@ module Aws::S3
|
|
3326
3524
|
# [Regional and Zonal endpoints][3] in the *Amazon S3 User Guide*.
|
3327
3525
|
#
|
3328
3526
|
# * <b> <code>CopyObject</code> API operation</b> - Unlike other Zonal
|
3329
|
-
# endpoint
|
3330
|
-
# temporary security credentials returned from the `CreateSession`
|
3331
|
-
# operation for authentication and authorization. For information
|
3527
|
+
# endpoint API operations, the `CopyObject` API operation doesn't use
|
3528
|
+
# the temporary security credentials returned from the `CreateSession`
|
3529
|
+
# API operation for authentication and authorization. For information
|
3332
3530
|
# about authentication and authorization of the `CopyObject` API
|
3333
3531
|
# operation on directory buckets, see [CopyObject][4].
|
3334
3532
|
#
|
3335
3533
|
# * <b> <code>HeadBucket</code> API operation</b> - Unlike other Zonal
|
3336
|
-
# endpoint
|
3337
|
-
# temporary security credentials returned from the `CreateSession`
|
3338
|
-
# operation for authentication and authorization. For information
|
3534
|
+
# endpoint API operations, the `HeadBucket` API operation doesn't use
|
3535
|
+
# the temporary security credentials returned from the `CreateSession`
|
3536
|
+
# API operation for authentication and authorization. For information
|
3339
3537
|
# about authentication and authorization of the `HeadBucket` API
|
3340
3538
|
# operation on directory buckets, see [HeadBucket][5].
|
3341
3539
|
#
|
@@ -3354,9 +3552,71 @@ module Aws::S3
|
|
3354
3552
|
# Identity and Access Management (IAM) identity-based policies for S3
|
3355
3553
|
# Express One Zone][8] in the *Amazon S3 User Guide*.
|
3356
3554
|
#
|
3357
|
-
# To grant cross-account access to Zonal endpoint
|
3358
|
-
# policy should also grant both accounts the
|
3359
|
-
# permission.
|
3555
|
+
# To grant cross-account access to Zonal endpoint API operations, the
|
3556
|
+
# bucket policy should also grant both accounts the
|
3557
|
+
# `s3express:CreateSession` permission.
|
3558
|
+
#
|
3559
|
+
# If you want to encrypt objects with SSE-KMS, you must also have the
|
3560
|
+
# `kms:GenerateDataKey` and the `kms:Decrypt` permissions in IAM
|
3561
|
+
# identity-based policies and KMS key policies for the target KMS key.
|
3562
|
+
#
|
3563
|
+
# Encryption
|
3564
|
+
#
|
3565
|
+
# : For directory buckets, there are only two supported options for
|
3566
|
+
# server-side encryption: server-side encryption with Amazon S3
|
3567
|
+
# managed keys (SSE-S3) (`AES256`) and server-side encryption with KMS
|
3568
|
+
# keys (SSE-KMS) (`aws:kms`). We recommend that the bucket's default
|
3569
|
+
# encryption uses the desired encryption configuration and you don't
|
3570
|
+
# override the bucket default encryption in your `CreateSession`
|
3571
|
+
# requests or `PUT` object requests. Then, new objects are
|
3572
|
+
# automatically encrypted with the desired encryption settings. For
|
3573
|
+
# more information, see [Protecting data with server-side
|
3574
|
+
# encryption][9] in the *Amazon S3 User Guide*. For more information
|
3575
|
+
# about the encryption overriding behaviors in directory buckets, see
|
3576
|
+
# [Specifying server-side encryption with KMS for new object
|
3577
|
+
# uploads][10].
|
3578
|
+
#
|
3579
|
+
# For [Zonal endpoint (object-level) API operations][11] except
|
3580
|
+
# [CopyObject][4] and [UploadPartCopy][12], you authenticate and
|
3581
|
+
# authorize requests through [CreateSession][13] for low latency. To
|
3582
|
+
# encrypt new objects in a directory bucket with SSE-KMS, you must
|
3583
|
+
# specify SSE-KMS as the directory bucket's default encryption
|
3584
|
+
# configuration with a KMS key (specifically, a [customer managed
|
3585
|
+
# key][14]). Then, when a session is created for Zonal endpoint API
|
3586
|
+
# operations, new objects are automatically encrypted and decrypted
|
3587
|
+
# with SSE-KMS and S3 Bucket Keys during the session.
|
3588
|
+
#
|
3589
|
+
# <note markdown="1"> Only 1 [customer managed key][14] is supported per directory bucket
|
3590
|
+
# for the lifetime of the bucket. [Amazon Web Services managed
|
3591
|
+
# key][15] (`aws/s3`) isn't supported. After you specify SSE-KMS as
|
3592
|
+
# your bucket's default encryption configuration with a customer
|
3593
|
+
# managed key, you can't change the customer managed key for the
|
3594
|
+
# bucket's SSE-KMS configuration.
|
3595
|
+
#
|
3596
|
+
# </note>
|
3597
|
+
#
|
3598
|
+
# In the Zonal endpoint API calls (except [CopyObject][4] and
|
3599
|
+
# [UploadPartCopy][12]) using the REST API, you can't override the
|
3600
|
+
# values of the encryption settings (`x-amz-server-side-encryption`,
|
3601
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`,
|
3602
|
+
# `x-amz-server-side-encryption-context`, and
|
3603
|
+
# `x-amz-server-side-encryption-bucket-key-enabled`) from the
|
3604
|
+
# `CreateSession` request. You don't need to explicitly specify these
|
3605
|
+
# encryption settings values in Zonal endpoint API calls, and Amazon
|
3606
|
+
# S3 will use the encryption settings values from the `CreateSession`
|
3607
|
+
# request to protect new objects in the directory bucket.
|
3608
|
+
#
|
3609
|
+
# <note markdown="1"> When you use the CLI or the Amazon Web Services SDKs, for
|
3610
|
+
# `CreateSession`, the session token refreshes automatically to avoid
|
3611
|
+
# service interruptions when a session expires. The CLI or the Amazon
|
3612
|
+
# Web Services SDKs use the bucket's default encryption configuration
|
3613
|
+
# for the `CreateSession` request. It's not supported to override the
|
3614
|
+
# encryption settings values in the `CreateSession` request. Also, in
|
3615
|
+
# the Zonal endpoint API calls (except [CopyObject][4] and
|
3616
|
+
# [UploadPartCopy][12]), it's not supported to override the values of
|
3617
|
+
# the encryption settings from the `CreateSession` request.
|
3618
|
+
#
|
3619
|
+
# </note>
|
3360
3620
|
#
|
3361
3621
|
# HTTP Host header syntax
|
3362
3622
|
#
|
@@ -3373,21 +3633,110 @@ module Aws::S3
|
|
3373
3633
|
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html#API_CreateSession_RequestParameters
|
3374
3634
|
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
|
3375
3635
|
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
|
3636
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
3637
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
3638
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-differences.html#s3-express-differences-api-operations
|
3639
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
3640
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
3641
|
+
# [14]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
3642
|
+
# [15]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
3376
3643
|
#
|
3377
3644
|
# @option params [String] :session_mode
|
3378
3645
|
# Specifies the mode of the session that will be created, either
|
3379
3646
|
# `ReadWrite` or `ReadOnly`. By default, a `ReadWrite` session is
|
3380
3647
|
# created. A `ReadWrite` session is capable of executing all the Zonal
|
3381
|
-
# endpoint
|
3382
|
-
# constrained to execute the following Zonal endpoint
|
3383
|
-
# `HeadObject`, `ListObjectsV2`, `GetObjectAttributes`,
|
3384
|
-
# `ListMultipartUploads`.
|
3648
|
+
# endpoint API operations on a directory bucket. A `ReadOnly` session is
|
3649
|
+
# constrained to execute the following Zonal endpoint API operations:
|
3650
|
+
# `GetObject`, `HeadObject`, `ListObjectsV2`, `GetObjectAttributes`,
|
3651
|
+
# `ListParts`, and `ListMultipartUploads`.
|
3385
3652
|
#
|
3386
3653
|
# @option params [required, String] :bucket
|
3387
3654
|
# The name of the bucket that you create a session for.
|
3388
3655
|
#
|
3656
|
+
# @option params [String] :server_side_encryption
|
3657
|
+
# The server-side encryption algorithm to use when you store objects in
|
3658
|
+
# the directory bucket.
|
3659
|
+
#
|
3660
|
+
# For directory buckets, there are only two supported options for
|
3661
|
+
# server-side encryption: server-side encryption with Amazon S3 managed
|
3662
|
+
# keys (SSE-S3) (`AES256`) and server-side encryption with KMS keys
|
3663
|
+
# (SSE-KMS) (`aws:kms`). By default, Amazon S3 encrypts data with
|
3664
|
+
# SSE-S3. For more information, see [Protecting data with server-side
|
3665
|
+
# encryption][1] in the *Amazon S3 User Guide*.
|
3666
|
+
#
|
3667
|
+
#
|
3668
|
+
#
|
3669
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
3670
|
+
#
|
3671
|
+
# @option params [String] :ssekms_key_id
|
3672
|
+
# If you specify `x-amz-server-side-encryption` with `aws:kms`, you must
|
3673
|
+
# specify the ` x-amz-server-side-encryption-aws-kms-key-id` header with
|
3674
|
+
# the ID (Key ID or Key ARN) of the KMS symmetric encryption customer
|
3675
|
+
# managed key to use. Otherwise, you get an HTTP `400 Bad Request`
|
3676
|
+
# error. Only use the key ID or key ARN. The key alias format of the KMS
|
3677
|
+
# key isn't supported. Also, if the KMS key doesn't exist in the same
|
3678
|
+
# account that't issuing the command, you must use the full Key ARN not
|
3679
|
+
# the Key ID.
|
3680
|
+
#
|
3681
|
+
# Your SSE-KMS configuration can only support 1 [customer managed
|
3682
|
+
# key][1] per directory bucket for the lifetime of the bucket. [Amazon
|
3683
|
+
# Web Services managed key][2] (`aws/s3`) isn't supported.
|
3684
|
+
#
|
3685
|
+
#
|
3686
|
+
#
|
3687
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
3688
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
3689
|
+
#
|
3690
|
+
# @option params [String] :ssekms_encryption_context
|
3691
|
+
# Specifies the Amazon Web Services KMS Encryption Context as an
|
3692
|
+
# additional encryption context to use for object encryption. The value
|
3693
|
+
# of this header is a Base64-encoded string of a UTF-8 encoded JSON,
|
3694
|
+
# which contains the encryption context as key-value pairs. This value
|
3695
|
+
# is stored as object metadata and automatically gets passed on to
|
3696
|
+
# Amazon Web Services KMS for future `GetObject` operations on this
|
3697
|
+
# object.
|
3698
|
+
#
|
3699
|
+
# **General purpose buckets** - This value must be explicitly added
|
3700
|
+
# during `CopyObject` operations if you want an additional encryption
|
3701
|
+
# context for your object. For more information, see [Encryption
|
3702
|
+
# context][1] in the *Amazon S3 User Guide*.
|
3703
|
+
#
|
3704
|
+
# **Directory buckets** - You can optionally provide an explicit
|
3705
|
+
# encryption context value. The value must match the default encryption
|
3706
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
3707
|
+
# encryption context value is not supported.
|
3708
|
+
#
|
3709
|
+
#
|
3710
|
+
#
|
3711
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context
|
3712
|
+
#
|
3713
|
+
# @option params [Boolean] :bucket_key_enabled
|
3714
|
+
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
3715
|
+
# encryption with server-side encryption using KMS keys (SSE-KMS).
|
3716
|
+
#
|
3717
|
+
# S3 Bucket Keys are always enabled for `GET` and `PUT` operations in a
|
3718
|
+
# directory bucket and can’t be disabled. S3 Bucket Keys aren't
|
3719
|
+
# supported, when you copy SSE-KMS encrypted objects from general
|
3720
|
+
# purpose buckets to directory buckets, from directory buckets to
|
3721
|
+
# general purpose buckets, or between directory buckets, through
|
3722
|
+
# [CopyObject][1], [UploadPartCopy][2], [the Copy operation in Batch
|
3723
|
+
# Operations][3], or [the import jobs][4]. In this case, Amazon S3 makes
|
3724
|
+
# a call to KMS every time a copy request is made for a KMS-encrypted
|
3725
|
+
# object.
|
3726
|
+
#
|
3727
|
+
#
|
3728
|
+
#
|
3729
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
3730
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
3731
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
|
3732
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
|
3733
|
+
#
|
3389
3734
|
# @return [Types::CreateSessionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
3390
3735
|
#
|
3736
|
+
# * {Types::CreateSessionOutput#server_side_encryption #server_side_encryption} => String
|
3737
|
+
# * {Types::CreateSessionOutput#ssekms_key_id #ssekms_key_id} => String
|
3738
|
+
# * {Types::CreateSessionOutput#ssekms_encryption_context #ssekms_encryption_context} => String
|
3739
|
+
# * {Types::CreateSessionOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
|
3391
3740
|
# * {Types::CreateSessionOutput#credentials #credentials} => Types::SessionCredentials
|
3392
3741
|
#
|
3393
3742
|
# @example Request syntax with placeholder values
|
@@ -3395,10 +3744,18 @@ module Aws::S3
|
|
3395
3744
|
# resp = client.create_session({
|
3396
3745
|
# session_mode: "ReadOnly", # accepts ReadOnly, ReadWrite
|
3397
3746
|
# bucket: "BucketName", # required
|
3747
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
3748
|
+
# ssekms_key_id: "SSEKMSKeyId",
|
3749
|
+
# ssekms_encryption_context: "SSEKMSEncryptionContext",
|
3750
|
+
# bucket_key_enabled: false,
|
3398
3751
|
# })
|
3399
3752
|
#
|
3400
3753
|
# @example Response structure
|
3401
3754
|
#
|
3755
|
+
# resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
|
3756
|
+
# resp.ssekms_key_id #=> String
|
3757
|
+
# resp.ssekms_encryption_context #=> String
|
3758
|
+
# resp.bucket_key_enabled #=> Boolean
|
3402
3759
|
# resp.credentials.access_key_id #=> String
|
3403
3760
|
# resp.credentials.secret_access_key #=> String
|
3404
3761
|
# resp.credentials.session_token #=> String
|
@@ -3644,47 +4001,92 @@ module Aws::S3
|
|
3644
4001
|
req.send_request(options)
|
3645
4002
|
end
|
3646
4003
|
|
3647
|
-
#
|
4004
|
+
# This implementation of the DELETE action resets the default encryption
|
4005
|
+
# for the bucket as server-side encryption with Amazon S3 managed keys
|
4006
|
+
# (SSE-S3).
|
4007
|
+
#
|
4008
|
+
# <note markdown="1"> * **General purpose buckets** - For information about the bucket
|
4009
|
+
# default encryption feature, see [Amazon S3 Bucket Default
|
4010
|
+
# Encryption][1] in the *Amazon S3 User Guide*.
|
4011
|
+
#
|
4012
|
+
# * **Directory buckets** - For directory buckets, there are only two
|
4013
|
+
# supported options for server-side encryption: SSE-S3 and SSE-KMS.
|
4014
|
+
# For information about the default encryption configuration in
|
4015
|
+
# directory buckets, see [Setting default server-side encryption
|
4016
|
+
# behavior for directory buckets][2].
|
3648
4017
|
#
|
3649
4018
|
# </note>
|
3650
4019
|
#
|
3651
|
-
#
|
3652
|
-
#
|
3653
|
-
#
|
3654
|
-
#
|
3655
|
-
#
|
4020
|
+
# Permissions
|
4021
|
+
# : * **General purpose bucket permissions** - The
|
4022
|
+
# `s3:PutEncryptionConfiguration` permission is required in a
|
4023
|
+
# policy. The bucket owner has this permission by default. The
|
4024
|
+
# bucket owner can grant this permission to others. For more
|
4025
|
+
# information about permissions, see [Permissions Related to Bucket
|
4026
|
+
# Operations][3] and [Managing Access Permissions to Your Amazon S3
|
4027
|
+
# Resources][4].
|
3656
4028
|
#
|
3657
|
-
#
|
3658
|
-
#
|
3659
|
-
# permission
|
3660
|
-
#
|
3661
|
-
#
|
3662
|
-
#
|
3663
|
-
#
|
4029
|
+
# * **Directory bucket permissions** - To grant access to this API
|
4030
|
+
# operation, you must have the
|
4031
|
+
# `s3express:PutEncryptionConfiguration` permission in an IAM
|
4032
|
+
# identity-based policy instead of a bucket policy. Cross-account
|
4033
|
+
# access to this API operation isn't supported. This operation can
|
4034
|
+
# only be performed by the Amazon Web Services account that owns the
|
4035
|
+
# resource. For more information about directory bucket policies and
|
4036
|
+
# permissions, see [Amazon Web Services Identity and Access
|
4037
|
+
# Management (IAM) for S3 Express One Zone][5] in the *Amazon S3
|
4038
|
+
# User Guide*.
|
4039
|
+
#
|
4040
|
+
# HTTP Host header syntax
|
4041
|
+
#
|
4042
|
+
# : <b>Directory buckets </b> - The HTTP Host header syntax is
|
4043
|
+
# `s3express-control.region.amazonaws.com`.
|
3664
4044
|
#
|
3665
4045
|
# The following operations are related to `DeleteBucketEncryption`:
|
3666
4046
|
#
|
3667
|
-
# * [PutBucketEncryption][
|
4047
|
+
# * [PutBucketEncryption][6]
|
3668
4048
|
#
|
3669
|
-
# * [GetBucketEncryption][
|
4049
|
+
# * [GetBucketEncryption][7]
|
3670
4050
|
#
|
3671
4051
|
#
|
3672
4052
|
#
|
3673
4053
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
|
3674
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
3675
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-
|
3676
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/
|
3677
|
-
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/
|
4054
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html
|
4055
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
|
4056
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
|
4057
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
|
4058
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html
|
4059
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
|
3678
4060
|
#
|
3679
4061
|
# @option params [required, String] :bucket
|
3680
4062
|
# The name of the bucket containing the server-side encryption
|
3681
4063
|
# configuration to delete.
|
3682
4064
|
#
|
4065
|
+
# <b>Directory buckets </b> - When you use this operation with a
|
4066
|
+
# directory bucket, you must use path-style requests in the format
|
4067
|
+
# `https://s3express-control.region_code.amazonaws.com/bucket-name `.
|
4068
|
+
# Virtual-hosted-style requests aren't supported. Directory bucket
|
4069
|
+
# names must be unique in the chosen Availability Zone. Bucket names
|
4070
|
+
# must also follow the format ` bucket_base_name--az_id--x-s3` (for
|
4071
|
+
# example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
|
4072
|
+
# bucket naming restrictions, see [Directory bucket naming rules][1] in
|
4073
|
+
# the *Amazon S3 User Guide*
|
4074
|
+
#
|
4075
|
+
#
|
4076
|
+
#
|
4077
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
|
4078
|
+
#
|
3683
4079
|
# @option params [String] :expected_bucket_owner
|
3684
4080
|
# The account ID of the expected bucket owner. If the account ID that
|
3685
4081
|
# you provide does not match the actual owner of the bucket, the request
|
3686
4082
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
3687
4083
|
#
|
4084
|
+
# <note markdown="1"> For directory buckets, this header is not supported in this API
|
4085
|
+
# operation. If you specify this header, the request fails with the HTTP
|
4086
|
+
# status code `501 Not Implemented`.
|
4087
|
+
#
|
4088
|
+
# </note>
|
4089
|
+
#
|
3688
4090
|
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
3689
4091
|
#
|
3690
4092
|
# @example Request syntax with placeholder values
|
@@ -4558,15 +4960,6 @@ module Aws::S3
|
|
4558
4960
|
# * {Types::DeleteObjectOutput#request_charged #request_charged} => String
|
4559
4961
|
#
|
4560
4962
|
#
|
4561
|
-
# @example Example: To delete an object (from a non-versioned bucket)
|
4562
|
-
#
|
4563
|
-
# # The following example deletes an object from a non-versioned bucket.
|
4564
|
-
#
|
4565
|
-
# resp = client.delete_object({
|
4566
|
-
# bucket: "ExampleBucket",
|
4567
|
-
# key: "HappyFace.jpg",
|
4568
|
-
# })
|
4569
|
-
#
|
4570
4963
|
# @example Example: To delete an object
|
4571
4964
|
#
|
4572
4965
|
# # The following example deletes an object from an S3 bucket.
|
@@ -4580,6 +4973,15 @@ module Aws::S3
|
|
4580
4973
|
# {
|
4581
4974
|
# }
|
4582
4975
|
#
|
4976
|
+
# @example Example: To delete an object (from a non-versioned bucket)
|
4977
|
+
#
|
4978
|
+
# # The following example deletes an object from a non-versioned bucket.
|
4979
|
+
#
|
4980
|
+
# resp = client.delete_object({
|
4981
|
+
# bucket: "ExampleBucket",
|
4982
|
+
# key: "HappyFace.jpg",
|
4983
|
+
# })
|
4984
|
+
#
|
4583
4985
|
# @example Request syntax with placeholder values
|
4584
4986
|
#
|
4585
4987
|
# resp = client.delete_object({
|
@@ -4678,35 +5080,35 @@ module Aws::S3
|
|
4678
5080
|
# * {Types::DeleteObjectTaggingOutput#version_id #version_id} => String
|
4679
5081
|
#
|
4680
5082
|
#
|
4681
|
-
# @example Example: To remove tag set from an object
|
5083
|
+
# @example Example: To remove tag set from an object
|
4682
5084
|
#
|
4683
|
-
# # The following example removes tag set associated with the specified object
|
4684
|
-
# #
|
5085
|
+
# # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
|
5086
|
+
# # operation removes tag set from the latest object version.
|
4685
5087
|
#
|
4686
5088
|
# resp = client.delete_object_tagging({
|
4687
5089
|
# bucket: "examplebucket",
|
4688
5090
|
# key: "HappyFace.jpg",
|
4689
|
-
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
4690
5091
|
# })
|
4691
5092
|
#
|
4692
5093
|
# resp.to_h outputs the following:
|
4693
5094
|
# {
|
4694
|
-
# version_id: "
|
5095
|
+
# version_id: "null",
|
4695
5096
|
# }
|
4696
5097
|
#
|
4697
|
-
# @example Example: To remove tag set from an object
|
5098
|
+
# @example Example: To remove tag set from an object version
|
4698
5099
|
#
|
4699
|
-
# # The following example removes tag set associated with the specified object.
|
4700
|
-
# #
|
5100
|
+
# # The following example removes tag set associated with the specified object version. The request specifies both the
|
5101
|
+
# # object key and object version.
|
4701
5102
|
#
|
4702
5103
|
# resp = client.delete_object_tagging({
|
4703
5104
|
# bucket: "examplebucket",
|
4704
5105
|
# key: "HappyFace.jpg",
|
5106
|
+
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
4705
5107
|
# })
|
4706
5108
|
#
|
4707
5109
|
# resp.to_h outputs the following:
|
4708
5110
|
# {
|
4709
|
-
# version_id: "
|
5111
|
+
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
4710
5112
|
# }
|
4711
5113
|
#
|
4712
5114
|
# @example Request syntax with placeholder values
|
@@ -4958,13 +5360,13 @@ module Aws::S3
|
|
4958
5360
|
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
4959
5361
|
# the supported algorithm from the following list:
|
4960
5362
|
#
|
4961
|
-
# * CRC32
|
5363
|
+
# * `CRC32`
|
4962
5364
|
#
|
4963
|
-
# * CRC32C
|
5365
|
+
# * `CRC32C`
|
4964
5366
|
#
|
4965
|
-
# * SHA1
|
5367
|
+
# * `SHA1`
|
4966
5368
|
#
|
4967
|
-
# * SHA256
|
5369
|
+
# * `SHA256`
|
4968
5370
|
#
|
4969
5371
|
# For more information, see [Checking object integrity][1] in the
|
4970
5372
|
# *Amazon S3 User Guide*.
|
@@ -5559,46 +5961,92 @@ module Aws::S3
|
|
5559
5961
|
req.send_request(options)
|
5560
5962
|
end
|
5561
5963
|
|
5562
|
-
#
|
5964
|
+
# Returns the default encryption configuration for an Amazon S3 bucket.
|
5965
|
+
# By default, all buckets have a default encryption configuration that
|
5966
|
+
# uses server-side encryption with Amazon S3 managed keys (SSE-S3).
|
5967
|
+
#
|
5968
|
+
# <note markdown="1"> * **General purpose buckets** - For information about the bucket
|
5969
|
+
# default encryption feature, see [Amazon S3 Bucket Default
|
5970
|
+
# Encryption][1] in the *Amazon S3 User Guide*.
|
5971
|
+
#
|
5972
|
+
# * **Directory buckets** - For directory buckets, there are only two
|
5973
|
+
# supported options for server-side encryption: SSE-S3 and SSE-KMS.
|
5974
|
+
# For information about the default encryption configuration in
|
5975
|
+
# directory buckets, see [Setting default server-side encryption
|
5976
|
+
# behavior for directory buckets][2].
|
5563
5977
|
#
|
5564
5978
|
# </note>
|
5565
5979
|
#
|
5566
|
-
#
|
5567
|
-
#
|
5568
|
-
#
|
5569
|
-
#
|
5570
|
-
#
|
5980
|
+
# Permissions
|
5981
|
+
# : * **General purpose bucket permissions** - The
|
5982
|
+
# `s3:GetEncryptionConfiguration` permission is required in a
|
5983
|
+
# policy. The bucket owner has this permission by default. The
|
5984
|
+
# bucket owner can grant this permission to others. For more
|
5985
|
+
# information about permissions, see [Permissions Related to Bucket
|
5986
|
+
# Operations][3] and [Managing Access Permissions to Your Amazon S3
|
5987
|
+
# Resources][4].
|
5571
5988
|
#
|
5572
|
-
#
|
5573
|
-
#
|
5574
|
-
# permission
|
5575
|
-
#
|
5576
|
-
#
|
5577
|
-
#
|
5989
|
+
# * **Directory bucket permissions** - To grant access to this API
|
5990
|
+
# operation, you must have the
|
5991
|
+
# `s3express:GetEncryptionConfiguration` permission in an IAM
|
5992
|
+
# identity-based policy instead of a bucket policy. Cross-account
|
5993
|
+
# access to this API operation isn't supported. This operation can
|
5994
|
+
# only be performed by the Amazon Web Services account that owns the
|
5995
|
+
# resource. For more information about directory bucket policies and
|
5996
|
+
# permissions, see [Amazon Web Services Identity and Access
|
5997
|
+
# Management (IAM) for S3 Express One Zone][5] in the *Amazon S3
|
5998
|
+
# User Guide*.
|
5999
|
+
#
|
6000
|
+
# HTTP Host header syntax
|
6001
|
+
#
|
6002
|
+
# : <b>Directory buckets </b> - The HTTP Host header syntax is
|
6003
|
+
# `s3express-control.region.amazonaws.com`.
|
5578
6004
|
#
|
5579
6005
|
# The following operations are related to `GetBucketEncryption`:
|
5580
6006
|
#
|
5581
|
-
# * [PutBucketEncryption][
|
6007
|
+
# * [PutBucketEncryption][6]
|
5582
6008
|
#
|
5583
|
-
# * [DeleteBucketEncryption][
|
6009
|
+
# * [DeleteBucketEncryption][7]
|
5584
6010
|
#
|
5585
6011
|
#
|
5586
6012
|
#
|
5587
6013
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
|
5588
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
5589
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-
|
5590
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/
|
5591
|
-
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/
|
6014
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html
|
6015
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
|
6016
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
|
6017
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
|
6018
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html
|
6019
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
|
5592
6020
|
#
|
5593
6021
|
# @option params [required, String] :bucket
|
5594
6022
|
# The name of the bucket from which the server-side encryption
|
5595
6023
|
# configuration is retrieved.
|
5596
6024
|
#
|
6025
|
+
# <b>Directory buckets </b> - When you use this operation with a
|
6026
|
+
# directory bucket, you must use path-style requests in the format
|
6027
|
+
# `https://s3express-control.region_code.amazonaws.com/bucket-name `.
|
6028
|
+
# Virtual-hosted-style requests aren't supported. Directory bucket
|
6029
|
+
# names must be unique in the chosen Availability Zone. Bucket names
|
6030
|
+
# must also follow the format ` bucket_base_name--az_id--x-s3` (for
|
6031
|
+
# example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
|
6032
|
+
# bucket naming restrictions, see [Directory bucket naming rules][1] in
|
6033
|
+
# the *Amazon S3 User Guide*
|
6034
|
+
#
|
6035
|
+
#
|
6036
|
+
#
|
6037
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
|
6038
|
+
#
|
5597
6039
|
# @option params [String] :expected_bucket_owner
|
5598
6040
|
# The account ID of the expected bucket owner. If the account ID that
|
5599
6041
|
# you provide does not match the actual owner of the bucket, the request
|
5600
6042
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
5601
6043
|
#
|
6044
|
+
# <note markdown="1"> For directory buckets, this header is not supported in this API
|
6045
|
+
# operation. If you specify this header, the request fails with the HTTP
|
6046
|
+
# status code `501 Not Implemented`.
|
6047
|
+
#
|
6048
|
+
# </note>
|
6049
|
+
#
|
5602
6050
|
# @return [Types::GetBucketEncryptionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
5603
6051
|
#
|
5604
6052
|
# * {Types::GetBucketEncryptionOutput#server_side_encryption_configuration #server_side_encryption_configuration} => Types::ServerSideEncryptionConfiguration
|
@@ -5979,6 +6427,7 @@ module Aws::S3
|
|
5979
6427
|
# @return [Types::GetBucketLifecycleConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
5980
6428
|
#
|
5981
6429
|
# * {Types::GetBucketLifecycleConfigurationOutput#rules #rules} => Array<Types::LifecycleRule>
|
6430
|
+
# * {Types::GetBucketLifecycleConfigurationOutput#transition_default_minimum_object_size #transition_default_minimum_object_size} => String
|
5982
6431
|
#
|
5983
6432
|
#
|
5984
6433
|
# @example Example: To get lifecycle configuration on a bucket
|
@@ -6044,6 +6493,7 @@ module Aws::S3
|
|
6044
6493
|
# resp.rules[0].noncurrent_version_expiration.noncurrent_days #=> Integer
|
6045
6494
|
# resp.rules[0].noncurrent_version_expiration.newer_noncurrent_versions #=> Integer
|
6046
6495
|
# resp.rules[0].abort_incomplete_multipart_upload.days_after_initiation #=> Integer
|
6496
|
+
# resp.transition_default_minimum_object_size #=> String, one of "varies_by_storage_class", "all_storage_classes_128K"
|
6047
6497
|
#
|
6048
6498
|
# @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration AWS API Documentation
|
6049
6499
|
#
|
@@ -7338,6 +7788,10 @@ module Aws::S3
|
|
7338
7788
|
# interruptions when a session expires. For more information about
|
7339
7789
|
# authorization, see [ `CreateSession` ][4].
|
7340
7790
|
#
|
7791
|
+
# If the object is encrypted using SSE-KMS, you must also have the
|
7792
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
7793
|
+
# identity-based policies and KMS key policies for the KMS key.
|
7794
|
+
#
|
7341
7795
|
# Storage classes
|
7342
7796
|
#
|
7343
7797
|
# : If the object you are retrieving is stored in the S3 Glacier
|
@@ -7366,6 +7820,11 @@ module Aws::S3
|
|
7366
7820
|
# `GetObject` requests for the object that uses these types of keys,
|
7367
7821
|
# you’ll get an HTTP `400 Bad Request` error.
|
7368
7822
|
#
|
7823
|
+
# **Directory buckets** - For directory buckets, there are only two
|
7824
|
+
# supported options for server-side encryption: SSE-S3 and SSE-KMS.
|
7825
|
+
# SSE-C isn't supported. For more information, see [Protecting data
|
7826
|
+
# with server-side encryption][7] in the *Amazon S3 User Guide*.
|
7827
|
+
#
|
7369
7828
|
# Overriding response header values through the request
|
7370
7829
|
#
|
7371
7830
|
# : There are times when you want to override certain response header
|
@@ -7413,9 +7872,9 @@ module Aws::S3
|
|
7413
7872
|
#
|
7414
7873
|
# The following operations are related to `GetObject`:
|
7415
7874
|
#
|
7416
|
-
# * [ListBuckets][
|
7875
|
+
# * [ListBuckets][8]
|
7417
7876
|
#
|
7418
|
-
# * [GetObjectAcl][
|
7877
|
+
# * [GetObjectAcl][9]
|
7419
7878
|
#
|
7420
7879
|
#
|
7421
7880
|
#
|
@@ -7425,8 +7884,9 @@ module Aws::S3
|
|
7425
7884
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
7426
7885
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
|
7427
7886
|
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
|
7428
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/
|
7429
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
7887
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
7888
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html
|
7889
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
|
7430
7890
|
#
|
7431
7891
|
# @option params [String, IO] :response_target
|
7432
7892
|
# Where to write response data, file path, or IO object.
|
@@ -7723,10 +8183,10 @@ module Aws::S3
|
|
7723
8183
|
# @option params [String] :checksum_mode
|
7724
8184
|
# To retrieve the checksum, this mode must be enabled.
|
7725
8185
|
#
|
7726
|
-
# In addition, if you enable checksum mode
|
7727
|
-
# with a [checksum][1] and encrypted with an
|
7728
|
-
# (KMS) key, you must have permission to use the
|
7729
|
-
# retrieve the checksum.
|
8186
|
+
# **General purpose buckets** - In addition, if you enable checksum mode
|
8187
|
+
# and the object is uploaded with a [checksum][1] and encrypted with an
|
8188
|
+
# Key Management Service (KMS) key, you must have permission to use the
|
8189
|
+
# `kms:Decrypt` action to retrieve the checksum.
|
7730
8190
|
#
|
7731
8191
|
#
|
7732
8192
|
#
|
@@ -7773,49 +8233,49 @@ module Aws::S3
|
|
7773
8233
|
# * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
|
7774
8234
|
#
|
7775
8235
|
#
|
7776
|
-
# @example Example: To retrieve an object
|
8236
|
+
# @example Example: To retrieve a byte range of an object
|
7777
8237
|
#
|
7778
|
-
# # The following example retrieves an object for an S3 bucket.
|
8238
|
+
# # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
|
8239
|
+
# # specific byte range.
|
7779
8240
|
#
|
7780
8241
|
# resp = client.get_object({
|
7781
8242
|
# bucket: "examplebucket",
|
7782
|
-
# key: "
|
8243
|
+
# key: "SampleFile.txt",
|
8244
|
+
# range: "bytes=0-9",
|
7783
8245
|
# })
|
7784
8246
|
#
|
7785
8247
|
# resp.to_h outputs the following:
|
7786
8248
|
# {
|
7787
8249
|
# accept_ranges: "bytes",
|
7788
|
-
# content_length:
|
7789
|
-
#
|
7790
|
-
#
|
7791
|
-
#
|
8250
|
+
# content_length: 10,
|
8251
|
+
# content_range: "bytes 0-9/43",
|
8252
|
+
# content_type: "text/plain",
|
8253
|
+
# etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
|
8254
|
+
# last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
|
7792
8255
|
# metadata: {
|
7793
8256
|
# },
|
7794
|
-
# tag_count: 2,
|
7795
8257
|
# version_id: "null",
|
7796
8258
|
# }
|
7797
8259
|
#
|
7798
|
-
# @example Example: To retrieve
|
8260
|
+
# @example Example: To retrieve an object
|
7799
8261
|
#
|
7800
|
-
# # The following example retrieves an object for an S3 bucket.
|
7801
|
-
# # specific byte range.
|
8262
|
+
# # The following example retrieves an object for an S3 bucket.
|
7802
8263
|
#
|
7803
8264
|
# resp = client.get_object({
|
7804
8265
|
# bucket: "examplebucket",
|
7805
|
-
# key: "
|
7806
|
-
# range: "bytes=0-9",
|
8266
|
+
# key: "HappyFace.jpg",
|
7807
8267
|
# })
|
7808
8268
|
#
|
7809
8269
|
# resp.to_h outputs the following:
|
7810
8270
|
# {
|
7811
8271
|
# accept_ranges: "bytes",
|
7812
|
-
# content_length:
|
7813
|
-
#
|
7814
|
-
#
|
7815
|
-
#
|
7816
|
-
# last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
|
8272
|
+
# content_length: 3191,
|
8273
|
+
# content_type: "image/jpeg",
|
8274
|
+
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
8275
|
+
# last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
|
7817
8276
|
# metadata: {
|
7818
8277
|
# },
|
8278
|
+
# tag_count: 2,
|
7819
8279
|
# version_id: "null",
|
7820
8280
|
# }
|
7821
8281
|
#
|
@@ -8128,7 +8588,7 @@ module Aws::S3
|
|
8128
8588
|
# Permissions
|
8129
8589
|
# : * **General purpose bucket permissions** - To use
|
8130
8590
|
# `GetObjectAttributes`, you must have READ access to the object.
|
8131
|
-
# The permissions that you need to use this operation
|
8591
|
+
# The permissions that you need to use this operation depend on
|
8132
8592
|
# whether the bucket is versioned. If the bucket is versioned, you
|
8133
8593
|
# need both the `s3:GetObjectVersion` and
|
8134
8594
|
# `s3:GetObjectVersionAttributes` permissions for this operation. If
|
@@ -8162,6 +8622,10 @@ module Aws::S3
|
|
8162
8622
|
# interruptions when a session expires. For more information about
|
8163
8623
|
# authorization, see [ `CreateSession` ][3].
|
8164
8624
|
#
|
8625
|
+
# If the object is encrypted with SSE-KMS, you must also have the
|
8626
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
8627
|
+
# identity-based policies and KMS key policies for the KMS key.
|
8628
|
+
#
|
8165
8629
|
# Encryption
|
8166
8630
|
# : <note markdown="1"> Encryption request headers, like `x-amz-server-side-encryption`,
|
8167
8631
|
# should not be sent for `HEAD` requests if your object uses
|
@@ -8195,9 +8659,19 @@ module Aws::S3
|
|
8195
8659
|
# Customer-Provided Encryption Keys)][4] in the *Amazon S3 User
|
8196
8660
|
# Guide*.
|
8197
8661
|
#
|
8198
|
-
# <note markdown="1"> **Directory bucket permissions** - For directory buckets,
|
8199
|
-
#
|
8200
|
-
# (`AES256`)
|
8662
|
+
# <note markdown="1"> **Directory bucket permissions** - For directory buckets, there are
|
8663
|
+
# only two supported options for server-side encryption: server-side
|
8664
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
8665
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). We
|
8666
|
+
# recommend that the bucket's default encryption uses the desired
|
8667
|
+
# encryption configuration and you don't override the bucket default
|
8668
|
+
# encryption in your `CreateSession` requests or `PUT` object
|
8669
|
+
# requests. Then, new objects are automatically encrypted with the
|
8670
|
+
# desired encryption settings. For more information, see [Protecting
|
8671
|
+
# data with server-side encryption][5] in the *Amazon S3 User Guide*.
|
8672
|
+
# For more information about the encryption overriding behaviors in
|
8673
|
+
# directory buckets, see [Specifying server-side encryption with KMS
|
8674
|
+
# for new object uploads][6].
|
8201
8675
|
#
|
8202
8676
|
# </note>
|
8203
8677
|
#
|
@@ -8221,7 +8695,7 @@ module Aws::S3
|
|
8221
8695
|
# * `If-Unmodified-Since` condition evaluates to `false`.
|
8222
8696
|
#
|
8223
8697
|
# For more information about conditional requests, see [RFC
|
8224
|
-
# 7232][
|
8698
|
+
# 7232][7].
|
8225
8699
|
#
|
8226
8700
|
# * If both of the `If-None-Match` and `If-Modified-Since` headers are
|
8227
8701
|
# present in the request as follows, then Amazon S3 returns the HTTP
|
@@ -8232,7 +8706,7 @@ module Aws::S3
|
|
8232
8706
|
# * `If-Modified-Since` condition evaluates to `true`.
|
8233
8707
|
#
|
8234
8708
|
# For more information about conditional requests, see [RFC
|
8235
|
-
# 7232][
|
8709
|
+
# 7232][7].
|
8236
8710
|
#
|
8237
8711
|
# HTTP Host header syntax
|
8238
8712
|
#
|
@@ -8241,21 +8715,21 @@ module Aws::S3
|
|
8241
8715
|
#
|
8242
8716
|
# The following actions are related to `GetObjectAttributes`:
|
8243
8717
|
#
|
8244
|
-
# * [GetObject][
|
8718
|
+
# * [GetObject][8]
|
8245
8719
|
#
|
8246
|
-
# * [GetObjectAcl][
|
8720
|
+
# * [GetObjectAcl][9]
|
8247
8721
|
#
|
8248
|
-
# * [GetObjectLegalHold][
|
8722
|
+
# * [GetObjectLegalHold][10]
|
8249
8723
|
#
|
8250
|
-
# * [GetObjectLockConfiguration][
|
8724
|
+
# * [GetObjectLockConfiguration][11]
|
8251
8725
|
#
|
8252
|
-
# * [GetObjectRetention][
|
8726
|
+
# * [GetObjectRetention][12]
|
8253
8727
|
#
|
8254
|
-
# * [GetObjectTagging][
|
8728
|
+
# * [GetObjectTagging][13]
|
8255
8729
|
#
|
8256
|
-
# * [HeadObject][
|
8730
|
+
# * [HeadObject][14]
|
8257
8731
|
#
|
8258
|
-
# * [ListParts][
|
8732
|
+
# * [ListParts][15]
|
8259
8733
|
#
|
8260
8734
|
#
|
8261
8735
|
#
|
@@ -8263,15 +8737,17 @@ module Aws::S3
|
|
8263
8737
|
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
|
8264
8738
|
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
8265
8739
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
8266
|
-
# [5]: https://
|
8267
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/
|
8268
|
-
# [7]: https://
|
8269
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
8270
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
8271
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
8272
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
8273
|
-
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
8274
|
-
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
8740
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
8741
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
8742
|
+
# [7]: https://tools.ietf.org/html/rfc7232
|
8743
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
|
8744
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
|
8745
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html
|
8746
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLockConfiguration.html
|
8747
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectRetention.html
|
8748
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
|
8749
|
+
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html
|
8750
|
+
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
|
8275
8751
|
#
|
8276
8752
|
# @option params [required, String] :bucket
|
8277
8753
|
# The name of the bucket that contains the object.
|
@@ -9263,7 +9739,11 @@ module Aws::S3
|
|
9263
9739
|
# have the `s3:GetObject` permission. You need the relevant read
|
9264
9740
|
# object (or version) permission for this operation. For more
|
9265
9741
|
# information, see [Actions, resources, and condition keys for
|
9266
|
-
# Amazon S3][2] in the *Amazon S3 User Guide*.
|
9742
|
+
# Amazon S3][2] in the *Amazon S3 User Guide*. For more information
|
9743
|
+
# about the permissions to S3 API operations by S3 resource types,
|
9744
|
+
# see [Required permissions for Amazon S3 API
|
9745
|
+
# operations](/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)
|
9746
|
+
# in the *Amazon S3 User Guide*.
|
9267
9747
|
#
|
9268
9748
|
# If the object you request doesn't exist, the error that Amazon S3
|
9269
9749
|
# returns depends on whether you also have the `s3:ListBucket`
|
@@ -9290,6 +9770,13 @@ module Aws::S3
|
|
9290
9770
|
# interruptions when a session expires. For more information about
|
9291
9771
|
# authorization, see [ `CreateSession` ][3].
|
9292
9772
|
#
|
9773
|
+
# If you enable `x-amz-checksum-mode` in the request and the object
|
9774
|
+
# is encrypted with Amazon Web Services Key Management Service
|
9775
|
+
# (Amazon Web Services KMS), you must also have the
|
9776
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
9777
|
+
# identity-based policies and KMS key policies for the KMS key to
|
9778
|
+
# retrieve the checksum of the object.
|
9779
|
+
#
|
9293
9780
|
# Encryption
|
9294
9781
|
# : <note markdown="1"> Encryption request headers, like `x-amz-server-side-encryption`,
|
9295
9782
|
# should not be sent for `HEAD` requests if your object uses
|
@@ -9323,9 +9810,10 @@ module Aws::S3
|
|
9323
9810
|
# Customer-Provided Encryption Keys)][4] in the *Amazon S3 User
|
9324
9811
|
# Guide*.
|
9325
9812
|
#
|
9326
|
-
# <note markdown="1">
|
9327
|
-
# server-side encryption
|
9328
|
-
#
|
9813
|
+
# <note markdown="1"> <b>Directory bucket </b> - For directory buckets, there are only two
|
9814
|
+
# supported options for server-side encryption: SSE-S3 and SSE-KMS.
|
9815
|
+
# SSE-C isn't supported. For more information, see [Protecting data
|
9816
|
+
# with server-side encryption][5] in the *Amazon S3 User Guide*.
|
9329
9817
|
#
|
9330
9818
|
# </note>
|
9331
9819
|
#
|
@@ -9359,15 +9847,15 @@ module Aws::S3
|
|
9359
9847
|
# requests in the format
|
9360
9848
|
# `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
|
9361
9849
|
# `. Path-style requests are not supported. For more information, see
|
9362
|
-
# [Regional and Zonal endpoints][
|
9850
|
+
# [Regional and Zonal endpoints][6] in the *Amazon S3 User Guide*.
|
9363
9851
|
#
|
9364
9852
|
# </note>
|
9365
9853
|
#
|
9366
9854
|
# The following actions are related to `HeadObject`:
|
9367
9855
|
#
|
9368
|
-
# * [GetObject][
|
9856
|
+
# * [GetObject][7]
|
9369
9857
|
#
|
9370
|
-
# * [GetObjectAttributes][
|
9858
|
+
# * [GetObjectAttributes][8]
|
9371
9859
|
#
|
9372
9860
|
#
|
9373
9861
|
#
|
@@ -9375,9 +9863,10 @@ module Aws::S3
|
|
9375
9863
|
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html
|
9376
9864
|
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
9377
9865
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
9378
|
-
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-
|
9379
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/
|
9380
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
9866
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
9867
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
9868
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
|
9869
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
|
9381
9870
|
#
|
9382
9871
|
# @option params [required, String] :bucket
|
9383
9872
|
# The name of the bucket that contains the object.
|
@@ -9593,10 +10082,16 @@ module Aws::S3
|
|
9593
10082
|
# @option params [String] :checksum_mode
|
9594
10083
|
# To retrieve the checksum, this parameter must be enabled.
|
9595
10084
|
#
|
9596
|
-
#
|
9597
|
-
# with a [checksum][1] and encrypted with an Key
|
9598
|
-
# (KMS) key, you must have permission to use the
|
9599
|
-
# retrieve the checksum.
|
10085
|
+
# **General purpose buckets** - If you enable checksum mode and the
|
10086
|
+
# object is uploaded with a [checksum][1] and encrypted with an Key
|
10087
|
+
# Management Service (KMS) key, you must have permission to use the
|
10088
|
+
# `kms:Decrypt` action to retrieve the checksum.
|
10089
|
+
#
|
10090
|
+
# **Directory buckets** - If you enable `ChecksumMode` and the object is
|
10091
|
+
# encrypted with Amazon Web Services Key Management Service (Amazon Web
|
10092
|
+
# Services KMS), you must also have the `kms:GenerateDataKey` and
|
10093
|
+
# `kms:Decrypt` permissions in IAM identity-based policies and KMS key
|
10094
|
+
# policies for the KMS key to retrieve the checksum of the object.
|
9600
10095
|
#
|
9601
10096
|
#
|
9602
10097
|
#
|
@@ -12592,24 +13087,73 @@ module Aws::S3
|
|
12592
13087
|
req.send_request(options)
|
12593
13088
|
end
|
12594
13089
|
|
12595
|
-
#
|
13090
|
+
# This operation configures default encryption and Amazon S3 Bucket Keys
|
13091
|
+
# for an existing bucket.
|
12596
13092
|
#
|
12597
|
-
#
|
13093
|
+
# <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
|
13094
|
+
# requests for this API operation to the Regional endpoint. These
|
13095
|
+
# endpoints support path-style requests in the format
|
13096
|
+
# `https://s3express-control.region_code.amazonaws.com/bucket-name `.
|
13097
|
+
# Virtual-hosted-style requests aren't supported. For more information,
|
13098
|
+
# see [Regional and Zonal endpoints][1] in the *Amazon S3 User Guide*.
|
12598
13099
|
#
|
12599
|
-
#
|
12600
|
-
# encryption and Amazon S3 Bucket Keys for an existing bucket.
|
13100
|
+
# </note>
|
12601
13101
|
#
|
12602
13102
|
# By default, all buckets have a default encryption configuration that
|
12603
|
-
# uses server-side encryption with Amazon S3 managed keys (SSE-S3).
|
12604
|
-
#
|
12605
|
-
#
|
12606
|
-
#
|
12607
|
-
#
|
12608
|
-
#
|
12609
|
-
#
|
12610
|
-
#
|
12611
|
-
#
|
12612
|
-
#
|
13103
|
+
# uses server-side encryption with Amazon S3 managed keys (SSE-S3).
|
13104
|
+
#
|
13105
|
+
# <note markdown="1"> * **General purpose buckets**
|
13106
|
+
#
|
13107
|
+
# * You can optionally configure default encryption for a bucket by
|
13108
|
+
# using server-side encryption with Key Management Service (KMS)
|
13109
|
+
# keys (SSE-KMS) or dual-layer server-side encryption with Amazon
|
13110
|
+
# Web Services KMS keys (DSSE-KMS). If you specify default
|
13111
|
+
# encryption by using SSE-KMS, you can also configure [Amazon S3
|
13112
|
+
# Bucket Keys][2]. For information about the bucket default
|
13113
|
+
# encryption feature, see [Amazon S3 Bucket Default Encryption][3]
|
13114
|
+
# in the *Amazon S3 User Guide*.
|
13115
|
+
#
|
13116
|
+
# * If you use PutBucketEncryption to set your [default bucket
|
13117
|
+
# encryption][3] to SSE-KMS, you should verify that your KMS key ID
|
13118
|
+
# is correct. Amazon S3 doesn't validate the KMS key ID provided in
|
13119
|
+
# PutBucketEncryption requests.
|
13120
|
+
#
|
13121
|
+
# * <b>Directory buckets </b> - You can optionally configure default
|
13122
|
+
# encryption for a bucket by using server-side encryption with Key
|
13123
|
+
# Management Service (KMS) keys (SSE-KMS).
|
13124
|
+
#
|
13125
|
+
# * We recommend that the bucket's default encryption uses the
|
13126
|
+
# desired encryption configuration and you don't override the
|
13127
|
+
# bucket default encryption in your `CreateSession` requests or
|
13128
|
+
# `PUT` object requests. Then, new objects are automatically
|
13129
|
+
# encrypted with the desired encryption settings. For more
|
13130
|
+
# information about the encryption overriding behaviors in directory
|
13131
|
+
# buckets, see [Specifying server-side encryption with KMS for new
|
13132
|
+
# object uploads][4].
|
13133
|
+
#
|
13134
|
+
# * Your SSE-KMS configuration can only support 1 [customer managed
|
13135
|
+
# key][5] per directory bucket for the lifetime of the bucket.
|
13136
|
+
# [Amazon Web Services managed key][6] (`aws/s3`) isn't supported.
|
13137
|
+
#
|
13138
|
+
# * S3 Bucket Keys are always enabled for `GET` and `PUT` operations
|
13139
|
+
# in a directory bucket and can’t be disabled. S3 Bucket Keys
|
13140
|
+
# aren't supported, when you copy SSE-KMS encrypted objects from
|
13141
|
+
# general purpose buckets to directory buckets, from directory
|
13142
|
+
# buckets to general purpose buckets, or between directory buckets,
|
13143
|
+
# through [CopyObject][7], [UploadPartCopy][8], [the Copy operation
|
13144
|
+
# in Batch Operations][9], or [the import jobs][10]. In this case,
|
13145
|
+
# Amazon S3 makes a call to KMS every time a copy request is made
|
13146
|
+
# for a KMS-encrypted object.
|
13147
|
+
#
|
13148
|
+
# * When you specify an [KMS customer managed key][5] for encryption
|
13149
|
+
# in your directory bucket, only use the key ID or key ARN. The key
|
13150
|
+
# alias format of the KMS key isn't supported.
|
13151
|
+
#
|
13152
|
+
# * For directory buckets, if you use PutBucketEncryption to set your
|
13153
|
+
# [default bucket encryption][3] to SSE-KMS, Amazon S3 validates the
|
13154
|
+
# KMS key ID provided in PutBucketEncryption requests.
|
13155
|
+
#
|
13156
|
+
# </note>
|
12613
13157
|
#
|
12614
13158
|
# If you're specifying a customer managed KMS key, we recommend using a
|
12615
13159
|
# fully qualified KMS key ARN. If you use a KMS key alias instead, then
|
@@ -12619,45 +13163,80 @@ module Aws::S3
|
|
12619
13163
|
#
|
12620
13164
|
# Also, this action requires Amazon Web Services Signature Version 4.
|
12621
13165
|
# For more information, see [ Authenticating Requests (Amazon Web
|
12622
|
-
# Services Signature Version 4)][
|
13166
|
+
# Services Signature Version 4)][11].
|
12623
13167
|
#
|
12624
|
-
#
|
12625
|
-
#
|
12626
|
-
# permission
|
12627
|
-
#
|
12628
|
-
#
|
12629
|
-
#
|
12630
|
-
#
|
13168
|
+
# Permissions
|
13169
|
+
# : * **General purpose bucket permissions** - The
|
13170
|
+
# `s3:PutEncryptionConfiguration` permission is required in a
|
13171
|
+
# policy. The bucket owner has this permission by default. The
|
13172
|
+
# bucket owner can grant this permission to others. For more
|
13173
|
+
# information about permissions, see [Permissions Related to Bucket
|
13174
|
+
# Operations][12] and [Managing Access Permissions to Your Amazon S3
|
13175
|
+
# Resources][13] in the *Amazon S3 User Guide*.
|
13176
|
+
#
|
13177
|
+
# * **Directory bucket permissions** - To grant access to this API
|
13178
|
+
# operation, you must have the
|
13179
|
+
# `s3express:PutEncryptionConfiguration` permission in an IAM
|
13180
|
+
# identity-based policy instead of a bucket policy. Cross-account
|
13181
|
+
# access to this API operation isn't supported. This operation can
|
13182
|
+
# only be performed by the Amazon Web Services account that owns the
|
13183
|
+
# resource. For more information about directory bucket policies and
|
13184
|
+
# permissions, see [Amazon Web Services Identity and Access
|
13185
|
+
# Management (IAM) for S3 Express One Zone][14] in the *Amazon S3
|
13186
|
+
# User Guide*.
|
13187
|
+
#
|
13188
|
+
# To set a directory bucket default encryption with SSE-KMS, you
|
13189
|
+
# must also have the `kms:GenerateDataKey` and the `kms:Decrypt`
|
13190
|
+
# permissions in IAM identity-based policies and KMS key policies
|
13191
|
+
# for the target KMS key.
|
13192
|
+
#
|
13193
|
+
# HTTP Host header syntax
|
13194
|
+
#
|
13195
|
+
# : <b>Directory buckets </b> - The HTTP Host header syntax is
|
13196
|
+
# `s3express-control.region.amazonaws.com`.
|
12631
13197
|
#
|
12632
13198
|
# The following operations are related to `PutBucketEncryption`:
|
12633
13199
|
#
|
12634
|
-
# * [GetBucketEncryption][
|
13200
|
+
# * [GetBucketEncryption][15]
|
12635
13201
|
#
|
12636
|
-
# * [DeleteBucketEncryption][
|
13202
|
+
# * [DeleteBucketEncryption][16]
|
12637
13203
|
#
|
12638
13204
|
#
|
12639
13205
|
#
|
12640
|
-
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/
|
12641
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-
|
12642
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/
|
12643
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
12644
|
-
# [5]: https://docs.aws.amazon.com/
|
12645
|
-
# [6]: https://docs.aws.amazon.com/
|
12646
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
13206
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
13207
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
|
13208
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
|
13209
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
13210
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
13211
|
+
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
13212
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
13213
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
13214
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
|
13215
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
|
13216
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
|
13217
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
|
13218
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
|
13219
|
+
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
|
13220
|
+
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
|
13221
|
+
# [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
|
12647
13222
|
#
|
12648
13223
|
# @option params [required, String] :bucket
|
12649
13224
|
# Specifies default encryption for a bucket using server-side encryption
|
12650
|
-
# with different key options.
|
12651
|
-
#
|
12652
|
-
#
|
12653
|
-
#
|
12654
|
-
#
|
12655
|
-
#
|
12656
|
-
#
|
13225
|
+
# with different key options.
|
13226
|
+
#
|
13227
|
+
# <b>Directory buckets </b> - When you use this operation with a
|
13228
|
+
# directory bucket, you must use path-style requests in the format
|
13229
|
+
# `https://s3express-control.region_code.amazonaws.com/bucket-name `.
|
13230
|
+
# Virtual-hosted-style requests aren't supported. Directory bucket
|
13231
|
+
# names must be unique in the chosen Availability Zone. Bucket names
|
13232
|
+
# must also follow the format ` bucket_base_name--az_id--x-s3` (for
|
13233
|
+
# example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
|
13234
|
+
# bucket naming restrictions, see [Directory bucket naming rules][1] in
|
13235
|
+
# the *Amazon S3 User Guide*
|
12657
13236
|
#
|
12658
13237
|
#
|
12659
13238
|
#
|
12660
|
-
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/
|
13239
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
|
12661
13240
|
#
|
12662
13241
|
# @option params [String] :content_md5
|
12663
13242
|
# The base64-encoded 128-bit MD5 digest of the server-side encryption
|
@@ -12667,6 +13246,10 @@ module Aws::S3
|
|
12667
13246
|
# (CLI) or Amazon Web Services SDKs, this field is calculated
|
12668
13247
|
# automatically.
|
12669
13248
|
#
|
13249
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
13250
|
+
#
|
13251
|
+
# </note>
|
13252
|
+
#
|
12670
13253
|
# @option params [String] :checksum_algorithm
|
12671
13254
|
# Indicates the algorithm used to create the checksum for the object
|
12672
13255
|
# when you use the SDK. This header will not provide any additional
|
@@ -12679,6 +13262,11 @@ module Aws::S3
|
|
12679
13262
|
# If you provide an individual checksum, Amazon S3 ignores any provided
|
12680
13263
|
# `ChecksumAlgorithm` parameter.
|
12681
13264
|
#
|
13265
|
+
# <note markdown="1"> For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
|
13266
|
+
# is the default checksum algorithm that's used for performance.
|
13267
|
+
#
|
13268
|
+
# </note>
|
13269
|
+
#
|
12682
13270
|
#
|
12683
13271
|
#
|
12684
13272
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
@@ -12691,6 +13279,12 @@ module Aws::S3
|
|
12691
13279
|
# you provide does not match the actual owner of the bucket, the request
|
12692
13280
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
12693
13281
|
#
|
13282
|
+
# <note markdown="1"> For directory buckets, this header is not supported in this API
|
13283
|
+
# operation. If you specify this header, the request fails with the HTTP
|
13284
|
+
# status code `501 Not Implemented`.
|
13285
|
+
#
|
13286
|
+
# </note>
|
13287
|
+
#
|
12694
13288
|
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
12695
13289
|
#
|
12696
13290
|
# @example Request syntax with placeholder values
|
@@ -13161,23 +13755,22 @@ module Aws::S3
|
|
13161
13755
|
# lifecycle configuration. For information about lifecycle
|
13162
13756
|
# configuration, see [Managing your storage lifecycle][1].
|
13163
13757
|
#
|
13164
|
-
# <note markdown="1"> Bucket lifecycle configuration now supports specifying a lifecycle
|
13165
|
-
# rule using an object key name prefix, one or more object tags, object
|
13166
|
-
# size, or any combination of these. Accordingly, this section describes
|
13167
|
-
# the latest API. The previous version of the API supported filtering
|
13168
|
-
# based only on an object key name prefix, which is supported for
|
13169
|
-
# backward compatibility. For the related API description, see
|
13170
|
-
# [PutBucketLifecycle][2].
|
13171
|
-
#
|
13172
|
-
# </note>
|
13173
|
-
#
|
13174
13758
|
# Rules
|
13175
13759
|
#
|
13176
13760
|
# : You specify the lifecycle configuration in your request body. The
|
13177
13761
|
# lifecycle configuration is specified as XML consisting of one or
|
13178
13762
|
# more rules. An Amazon S3 Lifecycle configuration can have up to
|
13179
|
-
# 1,000 rules. This limit is not adjustable.
|
13180
|
-
#
|
13763
|
+
# 1,000 rules. This limit is not adjustable.
|
13764
|
+
#
|
13765
|
+
# Bucket lifecycle configuration supports specifying a lifecycle rule
|
13766
|
+
# using an object key name prefix, one or more object tags, object
|
13767
|
+
# size, or any combination of these. Accordingly, this section
|
13768
|
+
# describes the latest API. The previous version of the API supported
|
13769
|
+
# filtering based only on an object key name prefix, which is
|
13770
|
+
# supported for backward compatibility. For the related API
|
13771
|
+
# description, see [PutBucketLifecycle][2].
|
13772
|
+
#
|
13773
|
+
# A lifecycle rule consists of the following:
|
13181
13774
|
#
|
13182
13775
|
# * A filter identifying a subset of objects to which the rule
|
13183
13776
|
# applies. The filter can be based on a key name prefix, object
|
@@ -13268,7 +13861,26 @@ module Aws::S3
|
|
13268
13861
|
# you provide does not match the actual owner of the bucket, the request
|
13269
13862
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
13270
13863
|
#
|
13271
|
-
# @
|
13864
|
+
# @option params [String] :transition_default_minimum_object_size
|
13865
|
+
# Indicates which default minimum object size behavior is applied to the
|
13866
|
+
# lifecycle configuration.
|
13867
|
+
#
|
13868
|
+
# * `all_storage_classes_128K` - Objects smaller than 128 KB will not
|
13869
|
+
# transition to any storage class by default.
|
13870
|
+
#
|
13871
|
+
# * `varies_by_storage_class` - Objects smaller than 128 KB will
|
13872
|
+
# transition to Glacier Flexible Retrieval or Glacier Deep Archive
|
13873
|
+
# storage classes. By default, all other storage classes will prevent
|
13874
|
+
# transitions smaller than 128 KB.
|
13875
|
+
#
|
13876
|
+
# To customize the minimum object size for any transition you can add a
|
13877
|
+
# filter that specifies a custom `ObjectSizeGreaterThan` or
|
13878
|
+
# `ObjectSizeLessThan` in the body of your transition rule. Custom
|
13879
|
+
# filters always take precedence over the default transition behavior.
|
13880
|
+
#
|
13881
|
+
# @return [Types::PutBucketLifecycleConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
13882
|
+
#
|
13883
|
+
# * {Types::PutBucketLifecycleConfigurationOutput#transition_default_minimum_object_size #transition_default_minimum_object_size} => String
|
13272
13884
|
#
|
13273
13885
|
#
|
13274
13886
|
# @example Example: Put bucket lifecycle
|
@@ -13360,8 +13972,13 @@ module Aws::S3
|
|
13360
13972
|
# ],
|
13361
13973
|
# },
|
13362
13974
|
# expected_bucket_owner: "AccountId",
|
13975
|
+
# transition_default_minimum_object_size: "varies_by_storage_class", # accepts varies_by_storage_class, all_storage_classes_128K
|
13363
13976
|
# })
|
13364
13977
|
#
|
13978
|
+
# @example Response structure
|
13979
|
+
#
|
13980
|
+
# resp.transition_default_minimum_object_size #=> String, one of "varies_by_storage_class", "all_storage_classes_128K"
|
13981
|
+
#
|
13365
13982
|
# @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration AWS API Documentation
|
13366
13983
|
#
|
13367
13984
|
# @overload put_bucket_lifecycle_configuration(params = {})
|
@@ -14114,13 +14731,13 @@ module Aws::S3
|
|
14114
14731
|
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
14115
14732
|
# the supported algorithm from the following list:
|
14116
14733
|
#
|
14117
|
-
# * CRC32
|
14734
|
+
# * `CRC32`
|
14118
14735
|
#
|
14119
|
-
# * CRC32C
|
14736
|
+
# * `CRC32C`
|
14120
14737
|
#
|
14121
|
-
# * SHA1
|
14738
|
+
# * `SHA1`
|
14122
14739
|
#
|
14123
|
-
# * SHA256
|
14740
|
+
# * `SHA256`
|
14124
14741
|
#
|
14125
14742
|
# For more information, see [Checking object integrity][1] in the
|
14126
14743
|
# *Amazon S3 User Guide*.
|
@@ -15088,6 +15705,10 @@ module Aws::S3
|
|
15088
15705
|
# interruptions when a session expires. For more information about
|
15089
15706
|
# authorization, see [ `CreateSession` ][5].
|
15090
15707
|
#
|
15708
|
+
# If the object is encrypted with SSE-KMS, you must also have the
|
15709
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
15710
|
+
# identity-based policies and KMS key policies for the KMS key.
|
15711
|
+
#
|
15091
15712
|
# Data integrity with Content-MD5
|
15092
15713
|
# : * **General purpose bucket** - To ensure that data is not corrupted
|
15093
15714
|
# traversing the network, use the `Content-MD5` header. When you use
|
@@ -15291,13 +15912,13 @@ module Aws::S3
|
|
15291
15912
|
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
15292
15913
|
# the supported algorithm from the following list:
|
15293
15914
|
#
|
15294
|
-
# * CRC32
|
15915
|
+
# * `CRC32`
|
15295
15916
|
#
|
15296
|
-
# * CRC32C
|
15917
|
+
# * `CRC32C`
|
15297
15918
|
#
|
15298
|
-
# * SHA1
|
15919
|
+
# * `SHA1`
|
15299
15920
|
#
|
15300
|
-
# * SHA256
|
15921
|
+
# * `SHA256`
|
15301
15922
|
#
|
15302
15923
|
# For more information, see [Checking object integrity][1] in the
|
15303
15924
|
# *Amazon S3 User Guide*.
|
@@ -15320,9 +15941,9 @@ module Aws::S3
|
|
15320
15941
|
# @option params [String] :checksum_crc32
|
15321
15942
|
# This header can be used as a data integrity check to verify that the
|
15322
15943
|
# data received is the same data that was originally sent. This header
|
15323
|
-
# specifies the base64-encoded, 32-bit
|
15324
|
-
# more information, see [Checking object integrity][1] in the
|
15325
|
-
# User Guide*.
|
15944
|
+
# specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
|
15945
|
+
# For more information, see [Checking object integrity][1] in the
|
15946
|
+
# *Amazon S3 User Guide*.
|
15326
15947
|
#
|
15327
15948
|
#
|
15328
15949
|
#
|
@@ -15331,7 +15952,7 @@ module Aws::S3
|
|
15331
15952
|
# @option params [String] :checksum_crc32c
|
15332
15953
|
# This header can be used as a data integrity check to verify that the
|
15333
15954
|
# data received is the same data that was originally sent. This header
|
15334
|
-
# specifies the base64-encoded, 32-bit
|
15955
|
+
# specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
|
15335
15956
|
# For more information, see [Checking object integrity][1] in the
|
15336
15957
|
# *Amazon S3 User Guide*.
|
15337
15958
|
#
|
@@ -15437,25 +16058,65 @@ module Aws::S3
|
|
15437
16058
|
# object in Amazon S3 (for example, `AES256`, `aws:kms`,
|
15438
16059
|
# `aws:kms:dsse`).
|
15439
16060
|
#
|
15440
|
-
# <b>General purpose buckets </b> - You have four mutually exclusive
|
15441
|
-
#
|
15442
|
-
#
|
15443
|
-
#
|
15444
|
-
#
|
15445
|
-
#
|
15446
|
-
#
|
15447
|
-
#
|
15448
|
-
#
|
15449
|
-
#
|
15450
|
-
#
|
16061
|
+
# * <b>General purpose buckets </b> - You have four mutually exclusive
|
16062
|
+
# options to protect data using server-side encryption in Amazon S3,
|
16063
|
+
# depending on how you choose to manage the encryption keys.
|
16064
|
+
# Specifically, the encryption key options are Amazon S3 managed keys
|
16065
|
+
# (SSE-S3), Amazon Web Services KMS keys (SSE-KMS or DSSE-KMS), and
|
16066
|
+
# customer-provided keys (SSE-C). Amazon S3 encrypts data with
|
16067
|
+
# server-side encryption by using Amazon S3 managed keys (SSE-S3) by
|
16068
|
+
# default. You can optionally tell Amazon S3 to encrypt data at rest
|
16069
|
+
# by using server-side encryption with other key options. For more
|
16070
|
+
# information, see [Using Server-Side Encryption][1] in the *Amazon S3
|
16071
|
+
# User Guide*.
|
15451
16072
|
#
|
15452
|
-
# <b>Directory buckets </b> - For directory buckets, only
|
15453
|
-
#
|
15454
|
-
#
|
16073
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
16074
|
+
# two supported options for server-side encryption: server-side
|
16075
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
16076
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). We
|
16077
|
+
# recommend that the bucket's default encryption uses the desired
|
16078
|
+
# encryption configuration and you don't override the bucket default
|
16079
|
+
# encryption in your `CreateSession` requests or `PUT` object
|
16080
|
+
# requests. Then, new objects are automatically encrypted with the
|
16081
|
+
# desired encryption settings. For more information, see [Protecting
|
16082
|
+
# data with server-side encryption][2] in the *Amazon S3 User Guide*.
|
16083
|
+
# For more information about the encryption overriding behaviors in
|
16084
|
+
# directory buckets, see [Specifying server-side encryption with KMS
|
16085
|
+
# for new object uploads][3].
|
16086
|
+
#
|
16087
|
+
# In the Zonal endpoint API calls (except [CopyObject][4] and
|
16088
|
+
# [UploadPartCopy][5]) using the REST API, the encryption request
|
16089
|
+
# headers must match the encryption settings that are specified in the
|
16090
|
+
# `CreateSession` request. You can't override the values of the
|
16091
|
+
# encryption settings (`x-amz-server-side-encryption`,
|
16092
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`,
|
16093
|
+
# `x-amz-server-side-encryption-context`, and
|
16094
|
+
# `x-amz-server-side-encryption-bucket-key-enabled`) that are
|
16095
|
+
# specified in the `CreateSession` request. You don't need to
|
16096
|
+
# explicitly specify these encryption settings values in Zonal
|
16097
|
+
# endpoint API calls, and Amazon S3 will use the encryption settings
|
16098
|
+
# values from the `CreateSession` request to protect new objects in
|
16099
|
+
# the directory bucket.
|
16100
|
+
#
|
16101
|
+
# <note markdown="1"> When you use the CLI or the Amazon Web Services SDKs, for
|
16102
|
+
# `CreateSession`, the session token refreshes automatically to avoid
|
16103
|
+
# service interruptions when a session expires. The CLI or the Amazon
|
16104
|
+
# Web Services SDKs use the bucket's default encryption configuration
|
16105
|
+
# for the `CreateSession` request. It's not supported to override the
|
16106
|
+
# encryption settings values in the `CreateSession` request. So in the
|
16107
|
+
# Zonal endpoint API calls (except [CopyObject][4] and
|
16108
|
+
# [UploadPartCopy][5]), the encryption request headers must match the
|
16109
|
+
# default encryption configuration of the directory bucket.
|
16110
|
+
#
|
16111
|
+
# </note>
|
15455
16112
|
#
|
15456
16113
|
#
|
15457
16114
|
#
|
15458
16115
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
16116
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
16117
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
16118
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
16119
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
15459
16120
|
#
|
15460
16121
|
# @option params [String] :storage_class
|
15461
16122
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
@@ -15535,46 +16196,83 @@ module Aws::S3
|
|
15535
16196
|
# </note>
|
15536
16197
|
#
|
15537
16198
|
# @option params [String] :ssekms_key_id
|
15538
|
-
#
|
15539
|
-
#
|
15540
|
-
#
|
15541
|
-
#
|
15542
|
-
#
|
15543
|
-
#
|
15544
|
-
# x-amz-server-side-encryption
|
15545
|
-
#
|
15546
|
-
#
|
15547
|
-
#
|
16199
|
+
# Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for
|
16200
|
+
# object encryption. If the KMS key doesn't exist in the same account
|
16201
|
+
# that's issuing the command, you must use the full Key ARN not the Key
|
16202
|
+
# ID.
|
16203
|
+
#
|
16204
|
+
# **General purpose buckets** - If you specify
|
16205
|
+
# `x-amz-server-side-encryption` with `aws:kms` or `aws:kms:dsse`, this
|
16206
|
+
# header specifies the ID (Key ID, Key ARN, or Key Alias) of the KMS key
|
16207
|
+
# to use. If you specify `x-amz-server-side-encryption:aws:kms` or
|
16208
|
+
# `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide
|
16209
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
16210
|
+
# Amazon Web Services managed key (`aws/s3`) to protect the data.
|
16211
|
+
#
|
16212
|
+
# **Directory buckets** - If you specify `x-amz-server-side-encryption`
|
16213
|
+
# with `aws:kms`, you must specify the `
|
16214
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header with the ID (Key
|
16215
|
+
# ID or Key ARN) of the KMS symmetric encryption customer managed key to
|
16216
|
+
# use. Otherwise, you get an HTTP `400 Bad Request` error. Only use the
|
16217
|
+
# key ID or key ARN. The key alias format of the KMS key isn't
|
16218
|
+
# supported. Your SSE-KMS configuration can only support 1 [customer
|
16219
|
+
# managed key][1] per directory bucket for the lifetime of the bucket.
|
16220
|
+
# [Amazon Web Services managed key][2] (`aws/s3`) isn't supported.
|
16221
|
+
#
|
16222
|
+
#
|
16223
|
+
#
|
16224
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
16225
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
15548
16226
|
#
|
15549
|
-
#
|
16227
|
+
# @option params [String] :ssekms_encryption_context
|
16228
|
+
# Specifies the Amazon Web Services KMS Encryption Context as an
|
16229
|
+
# additional encryption context to use for object encryption. The value
|
16230
|
+
# of this header is a Base64-encoded string of a UTF-8 encoded JSON,
|
16231
|
+
# which contains the encryption context as key-value pairs. This value
|
16232
|
+
# is stored as object metadata and automatically gets passed on to
|
16233
|
+
# Amazon Web Services KMS for future `GetObject` operations on this
|
16234
|
+
# object.
|
15550
16235
|
#
|
15551
|
-
#
|
16236
|
+
# **General purpose buckets** - This value must be explicitly added
|
16237
|
+
# during `CopyObject` operations if you want an additional encryption
|
16238
|
+
# context for your object. For more information, see [Encryption
|
16239
|
+
# context][1] in the *Amazon S3 User Guide*.
|
15552
16240
|
#
|
15553
|
-
#
|
15554
|
-
#
|
15555
|
-
#
|
15556
|
-
#
|
15557
|
-
# value is stored as object metadata and automatically gets passed on to
|
15558
|
-
# Amazon Web Services KMS for future `GetObject` or `CopyObject`
|
15559
|
-
# operations on this object. This value must be explicitly added during
|
15560
|
-
# `CopyObject` operations.
|
16241
|
+
# **Directory buckets** - You can optionally provide an explicit
|
16242
|
+
# encryption context value. The value must match the default encryption
|
16243
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
16244
|
+
# encryption context value is not supported.
|
15561
16245
|
#
|
15562
|
-
# <note markdown="1"> This functionality is not supported for directory buckets.
|
15563
16246
|
#
|
15564
|
-
#
|
16247
|
+
#
|
16248
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context
|
15565
16249
|
#
|
15566
16250
|
# @option params [Boolean] :bucket_key_enabled
|
15567
16251
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
15568
16252
|
# encryption with server-side encryption using Key Management Service
|
15569
|
-
# (KMS) keys (SSE-KMS).
|
15570
|
-
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
16253
|
+
# (KMS) keys (SSE-KMS).
|
15571
16254
|
#
|
15572
|
-
#
|
15573
|
-
#
|
16255
|
+
# **General purpose buckets** - Setting this header to `true` causes
|
16256
|
+
# Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.
|
16257
|
+
# Also, specifying this header with a PUT action doesn't affect
|
16258
|
+
# bucket-level settings for S3 Bucket Key.
|
16259
|
+
#
|
16260
|
+
# **Directory buckets** - S3 Bucket Keys are always enabled for `GET`
|
16261
|
+
# and `PUT` operations in a directory bucket and can’t be disabled. S3
|
16262
|
+
# Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects
|
16263
|
+
# from general purpose buckets to directory buckets, from directory
|
16264
|
+
# buckets to general purpose buckets, or between directory buckets,
|
16265
|
+
# through [CopyObject][1], [UploadPartCopy][2], [the Copy operation in
|
16266
|
+
# Batch Operations][3], or [the import jobs][4]. In this case, Amazon S3
|
16267
|
+
# makes a call to KMS every time a copy request is made for a
|
16268
|
+
# KMS-encrypted object.
|
15574
16269
|
#
|
15575
|
-
# <note markdown="1"> This functionality is not supported for directory buckets.
|
15576
16270
|
#
|
15577
|
-
#
|
16271
|
+
#
|
16272
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
16273
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
16274
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
|
16275
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
|
15578
16276
|
#
|
15579
16277
|
# @option params [String] :request_payer
|
15580
16278
|
# Confirms that the requester knows that they will be charged for the
|
@@ -15652,24 +16350,22 @@ module Aws::S3
|
|
15652
16350
|
# * {Types::PutObjectOutput#request_charged #request_charged} => String
|
15653
16351
|
#
|
15654
16352
|
#
|
15655
|
-
# @example Example: To upload an object
|
16353
|
+
# @example Example: To upload an object and specify canned ACL.
|
15656
16354
|
#
|
15657
|
-
# # The following example uploads
|
15658
|
-
# #
|
16355
|
+
# # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
|
16356
|
+
# # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
|
15659
16357
|
#
|
15660
16358
|
# resp = client.put_object({
|
15661
|
-
#
|
16359
|
+
# acl: "authenticated-read",
|
16360
|
+
# body: "filetoupload",
|
15662
16361
|
# bucket: "examplebucket",
|
15663
|
-
# key: "
|
15664
|
-
# server_side_encryption: "AES256",
|
15665
|
-
# storage_class: "STANDARD_IA",
|
16362
|
+
# key: "exampleobject",
|
15666
16363
|
# })
|
15667
16364
|
#
|
15668
16365
|
# resp.to_h outputs the following:
|
15669
16366
|
# {
|
15670
16367
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15671
|
-
#
|
15672
|
-
# version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
|
16368
|
+
# version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
|
15673
16369
|
# }
|
15674
16370
|
#
|
15675
16371
|
# @example Example: To create an object.
|
@@ -15723,63 +16419,65 @@ module Aws::S3
|
|
15723
16419
|
# version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
|
15724
16420
|
# }
|
15725
16421
|
#
|
15726
|
-
# @example Example: To upload an object and specify
|
16422
|
+
# @example Example: To upload an object and specify server-side encryption and object tags
|
15727
16423
|
#
|
15728
|
-
# # The following example uploads
|
15729
|
-
# #
|
16424
|
+
# # The following example uploads an object. The request specifies the optional server-side encryption option. The request
|
16425
|
+
# # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
|
15730
16426
|
#
|
15731
16427
|
# resp = client.put_object({
|
15732
|
-
# acl: "authenticated-read",
|
15733
16428
|
# body: "filetoupload",
|
15734
16429
|
# bucket: "examplebucket",
|
15735
16430
|
# key: "exampleobject",
|
16431
|
+
# server_side_encryption: "AES256",
|
16432
|
+
# tagging: "key1=value1&key2=value2",
|
15736
16433
|
# })
|
15737
16434
|
#
|
15738
16435
|
# resp.to_h outputs the following:
|
15739
16436
|
# {
|
15740
16437
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15741
|
-
#
|
16438
|
+
# server_side_encryption: "AES256",
|
16439
|
+
# version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
|
15742
16440
|
# }
|
15743
16441
|
#
|
15744
|
-
# @example Example: To upload object
|
16442
|
+
# @example Example: To upload an object (specify optional headers)
|
15745
16443
|
#
|
15746
|
-
# # The following example
|
15747
|
-
# #
|
16444
|
+
# # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
|
16445
|
+
# # storage class and use server-side encryption.
|
15748
16446
|
#
|
15749
16447
|
# resp = client.put_object({
|
15750
|
-
# body: "
|
16448
|
+
# body: "HappyFace.jpg",
|
15751
16449
|
# bucket: "examplebucket",
|
15752
|
-
# key: "
|
15753
|
-
#
|
15754
|
-
#
|
15755
|
-
# "metadata2" => "value2",
|
15756
|
-
# },
|
16450
|
+
# key: "HappyFace.jpg",
|
16451
|
+
# server_side_encryption: "AES256",
|
16452
|
+
# storage_class: "STANDARD_IA",
|
15757
16453
|
# })
|
15758
16454
|
#
|
15759
16455
|
# resp.to_h outputs the following:
|
15760
16456
|
# {
|
15761
16457
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15762
|
-
#
|
16458
|
+
# server_side_encryption: "AES256",
|
16459
|
+
# version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
|
15763
16460
|
# }
|
15764
16461
|
#
|
15765
|
-
# @example Example: To upload
|
16462
|
+
# @example Example: To upload object and specify user-defined metadata
|
15766
16463
|
#
|
15767
|
-
# # The following example
|
15768
|
-
# #
|
16464
|
+
# # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
|
16465
|
+
# # enabled, S3 returns version ID in response.
|
15769
16466
|
#
|
15770
16467
|
# resp = client.put_object({
|
15771
16468
|
# body: "filetoupload",
|
15772
16469
|
# bucket: "examplebucket",
|
15773
16470
|
# key: "exampleobject",
|
15774
|
-
#
|
15775
|
-
#
|
16471
|
+
# metadata: {
|
16472
|
+
# "metadata1" => "value1",
|
16473
|
+
# "metadata2" => "value2",
|
16474
|
+
# },
|
15776
16475
|
# })
|
15777
16476
|
#
|
15778
16477
|
# resp.to_h outputs the following:
|
15779
16478
|
# {
|
15780
16479
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15781
|
-
#
|
15782
|
-
# version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
|
16480
|
+
# version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
|
15783
16481
|
# }
|
15784
16482
|
#
|
15785
16483
|
# @example Streaming a file from disk
|
@@ -17792,6 +18490,10 @@ module Aws::S3
|
|
17792
18490
|
# interruptions when a session expires. For more information about
|
17793
18491
|
# authorization, see [ `CreateSession` ][9].
|
17794
18492
|
#
|
18493
|
+
# If the object is encrypted with SSE-KMS, you must also have the
|
18494
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
18495
|
+
# identity-based policies and KMS key policies for the KMS key.
|
18496
|
+
#
|
17795
18497
|
# Data integrity
|
17796
18498
|
#
|
17797
18499
|
# : **General purpose bucket** - To ensure that data is not corrupted
|
@@ -17843,12 +18545,13 @@ module Aws::S3
|
|
17843
18545
|
#
|
17844
18546
|
# * x-amz-server-side-encryption-customer-key-MD5
|
17845
18547
|
#
|
17846
|
-
#
|
17847
|
-
#
|
17848
|
-
# supported.
|
18548
|
+
# For more information, see [Using Server-Side Encryption][11] in
|
18549
|
+
# the *Amazon S3 User Guide*.
|
17849
18550
|
#
|
17850
|
-
#
|
17851
|
-
#
|
18551
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
18552
|
+
# two supported options for server-side encryption: server-side
|
18553
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
18554
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`).
|
17852
18555
|
#
|
17853
18556
|
# Special errors
|
17854
18557
|
# : * Error Code: `NoSuchUpload`
|
@@ -17978,9 +18681,9 @@ module Aws::S3
|
|
17978
18681
|
# @option params [String] :checksum_crc32
|
17979
18682
|
# This header can be used as a data integrity check to verify that the
|
17980
18683
|
# data received is the same data that was originally sent. This header
|
17981
|
-
# specifies the base64-encoded, 32-bit
|
17982
|
-
# more information, see [Checking object integrity][1] in the
|
17983
|
-
# User Guide*.
|
18684
|
+
# specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
|
18685
|
+
# For more information, see [Checking object integrity][1] in the
|
18686
|
+
# *Amazon S3 User Guide*.
|
17984
18687
|
#
|
17985
18688
|
#
|
17986
18689
|
#
|
@@ -17989,7 +18692,7 @@ module Aws::S3
|
|
17989
18692
|
# @option params [String] :checksum_crc32c
|
17990
18693
|
# This header can be used as a data integrity check to verify that the
|
17991
18694
|
# data received is the same data that was originally sent. This header
|
17992
|
-
# specifies the base64-encoded, 32-bit
|
18695
|
+
# specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
|
17993
18696
|
# For more information, see [Checking object integrity][1] in the
|
17994
18697
|
# *Amazon S3 User Guide*.
|
17995
18698
|
#
|
@@ -18261,6 +18964,10 @@ module Aws::S3
|
|
18261
18964
|
# destination. The `s3express:SessionMode` condition key cannot be
|
18262
18965
|
# set to `ReadOnly` on the copy destination.
|
18263
18966
|
#
|
18967
|
+
# If the object is encrypted with SSE-KMS, you must also have the
|
18968
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
18969
|
+
# identity-based policies and KMS key policies for the KMS key.
|
18970
|
+
#
|
18264
18971
|
# For example policies, see [Example bucket policies for S3 Express
|
18265
18972
|
# One Zone][10] and [Amazon Web Services Identity and Access
|
18266
18973
|
# Management (IAM) identity-based policies for S3 Express One
|
@@ -18272,9 +18979,26 @@ module Aws::S3
|
|
18272
18979
|
# the `UploadPartCopy` operation, see [CopyObject][12] and
|
18273
18980
|
# [UploadPart][2].
|
18274
18981
|
#
|
18275
|
-
# * <b>Directory buckets </b> - For directory buckets, only
|
18276
|
-
# server-side encryption
|
18277
|
-
# (`AES256`)
|
18982
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
18983
|
+
# two supported options for server-side encryption: server-side
|
18984
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
18985
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). For
|
18986
|
+
# more information, see [Protecting data with server-side
|
18987
|
+
# encryption][13] in the *Amazon S3 User Guide*.
|
18988
|
+
#
|
18989
|
+
# <note markdown="1"> For directory buckets, when you perform a `CreateMultipartUpload`
|
18990
|
+
# operation and an `UploadPartCopy` operation, the request headers
|
18991
|
+
# you provide in the `CreateMultipartUpload` request must match the
|
18992
|
+
# default encryption configuration of the destination bucket.
|
18993
|
+
#
|
18994
|
+
# </note>
|
18995
|
+
#
|
18996
|
+
# S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted
|
18997
|
+
# objects from general purpose buckets to directory buckets, from
|
18998
|
+
# directory buckets to general purpose buckets, or between directory
|
18999
|
+
# buckets, through [UploadPartCopy][14]. In this case, Amazon S3
|
19000
|
+
# makes a call to KMS every time a copy request is made for a
|
19001
|
+
# KMS-encrypted object.
|
18278
19002
|
#
|
18279
19003
|
# Special errors
|
18280
19004
|
# : * Error Code: `NoSuchUpload`
|
@@ -18299,17 +19023,17 @@ module Aws::S3
|
|
18299
19023
|
#
|
18300
19024
|
# The following operations are related to `UploadPartCopy`:
|
18301
19025
|
#
|
18302
|
-
# * [CreateMultipartUpload][
|
19026
|
+
# * [CreateMultipartUpload][15]
|
18303
19027
|
#
|
18304
19028
|
# * [UploadPart][2]
|
18305
19029
|
#
|
18306
|
-
# * [CompleteMultipartUpload][
|
19030
|
+
# * [CompleteMultipartUpload][16]
|
18307
19031
|
#
|
18308
|
-
# * [AbortMultipartUpload][
|
19032
|
+
# * [AbortMultipartUpload][17]
|
18309
19033
|
#
|
18310
|
-
# * [ListParts][
|
19034
|
+
# * [ListParts][18]
|
18311
19035
|
#
|
18312
|
-
# * [ListMultipartUploads][
|
19036
|
+
# * [ListMultipartUploads][19]
|
18313
19037
|
#
|
18314
19038
|
#
|
18315
19039
|
#
|
@@ -18325,11 +19049,13 @@ module Aws::S3
|
|
18325
19049
|
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
|
18326
19050
|
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
|
18327
19051
|
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
18328
|
-
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/
|
18329
|
-
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
18330
|
-
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
18331
|
-
# [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
18332
|
-
# [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
19052
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
19053
|
+
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
19054
|
+
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
|
19055
|
+
# [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
|
19056
|
+
# [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
|
19057
|
+
# [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
|
19058
|
+
# [19]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
|
18333
19059
|
#
|
18334
19060
|
# @option params [required, String] :bucket
|
18335
19061
|
# The bucket name.
|
@@ -18852,7 +19578,7 @@ module Aws::S3
|
|
18852
19578
|
# @option params [String] :checksum_crc32
|
18853
19579
|
# This header can be used as a data integrity check to verify that the
|
18854
19580
|
# data received is the same data that was originally sent. This
|
18855
|
-
# specifies the base64-encoded, 32-bit
|
19581
|
+
# specifies the base64-encoded, 32-bit CRC-32 checksum of the object
|
18856
19582
|
# returned by the Object Lambda function. This may not match the
|
18857
19583
|
# checksum for the object stored in Amazon S3. Amazon S3 will perform
|
18858
19584
|
# validation of the checksum values only when the original `GetObject`
|
@@ -18872,7 +19598,7 @@ module Aws::S3
|
|
18872
19598
|
# @option params [String] :checksum_crc32c
|
18873
19599
|
# This header can be used as a data integrity check to verify that the
|
18874
19600
|
# data received is the same data that was originally sent. This
|
18875
|
-
# specifies the base64-encoded, 32-bit
|
19601
|
+
# specifies the base64-encoded, 32-bit CRC-32C checksum of the object
|
18876
19602
|
# returned by the Object Lambda function. This may not match the
|
18877
19603
|
# checksum for the object stored in Amazon S3. Amazon S3 will perform
|
18878
19604
|
# validation of the checksum values only when the original `GetObject`
|
@@ -19115,7 +19841,7 @@ module Aws::S3
|
|
19115
19841
|
tracer: tracer
|
19116
19842
|
)
|
19117
19843
|
context[:gem_name] = 'aws-sdk-s3'
|
19118
|
-
context[:gem_version] = '1.
|
19844
|
+
context[:gem_version] = '1.167.0'
|
19119
19845
|
Seahorse::Client::Request.new(handlers, context)
|
19120
19846
|
end
|
19121
19847
|
|