aws-sdk-s3 1.157.0 → 1.166.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +45 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/bucket.rb +202 -59
- data/lib/aws-sdk-s3/client.rb +1544 -595
- data/lib/aws-sdk-s3/client_api.rb +25 -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/endpoints.rb +99 -396
- data/lib/aws-sdk-s3/errors.rb +3 -0
- data/lib/aws-sdk-s3/multipart_upload.rb +23 -0
- data/lib/aws-sdk-s3/object.rb +367 -125
- data/lib/aws-sdk-s3/object_summary.rb +351 -105
- data/lib/aws-sdk-s3/object_version.rb +26 -4
- data/lib/aws-sdk-s3/plugins/endpoints.rb +23 -8
- data/lib/aws-sdk-s3/resource.rb +10 -8
- data/lib/aws-sdk-s3/types.rb +923 -335
- data/lib/aws-sdk-s3.rb +35 -31
- data/sig/bucket.rbs +1 -0
- data/sig/client.rbs +18 -2
- data/sig/multipart_upload.rbs +1 -0
- data/sig/object.rbs +1 -0
- data/sig/object_summary.rbs +1 -0
- data/sig/resource.rbs +4 -1
- data/sig/types.rbs +19 -2
- metadata +5 -4
data/lib/aws-sdk-s3/client.rb
CHANGED
@@ -32,6 +32,7 @@ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
|
|
32
32
|
require 'aws-sdk-core/plugins/request_compression.rb'
|
33
33
|
require 'aws-sdk-core/plugins/defaults_mode.rb'
|
34
34
|
require 'aws-sdk-core/plugins/recursion_detection.rb'
|
35
|
+
require 'aws-sdk-core/plugins/telemetry.rb'
|
35
36
|
require 'aws-sdk-core/plugins/sign.rb'
|
36
37
|
require 'aws-sdk-core/plugins/protocols/rest_xml.rb'
|
37
38
|
require 'aws-sdk-s3/plugins/accelerate.rb'
|
@@ -56,8 +57,6 @@ require 'aws-sdk-s3/plugins/streaming_retry.rb'
|
|
56
57
|
require 'aws-sdk-s3/plugins/url_encoded_keys.rb'
|
57
58
|
require 'aws-sdk-core/plugins/event_stream_configuration.rb'
|
58
59
|
|
59
|
-
Aws::Plugins::GlobalConfiguration.add_identifier(:s3)
|
60
|
-
|
61
60
|
module Aws::S3
|
62
61
|
# An API client for S3. To construct a client, you need to configure a `:region` and `:credentials`.
|
63
62
|
#
|
@@ -104,6 +103,7 @@ module Aws::S3
|
|
104
103
|
add_plugin(Aws::Plugins::RequestCompression)
|
105
104
|
add_plugin(Aws::Plugins::DefaultsMode)
|
106
105
|
add_plugin(Aws::Plugins::RecursionDetection)
|
106
|
+
add_plugin(Aws::Plugins::Telemetry)
|
107
107
|
add_plugin(Aws::Plugins::Sign)
|
108
108
|
add_plugin(Aws::Plugins::Protocols::RestXml)
|
109
109
|
add_plugin(Aws::S3::Plugins::Accelerate)
|
@@ -170,13 +170,15 @@ module Aws::S3
|
|
170
170
|
# locations will be searched for credentials:
|
171
171
|
#
|
172
172
|
# * `Aws.config[:credentials]`
|
173
|
-
# * The `:access_key_id`, `:secret_access_key`,
|
174
|
-
#
|
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']
|
175
177
|
# * `~/.aws/credentials`
|
176
178
|
# * `~/.aws/config`
|
177
179
|
# * EC2/ECS IMDS instance profile - When used by default, the timeouts
|
178
180
|
# are very aggressive. Construct and pass an instance of
|
179
|
-
# `Aws::
|
181
|
+
# `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
|
180
182
|
# enable retries and extended timeouts. Instance profile credential
|
181
183
|
# fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
|
182
184
|
# to true.
|
@@ -205,6 +207,8 @@ module Aws::S3
|
|
205
207
|
#
|
206
208
|
# @option options [String] :access_key_id
|
207
209
|
#
|
210
|
+
# @option options [String] :account_id
|
211
|
+
#
|
208
212
|
# @option options [Boolean] :active_endpoint_cache (false)
|
209
213
|
# When set to `true`, a thread polling for endpoints will be running in
|
210
214
|
# the background every 60 secs (default). Defaults to `false`.
|
@@ -432,6 +436,16 @@ module Aws::S3
|
|
432
436
|
# ** Please note ** When response stubbing is enabled, no HTTP
|
433
437
|
# requests are made, and retries are disabled.
|
434
438
|
#
|
439
|
+
# @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
|
440
|
+
# Allows you to provide a telemetry provider, which is used to
|
441
|
+
# emit telemetry data. By default, uses `NoOpTelemetryProvider` which
|
442
|
+
# will not record or emit any telemetry data. The SDK supports the
|
443
|
+
# following telemetry providers:
|
444
|
+
#
|
445
|
+
# * OpenTelemetry (OTel) - To use the OTel provider, install and require the
|
446
|
+
# `opentelemetry-sdk` gem and then, pass in an instance of a
|
447
|
+
# `Aws::Telemetry::OTelProvider` for telemetry provider.
|
448
|
+
#
|
435
449
|
# @option options [Aws::TokenProvider] :token_provider
|
436
450
|
# A Bearer Token Provider. This can be an instance of any one of the
|
437
451
|
# following classes:
|
@@ -464,7 +478,9 @@ module Aws::S3
|
|
464
478
|
# sending the request.
|
465
479
|
#
|
466
480
|
# @option options [Aws::S3::EndpointProvider] :endpoint_provider
|
467
|
-
# 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`.
|
468
484
|
#
|
469
485
|
# @option options [Float] :http_continue_timeout (1)
|
470
486
|
# The number of seconds to wait for a 100-continue response before sending the
|
@@ -520,6 +536,12 @@ module Aws::S3
|
|
520
536
|
# @option options [String] :ssl_ca_store
|
521
537
|
# Sets the X509::Store to verify peer certificate.
|
522
538
|
#
|
539
|
+
# @option options [OpenSSL::X509::Certificate] :ssl_cert
|
540
|
+
# Sets a client certificate when creating http connections.
|
541
|
+
#
|
542
|
+
# @option options [OpenSSL::PKey] :ssl_key
|
543
|
+
# Sets a client key when creating http connections.
|
544
|
+
#
|
523
545
|
# @option options [Float] :ssl_timeout
|
524
546
|
# Sets the SSL timeout in seconds
|
525
547
|
#
|
@@ -544,12 +566,20 @@ module Aws::S3
|
|
544
566
|
# for the part storage, you should call the [ListParts][1] API operation
|
545
567
|
# and ensure that the parts list is empty.
|
546
568
|
#
|
547
|
-
# <note markdown="1"> **Directory buckets** -
|
548
|
-
#
|
549
|
-
#
|
550
|
-
#
|
551
|
-
#
|
552
|
-
#
|
569
|
+
# <note markdown="1"> * **Directory buckets** - If multipart uploads in a directory bucket
|
570
|
+
# are in progress, you can't delete the bucket until all the
|
571
|
+
# in-progress multipart uploads are aborted or completed. To delete
|
572
|
+
# these in-progress multipart uploads, use the `ListMultipartUploads`
|
573
|
+
# operation to list the in-progress multipart uploads in the bucket
|
574
|
+
# and use the `AbortMultupartUpload` operation to abort all the
|
575
|
+
# in-progress multipart uploads.
|
576
|
+
#
|
577
|
+
# * **Directory buckets** - For directory buckets, you must make
|
578
|
+
# requests for this API operation to the Zonal endpoint. These
|
579
|
+
# endpoints support virtual-hosted-style requests in the format
|
580
|
+
# `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
|
581
|
+
# `. Path-style requests are not supported. For more information, see
|
582
|
+
# [Regional and Zonal endpoints][2] in the *Amazon S3 User Guide*.
|
553
583
|
#
|
554
584
|
# </note>
|
555
585
|
#
|
@@ -774,9 +804,15 @@ module Aws::S3
|
|
774
804
|
# [Multipart Upload and Permissions][6] in the *Amazon S3 User
|
775
805
|
# Guide*.
|
776
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
|
+
#
|
777
813
|
# * **Directory bucket permissions** - To grant access to this API
|
778
814
|
# operation on a directory bucket, we recommend that you use the [
|
779
|
-
# `CreateSession` ][
|
815
|
+
# `CreateSession` ][8] API operation for session-based
|
780
816
|
# authorization. Specifically, you grant the
|
781
817
|
# `s3express:CreateSession` permission to the directory bucket in a
|
782
818
|
# bucket policy or an IAM identity-based policy. Then, you make the
|
@@ -787,7 +823,11 @@ module Aws::S3
|
|
787
823
|
# token for use. Amazon Web Services CLI or SDKs create session and
|
788
824
|
# refresh the session token automatically to avoid service
|
789
825
|
# interruptions when a session expires. For more information about
|
790
|
-
# authorization, see [ `CreateSession` ][
|
826
|
+
# authorization, see [ `CreateSession` ][8].
|
827
|
+
#
|
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.
|
791
831
|
#
|
792
832
|
# Special errors
|
793
833
|
# : * Error Code: `EntityTooSmall`
|
@@ -828,15 +868,15 @@ module Aws::S3
|
|
828
868
|
#
|
829
869
|
# The following operations are related to `CompleteMultipartUpload`:
|
830
870
|
#
|
831
|
-
# * [CreateMultipartUpload][
|
871
|
+
# * [CreateMultipartUpload][9]
|
832
872
|
#
|
833
873
|
# * [UploadPart][1]
|
834
874
|
#
|
835
|
-
# * [AbortMultipartUpload][
|
875
|
+
# * [AbortMultipartUpload][10]
|
836
876
|
#
|
837
|
-
# * [ListParts][
|
877
|
+
# * [ListParts][11]
|
838
878
|
#
|
839
|
-
# * [ListMultipartUploads][
|
879
|
+
# * [ListMultipartUploads][12]
|
840
880
|
#
|
841
881
|
#
|
842
882
|
#
|
@@ -846,11 +886,12 @@ module Aws::S3
|
|
846
886
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
|
847
887
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
848
888
|
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
|
849
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
850
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
851
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
852
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
853
|
-
# [11]: 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
|
891
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
|
892
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
|
893
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
|
894
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
|
854
895
|
#
|
855
896
|
# @option params [required, String] :bucket
|
856
897
|
# Name of the bucket to which the multipart upload was initiated.
|
@@ -971,6 +1012,26 @@ module Aws::S3
|
|
971
1012
|
# you provide does not match the actual owner of the bucket, the request
|
972
1013
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
973
1014
|
#
|
1015
|
+
# @option params [String] :if_none_match
|
1016
|
+
# Uploads the object only if the object key name does not already exist
|
1017
|
+
# in the bucket specified. Otherwise, Amazon S3 returns a `412
|
1018
|
+
# Precondition Failed` error.
|
1019
|
+
#
|
1020
|
+
# If a conflicting operation occurs during the upload S3 returns a `409
|
1021
|
+
# ConditionalRequestConflict` response. On a 409 failure you should
|
1022
|
+
# re-initiate the multipart upload with `CreateMultipartUpload` and
|
1023
|
+
# re-upload each part.
|
1024
|
+
#
|
1025
|
+
# Expects the '*' (asterisk) character.
|
1026
|
+
#
|
1027
|
+
# For more information about conditional requests, see [RFC 7232][1], or
|
1028
|
+
# [Conditional requests][2] in the *Amazon S3 User Guide*.
|
1029
|
+
#
|
1030
|
+
#
|
1031
|
+
#
|
1032
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
1033
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
|
1034
|
+
#
|
974
1035
|
# @option params [String] :sse_customer_algorithm
|
975
1036
|
# The server-side encryption (SSE) algorithm used to encrypt the object.
|
976
1037
|
# This parameter is required only when the object was created using a
|
@@ -1086,6 +1147,7 @@ module Aws::S3
|
|
1086
1147
|
# checksum_sha256: "ChecksumSHA256",
|
1087
1148
|
# request_payer: "requester", # accepts requester
|
1088
1149
|
# expected_bucket_owner: "AccountId",
|
1150
|
+
# if_none_match: "IfNoneMatch",
|
1089
1151
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
1090
1152
|
# sse_customer_key: "SSECustomerKey",
|
1091
1153
|
# sse_customer_key_md5: "SSECustomerKeyMD5",
|
@@ -1132,12 +1194,20 @@ module Aws::S3
|
|
1132
1194
|
# between directory buckets, and between general purpose buckets and
|
1133
1195
|
# directory buckets.
|
1134
1196
|
#
|
1135
|
-
# <note markdown="1">
|
1136
|
-
#
|
1137
|
-
#
|
1138
|
-
#
|
1139
|
-
#
|
1140
|
-
#
|
1197
|
+
# <note markdown="1"> * Amazon S3 supports copy operations using Multi-Region Access Points
|
1198
|
+
# only as a destination when using the Multi-Region Access Point ARN.
|
1199
|
+
#
|
1200
|
+
# * <b>Directory buckets </b> - For directory buckets, you must make
|
1201
|
+
# requests for this API operation to the Zonal endpoint. These
|
1202
|
+
# endpoints support virtual-hosted-style requests in the format
|
1203
|
+
# `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
|
1204
|
+
# `. Path-style requests are not supported. For more information, see
|
1205
|
+
# [Regional and Zonal endpoints][2] in the *Amazon S3 User Guide*.
|
1206
|
+
#
|
1207
|
+
# * VPC endpoints don't support cross-Region requests (including
|
1208
|
+
# copies). If you're using VPC endpoints, your source and destination
|
1209
|
+
# buckets should be in the same Amazon Web Services Region as your VPC
|
1210
|
+
# endpoint.
|
1141
1211
|
#
|
1142
1212
|
# </note>
|
1143
1213
|
#
|
@@ -1203,6 +1273,10 @@ module Aws::S3
|
|
1203
1273
|
# destination. The `s3express:SessionMode` condition key can't be
|
1204
1274
|
# set to `ReadOnly` on the copy destination bucket.
|
1205
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
|
+
#
|
1206
1280
|
# For example policies, see [Example bucket policies for S3 Express
|
1207
1281
|
# One Zone][6] and [Amazon Web Services Identity and Access
|
1208
1282
|
# Management (IAM) identity-based policies for S3 Express One
|
@@ -1649,9 +1723,8 @@ module Aws::S3
|
|
1649
1723
|
#
|
1650
1724
|
# @option params [String] :server_side_encryption
|
1651
1725
|
# The server-side encryption algorithm used when storing this object in
|
1652
|
-
# Amazon S3
|
1653
|
-
#
|
1654
|
-
# 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.
|
1655
1728
|
#
|
1656
1729
|
# Amazon S3 automatically encrypts all new objects that are copied to an
|
1657
1730
|
# S3 bucket. When copying an object, if you don't specify encryption
|
@@ -1659,35 +1732,72 @@ module Aws::S3
|
|
1659
1732
|
# object is set to the default encryption configuration of the
|
1660
1733
|
# destination bucket. By default, all buckets have a base level of
|
1661
1734
|
# encryption configuration that uses server-side encryption with Amazon
|
1662
|
-
# S3 managed keys (SSE-S3). If the destination bucket has a
|
1663
|
-
# encryption configuration
|
1664
|
-
#
|
1665
|
-
# encryption with Amazon Web Services KMS keys (DSSE-KMS), or
|
1666
|
-
# server-side encryption with customer-provided encryption keys (SSE-C),
|
1667
|
-
# Amazon S3 uses the corresponding KMS key, or a customer-provided key
|
1668
|
-
# to encrypt the target object copy.
|
1669
|
-
#
|
1670
|
-
# When you perform a `CopyObject` operation, if you want to use a
|
1671
|
-
# different type of encryption setting for the target object, you can
|
1672
|
-
# specify appropriate encryption-related headers to encrypt the target
|
1673
|
-
# object with an Amazon S3 managed key, a KMS key, or a
|
1674
|
-
# customer-provided key. If the encryption setting in your request is
|
1675
|
-
# different from the default encryption configuration of the destination
|
1676
|
-
# 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.
|
1677
1738
|
#
|
1678
1739
|
# With server-side encryption, Amazon S3 encrypts your data as it writes
|
1679
1740
|
# your data to disks in its data centers and decrypts the data when you
|
1680
1741
|
# access it. For more information about server-side encryption, see
|
1681
1742
|
# [Using Server-Side Encryption][1] in the *Amazon S3 User Guide*.
|
1682
1743
|
#
|
1683
|
-
# <
|
1684
|
-
#
|
1685
|
-
#
|
1686
|
-
#
|
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.
|
1687
1793
|
#
|
1688
1794
|
#
|
1689
1795
|
#
|
1690
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
|
1691
1801
|
#
|
1692
1802
|
# @option params [String] :storage_class
|
1693
1803
|
# If the `x-amz-storage-class` header is not used, the copied object
|
@@ -1784,33 +1894,51 @@ module Aws::S3
|
|
1784
1894
|
# </note>
|
1785
1895
|
#
|
1786
1896
|
# @option params [String] :ssekms_key_id
|
1787
|
-
# Specifies the KMS ID (Key ID, Key ARN, or Key Alias) to use for
|
1788
|
-
# encryption. All GET and PUT requests for an object protected by
|
1789
|
-
# will fail if they're not made via SSL or using SigV4. For
|
1790
|
-
# about configuring any of the officially supported Amazon
|
1791
|
-
# SDKs and Amazon Web Services CLI, see [Specifying the
|
1792
|
-
# Version in Request Authentication][1] in the *Amazon S3 User
|
1793
|
-
#
|
1794
|
-
# <note markdown="1"> This functionality is not supported when the destination bucket is a
|
1795
|
-
# 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*.
|
1796
1904
|
#
|
1797
|
-
#
|
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.
|
1798
1914
|
#
|
1799
1915
|
#
|
1800
1916
|
#
|
1801
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
|
1802
1920
|
#
|
1803
1921
|
# @option params [String] :ssekms_encryption_context
|
1804
|
-
# Specifies the Amazon Web Services KMS Encryption Context
|
1805
|
-
#
|
1806
|
-
#
|
1807
|
-
#
|
1808
|
-
# `CopyObject` requests.
|
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.
|
1809
1926
|
#
|
1810
|
-
#
|
1811
|
-
#
|
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.
|
1812
1938
|
#
|
1813
|
-
#
|
1939
|
+
#
|
1940
|
+
#
|
1941
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context
|
1814
1942
|
#
|
1815
1943
|
# @option params [Boolean] :bucket_key_enabled
|
1816
1944
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
@@ -1825,14 +1953,19 @@ module Aws::S3
|
|
1825
1953
|
# For more information, see [Amazon S3 Bucket Keys][1] in the *Amazon S3
|
1826
1954
|
# User Guide*.
|
1827
1955
|
#
|
1828
|
-
# <note markdown="1">
|
1829
|
-
#
|
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.
|
1830
1962
|
#
|
1831
1963
|
# </note>
|
1832
1964
|
#
|
1833
1965
|
#
|
1834
1966
|
#
|
1835
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
|
1836
1969
|
#
|
1837
1970
|
# @option params [String] :copy_source_sse_customer_algorithm
|
1838
1971
|
# Specifies the algorithm to use when decrypting the source object (for
|
@@ -2454,24 +2587,23 @@ module Aws::S3
|
|
2454
2587
|
# Version 4)][5] in the *Amazon S3 User Guide*.
|
2455
2588
|
#
|
2456
2589
|
# Permissions
|
2457
|
-
# : * **General purpose bucket permissions** -
|
2458
|
-
#
|
2459
|
-
#
|
2460
|
-
#
|
2461
|
-
#
|
2462
|
-
#
|
2463
|
-
#
|
2464
|
-
# `
|
2465
|
-
#
|
2466
|
-
#
|
2467
|
-
#
|
2468
|
-
#
|
2469
|
-
#
|
2470
|
-
# Guide*.
|
2590
|
+
# : * **General purpose bucket permissions** - To perform a multipart
|
2591
|
+
# upload with encryption using an Key Management Service (KMS) KMS
|
2592
|
+
# key, the requester must have permission to the `kms:Decrypt` and
|
2593
|
+
# `kms:GenerateDataKey` actions on the key. The requester must also
|
2594
|
+
# have permissions for the `kms:GenerateDataKey` action for the
|
2595
|
+
# `CreateMultipartUpload` API. Then, the requester needs permissions
|
2596
|
+
# for the `kms:Decrypt` action on the `UploadPart` and
|
2597
|
+
# `UploadPartCopy` APIs. These permissions are required because
|
2598
|
+
# Amazon S3 must decrypt and read data from the encrypted file parts
|
2599
|
+
# before it completes the multipart upload. For more information,
|
2600
|
+
# see [Multipart upload API and permissions][6] and [Protecting data
|
2601
|
+
# using server-side encryption with Amazon Web Services KMS][7] in
|
2602
|
+
# the *Amazon S3 User Guide*.
|
2471
2603
|
#
|
2472
2604
|
# * **Directory bucket permissions** - To grant access to this API
|
2473
2605
|
# operation on a directory bucket, we recommend that you use the [
|
2474
|
-
# `CreateSession` ][
|
2606
|
+
# `CreateSession` ][8] API operation for session-based
|
2475
2607
|
# authorization. Specifically, you grant the
|
2476
2608
|
# `s3express:CreateSession` permission to the directory bucket in a
|
2477
2609
|
# bucket policy or an IAM identity-based policy. Then, you make the
|
@@ -2482,7 +2614,7 @@ module Aws::S3
|
|
2482
2614
|
# token for use. Amazon Web Services CLI or SDKs create session and
|
2483
2615
|
# refresh the session token automatically to avoid service
|
2484
2616
|
# interruptions when a session expires. For more information about
|
2485
|
-
# authorization, see [ `CreateSession` ][
|
2617
|
+
# authorization, see [ `CreateSession` ][8].
|
2486
2618
|
#
|
2487
2619
|
# Encryption
|
2488
2620
|
# : * **General purpose buckets** - Server-side encryption is for data
|
@@ -2509,7 +2641,7 @@ module Aws::S3
|
|
2509
2641
|
# the destination bucket, the encryption setting in your request
|
2510
2642
|
# takes precedence. If you choose to provide your own encryption
|
2511
2643
|
# key, the request headers you provide in [UploadPart][1] and
|
2512
|
-
# [UploadPartCopy][
|
2644
|
+
# [UploadPartCopy][9] requests must match the headers you used in
|
2513
2645
|
# the `CreateMultipartUpload` request.
|
2514
2646
|
#
|
2515
2647
|
# * Use KMS keys (SSE-KMS) that include the Amazon Web Services
|
@@ -2535,9 +2667,9 @@ module Aws::S3
|
|
2535
2667
|
# actions on the key. These permissions are required because
|
2536
2668
|
# Amazon S3 must decrypt and read data from the encrypted file
|
2537
2669
|
# parts before it completes the multipart upload. For more
|
2538
|
-
# information, see [Multipart upload API and permissions][
|
2670
|
+
# information, see [Multipart upload API and permissions][6] and
|
2539
2671
|
# [Protecting data using server-side encryption with Amazon Web
|
2540
|
-
# Services KMS][
|
2672
|
+
# Services KMS][7] in the *Amazon S3 User Guide*.
|
2541
2673
|
#
|
2542
2674
|
# * If your Identity and Access Management (IAM) user or role is
|
2543
2675
|
# in the same Amazon Web Services account as the KMS key, then
|
@@ -2552,13 +2684,13 @@ module Aws::S3
|
|
2552
2684
|
# For information about configuring any of the officially
|
2553
2685
|
# supported Amazon Web Services SDKs and Amazon Web Services
|
2554
2686
|
# CLI, see [Specifying the Signature Version in Request
|
2555
|
-
# Authentication][
|
2687
|
+
# Authentication][10] in the *Amazon S3 User Guide*.
|
2556
2688
|
#
|
2557
2689
|
# </note>
|
2558
2690
|
#
|
2559
2691
|
# For more information about server-side encryption with KMS keys
|
2560
2692
|
# (SSE-KMS), see [Protecting Data Using Server-Side Encryption
|
2561
|
-
# with KMS keys][
|
2693
|
+
# with KMS keys][7] in the *Amazon S3 User Guide*.
|
2562
2694
|
#
|
2563
2695
|
# * Use customer-provided encryption keys (SSE-C) – If you want to
|
2564
2696
|
# manage your own encryption keys, provide all the following
|
@@ -2573,11 +2705,55 @@ module Aws::S3
|
|
2573
2705
|
# For more information about server-side encryption with
|
2574
2706
|
# customer-provided encryption keys (SSE-C), see [ Protecting data
|
2575
2707
|
# using server-side encryption with customer-provided encryption
|
2576
|
-
# keys (SSE-C)][
|
2708
|
+
# keys (SSE-C)][11] in the *Amazon S3 User Guide*.
|
2709
|
+
#
|
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.
|
2577
2748
|
#
|
2578
|
-
#
|
2579
|
-
#
|
2580
|
-
#
|
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>
|
2581
2757
|
#
|
2582
2758
|
# HTTP Host header syntax
|
2583
2759
|
#
|
@@ -2588,13 +2764,13 @@ module Aws::S3
|
|
2588
2764
|
#
|
2589
2765
|
# * [UploadPart][1]
|
2590
2766
|
#
|
2591
|
-
# * [CompleteMultipartUpload][
|
2767
|
+
# * [CompleteMultipartUpload][15]
|
2592
2768
|
#
|
2593
|
-
# * [AbortMultipartUpload][
|
2769
|
+
# * [AbortMultipartUpload][16]
|
2594
2770
|
#
|
2595
|
-
# * [ListParts][
|
2771
|
+
# * [ListParts][17]
|
2596
2772
|
#
|
2597
|
-
# * [ListMultipartUploads][
|
2773
|
+
# * [ListMultipartUploads][18]
|
2598
2774
|
#
|
2599
2775
|
#
|
2600
2776
|
#
|
@@ -2603,17 +2779,19 @@ module Aws::S3
|
|
2603
2779
|
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config
|
2604
2780
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
2605
2781
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
|
2606
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2607
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
2608
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2609
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
2610
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2611
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2612
|
-
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
2613
|
-
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2614
|
-
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
2615
|
-
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
2616
|
-
# [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
2782
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
|
2783
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
|
2784
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
2785
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
2786
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
|
2787
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
|
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
|
2617
2795
|
#
|
2618
2796
|
# @option params [String] :acl
|
2619
2797
|
# The canned ACL to apply to the object. Amazon S3 supports a set of
|
@@ -2976,10 +3154,52 @@ module Aws::S3
|
|
2976
3154
|
# The server-side encryption algorithm used when you store this object
|
2977
3155
|
# in Amazon S3 (for example, `AES256`, `aws:kms`).
|
2978
3156
|
#
|
2979
|
-
# <
|
2980
|
-
#
|
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.
|
3194
|
+
#
|
3195
|
+
# </note>
|
2981
3196
|
#
|
2982
|
-
#
|
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
|
2983
3203
|
#
|
2984
3204
|
# @option params [String] :storage_class
|
2985
3205
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
@@ -3038,34 +3258,71 @@ module Aws::S3
|
|
3038
3258
|
# </note>
|
3039
3259
|
#
|
3040
3260
|
# @option params [String] :ssekms_key_id
|
3041
|
-
# Specifies the ID (Key ID, Key ARN, or Key Alias)
|
3042
|
-
# encryption
|
3043
|
-
#
|
3044
|
-
#
|
3045
|
-
#
|
3046
|
-
#
|
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
|
3047
3288
|
#
|
3048
3289
|
# @option params [String] :ssekms_encryption_context
|
3049
3290
|
# Specifies the Amazon Web Services KMS Encryption Context to use for
|
3050
|
-
# object encryption. The value of this header is a
|
3051
|
-
#
|
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.
|
3052
3294
|
#
|
3053
|
-
#
|
3054
|
-
#
|
3055
|
-
#
|
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.
|
3056
3299
|
#
|
3057
3300
|
# @option params [Boolean] :bucket_key_enabled
|
3058
3301
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
3059
3302
|
# encryption with server-side encryption using Key Management Service
|
3060
|
-
# (KMS) keys (SSE-KMS).
|
3061
|
-
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
3303
|
+
# (KMS) keys (SSE-KMS).
|
3062
3304
|
#
|
3063
|
-
#
|
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
|
3064
3308
|
# bucket-level settings for S3 Bucket Key.
|
3065
3309
|
#
|
3066
|
-
#
|
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.
|
3319
|
+
#
|
3067
3320
|
#
|
3068
|
-
#
|
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
|
3069
3326
|
#
|
3070
3327
|
# @option params [String] :request_payer
|
3071
3328
|
# Confirms that the requester knows that they will be charged for the
|
@@ -3226,9 +3483,10 @@ module Aws::S3
|
|
3226
3483
|
|
3227
3484
|
# Creates a session that establishes temporary security credentials to
|
3228
3485
|
# support fast authentication and authorization for the Zonal endpoint
|
3229
|
-
#
|
3230
|
-
#
|
3231
|
-
# [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*.
|
3232
3490
|
#
|
3233
3491
|
# To make Zonal endpoint API requests on a directory bucket, use the
|
3234
3492
|
# `CreateSession` API operation. Specifically, you grant
|
@@ -3237,13 +3495,13 @@ module Aws::S3
|
|
3237
3495
|
# the `CreateSession` API request on the bucket, which returns temporary
|
3238
3496
|
# security credentials that include the access key ID, secret access
|
3239
3497
|
# key, session token, and expiration. These credentials have associated
|
3240
|
-
# permissions to access the Zonal endpoint
|
3241
|
-
# created, you don’t need to use other policies to grant
|
3242
|
-
# each Zonal endpoint API individually. Instead, in your
|
3243
|
-
# API requests, you sign your requests by applying the
|
3244
|
-
# security credentials of the session to the request headers
|
3245
|
-
# following the SigV4 protocol for authentication. You also apply
|
3246
|
-
# 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
|
3247
3505
|
# authorization. Temporary security credentials are scoped to the bucket
|
3248
3506
|
# and expire after 5 minutes. After the expiration time, any calls that
|
3249
3507
|
# you make with those credentials will fail. You must use IAM
|
@@ -3266,16 +3524,16 @@ module Aws::S3
|
|
3266
3524
|
# [Regional and Zonal endpoints][3] in the *Amazon S3 User Guide*.
|
3267
3525
|
#
|
3268
3526
|
# * <b> <code>CopyObject</code> API operation</b> - Unlike other Zonal
|
3269
|
-
# endpoint
|
3270
|
-
# temporary security credentials returned from the `CreateSession`
|
3271
|
-
# 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
|
3272
3530
|
# about authentication and authorization of the `CopyObject` API
|
3273
3531
|
# operation on directory buckets, see [CopyObject][4].
|
3274
3532
|
#
|
3275
3533
|
# * <b> <code>HeadBucket</code> API operation</b> - Unlike other Zonal
|
3276
|
-
# endpoint
|
3277
|
-
# temporary security credentials returned from the `CreateSession`
|
3278
|
-
# 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
|
3279
3537
|
# about authentication and authorization of the `HeadBucket` API
|
3280
3538
|
# operation on directory buckets, see [HeadBucket][5].
|
3281
3539
|
#
|
@@ -3294,9 +3552,71 @@ module Aws::S3
|
|
3294
3552
|
# Identity and Access Management (IAM) identity-based policies for S3
|
3295
3553
|
# Express One Zone][8] in the *Amazon S3 User Guide*.
|
3296
3554
|
#
|
3297
|
-
# To grant cross-account access to Zonal endpoint
|
3298
|
-
# policy should also grant both accounts the
|
3299
|
-
# 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>
|
3300
3620
|
#
|
3301
3621
|
# HTTP Host header syntax
|
3302
3622
|
#
|
@@ -3313,21 +3633,110 @@ module Aws::S3
|
|
3313
3633
|
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html#API_CreateSession_RequestParameters
|
3314
3634
|
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
|
3315
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
|
3316
3643
|
#
|
3317
3644
|
# @option params [String] :session_mode
|
3318
3645
|
# Specifies the mode of the session that will be created, either
|
3319
3646
|
# `ReadWrite` or `ReadOnly`. By default, a `ReadWrite` session is
|
3320
3647
|
# created. A `ReadWrite` session is capable of executing all the Zonal
|
3321
|
-
# endpoint
|
3322
|
-
# constrained to execute the following Zonal endpoint
|
3323
|
-
# `HeadObject`, `ListObjectsV2`, `GetObjectAttributes`,
|
3324
|
-
# `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`.
|
3325
3652
|
#
|
3326
3653
|
# @option params [required, String] :bucket
|
3327
3654
|
# The name of the bucket that you create a session for.
|
3328
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
|
+
#
|
3329
3734
|
# @return [Types::CreateSessionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
3330
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
|
3331
3740
|
# * {Types::CreateSessionOutput#credentials #credentials} => Types::SessionCredentials
|
3332
3741
|
#
|
3333
3742
|
# @example Request syntax with placeholder values
|
@@ -3335,10 +3744,18 @@ module Aws::S3
|
|
3335
3744
|
# resp = client.create_session({
|
3336
3745
|
# session_mode: "ReadOnly", # accepts ReadOnly, ReadWrite
|
3337
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,
|
3338
3751
|
# })
|
3339
3752
|
#
|
3340
3753
|
# @example Response structure
|
3341
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
|
3342
3759
|
# resp.credentials.access_key_id #=> String
|
3343
3760
|
# resp.credentials.secret_access_key #=> String
|
3344
3761
|
# resp.credentials.session_token #=> String
|
@@ -3584,47 +4001,92 @@ module Aws::S3
|
|
3584
4001
|
req.send_request(options)
|
3585
4002
|
end
|
3586
4003
|
|
3587
|
-
#
|
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].
|
3588
4017
|
#
|
3589
4018
|
# </note>
|
3590
4019
|
#
|
3591
|
-
#
|
3592
|
-
#
|
3593
|
-
#
|
3594
|
-
#
|
3595
|
-
#
|
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].
|
3596
4028
|
#
|
3597
|
-
#
|
3598
|
-
#
|
3599
|
-
# permission
|
3600
|
-
#
|
3601
|
-
#
|
3602
|
-
#
|
3603
|
-
#
|
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`.
|
3604
4044
|
#
|
3605
4045
|
# The following operations are related to `DeleteBucketEncryption`:
|
3606
4046
|
#
|
3607
|
-
# * [PutBucketEncryption][
|
4047
|
+
# * [PutBucketEncryption][6]
|
3608
4048
|
#
|
3609
|
-
# * [GetBucketEncryption][
|
4049
|
+
# * [GetBucketEncryption][7]
|
3610
4050
|
#
|
3611
4051
|
#
|
3612
4052
|
#
|
3613
4053
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
|
3614
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
3615
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-
|
3616
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/
|
3617
|
-
# [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
|
3618
4060
|
#
|
3619
4061
|
# @option params [required, String] :bucket
|
3620
4062
|
# The name of the bucket containing the server-side encryption
|
3621
4063
|
# configuration to delete.
|
3622
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
|
+
#
|
3623
4079
|
# @option params [String] :expected_bucket_owner
|
3624
4080
|
# The account ID of the expected bucket owner. If the account ID that
|
3625
4081
|
# you provide does not match the actual owner of the bucket, the request
|
3626
4082
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
3627
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
|
+
#
|
3628
4090
|
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
3629
4091
|
#
|
3630
4092
|
# @example Request syntax with placeholder values
|
@@ -4498,6 +4960,15 @@ module Aws::S3
|
|
4498
4960
|
# * {Types::DeleteObjectOutput#request_charged #request_charged} => String
|
4499
4961
|
#
|
4500
4962
|
#
|
4963
|
+
# @example Example: To delete an object (from a non-versioned bucket)
|
4964
|
+
#
|
4965
|
+
# # The following example deletes an object from a non-versioned bucket.
|
4966
|
+
#
|
4967
|
+
# resp = client.delete_object({
|
4968
|
+
# bucket: "ExampleBucket",
|
4969
|
+
# key: "HappyFace.jpg",
|
4970
|
+
# })
|
4971
|
+
#
|
4501
4972
|
# @example Example: To delete an object
|
4502
4973
|
#
|
4503
4974
|
# # The following example deletes an object from an S3 bucket.
|
@@ -4511,15 +4982,6 @@ module Aws::S3
|
|
4511
4982
|
# {
|
4512
4983
|
# }
|
4513
4984
|
#
|
4514
|
-
# @example Example: To delete an object (from a non-versioned bucket)
|
4515
|
-
#
|
4516
|
-
# # The following example deletes an object from a non-versioned bucket.
|
4517
|
-
#
|
4518
|
-
# resp = client.delete_object({
|
4519
|
-
# bucket: "ExampleBucket",
|
4520
|
-
# key: "HappyFace.jpg",
|
4521
|
-
# })
|
4522
|
-
#
|
4523
4985
|
# @example Request syntax with placeholder values
|
4524
4986
|
#
|
4525
4987
|
# resp = client.delete_object({
|
@@ -4618,35 +5080,35 @@ module Aws::S3
|
|
4618
5080
|
# * {Types::DeleteObjectTaggingOutput#version_id #version_id} => String
|
4619
5081
|
#
|
4620
5082
|
#
|
4621
|
-
# @example Example: To remove tag set from an object
|
5083
|
+
# @example Example: To remove tag set from an object
|
4622
5084
|
#
|
4623
|
-
# # The following example removes tag set associated with the specified object
|
4624
|
-
# #
|
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.
|
4625
5087
|
#
|
4626
5088
|
# resp = client.delete_object_tagging({
|
4627
5089
|
# bucket: "examplebucket",
|
4628
5090
|
# key: "HappyFace.jpg",
|
4629
|
-
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
4630
5091
|
# })
|
4631
5092
|
#
|
4632
5093
|
# resp.to_h outputs the following:
|
4633
5094
|
# {
|
4634
|
-
# version_id: "
|
5095
|
+
# version_id: "null",
|
4635
5096
|
# }
|
4636
5097
|
#
|
4637
|
-
# @example Example: To remove tag set from an object
|
5098
|
+
# @example Example: To remove tag set from an object version
|
4638
5099
|
#
|
4639
|
-
# # The following example removes tag set associated with the specified object.
|
4640
|
-
# #
|
5100
|
+
# # The following example removes tag set associated with the specified object version. The request specifies both the
|
5101
|
+
# # object key and object version.
|
4641
5102
|
#
|
4642
5103
|
# resp = client.delete_object_tagging({
|
4643
5104
|
# bucket: "examplebucket",
|
4644
5105
|
# key: "HappyFace.jpg",
|
5106
|
+
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
4645
5107
|
# })
|
4646
5108
|
#
|
4647
5109
|
# resp.to_h outputs the following:
|
4648
5110
|
# {
|
4649
|
-
# version_id: "
|
5111
|
+
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
4650
5112
|
# }
|
4651
5113
|
#
|
4652
5114
|
# @example Request syntax with placeholder values
|
@@ -4929,20 +5391,22 @@ module Aws::S3
|
|
4929
5391
|
# * {Types::DeleteObjectsOutput#errors #errors} => Array<Types::Error>
|
4930
5392
|
#
|
4931
5393
|
#
|
4932
|
-
# @example Example: To delete multiple
|
5394
|
+
# @example Example: To delete multiple object versions from a versioned bucket
|
4933
5395
|
#
|
4934
|
-
# # The following example deletes objects from a bucket. The
|
4935
|
-
# #
|
5396
|
+
# # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
|
5397
|
+
# # versions and returns the key and versions of deleted objects in the response.
|
4936
5398
|
#
|
4937
5399
|
# resp = client.delete_objects({
|
4938
5400
|
# bucket: "examplebucket",
|
4939
5401
|
# delete: {
|
4940
5402
|
# objects: [
|
4941
5403
|
# {
|
4942
|
-
# key: "
|
5404
|
+
# key: "HappyFace.jpg",
|
5405
|
+
# version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
|
4943
5406
|
# },
|
4944
5407
|
# {
|
4945
|
-
# key: "
|
5408
|
+
# key: "HappyFace.jpg",
|
5409
|
+
# version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
|
4946
5410
|
# },
|
4947
5411
|
# ],
|
4948
5412
|
# quiet: false,
|
@@ -4953,34 +5417,30 @@ module Aws::S3
|
|
4953
5417
|
# {
|
4954
5418
|
# deleted: [
|
4955
5419
|
# {
|
4956
|
-
#
|
4957
|
-
#
|
4958
|
-
# key: "objectkey1",
|
5420
|
+
# key: "HappyFace.jpg",
|
5421
|
+
# version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
|
4959
5422
|
# },
|
4960
5423
|
# {
|
4961
|
-
#
|
4962
|
-
#
|
4963
|
-
# key: "objectkey2",
|
5424
|
+
# key: "HappyFace.jpg",
|
5425
|
+
# version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
|
4964
5426
|
# },
|
4965
5427
|
# ],
|
4966
5428
|
# }
|
4967
5429
|
#
|
4968
|
-
# @example Example: To delete multiple
|
5430
|
+
# @example Example: To delete multiple objects from a versioned bucket
|
4969
5431
|
#
|
4970
|
-
# # The following example deletes objects from a bucket. The
|
4971
|
-
# #
|
5432
|
+
# # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
|
5433
|
+
# # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
|
4972
5434
|
#
|
4973
5435
|
# resp = client.delete_objects({
|
4974
5436
|
# bucket: "examplebucket",
|
4975
5437
|
# delete: {
|
4976
5438
|
# objects: [
|
4977
5439
|
# {
|
4978
|
-
# key: "
|
4979
|
-
# version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
|
5440
|
+
# key: "objectkey1",
|
4980
5441
|
# },
|
4981
5442
|
# {
|
4982
|
-
# key: "
|
4983
|
-
# version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
|
5443
|
+
# key: "objectkey2",
|
4984
5444
|
# },
|
4985
5445
|
# ],
|
4986
5446
|
# quiet: false,
|
@@ -4991,12 +5451,14 @@ module Aws::S3
|
|
4991
5451
|
# {
|
4992
5452
|
# deleted: [
|
4993
5453
|
# {
|
4994
|
-
#
|
4995
|
-
#
|
5454
|
+
# delete_marker: true,
|
5455
|
+
# delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
|
5456
|
+
# key: "objectkey1",
|
4996
5457
|
# },
|
4997
5458
|
# {
|
4998
|
-
#
|
4999
|
-
#
|
5459
|
+
# delete_marker: true,
|
5460
|
+
# delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
|
5461
|
+
# key: "objectkey2",
|
5000
5462
|
# },
|
5001
5463
|
# ],
|
5002
5464
|
# }
|
@@ -5499,46 +5961,92 @@ module Aws::S3
|
|
5499
5961
|
req.send_request(options)
|
5500
5962
|
end
|
5501
5963
|
|
5502
|
-
#
|
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].
|
5503
5977
|
#
|
5504
5978
|
# </note>
|
5505
5979
|
#
|
5506
|
-
#
|
5507
|
-
#
|
5508
|
-
#
|
5509
|
-
#
|
5510
|
-
#
|
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].
|
5511
5988
|
#
|
5512
|
-
#
|
5513
|
-
#
|
5514
|
-
# permission
|
5515
|
-
#
|
5516
|
-
#
|
5517
|
-
#
|
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`.
|
5518
6004
|
#
|
5519
6005
|
# The following operations are related to `GetBucketEncryption`:
|
5520
6006
|
#
|
5521
|
-
# * [PutBucketEncryption][
|
6007
|
+
# * [PutBucketEncryption][6]
|
5522
6008
|
#
|
5523
|
-
# * [DeleteBucketEncryption][
|
6009
|
+
# * [DeleteBucketEncryption][7]
|
5524
6010
|
#
|
5525
6011
|
#
|
5526
6012
|
#
|
5527
6013
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
|
5528
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
5529
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-
|
5530
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/
|
5531
|
-
# [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
|
5532
6020
|
#
|
5533
6021
|
# @option params [required, String] :bucket
|
5534
6022
|
# The name of the bucket from which the server-side encryption
|
5535
6023
|
# configuration is retrieved.
|
5536
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
|
+
#
|
5537
6039
|
# @option params [String] :expected_bucket_owner
|
5538
6040
|
# The account ID of the expected bucket owner. If the account ID that
|
5539
6041
|
# you provide does not match the actual owner of the bucket, the request
|
5540
6042
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
5541
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
|
+
#
|
5542
6050
|
# @return [Types::GetBucketEncryptionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
5543
6051
|
#
|
5544
6052
|
# * {Types::GetBucketEncryptionOutput#server_side_encryption_configuration #server_side_encryption_configuration} => Types::ServerSideEncryptionConfiguration
|
@@ -7278,6 +7786,10 @@ module Aws::S3
|
|
7278
7786
|
# interruptions when a session expires. For more information about
|
7279
7787
|
# authorization, see [ `CreateSession` ][4].
|
7280
7788
|
#
|
7789
|
+
# If the object is encrypted using SSE-KMS, you must also have the
|
7790
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
7791
|
+
# identity-based policies and KMS key policies for the KMS key.
|
7792
|
+
#
|
7281
7793
|
# Storage classes
|
7282
7794
|
#
|
7283
7795
|
# : If the object you are retrieving is stored in the S3 Glacier
|
@@ -7306,6 +7818,11 @@ module Aws::S3
|
|
7306
7818
|
# `GetObject` requests for the object that uses these types of keys,
|
7307
7819
|
# you’ll get an HTTP `400 Bad Request` error.
|
7308
7820
|
#
|
7821
|
+
# **Directory buckets** - For directory buckets, there are only two
|
7822
|
+
# supported options for server-side encryption: SSE-S3 and SSE-KMS.
|
7823
|
+
# SSE-C isn't supported. For more information, see [Protecting data
|
7824
|
+
# with server-side encryption][7] in the *Amazon S3 User Guide*.
|
7825
|
+
#
|
7309
7826
|
# Overriding response header values through the request
|
7310
7827
|
#
|
7311
7828
|
# : There are times when you want to override certain response header
|
@@ -7353,9 +7870,9 @@ module Aws::S3
|
|
7353
7870
|
#
|
7354
7871
|
# The following operations are related to `GetObject`:
|
7355
7872
|
#
|
7356
|
-
# * [ListBuckets][
|
7873
|
+
# * [ListBuckets][8]
|
7357
7874
|
#
|
7358
|
-
# * [GetObjectAcl][
|
7875
|
+
# * [GetObjectAcl][9]
|
7359
7876
|
#
|
7360
7877
|
#
|
7361
7878
|
#
|
@@ -7365,8 +7882,9 @@ module Aws::S3
|
|
7365
7882
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
7366
7883
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
|
7367
7884
|
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
|
7368
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/
|
7369
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
7885
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
7886
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html
|
7887
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
|
7370
7888
|
#
|
7371
7889
|
# @option params [String, IO] :response_target
|
7372
7890
|
# Where to write response data, file path, or IO object.
|
@@ -7663,6 +8181,15 @@ module Aws::S3
|
|
7663
8181
|
# @option params [String] :checksum_mode
|
7664
8182
|
# To retrieve the checksum, this mode must be enabled.
|
7665
8183
|
#
|
8184
|
+
# **General purpose buckets** - In addition, if you enable checksum mode
|
8185
|
+
# and the object is uploaded with a [checksum][1] and encrypted with an
|
8186
|
+
# Key Management Service (KMS) key, you must have permission to use the
|
8187
|
+
# `kms:Decrypt` action to retrieve the checksum.
|
8188
|
+
#
|
8189
|
+
#
|
8190
|
+
#
|
8191
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
|
8192
|
+
#
|
7666
8193
|
# @return [Types::GetObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
7667
8194
|
#
|
7668
8195
|
# * {Types::GetObjectOutput#body #body} => IO
|
@@ -7704,49 +8231,49 @@ module Aws::S3
|
|
7704
8231
|
# * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
|
7705
8232
|
#
|
7706
8233
|
#
|
7707
|
-
# @example Example: To retrieve
|
8234
|
+
# @example Example: To retrieve an object
|
7708
8235
|
#
|
7709
|
-
# # The following example retrieves an object for an S3 bucket.
|
7710
|
-
# # specific byte range.
|
8236
|
+
# # The following example retrieves an object for an S3 bucket.
|
7711
8237
|
#
|
7712
8238
|
# resp = client.get_object({
|
7713
8239
|
# bucket: "examplebucket",
|
7714
|
-
# key: "
|
7715
|
-
# range: "bytes=0-9",
|
8240
|
+
# key: "HappyFace.jpg",
|
7716
8241
|
# })
|
7717
8242
|
#
|
7718
8243
|
# resp.to_h outputs the following:
|
7719
8244
|
# {
|
7720
8245
|
# accept_ranges: "bytes",
|
7721
|
-
# content_length:
|
7722
|
-
#
|
7723
|
-
#
|
7724
|
-
#
|
7725
|
-
# last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
|
8246
|
+
# content_length: 3191,
|
8247
|
+
# content_type: "image/jpeg",
|
8248
|
+
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
8249
|
+
# last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
|
7726
8250
|
# metadata: {
|
7727
8251
|
# },
|
8252
|
+
# tag_count: 2,
|
7728
8253
|
# version_id: "null",
|
7729
8254
|
# }
|
7730
8255
|
#
|
7731
|
-
# @example Example: To retrieve an object
|
8256
|
+
# @example Example: To retrieve a byte range of an object
|
7732
8257
|
#
|
7733
|
-
# # The following example retrieves an object for an S3 bucket.
|
8258
|
+
# # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
|
8259
|
+
# # specific byte range.
|
7734
8260
|
#
|
7735
8261
|
# resp = client.get_object({
|
7736
8262
|
# bucket: "examplebucket",
|
7737
|
-
# key: "
|
8263
|
+
# key: "SampleFile.txt",
|
8264
|
+
# range: "bytes=0-9",
|
7738
8265
|
# })
|
7739
8266
|
#
|
7740
8267
|
# resp.to_h outputs the following:
|
7741
8268
|
# {
|
7742
8269
|
# accept_ranges: "bytes",
|
7743
|
-
# content_length:
|
7744
|
-
#
|
7745
|
-
#
|
7746
|
-
#
|
8270
|
+
# content_length: 10,
|
8271
|
+
# content_range: "bytes 0-9/43",
|
8272
|
+
# content_type: "text/plain",
|
8273
|
+
# etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
|
8274
|
+
# last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
|
7747
8275
|
# metadata: {
|
7748
8276
|
# },
|
7749
|
-
# tag_count: 2,
|
7750
8277
|
# version_id: "null",
|
7751
8278
|
# }
|
7752
8279
|
#
|
@@ -8059,7 +8586,7 @@ module Aws::S3
|
|
8059
8586
|
# Permissions
|
8060
8587
|
# : * **General purpose bucket permissions** - To use
|
8061
8588
|
# `GetObjectAttributes`, you must have READ access to the object.
|
8062
|
-
# The permissions that you need to use this operation
|
8589
|
+
# The permissions that you need to use this operation depend on
|
8063
8590
|
# whether the bucket is versioned. If the bucket is versioned, you
|
8064
8591
|
# need both the `s3:GetObjectVersion` and
|
8065
8592
|
# `s3:GetObjectVersionAttributes` permissions for this operation. If
|
@@ -8093,6 +8620,10 @@ module Aws::S3
|
|
8093
8620
|
# interruptions when a session expires. For more information about
|
8094
8621
|
# authorization, see [ `CreateSession` ][3].
|
8095
8622
|
#
|
8623
|
+
# If the object is encrypted with SSE-KMS, you must also have the
|
8624
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
8625
|
+
# identity-based policies and KMS key policies for the KMS key.
|
8626
|
+
#
|
8096
8627
|
# Encryption
|
8097
8628
|
# : <note markdown="1"> Encryption request headers, like `x-amz-server-side-encryption`,
|
8098
8629
|
# should not be sent for `HEAD` requests if your object uses
|
@@ -8126,9 +8657,19 @@ module Aws::S3
|
|
8126
8657
|
# Customer-Provided Encryption Keys)][4] in the *Amazon S3 User
|
8127
8658
|
# Guide*.
|
8128
8659
|
#
|
8129
|
-
# <note markdown="1"> **Directory bucket permissions** - For directory buckets,
|
8130
|
-
#
|
8131
|
-
# (`AES256`)
|
8660
|
+
# <note markdown="1"> **Directory bucket permissions** - For directory buckets, there are
|
8661
|
+
# only two supported options for server-side encryption: server-side
|
8662
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
8663
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). We
|
8664
|
+
# recommend that the bucket's default encryption uses the desired
|
8665
|
+
# encryption configuration and you don't override the bucket default
|
8666
|
+
# encryption in your `CreateSession` requests or `PUT` object
|
8667
|
+
# requests. Then, new objects are automatically encrypted with the
|
8668
|
+
# desired encryption settings. For more information, see [Protecting
|
8669
|
+
# data with server-side encryption][5] in the *Amazon S3 User Guide*.
|
8670
|
+
# For more information about the encryption overriding behaviors in
|
8671
|
+
# directory buckets, see [Specifying server-side encryption with KMS
|
8672
|
+
# for new object uploads][6].
|
8132
8673
|
#
|
8133
8674
|
# </note>
|
8134
8675
|
#
|
@@ -8152,7 +8693,7 @@ module Aws::S3
|
|
8152
8693
|
# * `If-Unmodified-Since` condition evaluates to `false`.
|
8153
8694
|
#
|
8154
8695
|
# For more information about conditional requests, see [RFC
|
8155
|
-
# 7232][
|
8696
|
+
# 7232][7].
|
8156
8697
|
#
|
8157
8698
|
# * If both of the `If-None-Match` and `If-Modified-Since` headers are
|
8158
8699
|
# present in the request as follows, then Amazon S3 returns the HTTP
|
@@ -8163,7 +8704,7 @@ module Aws::S3
|
|
8163
8704
|
# * `If-Modified-Since` condition evaluates to `true`.
|
8164
8705
|
#
|
8165
8706
|
# For more information about conditional requests, see [RFC
|
8166
|
-
# 7232][
|
8707
|
+
# 7232][7].
|
8167
8708
|
#
|
8168
8709
|
# HTTP Host header syntax
|
8169
8710
|
#
|
@@ -8172,21 +8713,21 @@ module Aws::S3
|
|
8172
8713
|
#
|
8173
8714
|
# The following actions are related to `GetObjectAttributes`:
|
8174
8715
|
#
|
8175
|
-
# * [GetObject][
|
8716
|
+
# * [GetObject][8]
|
8176
8717
|
#
|
8177
|
-
# * [GetObjectAcl][
|
8718
|
+
# * [GetObjectAcl][9]
|
8178
8719
|
#
|
8179
|
-
# * [GetObjectLegalHold][
|
8720
|
+
# * [GetObjectLegalHold][10]
|
8180
8721
|
#
|
8181
|
-
# * [GetObjectLockConfiguration][
|
8722
|
+
# * [GetObjectLockConfiguration][11]
|
8182
8723
|
#
|
8183
|
-
# * [GetObjectRetention][
|
8724
|
+
# * [GetObjectRetention][12]
|
8184
8725
|
#
|
8185
|
-
# * [GetObjectTagging][
|
8726
|
+
# * [GetObjectTagging][13]
|
8186
8727
|
#
|
8187
|
-
# * [HeadObject][
|
8728
|
+
# * [HeadObject][14]
|
8188
8729
|
#
|
8189
|
-
# * [ListParts][
|
8730
|
+
# * [ListParts][15]
|
8190
8731
|
#
|
8191
8732
|
#
|
8192
8733
|
#
|
@@ -8194,15 +8735,17 @@ module Aws::S3
|
|
8194
8735
|
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
|
8195
8736
|
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
8196
8737
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
8197
|
-
# [5]: https://
|
8198
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/
|
8199
|
-
# [7]: https://
|
8200
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
8201
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
8202
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
8203
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
8204
|
-
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
8205
|
-
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
8738
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
8739
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
8740
|
+
# [7]: https://tools.ietf.org/html/rfc7232
|
8741
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
|
8742
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
|
8743
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html
|
8744
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLockConfiguration.html
|
8745
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectRetention.html
|
8746
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
|
8747
|
+
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html
|
8748
|
+
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
|
8206
8749
|
#
|
8207
8750
|
# @option params [required, String] :bucket
|
8208
8751
|
# The name of the bucket that contains the object.
|
@@ -8997,29 +9540,24 @@ module Aws::S3
|
|
8997
9540
|
# have permission to access it. The action returns a `200 OK` if the
|
8998
9541
|
# bucket exists and you have permission to access it.
|
8999
9542
|
#
|
9000
|
-
# If the bucket does not exist or you do not have permission to access
|
9543
|
+
# <note markdown="1"> If the bucket does not exist or you do not have permission to access
|
9001
9544
|
# it, the `HEAD` request returns a generic `400 Bad Request`, `403
|
9002
9545
|
# Forbidden` or `404 Not Found` code. A message body is not included, so
|
9003
9546
|
# you cannot determine the exception beyond these HTTP response codes.
|
9004
9547
|
#
|
9005
|
-
# <note markdown="1"> <b>Directory buckets </b> - You must make requests for this API
|
9006
|
-
# operation to the Zonal endpoint. These endpoints support
|
9007
|
-
# virtual-hosted-style requests in the format
|
9008
|
-
# `https://bucket_name.s3express-az_id.region.amazonaws.com`. Path-style
|
9009
|
-
# requests are not supported. For more information, see [Regional and
|
9010
|
-
# Zonal endpoints][1] in the *Amazon S3 User Guide*.
|
9011
|
-
#
|
9012
9548
|
# </note>
|
9013
9549
|
#
|
9014
9550
|
# Authentication and authorization
|
9015
9551
|
#
|
9016
|
-
# :
|
9017
|
-
#
|
9018
|
-
#
|
9552
|
+
# : **General purpose buckets** - Request to public buckets that grant
|
9553
|
+
# the s3:ListBucket permission publicly do not need to be signed. All
|
9554
|
+
# other `HeadBucket` requests must be authenticated and signed by
|
9555
|
+
# using IAM credentials (access key ID and secret access key for the
|
9556
|
+
# IAM identities). All headers with the `x-amz-` prefix, including
|
9019
9557
|
# `x-amz-copy-source`, must be signed. For more information, see [REST
|
9020
|
-
# Authentication][
|
9558
|
+
# Authentication][1].
|
9021
9559
|
#
|
9022
|
-
# **Directory
|
9560
|
+
# **Directory buckets** - You must use IAM credentials to authenticate
|
9023
9561
|
# and authorize your access to the `HeadBucket` API operation, instead
|
9024
9562
|
# of using the temporary security credentials through the
|
9025
9563
|
# `CreateSession` API operation.
|
@@ -9035,7 +9573,7 @@ module Aws::S3
|
|
9035
9573
|
# you must have permissions to perform the `s3:ListBucket` action.
|
9036
9574
|
# The bucket owner has this permission by default and can grant this
|
9037
9575
|
# permission to others. For more information about permissions, see
|
9038
|
-
# [Managing access permissions to your Amazon S3 resources][
|
9576
|
+
# [Managing access permissions to your Amazon S3 resources][2] in
|
9039
9577
|
# the *Amazon S3 User Guide*.
|
9040
9578
|
#
|
9041
9579
|
# * **Directory bucket permissions** - You must have the <b>
|
@@ -9046,9 +9584,9 @@ module Aws::S3
|
|
9046
9584
|
# `ReadOnly` on the bucket.
|
9047
9585
|
#
|
9048
9586
|
# For more information about example bucket policies, see [Example
|
9049
|
-
# bucket policies for S3 Express One Zone][
|
9587
|
+
# bucket policies for S3 Express One Zone][3] and [Amazon Web
|
9050
9588
|
# Services Identity and Access Management (IAM) identity-based
|
9051
|
-
# policies for S3 Express One Zone][
|
9589
|
+
# policies for S3 Express One Zone][4] in the *Amazon S3 User
|
9052
9590
|
# Guide*.
|
9053
9591
|
#
|
9054
9592
|
# HTTP Host header syntax
|
@@ -9056,13 +9594,21 @@ module Aws::S3
|
|
9056
9594
|
# : <b>Directory buckets </b> - The HTTP Host header syntax is `
|
9057
9595
|
# Bucket_name.s3express-az_id.region.amazonaws.com`.
|
9058
9596
|
#
|
9597
|
+
# <note markdown="1"> You must make requests for this API operation to the Zonal endpoint.
|
9598
|
+
# These endpoints support virtual-hosted-style requests in the format
|
9599
|
+
# `https://bucket_name.s3express-az_id.region.amazonaws.com`.
|
9600
|
+
# Path-style requests are not supported. For more information, see
|
9601
|
+
# [Regional and Zonal endpoints][5] in the *Amazon S3 User Guide*.
|
9602
|
+
#
|
9603
|
+
# </note>
|
9059
9604
|
#
|
9060
9605
|
#
|
9061
|
-
#
|
9062
|
-
# [
|
9063
|
-
# [
|
9064
|
-
# [
|
9065
|
-
# [
|
9606
|
+
#
|
9607
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
|
9608
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
|
9609
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
|
9610
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
|
9611
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
9066
9612
|
#
|
9067
9613
|
# @option params [required, String] :bucket
|
9068
9614
|
# The bucket name.
|
@@ -9170,7 +9716,7 @@ module Aws::S3
|
|
9170
9716
|
# returning the object itself. This operation is useful if you're
|
9171
9717
|
# interested only in an object's metadata.
|
9172
9718
|
#
|
9173
|
-
# A `HEAD` request has the same options as a `GET` operation on an
|
9719
|
+
# <note markdown="1"> A `HEAD` request has the same options as a `GET` operation on an
|
9174
9720
|
# object. The response is identical to the `GET` response except that
|
9175
9721
|
# there is no response body. Because of this, if the `HEAD` request
|
9176
9722
|
# generates an error, it returns a generic code, such as `400 Bad
|
@@ -9178,18 +9724,11 @@ module Aws::S3
|
|
9178
9724
|
# `412 Precondition Failed`, or `304 Not Modified`. It's not possible
|
9179
9725
|
# to retrieve the exact exception of these error codes.
|
9180
9726
|
#
|
9727
|
+
# </note>
|
9728
|
+
#
|
9181
9729
|
# Request headers are limited to 8 KB in size. For more information, see
|
9182
9730
|
# [Common Request Headers][1].
|
9183
9731
|
#
|
9184
|
-
# <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
|
9185
|
-
# for this API operation to the Zonal endpoint. These endpoints support
|
9186
|
-
# virtual-hosted-style requests in the format
|
9187
|
-
# `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name `.
|
9188
|
-
# Path-style requests are not supported. For more information, see
|
9189
|
-
# [Regional and Zonal endpoints][2] in the *Amazon S3 User Guide*.
|
9190
|
-
#
|
9191
|
-
# </note>
|
9192
|
-
#
|
9193
9732
|
# Permissions
|
9194
9733
|
#
|
9195
9734
|
# :
|
@@ -9198,7 +9737,7 @@ module Aws::S3
|
|
9198
9737
|
# have the `s3:GetObject` permission. You need the relevant read
|
9199
9738
|
# object (or version) permission for this operation. For more
|
9200
9739
|
# information, see [Actions, resources, and condition keys for
|
9201
|
-
# Amazon S3][
|
9740
|
+
# Amazon S3][2] in the *Amazon S3 User Guide*.
|
9202
9741
|
#
|
9203
9742
|
# If the object you request doesn't exist, the error that Amazon S3
|
9204
9743
|
# returns depends on whether you also have the `s3:ListBucket`
|
@@ -9212,7 +9751,7 @@ module Aws::S3
|
|
9212
9751
|
#
|
9213
9752
|
# * **Directory bucket permissions** - To grant access to this API
|
9214
9753
|
# operation on a directory bucket, we recommend that you use the [
|
9215
|
-
# `CreateSession` ][
|
9754
|
+
# `CreateSession` ][3] API operation for session-based
|
9216
9755
|
# authorization. Specifically, you grant the
|
9217
9756
|
# `s3express:CreateSession` permission to the directory bucket in a
|
9218
9757
|
# bucket policy or an IAM identity-based policy. Then, you make the
|
@@ -9223,7 +9762,14 @@ module Aws::S3
|
|
9223
9762
|
# token for use. Amazon Web Services CLI or SDKs create session and
|
9224
9763
|
# refresh the session token automatically to avoid service
|
9225
9764
|
# interruptions when a session expires. For more information about
|
9226
|
-
# authorization, see [ `CreateSession` ][
|
9765
|
+
# authorization, see [ `CreateSession` ][3].
|
9766
|
+
#
|
9767
|
+
# If you enable `x-amz-checksum-mode` in the request and the object
|
9768
|
+
# is encrypted with Amazon Web Services Key Management Service
|
9769
|
+
# (Amazon Web Services KMS), you must also have the
|
9770
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
9771
|
+
# identity-based policies and KMS key policies for the KMS key to
|
9772
|
+
# retrieve the checksum of the object.
|
9227
9773
|
#
|
9228
9774
|
# Encryption
|
9229
9775
|
# : <note markdown="1"> Encryption request headers, like `x-amz-server-side-encryption`,
|
@@ -9255,12 +9801,13 @@ module Aws::S3
|
|
9255
9801
|
# * `x-amz-server-side-encryption-customer-key-MD5`
|
9256
9802
|
#
|
9257
9803
|
# For more information about SSE-C, see [Server-Side Encryption (Using
|
9258
|
-
# Customer-Provided Encryption Keys)][
|
9804
|
+
# Customer-Provided Encryption Keys)][4] in the *Amazon S3 User
|
9259
9805
|
# Guide*.
|
9260
9806
|
#
|
9261
|
-
# <note markdown="1">
|
9262
|
-
# server-side encryption
|
9263
|
-
#
|
9807
|
+
# <note markdown="1"> <b>Directory bucket </b> - For directory buckets, there are only two
|
9808
|
+
# supported options for server-side encryption: SSE-S3 and SSE-KMS.
|
9809
|
+
# SSE-C isn't supported. For more information, see [Protecting data
|
9810
|
+
# with server-side encryption][5] in the *Amazon S3 User Guide*.
|
9264
9811
|
#
|
9265
9812
|
# </note>
|
9266
9813
|
#
|
@@ -9289,21 +9836,31 @@ module Aws::S3
|
|
9289
9836
|
# : <b>Directory buckets </b> - The HTTP Host header syntax is `
|
9290
9837
|
# Bucket_name.s3express-az_id.region.amazonaws.com`.
|
9291
9838
|
#
|
9839
|
+
# <note markdown="1"> For directory buckets, you must make requests for this API operation
|
9840
|
+
# to the Zonal endpoint. These endpoints support virtual-hosted-style
|
9841
|
+
# requests in the format
|
9842
|
+
# `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
|
9843
|
+
# `. Path-style requests are not supported. For more information, see
|
9844
|
+
# [Regional and Zonal endpoints][6] in the *Amazon S3 User Guide*.
|
9845
|
+
#
|
9846
|
+
# </note>
|
9847
|
+
#
|
9292
9848
|
# The following actions are related to `HeadObject`:
|
9293
9849
|
#
|
9294
|
-
# * [GetObject][
|
9850
|
+
# * [GetObject][7]
|
9295
9851
|
#
|
9296
|
-
# * [GetObjectAttributes][
|
9852
|
+
# * [GetObjectAttributes][8]
|
9297
9853
|
#
|
9298
9854
|
#
|
9299
9855
|
#
|
9300
9856
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html
|
9301
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/
|
9302
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/
|
9303
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/
|
9304
|
-
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/
|
9305
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/
|
9306
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
9857
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html
|
9858
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
9859
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
9860
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
9861
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
9862
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
|
9863
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
|
9307
9864
|
#
|
9308
9865
|
# @option params [required, String] :bucket
|
9309
9866
|
# The name of the bucket that contains the object.
|
@@ -9519,10 +10076,20 @@ module Aws::S3
|
|
9519
10076
|
# @option params [String] :checksum_mode
|
9520
10077
|
# To retrieve the checksum, this parameter must be enabled.
|
9521
10078
|
#
|
9522
|
-
#
|
9523
|
-
#
|
9524
|
-
# KMS), you must have permission to use the
|
9525
|
-
#
|
10079
|
+
# **General purpose buckets** - If you enable checksum mode and the
|
10080
|
+
# object is uploaded with a [checksum][1] and encrypted with an Key
|
10081
|
+
# Management Service (KMS) key, you must have permission to use the
|
10082
|
+
# `kms:Decrypt` action to retrieve the checksum.
|
10083
|
+
#
|
10084
|
+
# **Directory buckets** - If you enable `ChecksumMode` and the object is
|
10085
|
+
# encrypted with Amazon Web Services Key Management Service (Amazon Web
|
10086
|
+
# Services KMS), you must also have the `kms:GenerateDataKey` and
|
10087
|
+
# `kms:Decrypt` permissions in IAM identity-based policies and KMS key
|
10088
|
+
# policies for the KMS key to retrieve the checksum of the object.
|
10089
|
+
#
|
10090
|
+
#
|
10091
|
+
#
|
10092
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
|
9526
10093
|
#
|
9527
10094
|
# @return [Types::HeadObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
9528
10095
|
#
|
@@ -10076,10 +10643,28 @@ module Aws::S3
|
|
10076
10643
|
#
|
10077
10644
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html
|
10078
10645
|
#
|
10646
|
+
# @option params [Integer] :max_buckets
|
10647
|
+
# Maximum number of buckets to be returned in response. When the number
|
10648
|
+
# is more than the count of buckets that are owned by an Amazon Web
|
10649
|
+
# Services account, return all the buckets in response.
|
10650
|
+
#
|
10651
|
+
# @option params [String] :continuation_token
|
10652
|
+
# `ContinuationToken` indicates to Amazon S3 that the list is being
|
10653
|
+
# continued on this bucket with a token. `ContinuationToken` is
|
10654
|
+
# obfuscated and is not a real key. You can use this `ContinuationToken`
|
10655
|
+
# for pagination of the list results.
|
10656
|
+
#
|
10657
|
+
# Length Constraints: Minimum length of 0. Maximum length of 1024.
|
10658
|
+
#
|
10659
|
+
# Required: No.
|
10660
|
+
#
|
10079
10661
|
# @return [Types::ListBucketsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
10080
10662
|
#
|
10081
10663
|
# * {Types::ListBucketsOutput#buckets #buckets} => Array<Types::Bucket>
|
10082
10664
|
# * {Types::ListBucketsOutput#owner #owner} => Types::Owner
|
10665
|
+
# * {Types::ListBucketsOutput#continuation_token #continuation_token} => String
|
10666
|
+
#
|
10667
|
+
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
|
10083
10668
|
#
|
10084
10669
|
#
|
10085
10670
|
# @example Example: To list all buckets
|
@@ -10111,6 +10696,13 @@ module Aws::S3
|
|
10111
10696
|
# },
|
10112
10697
|
# }
|
10113
10698
|
#
|
10699
|
+
# @example Request syntax with placeholder values
|
10700
|
+
#
|
10701
|
+
# resp = client.list_buckets({
|
10702
|
+
# max_buckets: 1,
|
10703
|
+
# continuation_token: "Token",
|
10704
|
+
# })
|
10705
|
+
#
|
10114
10706
|
# @example Response structure
|
10115
10707
|
#
|
10116
10708
|
# resp.buckets #=> Array
|
@@ -10118,6 +10710,7 @@ module Aws::S3
|
|
10118
10710
|
# resp.buckets[0].creation_date #=> Time
|
10119
10711
|
# resp.owner.display_name #=> String
|
10120
10712
|
# resp.owner.id #=> String
|
10713
|
+
# resp.continuation_token #=> String
|
10121
10714
|
#
|
10122
10715
|
# @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets AWS API Documentation
|
10123
10716
|
#
|
@@ -10166,9 +10759,9 @@ module Aws::S3
|
|
10166
10759
|
#
|
10167
10760
|
# @option params [String] :continuation_token
|
10168
10761
|
# `ContinuationToken` indicates to Amazon S3 that the list is being
|
10169
|
-
# continued on this
|
10170
|
-
# obfuscated and is not a real
|
10171
|
-
# for pagination of the list results.
|
10762
|
+
# continued on buckets in this account with a token. `ContinuationToken`
|
10763
|
+
# is obfuscated and is not a real bucket name. You can use this
|
10764
|
+
# `ContinuationToken` for the pagination of the list results.
|
10172
10765
|
#
|
10173
10766
|
# @option params [Integer] :max_directory_buckets
|
10174
10767
|
# Maximum number of buckets to be returned in response. When the number
|
@@ -10212,7 +10805,11 @@ module Aws::S3
|
|
10212
10805
|
#
|
10213
10806
|
# <note markdown="1"> **Directory buckets** - If multipart uploads in a directory bucket are
|
10214
10807
|
# in progress, you can't delete the bucket until all the in-progress
|
10215
|
-
# multipart uploads are aborted or completed.
|
10808
|
+
# multipart uploads are aborted or completed. To delete these
|
10809
|
+
# in-progress multipart uploads, use the `ListMultipartUploads`
|
10810
|
+
# operation to list the in-progress multipart uploads in the bucket and
|
10811
|
+
# use the `AbortMultupartUpload` operation to abort all the in-progress
|
10812
|
+
# multipart uploads.
|
10216
10813
|
#
|
10217
10814
|
# </note>
|
10218
10815
|
#
|
@@ -10378,12 +10975,26 @@ module Aws::S3
|
|
10378
10975
|
# </note>
|
10379
10976
|
#
|
10380
10977
|
# @option params [String] :encoding_type
|
10381
|
-
#
|
10382
|
-
#
|
10383
|
-
# Unicode character
|
10384
|
-
# characters, such as characters with an ASCII value from
|
10385
|
-
# characters that
|
10386
|
-
# parameter to request that Amazon S3 encode the keys in the
|
10978
|
+
# Encoding type used by Amazon S3 to encode the [object keys][1] in the
|
10979
|
+
# response. Responses are encoded only in UTF-8. An object key can
|
10980
|
+
# contain any Unicode character. However, the XML 1.0 parser can't
|
10981
|
+
# parse certain characters, such as characters with an ASCII value from
|
10982
|
+
# 0 to 10. For characters that aren't supported in XML 1.0, you can add
|
10983
|
+
# this parameter to request that Amazon S3 encode the keys in the
|
10984
|
+
# response. For more information about characters to avoid in object key
|
10985
|
+
# names, see [Object key naming guidelines][2].
|
10986
|
+
#
|
10987
|
+
# <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
|
10988
|
+
# in an object's key name will be percent-encoded according to UTF-8
|
10989
|
+
# code values. For example, the object `test_file(3).png` will appear as
|
10990
|
+
# `test_file%283%29.png`.
|
10991
|
+
#
|
10992
|
+
# </note>
|
10993
|
+
#
|
10994
|
+
#
|
10995
|
+
#
|
10996
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
|
10997
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
|
10387
10998
|
#
|
10388
10999
|
# @option params [String] :key_marker
|
10389
11000
|
# Specifies the multipart upload after which listing should begin.
|
@@ -10675,12 +11286,26 @@ module Aws::S3
|
|
10675
11286
|
# the response.
|
10676
11287
|
#
|
10677
11288
|
# @option params [String] :encoding_type
|
10678
|
-
#
|
10679
|
-
#
|
10680
|
-
# Unicode character
|
10681
|
-
# characters, such as characters with an ASCII value from
|
10682
|
-
# characters that
|
10683
|
-
# parameter to request that Amazon S3 encode the keys in the
|
11289
|
+
# Encoding type used by Amazon S3 to encode the [object keys][1] in the
|
11290
|
+
# response. Responses are encoded only in UTF-8. An object key can
|
11291
|
+
# contain any Unicode character. However, the XML 1.0 parser can't
|
11292
|
+
# parse certain characters, such as characters with an ASCII value from
|
11293
|
+
# 0 to 10. For characters that aren't supported in XML 1.0, you can add
|
11294
|
+
# this parameter to request that Amazon S3 encode the keys in the
|
11295
|
+
# response. For more information about characters to avoid in object key
|
11296
|
+
# names, see [Object key naming guidelines][2].
|
11297
|
+
#
|
11298
|
+
# <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
|
11299
|
+
# in an object's key name will be percent-encoded according to UTF-8
|
11300
|
+
# code values. For example, the object `test_file(3).png` will appear as
|
11301
|
+
# `test_file%283%29.png`.
|
11302
|
+
#
|
11303
|
+
# </note>
|
11304
|
+
#
|
11305
|
+
#
|
11306
|
+
#
|
11307
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
|
11308
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
|
10684
11309
|
#
|
10685
11310
|
# @option params [String] :key_marker
|
10686
11311
|
# Specifies the key to start with when listing objects in a bucket.
|
@@ -10934,12 +11559,26 @@ module Aws::S3
|
|
10934
11559
|
# A delimiter is a character that you use to group keys.
|
10935
11560
|
#
|
10936
11561
|
# @option params [String] :encoding_type
|
10937
|
-
#
|
10938
|
-
#
|
10939
|
-
# Unicode character
|
10940
|
-
# characters, such as characters with an ASCII value from
|
10941
|
-
# characters that
|
10942
|
-
# parameter to request that Amazon S3 encode the keys in the
|
11562
|
+
# Encoding type used by Amazon S3 to encode the [object keys][1] in the
|
11563
|
+
# response. Responses are encoded only in UTF-8. An object key can
|
11564
|
+
# contain any Unicode character. However, the XML 1.0 parser can't
|
11565
|
+
# parse certain characters, such as characters with an ASCII value from
|
11566
|
+
# 0 to 10. For characters that aren't supported in XML 1.0, you can add
|
11567
|
+
# this parameter to request that Amazon S3 encode the keys in the
|
11568
|
+
# response. For more information about characters to avoid in object key
|
11569
|
+
# names, see [Object key naming guidelines][2].
|
11570
|
+
#
|
11571
|
+
# <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
|
11572
|
+
# in an object's key name will be percent-encoded according to UTF-8
|
11573
|
+
# code values. For example, the object `test_file(3).png` will appear as
|
11574
|
+
# `test_file%283%29.png`.
|
11575
|
+
#
|
11576
|
+
# </note>
|
11577
|
+
#
|
11578
|
+
#
|
11579
|
+
#
|
11580
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
|
11581
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
|
10943
11582
|
#
|
10944
11583
|
# @option params [String] :marker
|
10945
11584
|
# Marker is where you want Amazon S3 to start listing from. Amazon S3
|
@@ -11081,12 +11720,20 @@ module Aws::S3
|
|
11081
11720
|
# programmatically][1] in the *Amazon S3 User Guide*. To get a list of
|
11082
11721
|
# your buckets, see [ListBuckets][2].
|
11083
11722
|
#
|
11084
|
-
# <note markdown="1"> **
|
11085
|
-
#
|
11086
|
-
#
|
11087
|
-
#
|
11088
|
-
#
|
11089
|
-
#
|
11723
|
+
# <note markdown="1"> * **General purpose bucket** - For general purpose buckets,
|
11724
|
+
# `ListObjectsV2` doesn't return prefixes that are related only to
|
11725
|
+
# in-progress multipart uploads.
|
11726
|
+
#
|
11727
|
+
# * **Directory buckets** - For directory buckets, `ListObjectsV2`
|
11728
|
+
# response includes the prefixes that are related only to in-progress
|
11729
|
+
# multipart uploads.
|
11730
|
+
#
|
11731
|
+
# * **Directory buckets** - For directory buckets, you must make
|
11732
|
+
# requests for this API operation to the Zonal endpoint. These
|
11733
|
+
# endpoints support virtual-hosted-style requests in the format
|
11734
|
+
# `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
|
11735
|
+
# `. Path-style requests are not supported. For more information, see
|
11736
|
+
# [Regional and Zonal endpoints][3] in the *Amazon S3 User Guide*.
|
11090
11737
|
#
|
11091
11738
|
# </note>
|
11092
11739
|
#
|
@@ -11212,13 +11859,29 @@ module Aws::S3
|
|
11212
11859
|
#
|
11213
11860
|
#
|
11214
11861
|
#
|
11215
|
-
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
|
11862
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
|
11863
|
+
#
|
11864
|
+
# @option params [String] :encoding_type
|
11865
|
+
# Encoding type used by Amazon S3 to encode the [object keys][1] in the
|
11866
|
+
# response. Responses are encoded only in UTF-8. An object key can
|
11867
|
+
# contain any Unicode character. However, the XML 1.0 parser can't
|
11868
|
+
# parse certain characters, such as characters with an ASCII value from
|
11869
|
+
# 0 to 10. For characters that aren't supported in XML 1.0, you can add
|
11870
|
+
# this parameter to request that Amazon S3 encode the keys in the
|
11871
|
+
# response. For more information about characters to avoid in object key
|
11872
|
+
# names, see [Object key naming guidelines][2].
|
11873
|
+
#
|
11874
|
+
# <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
|
11875
|
+
# in an object's key name will be percent-encoded according to UTF-8
|
11876
|
+
# code values. For example, the object `test_file(3).png` will appear as
|
11877
|
+
# `test_file%283%29.png`.
|
11878
|
+
#
|
11879
|
+
# </note>
|
11880
|
+
#
|
11881
|
+
#
|
11216
11882
|
#
|
11217
|
-
#
|
11218
|
-
#
|
11219
|
-
# If using `url`, non-ASCII characters used in an object's key name
|
11220
|
-
# will be URL encoded. For example, the object `test_file(3).png` will
|
11221
|
-
# appear as `test_file%283%29.png`.
|
11883
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
|
11884
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
|
11222
11885
|
#
|
11223
11886
|
# @option params [Integer] :max_keys
|
11224
11887
|
# Sets the maximum number of keys returned in the response. By default,
|
@@ -12418,66 +13081,156 @@ module Aws::S3
|
|
12418
13081
|
req.send_request(options)
|
12419
13082
|
end
|
12420
13083
|
|
12421
|
-
#
|
13084
|
+
# This operation configures default encryption and Amazon S3 Bucket Keys
|
13085
|
+
# for an existing bucket.
|
12422
13086
|
#
|
12423
|
-
#
|
13087
|
+
# <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
|
13088
|
+
# requests for this API operation to the Regional endpoint. These
|
13089
|
+
# endpoints support path-style requests in the format
|
13090
|
+
# `https://s3express-control.region_code.amazonaws.com/bucket-name `.
|
13091
|
+
# Virtual-hosted-style requests aren't supported. For more information,
|
13092
|
+
# see [Regional and Zonal endpoints][1] in the *Amazon S3 User Guide*.
|
12424
13093
|
#
|
12425
|
-
#
|
12426
|
-
# encryption and Amazon S3 Bucket Keys for an existing bucket.
|
13094
|
+
# </note>
|
12427
13095
|
#
|
12428
13096
|
# By default, all buckets have a default encryption configuration that
|
12429
|
-
# uses server-side encryption with Amazon S3 managed keys (SSE-S3).
|
12430
|
-
# can optionally configure default encryption for a bucket by using
|
12431
|
-
# server-side encryption with Key Management Service (KMS) keys
|
12432
|
-
# (SSE-KMS) or dual-layer server-side encryption with Amazon Web
|
12433
|
-
# Services KMS keys (DSSE-KMS). If you specify default encryption by
|
12434
|
-
# using SSE-KMS, you can also configure [Amazon S3 Bucket Keys][1]. If
|
12435
|
-
# you use PutBucketEncryption to set your [default bucket encryption][2]
|
12436
|
-
# to SSE-KMS, you should verify that your KMS key ID is correct. Amazon
|
12437
|
-
# S3 does not validate the KMS key ID provided in PutBucketEncryption
|
12438
|
-
# requests.
|
12439
|
-
#
|
12440
|
-
# This action requires Amazon Web Services Signature Version 4. For more
|
12441
|
-
# information, see [ Authenticating Requests (Amazon Web Services
|
12442
|
-
# Signature Version 4)][3].
|
13097
|
+
# uses server-side encryption with Amazon S3 managed keys (SSE-S3).
|
12443
13098
|
#
|
12444
|
-
#
|
12445
|
-
#
|
12446
|
-
#
|
12447
|
-
#
|
12448
|
-
#
|
12449
|
-
#
|
12450
|
-
#
|
13099
|
+
# <note markdown="1"> * **General purpose buckets**
|
13100
|
+
#
|
13101
|
+
# * You can optionally configure default encryption for a bucket by
|
13102
|
+
# using server-side encryption with Key Management Service (KMS)
|
13103
|
+
# keys (SSE-KMS) or dual-layer server-side encryption with Amazon
|
13104
|
+
# Web Services KMS keys (DSSE-KMS). If you specify default
|
13105
|
+
# encryption by using SSE-KMS, you can also configure [Amazon S3
|
13106
|
+
# Bucket Keys][2]. For information about the bucket default
|
13107
|
+
# encryption feature, see [Amazon S3 Bucket Default Encryption][3]
|
13108
|
+
# in the *Amazon S3 User Guide*.
|
13109
|
+
#
|
13110
|
+
# * If you use PutBucketEncryption to set your [default bucket
|
13111
|
+
# encryption][3] to SSE-KMS, you should verify that your KMS key ID
|
13112
|
+
# is correct. Amazon S3 doesn't validate the KMS key ID provided in
|
13113
|
+
# PutBucketEncryption requests.
|
13114
|
+
#
|
13115
|
+
# * <b>Directory buckets </b> - You can optionally configure default
|
13116
|
+
# encryption for a bucket by using server-side encryption with Key
|
13117
|
+
# Management Service (KMS) keys (SSE-KMS).
|
13118
|
+
#
|
13119
|
+
# * We recommend that the bucket's default encryption uses the
|
13120
|
+
# desired encryption configuration and you don't override the
|
13121
|
+
# bucket default encryption in your `CreateSession` requests or
|
13122
|
+
# `PUT` object requests. Then, new objects are automatically
|
13123
|
+
# encrypted with the desired encryption settings. For more
|
13124
|
+
# information about the encryption overriding behaviors in directory
|
13125
|
+
# buckets, see [Specifying server-side encryption with KMS for new
|
13126
|
+
# object uploads][4].
|
13127
|
+
#
|
13128
|
+
# * Your SSE-KMS configuration can only support 1 [customer managed
|
13129
|
+
# key][5] per directory bucket for the lifetime of the bucket.
|
13130
|
+
# [Amazon Web Services managed key][6] (`aws/s3`) isn't supported.
|
13131
|
+
#
|
13132
|
+
# * S3 Bucket Keys are always enabled for `GET` and `PUT` operations
|
13133
|
+
# in a directory bucket and can’t be disabled. S3 Bucket Keys
|
13134
|
+
# aren't supported, when you copy SSE-KMS encrypted objects from
|
13135
|
+
# general purpose buckets to directory buckets, from directory
|
13136
|
+
# buckets to general purpose buckets, or between directory buckets,
|
13137
|
+
# through [CopyObject][7], [UploadPartCopy][8], [the Copy operation
|
13138
|
+
# in Batch Operations][9], or [the import jobs][10]. In this case,
|
13139
|
+
# Amazon S3 makes a call to KMS every time a copy request is made
|
13140
|
+
# for a KMS-encrypted object.
|
13141
|
+
#
|
13142
|
+
# * When you specify an [KMS customer managed key][5] for encryption
|
13143
|
+
# in your directory bucket, only use the key ID or key ARN. The key
|
13144
|
+
# alias format of the KMS key isn't supported.
|
13145
|
+
#
|
13146
|
+
# * For directory buckets, if you use PutBucketEncryption to set your
|
13147
|
+
# [default bucket encryption][3] to SSE-KMS, Amazon S3 validates the
|
13148
|
+
# KMS key ID provided in PutBucketEncryption requests.
|
13149
|
+
#
|
13150
|
+
# </note>
|
13151
|
+
#
|
13152
|
+
# If you're specifying a customer managed KMS key, we recommend using a
|
13153
|
+
# fully qualified KMS key ARN. If you use a KMS key alias instead, then
|
13154
|
+
# KMS resolves the key within the requester’s account. This behavior can
|
13155
|
+
# result in data that's encrypted with a KMS key that belongs to the
|
13156
|
+
# requester, and not the bucket owner.
|
13157
|
+
#
|
13158
|
+
# Also, this action requires Amazon Web Services Signature Version 4.
|
13159
|
+
# For more information, see [ Authenticating Requests (Amazon Web
|
13160
|
+
# Services Signature Version 4)][11].
|
13161
|
+
#
|
13162
|
+
# Permissions
|
13163
|
+
# : * **General purpose bucket permissions** - The
|
13164
|
+
# `s3:PutEncryptionConfiguration` permission is required in a
|
13165
|
+
# policy. The bucket owner has this permission by default. The
|
13166
|
+
# bucket owner can grant this permission to others. For more
|
13167
|
+
# information about permissions, see [Permissions Related to Bucket
|
13168
|
+
# Operations][12] and [Managing Access Permissions to Your Amazon S3
|
13169
|
+
# Resources][13] in the *Amazon S3 User Guide*.
|
13170
|
+
#
|
13171
|
+
# * **Directory bucket permissions** - To grant access to this API
|
13172
|
+
# operation, you must have the
|
13173
|
+
# `s3express:PutEncryptionConfiguration` permission in an IAM
|
13174
|
+
# identity-based policy instead of a bucket policy. Cross-account
|
13175
|
+
# access to this API operation isn't supported. This operation can
|
13176
|
+
# only be performed by the Amazon Web Services account that owns the
|
13177
|
+
# resource. For more information about directory bucket policies and
|
13178
|
+
# permissions, see [Amazon Web Services Identity and Access
|
13179
|
+
# Management (IAM) for S3 Express One Zone][14] in the *Amazon S3
|
13180
|
+
# User Guide*.
|
13181
|
+
#
|
13182
|
+
# To set a directory bucket default encryption with SSE-KMS, you
|
13183
|
+
# must also have the `kms:GenerateDataKey` and the `kms:Decrypt`
|
13184
|
+
# permissions in IAM identity-based policies and KMS key policies
|
13185
|
+
# for the target KMS key.
|
13186
|
+
#
|
13187
|
+
# HTTP Host header syntax
|
13188
|
+
#
|
13189
|
+
# : <b>Directory buckets </b> - The HTTP Host header syntax is
|
13190
|
+
# `s3express-control.region.amazonaws.com`.
|
12451
13191
|
#
|
12452
13192
|
# The following operations are related to `PutBucketEncryption`:
|
12453
13193
|
#
|
12454
|
-
# * [GetBucketEncryption][
|
13194
|
+
# * [GetBucketEncryption][15]
|
12455
13195
|
#
|
12456
|
-
# * [DeleteBucketEncryption][
|
13196
|
+
# * [DeleteBucketEncryption][16]
|
12457
13197
|
#
|
12458
13198
|
#
|
12459
13199
|
#
|
12460
|
-
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/
|
12461
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-
|
12462
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/
|
12463
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
12464
|
-
# [5]: https://docs.aws.amazon.com/
|
12465
|
-
# [6]: https://docs.aws.amazon.com/
|
12466
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
13200
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
13201
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
|
13202
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
|
13203
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
13204
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
13205
|
+
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
13206
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
13207
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
13208
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
|
13209
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
|
13210
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
|
13211
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
|
13212
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
|
13213
|
+
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
|
13214
|
+
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
|
13215
|
+
# [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
|
12467
13216
|
#
|
12468
13217
|
# @option params [required, String] :bucket
|
12469
13218
|
# Specifies default encryption for a bucket using server-side encryption
|
12470
|
-
# with different key options.
|
12471
|
-
#
|
12472
|
-
#
|
12473
|
-
#
|
12474
|
-
#
|
12475
|
-
#
|
12476
|
-
#
|
13219
|
+
# with different key options.
|
13220
|
+
#
|
13221
|
+
# <b>Directory buckets </b> - When you use this operation with a
|
13222
|
+
# directory bucket, you must use path-style requests in the format
|
13223
|
+
# `https://s3express-control.region_code.amazonaws.com/bucket-name `.
|
13224
|
+
# Virtual-hosted-style requests aren't supported. Directory bucket
|
13225
|
+
# names must be unique in the chosen Availability Zone. Bucket names
|
13226
|
+
# must also follow the format ` bucket_base_name--az_id--x-s3` (for
|
13227
|
+
# example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
|
13228
|
+
# bucket naming restrictions, see [Directory bucket naming rules][1] in
|
13229
|
+
# the *Amazon S3 User Guide*
|
12477
13230
|
#
|
12478
13231
|
#
|
12479
13232
|
#
|
12480
|
-
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/
|
13233
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
|
12481
13234
|
#
|
12482
13235
|
# @option params [String] :content_md5
|
12483
13236
|
# The base64-encoded 128-bit MD5 digest of the server-side encryption
|
@@ -12487,6 +13240,10 @@ module Aws::S3
|
|
12487
13240
|
# (CLI) or Amazon Web Services SDKs, this field is calculated
|
12488
13241
|
# automatically.
|
12489
13242
|
#
|
13243
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
13244
|
+
#
|
13245
|
+
# </note>
|
13246
|
+
#
|
12490
13247
|
# @option params [String] :checksum_algorithm
|
12491
13248
|
# Indicates the algorithm used to create the checksum for the object
|
12492
13249
|
# when you use the SDK. This header will not provide any additional
|
@@ -12499,6 +13256,11 @@ module Aws::S3
|
|
12499
13256
|
# If you provide an individual checksum, Amazon S3 ignores any provided
|
12500
13257
|
# `ChecksumAlgorithm` parameter.
|
12501
13258
|
#
|
13259
|
+
# <note markdown="1"> For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
|
13260
|
+
# is the default checksum algorithm that's used for performance.
|
13261
|
+
#
|
13262
|
+
# </note>
|
13263
|
+
#
|
12502
13264
|
#
|
12503
13265
|
#
|
12504
13266
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
@@ -12511,6 +13273,12 @@ module Aws::S3
|
|
12511
13273
|
# you provide does not match the actual owner of the bucket, the request
|
12512
13274
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
12513
13275
|
#
|
13276
|
+
# <note markdown="1"> For directory buckets, this header is not supported in this API
|
13277
|
+
# operation. If you specify this header, the request fails with the HTTP
|
13278
|
+
# status code `501 Not Implemented`.
|
13279
|
+
#
|
13280
|
+
# </note>
|
13281
|
+
#
|
12514
13282
|
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
12515
13283
|
#
|
12516
13284
|
# @example Request syntax with placeholder values
|
@@ -14507,6 +15275,14 @@ module Aws::S3
|
|
14507
15275
|
#
|
14508
15276
|
# </note>
|
14509
15277
|
#
|
15278
|
+
# <note markdown="1"> When you enable versioning on a bucket for the first time, it might
|
15279
|
+
# take a short amount of time for the change to be fully propagated. We
|
15280
|
+
# recommend that you wait for 15 minutes after enabling versioning
|
15281
|
+
# before issuing write operations (`PUT` or `DELETE`) on objects in the
|
15282
|
+
# bucket.
|
15283
|
+
#
|
15284
|
+
# </note>
|
15285
|
+
#
|
14510
15286
|
# Sets the versioning state of an existing bucket.
|
14511
15287
|
#
|
14512
15288
|
# You can set the versioning state with one of the following values:
|
@@ -14900,6 +15676,10 @@ module Aws::S3
|
|
14900
15676
|
# interruptions when a session expires. For more information about
|
14901
15677
|
# authorization, see [ `CreateSession` ][5].
|
14902
15678
|
#
|
15679
|
+
# If the object is encrypted with SSE-KMS, you must also have the
|
15680
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
15681
|
+
# identity-based policies and KMS key policies for the KMS key.
|
15682
|
+
#
|
14903
15683
|
# Data integrity with Content-MD5
|
14904
15684
|
# : * **General purpose bucket** - To ensure that data is not corrupted
|
14905
15685
|
# traversing the network, use the `Content-MD5` header. When you use
|
@@ -15182,6 +15962,25 @@ module Aws::S3
|
|
15182
15962
|
#
|
15183
15963
|
# [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
|
15184
15964
|
#
|
15965
|
+
# @option params [String] :if_none_match
|
15966
|
+
# Uploads the object only if the object key name does not already exist
|
15967
|
+
# in the bucket specified. Otherwise, Amazon S3 returns a `412
|
15968
|
+
# Precondition Failed` error.
|
15969
|
+
#
|
15970
|
+
# If a conflicting operation occurs during the upload S3 returns a `409
|
15971
|
+
# ConditionalRequestConflict` response. On a 409 failure you should
|
15972
|
+
# retry the upload.
|
15973
|
+
#
|
15974
|
+
# Expects the '*' (asterisk) character.
|
15975
|
+
#
|
15976
|
+
# For more information about conditional requests, see [RFC 7232][1], or
|
15977
|
+
# [Conditional requests][2] in the *Amazon S3 User Guide*.
|
15978
|
+
#
|
15979
|
+
#
|
15980
|
+
#
|
15981
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
15982
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
|
15983
|
+
#
|
15185
15984
|
# @option params [String] :grant_full_control
|
15186
15985
|
# Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
|
15187
15986
|
# object.
|
@@ -15230,25 +16029,65 @@ module Aws::S3
|
|
15230
16029
|
# object in Amazon S3 (for example, `AES256`, `aws:kms`,
|
15231
16030
|
# `aws:kms:dsse`).
|
15232
16031
|
#
|
15233
|
-
# <b>General purpose buckets </b> - You have four mutually exclusive
|
15234
|
-
#
|
15235
|
-
#
|
15236
|
-
#
|
15237
|
-
#
|
15238
|
-
#
|
15239
|
-
#
|
15240
|
-
#
|
15241
|
-
#
|
15242
|
-
#
|
15243
|
-
#
|
16032
|
+
# * <b>General purpose buckets </b> - You have four mutually exclusive
|
16033
|
+
# options to protect data using server-side encryption in Amazon S3,
|
16034
|
+
# depending on how you choose to manage the encryption keys.
|
16035
|
+
# Specifically, the encryption key options are Amazon S3 managed keys
|
16036
|
+
# (SSE-S3), Amazon Web Services KMS keys (SSE-KMS or DSSE-KMS), and
|
16037
|
+
# customer-provided keys (SSE-C). Amazon S3 encrypts data with
|
16038
|
+
# server-side encryption by using Amazon S3 managed keys (SSE-S3) by
|
16039
|
+
# default. You can optionally tell Amazon S3 to encrypt data at rest
|
16040
|
+
# by using server-side encryption with other key options. For more
|
16041
|
+
# information, see [Using Server-Side Encryption][1] in the *Amazon S3
|
16042
|
+
# User Guide*.
|
16043
|
+
#
|
16044
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
16045
|
+
# two supported options for server-side encryption: server-side
|
16046
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
16047
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). We
|
16048
|
+
# recommend that the bucket's default encryption uses the desired
|
16049
|
+
# encryption configuration and you don't override the bucket default
|
16050
|
+
# encryption in your `CreateSession` requests or `PUT` object
|
16051
|
+
# requests. Then, new objects are automatically encrypted with the
|
16052
|
+
# desired encryption settings. For more information, see [Protecting
|
16053
|
+
# data with server-side encryption][2] in the *Amazon S3 User Guide*.
|
16054
|
+
# For more information about the encryption overriding behaviors in
|
16055
|
+
# directory buckets, see [Specifying server-side encryption with KMS
|
16056
|
+
# for new object uploads][3].
|
16057
|
+
#
|
16058
|
+
# In the Zonal endpoint API calls (except [CopyObject][4] and
|
16059
|
+
# [UploadPartCopy][5]) using the REST API, the encryption request
|
16060
|
+
# headers must match the encryption settings that are specified in the
|
16061
|
+
# `CreateSession` request. You can't override the values of the
|
16062
|
+
# encryption settings (`x-amz-server-side-encryption`,
|
16063
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`,
|
16064
|
+
# `x-amz-server-side-encryption-context`, and
|
16065
|
+
# `x-amz-server-side-encryption-bucket-key-enabled`) that are
|
16066
|
+
# specified in the `CreateSession` request. You don't need to
|
16067
|
+
# explicitly specify these encryption settings values in Zonal
|
16068
|
+
# endpoint API calls, and Amazon S3 will use the encryption settings
|
16069
|
+
# values from the `CreateSession` request to protect new objects in
|
16070
|
+
# the directory bucket.
|
16071
|
+
#
|
16072
|
+
# <note markdown="1"> When you use the CLI or the Amazon Web Services SDKs, for
|
16073
|
+
# `CreateSession`, the session token refreshes automatically to avoid
|
16074
|
+
# service interruptions when a session expires. The CLI or the Amazon
|
16075
|
+
# Web Services SDKs use the bucket's default encryption configuration
|
16076
|
+
# for the `CreateSession` request. It's not supported to override the
|
16077
|
+
# encryption settings values in the `CreateSession` request. So in the
|
16078
|
+
# Zonal endpoint API calls (except [CopyObject][4] and
|
16079
|
+
# [UploadPartCopy][5]), the encryption request headers must match the
|
16080
|
+
# default encryption configuration of the directory bucket.
|
15244
16081
|
#
|
15245
|
-
#
|
15246
|
-
# server-side encryption with Amazon S3 managed keys (SSE-S3) (`AES256`)
|
15247
|
-
# value is supported.
|
16082
|
+
# </note>
|
15248
16083
|
#
|
15249
16084
|
#
|
15250
16085
|
#
|
15251
16086
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
16087
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
16088
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
16089
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
16090
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
15252
16091
|
#
|
15253
16092
|
# @option params [String] :storage_class
|
15254
16093
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
@@ -15328,46 +16167,83 @@ module Aws::S3
|
|
15328
16167
|
# </note>
|
15329
16168
|
#
|
15330
16169
|
# @option params [String] :ssekms_key_id
|
15331
|
-
#
|
15332
|
-
#
|
15333
|
-
#
|
15334
|
-
#
|
15335
|
-
#
|
15336
|
-
#
|
15337
|
-
# x-amz-server-side-encryption
|
15338
|
-
#
|
15339
|
-
#
|
15340
|
-
#
|
16170
|
+
# Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for
|
16171
|
+
# object encryption. If the KMS key doesn't exist in the same account
|
16172
|
+
# that's issuing the command, you must use the full Key ARN not the Key
|
16173
|
+
# ID.
|
16174
|
+
#
|
16175
|
+
# **General purpose buckets** - If you specify
|
16176
|
+
# `x-amz-server-side-encryption` with `aws:kms` or `aws:kms:dsse`, this
|
16177
|
+
# header specifies the ID (Key ID, Key ARN, or Key Alias) of the KMS key
|
16178
|
+
# to use. If you specify `x-amz-server-side-encryption:aws:kms` or
|
16179
|
+
# `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide
|
16180
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
16181
|
+
# Amazon Web Services managed key (`aws/s3`) to protect the data.
|
16182
|
+
#
|
16183
|
+
# **Directory buckets** - If you specify `x-amz-server-side-encryption`
|
16184
|
+
# with `aws:kms`, you must specify the `
|
16185
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header with the ID (Key
|
16186
|
+
# ID or Key ARN) of the KMS symmetric encryption customer managed key to
|
16187
|
+
# use. Otherwise, you get an HTTP `400 Bad Request` error. Only use the
|
16188
|
+
# key ID or key ARN. The key alias format of the KMS key isn't
|
16189
|
+
# supported. Your SSE-KMS configuration can only support 1 [customer
|
16190
|
+
# managed key][1] per directory bucket for the lifetime of the bucket.
|
16191
|
+
# [Amazon Web Services managed key][2] (`aws/s3`) isn't supported.
|
16192
|
+
#
|
16193
|
+
#
|
16194
|
+
#
|
16195
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
16196
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
15341
16197
|
#
|
15342
|
-
#
|
16198
|
+
# @option params [String] :ssekms_encryption_context
|
16199
|
+
# Specifies the Amazon Web Services KMS Encryption Context as an
|
16200
|
+
# additional encryption context to use for object encryption. The value
|
16201
|
+
# of this header is a Base64-encoded string of a UTF-8 encoded JSON,
|
16202
|
+
# which contains the encryption context as key-value pairs. This value
|
16203
|
+
# is stored as object metadata and automatically gets passed on to
|
16204
|
+
# Amazon Web Services KMS for future `GetObject` operations on this
|
16205
|
+
# object.
|
15343
16206
|
#
|
15344
|
-
#
|
16207
|
+
# **General purpose buckets** - This value must be explicitly added
|
16208
|
+
# during `CopyObject` operations if you want an additional encryption
|
16209
|
+
# context for your object. For more information, see [Encryption
|
16210
|
+
# context][1] in the *Amazon S3 User Guide*.
|
15345
16211
|
#
|
15346
|
-
#
|
15347
|
-
#
|
15348
|
-
#
|
15349
|
-
#
|
15350
|
-
# value is stored as object metadata and automatically gets passed on to
|
15351
|
-
# Amazon Web Services KMS for future `GetObject` or `CopyObject`
|
15352
|
-
# operations on this object. This value must be explicitly added during
|
15353
|
-
# `CopyObject` operations.
|
16212
|
+
# **Directory buckets** - You can optionally provide an explicit
|
16213
|
+
# encryption context value. The value must match the default encryption
|
16214
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
16215
|
+
# encryption context value is not supported.
|
15354
16216
|
#
|
15355
|
-
# <note markdown="1"> This functionality is not supported for directory buckets.
|
15356
16217
|
#
|
15357
|
-
#
|
16218
|
+
#
|
16219
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context
|
15358
16220
|
#
|
15359
16221
|
# @option params [Boolean] :bucket_key_enabled
|
15360
16222
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
15361
16223
|
# encryption with server-side encryption using Key Management Service
|
15362
|
-
# (KMS) keys (SSE-KMS).
|
15363
|
-
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
16224
|
+
# (KMS) keys (SSE-KMS).
|
15364
16225
|
#
|
15365
|
-
#
|
15366
|
-
#
|
16226
|
+
# **General purpose buckets** - Setting this header to `true` causes
|
16227
|
+
# Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.
|
16228
|
+
# Also, specifying this header with a PUT action doesn't affect
|
16229
|
+
# bucket-level settings for S3 Bucket Key.
|
16230
|
+
#
|
16231
|
+
# **Directory buckets** - S3 Bucket Keys are always enabled for `GET`
|
16232
|
+
# and `PUT` operations in a directory bucket and can’t be disabled. S3
|
16233
|
+
# Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects
|
16234
|
+
# from general purpose buckets to directory buckets, from directory
|
16235
|
+
# buckets to general purpose buckets, or between directory buckets,
|
16236
|
+
# through [CopyObject][1], [UploadPartCopy][2], [the Copy operation in
|
16237
|
+
# Batch Operations][3], or [the import jobs][4]. In this case, Amazon S3
|
16238
|
+
# makes a call to KMS every time a copy request is made for a
|
16239
|
+
# KMS-encrypted object.
|
15367
16240
|
#
|
15368
|
-
# <note markdown="1"> This functionality is not supported for directory buckets.
|
15369
16241
|
#
|
15370
|
-
#
|
16242
|
+
#
|
16243
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
16244
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
16245
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
|
16246
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
|
15371
16247
|
#
|
15372
16248
|
# @option params [String] :request_payer
|
15373
16249
|
# Confirms that the requester knows that they will be charged for the
|
@@ -15445,61 +16321,38 @@ module Aws::S3
|
|
15445
16321
|
# * {Types::PutObjectOutput#request_charged #request_charged} => String
|
15446
16322
|
#
|
15447
16323
|
#
|
15448
|
-
# @example Example: To upload an object
|
16324
|
+
# @example Example: To upload an object and specify optional tags
|
15449
16325
|
#
|
15450
|
-
# # The following example uploads an object
|
15451
|
-
# #
|
16326
|
+
# # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
|
16327
|
+
# # S3 returns version ID of the newly created object.
|
15452
16328
|
#
|
15453
16329
|
# resp = client.put_object({
|
15454
|
-
# body: "HappyFace.jpg",
|
16330
|
+
# body: "c:\\HappyFace.jpg",
|
15455
16331
|
# bucket: "examplebucket",
|
15456
16332
|
# key: "HappyFace.jpg",
|
15457
|
-
# })
|
15458
|
-
#
|
15459
|
-
# resp.to_h outputs the following:
|
15460
|
-
# {
|
15461
|
-
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15462
|
-
# version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
|
15463
|
-
# }
|
15464
|
-
#
|
15465
|
-
# @example Example: To upload an object and specify server-side encryption and object tags
|
15466
|
-
#
|
15467
|
-
# # The following example uploads an object. The request specifies the optional server-side encryption option. The request
|
15468
|
-
# # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
|
15469
|
-
#
|
15470
|
-
# resp = client.put_object({
|
15471
|
-
# body: "filetoupload",
|
15472
|
-
# bucket: "examplebucket",
|
15473
|
-
# key: "exampleobject",
|
15474
|
-
# server_side_encryption: "AES256",
|
15475
16333
|
# tagging: "key1=value1&key2=value2",
|
15476
16334
|
# })
|
15477
16335
|
#
|
15478
16336
|
# resp.to_h outputs the following:
|
15479
16337
|
# {
|
15480
16338
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15481
|
-
#
|
15482
|
-
# version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
|
16339
|
+
# version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
|
15483
16340
|
# }
|
15484
16341
|
#
|
15485
|
-
# @example Example: To
|
16342
|
+
# @example Example: To create an object.
|
15486
16343
|
#
|
15487
|
-
# # The following example
|
15488
|
-
# # storage class and use server-side encryption.
|
16344
|
+
# # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
|
15489
16345
|
#
|
15490
16346
|
# resp = client.put_object({
|
15491
|
-
# body: "
|
16347
|
+
# body: "filetoupload",
|
15492
16348
|
# bucket: "examplebucket",
|
15493
|
-
# key: "
|
15494
|
-
# server_side_encryption: "AES256",
|
15495
|
-
# storage_class: "STANDARD_IA",
|
16349
|
+
# key: "objectkey",
|
15496
16350
|
# })
|
15497
16351
|
#
|
15498
16352
|
# resp.to_h outputs the following:
|
15499
16353
|
# {
|
15500
16354
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15501
|
-
#
|
15502
|
-
# version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
|
16355
|
+
# version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
|
15503
16356
|
# }
|
15504
16357
|
#
|
15505
16358
|
# @example Example: To upload object and specify user-defined metadata
|
@@ -15523,22 +16376,41 @@ module Aws::S3
|
|
15523
16376
|
# version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
|
15524
16377
|
# }
|
15525
16378
|
#
|
15526
|
-
# @example Example: To upload an object
|
16379
|
+
# @example Example: To upload an object
|
15527
16380
|
#
|
15528
|
-
# # The following example uploads an object
|
15529
|
-
# # S3 returns
|
16381
|
+
# # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
|
16382
|
+
# # syntax. S3 returns VersionId of the newly created object.
|
15530
16383
|
#
|
15531
16384
|
# resp = client.put_object({
|
15532
|
-
# body: "
|
16385
|
+
# body: "HappyFace.jpg",
|
15533
16386
|
# bucket: "examplebucket",
|
15534
16387
|
# key: "HappyFace.jpg",
|
16388
|
+
# })
|
16389
|
+
#
|
16390
|
+
# resp.to_h outputs the following:
|
16391
|
+
# {
|
16392
|
+
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
16393
|
+
# version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
|
16394
|
+
# }
|
16395
|
+
#
|
16396
|
+
# @example Example: To upload an object and specify server-side encryption and object tags
|
16397
|
+
#
|
16398
|
+
# # The following example uploads an object. The request specifies the optional server-side encryption option. The request
|
16399
|
+
# # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
|
16400
|
+
#
|
16401
|
+
# resp = client.put_object({
|
16402
|
+
# body: "filetoupload",
|
16403
|
+
# bucket: "examplebucket",
|
16404
|
+
# key: "exampleobject",
|
16405
|
+
# server_side_encryption: "AES256",
|
15535
16406
|
# tagging: "key1=value1&key2=value2",
|
15536
16407
|
# })
|
15537
16408
|
#
|
15538
16409
|
# resp.to_h outputs the following:
|
15539
16410
|
# {
|
15540
16411
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15541
|
-
#
|
16412
|
+
# server_side_encryption: "AES256",
|
16413
|
+
# version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
|
15542
16414
|
# }
|
15543
16415
|
#
|
15544
16416
|
# @example Example: To upload an object and specify canned ACL.
|
@@ -15559,20 +16431,24 @@ module Aws::S3
|
|
15559
16431
|
# version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
|
15560
16432
|
# }
|
15561
16433
|
#
|
15562
|
-
# @example Example: To
|
16434
|
+
# @example Example: To upload an object (specify optional headers)
|
15563
16435
|
#
|
15564
|
-
# # The following example
|
16436
|
+
# # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
|
16437
|
+
# # storage class and use server-side encryption.
|
15565
16438
|
#
|
15566
16439
|
# resp = client.put_object({
|
15567
|
-
# body: "
|
16440
|
+
# body: "HappyFace.jpg",
|
15568
16441
|
# bucket: "examplebucket",
|
15569
|
-
# key: "
|
16442
|
+
# key: "HappyFace.jpg",
|
16443
|
+
# server_side_encryption: "AES256",
|
16444
|
+
# storage_class: "STANDARD_IA",
|
15570
16445
|
# })
|
15571
16446
|
#
|
15572
16447
|
# resp.to_h outputs the following:
|
15573
16448
|
# {
|
15574
16449
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15575
|
-
#
|
16450
|
+
# server_side_encryption: "AES256",
|
16451
|
+
# version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
|
15576
16452
|
# }
|
15577
16453
|
#
|
15578
16454
|
# @example Streaming a file from disk
|
@@ -15600,6 +16476,7 @@ module Aws::S3
|
|
15600
16476
|
# checksum_sha1: "ChecksumSHA1",
|
15601
16477
|
# checksum_sha256: "ChecksumSHA256",
|
15602
16478
|
# expires: Time.now,
|
16479
|
+
# if_none_match: "IfNoneMatch",
|
15603
16480
|
# grant_full_control: "GrantFullControl",
|
15604
16481
|
# grant_read: "GrantRead",
|
15605
16482
|
# grant_read_acp: "GrantReadACP",
|
@@ -16699,6 +17576,10 @@ module Aws::S3
|
|
16699
17576
|
#
|
16700
17577
|
# </note>
|
16701
17578
|
#
|
17579
|
+
# The `SELECT` job type for the RestoreObject operation is no longer
|
17580
|
+
# available to new customers. Existing customers of Amazon S3 Select can
|
17581
|
+
# continue to use the feature as usual. [Learn more][1]
|
17582
|
+
#
|
16702
17583
|
# Restores an archived copy of an object back into Amazon S3
|
16703
17584
|
#
|
16704
17585
|
# This functionality is not supported for Amazon S3 on Outposts.
|
@@ -16712,11 +17593,11 @@ module Aws::S3
|
|
16712
17593
|
# For more information about the `S3` structure in the request body, see
|
16713
17594
|
# the following:
|
16714
17595
|
#
|
16715
|
-
# * [PutObject][
|
17596
|
+
# * [PutObject][2]
|
16716
17597
|
#
|
16717
|
-
# * [Managing Access with ACLs][
|
17598
|
+
# * [Managing Access with ACLs][3] in the *Amazon S3 User Guide*
|
16718
17599
|
#
|
16719
|
-
# * [Protecting Data Using Server-Side Encryption][
|
17600
|
+
# * [Protecting Data Using Server-Side Encryption][4] in the *Amazon S3
|
16720
17601
|
# User Guide*
|
16721
17602
|
#
|
16722
17603
|
# Permissions
|
@@ -16725,8 +17606,8 @@ module Aws::S3
|
|
16725
17606
|
# `s3:RestoreObject` action. The bucket owner has this permission by
|
16726
17607
|
# default and can grant this permission to others. For more
|
16727
17608
|
# information about permissions, see [Permissions Related to Bucket
|
16728
|
-
# Subresource Operations][
|
16729
|
-
# Amazon S3 Resources][
|
17609
|
+
# Subresource Operations][5] and [Managing Access Permissions to Your
|
17610
|
+
# Amazon S3 Resources][6] in the *Amazon S3 User Guide*.
|
16730
17611
|
#
|
16731
17612
|
# Restoring objects
|
16732
17613
|
#
|
@@ -16789,11 +17670,11 @@ module Aws::S3
|
|
16789
17670
|
#
|
16790
17671
|
# For more information about archive retrieval options and provisioned
|
16791
17672
|
# capacity for `Expedited` data access, see [Restoring Archived
|
16792
|
-
# Objects][
|
17673
|
+
# Objects][7] in the *Amazon S3 User Guide*.
|
16793
17674
|
#
|
16794
17675
|
# You can use Amazon S3 restore speed upgrade to change the restore
|
16795
17676
|
# speed to a faster speed while it is in progress. For more
|
16796
|
-
# information, see [ Upgrading the speed of an in-progress restore][
|
17677
|
+
# information, see [ Upgrading the speed of an in-progress restore][8]
|
16797
17678
|
# in the *Amazon S3 User Guide*.
|
16798
17679
|
#
|
16799
17680
|
# To get the status of object restoration, you can send a `HEAD`
|
@@ -16801,7 +17682,7 @@ module Aws::S3
|
|
16801
17682
|
# provides information about the restoration status, in the response.
|
16802
17683
|
# You can use Amazon S3 event notifications to notify you when a
|
16803
17684
|
# restore is initiated or completed. For more information, see
|
16804
|
-
# [Configuring Amazon S3 Event Notifications][
|
17685
|
+
# [Configuring Amazon S3 Event Notifications][9] in the *Amazon S3
|
16805
17686
|
# User Guide*.
|
16806
17687
|
#
|
16807
17688
|
# After restoring an archived object, you can update the restoration
|
@@ -16817,8 +17698,8 @@ module Aws::S3
|
|
16817
17698
|
# restore an object copy for 10 days, but the object is scheduled to
|
16818
17699
|
# expire in 3 days, Amazon S3 deletes the object in 3 days. For more
|
16819
17700
|
# information about lifecycle configuration, see
|
16820
|
-
# [PutBucketLifecycleConfiguration][
|
16821
|
-
# Management][
|
17701
|
+
# [PutBucketLifecycleConfiguration][10] and [Object Lifecycle
|
17702
|
+
# Management][11] in *Amazon S3 User Guide*.
|
16822
17703
|
#
|
16823
17704
|
# Responses
|
16824
17705
|
#
|
@@ -16856,23 +17737,24 @@ module Aws::S3
|
|
16856
17737
|
#
|
16857
17738
|
# The following operations are related to `RestoreObject`:
|
16858
17739
|
#
|
16859
|
-
# * [PutBucketLifecycleConfiguration][
|
17740
|
+
# * [PutBucketLifecycleConfiguration][10]
|
16860
17741
|
#
|
16861
|
-
# * [GetBucketNotificationConfiguration][
|
17742
|
+
# * [GetBucketNotificationConfiguration][12]
|
16862
17743
|
#
|
16863
17744
|
#
|
16864
17745
|
#
|
16865
|
-
# [1]:
|
16866
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/
|
16867
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/
|
16868
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/
|
16869
|
-
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-
|
16870
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/
|
16871
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
|
16872
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/
|
16873
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/
|
16874
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/
|
16875
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17746
|
+
# [1]: http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/
|
17747
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
|
17748
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
|
17749
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
|
17750
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
|
17751
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
|
17752
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
|
17753
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html#restoring-objects-upgrade-tier.title.html
|
17754
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
|
17755
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
|
17756
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
|
17757
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html
|
16876
17758
|
#
|
16877
17759
|
# @option params [required, String] :bucket
|
16878
17760
|
# The bucket name containing the object to restore.
|
@@ -17084,6 +17966,10 @@ module Aws::S3
|
|
17084
17966
|
#
|
17085
17967
|
# </note>
|
17086
17968
|
#
|
17969
|
+
# The SelectObjectContent operation is no longer available to new
|
17970
|
+
# customers. Existing customers of Amazon S3 Select can continue to use
|
17971
|
+
# the operation as usual. [Learn more][1]
|
17972
|
+
#
|
17087
17973
|
# This action filters the contents of an Amazon S3 object based on a
|
17088
17974
|
# simple structured query language (SQL) statement. In the request,
|
17089
17975
|
# along with the SQL expression, you must also specify a data
|
@@ -17095,7 +17981,7 @@ module Aws::S3
|
|
17095
17981
|
# This functionality is not supported for Amazon S3 on Outposts.
|
17096
17982
|
#
|
17097
17983
|
# For more information about Amazon S3 Select, see [Selecting Content
|
17098
|
-
# from Objects][
|
17984
|
+
# from Objects][2] and [SELECT Command][3] in the *Amazon S3 User
|
17099
17985
|
# Guide*.
|
17100
17986
|
#
|
17101
17987
|
#
|
@@ -17105,7 +17991,7 @@ module Aws::S3
|
|
17105
17991
|
# : You must have the `s3:GetObject` permission for this
|
17106
17992
|
# operation. Amazon S3 Select does not support anonymous access. For
|
17107
17993
|
# more information about permissions, see [Specifying Permissions in a
|
17108
|
-
# Policy][
|
17994
|
+
# Policy][4] in the *Amazon S3 User Guide*.
|
17109
17995
|
#
|
17110
17996
|
# Object Data Formats
|
17111
17997
|
#
|
@@ -17130,31 +18016,31 @@ module Aws::S3
|
|
17130
18016
|
#
|
17131
18017
|
# For objects that are encrypted with customer-provided encryption
|
17132
18018
|
# keys (SSE-C), you must use HTTPS, and you must use the headers
|
17133
|
-
# that are documented in the [GetObject][
|
18019
|
+
# that are documented in the [GetObject][5]. For more information
|
17134
18020
|
# about SSE-C, see [Server-Side Encryption (Using Customer-Provided
|
17135
|
-
# Encryption Keys)][
|
18021
|
+
# Encryption Keys)][6] in the *Amazon S3 User Guide*.
|
17136
18022
|
#
|
17137
18023
|
# For objects that are encrypted with Amazon S3 managed keys
|
17138
18024
|
# (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS), server-side
|
17139
18025
|
# encryption is handled transparently, so you don't need to specify
|
17140
18026
|
# anything. For more information about server-side encryption,
|
17141
18027
|
# including SSE-S3 and SSE-KMS, see [Protecting Data Using
|
17142
|
-
# Server-Side Encryption][
|
18028
|
+
# Server-Side Encryption][7] in the *Amazon S3 User Guide*.
|
17143
18029
|
#
|
17144
18030
|
# Working with the Response Body
|
17145
18031
|
#
|
17146
18032
|
# : Given the response size is unknown, Amazon S3 Select streams the
|
17147
18033
|
# response as a series of messages and includes a `Transfer-Encoding`
|
17148
18034
|
# header with `chunked` as its value in the response. For more
|
17149
|
-
# information, see [Appendix: SelectObjectContent Response][
|
18035
|
+
# information, see [Appendix: SelectObjectContent Response][8].
|
17150
18036
|
#
|
17151
18037
|
# GetObject Support
|
17152
18038
|
#
|
17153
18039
|
# : The `SelectObjectContent` action does not support the following
|
17154
|
-
# `GetObject` functionality. For more information, see [GetObject][
|
18040
|
+
# `GetObject` functionality. For more information, see [GetObject][5].
|
17155
18041
|
#
|
17156
18042
|
# * `Range`: Although you can specify a scan range for an Amazon S3
|
17157
|
-
# Select request (see [SelectObjectContentRequest - ScanRange][
|
18043
|
+
# Select request (see [SelectObjectContentRequest - ScanRange][9] in
|
17158
18044
|
# the request parameters), you cannot specify the range of bytes of
|
17159
18045
|
# an object to return.
|
17160
18046
|
#
|
@@ -17165,36 +18051,37 @@ module Aws::S3
|
|
17165
18051
|
# storage classes, nor objects in the `ARCHIVE_ACCESS` or
|
17166
18052
|
# `DEEP_ARCHIVE_ACCESS` access tiers of the `INTELLIGENT_TIERING`
|
17167
18053
|
# storage class. For more information about storage classes, see
|
17168
|
-
# [Using Amazon S3 storage classes][
|
18054
|
+
# [Using Amazon S3 storage classes][10] in the *Amazon S3 User
|
17169
18055
|
# Guide*.
|
17170
18056
|
#
|
17171
18057
|
# Special Errors
|
17172
18058
|
#
|
17173
18059
|
# : For a list of special errors for this operation, see [List of SELECT
|
17174
|
-
# Object Content Error Codes][
|
18060
|
+
# Object Content Error Codes][11]
|
17175
18061
|
#
|
17176
18062
|
# The following operations are related to `SelectObjectContent`:
|
17177
18063
|
#
|
17178
|
-
# * [GetObject][
|
18064
|
+
# * [GetObject][5]
|
17179
18065
|
#
|
17180
|
-
# * [GetBucketLifecycleConfiguration][
|
18066
|
+
# * [GetBucketLifecycleConfiguration][12]
|
17181
18067
|
#
|
17182
|
-
# * [PutBucketLifecycleConfiguration][
|
18068
|
+
# * [PutBucketLifecycleConfiguration][13]
|
17183
18069
|
#
|
17184
18070
|
#
|
17185
18071
|
#
|
17186
|
-
# [1]:
|
17187
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17188
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17189
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17190
|
-
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17191
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/
|
17192
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17193
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
17194
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17195
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17196
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
17197
|
-
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
18072
|
+
# [1]: http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/
|
18073
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html
|
18074
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-select.html
|
18075
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
|
18076
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
|
18077
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
18078
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
|
18079
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html
|
18080
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange
|
18081
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html
|
18082
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList
|
18083
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
|
18084
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
|
17198
18085
|
#
|
17199
18086
|
# @option params [required, String] :bucket
|
17200
18087
|
# The S3 bucket.
|
@@ -17541,14 +18428,27 @@ module Aws::S3
|
|
17541
18428
|
# </note>
|
17542
18429
|
#
|
17543
18430
|
# Permissions
|
17544
|
-
# : * **General purpose bucket permissions** -
|
17545
|
-
#
|
17546
|
-
#
|
17547
|
-
#
|
18431
|
+
# : * **General purpose bucket permissions** - To perform a multipart
|
18432
|
+
# upload with encryption using an Key Management Service key, the
|
18433
|
+
# requester must have permission to the `kms:Decrypt` and
|
18434
|
+
# `kms:GenerateDataKey` actions on the key. The requester must also
|
18435
|
+
# have permissions for the `kms:GenerateDataKey` action for the
|
18436
|
+
# `CreateMultipartUpload` API. Then, the requester needs permissions
|
18437
|
+
# for the `kms:Decrypt` action on the `UploadPart` and
|
18438
|
+
# `UploadPartCopy` APIs.
|
18439
|
+
#
|
18440
|
+
# These permissions are required because Amazon S3 must decrypt and
|
18441
|
+
# read data from the encrypted file parts before it completes the
|
18442
|
+
# multipart upload. For more information about KMS permissions, see
|
18443
|
+
# [Protecting data using server-side encryption with KMS][6] in the
|
18444
|
+
# *Amazon S3 User Guide*. For information about the permissions
|
18445
|
+
# required to use the multipart upload API, see [Multipart upload
|
18446
|
+
# and permissions][7] and [Multipart upload API and permissions][8]
|
18447
|
+
# in the *Amazon S3 User Guide*.
|
17548
18448
|
#
|
17549
18449
|
# * **Directory bucket permissions** - To grant access to this API
|
17550
18450
|
# operation on a directory bucket, we recommend that you use the [
|
17551
|
-
# `CreateSession` ][
|
18451
|
+
# `CreateSession` ][9] API operation for session-based
|
17552
18452
|
# authorization. Specifically, you grant the
|
17553
18453
|
# `s3express:CreateSession` permission to the directory bucket in a
|
17554
18454
|
# bucket policy or an IAM identity-based policy. Then, you make the
|
@@ -17559,7 +18459,11 @@ module Aws::S3
|
|
17559
18459
|
# token for use. Amazon Web Services CLI or SDKs create session and
|
17560
18460
|
# refresh the session token automatically to avoid service
|
17561
18461
|
# interruptions when a session expires. For more information about
|
17562
|
-
# authorization, see [ `CreateSession` ][
|
18462
|
+
# authorization, see [ `CreateSession` ][9].
|
18463
|
+
#
|
18464
|
+
# If the object is encrypted with SSE-KMS, you must also have the
|
18465
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
18466
|
+
# identity-based policies and KMS key policies for the KMS key.
|
17563
18467
|
#
|
17564
18468
|
# Data integrity
|
17565
18469
|
#
|
@@ -17571,7 +18475,7 @@ module Aws::S3
|
|
17571
18475
|
# then Amazon Web Services S3 uses the `x-amz-content-sha256` header
|
17572
18476
|
# as a checksum instead of `Content-MD5`. For more information see
|
17573
18477
|
# [Authenticating Requests: Using the Authorization Header (Amazon Web
|
17574
|
-
# Services Signature Version 4)][
|
18478
|
+
# Services Signature Version 4)][10].
|
17575
18479
|
#
|
17576
18480
|
# <note markdown="1"> **Directory buckets** - MD5 is not supported by directory buckets.
|
17577
18481
|
# You can use checksum algorithms to check object integrity.
|
@@ -17612,12 +18516,13 @@ module Aws::S3
|
|
17612
18516
|
#
|
17613
18517
|
# * x-amz-server-side-encryption-customer-key-MD5
|
17614
18518
|
#
|
17615
|
-
#
|
17616
|
-
#
|
17617
|
-
# supported.
|
18519
|
+
# For more information, see [Using Server-Side Encryption][11] in
|
18520
|
+
# the *Amazon S3 User Guide*.
|
17618
18521
|
#
|
17619
|
-
#
|
17620
|
-
#
|
18522
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
18523
|
+
# two supported options for server-side encryption: server-side
|
18524
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
18525
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`).
|
17621
18526
|
#
|
17622
18527
|
# Special errors
|
17623
18528
|
# : * Error Code: `NoSuchUpload`
|
@@ -17639,13 +18544,13 @@ module Aws::S3
|
|
17639
18544
|
#
|
17640
18545
|
# * [CreateMultipartUpload][2]
|
17641
18546
|
#
|
17642
|
-
# * [CompleteMultipartUpload][
|
18547
|
+
# * [CompleteMultipartUpload][12]
|
17643
18548
|
#
|
17644
|
-
# * [AbortMultipartUpload][
|
18549
|
+
# * [AbortMultipartUpload][13]
|
17645
18550
|
#
|
17646
|
-
# * [ListParts][
|
18551
|
+
# * [ListParts][14]
|
17647
18552
|
#
|
17648
|
-
# * [ListMultipartUploads][
|
18553
|
+
# * [ListMultipartUploads][15]
|
17649
18554
|
#
|
17650
18555
|
#
|
17651
18556
|
#
|
@@ -17654,14 +18559,16 @@ module Aws::S3
|
|
17654
18559
|
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html
|
17655
18560
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
|
17656
18561
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
17657
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17658
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17659
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17660
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17661
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
17662
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17663
|
-
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
17664
|
-
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
18562
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
|
18563
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
|
18564
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
|
18565
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
18566
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html
|
18567
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
18568
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
|
18569
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
|
18570
|
+
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
|
18571
|
+
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
|
17665
18572
|
#
|
17666
18573
|
# @option params [String, StringIO, File] :body
|
17667
18574
|
# Object data.
|
@@ -17994,9 +18901,21 @@ module Aws::S3
|
|
17994
18901
|
# have the <b> <code>s3:PutObject</code> </b> permission to write
|
17995
18902
|
# the object copy to the destination bucket.
|
17996
18903
|
#
|
17997
|
-
#
|
17998
|
-
#
|
17999
|
-
#
|
18904
|
+
# * To perform a multipart upload with encryption using an Key
|
18905
|
+
# Management Service key, the requester must have permission to
|
18906
|
+
# the `kms:Decrypt` and `kms:GenerateDataKey` actions on the key.
|
18907
|
+
# The requester must also have permissions for the
|
18908
|
+
# `kms:GenerateDataKey` action for the `CreateMultipartUpload`
|
18909
|
+
# API. Then, the requester needs permissions for the `kms:Decrypt`
|
18910
|
+
# action on the `UploadPart` and `UploadPartCopy` APIs. These
|
18911
|
+
# permissions are required because Amazon S3 must decrypt and read
|
18912
|
+
# data from the encrypted file parts before it completes the
|
18913
|
+
# multipart upload. For more information about KMS permissions,
|
18914
|
+
# see [Protecting data using server-side encryption with KMS][7]
|
18915
|
+
# in the *Amazon S3 User Guide*. For information about the
|
18916
|
+
# permissions required to use the multipart upload API, see
|
18917
|
+
# [Multipart upload and permissions][8] and [Multipart upload API
|
18918
|
+
# and permissions][9] in the *Amazon S3 User Guide*.
|
18000
18919
|
#
|
18001
18920
|
# * **Directory bucket permissions** - You must have permissions in a
|
18002
18921
|
# bucket policy or an IAM identity-based policy based on the source
|
@@ -18016,20 +18935,41 @@ module Aws::S3
|
|
18016
18935
|
# destination. The `s3express:SessionMode` condition key cannot be
|
18017
18936
|
# set to `ReadOnly` on the copy destination.
|
18018
18937
|
#
|
18938
|
+
# If the object is encrypted with SSE-KMS, you must also have the
|
18939
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
18940
|
+
# identity-based policies and KMS key policies for the KMS key.
|
18941
|
+
#
|
18019
18942
|
# For example policies, see [Example bucket policies for S3 Express
|
18020
|
-
# One Zone][
|
18943
|
+
# One Zone][10] and [Amazon Web Services Identity and Access
|
18021
18944
|
# Management (IAM) identity-based policies for S3 Express One
|
18022
|
-
# Zone][
|
18945
|
+
# Zone][11] in the *Amazon S3 User Guide*.
|
18023
18946
|
#
|
18024
18947
|
# Encryption
|
18025
18948
|
# : * <b>General purpose buckets </b> - For information about using
|
18026
18949
|
# server-side encryption with customer-provided encryption keys with
|
18027
|
-
# the `UploadPartCopy` operation, see [CopyObject][
|
18950
|
+
# the `UploadPartCopy` operation, see [CopyObject][12] and
|
18028
18951
|
# [UploadPart][2].
|
18029
18952
|
#
|
18030
|
-
# * <b>Directory buckets </b> - For directory buckets, only
|
18031
|
-
# server-side encryption
|
18032
|
-
# (`AES256`)
|
18953
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
18954
|
+
# two supported options for server-side encryption: server-side
|
18955
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
18956
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). For
|
18957
|
+
# more information, see [Protecting data with server-side
|
18958
|
+
# encryption][13] in the *Amazon S3 User Guide*.
|
18959
|
+
#
|
18960
|
+
# <note markdown="1"> For directory buckets, when you perform a `CreateMultipartUpload`
|
18961
|
+
# operation and an `UploadPartCopy` operation, the request headers
|
18962
|
+
# you provide in the `CreateMultipartUpload` request must match the
|
18963
|
+
# default encryption configuration of the destination bucket.
|
18964
|
+
#
|
18965
|
+
# </note>
|
18966
|
+
#
|
18967
|
+
# S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted
|
18968
|
+
# objects from general purpose buckets to directory buckets, from
|
18969
|
+
# directory buckets to general purpose buckets, or between directory
|
18970
|
+
# buckets, through [UploadPartCopy][14]. In this case, Amazon S3
|
18971
|
+
# makes a call to KMS every time a copy request is made for a
|
18972
|
+
# KMS-encrypted object.
|
18033
18973
|
#
|
18034
18974
|
# Special errors
|
18035
18975
|
# : * Error Code: `NoSuchUpload`
|
@@ -18054,17 +18994,17 @@ module Aws::S3
|
|
18054
18994
|
#
|
18055
18995
|
# The following operations are related to `UploadPartCopy`:
|
18056
18996
|
#
|
18057
|
-
# * [CreateMultipartUpload][
|
18997
|
+
# * [CreateMultipartUpload][15]
|
18058
18998
|
#
|
18059
18999
|
# * [UploadPart][2]
|
18060
19000
|
#
|
18061
|
-
# * [CompleteMultipartUpload][
|
19001
|
+
# * [CompleteMultipartUpload][16]
|
18062
19002
|
#
|
18063
|
-
# * [AbortMultipartUpload][
|
19003
|
+
# * [AbortMultipartUpload][17]
|
18064
19004
|
#
|
18065
|
-
# * [ListParts][
|
19005
|
+
# * [ListParts][18]
|
18066
19006
|
#
|
18067
|
-
# * [ListMultipartUploads][
|
19007
|
+
# * [ListMultipartUploads][19]
|
18068
19008
|
#
|
18069
19009
|
#
|
18070
19010
|
#
|
@@ -18074,15 +19014,19 @@ module Aws::S3
|
|
18074
19014
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html
|
18075
19015
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
18076
19016
|
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
|
18077
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
18078
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/
|
18079
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
18080
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/
|
18081
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/
|
18082
|
-
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
18083
|
-
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/
|
18084
|
-
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
18085
|
-
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
19017
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
|
19018
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
|
19019
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
|
19020
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
|
19021
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
|
19022
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
19023
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
19024
|
+
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
19025
|
+
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
|
19026
|
+
# [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
|
19027
|
+
# [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
|
19028
|
+
# [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
|
19029
|
+
# [19]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
|
18086
19030
|
#
|
18087
19031
|
# @option params [required, String] :bucket
|
18088
19032
|
# The bucket name.
|
@@ -18368,45 +19312,45 @@ module Aws::S3
|
|
18368
19312
|
# * {Types::UploadPartCopyOutput#request_charged #request_charged} => String
|
18369
19313
|
#
|
18370
19314
|
#
|
18371
|
-
# @example Example: To upload a part by copying
|
19315
|
+
# @example Example: To upload a part by copying byte range from an existing object as data source
|
18372
19316
|
#
|
18373
|
-
# # The following example uploads a part of a multipart upload by copying
|
19317
|
+
# # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
|
19318
|
+
# # data source.
|
18374
19319
|
#
|
18375
19320
|
# resp = client.upload_part_copy({
|
18376
19321
|
# bucket: "examplebucket",
|
18377
19322
|
# copy_source: "/bucketname/sourceobjectkey",
|
19323
|
+
# copy_source_range: "bytes=1-100000",
|
18378
19324
|
# key: "examplelargeobject",
|
18379
|
-
# part_number:
|
19325
|
+
# part_number: 2,
|
18380
19326
|
# upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
|
18381
19327
|
# })
|
18382
19328
|
#
|
18383
19329
|
# resp.to_h outputs the following:
|
18384
19330
|
# {
|
18385
19331
|
# copy_part_result: {
|
18386
|
-
# etag: "\"
|
18387
|
-
# last_modified: Time.parse("2016-12-29T21:
|
19332
|
+
# etag: "\"65d16d19e65a7508a51f043180edcc36\"",
|
19333
|
+
# last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
|
18388
19334
|
# },
|
18389
19335
|
# }
|
18390
19336
|
#
|
18391
|
-
# @example Example: To upload a part by copying
|
19337
|
+
# @example Example: To upload a part by copying data from an existing object as data source
|
18392
19338
|
#
|
18393
|
-
# # The following example uploads a part of a multipart upload by copying
|
18394
|
-
# # data source.
|
19339
|
+
# # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
|
18395
19340
|
#
|
18396
19341
|
# resp = client.upload_part_copy({
|
18397
19342
|
# bucket: "examplebucket",
|
18398
19343
|
# copy_source: "/bucketname/sourceobjectkey",
|
18399
|
-
# copy_source_range: "bytes=1-100000",
|
18400
19344
|
# key: "examplelargeobject",
|
18401
|
-
# part_number:
|
19345
|
+
# part_number: 1,
|
18402
19346
|
# upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
|
18403
19347
|
# })
|
18404
19348
|
#
|
18405
19349
|
# resp.to_h outputs the following:
|
18406
19350
|
# {
|
18407
19351
|
# copy_part_result: {
|
18408
|
-
# etag: "\"
|
18409
|
-
# last_modified: Time.parse("2016-12-29T21:
|
19352
|
+
# etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
|
19353
|
+
# last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
|
18410
19354
|
# },
|
18411
19355
|
# }
|
18412
19356
|
#
|
@@ -18856,14 +19800,19 @@ module Aws::S3
|
|
18856
19800
|
# @api private
|
18857
19801
|
def build_request(operation_name, params = {})
|
18858
19802
|
handlers = @handlers.for(operation_name)
|
19803
|
+
tracer = config.telemetry_provider.tracer_provider.tracer(
|
19804
|
+
Aws::Telemetry.module_to_tracer_name('Aws::S3')
|
19805
|
+
)
|
18859
19806
|
context = Seahorse::Client::RequestContext.new(
|
18860
19807
|
operation_name: operation_name,
|
18861
19808
|
operation: config.api.operation(operation_name),
|
18862
19809
|
client: self,
|
18863
19810
|
params: params,
|
18864
|
-
config: config
|
19811
|
+
config: config,
|
19812
|
+
tracer: tracer
|
19813
|
+
)
|
18865
19814
|
context[:gem_name] = 'aws-sdk-s3'
|
18866
|
-
context[:gem_version] = '1.
|
19815
|
+
context[:gem_version] = '1.166.0'
|
18867
19816
|
Seahorse::Client::Request.new(handlers, context)
|
18868
19817
|
end
|
18869
19818
|
|