aws-sdk-s3 1.150.0 → 1.169.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +110 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +12 -3
- data/lib/aws-sdk-s3/bucket.rb +252 -88
- data/lib/aws-sdk-s3/bucket_acl.rb +3 -3
- data/lib/aws-sdk-s3/bucket_cors.rb +4 -4
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +4 -4
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +42 -5
- data/lib/aws-sdk-s3/bucket_logging.rb +3 -3
- data/lib/aws-sdk-s3/bucket_notification.rb +3 -3
- data/lib/aws-sdk-s3/bucket_policy.rb +8 -8
- data/lib/aws-sdk-s3/bucket_request_payment.rb +3 -3
- data/lib/aws-sdk-s3/bucket_tagging.rb +4 -4
- data/lib/aws-sdk-s3/bucket_versioning.rb +5 -5
- data/lib/aws-sdk-s3/bucket_website.rb +4 -4
- data/lib/aws-sdk-s3/client.rb +1685 -668
- data/lib/aws-sdk-s3/client_api.rb +49 -4
- data/lib/aws-sdk-s3/customizations/bucket.rb +1 -1
- data/lib/aws-sdk-s3/customizations/object.rb +11 -5
- data/lib/aws-sdk-s3/customizations/object_summary.rb +5 -0
- data/lib/aws-sdk-s3/customizations/object_version.rb +13 -0
- data/lib/aws-sdk-s3/customizations.rb +24 -38
- data/lib/aws-sdk-s3/encryption/client.rb +2 -2
- data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +2 -2
- data/lib/aws-sdk-s3/encryptionV2/client.rb +2 -2
- data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +2 -2
- data/lib/aws-sdk-s3/endpoint_parameters.rb +21 -18
- data/lib/aws-sdk-s3/endpoint_provider.rb +1 -0
- data/lib/aws-sdk-s3/endpoints.rb +416 -1614
- data/lib/aws-sdk-s3/errors.rb +3 -0
- data/lib/aws-sdk-s3/file_downloader.rb +1 -1
- data/lib/aws-sdk-s3/file_uploader.rb +1 -1
- data/lib/aws-sdk-s3/multipart_stream_uploader.rb +1 -1
- data/lib/aws-sdk-s3/multipart_upload.rb +31 -8
- data/lib/aws-sdk-s3/multipart_upload_part.rb +11 -11
- data/lib/aws-sdk-s3/object.rb +441 -158
- data/lib/aws-sdk-s3/object_acl.rb +3 -3
- data/lib/aws-sdk-s3/object_copier.rb +1 -1
- data/lib/aws-sdk-s3/object_summary.rb +403 -134
- data/lib/aws-sdk-s3/object_version.rb +53 -13
- data/lib/aws-sdk-s3/plugins/access_grants.rb +75 -5
- data/lib/aws-sdk-s3/plugins/endpoints.rb +24 -212
- data/lib/aws-sdk-s3/plugins/express_session_auth.rb +7 -1
- data/lib/aws-sdk-s3/plugins/http_200_errors.rb +53 -16
- data/lib/aws-sdk-s3/resource.rb +37 -11
- data/lib/aws-sdk-s3/types.rb +1106 -401
- data/lib/aws-sdk-s3.rb +35 -31
- data/sig/bucket.rbs +4 -0
- data/sig/bucket_lifecycle_configuration.rbs +7 -3
- data/sig/client.rbs +49 -5
- data/sig/multipart_upload.rbs +1 -0
- data/sig/object.rbs +7 -0
- data/sig/object_summary.rbs +1 -0
- data/sig/object_version.rbs +6 -0
- data/sig/resource.rbs +7 -1
- data/sig/types.rbs +36 -2
- data/sig/waiters.rbs +12 -0
- metadata +7 -6
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)
|
@@ -131,6 +131,11 @@ module Aws::S3
|
|
131
131
|
|
132
132
|
# @overload initialize(options)
|
133
133
|
# @param [Hash] options
|
134
|
+
#
|
135
|
+
# @option options [Array<Seahorse::Client::Plugin>] :plugins ([]])
|
136
|
+
# A list of plugins to apply to the client. Each plugin is either a
|
137
|
+
# class name or an instance of a plugin class.
|
138
|
+
#
|
134
139
|
# @option options [required, Aws::CredentialProvider] :credentials
|
135
140
|
# Your AWS credentials. This can be an instance of any one of the
|
136
141
|
# following classes:
|
@@ -165,13 +170,15 @@ module Aws::S3
|
|
165
170
|
# locations will be searched for credentials:
|
166
171
|
#
|
167
172
|
# * `Aws.config[:credentials]`
|
168
|
-
# * The `:access_key_id`, `:secret_access_key`,
|
169
|
-
#
|
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']
|
170
177
|
# * `~/.aws/credentials`
|
171
178
|
# * `~/.aws/config`
|
172
179
|
# * EC2/ECS IMDS instance profile - When used by default, the timeouts
|
173
180
|
# are very aggressive. Construct and pass an instance of
|
174
|
-
# `Aws::
|
181
|
+
# `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
|
175
182
|
# enable retries and extended timeouts. Instance profile credential
|
176
183
|
# fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
|
177
184
|
# to true.
|
@@ -200,6 +207,8 @@ module Aws::S3
|
|
200
207
|
#
|
201
208
|
# @option options [String] :access_key_id
|
202
209
|
#
|
210
|
+
# @option options [String] :account_id
|
211
|
+
#
|
203
212
|
# @option options [Boolean] :active_endpoint_cache (false)
|
204
213
|
# When set to `true`, a thread polling for endpoints will be running in
|
205
214
|
# the background every 60 secs (default). Defaults to `false`.
|
@@ -271,7 +280,6 @@ module Aws::S3
|
|
271
280
|
# 'https://example.com'
|
272
281
|
# 'http://example.com:123'
|
273
282
|
#
|
274
|
-
#
|
275
283
|
# @option options [Integer] :endpoint_cache_max_entries (1000)
|
276
284
|
# Used for the maximum size limit of the LRU cache storing endpoints data
|
277
285
|
# for endpoint discovery enabled operations. Defaults to 1000.
|
@@ -386,7 +394,6 @@ module Aws::S3
|
|
386
394
|
# throttling. This is a provisional mode that may change behavior
|
387
395
|
# in the future.
|
388
396
|
#
|
389
|
-
#
|
390
397
|
# @option options [Boolean] :s3_disable_multiregion_access_points (false)
|
391
398
|
# When set to `false` this will option will raise errors when multi-region
|
392
399
|
# access point ARNs are used. Multi-region access points can potentially
|
@@ -411,6 +418,15 @@ module Aws::S3
|
|
411
418
|
#
|
412
419
|
# @option options [String] :session_token
|
413
420
|
#
|
421
|
+
# @option options [Array] :sigv4a_signing_region_set
|
422
|
+
# A list of regions that should be signed with SigV4a signing. When
|
423
|
+
# not passed, a default `:sigv4a_signing_region_set` is searched for
|
424
|
+
# in the following locations:
|
425
|
+
#
|
426
|
+
# * `Aws.config[:sigv4a_signing_region_set]`
|
427
|
+
# * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
|
428
|
+
# * `~/.aws/config`
|
429
|
+
#
|
414
430
|
# @option options [Boolean] :stub_responses (false)
|
415
431
|
# Causes the client to return stubbed responses. By default
|
416
432
|
# fake responses are generated and returned. You can specify
|
@@ -420,6 +436,16 @@ module Aws::S3
|
|
420
436
|
# ** Please note ** When response stubbing is enabled, no HTTP
|
421
437
|
# requests are made, and retries are disabled.
|
422
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
|
+
#
|
423
449
|
# @option options [Aws::TokenProvider] :token_provider
|
424
450
|
# A Bearer Token Provider. This can be an instance of any one of the
|
425
451
|
# following classes:
|
@@ -452,7 +478,9 @@ module Aws::S3
|
|
452
478
|
# sending the request.
|
453
479
|
#
|
454
480
|
# @option options [Aws::S3::EndpointProvider] :endpoint_provider
|
455
|
-
# 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`.
|
456
484
|
#
|
457
485
|
# @option options [Float] :http_continue_timeout (1)
|
458
486
|
# The number of seconds to wait for a 100-continue response before sending the
|
@@ -508,6 +536,12 @@ module Aws::S3
|
|
508
536
|
# @option options [String] :ssl_ca_store
|
509
537
|
# Sets the X509::Store to verify peer certificate.
|
510
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
|
+
#
|
511
545
|
# @option options [Float] :ssl_timeout
|
512
546
|
# Sets the SSL timeout in seconds
|
513
547
|
#
|
@@ -532,12 +566,20 @@ module Aws::S3
|
|
532
566
|
# for the part storage, you should call the [ListParts][1] API operation
|
533
567
|
# and ensure that the parts list is empty.
|
534
568
|
#
|
535
|
-
# <note markdown="1"> **Directory buckets** -
|
536
|
-
#
|
537
|
-
#
|
538
|
-
#
|
539
|
-
#
|
540
|
-
#
|
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*.
|
541
583
|
#
|
542
584
|
# </note>
|
543
585
|
#
|
@@ -762,9 +804,15 @@ module Aws::S3
|
|
762
804
|
# [Multipart Upload and Permissions][6] in the *Amazon S3 User
|
763
805
|
# Guide*.
|
764
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
|
+
#
|
765
813
|
# * **Directory bucket permissions** - To grant access to this API
|
766
814
|
# operation on a directory bucket, we recommend that you use the [
|
767
|
-
# `CreateSession` ][
|
815
|
+
# `CreateSession` ][8] API operation for session-based
|
768
816
|
# authorization. Specifically, you grant the
|
769
817
|
# `s3express:CreateSession` permission to the directory bucket in a
|
770
818
|
# bucket policy or an IAM identity-based policy. Then, you make the
|
@@ -775,7 +823,11 @@ module Aws::S3
|
|
775
823
|
# token for use. Amazon Web Services CLI or SDKs create session and
|
776
824
|
# refresh the session token automatically to avoid service
|
777
825
|
# interruptions when a session expires. For more information about
|
778
|
-
# 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.
|
779
831
|
#
|
780
832
|
# Special errors
|
781
833
|
# : * Error Code: `EntityTooSmall`
|
@@ -816,15 +868,15 @@ module Aws::S3
|
|
816
868
|
#
|
817
869
|
# The following operations are related to `CompleteMultipartUpload`:
|
818
870
|
#
|
819
|
-
# * [CreateMultipartUpload][
|
871
|
+
# * [CreateMultipartUpload][9]
|
820
872
|
#
|
821
873
|
# * [UploadPart][1]
|
822
874
|
#
|
823
|
-
# * [AbortMultipartUpload][
|
875
|
+
# * [AbortMultipartUpload][10]
|
824
876
|
#
|
825
|
-
# * [ListParts][
|
877
|
+
# * [ListParts][11]
|
826
878
|
#
|
827
|
-
# * [ListMultipartUploads][
|
879
|
+
# * [ListMultipartUploads][12]
|
828
880
|
#
|
829
881
|
#
|
830
882
|
#
|
@@ -834,11 +886,12 @@ module Aws::S3
|
|
834
886
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
|
835
887
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
836
888
|
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
|
837
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
838
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
839
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
840
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
841
|
-
# [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
|
842
895
|
#
|
843
896
|
# @option params [required, String] :bucket
|
844
897
|
# Name of the bucket to which the multipart upload was initiated.
|
@@ -896,9 +949,9 @@ module Aws::S3
|
|
896
949
|
# @option params [String] :checksum_crc32
|
897
950
|
# This header can be used as a data integrity check to verify that the
|
898
951
|
# data received is the same data that was originally sent. This header
|
899
|
-
# specifies the base64-encoded, 32-bit
|
900
|
-
# more information, see [Checking object integrity][1] in the
|
901
|
-
# User Guide*.
|
952
|
+
# specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
|
953
|
+
# For more information, see [Checking object integrity][1] in the
|
954
|
+
# *Amazon S3 User Guide*.
|
902
955
|
#
|
903
956
|
#
|
904
957
|
#
|
@@ -907,7 +960,7 @@ module Aws::S3
|
|
907
960
|
# @option params [String] :checksum_crc32c
|
908
961
|
# This header can be used as a data integrity check to verify that the
|
909
962
|
# data received is the same data that was originally sent. This header
|
910
|
-
# specifies the base64-encoded, 32-bit
|
963
|
+
# specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
|
911
964
|
# For more information, see [Checking object integrity][1] in the
|
912
965
|
# *Amazon S3 User Guide*.
|
913
966
|
#
|
@@ -959,6 +1012,26 @@ module Aws::S3
|
|
959
1012
|
# you provide does not match the actual owner of the bucket, the request
|
960
1013
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
961
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
|
+
#
|
962
1035
|
# @option params [String] :sse_customer_algorithm
|
963
1036
|
# The server-side encryption (SSE) algorithm used to encrypt the object.
|
964
1037
|
# This parameter is required only when the object was created using a
|
@@ -1074,6 +1147,7 @@ module Aws::S3
|
|
1074
1147
|
# checksum_sha256: "ChecksumSHA256",
|
1075
1148
|
# request_payer: "requester", # accepts requester
|
1076
1149
|
# expected_bucket_owner: "AccountId",
|
1150
|
+
# if_none_match: "IfNoneMatch",
|
1077
1151
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
1078
1152
|
# sse_customer_key: "SSECustomerKey",
|
1079
1153
|
# sse_customer_key_md5: "SSECustomerKeyMD5",
|
@@ -1120,12 +1194,20 @@ module Aws::S3
|
|
1120
1194
|
# between directory buckets, and between general purpose buckets and
|
1121
1195
|
# directory buckets.
|
1122
1196
|
#
|
1123
|
-
# <note markdown="1">
|
1124
|
-
#
|
1125
|
-
#
|
1126
|
-
#
|
1127
|
-
#
|
1128
|
-
#
|
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.
|
1129
1211
|
#
|
1130
1212
|
# </note>
|
1131
1213
|
#
|
@@ -1191,6 +1273,10 @@ module Aws::S3
|
|
1191
1273
|
# destination. The `s3express:SessionMode` condition key can't be
|
1192
1274
|
# set to `ReadOnly` on the copy destination bucket.
|
1193
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
|
+
#
|
1194
1280
|
# For example policies, see [Example bucket policies for S3 Express
|
1195
1281
|
# One Zone][6] and [Amazon Web Services Identity and Access
|
1196
1282
|
# Management (IAM) identity-based policies for S3 Express One
|
@@ -1201,8 +1287,7 @@ module Aws::S3
|
|
1201
1287
|
# : When the request is an HTTP 1.1 request, the response is chunk
|
1202
1288
|
# encoded. When the request is not an HTTP 1.1 request, the response
|
1203
1289
|
# would not contain the `Content-Length`. You always need to read the
|
1204
|
-
# entire response body to check if the copy succeeds.
|
1205
|
-
# connection alive while we copy the data.
|
1290
|
+
# entire response body to check if the copy succeeds.
|
1206
1291
|
#
|
1207
1292
|
# * If the copy is successful, you receive a response with information
|
1208
1293
|
# about the copied object.
|
@@ -1638,9 +1723,8 @@ module Aws::S3
|
|
1638
1723
|
#
|
1639
1724
|
# @option params [String] :server_side_encryption
|
1640
1725
|
# The server-side encryption algorithm used when storing this object in
|
1641
|
-
# Amazon S3
|
1642
|
-
#
|
1643
|
-
# 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.
|
1644
1728
|
#
|
1645
1729
|
# Amazon S3 automatically encrypts all new objects that are copied to an
|
1646
1730
|
# S3 bucket. When copying an object, if you don't specify encryption
|
@@ -1648,35 +1732,72 @@ module Aws::S3
|
|
1648
1732
|
# object is set to the default encryption configuration of the
|
1649
1733
|
# destination bucket. By default, all buckets have a base level of
|
1650
1734
|
# encryption configuration that uses server-side encryption with Amazon
|
1651
|
-
# S3 managed keys (SSE-S3). If the destination bucket has a
|
1652
|
-
# encryption configuration
|
1653
|
-
#
|
1654
|
-
# encryption with Amazon Web Services KMS keys (DSSE-KMS), or
|
1655
|
-
# server-side encryption with customer-provided encryption keys (SSE-C),
|
1656
|
-
# Amazon S3 uses the corresponding KMS key, or a customer-provided key
|
1657
|
-
# to encrypt the target object copy.
|
1658
|
-
#
|
1659
|
-
# When you perform a `CopyObject` operation, if you want to use a
|
1660
|
-
# different type of encryption setting for the target object, you can
|
1661
|
-
# specify appropriate encryption-related headers to encrypt the target
|
1662
|
-
# object with an Amazon S3 managed key, a KMS key, or a
|
1663
|
-
# customer-provided key. If the encryption setting in your request is
|
1664
|
-
# different from the default encryption configuration of the destination
|
1665
|
-
# 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.
|
1666
1738
|
#
|
1667
1739
|
# With server-side encryption, Amazon S3 encrypts your data as it writes
|
1668
1740
|
# your data to disks in its data centers and decrypts the data when you
|
1669
1741
|
# access it. For more information about server-side encryption, see
|
1670
1742
|
# [Using Server-Side Encryption][1] in the *Amazon S3 User Guide*.
|
1671
1743
|
#
|
1672
|
-
# <
|
1673
|
-
#
|
1674
|
-
#
|
1675
|
-
#
|
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]). The [Amazon Web Services managed key][5]
|
1783
|
+
# (`aws/s3`) isn't supported. Your SSE-KMS configuration can only
|
1784
|
+
# support 1 [customer managed key][4] per directory bucket for the
|
1785
|
+
# lifetime of the bucket. After you specify a customer managed key for
|
1786
|
+
# SSE-KMS, you can't override the customer managed key for the
|
1787
|
+
# bucket's SSE-KMS configuration. Then, when you perform a
|
1788
|
+
# `CopyObject` operation and want to specify server-side encryption
|
1789
|
+
# settings for new object copies with SSE-KMS in the
|
1790
|
+
# encryption-related request headers, you must ensure the encryption
|
1791
|
+
# key is the same customer managed key that you specified for the
|
1792
|
+
# directory bucket's default encryption configuration.
|
1676
1793
|
#
|
1677
1794
|
#
|
1678
1795
|
#
|
1679
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
|
1680
1801
|
#
|
1681
1802
|
# @option params [String] :storage_class
|
1682
1803
|
# If the `x-amz-storage-class` header is not used, the copied object
|
@@ -1773,33 +1894,56 @@ module Aws::S3
|
|
1773
1894
|
# </note>
|
1774
1895
|
#
|
1775
1896
|
# @option params [String] :ssekms_key_id
|
1776
|
-
# Specifies the KMS ID (Key ID, Key ARN, or Key Alias) to use for
|
1777
|
-
# encryption. All GET and PUT requests for an object protected by
|
1778
|
-
# will fail if they're not made via SSL or using SigV4. For
|
1779
|
-
# about configuring any of the officially supported Amazon
|
1780
|
-
# SDKs and Amazon Web Services CLI, see [Specifying the
|
1781
|
-
# Version in Request Authentication][1] in the *Amazon S3 User
|
1782
|
-
#
|
1783
|
-
# <note markdown="1"> This functionality is not supported when the destination bucket is a
|
1784
|
-
# 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*.
|
1785
1904
|
#
|
1786
|
-
#
|
1905
|
+
# **Directory buckets** - If you specify `x-amz-server-side-encryption`
|
1906
|
+
# with `aws:kms`, the ` x-amz-server-side-encryption-aws-kms-key-id`
|
1907
|
+
# header is implicitly assigned the ID of the KMS symmetric encryption
|
1908
|
+
# customer managed key that's configured for your directory bucket's
|
1909
|
+
# default encryption setting. If you want to specify the `
|
1910
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header explicitly, you
|
1911
|
+
# can only specify it with the ID (Key ID or Key ARN) of the KMS
|
1912
|
+
# customer managed key that's configured for your directory bucket's
|
1913
|
+
# default encryption setting. Otherwise, you get an HTTP `400 Bad
|
1914
|
+
# Request` error. Only use the key ID or key ARN. The key alias format
|
1915
|
+
# of the KMS key isn't supported. Your SSE-KMS configuration can only
|
1916
|
+
# support 1 [customer managed key][2] per directory bucket for the
|
1917
|
+
# lifetime of the bucket. The [Amazon Web Services managed key][3]
|
1918
|
+
# (`aws/s3`) isn't supported.
|
1787
1919
|
#
|
1788
1920
|
#
|
1789
1921
|
#
|
1790
1922
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
|
1923
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
1924
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
1791
1925
|
#
|
1792
1926
|
# @option params [String] :ssekms_encryption_context
|
1793
|
-
# Specifies the Amazon Web Services KMS Encryption Context
|
1794
|
-
#
|
1795
|
-
#
|
1796
|
-
#
|
1797
|
-
# `CopyObject` requests.
|
1927
|
+
# Specifies the Amazon Web Services KMS Encryption Context as an
|
1928
|
+
# additional encryption context to use for the destination object
|
1929
|
+
# encryption. The value of this header is a base64-encoded UTF-8 string
|
1930
|
+
# holding JSON with the encryption context key-value pairs.
|
1798
1931
|
#
|
1799
|
-
#
|
1800
|
-
#
|
1932
|
+
# **General purpose buckets** - This value must be explicitly added to
|
1933
|
+
# specify encryption context for `CopyObject` requests if you want an
|
1934
|
+
# additional encryption context for your destination object. The
|
1935
|
+
# additional encryption context of the source object won't be copied to
|
1936
|
+
# the destination object. For more information, see [Encryption
|
1937
|
+
# context][1] in the *Amazon S3 User Guide*.
|
1801
1938
|
#
|
1802
|
-
#
|
1939
|
+
# **Directory buckets** - You can optionally provide an explicit
|
1940
|
+
# encryption context value. The value must match the default encryption
|
1941
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
1942
|
+
# encryption context value is not supported.
|
1943
|
+
#
|
1944
|
+
#
|
1945
|
+
#
|
1946
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context
|
1803
1947
|
#
|
1804
1948
|
# @option params [Boolean] :bucket_key_enabled
|
1805
1949
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
@@ -1814,14 +1958,19 @@ module Aws::S3
|
|
1814
1958
|
# For more information, see [Amazon S3 Bucket Keys][1] in the *Amazon S3
|
1815
1959
|
# User Guide*.
|
1816
1960
|
#
|
1817
|
-
# <note markdown="1">
|
1818
|
-
#
|
1961
|
+
# <note markdown="1"> **Directory buckets** - S3 Bucket Keys aren't supported, when you
|
1962
|
+
# copy SSE-KMS encrypted objects from general purpose buckets to
|
1963
|
+
# directory buckets, from directory buckets to general purpose buckets,
|
1964
|
+
# or between directory buckets, through [CopyObject][2]. In this case,
|
1965
|
+
# Amazon S3 makes a call to KMS every time a copy request is made for a
|
1966
|
+
# KMS-encrypted object.
|
1819
1967
|
#
|
1820
1968
|
# </note>
|
1821
1969
|
#
|
1822
1970
|
#
|
1823
1971
|
#
|
1824
1972
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
|
1973
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
1825
1974
|
#
|
1826
1975
|
# @option params [String] :copy_source_sse_customer_algorithm
|
1827
1976
|
# Specifies the algorithm to use when decrypting the source object (for
|
@@ -2328,33 +2477,33 @@ module Aws::S3
|
|
2328
2477
|
# * {Types::CreateBucketOutput#location #location} => String
|
2329
2478
|
#
|
2330
2479
|
#
|
2331
|
-
# @example Example: To create a bucket
|
2480
|
+
# @example Example: To create a bucket in a specific region
|
2332
2481
|
#
|
2333
|
-
# # The following example creates a bucket.
|
2482
|
+
# # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
|
2334
2483
|
#
|
2335
2484
|
# resp = client.create_bucket({
|
2336
2485
|
# bucket: "examplebucket",
|
2486
|
+
# create_bucket_configuration: {
|
2487
|
+
# location_constraint: "eu-west-1",
|
2488
|
+
# },
|
2337
2489
|
# })
|
2338
2490
|
#
|
2339
2491
|
# resp.to_h outputs the following:
|
2340
2492
|
# {
|
2341
|
-
# location: "/
|
2493
|
+
# location: "http://examplebucket.<Region>.s3.amazonaws.com/",
|
2342
2494
|
# }
|
2343
2495
|
#
|
2344
|
-
# @example Example: To create a bucket
|
2496
|
+
# @example Example: To create a bucket
|
2345
2497
|
#
|
2346
|
-
# # The following example creates a bucket.
|
2498
|
+
# # The following example creates a bucket.
|
2347
2499
|
#
|
2348
2500
|
# resp = client.create_bucket({
|
2349
2501
|
# bucket: "examplebucket",
|
2350
|
-
# create_bucket_configuration: {
|
2351
|
-
# location_constraint: "eu-west-1",
|
2352
|
-
# },
|
2353
2502
|
# })
|
2354
2503
|
#
|
2355
2504
|
# resp.to_h outputs the following:
|
2356
2505
|
# {
|
2357
|
-
# location: "
|
2506
|
+
# location: "/examplebucket",
|
2358
2507
|
# }
|
2359
2508
|
#
|
2360
2509
|
# @example Request syntax with placeholder values
|
@@ -2443,24 +2592,23 @@ module Aws::S3
|
|
2443
2592
|
# Version 4)][5] in the *Amazon S3 User Guide*.
|
2444
2593
|
#
|
2445
2594
|
# Permissions
|
2446
|
-
# : * **General purpose bucket permissions** -
|
2447
|
-
#
|
2448
|
-
#
|
2449
|
-
#
|
2450
|
-
#
|
2451
|
-
#
|
2452
|
-
#
|
2453
|
-
# `
|
2454
|
-
#
|
2455
|
-
#
|
2456
|
-
#
|
2457
|
-
#
|
2458
|
-
#
|
2459
|
-
# Guide*.
|
2595
|
+
# : * **General purpose bucket permissions** - To perform a multipart
|
2596
|
+
# upload with encryption using an Key Management Service (KMS) KMS
|
2597
|
+
# key, the requester must have permission to the `kms:Decrypt` and
|
2598
|
+
# `kms:GenerateDataKey` actions on the key. The requester must also
|
2599
|
+
# have permissions for the `kms:GenerateDataKey` action for the
|
2600
|
+
# `CreateMultipartUpload` API. Then, the requester needs permissions
|
2601
|
+
# for the `kms:Decrypt` action on the `UploadPart` and
|
2602
|
+
# `UploadPartCopy` APIs. These permissions are required because
|
2603
|
+
# Amazon S3 must decrypt and read data from the encrypted file parts
|
2604
|
+
# before it completes the multipart upload. For more information,
|
2605
|
+
# see [Multipart upload API and permissions][6] and [Protecting data
|
2606
|
+
# using server-side encryption with Amazon Web Services KMS][7] in
|
2607
|
+
# the *Amazon S3 User Guide*.
|
2460
2608
|
#
|
2461
2609
|
# * **Directory bucket permissions** - To grant access to this API
|
2462
2610
|
# operation on a directory bucket, we recommend that you use the [
|
2463
|
-
# `CreateSession` ][
|
2611
|
+
# `CreateSession` ][8] API operation for session-based
|
2464
2612
|
# authorization. Specifically, you grant the
|
2465
2613
|
# `s3express:CreateSession` permission to the directory bucket in a
|
2466
2614
|
# bucket policy or an IAM identity-based policy. Then, you make the
|
@@ -2471,7 +2619,7 @@ module Aws::S3
|
|
2471
2619
|
# token for use. Amazon Web Services CLI or SDKs create session and
|
2472
2620
|
# refresh the session token automatically to avoid service
|
2473
2621
|
# interruptions when a session expires. For more information about
|
2474
|
-
# authorization, see [ `CreateSession` ][
|
2622
|
+
# authorization, see [ `CreateSession` ][8].
|
2475
2623
|
#
|
2476
2624
|
# Encryption
|
2477
2625
|
# : * **General purpose buckets** - Server-side encryption is for data
|
@@ -2498,7 +2646,7 @@ module Aws::S3
|
|
2498
2646
|
# the destination bucket, the encryption setting in your request
|
2499
2647
|
# takes precedence. If you choose to provide your own encryption
|
2500
2648
|
# key, the request headers you provide in [UploadPart][1] and
|
2501
|
-
# [UploadPartCopy][
|
2649
|
+
# [UploadPartCopy][9] requests must match the headers you used in
|
2502
2650
|
# the `CreateMultipartUpload` request.
|
2503
2651
|
#
|
2504
2652
|
# * Use KMS keys (SSE-KMS) that include the Amazon Web Services
|
@@ -2524,9 +2672,9 @@ module Aws::S3
|
|
2524
2672
|
# actions on the key. These permissions are required because
|
2525
2673
|
# Amazon S3 must decrypt and read data from the encrypted file
|
2526
2674
|
# parts before it completes the multipart upload. For more
|
2527
|
-
# information, see [Multipart upload API and permissions][
|
2675
|
+
# information, see [Multipart upload API and permissions][6] and
|
2528
2676
|
# [Protecting data using server-side encryption with Amazon Web
|
2529
|
-
# Services KMS][
|
2677
|
+
# Services KMS][7] in the *Amazon S3 User Guide*.
|
2530
2678
|
#
|
2531
2679
|
# * If your Identity and Access Management (IAM) user or role is
|
2532
2680
|
# in the same Amazon Web Services account as the KMS key, then
|
@@ -2541,13 +2689,13 @@ module Aws::S3
|
|
2541
2689
|
# For information about configuring any of the officially
|
2542
2690
|
# supported Amazon Web Services SDKs and Amazon Web Services
|
2543
2691
|
# CLI, see [Specifying the Signature Version in Request
|
2544
|
-
# Authentication][
|
2692
|
+
# Authentication][10] in the *Amazon S3 User Guide*.
|
2545
2693
|
#
|
2546
2694
|
# </note>
|
2547
2695
|
#
|
2548
2696
|
# For more information about server-side encryption with KMS keys
|
2549
2697
|
# (SSE-KMS), see [Protecting Data Using Server-Side Encryption
|
2550
|
-
# with KMS keys][
|
2698
|
+
# with KMS keys][7] in the *Amazon S3 User Guide*.
|
2551
2699
|
#
|
2552
2700
|
# * Use customer-provided encryption keys (SSE-C) – If you want to
|
2553
2701
|
# manage your own encryption keys, provide all the following
|
@@ -2562,11 +2710,55 @@ module Aws::S3
|
|
2562
2710
|
# For more information about server-side encryption with
|
2563
2711
|
# customer-provided encryption keys (SSE-C), see [ Protecting data
|
2564
2712
|
# using server-side encryption with customer-provided encryption
|
2565
|
-
# keys (SSE-C)][
|
2713
|
+
# keys (SSE-C)][11] in the *Amazon S3 User Guide*.
|
2714
|
+
#
|
2715
|
+
# * **Directory buckets** - For directory buckets, there are only two
|
2716
|
+
# supported options for server-side encryption: server-side
|
2717
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
2718
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). We
|
2719
|
+
# recommend that the bucket's default encryption uses the desired
|
2720
|
+
# encryption configuration and you don't override the bucket
|
2721
|
+
# default encryption in your `CreateSession` requests or `PUT`
|
2722
|
+
# object requests. Then, new objects are automatically encrypted
|
2723
|
+
# with the desired encryption settings. For more information, see
|
2724
|
+
# [Protecting data with server-side encryption][12] in the *Amazon
|
2725
|
+
# S3 User Guide*. For more information about the encryption
|
2726
|
+
# overriding behaviors in directory buckets, see [Specifying
|
2727
|
+
# server-side encryption with KMS for new object uploads][13].
|
2728
|
+
#
|
2729
|
+
# In the Zonal endpoint API calls (except [CopyObject][14] and
|
2730
|
+
# [UploadPartCopy][9]) using the REST API, the encryption request
|
2731
|
+
# headers must match the encryption settings that are specified in
|
2732
|
+
# the `CreateSession` request. You can't override the values of the
|
2733
|
+
# encryption settings (`x-amz-server-side-encryption`,
|
2734
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`,
|
2735
|
+
# `x-amz-server-side-encryption-context`, and
|
2736
|
+
# `x-amz-server-side-encryption-bucket-key-enabled`) that are
|
2737
|
+
# specified in the `CreateSession` request. You don't need to
|
2738
|
+
# explicitly specify these encryption settings values in Zonal
|
2739
|
+
# endpoint API calls, and Amazon S3 will use the encryption settings
|
2740
|
+
# values from the `CreateSession` request to protect new objects in
|
2741
|
+
# the directory bucket.
|
2742
|
+
#
|
2743
|
+
# <note markdown="1"> When you use the CLI or the Amazon Web Services SDKs, for
|
2744
|
+
# `CreateSession`, the session token refreshes automatically to
|
2745
|
+
# avoid service interruptions when a session expires. The CLI or the
|
2746
|
+
# Amazon Web Services SDKs use the bucket's default encryption
|
2747
|
+
# configuration for the `CreateSession` request. It's not supported
|
2748
|
+
# to override the encryption settings values in the `CreateSession`
|
2749
|
+
# request. So in the Zonal endpoint API calls (except
|
2750
|
+
# [CopyObject][14] and [UploadPartCopy][9]), the encryption request
|
2751
|
+
# headers must match the default encryption configuration of the
|
2752
|
+
# directory bucket.
|
2753
|
+
#
|
2754
|
+
# </note>
|
2755
|
+
#
|
2756
|
+
# <note markdown="1"> For directory buckets, when you perform a `CreateMultipartUpload`
|
2757
|
+
# operation and an `UploadPartCopy` operation, the request headers
|
2758
|
+
# you provide in the `CreateMultipartUpload` request must match the
|
2759
|
+
# default encryption configuration of the destination bucket.
|
2566
2760
|
#
|
2567
|
-
#
|
2568
|
-
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) is
|
2569
|
-
# supported.
|
2761
|
+
# </note>
|
2570
2762
|
#
|
2571
2763
|
# HTTP Host header syntax
|
2572
2764
|
#
|
@@ -2577,13 +2769,13 @@ module Aws::S3
|
|
2577
2769
|
#
|
2578
2770
|
# * [UploadPart][1]
|
2579
2771
|
#
|
2580
|
-
# * [CompleteMultipartUpload][
|
2772
|
+
# * [CompleteMultipartUpload][15]
|
2581
2773
|
#
|
2582
|
-
# * [AbortMultipartUpload][
|
2774
|
+
# * [AbortMultipartUpload][16]
|
2583
2775
|
#
|
2584
|
-
# * [ListParts][
|
2776
|
+
# * [ListParts][17]
|
2585
2777
|
#
|
2586
|
-
# * [ListMultipartUploads][
|
2778
|
+
# * [ListMultipartUploads][18]
|
2587
2779
|
#
|
2588
2780
|
#
|
2589
2781
|
#
|
@@ -2592,17 +2784,19 @@ module Aws::S3
|
|
2592
2784
|
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config
|
2593
2785
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
2594
2786
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
|
2595
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2596
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
2597
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2598
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
2599
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2600
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2601
|
-
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
2602
|
-
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2603
|
-
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
2604
|
-
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
2605
|
-
# [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
2787
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
|
2788
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
|
2789
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
2790
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
2791
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
|
2792
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
|
2793
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
2794
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
2795
|
+
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
2796
|
+
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
|
2797
|
+
# [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
|
2798
|
+
# [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
|
2799
|
+
# [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
|
2606
2800
|
#
|
2607
2801
|
# @option params [String] :acl
|
2608
2802
|
# The canned ACL to apply to the object. Amazon S3 supports a set of
|
@@ -2965,10 +3159,52 @@ module Aws::S3
|
|
2965
3159
|
# The server-side encryption algorithm used when you store this object
|
2966
3160
|
# in Amazon S3 (for example, `AES256`, `aws:kms`).
|
2967
3161
|
#
|
2968
|
-
# <
|
2969
|
-
#
|
3162
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
3163
|
+
# two supported options for server-side encryption: server-side
|
3164
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
3165
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). We
|
3166
|
+
# recommend that the bucket's default encryption uses the desired
|
3167
|
+
# encryption configuration and you don't override the bucket default
|
3168
|
+
# encryption in your `CreateSession` requests or `PUT` object
|
3169
|
+
# requests. Then, new objects are automatically encrypted with the
|
3170
|
+
# desired encryption settings. For more information, see [Protecting
|
3171
|
+
# data with server-side encryption][1] in the *Amazon S3 User Guide*.
|
3172
|
+
# For more information about the encryption overriding behaviors in
|
3173
|
+
# directory buckets, see [Specifying server-side encryption with KMS
|
3174
|
+
# for new object uploads][2].
|
3175
|
+
#
|
3176
|
+
# In the Zonal endpoint API calls (except [CopyObject][3] and
|
3177
|
+
# [UploadPartCopy][4]) using the REST API, the encryption request
|
3178
|
+
# headers must match the encryption settings that are specified in the
|
3179
|
+
# `CreateSession` request. You can't override the values of the
|
3180
|
+
# encryption settings (`x-amz-server-side-encryption`,
|
3181
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`,
|
3182
|
+
# `x-amz-server-side-encryption-context`, and
|
3183
|
+
# `x-amz-server-side-encryption-bucket-key-enabled`) that are
|
3184
|
+
# specified in the `CreateSession` request. You don't need to
|
3185
|
+
# explicitly specify these encryption settings values in Zonal
|
3186
|
+
# endpoint API calls, and Amazon S3 will use the encryption settings
|
3187
|
+
# values from the `CreateSession` request to protect new objects in
|
3188
|
+
# the directory bucket.
|
3189
|
+
#
|
3190
|
+
# <note markdown="1"> When you use the CLI or the Amazon Web Services SDKs, for
|
3191
|
+
# `CreateSession`, the session token refreshes automatically to avoid
|
3192
|
+
# service interruptions when a session expires. The CLI or the Amazon
|
3193
|
+
# Web Services SDKs use the bucket's default encryption configuration
|
3194
|
+
# for the `CreateSession` request. It's not supported to override the
|
3195
|
+
# encryption settings values in the `CreateSession` request. So in the
|
3196
|
+
# Zonal endpoint API calls (except [CopyObject][3] and
|
3197
|
+
# [UploadPartCopy][4]), the encryption request headers must match the
|
3198
|
+
# default encryption configuration of the directory bucket.
|
3199
|
+
#
|
3200
|
+
# </note>
|
2970
3201
|
#
|
2971
|
-
#
|
3202
|
+
#
|
3203
|
+
#
|
3204
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
3205
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
3206
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
3207
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
2972
3208
|
#
|
2973
3209
|
# @option params [String] :storage_class
|
2974
3210
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
@@ -3027,34 +3263,76 @@ module Aws::S3
|
|
3027
3263
|
# </note>
|
3028
3264
|
#
|
3029
3265
|
# @option params [String] :ssekms_key_id
|
3030
|
-
# Specifies the ID (Key ID, Key ARN, or Key Alias)
|
3031
|
-
# encryption
|
3032
|
-
#
|
3033
|
-
#
|
3034
|
-
#
|
3035
|
-
#
|
3266
|
+
# Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for
|
3267
|
+
# object encryption. If the KMS key doesn't exist in the same account
|
3268
|
+
# that's issuing the command, you must use the full Key ARN not the Key
|
3269
|
+
# ID.
|
3270
|
+
#
|
3271
|
+
# **General purpose buckets** - If you specify
|
3272
|
+
# `x-amz-server-side-encryption` with `aws:kms` or `aws:kms:dsse`, this
|
3273
|
+
# header specifies the ID (Key ID, Key ARN, or Key Alias) of the KMS key
|
3274
|
+
# to use. If you specify `x-amz-server-side-encryption:aws:kms` or
|
3275
|
+
# `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide
|
3276
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
3277
|
+
# Amazon Web Services managed key (`aws/s3`) to protect the data.
|
3278
|
+
#
|
3279
|
+
# **Directory buckets** - If you specify `x-amz-server-side-encryption`
|
3280
|
+
# with `aws:kms`, the ` x-amz-server-side-encryption-aws-kms-key-id`
|
3281
|
+
# header is implicitly assigned the ID of the KMS symmetric encryption
|
3282
|
+
# customer managed key that's configured for your directory bucket's
|
3283
|
+
# default encryption setting. If you want to specify the `
|
3284
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header explicitly, you
|
3285
|
+
# can only specify it with the ID (Key ID or Key ARN) of the KMS
|
3286
|
+
# customer managed key that's configured for your directory bucket's
|
3287
|
+
# default encryption setting. Otherwise, you get an HTTP `400 Bad
|
3288
|
+
# Request` error. Only use the key ID or key ARN. The key alias format
|
3289
|
+
# of the KMS key isn't supported. Your SSE-KMS configuration can only
|
3290
|
+
# support 1 [customer managed key][1] per directory bucket for the
|
3291
|
+
# lifetime of the bucket. The [Amazon Web Services managed key][2]
|
3292
|
+
# (`aws/s3`) isn't supported.
|
3293
|
+
#
|
3294
|
+
#
|
3295
|
+
#
|
3296
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
3297
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
3036
3298
|
#
|
3037
3299
|
# @option params [String] :ssekms_encryption_context
|
3038
3300
|
# Specifies the Amazon Web Services KMS Encryption Context to use for
|
3039
|
-
# object encryption. The value of this header is a
|
3040
|
-
#
|
3301
|
+
# object encryption. The value of this header is a Base64-encoded string
|
3302
|
+
# of a UTF-8 encoded JSON, which contains the encryption context as
|
3303
|
+
# key-value pairs.
|
3041
3304
|
#
|
3042
|
-
#
|
3043
|
-
#
|
3044
|
-
#
|
3305
|
+
# **Directory buckets** - You can optionally provide an explicit
|
3306
|
+
# encryption context value. The value must match the default encryption
|
3307
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
3308
|
+
# encryption context value is not supported.
|
3045
3309
|
#
|
3046
3310
|
# @option params [Boolean] :bucket_key_enabled
|
3047
3311
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
3048
3312
|
# encryption with server-side encryption using Key Management Service
|
3049
|
-
# (KMS) keys (SSE-KMS).
|
3050
|
-
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
3313
|
+
# (KMS) keys (SSE-KMS).
|
3051
3314
|
#
|
3052
|
-
#
|
3315
|
+
# **General purpose buckets** - Setting this header to `true` causes
|
3316
|
+
# Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.
|
3317
|
+
# Also, specifying this header with a PUT action doesn't affect
|
3053
3318
|
# bucket-level settings for S3 Bucket Key.
|
3054
3319
|
#
|
3055
|
-
#
|
3320
|
+
# **Directory buckets** - S3 Bucket Keys are always enabled for `GET`
|
3321
|
+
# and `PUT` operations in a directory bucket and can’t be disabled. S3
|
3322
|
+
# Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects
|
3323
|
+
# from general purpose buckets to directory buckets, from directory
|
3324
|
+
# buckets to general purpose buckets, or between directory buckets,
|
3325
|
+
# through [CopyObject][1], [UploadPartCopy][2], [the Copy operation in
|
3326
|
+
# Batch Operations][3], or [the import jobs][4]. In this case, Amazon S3
|
3327
|
+
# makes a call to KMS every time a copy request is made for a
|
3328
|
+
# KMS-encrypted object.
|
3056
3329
|
#
|
3057
|
-
#
|
3330
|
+
#
|
3331
|
+
#
|
3332
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
3333
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
3334
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
|
3335
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
|
3058
3336
|
#
|
3059
3337
|
# @option params [String] :request_payer
|
3060
3338
|
# Confirms that the requester knows that they will be charged for the
|
@@ -3215,9 +3493,10 @@ module Aws::S3
|
|
3215
3493
|
|
3216
3494
|
# Creates a session that establishes temporary security credentials to
|
3217
3495
|
# support fast authentication and authorization for the Zonal endpoint
|
3218
|
-
#
|
3219
|
-
#
|
3220
|
-
# [S3 Express One Zone APIs][1] in the *Amazon S3
|
3496
|
+
# API operations on directory buckets. For more information about Zonal
|
3497
|
+
# endpoint API operations that include the Availability Zone in the
|
3498
|
+
# request endpoint, see [S3 Express One Zone APIs][1] in the *Amazon S3
|
3499
|
+
# User Guide*.
|
3221
3500
|
#
|
3222
3501
|
# To make Zonal endpoint API requests on a directory bucket, use the
|
3223
3502
|
# `CreateSession` API operation. Specifically, you grant
|
@@ -3226,13 +3505,13 @@ module Aws::S3
|
|
3226
3505
|
# the `CreateSession` API request on the bucket, which returns temporary
|
3227
3506
|
# security credentials that include the access key ID, secret access
|
3228
3507
|
# key, session token, and expiration. These credentials have associated
|
3229
|
-
# permissions to access the Zonal endpoint
|
3230
|
-
# created, you don’t need to use other policies to grant
|
3231
|
-
# each Zonal endpoint API individually. Instead, in your
|
3232
|
-
# API requests, you sign your requests by applying the
|
3233
|
-
# security credentials of the session to the request headers
|
3234
|
-
# following the SigV4 protocol for authentication. You also apply
|
3235
|
-
# session token to the `x-amz-s3session-token` request header for
|
3508
|
+
# permissions to access the Zonal endpoint API operations. After the
|
3509
|
+
# session is created, you don’t need to use other policies to grant
|
3510
|
+
# permissions to each Zonal endpoint API individually. Instead, in your
|
3511
|
+
# Zonal endpoint API requests, you sign your requests by applying the
|
3512
|
+
# temporary security credentials of the session to the request headers
|
3513
|
+
# and following the SigV4 protocol for authentication. You also apply
|
3514
|
+
# the session token to the `x-amz-s3session-token` request header for
|
3236
3515
|
# authorization. Temporary security credentials are scoped to the bucket
|
3237
3516
|
# and expire after 5 minutes. After the expiration time, any calls that
|
3238
3517
|
# you make with those credentials will fail. You must use IAM
|
@@ -3255,16 +3534,16 @@ module Aws::S3
|
|
3255
3534
|
# [Regional and Zonal endpoints][3] in the *Amazon S3 User Guide*.
|
3256
3535
|
#
|
3257
3536
|
# * <b> <code>CopyObject</code> API operation</b> - Unlike other Zonal
|
3258
|
-
# endpoint
|
3259
|
-
# temporary security credentials returned from the `CreateSession`
|
3260
|
-
# operation for authentication and authorization. For information
|
3537
|
+
# endpoint API operations, the `CopyObject` API operation doesn't use
|
3538
|
+
# the temporary security credentials returned from the `CreateSession`
|
3539
|
+
# API operation for authentication and authorization. For information
|
3261
3540
|
# about authentication and authorization of the `CopyObject` API
|
3262
3541
|
# operation on directory buckets, see [CopyObject][4].
|
3263
3542
|
#
|
3264
3543
|
# * <b> <code>HeadBucket</code> API operation</b> - Unlike other Zonal
|
3265
|
-
# endpoint
|
3266
|
-
# temporary security credentials returned from the `CreateSession`
|
3267
|
-
# operation for authentication and authorization. For information
|
3544
|
+
# endpoint API operations, the `HeadBucket` API operation doesn't use
|
3545
|
+
# the temporary security credentials returned from the `CreateSession`
|
3546
|
+
# API operation for authentication and authorization. For information
|
3268
3547
|
# about authentication and authorization of the `HeadBucket` API
|
3269
3548
|
# operation on directory buckets, see [HeadBucket][5].
|
3270
3549
|
#
|
@@ -3283,9 +3562,71 @@ module Aws::S3
|
|
3283
3562
|
# Identity and Access Management (IAM) identity-based policies for S3
|
3284
3563
|
# Express One Zone][8] in the *Amazon S3 User Guide*.
|
3285
3564
|
#
|
3286
|
-
# To grant cross-account access to Zonal endpoint
|
3287
|
-
# policy should also grant both accounts the
|
3288
|
-
# permission.
|
3565
|
+
# To grant cross-account access to Zonal endpoint API operations, the
|
3566
|
+
# bucket policy should also grant both accounts the
|
3567
|
+
# `s3express:CreateSession` permission.
|
3568
|
+
#
|
3569
|
+
# If you want to encrypt objects with SSE-KMS, you must also have the
|
3570
|
+
# `kms:GenerateDataKey` and the `kms:Decrypt` permissions in IAM
|
3571
|
+
# identity-based policies and KMS key policies for the target KMS key.
|
3572
|
+
#
|
3573
|
+
# Encryption
|
3574
|
+
#
|
3575
|
+
# : For directory buckets, there are only two supported options for
|
3576
|
+
# server-side encryption: server-side encryption with Amazon S3
|
3577
|
+
# managed keys (SSE-S3) (`AES256`) and server-side encryption with KMS
|
3578
|
+
# keys (SSE-KMS) (`aws:kms`). We recommend that the bucket's default
|
3579
|
+
# encryption uses the desired encryption configuration and you don't
|
3580
|
+
# override the bucket default encryption in your `CreateSession`
|
3581
|
+
# requests or `PUT` object requests. Then, new objects are
|
3582
|
+
# automatically encrypted with the desired encryption settings. For
|
3583
|
+
# more information, see [Protecting data with server-side
|
3584
|
+
# encryption][9] in the *Amazon S3 User Guide*. For more information
|
3585
|
+
# about the encryption overriding behaviors in directory buckets, see
|
3586
|
+
# [Specifying server-side encryption with KMS for new object
|
3587
|
+
# uploads][10].
|
3588
|
+
#
|
3589
|
+
# For [Zonal endpoint (object-level) API operations][11] except
|
3590
|
+
# [CopyObject][4] and [UploadPartCopy][12], you authenticate and
|
3591
|
+
# authorize requests through [CreateSession][13] for low latency. To
|
3592
|
+
# encrypt new objects in a directory bucket with SSE-KMS, you must
|
3593
|
+
# specify SSE-KMS as the directory bucket's default encryption
|
3594
|
+
# configuration with a KMS key (specifically, a [customer managed
|
3595
|
+
# key][14]). Then, when a session is created for Zonal endpoint API
|
3596
|
+
# operations, new objects are automatically encrypted and decrypted
|
3597
|
+
# with SSE-KMS and S3 Bucket Keys during the session.
|
3598
|
+
#
|
3599
|
+
# <note markdown="1"> Only 1 [customer managed key][14] is supported per directory bucket
|
3600
|
+
# for the lifetime of the bucket. The [Amazon Web Services managed
|
3601
|
+
# key][15] (`aws/s3`) isn't supported. After you specify SSE-KMS as
|
3602
|
+
# your bucket's default encryption configuration with a customer
|
3603
|
+
# managed key, you can't change the customer managed key for the
|
3604
|
+
# bucket's SSE-KMS configuration.
|
3605
|
+
#
|
3606
|
+
# </note>
|
3607
|
+
#
|
3608
|
+
# In the Zonal endpoint API calls (except [CopyObject][4] and
|
3609
|
+
# [UploadPartCopy][12]) using the REST API, you can't override the
|
3610
|
+
# values of the encryption settings (`x-amz-server-side-encryption`,
|
3611
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`,
|
3612
|
+
# `x-amz-server-side-encryption-context`, and
|
3613
|
+
# `x-amz-server-side-encryption-bucket-key-enabled`) from the
|
3614
|
+
# `CreateSession` request. You don't need to explicitly specify these
|
3615
|
+
# encryption settings values in Zonal endpoint API calls, and Amazon
|
3616
|
+
# S3 will use the encryption settings values from the `CreateSession`
|
3617
|
+
# request to protect new objects in the directory bucket.
|
3618
|
+
#
|
3619
|
+
# <note markdown="1"> When you use the CLI or the Amazon Web Services SDKs, for
|
3620
|
+
# `CreateSession`, the session token refreshes automatically to avoid
|
3621
|
+
# service interruptions when a session expires. The CLI or the Amazon
|
3622
|
+
# Web Services SDKs use the bucket's default encryption configuration
|
3623
|
+
# for the `CreateSession` request. It's not supported to override the
|
3624
|
+
# encryption settings values in the `CreateSession` request. Also, in
|
3625
|
+
# the Zonal endpoint API calls (except [CopyObject][4] and
|
3626
|
+
# [UploadPartCopy][12]), it's not supported to override the values of
|
3627
|
+
# the encryption settings from the `CreateSession` request.
|
3628
|
+
#
|
3629
|
+
# </note>
|
3289
3630
|
#
|
3290
3631
|
# HTTP Host header syntax
|
3291
3632
|
#
|
@@ -3302,21 +3643,110 @@ module Aws::S3
|
|
3302
3643
|
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html#API_CreateSession_RequestParameters
|
3303
3644
|
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
|
3304
3645
|
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
|
3646
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
3647
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
3648
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-differences.html#s3-express-differences-api-operations
|
3649
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
3650
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
3651
|
+
# [14]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
3652
|
+
# [15]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
3305
3653
|
#
|
3306
3654
|
# @option params [String] :session_mode
|
3307
3655
|
# Specifies the mode of the session that will be created, either
|
3308
3656
|
# `ReadWrite` or `ReadOnly`. By default, a `ReadWrite` session is
|
3309
3657
|
# created. A `ReadWrite` session is capable of executing all the Zonal
|
3310
|
-
# endpoint
|
3311
|
-
# constrained to execute the following Zonal endpoint
|
3312
|
-
# `HeadObject`, `ListObjectsV2`, `GetObjectAttributes`,
|
3313
|
-
# `ListMultipartUploads`.
|
3658
|
+
# endpoint API operations on a directory bucket. A `ReadOnly` session is
|
3659
|
+
# constrained to execute the following Zonal endpoint API operations:
|
3660
|
+
# `GetObject`, `HeadObject`, `ListObjectsV2`, `GetObjectAttributes`,
|
3661
|
+
# `ListParts`, and `ListMultipartUploads`.
|
3314
3662
|
#
|
3315
3663
|
# @option params [required, String] :bucket
|
3316
3664
|
# The name of the bucket that you create a session for.
|
3317
3665
|
#
|
3666
|
+
# @option params [String] :server_side_encryption
|
3667
|
+
# The server-side encryption algorithm to use when you store objects in
|
3668
|
+
# the directory bucket.
|
3669
|
+
#
|
3670
|
+
# For directory buckets, there are only two supported options for
|
3671
|
+
# server-side encryption: server-side encryption with Amazon S3 managed
|
3672
|
+
# keys (SSE-S3) (`AES256`) and server-side encryption with KMS keys
|
3673
|
+
# (SSE-KMS) (`aws:kms`). By default, Amazon S3 encrypts data with
|
3674
|
+
# SSE-S3. For more information, see [Protecting data with server-side
|
3675
|
+
# encryption][1] in the *Amazon S3 User Guide*.
|
3676
|
+
#
|
3677
|
+
#
|
3678
|
+
#
|
3679
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
3680
|
+
#
|
3681
|
+
# @option params [String] :ssekms_key_id
|
3682
|
+
# If you specify `x-amz-server-side-encryption` with `aws:kms`, you must
|
3683
|
+
# specify the ` x-amz-server-side-encryption-aws-kms-key-id` header with
|
3684
|
+
# the ID (Key ID or Key ARN) of the KMS symmetric encryption customer
|
3685
|
+
# managed key to use. Otherwise, you get an HTTP `400 Bad Request`
|
3686
|
+
# error. Only use the key ID or key ARN. The key alias format of the KMS
|
3687
|
+
# key isn't supported. Also, if the KMS key doesn't exist in the same
|
3688
|
+
# account that't issuing the command, you must use the full Key ARN not
|
3689
|
+
# the Key ID.
|
3690
|
+
#
|
3691
|
+
# Your SSE-KMS configuration can only support 1 [customer managed
|
3692
|
+
# key][1] per directory bucket for the lifetime of the bucket. The
|
3693
|
+
# [Amazon Web Services managed key][2] (`aws/s3`) isn't supported.
|
3694
|
+
#
|
3695
|
+
#
|
3696
|
+
#
|
3697
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
3698
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
3699
|
+
#
|
3700
|
+
# @option params [String] :ssekms_encryption_context
|
3701
|
+
# Specifies the Amazon Web Services KMS Encryption Context as an
|
3702
|
+
# additional encryption context to use for object encryption. The value
|
3703
|
+
# of this header is a Base64-encoded string of a UTF-8 encoded JSON,
|
3704
|
+
# which contains the encryption context as key-value pairs. This value
|
3705
|
+
# is stored as object metadata and automatically gets passed on to
|
3706
|
+
# Amazon Web Services KMS for future `GetObject` operations on this
|
3707
|
+
# object.
|
3708
|
+
#
|
3709
|
+
# **General purpose buckets** - This value must be explicitly added
|
3710
|
+
# during `CopyObject` operations if you want an additional encryption
|
3711
|
+
# context for your object. For more information, see [Encryption
|
3712
|
+
# context][1] in the *Amazon S3 User Guide*.
|
3713
|
+
#
|
3714
|
+
# **Directory buckets** - You can optionally provide an explicit
|
3715
|
+
# encryption context value. The value must match the default encryption
|
3716
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
3717
|
+
# encryption context value is not supported.
|
3718
|
+
#
|
3719
|
+
#
|
3720
|
+
#
|
3721
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context
|
3722
|
+
#
|
3723
|
+
# @option params [Boolean] :bucket_key_enabled
|
3724
|
+
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
3725
|
+
# encryption with server-side encryption using KMS keys (SSE-KMS).
|
3726
|
+
#
|
3727
|
+
# S3 Bucket Keys are always enabled for `GET` and `PUT` operations in a
|
3728
|
+
# directory bucket and can’t be disabled. S3 Bucket Keys aren't
|
3729
|
+
# supported, when you copy SSE-KMS encrypted objects from general
|
3730
|
+
# purpose buckets to directory buckets, from directory buckets to
|
3731
|
+
# general purpose buckets, or between directory buckets, through
|
3732
|
+
# [CopyObject][1], [UploadPartCopy][2], [the Copy operation in Batch
|
3733
|
+
# Operations][3], or [the import jobs][4]. In this case, Amazon S3 makes
|
3734
|
+
# a call to KMS every time a copy request is made for a KMS-encrypted
|
3735
|
+
# object.
|
3736
|
+
#
|
3737
|
+
#
|
3738
|
+
#
|
3739
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
3740
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
3741
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
|
3742
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
|
3743
|
+
#
|
3318
3744
|
# @return [Types::CreateSessionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
3319
3745
|
#
|
3746
|
+
# * {Types::CreateSessionOutput#server_side_encryption #server_side_encryption} => String
|
3747
|
+
# * {Types::CreateSessionOutput#ssekms_key_id #ssekms_key_id} => String
|
3748
|
+
# * {Types::CreateSessionOutput#ssekms_encryption_context #ssekms_encryption_context} => String
|
3749
|
+
# * {Types::CreateSessionOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
|
3320
3750
|
# * {Types::CreateSessionOutput#credentials #credentials} => Types::SessionCredentials
|
3321
3751
|
#
|
3322
3752
|
# @example Request syntax with placeholder values
|
@@ -3324,10 +3754,18 @@ module Aws::S3
|
|
3324
3754
|
# resp = client.create_session({
|
3325
3755
|
# session_mode: "ReadOnly", # accepts ReadOnly, ReadWrite
|
3326
3756
|
# bucket: "BucketName", # required
|
3757
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
3758
|
+
# ssekms_key_id: "SSEKMSKeyId",
|
3759
|
+
# ssekms_encryption_context: "SSEKMSEncryptionContext",
|
3760
|
+
# bucket_key_enabled: false,
|
3327
3761
|
# })
|
3328
3762
|
#
|
3329
3763
|
# @example Response structure
|
3330
3764
|
#
|
3765
|
+
# resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
|
3766
|
+
# resp.ssekms_key_id #=> String
|
3767
|
+
# resp.ssekms_encryption_context #=> String
|
3768
|
+
# resp.bucket_key_enabled #=> Boolean
|
3331
3769
|
# resp.credentials.access_key_id #=> String
|
3332
3770
|
# resp.credentials.secret_access_key #=> String
|
3333
3771
|
# resp.credentials.session_token #=> String
|
@@ -3573,47 +4011,92 @@ module Aws::S3
|
|
3573
4011
|
req.send_request(options)
|
3574
4012
|
end
|
3575
4013
|
|
3576
|
-
#
|
4014
|
+
# This implementation of the DELETE action resets the default encryption
|
4015
|
+
# for the bucket as server-side encryption with Amazon S3 managed keys
|
4016
|
+
# (SSE-S3).
|
4017
|
+
#
|
4018
|
+
# <note markdown="1"> * **General purpose buckets** - For information about the bucket
|
4019
|
+
# default encryption feature, see [Amazon S3 Bucket Default
|
4020
|
+
# Encryption][1] in the *Amazon S3 User Guide*.
|
4021
|
+
#
|
4022
|
+
# * **Directory buckets** - For directory buckets, there are only two
|
4023
|
+
# supported options for server-side encryption: SSE-S3 and SSE-KMS.
|
4024
|
+
# For information about the default encryption configuration in
|
4025
|
+
# directory buckets, see [Setting default server-side encryption
|
4026
|
+
# behavior for directory buckets][2].
|
3577
4027
|
#
|
3578
4028
|
# </note>
|
3579
4029
|
#
|
3580
|
-
#
|
3581
|
-
#
|
3582
|
-
#
|
3583
|
-
#
|
3584
|
-
#
|
4030
|
+
# Permissions
|
4031
|
+
# : * **General purpose bucket permissions** - The
|
4032
|
+
# `s3:PutEncryptionConfiguration` permission is required in a
|
4033
|
+
# policy. The bucket owner has this permission by default. The
|
4034
|
+
# bucket owner can grant this permission to others. For more
|
4035
|
+
# information about permissions, see [Permissions Related to Bucket
|
4036
|
+
# Operations][3] and [Managing Access Permissions to Your Amazon S3
|
4037
|
+
# Resources][4].
|
3585
4038
|
#
|
3586
|
-
#
|
3587
|
-
#
|
3588
|
-
# permission
|
3589
|
-
#
|
3590
|
-
#
|
3591
|
-
#
|
3592
|
-
#
|
4039
|
+
# * **Directory bucket permissions** - To grant access to this API
|
4040
|
+
# operation, you must have the
|
4041
|
+
# `s3express:PutEncryptionConfiguration` permission in an IAM
|
4042
|
+
# identity-based policy instead of a bucket policy. Cross-account
|
4043
|
+
# access to this API operation isn't supported. This operation can
|
4044
|
+
# only be performed by the Amazon Web Services account that owns the
|
4045
|
+
# resource. For more information about directory bucket policies and
|
4046
|
+
# permissions, see [Amazon Web Services Identity and Access
|
4047
|
+
# Management (IAM) for S3 Express One Zone][5] in the *Amazon S3
|
4048
|
+
# User Guide*.
|
4049
|
+
#
|
4050
|
+
# HTTP Host header syntax
|
4051
|
+
#
|
4052
|
+
# : <b>Directory buckets </b> - The HTTP Host header syntax is
|
4053
|
+
# `s3express-control.region.amazonaws.com`.
|
3593
4054
|
#
|
3594
4055
|
# The following operations are related to `DeleteBucketEncryption`:
|
3595
4056
|
#
|
3596
|
-
# * [PutBucketEncryption][
|
4057
|
+
# * [PutBucketEncryption][6]
|
3597
4058
|
#
|
3598
|
-
# * [GetBucketEncryption][
|
4059
|
+
# * [GetBucketEncryption][7]
|
3599
4060
|
#
|
3600
4061
|
#
|
3601
4062
|
#
|
3602
4063
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
|
3603
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
3604
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-
|
3605
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/
|
3606
|
-
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/
|
4064
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html
|
4065
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
|
4066
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
|
4067
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
|
4068
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html
|
4069
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
|
3607
4070
|
#
|
3608
4071
|
# @option params [required, String] :bucket
|
3609
4072
|
# The name of the bucket containing the server-side encryption
|
3610
4073
|
# configuration to delete.
|
3611
4074
|
#
|
4075
|
+
# <b>Directory buckets </b> - When you use this operation with a
|
4076
|
+
# directory bucket, you must use path-style requests in the format
|
4077
|
+
# `https://s3express-control.region_code.amazonaws.com/bucket-name `.
|
4078
|
+
# Virtual-hosted-style requests aren't supported. Directory bucket
|
4079
|
+
# names must be unique in the chosen Availability Zone. Bucket names
|
4080
|
+
# must also follow the format ` bucket_base_name--az_id--x-s3` (for
|
4081
|
+
# example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
|
4082
|
+
# bucket naming restrictions, see [Directory bucket naming rules][1] in
|
4083
|
+
# the *Amazon S3 User Guide*
|
4084
|
+
#
|
4085
|
+
#
|
4086
|
+
#
|
4087
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
|
4088
|
+
#
|
3612
4089
|
# @option params [String] :expected_bucket_owner
|
3613
4090
|
# The account ID of the expected bucket owner. If the account ID that
|
3614
4091
|
# you provide does not match the actual owner of the bucket, the request
|
3615
4092
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
3616
4093
|
#
|
4094
|
+
# <note markdown="1"> For directory buckets, this header is not supported in this API
|
4095
|
+
# operation. If you specify this header, the request fails with the HTTP
|
4096
|
+
# status code `501 Not Implemented`.
|
4097
|
+
#
|
4098
|
+
# </note>
|
4099
|
+
#
|
3617
4100
|
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
3618
4101
|
#
|
3619
4102
|
# @example Request syntax with placeholder values
|
@@ -4271,67 +4754,33 @@ module Aws::S3
|
|
4271
4754
|
end
|
4272
4755
|
|
4273
4756
|
# Removes an object from a bucket. The behavior depends on the bucket's
|
4274
|
-
# versioning state
|
4275
|
-
#
|
4276
|
-
# * If bucket versioning is not enabled, the operation permanently
|
4277
|
-
# deletes the object.
|
4278
|
-
#
|
4279
|
-
# * If bucket versioning is enabled, the operation inserts a delete
|
4280
|
-
# marker, which becomes the current version of the object. To
|
4281
|
-
# permanently delete an object in a versioned bucket, you must include
|
4282
|
-
# the object’s `versionId` in the request. For more information about
|
4283
|
-
# versioning-enabled buckets, see [Deleting object versions from a
|
4284
|
-
# versioning-enabled bucket][1].
|
4285
|
-
#
|
4286
|
-
# * If bucket versioning is suspended, the operation removes the object
|
4287
|
-
# that has a null `versionId`, if there is one, and inserts a delete
|
4288
|
-
# marker that becomes the current version of the object. If there
|
4289
|
-
# isn't an object with a null `versionId`, and all versions of the
|
4290
|
-
# object have a `versionId`, Amazon S3 does not remove the object and
|
4291
|
-
# only inserts a delete marker. To permanently delete an object that
|
4292
|
-
# has a `versionId`, you must include the object’s `versionId` in the
|
4293
|
-
# request. For more information about versioning-suspended buckets,
|
4294
|
-
# see [Deleting objects from versioning-suspended buckets][2].
|
4295
|
-
#
|
4296
|
-
# <note markdown="1"> * **Directory buckets** - S3 Versioning isn't enabled and supported
|
4297
|
-
# for directory buckets. For this API operation, only the `null` value
|
4298
|
-
# of the version ID is supported by directory buckets. You can only
|
4299
|
-
# specify `null` to the `versionId` query parameter in the request.
|
4300
|
-
#
|
4301
|
-
# * **Directory buckets** - For directory buckets, you must make
|
4302
|
-
# requests for this API operation to the Zonal endpoint. These
|
4303
|
-
# endpoints support virtual-hosted-style requests in the format
|
4304
|
-
# `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
|
4305
|
-
# `. Path-style requests are not supported. For more information, see
|
4306
|
-
# [Regional and Zonal endpoints][3] in the *Amazon S3 User Guide*.
|
4307
|
-
#
|
4308
|
-
# </note>
|
4757
|
+
# versioning state. For more information, see [Best practices to
|
4758
|
+
# consider before deleting an object][1].
|
4309
4759
|
#
|
4310
4760
|
# To remove a specific version, you must use the `versionId` query
|
4311
4761
|
# parameter. Using this query parameter permanently deletes the version.
|
4312
4762
|
# If the object deleted is a delete marker, Amazon S3 sets the response
|
4313
|
-
# header `x-amz-delete-marker` to true.
|
4314
|
-
#
|
4315
|
-
#
|
4316
|
-
#
|
4317
|
-
#
|
4318
|
-
#
|
4319
|
-
#
|
4320
|
-
# To see sample requests that use versioning, see [Sample Request][5].
|
4321
|
-
#
|
4322
|
-
# <note markdown="1"> **Directory buckets** - MFA delete is not supported by directory
|
4323
|
-
# buckets.
|
4763
|
+
# header `x-amz-delete-marker` to true. If the object you want to delete
|
4764
|
+
# is in a bucket where the bucket versioning configuration is MFA delete
|
4765
|
+
# enabled, you must include the `x-amz-mfa` request header in the DELETE
|
4766
|
+
# `versionId` request. Requests that include `x-amz-mfa` must use HTTPS.
|
4767
|
+
# For more information about MFA delete and to see example requests, see
|
4768
|
+
# [Using MFA delete][2] and [Sample request][3] in the *Amazon S3 User
|
4769
|
+
# Guide*.
|
4324
4770
|
#
|
4325
|
-
#
|
4771
|
+
# <note markdown="1"> * S3 Versioning isn't enabled and supported for directory buckets.
|
4772
|
+
# For this API operation, only the `null` value of the version ID is
|
4773
|
+
# supported by directory buckets. You can only specify `null` to the
|
4774
|
+
# `versionId` query parameter in the request.
|
4326
4775
|
#
|
4327
|
-
#
|
4328
|
-
#
|
4329
|
-
#
|
4330
|
-
#
|
4331
|
-
#
|
4776
|
+
# * For directory buckets, you must make requests for this API operation
|
4777
|
+
# to the Zonal endpoint. These endpoints support virtual-hosted-style
|
4778
|
+
# requests in the format
|
4779
|
+
# `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
|
4780
|
+
# `. Path-style requests are not supported. For more information, see
|
4781
|
+
# [Regional and Zonal endpoints][4] in the *Amazon S3 User Guide*.
|
4332
4782
|
#
|
4333
|
-
#
|
4334
|
-
# buckets.
|
4783
|
+
# * MFA delete is not supported by directory buckets.
|
4335
4784
|
#
|
4336
4785
|
# </note>
|
4337
4786
|
#
|
@@ -4343,24 +4792,23 @@ module Aws::S3
|
|
4343
4792
|
# * <b> <code>s3:DeleteObject</code> </b> - To delete an object from
|
4344
4793
|
# a bucket, you must always have the `s3:DeleteObject` permission.
|
4345
4794
|
#
|
4795
|
+
# <note markdown="1"> You can also use PutBucketLifecycle to delete objects in Amazon
|
4796
|
+
# S3.
|
4797
|
+
#
|
4798
|
+
# </note>
|
4799
|
+
#
|
4346
4800
|
# * <b> <code>s3:DeleteObjectVersion</code> </b> - To delete a
|
4347
4801
|
# specific version of an object from a versioning-enabled bucket,
|
4348
4802
|
# you must have the `s3:DeleteObjectVersion` permission.
|
4349
4803
|
#
|
4350
|
-
#
|
4351
|
-
#
|
4352
|
-
#
|
4353
|
-
#
|
4354
|
-
#
|
4355
|
-
#
|
4356
|
-
#
|
4357
|
-
#
|
4358
|
-
# requests to this operation. After the session token expires, you
|
4359
|
-
# make another `CreateSession` API call to generate a new session
|
4360
|
-
# token for use. Amazon Web Services CLI or SDKs create session and
|
4361
|
-
# refresh the session token automatically to avoid service
|
4362
|
-
# interruptions when a session expires. For more information about
|
4363
|
-
# authorization, see [ `CreateSession` ][7].
|
4804
|
+
# * If you want to block users or accounts from removing or deleting
|
4805
|
+
# objects from your bucket, you must deny them the
|
4806
|
+
# `s3:DeleteObject`, `s3:DeleteObjectVersion`, and
|
4807
|
+
# `s3:PutLifeCycleConfiguration` permissions.
|
4808
|
+
#
|
4809
|
+
# * **Directory buckets permissions** - To grant access to this API
|
4810
|
+
# operation on a directory bucket, we recommend that you use the
|
4811
|
+
# CreateSession API operation for session-based authorization.
|
4364
4812
|
#
|
4365
4813
|
# HTTP Host header syntax
|
4366
4814
|
#
|
@@ -4369,20 +4817,17 @@ module Aws::S3
|
|
4369
4817
|
#
|
4370
4818
|
# The following action is related to `DeleteObject`:
|
4371
4819
|
#
|
4372
|
-
# * [PutObject][
|
4820
|
+
# * [PutObject][5]
|
4373
4821
|
#
|
4374
4822
|
# ^
|
4375
4823
|
#
|
4376
4824
|
#
|
4377
4825
|
#
|
4378
|
-
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
4379
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/
|
4380
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/
|
4381
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/
|
4382
|
-
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
4383
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html
|
4384
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
4385
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
|
4826
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjects.html#DeletingObjects-best-practices
|
4827
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html
|
4828
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete
|
4829
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
4830
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
|
4386
4831
|
#
|
4387
4832
|
# @option params [required, String] :bucket
|
4388
4833
|
# The bucket name of the bucket containing the object.
|
@@ -4487,6 +4932,15 @@ module Aws::S3
|
|
4487
4932
|
# * {Types::DeleteObjectOutput#request_charged #request_charged} => String
|
4488
4933
|
#
|
4489
4934
|
#
|
4935
|
+
# @example Example: To delete an object (from a non-versioned bucket)
|
4936
|
+
#
|
4937
|
+
# # The following example deletes an object from a non-versioned bucket.
|
4938
|
+
#
|
4939
|
+
# resp = client.delete_object({
|
4940
|
+
# bucket: "ExampleBucket",
|
4941
|
+
# key: "HappyFace.jpg",
|
4942
|
+
# })
|
4943
|
+
#
|
4490
4944
|
# @example Example: To delete an object
|
4491
4945
|
#
|
4492
4946
|
# # The following example deletes an object from an S3 bucket.
|
@@ -4500,15 +4954,6 @@ module Aws::S3
|
|
4500
4954
|
# {
|
4501
4955
|
# }
|
4502
4956
|
#
|
4503
|
-
# @example Example: To delete an object (from a non-versioned bucket)
|
4504
|
-
#
|
4505
|
-
# # The following example deletes an object from a non-versioned bucket.
|
4506
|
-
#
|
4507
|
-
# resp = client.delete_object({
|
4508
|
-
# bucket: "ExampleBucket",
|
4509
|
-
# key: "HappyFace.jpg",
|
4510
|
-
# })
|
4511
|
-
#
|
4512
4957
|
# @example Request syntax with placeholder values
|
4513
4958
|
#
|
4514
4959
|
# resp = client.delete_object({
|
@@ -4607,35 +5052,35 @@ module Aws::S3
|
|
4607
5052
|
# * {Types::DeleteObjectTaggingOutput#version_id #version_id} => String
|
4608
5053
|
#
|
4609
5054
|
#
|
4610
|
-
# @example Example: To remove tag set from an object
|
5055
|
+
# @example Example: To remove tag set from an object
|
4611
5056
|
#
|
4612
|
-
# # The following example removes tag set associated with the specified object
|
4613
|
-
# #
|
5057
|
+
# # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
|
5058
|
+
# # operation removes tag set from the latest object version.
|
4614
5059
|
#
|
4615
5060
|
# resp = client.delete_object_tagging({
|
4616
5061
|
# bucket: "examplebucket",
|
4617
5062
|
# key: "HappyFace.jpg",
|
4618
|
-
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
4619
5063
|
# })
|
4620
5064
|
#
|
4621
5065
|
# resp.to_h outputs the following:
|
4622
5066
|
# {
|
4623
|
-
# version_id: "
|
5067
|
+
# version_id: "null",
|
4624
5068
|
# }
|
4625
5069
|
#
|
4626
|
-
# @example Example: To remove tag set from an object
|
5070
|
+
# @example Example: To remove tag set from an object version
|
4627
5071
|
#
|
4628
|
-
# # The following example removes tag set associated with the specified object.
|
4629
|
-
# #
|
5072
|
+
# # The following example removes tag set associated with the specified object version. The request specifies both the
|
5073
|
+
# # object key and object version.
|
4630
5074
|
#
|
4631
5075
|
# resp = client.delete_object_tagging({
|
4632
5076
|
# bucket: "examplebucket",
|
4633
5077
|
# key: "HappyFace.jpg",
|
5078
|
+
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
4634
5079
|
# })
|
4635
5080
|
#
|
4636
5081
|
# resp.to_h outputs the following:
|
4637
5082
|
# {
|
4638
|
-
# version_id: "
|
5083
|
+
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
4639
5084
|
# }
|
4640
5085
|
#
|
4641
5086
|
# @example Request syntax with placeholder values
|
@@ -4717,7 +5162,7 @@ module Aws::S3
|
|
4717
5162
|
# permission.
|
4718
5163
|
#
|
4719
5164
|
# * <b> <code>s3:DeleteObjectVersion</code> </b> - To delete a
|
4720
|
-
# specific version of an object from a
|
5165
|
+
# specific version of an object from a versioning-enabled bucket,
|
4721
5166
|
# you must specify the `s3:DeleteObjectVersion` permission.
|
4722
5167
|
#
|
4723
5168
|
# * **Directory bucket permissions** - To grant access to this API
|
@@ -4887,13 +5332,13 @@ module Aws::S3
|
|
4887
5332
|
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
4888
5333
|
# the supported algorithm from the following list:
|
4889
5334
|
#
|
4890
|
-
# * CRC32
|
5335
|
+
# * `CRC32`
|
4891
5336
|
#
|
4892
|
-
# * CRC32C
|
5337
|
+
# * `CRC32C`
|
4893
5338
|
#
|
4894
|
-
# * SHA1
|
5339
|
+
# * `SHA1`
|
4895
5340
|
#
|
4896
|
-
# * SHA256
|
5341
|
+
# * `SHA256`
|
4897
5342
|
#
|
4898
5343
|
# For more information, see [Checking object integrity][1] in the
|
4899
5344
|
# *Amazon S3 User Guide*.
|
@@ -4918,22 +5363,20 @@ module Aws::S3
|
|
4918
5363
|
# * {Types::DeleteObjectsOutput#errors #errors} => Array<Types::Error>
|
4919
5364
|
#
|
4920
5365
|
#
|
4921
|
-
# @example Example: To delete multiple
|
5366
|
+
# @example Example: To delete multiple objects from a versioned bucket
|
4922
5367
|
#
|
4923
|
-
# # The following example deletes objects from a bucket. The
|
4924
|
-
# #
|
5368
|
+
# # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
|
5369
|
+
# # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
|
4925
5370
|
#
|
4926
5371
|
# resp = client.delete_objects({
|
4927
5372
|
# bucket: "examplebucket",
|
4928
5373
|
# delete: {
|
4929
5374
|
# objects: [
|
4930
5375
|
# {
|
4931
|
-
# key: "
|
4932
|
-
# version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
|
5376
|
+
# key: "objectkey1",
|
4933
5377
|
# },
|
4934
5378
|
# {
|
4935
|
-
# key: "
|
4936
|
-
# version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
|
5379
|
+
# key: "objectkey2",
|
4937
5380
|
# },
|
4938
5381
|
# ],
|
4939
5382
|
# quiet: false,
|
@@ -4944,30 +5387,34 @@ module Aws::S3
|
|
4944
5387
|
# {
|
4945
5388
|
# deleted: [
|
4946
5389
|
# {
|
4947
|
-
#
|
4948
|
-
#
|
5390
|
+
# delete_marker: true,
|
5391
|
+
# delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
|
5392
|
+
# key: "objectkey1",
|
4949
5393
|
# },
|
4950
5394
|
# {
|
4951
|
-
#
|
4952
|
-
#
|
5395
|
+
# delete_marker: true,
|
5396
|
+
# delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
|
5397
|
+
# key: "objectkey2",
|
4953
5398
|
# },
|
4954
5399
|
# ],
|
4955
5400
|
# }
|
4956
5401
|
#
|
4957
|
-
# @example Example: To delete multiple
|
5402
|
+
# @example Example: To delete multiple object versions from a versioned bucket
|
4958
5403
|
#
|
4959
|
-
# # The following example deletes objects from a bucket. The
|
4960
|
-
# #
|
5404
|
+
# # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
|
5405
|
+
# # versions and returns the key and versions of deleted objects in the response.
|
4961
5406
|
#
|
4962
5407
|
# resp = client.delete_objects({
|
4963
5408
|
# bucket: "examplebucket",
|
4964
5409
|
# delete: {
|
4965
5410
|
# objects: [
|
4966
5411
|
# {
|
4967
|
-
# key: "
|
5412
|
+
# key: "HappyFace.jpg",
|
5413
|
+
# version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
|
4968
5414
|
# },
|
4969
5415
|
# {
|
4970
|
-
# key: "
|
5416
|
+
# key: "HappyFace.jpg",
|
5417
|
+
# version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
|
4971
5418
|
# },
|
4972
5419
|
# ],
|
4973
5420
|
# quiet: false,
|
@@ -4978,14 +5425,12 @@ module Aws::S3
|
|
4978
5425
|
# {
|
4979
5426
|
# deleted: [
|
4980
5427
|
# {
|
4981
|
-
#
|
4982
|
-
#
|
4983
|
-
# key: "objectkey1",
|
5428
|
+
# key: "HappyFace.jpg",
|
5429
|
+
# version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
|
4984
5430
|
# },
|
4985
5431
|
# {
|
4986
|
-
#
|
4987
|
-
#
|
4988
|
-
# key: "objectkey2",
|
5432
|
+
# key: "HappyFace.jpg",
|
5433
|
+
# version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
|
4989
5434
|
# },
|
4990
5435
|
# ],
|
4991
5436
|
# }
|
@@ -5488,46 +5933,92 @@ module Aws::S3
|
|
5488
5933
|
req.send_request(options)
|
5489
5934
|
end
|
5490
5935
|
|
5491
|
-
#
|
5936
|
+
# Returns the default encryption configuration for an Amazon S3 bucket.
|
5937
|
+
# By default, all buckets have a default encryption configuration that
|
5938
|
+
# uses server-side encryption with Amazon S3 managed keys (SSE-S3).
|
5939
|
+
#
|
5940
|
+
# <note markdown="1"> * **General purpose buckets** - For information about the bucket
|
5941
|
+
# default encryption feature, see [Amazon S3 Bucket Default
|
5942
|
+
# Encryption][1] in the *Amazon S3 User Guide*.
|
5943
|
+
#
|
5944
|
+
# * **Directory buckets** - For directory buckets, there are only two
|
5945
|
+
# supported options for server-side encryption: SSE-S3 and SSE-KMS.
|
5946
|
+
# For information about the default encryption configuration in
|
5947
|
+
# directory buckets, see [Setting default server-side encryption
|
5948
|
+
# behavior for directory buckets][2].
|
5492
5949
|
#
|
5493
5950
|
# </note>
|
5494
5951
|
#
|
5495
|
-
#
|
5496
|
-
#
|
5497
|
-
#
|
5498
|
-
#
|
5499
|
-
#
|
5952
|
+
# Permissions
|
5953
|
+
# : * **General purpose bucket permissions** - The
|
5954
|
+
# `s3:GetEncryptionConfiguration` permission is required in a
|
5955
|
+
# policy. The bucket owner has this permission by default. The
|
5956
|
+
# bucket owner can grant this permission to others. For more
|
5957
|
+
# information about permissions, see [Permissions Related to Bucket
|
5958
|
+
# Operations][3] and [Managing Access Permissions to Your Amazon S3
|
5959
|
+
# Resources][4].
|
5500
5960
|
#
|
5501
|
-
#
|
5502
|
-
#
|
5503
|
-
# permission
|
5504
|
-
#
|
5505
|
-
#
|
5506
|
-
#
|
5961
|
+
# * **Directory bucket permissions** - To grant access to this API
|
5962
|
+
# operation, you must have the
|
5963
|
+
# `s3express:GetEncryptionConfiguration` permission in an IAM
|
5964
|
+
# identity-based policy instead of a bucket policy. Cross-account
|
5965
|
+
# access to this API operation isn't supported. This operation can
|
5966
|
+
# only be performed by the Amazon Web Services account that owns the
|
5967
|
+
# resource. For more information about directory bucket policies and
|
5968
|
+
# permissions, see [Amazon Web Services Identity and Access
|
5969
|
+
# Management (IAM) for S3 Express One Zone][5] in the *Amazon S3
|
5970
|
+
# User Guide*.
|
5971
|
+
#
|
5972
|
+
# HTTP Host header syntax
|
5973
|
+
#
|
5974
|
+
# : <b>Directory buckets </b> - The HTTP Host header syntax is
|
5975
|
+
# `s3express-control.region.amazonaws.com`.
|
5507
5976
|
#
|
5508
5977
|
# The following operations are related to `GetBucketEncryption`:
|
5509
5978
|
#
|
5510
|
-
# * [PutBucketEncryption][
|
5979
|
+
# * [PutBucketEncryption][6]
|
5511
5980
|
#
|
5512
|
-
# * [DeleteBucketEncryption][
|
5981
|
+
# * [DeleteBucketEncryption][7]
|
5513
5982
|
#
|
5514
5983
|
#
|
5515
5984
|
#
|
5516
5985
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
|
5517
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
5518
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-
|
5519
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/
|
5520
|
-
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/
|
5986
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html
|
5987
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
|
5988
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
|
5989
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
|
5990
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html
|
5991
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
|
5521
5992
|
#
|
5522
5993
|
# @option params [required, String] :bucket
|
5523
5994
|
# The name of the bucket from which the server-side encryption
|
5524
5995
|
# configuration is retrieved.
|
5525
5996
|
#
|
5997
|
+
# <b>Directory buckets </b> - When you use this operation with a
|
5998
|
+
# directory bucket, you must use path-style requests in the format
|
5999
|
+
# `https://s3express-control.region_code.amazonaws.com/bucket-name `.
|
6000
|
+
# Virtual-hosted-style requests aren't supported. Directory bucket
|
6001
|
+
# names must be unique in the chosen Availability Zone. Bucket names
|
6002
|
+
# must also follow the format ` bucket_base_name--az_id--x-s3` (for
|
6003
|
+
# example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
|
6004
|
+
# bucket naming restrictions, see [Directory bucket naming rules][1] in
|
6005
|
+
# the *Amazon S3 User Guide*
|
6006
|
+
#
|
6007
|
+
#
|
6008
|
+
#
|
6009
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
|
6010
|
+
#
|
5526
6011
|
# @option params [String] :expected_bucket_owner
|
5527
6012
|
# The account ID of the expected bucket owner. If the account ID that
|
5528
6013
|
# you provide does not match the actual owner of the bucket, the request
|
5529
6014
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
5530
6015
|
#
|
6016
|
+
# <note markdown="1"> For directory buckets, this header is not supported in this API
|
6017
|
+
# operation. If you specify this header, the request fails with the HTTP
|
6018
|
+
# status code `501 Not Implemented`.
|
6019
|
+
#
|
6020
|
+
# </note>
|
6021
|
+
#
|
5531
6022
|
# @return [Types::GetBucketEncryptionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
5532
6023
|
#
|
5533
6024
|
# * {Types::GetBucketEncryptionOutput#server_side_encryption_configuration #server_side_encryption_configuration} => Types::ServerSideEncryptionConfiguration
|
@@ -5908,6 +6399,7 @@ module Aws::S3
|
|
5908
6399
|
# @return [Types::GetBucketLifecycleConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
5909
6400
|
#
|
5910
6401
|
# * {Types::GetBucketLifecycleConfigurationOutput#rules #rules} => Array<Types::LifecycleRule>
|
6402
|
+
# * {Types::GetBucketLifecycleConfigurationOutput#transition_default_minimum_object_size #transition_default_minimum_object_size} => String
|
5911
6403
|
#
|
5912
6404
|
#
|
5913
6405
|
# @example Example: To get lifecycle configuration on a bucket
|
@@ -5973,6 +6465,7 @@ module Aws::S3
|
|
5973
6465
|
# resp.rules[0].noncurrent_version_expiration.noncurrent_days #=> Integer
|
5974
6466
|
# resp.rules[0].noncurrent_version_expiration.newer_noncurrent_versions #=> Integer
|
5975
6467
|
# resp.rules[0].abort_incomplete_multipart_upload.days_after_initiation #=> Integer
|
6468
|
+
# resp.transition_default_minimum_object_size #=> String, one of "varies_by_storage_class", "all_storage_classes_128K"
|
5976
6469
|
#
|
5977
6470
|
# @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration AWS API Documentation
|
5978
6471
|
#
|
@@ -7267,6 +7760,10 @@ module Aws::S3
|
|
7267
7760
|
# interruptions when a session expires. For more information about
|
7268
7761
|
# authorization, see [ `CreateSession` ][4].
|
7269
7762
|
#
|
7763
|
+
# If the object is encrypted using SSE-KMS, you must also have the
|
7764
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
7765
|
+
# identity-based policies and KMS key policies for the KMS key.
|
7766
|
+
#
|
7270
7767
|
# Storage classes
|
7271
7768
|
#
|
7272
7769
|
# : If the object you are retrieving is stored in the S3 Glacier
|
@@ -7295,6 +7792,11 @@ module Aws::S3
|
|
7295
7792
|
# `GetObject` requests for the object that uses these types of keys,
|
7296
7793
|
# you’ll get an HTTP `400 Bad Request` error.
|
7297
7794
|
#
|
7795
|
+
# **Directory buckets** - For directory buckets, there are only two
|
7796
|
+
# supported options for server-side encryption: SSE-S3 and SSE-KMS.
|
7797
|
+
# SSE-C isn't supported. For more information, see [Protecting data
|
7798
|
+
# with server-side encryption][7] in the *Amazon S3 User Guide*.
|
7799
|
+
#
|
7298
7800
|
# Overriding response header values through the request
|
7299
7801
|
#
|
7300
7802
|
# : There are times when you want to override certain response header
|
@@ -7342,9 +7844,9 @@ module Aws::S3
|
|
7342
7844
|
#
|
7343
7845
|
# The following operations are related to `GetObject`:
|
7344
7846
|
#
|
7345
|
-
# * [ListBuckets][
|
7847
|
+
# * [ListBuckets][8]
|
7346
7848
|
#
|
7347
|
-
# * [GetObjectAcl][
|
7849
|
+
# * [GetObjectAcl][9]
|
7348
7850
|
#
|
7349
7851
|
#
|
7350
7852
|
#
|
@@ -7354,8 +7856,9 @@ module Aws::S3
|
|
7354
7856
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
7355
7857
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
|
7356
7858
|
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
|
7357
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/
|
7358
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
7859
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
7860
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html
|
7861
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
|
7359
7862
|
#
|
7360
7863
|
# @option params [String, IO] :response_target
|
7361
7864
|
# Where to write response data, file path, or IO object.
|
@@ -7652,6 +8155,15 @@ module Aws::S3
|
|
7652
8155
|
# @option params [String] :checksum_mode
|
7653
8156
|
# To retrieve the checksum, this mode must be enabled.
|
7654
8157
|
#
|
8158
|
+
# **General purpose buckets** - In addition, if you enable checksum mode
|
8159
|
+
# and the object is uploaded with a [checksum][1] and encrypted with an
|
8160
|
+
# Key Management Service (KMS) key, you must have permission to use the
|
8161
|
+
# `kms:Decrypt` action to retrieve the checksum.
|
8162
|
+
#
|
8163
|
+
#
|
8164
|
+
#
|
8165
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
|
8166
|
+
#
|
7655
8167
|
# @return [Types::GetObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
7656
8168
|
#
|
7657
8169
|
# * {Types::GetObjectOutput#body #body} => IO
|
@@ -8048,7 +8560,7 @@ module Aws::S3
|
|
8048
8560
|
# Permissions
|
8049
8561
|
# : * **General purpose bucket permissions** - To use
|
8050
8562
|
# `GetObjectAttributes`, you must have READ access to the object.
|
8051
|
-
# The permissions that you need to use this operation
|
8563
|
+
# The permissions that you need to use this operation depend on
|
8052
8564
|
# whether the bucket is versioned. If the bucket is versioned, you
|
8053
8565
|
# need both the `s3:GetObjectVersion` and
|
8054
8566
|
# `s3:GetObjectVersionAttributes` permissions for this operation. If
|
@@ -8082,6 +8594,10 @@ module Aws::S3
|
|
8082
8594
|
# interruptions when a session expires. For more information about
|
8083
8595
|
# authorization, see [ `CreateSession` ][3].
|
8084
8596
|
#
|
8597
|
+
# If the object is encrypted with SSE-KMS, you must also have the
|
8598
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
8599
|
+
# identity-based policies and KMS key policies for the KMS key.
|
8600
|
+
#
|
8085
8601
|
# Encryption
|
8086
8602
|
# : <note markdown="1"> Encryption request headers, like `x-amz-server-side-encryption`,
|
8087
8603
|
# should not be sent for `HEAD` requests if your object uses
|
@@ -8115,9 +8631,19 @@ module Aws::S3
|
|
8115
8631
|
# Customer-Provided Encryption Keys)][4] in the *Amazon S3 User
|
8116
8632
|
# Guide*.
|
8117
8633
|
#
|
8118
|
-
# <note markdown="1"> **Directory bucket permissions** - For directory buckets,
|
8119
|
-
#
|
8120
|
-
# (`AES256`)
|
8634
|
+
# <note markdown="1"> **Directory bucket permissions** - For directory buckets, there are
|
8635
|
+
# only two supported options for server-side encryption: server-side
|
8636
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
8637
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). We
|
8638
|
+
# recommend that the bucket's default encryption uses the desired
|
8639
|
+
# encryption configuration and you don't override the bucket default
|
8640
|
+
# encryption in your `CreateSession` requests or `PUT` object
|
8641
|
+
# requests. Then, new objects are automatically encrypted with the
|
8642
|
+
# desired encryption settings. For more information, see [Protecting
|
8643
|
+
# data with server-side encryption][5] in the *Amazon S3 User Guide*.
|
8644
|
+
# For more information about the encryption overriding behaviors in
|
8645
|
+
# directory buckets, see [Specifying server-side encryption with KMS
|
8646
|
+
# for new object uploads][6].
|
8121
8647
|
#
|
8122
8648
|
# </note>
|
8123
8649
|
#
|
@@ -8141,7 +8667,7 @@ module Aws::S3
|
|
8141
8667
|
# * `If-Unmodified-Since` condition evaluates to `false`.
|
8142
8668
|
#
|
8143
8669
|
# For more information about conditional requests, see [RFC
|
8144
|
-
# 7232][
|
8670
|
+
# 7232][7].
|
8145
8671
|
#
|
8146
8672
|
# * If both of the `If-None-Match` and `If-Modified-Since` headers are
|
8147
8673
|
# present in the request as follows, then Amazon S3 returns the HTTP
|
@@ -8152,7 +8678,7 @@ module Aws::S3
|
|
8152
8678
|
# * `If-Modified-Since` condition evaluates to `true`.
|
8153
8679
|
#
|
8154
8680
|
# For more information about conditional requests, see [RFC
|
8155
|
-
# 7232][
|
8681
|
+
# 7232][7].
|
8156
8682
|
#
|
8157
8683
|
# HTTP Host header syntax
|
8158
8684
|
#
|
@@ -8161,21 +8687,21 @@ module Aws::S3
|
|
8161
8687
|
#
|
8162
8688
|
# The following actions are related to `GetObjectAttributes`:
|
8163
8689
|
#
|
8164
|
-
# * [GetObject][
|
8690
|
+
# * [GetObject][8]
|
8165
8691
|
#
|
8166
|
-
# * [GetObjectAcl][
|
8692
|
+
# * [GetObjectAcl][9]
|
8167
8693
|
#
|
8168
|
-
# * [GetObjectLegalHold][
|
8694
|
+
# * [GetObjectLegalHold][10]
|
8169
8695
|
#
|
8170
|
-
# * [GetObjectLockConfiguration][
|
8696
|
+
# * [GetObjectLockConfiguration][11]
|
8171
8697
|
#
|
8172
|
-
# * [GetObjectRetention][
|
8698
|
+
# * [GetObjectRetention][12]
|
8173
8699
|
#
|
8174
|
-
# * [GetObjectTagging][
|
8700
|
+
# * [GetObjectTagging][13]
|
8175
8701
|
#
|
8176
|
-
# * [HeadObject][
|
8702
|
+
# * [HeadObject][14]
|
8177
8703
|
#
|
8178
|
-
# * [ListParts][
|
8704
|
+
# * [ListParts][15]
|
8179
8705
|
#
|
8180
8706
|
#
|
8181
8707
|
#
|
@@ -8183,15 +8709,17 @@ module Aws::S3
|
|
8183
8709
|
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
|
8184
8710
|
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
8185
8711
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
8186
|
-
# [5]: https://
|
8187
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/
|
8188
|
-
# [7]: https://
|
8189
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
8190
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
8191
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
8192
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
8193
|
-
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
8194
|
-
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
8712
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
8713
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
8714
|
+
# [7]: https://tools.ietf.org/html/rfc7232
|
8715
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
|
8716
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
|
8717
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html
|
8718
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLockConfiguration.html
|
8719
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectRetention.html
|
8720
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
|
8721
|
+
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html
|
8722
|
+
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
|
8195
8723
|
#
|
8196
8724
|
# @option params [required, String] :bucket
|
8197
8725
|
# The name of the bucket that contains the object.
|
@@ -8986,29 +9514,24 @@ module Aws::S3
|
|
8986
9514
|
# have permission to access it. The action returns a `200 OK` if the
|
8987
9515
|
# bucket exists and you have permission to access it.
|
8988
9516
|
#
|
8989
|
-
# If the bucket does not exist or you do not have permission to access
|
9517
|
+
# <note markdown="1"> If the bucket does not exist or you do not have permission to access
|
8990
9518
|
# it, the `HEAD` request returns a generic `400 Bad Request`, `403
|
8991
9519
|
# Forbidden` or `404 Not Found` code. A message body is not included, so
|
8992
9520
|
# you cannot determine the exception beyond these HTTP response codes.
|
8993
9521
|
#
|
8994
|
-
# <note markdown="1"> <b>Directory buckets </b> - You must make requests for this API
|
8995
|
-
# operation to the Zonal endpoint. These endpoints support
|
8996
|
-
# virtual-hosted-style requests in the format
|
8997
|
-
# `https://bucket_name.s3express-az_id.region.amazonaws.com`. Path-style
|
8998
|
-
# requests are not supported. For more information, see [Regional and
|
8999
|
-
# Zonal endpoints][1] in the *Amazon S3 User Guide*.
|
9000
|
-
#
|
9001
9522
|
# </note>
|
9002
9523
|
#
|
9003
9524
|
# Authentication and authorization
|
9004
9525
|
#
|
9005
|
-
# :
|
9006
|
-
#
|
9007
|
-
#
|
9526
|
+
# : **General purpose buckets** - Request to public buckets that grant
|
9527
|
+
# the s3:ListBucket permission publicly do not need to be signed. All
|
9528
|
+
# other `HeadBucket` requests must be authenticated and signed by
|
9529
|
+
# using IAM credentials (access key ID and secret access key for the
|
9530
|
+
# IAM identities). All headers with the `x-amz-` prefix, including
|
9008
9531
|
# `x-amz-copy-source`, must be signed. For more information, see [REST
|
9009
|
-
# Authentication][
|
9532
|
+
# Authentication][1].
|
9010
9533
|
#
|
9011
|
-
# **Directory
|
9534
|
+
# **Directory buckets** - You must use IAM credentials to authenticate
|
9012
9535
|
# and authorize your access to the `HeadBucket` API operation, instead
|
9013
9536
|
# of using the temporary security credentials through the
|
9014
9537
|
# `CreateSession` API operation.
|
@@ -9024,7 +9547,7 @@ module Aws::S3
|
|
9024
9547
|
# you must have permissions to perform the `s3:ListBucket` action.
|
9025
9548
|
# The bucket owner has this permission by default and can grant this
|
9026
9549
|
# permission to others. For more information about permissions, see
|
9027
|
-
# [Managing access permissions to your Amazon S3 resources][
|
9550
|
+
# [Managing access permissions to your Amazon S3 resources][2] in
|
9028
9551
|
# the *Amazon S3 User Guide*.
|
9029
9552
|
#
|
9030
9553
|
# * **Directory bucket permissions** - You must have the <b>
|
@@ -9035,9 +9558,9 @@ module Aws::S3
|
|
9035
9558
|
# `ReadOnly` on the bucket.
|
9036
9559
|
#
|
9037
9560
|
# For more information about example bucket policies, see [Example
|
9038
|
-
# bucket policies for S3 Express One Zone][
|
9561
|
+
# bucket policies for S3 Express One Zone][3] and [Amazon Web
|
9039
9562
|
# Services Identity and Access Management (IAM) identity-based
|
9040
|
-
# policies for S3 Express One Zone][
|
9563
|
+
# policies for S3 Express One Zone][4] in the *Amazon S3 User
|
9041
9564
|
# Guide*.
|
9042
9565
|
#
|
9043
9566
|
# HTTP Host header syntax
|
@@ -9045,13 +9568,21 @@ module Aws::S3
|
|
9045
9568
|
# : <b>Directory buckets </b> - The HTTP Host header syntax is `
|
9046
9569
|
# Bucket_name.s3express-az_id.region.amazonaws.com`.
|
9047
9570
|
#
|
9571
|
+
# <note markdown="1"> You must make requests for this API operation to the Zonal endpoint.
|
9572
|
+
# These endpoints support virtual-hosted-style requests in the format
|
9573
|
+
# `https://bucket_name.s3express-az_id.region.amazonaws.com`.
|
9574
|
+
# Path-style requests are not supported. For more information, see
|
9575
|
+
# [Regional and Zonal endpoints][5] in the *Amazon S3 User Guide*.
|
9576
|
+
#
|
9577
|
+
# </note>
|
9048
9578
|
#
|
9049
9579
|
#
|
9050
|
-
#
|
9051
|
-
# [
|
9052
|
-
# [
|
9053
|
-
# [
|
9054
|
-
# [
|
9580
|
+
#
|
9581
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
|
9582
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
|
9583
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
|
9584
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
|
9585
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
9055
9586
|
#
|
9056
9587
|
# @option params [required, String] :bucket
|
9057
9588
|
# The bucket name.
|
@@ -9159,7 +9690,7 @@ module Aws::S3
|
|
9159
9690
|
# returning the object itself. This operation is useful if you're
|
9160
9691
|
# interested only in an object's metadata.
|
9161
9692
|
#
|
9162
|
-
# A `HEAD` request has the same options as a `GET` operation on an
|
9693
|
+
# <note markdown="1"> A `HEAD` request has the same options as a `GET` operation on an
|
9163
9694
|
# object. The response is identical to the `GET` response except that
|
9164
9695
|
# there is no response body. Because of this, if the `HEAD` request
|
9165
9696
|
# generates an error, it returns a generic code, such as `400 Bad
|
@@ -9167,18 +9698,11 @@ module Aws::S3
|
|
9167
9698
|
# `412 Precondition Failed`, or `304 Not Modified`. It's not possible
|
9168
9699
|
# to retrieve the exact exception of these error codes.
|
9169
9700
|
#
|
9701
|
+
# </note>
|
9702
|
+
#
|
9170
9703
|
# Request headers are limited to 8 KB in size. For more information, see
|
9171
9704
|
# [Common Request Headers][1].
|
9172
9705
|
#
|
9173
|
-
# <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
|
9174
|
-
# for this API operation to the Zonal endpoint. These endpoints support
|
9175
|
-
# virtual-hosted-style requests in the format
|
9176
|
-
# `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name `.
|
9177
|
-
# Path-style requests are not supported. For more information, see
|
9178
|
-
# [Regional and Zonal endpoints][2] in the *Amazon S3 User Guide*.
|
9179
|
-
#
|
9180
|
-
# </note>
|
9181
|
-
#
|
9182
9706
|
# Permissions
|
9183
9707
|
#
|
9184
9708
|
# :
|
@@ -9187,7 +9711,11 @@ module Aws::S3
|
|
9187
9711
|
# have the `s3:GetObject` permission. You need the relevant read
|
9188
9712
|
# object (or version) permission for this operation. For more
|
9189
9713
|
# information, see [Actions, resources, and condition keys for
|
9190
|
-
# Amazon S3][
|
9714
|
+
# Amazon S3][2] in the *Amazon S3 User Guide*. For more information
|
9715
|
+
# about the permissions to S3 API operations by S3 resource types,
|
9716
|
+
# see [Required permissions for Amazon S3 API
|
9717
|
+
# operations](/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)
|
9718
|
+
# in the *Amazon S3 User Guide*.
|
9191
9719
|
#
|
9192
9720
|
# If the object you request doesn't exist, the error that Amazon S3
|
9193
9721
|
# returns depends on whether you also have the `s3:ListBucket`
|
@@ -9201,7 +9729,7 @@ module Aws::S3
|
|
9201
9729
|
#
|
9202
9730
|
# * **Directory bucket permissions** - To grant access to this API
|
9203
9731
|
# operation on a directory bucket, we recommend that you use the [
|
9204
|
-
# `CreateSession` ][
|
9732
|
+
# `CreateSession` ][3] API operation for session-based
|
9205
9733
|
# authorization. Specifically, you grant the
|
9206
9734
|
# `s3express:CreateSession` permission to the directory bucket in a
|
9207
9735
|
# bucket policy or an IAM identity-based policy. Then, you make the
|
@@ -9212,7 +9740,14 @@ module Aws::S3
|
|
9212
9740
|
# token for use. Amazon Web Services CLI or SDKs create session and
|
9213
9741
|
# refresh the session token automatically to avoid service
|
9214
9742
|
# interruptions when a session expires. For more information about
|
9215
|
-
# authorization, see [ `CreateSession` ][
|
9743
|
+
# authorization, see [ `CreateSession` ][3].
|
9744
|
+
#
|
9745
|
+
# If you enable `x-amz-checksum-mode` in the request and the object
|
9746
|
+
# is encrypted with Amazon Web Services Key Management Service
|
9747
|
+
# (Amazon Web Services KMS), you must also have the
|
9748
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
9749
|
+
# identity-based policies and KMS key policies for the KMS key to
|
9750
|
+
# retrieve the checksum of the object.
|
9216
9751
|
#
|
9217
9752
|
# Encryption
|
9218
9753
|
# : <note markdown="1"> Encryption request headers, like `x-amz-server-side-encryption`,
|
@@ -9244,12 +9779,13 @@ module Aws::S3
|
|
9244
9779
|
# * `x-amz-server-side-encryption-customer-key-MD5`
|
9245
9780
|
#
|
9246
9781
|
# For more information about SSE-C, see [Server-Side Encryption (Using
|
9247
|
-
# Customer-Provided Encryption Keys)][
|
9782
|
+
# Customer-Provided Encryption Keys)][4] in the *Amazon S3 User
|
9248
9783
|
# Guide*.
|
9249
9784
|
#
|
9250
|
-
# <note markdown="1">
|
9251
|
-
# server-side encryption
|
9252
|
-
#
|
9785
|
+
# <note markdown="1"> <b>Directory bucket </b> - For directory buckets, there are only two
|
9786
|
+
# supported options for server-side encryption: SSE-S3 and SSE-KMS.
|
9787
|
+
# SSE-C isn't supported. For more information, see [Protecting data
|
9788
|
+
# with server-side encryption][5] in the *Amazon S3 User Guide*.
|
9253
9789
|
#
|
9254
9790
|
# </note>
|
9255
9791
|
#
|
@@ -9278,21 +9814,31 @@ module Aws::S3
|
|
9278
9814
|
# : <b>Directory buckets </b> - The HTTP Host header syntax is `
|
9279
9815
|
# Bucket_name.s3express-az_id.region.amazonaws.com`.
|
9280
9816
|
#
|
9817
|
+
# <note markdown="1"> For directory buckets, you must make requests for this API operation
|
9818
|
+
# to the Zonal endpoint. These endpoints support virtual-hosted-style
|
9819
|
+
# requests in the format
|
9820
|
+
# `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
|
9821
|
+
# `. Path-style requests are not supported. For more information, see
|
9822
|
+
# [Regional and Zonal endpoints][6] in the *Amazon S3 User Guide*.
|
9823
|
+
#
|
9824
|
+
# </note>
|
9825
|
+
#
|
9281
9826
|
# The following actions are related to `HeadObject`:
|
9282
9827
|
#
|
9283
|
-
# * [GetObject][
|
9828
|
+
# * [GetObject][7]
|
9284
9829
|
#
|
9285
|
-
# * [GetObjectAttributes][
|
9830
|
+
# * [GetObjectAttributes][8]
|
9286
9831
|
#
|
9287
9832
|
#
|
9288
9833
|
#
|
9289
9834
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html
|
9290
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/
|
9291
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/
|
9292
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/
|
9293
|
-
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/
|
9294
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/
|
9295
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
9835
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html
|
9836
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
9837
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
9838
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
9839
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
9840
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
|
9841
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
|
9296
9842
|
#
|
9297
9843
|
# @option params [required, String] :bucket
|
9298
9844
|
# The name of the bucket that contains the object.
|
@@ -9423,6 +9969,24 @@ module Aws::S3
|
|
9423
9969
|
# the Range is not satisfiable, S3 returns a `416 - Requested Range Not
|
9424
9970
|
# Satisfiable` error.
|
9425
9971
|
#
|
9972
|
+
# @option params [String] :response_cache_control
|
9973
|
+
# Sets the `Cache-Control` header of the response.
|
9974
|
+
#
|
9975
|
+
# @option params [String] :response_content_disposition
|
9976
|
+
# Sets the `Content-Disposition` header of the response.
|
9977
|
+
#
|
9978
|
+
# @option params [String] :response_content_encoding
|
9979
|
+
# Sets the `Content-Encoding` header of the response.
|
9980
|
+
#
|
9981
|
+
# @option params [String] :response_content_language
|
9982
|
+
# Sets the `Content-Language` header of the response.
|
9983
|
+
#
|
9984
|
+
# @option params [String] :response_content_type
|
9985
|
+
# Sets the `Content-Type` header of the response.
|
9986
|
+
#
|
9987
|
+
# @option params [Time,DateTime,Date,Integer,String] :response_expires
|
9988
|
+
# Sets the `Expires` header of the response.
|
9989
|
+
#
|
9426
9990
|
# @option params [String] :version_id
|
9427
9991
|
# Version ID used to reference a specific version of the object.
|
9428
9992
|
#
|
@@ -9490,10 +10054,20 @@ module Aws::S3
|
|
9490
10054
|
# @option params [String] :checksum_mode
|
9491
10055
|
# To retrieve the checksum, this parameter must be enabled.
|
9492
10056
|
#
|
9493
|
-
#
|
9494
|
-
#
|
9495
|
-
# KMS), you must have permission to use the
|
9496
|
-
#
|
10057
|
+
# **General purpose buckets** - If you enable checksum mode and the
|
10058
|
+
# object is uploaded with a [checksum][1] and encrypted with an Key
|
10059
|
+
# Management Service (KMS) key, you must have permission to use the
|
10060
|
+
# `kms:Decrypt` action to retrieve the checksum.
|
10061
|
+
#
|
10062
|
+
# **Directory buckets** - If you enable `ChecksumMode` and the object is
|
10063
|
+
# encrypted with Amazon Web Services Key Management Service (Amazon Web
|
10064
|
+
# Services KMS), you must also have the `kms:GenerateDataKey` and
|
10065
|
+
# `kms:Decrypt` permissions in IAM identity-based policies and KMS key
|
10066
|
+
# policies for the KMS key to retrieve the checksum of the object.
|
10067
|
+
#
|
10068
|
+
#
|
10069
|
+
#
|
10070
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
|
9497
10071
|
#
|
9498
10072
|
# @return [Types::HeadObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
9499
10073
|
#
|
@@ -9565,6 +10139,12 @@ module Aws::S3
|
|
9565
10139
|
# if_unmodified_since: Time.now,
|
9566
10140
|
# key: "ObjectKey", # required
|
9567
10141
|
# range: "Range",
|
10142
|
+
# response_cache_control: "ResponseCacheControl",
|
10143
|
+
# response_content_disposition: "ResponseContentDisposition",
|
10144
|
+
# response_content_encoding: "ResponseContentEncoding",
|
10145
|
+
# response_content_language: "ResponseContentLanguage",
|
10146
|
+
# response_content_type: "ResponseContentType",
|
10147
|
+
# response_expires: Time.now,
|
9568
10148
|
# version_id: "ObjectVersionId",
|
9569
10149
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
9570
10150
|
# sse_customer_key: "SSECustomerKey",
|
@@ -10041,10 +10621,52 @@ module Aws::S3
|
|
10041
10621
|
#
|
10042
10622
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html
|
10043
10623
|
#
|
10624
|
+
# @option params [Integer] :max_buckets
|
10625
|
+
# Maximum number of buckets to be returned in response. When the number
|
10626
|
+
# is more than the count of buckets that are owned by an Amazon Web
|
10627
|
+
# Services account, return all the buckets in response.
|
10628
|
+
#
|
10629
|
+
# @option params [String] :continuation_token
|
10630
|
+
# `ContinuationToken` indicates to Amazon S3 that the list is being
|
10631
|
+
# continued on this bucket with a token. `ContinuationToken` is
|
10632
|
+
# obfuscated and is not a real key. You can use this `ContinuationToken`
|
10633
|
+
# for pagination of the list results.
|
10634
|
+
#
|
10635
|
+
# Length Constraints: Minimum length of 0. Maximum length of 1024.
|
10636
|
+
#
|
10637
|
+
# Required: No.
|
10638
|
+
#
|
10639
|
+
# @option params [String] :prefix
|
10640
|
+
# Limits the response to bucket names that begin with the specified
|
10641
|
+
# bucket name prefix.
|
10642
|
+
#
|
10643
|
+
# @option params [String] :bucket_region
|
10644
|
+
# Limits the response to buckets that are located in the specified
|
10645
|
+
# Amazon Web Services Region. The Amazon Web Services Region must be
|
10646
|
+
# expressed according to the Amazon Web Services Region code, such as
|
10647
|
+
# `us-west-2` for the US West (Oregon) Region. For a list of the valid
|
10648
|
+
# values for all of the Amazon Web Services Regions, see [Regions and
|
10649
|
+
# Endpoints][1].
|
10650
|
+
#
|
10651
|
+
# <note markdown="1"> Requests made to a Regional endpoint that is different from the
|
10652
|
+
# `bucket-region` parameter are not supported. For example, if you want
|
10653
|
+
# to limit the response to your buckets in Region `us-west-2`, the
|
10654
|
+
# request must be made to an endpoint in Region `us-west-2`.
|
10655
|
+
#
|
10656
|
+
# </note>
|
10657
|
+
#
|
10658
|
+
#
|
10659
|
+
#
|
10660
|
+
# [1]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
|
10661
|
+
#
|
10044
10662
|
# @return [Types::ListBucketsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
10045
10663
|
#
|
10046
10664
|
# * {Types::ListBucketsOutput#buckets #buckets} => Array<Types::Bucket>
|
10047
10665
|
# * {Types::ListBucketsOutput#owner #owner} => Types::Owner
|
10666
|
+
# * {Types::ListBucketsOutput#continuation_token #continuation_token} => String
|
10667
|
+
# * {Types::ListBucketsOutput#prefix #prefix} => String
|
10668
|
+
#
|
10669
|
+
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
|
10048
10670
|
#
|
10049
10671
|
#
|
10050
10672
|
# @example Example: To list all buckets
|
@@ -10076,13 +10698,25 @@ module Aws::S3
|
|
10076
10698
|
# },
|
10077
10699
|
# }
|
10078
10700
|
#
|
10701
|
+
# @example Request syntax with placeholder values
|
10702
|
+
#
|
10703
|
+
# resp = client.list_buckets({
|
10704
|
+
# max_buckets: 1,
|
10705
|
+
# continuation_token: "Token",
|
10706
|
+
# prefix: "Prefix",
|
10707
|
+
# bucket_region: "BucketRegion",
|
10708
|
+
# })
|
10709
|
+
#
|
10079
10710
|
# @example Response structure
|
10080
10711
|
#
|
10081
10712
|
# resp.buckets #=> Array
|
10082
10713
|
# resp.buckets[0].name #=> String
|
10083
10714
|
# resp.buckets[0].creation_date #=> Time
|
10715
|
+
# resp.buckets[0].bucket_region #=> String
|
10084
10716
|
# resp.owner.display_name #=> String
|
10085
10717
|
# resp.owner.id #=> String
|
10718
|
+
# resp.continuation_token #=> String
|
10719
|
+
# resp.prefix #=> String
|
10086
10720
|
#
|
10087
10721
|
# @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets AWS API Documentation
|
10088
10722
|
#
|
@@ -10131,9 +10765,9 @@ module Aws::S3
|
|
10131
10765
|
#
|
10132
10766
|
# @option params [String] :continuation_token
|
10133
10767
|
# `ContinuationToken` indicates to Amazon S3 that the list is being
|
10134
|
-
# continued on this
|
10135
|
-
# obfuscated and is not a real
|
10136
|
-
# for pagination of the list results.
|
10768
|
+
# continued on buckets in this account with a token. `ContinuationToken`
|
10769
|
+
# is obfuscated and is not a real bucket name. You can use this
|
10770
|
+
# `ContinuationToken` for the pagination of the list results.
|
10137
10771
|
#
|
10138
10772
|
# @option params [Integer] :max_directory_buckets
|
10139
10773
|
# Maximum number of buckets to be returned in response. When the number
|
@@ -10159,6 +10793,7 @@ module Aws::S3
|
|
10159
10793
|
# resp.buckets #=> Array
|
10160
10794
|
# resp.buckets[0].name #=> String
|
10161
10795
|
# resp.buckets[0].creation_date #=> Time
|
10796
|
+
# resp.buckets[0].bucket_region #=> String
|
10162
10797
|
# resp.continuation_token #=> String
|
10163
10798
|
#
|
10164
10799
|
# @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListDirectoryBuckets AWS API Documentation
|
@@ -10177,7 +10812,11 @@ module Aws::S3
|
|
10177
10812
|
#
|
10178
10813
|
# <note markdown="1"> **Directory buckets** - If multipart uploads in a directory bucket are
|
10179
10814
|
# in progress, you can't delete the bucket until all the in-progress
|
10180
|
-
# multipart uploads are aborted or completed.
|
10815
|
+
# multipart uploads are aborted or completed. To delete these
|
10816
|
+
# in-progress multipart uploads, use the `ListMultipartUploads`
|
10817
|
+
# operation to list the in-progress multipart uploads in the bucket and
|
10818
|
+
# use the `AbortMultupartUpload` operation to abort all the in-progress
|
10819
|
+
# multipart uploads.
|
10181
10820
|
#
|
10182
10821
|
# </note>
|
10183
10822
|
#
|
@@ -10343,12 +10982,26 @@ module Aws::S3
|
|
10343
10982
|
# </note>
|
10344
10983
|
#
|
10345
10984
|
# @option params [String] :encoding_type
|
10346
|
-
#
|
10347
|
-
#
|
10348
|
-
# Unicode character
|
10349
|
-
# characters, such as characters with an ASCII value from
|
10350
|
-
# characters that
|
10351
|
-
# parameter to request that Amazon S3 encode the keys in the
|
10985
|
+
# Encoding type used by Amazon S3 to encode the [object keys][1] in the
|
10986
|
+
# response. Responses are encoded only in UTF-8. An object key can
|
10987
|
+
# contain any Unicode character. However, the XML 1.0 parser can't
|
10988
|
+
# parse certain characters, such as characters with an ASCII value from
|
10989
|
+
# 0 to 10. For characters that aren't supported in XML 1.0, you can add
|
10990
|
+
# this parameter to request that Amazon S3 encode the keys in the
|
10991
|
+
# response. For more information about characters to avoid in object key
|
10992
|
+
# names, see [Object key naming guidelines][2].
|
10993
|
+
#
|
10994
|
+
# <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
|
10995
|
+
# in an object's key name will be percent-encoded according to UTF-8
|
10996
|
+
# code values. For example, the object `test_file(3).png` will appear as
|
10997
|
+
# `test_file%283%29.png`.
|
10998
|
+
#
|
10999
|
+
# </note>
|
11000
|
+
#
|
11001
|
+
#
|
11002
|
+
#
|
11003
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
|
11004
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
|
10352
11005
|
#
|
10353
11006
|
# @option params [String] :key_marker
|
10354
11007
|
# Specifies the multipart upload after which listing should begin.
|
@@ -10640,12 +11293,26 @@ module Aws::S3
|
|
10640
11293
|
# the response.
|
10641
11294
|
#
|
10642
11295
|
# @option params [String] :encoding_type
|
10643
|
-
#
|
10644
|
-
#
|
10645
|
-
# Unicode character
|
10646
|
-
# characters, such as characters with an ASCII value from
|
10647
|
-
# characters that
|
10648
|
-
# parameter to request that Amazon S3 encode the keys in the
|
11296
|
+
# Encoding type used by Amazon S3 to encode the [object keys][1] in the
|
11297
|
+
# response. Responses are encoded only in UTF-8. An object key can
|
11298
|
+
# contain any Unicode character. However, the XML 1.0 parser can't
|
11299
|
+
# parse certain characters, such as characters with an ASCII value from
|
11300
|
+
# 0 to 10. For characters that aren't supported in XML 1.0, you can add
|
11301
|
+
# this parameter to request that Amazon S3 encode the keys in the
|
11302
|
+
# response. For more information about characters to avoid in object key
|
11303
|
+
# names, see [Object key naming guidelines][2].
|
11304
|
+
#
|
11305
|
+
# <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
|
11306
|
+
# in an object's key name will be percent-encoded according to UTF-8
|
11307
|
+
# code values. For example, the object `test_file(3).png` will appear as
|
11308
|
+
# `test_file%283%29.png`.
|
11309
|
+
#
|
11310
|
+
# </note>
|
11311
|
+
#
|
11312
|
+
#
|
11313
|
+
#
|
11314
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
|
11315
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
|
10649
11316
|
#
|
10650
11317
|
# @option params [String] :key_marker
|
10651
11318
|
# Specifies the key to start with when listing objects in a bucket.
|
@@ -10899,12 +11566,26 @@ module Aws::S3
|
|
10899
11566
|
# A delimiter is a character that you use to group keys.
|
10900
11567
|
#
|
10901
11568
|
# @option params [String] :encoding_type
|
10902
|
-
#
|
10903
|
-
#
|
10904
|
-
# Unicode character
|
10905
|
-
# characters, such as characters with an ASCII value from
|
10906
|
-
# characters that
|
10907
|
-
# parameter to request that Amazon S3 encode the keys in the
|
11569
|
+
# Encoding type used by Amazon S3 to encode the [object keys][1] in the
|
11570
|
+
# response. Responses are encoded only in UTF-8. An object key can
|
11571
|
+
# contain any Unicode character. However, the XML 1.0 parser can't
|
11572
|
+
# parse certain characters, such as characters with an ASCII value from
|
11573
|
+
# 0 to 10. For characters that aren't supported in XML 1.0, you can add
|
11574
|
+
# this parameter to request that Amazon S3 encode the keys in the
|
11575
|
+
# response. For more information about characters to avoid in object key
|
11576
|
+
# names, see [Object key naming guidelines][2].
|
11577
|
+
#
|
11578
|
+
# <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
|
11579
|
+
# in an object's key name will be percent-encoded according to UTF-8
|
11580
|
+
# code values. For example, the object `test_file(3).png` will appear as
|
11581
|
+
# `test_file%283%29.png`.
|
11582
|
+
#
|
11583
|
+
# </note>
|
11584
|
+
#
|
11585
|
+
#
|
11586
|
+
#
|
11587
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
|
11588
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
|
10908
11589
|
#
|
10909
11590
|
# @option params [String] :marker
|
10910
11591
|
# Marker is where you want Amazon S3 to start listing from. Amazon S3
|
@@ -11046,12 +11727,20 @@ module Aws::S3
|
|
11046
11727
|
# programmatically][1] in the *Amazon S3 User Guide*. To get a list of
|
11047
11728
|
# your buckets, see [ListBuckets][2].
|
11048
11729
|
#
|
11049
|
-
# <note markdown="1"> **
|
11050
|
-
#
|
11051
|
-
#
|
11052
|
-
#
|
11053
|
-
#
|
11054
|
-
#
|
11730
|
+
# <note markdown="1"> * **General purpose bucket** - For general purpose buckets,
|
11731
|
+
# `ListObjectsV2` doesn't return prefixes that are related only to
|
11732
|
+
# in-progress multipart uploads.
|
11733
|
+
#
|
11734
|
+
# * **Directory buckets** - For directory buckets, `ListObjectsV2`
|
11735
|
+
# response includes the prefixes that are related only to in-progress
|
11736
|
+
# multipart uploads.
|
11737
|
+
#
|
11738
|
+
# * **Directory buckets** - For directory buckets, you must make
|
11739
|
+
# requests for this API operation to the Zonal endpoint. These
|
11740
|
+
# endpoints support virtual-hosted-style requests in the format
|
11741
|
+
# `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
|
11742
|
+
# `. Path-style requests are not supported. For more information, see
|
11743
|
+
# [Regional and Zonal endpoints][3] in the *Amazon S3 User Guide*.
|
11055
11744
|
#
|
11056
11745
|
# </note>
|
11057
11746
|
#
|
@@ -11180,10 +11869,26 @@ module Aws::S3
|
|
11180
11869
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
|
11181
11870
|
#
|
11182
11871
|
# @option params [String] :encoding_type
|
11183
|
-
# Encoding type used by Amazon S3 to encode object keys in the
|
11184
|
-
#
|
11185
|
-
#
|
11186
|
-
#
|
11872
|
+
# Encoding type used by Amazon S3 to encode the [object keys][1] in the
|
11873
|
+
# response. Responses are encoded only in UTF-8. An object key can
|
11874
|
+
# contain any Unicode character. However, the XML 1.0 parser can't
|
11875
|
+
# parse certain characters, such as characters with an ASCII value from
|
11876
|
+
# 0 to 10. For characters that aren't supported in XML 1.0, you can add
|
11877
|
+
# this parameter to request that Amazon S3 encode the keys in the
|
11878
|
+
# response. For more information about characters to avoid in object key
|
11879
|
+
# names, see [Object key naming guidelines][2].
|
11880
|
+
#
|
11881
|
+
# <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
|
11882
|
+
# in an object's key name will be percent-encoded according to UTF-8
|
11883
|
+
# code values. For example, the object `test_file(3).png` will appear as
|
11884
|
+
# `test_file%283%29.png`.
|
11885
|
+
#
|
11886
|
+
# </note>
|
11887
|
+
#
|
11888
|
+
#
|
11889
|
+
#
|
11890
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
|
11891
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
|
11187
11892
|
#
|
11188
11893
|
# @option params [Integer] :max_keys
|
11189
11894
|
# Sets the maximum number of keys returned in the response. By default,
|
@@ -12383,66 +13088,156 @@ module Aws::S3
|
|
12383
13088
|
req.send_request(options)
|
12384
13089
|
end
|
12385
13090
|
|
12386
|
-
#
|
13091
|
+
# This operation configures default encryption and Amazon S3 Bucket Keys
|
13092
|
+
# for an existing bucket.
|
12387
13093
|
#
|
12388
|
-
#
|
13094
|
+
# <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
|
13095
|
+
# requests for this API operation to the Regional endpoint. These
|
13096
|
+
# endpoints support path-style requests in the format
|
13097
|
+
# `https://s3express-control.region_code.amazonaws.com/bucket-name `.
|
13098
|
+
# Virtual-hosted-style requests aren't supported. For more information,
|
13099
|
+
# see [Regional and Zonal endpoints][1] in the *Amazon S3 User Guide*.
|
12389
13100
|
#
|
12390
|
-
#
|
12391
|
-
# encryption and Amazon S3 Bucket Keys for an existing bucket.
|
13101
|
+
# </note>
|
12392
13102
|
#
|
12393
13103
|
# By default, all buckets have a default encryption configuration that
|
12394
|
-
# uses server-side encryption with Amazon S3 managed keys (SSE-S3).
|
12395
|
-
#
|
12396
|
-
#
|
12397
|
-
#
|
12398
|
-
#
|
12399
|
-
#
|
12400
|
-
#
|
12401
|
-
#
|
12402
|
-
#
|
12403
|
-
#
|
12404
|
-
#
|
12405
|
-
#
|
12406
|
-
#
|
12407
|
-
#
|
13104
|
+
# uses server-side encryption with Amazon S3 managed keys (SSE-S3).
|
13105
|
+
#
|
13106
|
+
# <note markdown="1"> * **General purpose buckets**
|
13107
|
+
#
|
13108
|
+
# * You can optionally configure default encryption for a bucket by
|
13109
|
+
# using server-side encryption with Key Management Service (KMS)
|
13110
|
+
# keys (SSE-KMS) or dual-layer server-side encryption with Amazon
|
13111
|
+
# Web Services KMS keys (DSSE-KMS). If you specify default
|
13112
|
+
# encryption by using SSE-KMS, you can also configure [Amazon S3
|
13113
|
+
# Bucket Keys][2]. For information about the bucket default
|
13114
|
+
# encryption feature, see [Amazon S3 Bucket Default Encryption][3]
|
13115
|
+
# in the *Amazon S3 User Guide*.
|
13116
|
+
#
|
13117
|
+
# * If you use PutBucketEncryption to set your [default bucket
|
13118
|
+
# encryption][3] to SSE-KMS, you should verify that your KMS key ID
|
13119
|
+
# is correct. Amazon S3 doesn't validate the KMS key ID provided in
|
13120
|
+
# PutBucketEncryption requests.
|
13121
|
+
#
|
13122
|
+
# * <b>Directory buckets </b> - You can optionally configure default
|
13123
|
+
# encryption for a bucket by using server-side encryption with Key
|
13124
|
+
# Management Service (KMS) keys (SSE-KMS).
|
13125
|
+
#
|
13126
|
+
# * We recommend that the bucket's default encryption uses the
|
13127
|
+
# desired encryption configuration and you don't override the
|
13128
|
+
# bucket default encryption in your `CreateSession` requests or
|
13129
|
+
# `PUT` object requests. Then, new objects are automatically
|
13130
|
+
# encrypted with the desired encryption settings. For more
|
13131
|
+
# information about the encryption overriding behaviors in directory
|
13132
|
+
# buckets, see [Specifying server-side encryption with KMS for new
|
13133
|
+
# object uploads][4].
|
13134
|
+
#
|
13135
|
+
# * Your SSE-KMS configuration can only support 1 [customer managed
|
13136
|
+
# key][5] per directory bucket for the lifetime of the bucket. The
|
13137
|
+
# [Amazon Web Services managed key][6] (`aws/s3`) isn't supported.
|
13138
|
+
#
|
13139
|
+
# * S3 Bucket Keys are always enabled for `GET` and `PUT` operations
|
13140
|
+
# in a directory bucket and can’t be disabled. S3 Bucket Keys
|
13141
|
+
# aren't supported, when you copy SSE-KMS encrypted objects from
|
13142
|
+
# general purpose buckets to directory buckets, from directory
|
13143
|
+
# buckets to general purpose buckets, or between directory buckets,
|
13144
|
+
# through [CopyObject][7], [UploadPartCopy][8], [the Copy operation
|
13145
|
+
# in Batch Operations][9], or [the import jobs][10]. In this case,
|
13146
|
+
# Amazon S3 makes a call to KMS every time a copy request is made
|
13147
|
+
# for a KMS-encrypted object.
|
13148
|
+
#
|
13149
|
+
# * When you specify an [KMS customer managed key][5] for encryption
|
13150
|
+
# in your directory bucket, only use the key ID or key ARN. The key
|
13151
|
+
# alias format of the KMS key isn't supported.
|
13152
|
+
#
|
13153
|
+
# * For directory buckets, if you use PutBucketEncryption to set your
|
13154
|
+
# [default bucket encryption][3] to SSE-KMS, Amazon S3 validates the
|
13155
|
+
# KMS key ID provided in PutBucketEncryption requests.
|
13156
|
+
#
|
13157
|
+
# </note>
|
13158
|
+
#
|
13159
|
+
# If you're specifying a customer managed KMS key, we recommend using a
|
13160
|
+
# fully qualified KMS key ARN. If you use a KMS key alias instead, then
|
13161
|
+
# KMS resolves the key within the requester’s account. This behavior can
|
13162
|
+
# result in data that's encrypted with a KMS key that belongs to the
|
13163
|
+
# requester, and not the bucket owner.
|
13164
|
+
#
|
13165
|
+
# Also, this action requires Amazon Web Services Signature Version 4.
|
13166
|
+
# For more information, see [ Authenticating Requests (Amazon Web
|
13167
|
+
# Services Signature Version 4)][11].
|
13168
|
+
#
|
13169
|
+
# Permissions
|
13170
|
+
# : * **General purpose bucket permissions** - The
|
13171
|
+
# `s3:PutEncryptionConfiguration` permission is required in a
|
13172
|
+
# policy. The bucket owner has this permission by default. The
|
13173
|
+
# bucket owner can grant this permission to others. For more
|
13174
|
+
# information about permissions, see [Permissions Related to Bucket
|
13175
|
+
# Operations][12] and [Managing Access Permissions to Your Amazon S3
|
13176
|
+
# Resources][13] in the *Amazon S3 User Guide*.
|
13177
|
+
#
|
13178
|
+
# * **Directory bucket permissions** - To grant access to this API
|
13179
|
+
# operation, you must have the
|
13180
|
+
# `s3express:PutEncryptionConfiguration` permission in an IAM
|
13181
|
+
# identity-based policy instead of a bucket policy. Cross-account
|
13182
|
+
# access to this API operation isn't supported. This operation can
|
13183
|
+
# only be performed by the Amazon Web Services account that owns the
|
13184
|
+
# resource. For more information about directory bucket policies and
|
13185
|
+
# permissions, see [Amazon Web Services Identity and Access
|
13186
|
+
# Management (IAM) for S3 Express One Zone][14] in the *Amazon S3
|
13187
|
+
# User Guide*.
|
13188
|
+
#
|
13189
|
+
# To set a directory bucket default encryption with SSE-KMS, you
|
13190
|
+
# must also have the `kms:GenerateDataKey` and the `kms:Decrypt`
|
13191
|
+
# permissions in IAM identity-based policies and KMS key policies
|
13192
|
+
# for the target KMS key.
|
13193
|
+
#
|
13194
|
+
# HTTP Host header syntax
|
12408
13195
|
#
|
12409
|
-
#
|
12410
|
-
#
|
12411
|
-
# permission by default. The bucket owner can grant this permission to
|
12412
|
-
# others. For more information about permissions, see [Permissions
|
12413
|
-
# Related to Bucket Subresource Operations][4] and [Managing Access
|
12414
|
-
# Permissions to Your Amazon S3 Resources][5] in the *Amazon S3 User
|
12415
|
-
# Guide*.
|
13196
|
+
# : <b>Directory buckets </b> - The HTTP Host header syntax is
|
13197
|
+
# `s3express-control.region.amazonaws.com`.
|
12416
13198
|
#
|
12417
13199
|
# The following operations are related to `PutBucketEncryption`:
|
12418
13200
|
#
|
12419
|
-
# * [GetBucketEncryption][
|
13201
|
+
# * [GetBucketEncryption][15]
|
12420
13202
|
#
|
12421
|
-
# * [DeleteBucketEncryption][
|
13203
|
+
# * [DeleteBucketEncryption][16]
|
12422
13204
|
#
|
12423
13205
|
#
|
12424
13206
|
#
|
12425
|
-
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/
|
12426
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-
|
12427
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/
|
12428
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
12429
|
-
# [5]: https://docs.aws.amazon.com/
|
12430
|
-
# [6]: https://docs.aws.amazon.com/
|
12431
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
13207
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
13208
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
|
13209
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
|
13210
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
13211
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
13212
|
+
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
13213
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
13214
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
13215
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
|
13216
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
|
13217
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
|
13218
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
|
13219
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
|
13220
|
+
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
|
13221
|
+
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
|
13222
|
+
# [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
|
12432
13223
|
#
|
12433
13224
|
# @option params [required, String] :bucket
|
12434
13225
|
# Specifies default encryption for a bucket using server-side encryption
|
12435
|
-
# with different key options.
|
12436
|
-
#
|
12437
|
-
#
|
12438
|
-
#
|
12439
|
-
#
|
12440
|
-
#
|
12441
|
-
#
|
13226
|
+
# with different key options.
|
13227
|
+
#
|
13228
|
+
# <b>Directory buckets </b> - When you use this operation with a
|
13229
|
+
# directory bucket, you must use path-style requests in the format
|
13230
|
+
# `https://s3express-control.region_code.amazonaws.com/bucket-name `.
|
13231
|
+
# Virtual-hosted-style requests aren't supported. Directory bucket
|
13232
|
+
# names must be unique in the chosen Availability Zone. Bucket names
|
13233
|
+
# must also follow the format ` bucket_base_name--az_id--x-s3` (for
|
13234
|
+
# example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
|
13235
|
+
# bucket naming restrictions, see [Directory bucket naming rules][1] in
|
13236
|
+
# the *Amazon S3 User Guide*
|
12442
13237
|
#
|
12443
13238
|
#
|
12444
13239
|
#
|
12445
|
-
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/
|
13240
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
|
12446
13241
|
#
|
12447
13242
|
# @option params [String] :content_md5
|
12448
13243
|
# The base64-encoded 128-bit MD5 digest of the server-side encryption
|
@@ -12452,6 +13247,10 @@ module Aws::S3
|
|
12452
13247
|
# (CLI) or Amazon Web Services SDKs, this field is calculated
|
12453
13248
|
# automatically.
|
12454
13249
|
#
|
13250
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
13251
|
+
#
|
13252
|
+
# </note>
|
13253
|
+
#
|
12455
13254
|
# @option params [String] :checksum_algorithm
|
12456
13255
|
# Indicates the algorithm used to create the checksum for the object
|
12457
13256
|
# when you use the SDK. This header will not provide any additional
|
@@ -12464,6 +13263,11 @@ module Aws::S3
|
|
12464
13263
|
# If you provide an individual checksum, Amazon S3 ignores any provided
|
12465
13264
|
# `ChecksumAlgorithm` parameter.
|
12466
13265
|
#
|
13266
|
+
# <note markdown="1"> For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
|
13267
|
+
# is the default checksum algorithm that's used for performance.
|
13268
|
+
#
|
13269
|
+
# </note>
|
13270
|
+
#
|
12467
13271
|
#
|
12468
13272
|
#
|
12469
13273
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
@@ -12476,6 +13280,12 @@ module Aws::S3
|
|
12476
13280
|
# you provide does not match the actual owner of the bucket, the request
|
12477
13281
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
12478
13282
|
#
|
13283
|
+
# <note markdown="1"> For directory buckets, this header is not supported in this API
|
13284
|
+
# operation. If you specify this header, the request fails with the HTTP
|
13285
|
+
# status code `501 Not Implemented`.
|
13286
|
+
#
|
13287
|
+
# </note>
|
13288
|
+
#
|
12479
13289
|
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
12480
13290
|
#
|
12481
13291
|
# @example Request syntax with placeholder values
|
@@ -12946,23 +13756,22 @@ module Aws::S3
|
|
12946
13756
|
# lifecycle configuration. For information about lifecycle
|
12947
13757
|
# configuration, see [Managing your storage lifecycle][1].
|
12948
13758
|
#
|
12949
|
-
# <note markdown="1"> Bucket lifecycle configuration now supports specifying a lifecycle
|
12950
|
-
# rule using an object key name prefix, one or more object tags, object
|
12951
|
-
# size, or any combination of these. Accordingly, this section describes
|
12952
|
-
# the latest API. The previous version of the API supported filtering
|
12953
|
-
# based only on an object key name prefix, which is supported for
|
12954
|
-
# backward compatibility. For the related API description, see
|
12955
|
-
# [PutBucketLifecycle][2].
|
12956
|
-
#
|
12957
|
-
# </note>
|
12958
|
-
#
|
12959
13759
|
# Rules
|
12960
13760
|
#
|
12961
13761
|
# : You specify the lifecycle configuration in your request body. The
|
12962
13762
|
# lifecycle configuration is specified as XML consisting of one or
|
12963
13763
|
# more rules. An Amazon S3 Lifecycle configuration can have up to
|
12964
|
-
# 1,000 rules. This limit is not adjustable.
|
12965
|
-
#
|
13764
|
+
# 1,000 rules. This limit is not adjustable.
|
13765
|
+
#
|
13766
|
+
# Bucket lifecycle configuration supports specifying a lifecycle rule
|
13767
|
+
# using an object key name prefix, one or more object tags, object
|
13768
|
+
# size, or any combination of these. Accordingly, this section
|
13769
|
+
# describes the latest API. The previous version of the API supported
|
13770
|
+
# filtering based only on an object key name prefix, which is
|
13771
|
+
# supported for backward compatibility. For the related API
|
13772
|
+
# description, see [PutBucketLifecycle][2].
|
13773
|
+
#
|
13774
|
+
# A lifecycle rule consists of the following:
|
12966
13775
|
#
|
12967
13776
|
# * A filter identifying a subset of objects to which the rule
|
12968
13777
|
# applies. The filter can be based on a key name prefix, object
|
@@ -13053,7 +13862,26 @@ module Aws::S3
|
|
13053
13862
|
# you provide does not match the actual owner of the bucket, the request
|
13054
13863
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
13055
13864
|
#
|
13056
|
-
# @
|
13865
|
+
# @option params [String] :transition_default_minimum_object_size
|
13866
|
+
# Indicates which default minimum object size behavior is applied to the
|
13867
|
+
# lifecycle configuration.
|
13868
|
+
#
|
13869
|
+
# * `all_storage_classes_128K` - Objects smaller than 128 KB will not
|
13870
|
+
# transition to any storage class by default.
|
13871
|
+
#
|
13872
|
+
# * `varies_by_storage_class` - Objects smaller than 128 KB will
|
13873
|
+
# transition to Glacier Flexible Retrieval or Glacier Deep Archive
|
13874
|
+
# storage classes. By default, all other storage classes will prevent
|
13875
|
+
# transitions smaller than 128 KB.
|
13876
|
+
#
|
13877
|
+
# To customize the minimum object size for any transition you can add a
|
13878
|
+
# filter that specifies a custom `ObjectSizeGreaterThan` or
|
13879
|
+
# `ObjectSizeLessThan` in the body of your transition rule. Custom
|
13880
|
+
# filters always take precedence over the default transition behavior.
|
13881
|
+
#
|
13882
|
+
# @return [Types::PutBucketLifecycleConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
13883
|
+
#
|
13884
|
+
# * {Types::PutBucketLifecycleConfigurationOutput#transition_default_minimum_object_size #transition_default_minimum_object_size} => String
|
13057
13885
|
#
|
13058
13886
|
#
|
13059
13887
|
# @example Example: Put bucket lifecycle
|
@@ -13145,8 +13973,13 @@ module Aws::S3
|
|
13145
13973
|
# ],
|
13146
13974
|
# },
|
13147
13975
|
# expected_bucket_owner: "AccountId",
|
13976
|
+
# transition_default_minimum_object_size: "varies_by_storage_class", # accepts varies_by_storage_class, all_storage_classes_128K
|
13148
13977
|
# })
|
13149
13978
|
#
|
13979
|
+
# @example Response structure
|
13980
|
+
#
|
13981
|
+
# resp.transition_default_minimum_object_size #=> String, one of "varies_by_storage_class", "all_storage_classes_128K"
|
13982
|
+
#
|
13150
13983
|
# @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration AWS API Documentation
|
13151
13984
|
#
|
13152
13985
|
# @overload put_bucket_lifecycle_configuration(params = {})
|
@@ -13899,13 +14732,13 @@ module Aws::S3
|
|
13899
14732
|
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
13900
14733
|
# the supported algorithm from the following list:
|
13901
14734
|
#
|
13902
|
-
# * CRC32
|
14735
|
+
# * `CRC32`
|
13903
14736
|
#
|
13904
|
-
# * CRC32C
|
14737
|
+
# * `CRC32C`
|
13905
14738
|
#
|
13906
|
-
# * SHA1
|
14739
|
+
# * `SHA1`
|
13907
14740
|
#
|
13908
|
-
# * SHA256
|
14741
|
+
# * `SHA256`
|
13909
14742
|
#
|
13910
14743
|
# For more information, see [Checking object integrity][1] in the
|
13911
14744
|
# *Amazon S3 User Guide*.
|
@@ -14472,6 +15305,14 @@ module Aws::S3
|
|
14472
15305
|
#
|
14473
15306
|
# </note>
|
14474
15307
|
#
|
15308
|
+
# <note markdown="1"> When you enable versioning on a bucket for the first time, it might
|
15309
|
+
# take a short amount of time for the change to be fully propagated. We
|
15310
|
+
# recommend that you wait for 15 minutes after enabling versioning
|
15311
|
+
# before issuing write operations (`PUT` or `DELETE`) on objects in the
|
15312
|
+
# bucket.
|
15313
|
+
#
|
15314
|
+
# </note>
|
15315
|
+
#
|
14475
15316
|
# Sets the versioning state of an existing bucket.
|
14476
15317
|
#
|
14477
15318
|
# You can set the versioning state with one of the following values:
|
@@ -14865,6 +15706,10 @@ module Aws::S3
|
|
14865
15706
|
# interruptions when a session expires. For more information about
|
14866
15707
|
# authorization, see [ `CreateSession` ][5].
|
14867
15708
|
#
|
15709
|
+
# If the object is encrypted with SSE-KMS, you must also have the
|
15710
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
15711
|
+
# identity-based policies and KMS key policies for the KMS key.
|
15712
|
+
#
|
14868
15713
|
# Data integrity with Content-MD5
|
14869
15714
|
# : * **General purpose bucket** - To ensure that data is not corrupted
|
14870
15715
|
# traversing the network, use the `Content-MD5` header. When you use
|
@@ -15032,10 +15877,11 @@ module Aws::S3
|
|
15032
15877
|
# information about REST request authentication, see [REST
|
15033
15878
|
# Authentication][1].
|
15034
15879
|
#
|
15035
|
-
# <note markdown="1"> The `Content-MD5` header is required
|
15036
|
-
# object with a retention period configured
|
15037
|
-
#
|
15038
|
-
# Object Lock
|
15880
|
+
# <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
|
15881
|
+
# for any request to upload an object with a retention period configured
|
15882
|
+
# using Amazon S3 Object Lock. For more information, see [Uploading
|
15883
|
+
# objects to an Object Lock enabled bucket ][2] in the *Amazon S3 User
|
15884
|
+
# Guide*.
|
15039
15885
|
#
|
15040
15886
|
# </note>
|
15041
15887
|
#
|
@@ -15046,7 +15892,7 @@ module Aws::S3
|
|
15046
15892
|
#
|
15047
15893
|
#
|
15048
15894
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
|
15049
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/
|
15895
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-put-object
|
15050
15896
|
#
|
15051
15897
|
# @option params [String] :content_type
|
15052
15898
|
# A standard MIME type describing the format of the contents. For more
|
@@ -15068,13 +15914,13 @@ module Aws::S3
|
|
15068
15914
|
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
15069
15915
|
# the supported algorithm from the following list:
|
15070
15916
|
#
|
15071
|
-
# * CRC32
|
15917
|
+
# * `CRC32`
|
15072
15918
|
#
|
15073
|
-
# * CRC32C
|
15919
|
+
# * `CRC32C`
|
15074
15920
|
#
|
15075
|
-
# * SHA1
|
15921
|
+
# * `SHA1`
|
15076
15922
|
#
|
15077
|
-
# * SHA256
|
15923
|
+
# * `SHA256`
|
15078
15924
|
#
|
15079
15925
|
# For more information, see [Checking object integrity][1] in the
|
15080
15926
|
# *Amazon S3 User Guide*.
|
@@ -15085,21 +15931,28 @@ module Aws::S3
|
|
15085
15931
|
# provided `ChecksumAlgorithm` parameter and uses the checksum algorithm
|
15086
15932
|
# that matches the provided value in `x-amz-checksum-algorithm `.
|
15087
15933
|
#
|
15088
|
-
# <note markdown="1">
|
15089
|
-
#
|
15934
|
+
# <note markdown="1"> The `Content-MD5` or `x-amz-sdk-checksum-algorithm` header is required
|
15935
|
+
# for any request to upload an object with a retention period configured
|
15936
|
+
# using Amazon S3 Object Lock. For more information, see [Uploading
|
15937
|
+
# objects to an Object Lock enabled bucket ][2] in the *Amazon S3 User
|
15938
|
+
# Guide*.
|
15090
15939
|
#
|
15091
15940
|
# </note>
|
15092
15941
|
#
|
15942
|
+
# For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
|
15943
|
+
# is the default checksum algorithm that's used for performance.
|
15944
|
+
#
|
15093
15945
|
#
|
15094
15946
|
#
|
15095
15947
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
15948
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-put-object
|
15096
15949
|
#
|
15097
15950
|
# @option params [String] :checksum_crc32
|
15098
15951
|
# This header can be used as a data integrity check to verify that the
|
15099
15952
|
# data received is the same data that was originally sent. This header
|
15100
|
-
# specifies the base64-encoded, 32-bit
|
15101
|
-
# more information, see [Checking object integrity][1] in the
|
15102
|
-
# User Guide*.
|
15953
|
+
# specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
|
15954
|
+
# For more information, see [Checking object integrity][1] in the
|
15955
|
+
# *Amazon S3 User Guide*.
|
15103
15956
|
#
|
15104
15957
|
#
|
15105
15958
|
#
|
@@ -15108,7 +15961,7 @@ module Aws::S3
|
|
15108
15961
|
# @option params [String] :checksum_crc32c
|
15109
15962
|
# This header can be used as a data integrity check to verify that the
|
15110
15963
|
# data received is the same data that was originally sent. This header
|
15111
|
-
# specifies the base64-encoded, 32-bit
|
15964
|
+
# specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
|
15112
15965
|
# For more information, see [Checking object integrity][1] in the
|
15113
15966
|
# *Amazon S3 User Guide*.
|
15114
15967
|
#
|
@@ -15147,6 +16000,25 @@ module Aws::S3
|
|
15147
16000
|
#
|
15148
16001
|
# [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
|
15149
16002
|
#
|
16003
|
+
# @option params [String] :if_none_match
|
16004
|
+
# Uploads the object only if the object key name does not already exist
|
16005
|
+
# in the bucket specified. Otherwise, Amazon S3 returns a `412
|
16006
|
+
# Precondition Failed` error.
|
16007
|
+
#
|
16008
|
+
# If a conflicting operation occurs during the upload S3 returns a `409
|
16009
|
+
# ConditionalRequestConflict` response. On a 409 failure you should
|
16010
|
+
# retry the upload.
|
16011
|
+
#
|
16012
|
+
# Expects the '*' (asterisk) character.
|
16013
|
+
#
|
16014
|
+
# For more information about conditional requests, see [RFC 7232][1], or
|
16015
|
+
# [Conditional requests][2] in the *Amazon S3 User Guide*.
|
16016
|
+
#
|
16017
|
+
#
|
16018
|
+
#
|
16019
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
16020
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
|
16021
|
+
#
|
15150
16022
|
# @option params [String] :grant_full_control
|
15151
16023
|
# Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
|
15152
16024
|
# object.
|
@@ -15195,25 +16067,65 @@ module Aws::S3
|
|
15195
16067
|
# object in Amazon S3 (for example, `AES256`, `aws:kms`,
|
15196
16068
|
# `aws:kms:dsse`).
|
15197
16069
|
#
|
15198
|
-
# <b>General purpose buckets </b> - You have four mutually exclusive
|
15199
|
-
#
|
15200
|
-
#
|
15201
|
-
#
|
15202
|
-
#
|
15203
|
-
#
|
15204
|
-
#
|
15205
|
-
#
|
15206
|
-
#
|
15207
|
-
#
|
15208
|
-
#
|
16070
|
+
# * <b>General purpose buckets </b> - You have four mutually exclusive
|
16071
|
+
# options to protect data using server-side encryption in Amazon S3,
|
16072
|
+
# depending on how you choose to manage the encryption keys.
|
16073
|
+
# Specifically, the encryption key options are Amazon S3 managed keys
|
16074
|
+
# (SSE-S3), Amazon Web Services KMS keys (SSE-KMS or DSSE-KMS), and
|
16075
|
+
# customer-provided keys (SSE-C). Amazon S3 encrypts data with
|
16076
|
+
# server-side encryption by using Amazon S3 managed keys (SSE-S3) by
|
16077
|
+
# default. You can optionally tell Amazon S3 to encrypt data at rest
|
16078
|
+
# by using server-side encryption with other key options. For more
|
16079
|
+
# information, see [Using Server-Side Encryption][1] in the *Amazon S3
|
16080
|
+
# User Guide*.
|
16081
|
+
#
|
16082
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
16083
|
+
# two supported options for server-side encryption: server-side
|
16084
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
16085
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). We
|
16086
|
+
# recommend that the bucket's default encryption uses the desired
|
16087
|
+
# encryption configuration and you don't override the bucket default
|
16088
|
+
# encryption in your `CreateSession` requests or `PUT` object
|
16089
|
+
# requests. Then, new objects are automatically encrypted with the
|
16090
|
+
# desired encryption settings. For more information, see [Protecting
|
16091
|
+
# data with server-side encryption][2] in the *Amazon S3 User Guide*.
|
16092
|
+
# For more information about the encryption overriding behaviors in
|
16093
|
+
# directory buckets, see [Specifying server-side encryption with KMS
|
16094
|
+
# for new object uploads][3].
|
16095
|
+
#
|
16096
|
+
# In the Zonal endpoint API calls (except [CopyObject][4] and
|
16097
|
+
# [UploadPartCopy][5]) using the REST API, the encryption request
|
16098
|
+
# headers must match the encryption settings that are specified in the
|
16099
|
+
# `CreateSession` request. You can't override the values of the
|
16100
|
+
# encryption settings (`x-amz-server-side-encryption`,
|
16101
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`,
|
16102
|
+
# `x-amz-server-side-encryption-context`, and
|
16103
|
+
# `x-amz-server-side-encryption-bucket-key-enabled`) that are
|
16104
|
+
# specified in the `CreateSession` request. You don't need to
|
16105
|
+
# explicitly specify these encryption settings values in Zonal
|
16106
|
+
# endpoint API calls, and Amazon S3 will use the encryption settings
|
16107
|
+
# values from the `CreateSession` request to protect new objects in
|
16108
|
+
# the directory bucket.
|
16109
|
+
#
|
16110
|
+
# <note markdown="1"> When you use the CLI or the Amazon Web Services SDKs, for
|
16111
|
+
# `CreateSession`, the session token refreshes automatically to avoid
|
16112
|
+
# service interruptions when a session expires. The CLI or the Amazon
|
16113
|
+
# Web Services SDKs use the bucket's default encryption configuration
|
16114
|
+
# for the `CreateSession` request. It's not supported to override the
|
16115
|
+
# encryption settings values in the `CreateSession` request. So in the
|
16116
|
+
# Zonal endpoint API calls (except [CopyObject][4] and
|
16117
|
+
# [UploadPartCopy][5]), the encryption request headers must match the
|
16118
|
+
# default encryption configuration of the directory bucket.
|
15209
16119
|
#
|
15210
|
-
#
|
15211
|
-
# server-side encryption with Amazon S3 managed keys (SSE-S3) (`AES256`)
|
15212
|
-
# value is supported.
|
16120
|
+
# </note>
|
15213
16121
|
#
|
15214
16122
|
#
|
15215
16123
|
#
|
15216
16124
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
16125
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
16126
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
16127
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
16128
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
15217
16129
|
#
|
15218
16130
|
# @option params [String] :storage_class
|
15219
16131
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
@@ -15293,46 +16205,88 @@ module Aws::S3
|
|
15293
16205
|
# </note>
|
15294
16206
|
#
|
15295
16207
|
# @option params [String] :ssekms_key_id
|
15296
|
-
#
|
15297
|
-
#
|
15298
|
-
#
|
15299
|
-
#
|
15300
|
-
#
|
15301
|
-
#
|
15302
|
-
# x-amz-server-side-encryption
|
15303
|
-
#
|
15304
|
-
#
|
15305
|
-
#
|
16208
|
+
# Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for
|
16209
|
+
# object encryption. If the KMS key doesn't exist in the same account
|
16210
|
+
# that's issuing the command, you must use the full Key ARN not the Key
|
16211
|
+
# ID.
|
16212
|
+
#
|
16213
|
+
# **General purpose buckets** - If you specify
|
16214
|
+
# `x-amz-server-side-encryption` with `aws:kms` or `aws:kms:dsse`, this
|
16215
|
+
# header specifies the ID (Key ID, Key ARN, or Key Alias) of the KMS key
|
16216
|
+
# to use. If you specify `x-amz-server-side-encryption:aws:kms` or
|
16217
|
+
# `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide
|
16218
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
16219
|
+
# Amazon Web Services managed key (`aws/s3`) to protect the data.
|
16220
|
+
#
|
16221
|
+
# **Directory buckets** - If you specify `x-amz-server-side-encryption`
|
16222
|
+
# with `aws:kms`, the ` x-amz-server-side-encryption-aws-kms-key-id`
|
16223
|
+
# header is implicitly assigned the ID of the KMS symmetric encryption
|
16224
|
+
# customer managed key that's configured for your directory bucket's
|
16225
|
+
# default encryption setting. If you want to specify the `
|
16226
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header explicitly, you
|
16227
|
+
# can only specify it with the ID (Key ID or Key ARN) of the KMS
|
16228
|
+
# customer managed key that's configured for your directory bucket's
|
16229
|
+
# default encryption setting. Otherwise, you get an HTTP `400 Bad
|
16230
|
+
# Request` error. Only use the key ID or key ARN. The key alias format
|
16231
|
+
# of the KMS key isn't supported. Your SSE-KMS configuration can only
|
16232
|
+
# support 1 [customer managed key][1] per directory bucket for the
|
16233
|
+
# lifetime of the bucket. The [Amazon Web Services managed key][2]
|
16234
|
+
# (`aws/s3`) isn't supported.
|
16235
|
+
#
|
16236
|
+
#
|
16237
|
+
#
|
16238
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
16239
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
15306
16240
|
#
|
15307
|
-
#
|
16241
|
+
# @option params [String] :ssekms_encryption_context
|
16242
|
+
# Specifies the Amazon Web Services KMS Encryption Context as an
|
16243
|
+
# additional encryption context to use for object encryption. The value
|
16244
|
+
# of this header is a Base64-encoded string of a UTF-8 encoded JSON,
|
16245
|
+
# which contains the encryption context as key-value pairs. This value
|
16246
|
+
# is stored as object metadata and automatically gets passed on to
|
16247
|
+
# Amazon Web Services KMS for future `GetObject` operations on this
|
16248
|
+
# object.
|
15308
16249
|
#
|
15309
|
-
#
|
16250
|
+
# **General purpose buckets** - This value must be explicitly added
|
16251
|
+
# during `CopyObject` operations if you want an additional encryption
|
16252
|
+
# context for your object. For more information, see [Encryption
|
16253
|
+
# context][1] in the *Amazon S3 User Guide*.
|
15310
16254
|
#
|
15311
|
-
#
|
15312
|
-
#
|
15313
|
-
#
|
15314
|
-
#
|
15315
|
-
# value is stored as object metadata and automatically gets passed on to
|
15316
|
-
# Amazon Web Services KMS for future `GetObject` or `CopyObject`
|
15317
|
-
# operations on this object. This value must be explicitly added during
|
15318
|
-
# `CopyObject` operations.
|
16255
|
+
# **Directory buckets** - You can optionally provide an explicit
|
16256
|
+
# encryption context value. The value must match the default encryption
|
16257
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
16258
|
+
# encryption context value is not supported.
|
15319
16259
|
#
|
15320
|
-
# <note markdown="1"> This functionality is not supported for directory buckets.
|
15321
16260
|
#
|
15322
|
-
#
|
16261
|
+
#
|
16262
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context
|
15323
16263
|
#
|
15324
16264
|
# @option params [Boolean] :bucket_key_enabled
|
15325
16265
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
15326
16266
|
# encryption with server-side encryption using Key Management Service
|
15327
|
-
# (KMS) keys (SSE-KMS).
|
15328
|
-
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
16267
|
+
# (KMS) keys (SSE-KMS).
|
15329
16268
|
#
|
15330
|
-
#
|
15331
|
-
#
|
16269
|
+
# **General purpose buckets** - Setting this header to `true` causes
|
16270
|
+
# Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.
|
16271
|
+
# Also, specifying this header with a PUT action doesn't affect
|
16272
|
+
# bucket-level settings for S3 Bucket Key.
|
16273
|
+
#
|
16274
|
+
# **Directory buckets** - S3 Bucket Keys are always enabled for `GET`
|
16275
|
+
# and `PUT` operations in a directory bucket and can’t be disabled. S3
|
16276
|
+
# Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects
|
16277
|
+
# from general purpose buckets to directory buckets, from directory
|
16278
|
+
# buckets to general purpose buckets, or between directory buckets,
|
16279
|
+
# through [CopyObject][1], [UploadPartCopy][2], [the Copy operation in
|
16280
|
+
# Batch Operations][3], or [the import jobs][4]. In this case, Amazon S3
|
16281
|
+
# makes a call to KMS every time a copy request is made for a
|
16282
|
+
# KMS-encrypted object.
|
15332
16283
|
#
|
15333
|
-
# <note markdown="1"> This functionality is not supported for directory buckets.
|
15334
16284
|
#
|
15335
|
-
#
|
16285
|
+
#
|
16286
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
16287
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
16288
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
|
16289
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
|
15336
16290
|
#
|
15337
16291
|
# @option params [String] :request_payer
|
15338
16292
|
# Confirms that the requester knows that they will be charged for the
|
@@ -15410,41 +16364,20 @@ module Aws::S3
|
|
15410
16364
|
# * {Types::PutObjectOutput#request_charged #request_charged} => String
|
15411
16365
|
#
|
15412
16366
|
#
|
15413
|
-
# @example Example: To
|
15414
|
-
#
|
15415
|
-
# # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
|
15416
|
-
# # syntax. S3 returns VersionId of the newly created object.
|
15417
|
-
#
|
15418
|
-
# resp = client.put_object({
|
15419
|
-
# body: "HappyFace.jpg",
|
15420
|
-
# bucket: "examplebucket",
|
15421
|
-
# key: "HappyFace.jpg",
|
15422
|
-
# })
|
15423
|
-
#
|
15424
|
-
# resp.to_h outputs the following:
|
15425
|
-
# {
|
15426
|
-
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15427
|
-
# version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
|
15428
|
-
# }
|
15429
|
-
#
|
15430
|
-
# @example Example: To upload an object (specify optional headers)
|
16367
|
+
# @example Example: To create an object.
|
15431
16368
|
#
|
15432
|
-
# # The following example
|
15433
|
-
# # storage class and use server-side encryption.
|
16369
|
+
# # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
|
15434
16370
|
#
|
15435
16371
|
# resp = client.put_object({
|
15436
|
-
# body: "
|
16372
|
+
# body: "filetoupload",
|
15437
16373
|
# bucket: "examplebucket",
|
15438
|
-
# key: "
|
15439
|
-
# server_side_encryption: "AES256",
|
15440
|
-
# storage_class: "STANDARD_IA",
|
16374
|
+
# key: "objectkey",
|
15441
16375
|
# })
|
15442
16376
|
#
|
15443
16377
|
# resp.to_h outputs the following:
|
15444
16378
|
# {
|
15445
16379
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15446
|
-
#
|
15447
|
-
# version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
|
16380
|
+
# version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
|
15448
16381
|
# }
|
15449
16382
|
#
|
15450
16383
|
# @example Example: To upload object and specify user-defined metadata
|
@@ -15468,58 +16401,59 @@ module Aws::S3
|
|
15468
16401
|
# version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
|
15469
16402
|
# }
|
15470
16403
|
#
|
15471
|
-
# @example Example: To upload an object
|
16404
|
+
# @example Example: To upload an object
|
15472
16405
|
#
|
15473
|
-
# # The following example uploads
|
15474
|
-
# #
|
16406
|
+
# # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
|
16407
|
+
# # syntax. S3 returns VersionId of the newly created object.
|
15475
16408
|
#
|
15476
16409
|
# resp = client.put_object({
|
15477
|
-
#
|
15478
|
-
# body: "filetoupload",
|
16410
|
+
# body: "HappyFace.jpg",
|
15479
16411
|
# bucket: "examplebucket",
|
15480
|
-
# key: "
|
16412
|
+
# key: "HappyFace.jpg",
|
15481
16413
|
# })
|
15482
16414
|
#
|
15483
16415
|
# resp.to_h outputs the following:
|
15484
16416
|
# {
|
15485
16417
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15486
|
-
# version_id: "
|
16418
|
+
# version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
|
15487
16419
|
# }
|
15488
16420
|
#
|
15489
|
-
# @example Example: To
|
16421
|
+
# @example Example: To upload an object and specify canned ACL.
|
15490
16422
|
#
|
15491
|
-
# # The following example
|
16423
|
+
# # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
|
16424
|
+
# # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
|
15492
16425
|
#
|
15493
16426
|
# resp = client.put_object({
|
16427
|
+
# acl: "authenticated-read",
|
15494
16428
|
# body: "filetoupload",
|
15495
16429
|
# bucket: "examplebucket",
|
15496
|
-
# key: "
|
16430
|
+
# key: "exampleobject",
|
15497
16431
|
# })
|
15498
16432
|
#
|
15499
16433
|
# resp.to_h outputs the following:
|
15500
16434
|
# {
|
15501
16435
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15502
|
-
# version_id: "
|
16436
|
+
# version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
|
15503
16437
|
# }
|
15504
16438
|
#
|
15505
|
-
# @example Example: To upload an object
|
16439
|
+
# @example Example: To upload an object (specify optional headers)
|
15506
16440
|
#
|
15507
|
-
# # The following example uploads an object. The request specifies
|
15508
|
-
# #
|
16441
|
+
# # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
|
16442
|
+
# # storage class and use server-side encryption.
|
15509
16443
|
#
|
15510
16444
|
# resp = client.put_object({
|
15511
|
-
# body: "
|
16445
|
+
# body: "HappyFace.jpg",
|
15512
16446
|
# bucket: "examplebucket",
|
15513
|
-
# key: "
|
16447
|
+
# key: "HappyFace.jpg",
|
15514
16448
|
# server_side_encryption: "AES256",
|
15515
|
-
#
|
16449
|
+
# storage_class: "STANDARD_IA",
|
15516
16450
|
# })
|
15517
16451
|
#
|
15518
16452
|
# resp.to_h outputs the following:
|
15519
16453
|
# {
|
15520
16454
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15521
16455
|
# server_side_encryption: "AES256",
|
15522
|
-
# version_id: "
|
16456
|
+
# version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
|
15523
16457
|
# }
|
15524
16458
|
#
|
15525
16459
|
# @example Example: To upload an object and specify optional tags
|
@@ -15540,6 +16474,26 @@ module Aws::S3
|
|
15540
16474
|
# version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
|
15541
16475
|
# }
|
15542
16476
|
#
|
16477
|
+
# @example Example: To upload an object and specify server-side encryption and object tags
|
16478
|
+
#
|
16479
|
+
# # The following example uploads an object. The request specifies the optional server-side encryption option. The request
|
16480
|
+
# # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
|
16481
|
+
#
|
16482
|
+
# resp = client.put_object({
|
16483
|
+
# body: "filetoupload",
|
16484
|
+
# bucket: "examplebucket",
|
16485
|
+
# key: "exampleobject",
|
16486
|
+
# server_side_encryption: "AES256",
|
16487
|
+
# tagging: "key1=value1&key2=value2",
|
16488
|
+
# })
|
16489
|
+
#
|
16490
|
+
# resp.to_h outputs the following:
|
16491
|
+
# {
|
16492
|
+
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
16493
|
+
# server_side_encryption: "AES256",
|
16494
|
+
# version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
|
16495
|
+
# }
|
16496
|
+
#
|
15543
16497
|
# @example Streaming a file from disk
|
15544
16498
|
# # upload file from disk in a single request, may not exceed 5GB
|
15545
16499
|
# File.open('/source/file/path', 'rb') do |file|
|
@@ -15565,6 +16519,7 @@ module Aws::S3
|
|
15565
16519
|
# checksum_sha1: "ChecksumSHA1",
|
15566
16520
|
# checksum_sha256: "ChecksumSHA256",
|
15567
16521
|
# expires: Time.now,
|
16522
|
+
# if_none_match: "IfNoneMatch",
|
15568
16523
|
# grant_full_control: "GrantFullControl",
|
15569
16524
|
# grant_read: "GrantRead",
|
15570
16525
|
# grant_read_acp: "GrantReadACP",
|
@@ -17506,14 +18461,27 @@ module Aws::S3
|
|
17506
18461
|
# </note>
|
17507
18462
|
#
|
17508
18463
|
# Permissions
|
17509
|
-
# : * **General purpose bucket permissions** -
|
17510
|
-
#
|
17511
|
-
#
|
17512
|
-
#
|
18464
|
+
# : * **General purpose bucket permissions** - To perform a multipart
|
18465
|
+
# upload with encryption using an Key Management Service key, the
|
18466
|
+
# requester must have permission to the `kms:Decrypt` and
|
18467
|
+
# `kms:GenerateDataKey` actions on the key. The requester must also
|
18468
|
+
# have permissions for the `kms:GenerateDataKey` action for the
|
18469
|
+
# `CreateMultipartUpload` API. Then, the requester needs permissions
|
18470
|
+
# for the `kms:Decrypt` action on the `UploadPart` and
|
18471
|
+
# `UploadPartCopy` APIs.
|
18472
|
+
#
|
18473
|
+
# These permissions are required because Amazon S3 must decrypt and
|
18474
|
+
# read data from the encrypted file parts before it completes the
|
18475
|
+
# multipart upload. For more information about KMS permissions, see
|
18476
|
+
# [Protecting data using server-side encryption with KMS][6] in the
|
18477
|
+
# *Amazon S3 User Guide*. For information about the permissions
|
18478
|
+
# required to use the multipart upload API, see [Multipart upload
|
18479
|
+
# and permissions][7] and [Multipart upload API and permissions][8]
|
18480
|
+
# in the *Amazon S3 User Guide*.
|
17513
18481
|
#
|
17514
18482
|
# * **Directory bucket permissions** - To grant access to this API
|
17515
18483
|
# operation on a directory bucket, we recommend that you use the [
|
17516
|
-
# `CreateSession` ][
|
18484
|
+
# `CreateSession` ][9] API operation for session-based
|
17517
18485
|
# authorization. Specifically, you grant the
|
17518
18486
|
# `s3express:CreateSession` permission to the directory bucket in a
|
17519
18487
|
# bucket policy or an IAM identity-based policy. Then, you make the
|
@@ -17524,7 +18492,11 @@ module Aws::S3
|
|
17524
18492
|
# token for use. Amazon Web Services CLI or SDKs create session and
|
17525
18493
|
# refresh the session token automatically to avoid service
|
17526
18494
|
# interruptions when a session expires. For more information about
|
17527
|
-
# authorization, see [ `CreateSession` ][
|
18495
|
+
# authorization, see [ `CreateSession` ][9].
|
18496
|
+
#
|
18497
|
+
# If the object is encrypted with SSE-KMS, you must also have the
|
18498
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
18499
|
+
# identity-based policies and KMS key policies for the KMS key.
|
17528
18500
|
#
|
17529
18501
|
# Data integrity
|
17530
18502
|
#
|
@@ -17536,7 +18508,7 @@ module Aws::S3
|
|
17536
18508
|
# then Amazon Web Services S3 uses the `x-amz-content-sha256` header
|
17537
18509
|
# as a checksum instead of `Content-MD5`. For more information see
|
17538
18510
|
# [Authenticating Requests: Using the Authorization Header (Amazon Web
|
17539
|
-
# Services Signature Version 4)][
|
18511
|
+
# Services Signature Version 4)][10].
|
17540
18512
|
#
|
17541
18513
|
# <note markdown="1"> **Directory buckets** - MD5 is not supported by directory buckets.
|
17542
18514
|
# You can use checksum algorithms to check object integrity.
|
@@ -17577,12 +18549,13 @@ module Aws::S3
|
|
17577
18549
|
#
|
17578
18550
|
# * x-amz-server-side-encryption-customer-key-MD5
|
17579
18551
|
#
|
17580
|
-
#
|
17581
|
-
#
|
17582
|
-
# supported.
|
18552
|
+
# For more information, see [Using Server-Side Encryption][11] in
|
18553
|
+
# the *Amazon S3 User Guide*.
|
17583
18554
|
#
|
17584
|
-
#
|
17585
|
-
#
|
18555
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
18556
|
+
# two supported options for server-side encryption: server-side
|
18557
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
18558
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`).
|
17586
18559
|
#
|
17587
18560
|
# Special errors
|
17588
18561
|
# : * Error Code: `NoSuchUpload`
|
@@ -17604,13 +18577,13 @@ module Aws::S3
|
|
17604
18577
|
#
|
17605
18578
|
# * [CreateMultipartUpload][2]
|
17606
18579
|
#
|
17607
|
-
# * [CompleteMultipartUpload][
|
18580
|
+
# * [CompleteMultipartUpload][12]
|
17608
18581
|
#
|
17609
|
-
# * [AbortMultipartUpload][
|
18582
|
+
# * [AbortMultipartUpload][13]
|
17610
18583
|
#
|
17611
|
-
# * [ListParts][
|
18584
|
+
# * [ListParts][14]
|
17612
18585
|
#
|
17613
|
-
# * [ListMultipartUploads][
|
18586
|
+
# * [ListMultipartUploads][15]
|
17614
18587
|
#
|
17615
18588
|
#
|
17616
18589
|
#
|
@@ -17619,14 +18592,16 @@ module Aws::S3
|
|
17619
18592
|
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html
|
17620
18593
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
|
17621
18594
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
17622
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17623
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17624
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17625
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17626
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
17627
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17628
|
-
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
17629
|
-
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
18595
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
|
18596
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
|
18597
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
|
18598
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
18599
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html
|
18600
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
18601
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
|
18602
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
|
18603
|
+
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
|
18604
|
+
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
|
17630
18605
|
#
|
17631
18606
|
# @option params [String, StringIO, File] :body
|
17632
18607
|
# Object data.
|
@@ -17710,9 +18685,9 @@ module Aws::S3
|
|
17710
18685
|
# @option params [String] :checksum_crc32
|
17711
18686
|
# This header can be used as a data integrity check to verify that the
|
17712
18687
|
# data received is the same data that was originally sent. This header
|
17713
|
-
# specifies the base64-encoded, 32-bit
|
17714
|
-
# more information, see [Checking object integrity][1] in the
|
17715
|
-
# User Guide*.
|
18688
|
+
# specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
|
18689
|
+
# For more information, see [Checking object integrity][1] in the
|
18690
|
+
# *Amazon S3 User Guide*.
|
17716
18691
|
#
|
17717
18692
|
#
|
17718
18693
|
#
|
@@ -17721,7 +18696,7 @@ module Aws::S3
|
|
17721
18696
|
# @option params [String] :checksum_crc32c
|
17722
18697
|
# This header can be used as a data integrity check to verify that the
|
17723
18698
|
# data received is the same data that was originally sent. This header
|
17724
|
-
# specifies the base64-encoded, 32-bit
|
18699
|
+
# specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
|
17725
18700
|
# For more information, see [Checking object integrity][1] in the
|
17726
18701
|
# *Amazon S3 User Guide*.
|
17727
18702
|
#
|
@@ -17959,9 +18934,21 @@ module Aws::S3
|
|
17959
18934
|
# have the <b> <code>s3:PutObject</code> </b> permission to write
|
17960
18935
|
# the object copy to the destination bucket.
|
17961
18936
|
#
|
17962
|
-
#
|
17963
|
-
#
|
17964
|
-
#
|
18937
|
+
# * To perform a multipart upload with encryption using an Key
|
18938
|
+
# Management Service key, the requester must have permission to
|
18939
|
+
# the `kms:Decrypt` and `kms:GenerateDataKey` actions on the key.
|
18940
|
+
# The requester must also have permissions for the
|
18941
|
+
# `kms:GenerateDataKey` action for the `CreateMultipartUpload`
|
18942
|
+
# API. Then, the requester needs permissions for the `kms:Decrypt`
|
18943
|
+
# action on the `UploadPart` and `UploadPartCopy` APIs. These
|
18944
|
+
# permissions are required because Amazon S3 must decrypt and read
|
18945
|
+
# data from the encrypted file parts before it completes the
|
18946
|
+
# multipart upload. For more information about KMS permissions,
|
18947
|
+
# see [Protecting data using server-side encryption with KMS][7]
|
18948
|
+
# in the *Amazon S3 User Guide*. For information about the
|
18949
|
+
# permissions required to use the multipart upload API, see
|
18950
|
+
# [Multipart upload and permissions][8] and [Multipart upload API
|
18951
|
+
# and permissions][9] in the *Amazon S3 User Guide*.
|
17965
18952
|
#
|
17966
18953
|
# * **Directory bucket permissions** - You must have permissions in a
|
17967
18954
|
# bucket policy or an IAM identity-based policy based on the source
|
@@ -17970,9 +18957,9 @@ module Aws::S3
|
|
17970
18957
|
# * If the source object that you want to copy is in a directory
|
17971
18958
|
# bucket, you must have the <b>
|
17972
18959
|
# <code>s3express:CreateSession</code> </b> permission in the
|
17973
|
-
# `Action` element of a policy to read the object
|
17974
|
-
#
|
17975
|
-
#
|
18960
|
+
# `Action` element of a policy to read the object. By default, the
|
18961
|
+
# session is in the `ReadWrite` mode. If you want to restrict the
|
18962
|
+
# access, you can explicitly set the `s3express:SessionMode`
|
17976
18963
|
# condition key to `ReadOnly` on the copy source bucket.
|
17977
18964
|
#
|
17978
18965
|
# * If the copy destination is a directory bucket, you must have the
|
@@ -17981,20 +18968,41 @@ module Aws::S3
|
|
17981
18968
|
# destination. The `s3express:SessionMode` condition key cannot be
|
17982
18969
|
# set to `ReadOnly` on the copy destination.
|
17983
18970
|
#
|
18971
|
+
# If the object is encrypted with SSE-KMS, you must also have the
|
18972
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
18973
|
+
# identity-based policies and KMS key policies for the KMS key.
|
18974
|
+
#
|
17984
18975
|
# For example policies, see [Example bucket policies for S3 Express
|
17985
|
-
# One Zone][
|
18976
|
+
# One Zone][10] and [Amazon Web Services Identity and Access
|
17986
18977
|
# Management (IAM) identity-based policies for S3 Express One
|
17987
|
-
# Zone][
|
18978
|
+
# Zone][11] in the *Amazon S3 User Guide*.
|
17988
18979
|
#
|
17989
18980
|
# Encryption
|
17990
18981
|
# : * <b>General purpose buckets </b> - For information about using
|
17991
18982
|
# server-side encryption with customer-provided encryption keys with
|
17992
|
-
# the `UploadPartCopy` operation, see [CopyObject][
|
18983
|
+
# the `UploadPartCopy` operation, see [CopyObject][12] and
|
17993
18984
|
# [UploadPart][2].
|
17994
18985
|
#
|
17995
|
-
# * <b>Directory buckets </b> - For directory buckets, only
|
17996
|
-
# server-side encryption
|
17997
|
-
# (`AES256`)
|
18986
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
18987
|
+
# two supported options for server-side encryption: server-side
|
18988
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
18989
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). For
|
18990
|
+
# more information, see [Protecting data with server-side
|
18991
|
+
# encryption][13] in the *Amazon S3 User Guide*.
|
18992
|
+
#
|
18993
|
+
# <note markdown="1"> For directory buckets, when you perform a `CreateMultipartUpload`
|
18994
|
+
# operation and an `UploadPartCopy` operation, the request headers
|
18995
|
+
# you provide in the `CreateMultipartUpload` request must match the
|
18996
|
+
# default encryption configuration of the destination bucket.
|
18997
|
+
#
|
18998
|
+
# </note>
|
18999
|
+
#
|
19000
|
+
# S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted
|
19001
|
+
# objects from general purpose buckets to directory buckets, from
|
19002
|
+
# directory buckets to general purpose buckets, or between directory
|
19003
|
+
# buckets, through [UploadPartCopy][14]. In this case, Amazon S3
|
19004
|
+
# makes a call to KMS every time a copy request is made for a
|
19005
|
+
# KMS-encrypted object.
|
17998
19006
|
#
|
17999
19007
|
# Special errors
|
18000
19008
|
# : * Error Code: `NoSuchUpload`
|
@@ -18019,17 +19027,17 @@ module Aws::S3
|
|
18019
19027
|
#
|
18020
19028
|
# The following operations are related to `UploadPartCopy`:
|
18021
19029
|
#
|
18022
|
-
# * [CreateMultipartUpload][
|
19030
|
+
# * [CreateMultipartUpload][15]
|
18023
19031
|
#
|
18024
19032
|
# * [UploadPart][2]
|
18025
19033
|
#
|
18026
|
-
# * [CompleteMultipartUpload][
|
19034
|
+
# * [CompleteMultipartUpload][16]
|
18027
19035
|
#
|
18028
|
-
# * [AbortMultipartUpload][
|
19036
|
+
# * [AbortMultipartUpload][17]
|
18029
19037
|
#
|
18030
|
-
# * [ListParts][
|
19038
|
+
# * [ListParts][18]
|
18031
19039
|
#
|
18032
|
-
# * [ListMultipartUploads][
|
19040
|
+
# * [ListMultipartUploads][19]
|
18033
19041
|
#
|
18034
19042
|
#
|
18035
19043
|
#
|
@@ -18039,15 +19047,19 @@ module Aws::S3
|
|
18039
19047
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html
|
18040
19048
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
18041
19049
|
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
|
18042
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/
|
18043
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/
|
18044
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
18045
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/
|
18046
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/
|
18047
|
-
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
18048
|
-
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/
|
18049
|
-
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
18050
|
-
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
19050
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
|
19051
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
|
19052
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
|
19053
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
|
19054
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
|
19055
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
19056
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
19057
|
+
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
19058
|
+
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
|
19059
|
+
# [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
|
19060
|
+
# [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
|
19061
|
+
# [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
|
19062
|
+
# [19]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
|
18051
19063
|
#
|
18052
19064
|
# @option params [required, String] :bucket
|
18053
19065
|
# The bucket name.
|
@@ -18333,45 +19345,45 @@ module Aws::S3
|
|
18333
19345
|
# * {Types::UploadPartCopyOutput#request_charged #request_charged} => String
|
18334
19346
|
#
|
18335
19347
|
#
|
18336
|
-
# @example Example: To upload a part by copying
|
19348
|
+
# @example Example: To upload a part by copying byte range from an existing object as data source
|
18337
19349
|
#
|
18338
|
-
# # The following example uploads a part of a multipart upload by copying
|
19350
|
+
# # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
|
19351
|
+
# # data source.
|
18339
19352
|
#
|
18340
19353
|
# resp = client.upload_part_copy({
|
18341
19354
|
# bucket: "examplebucket",
|
18342
19355
|
# copy_source: "/bucketname/sourceobjectkey",
|
19356
|
+
# copy_source_range: "bytes=1-100000",
|
18343
19357
|
# key: "examplelargeobject",
|
18344
|
-
# part_number:
|
19358
|
+
# part_number: 2,
|
18345
19359
|
# upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
|
18346
19360
|
# })
|
18347
19361
|
#
|
18348
19362
|
# resp.to_h outputs the following:
|
18349
19363
|
# {
|
18350
19364
|
# copy_part_result: {
|
18351
|
-
# etag: "\"
|
18352
|
-
# last_modified: Time.parse("2016-12-29T21:
|
19365
|
+
# etag: "\"65d16d19e65a7508a51f043180edcc36\"",
|
19366
|
+
# last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
|
18353
19367
|
# },
|
18354
19368
|
# }
|
18355
19369
|
#
|
18356
|
-
# @example Example: To upload a part by copying
|
19370
|
+
# @example Example: To upload a part by copying data from an existing object as data source
|
18357
19371
|
#
|
18358
|
-
# # The following example uploads a part of a multipart upload by copying
|
18359
|
-
# # data source.
|
19372
|
+
# # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
|
18360
19373
|
#
|
18361
19374
|
# resp = client.upload_part_copy({
|
18362
19375
|
# bucket: "examplebucket",
|
18363
19376
|
# copy_source: "/bucketname/sourceobjectkey",
|
18364
|
-
# copy_source_range: "bytes=1-100000",
|
18365
19377
|
# key: "examplelargeobject",
|
18366
|
-
# part_number:
|
19378
|
+
# part_number: 1,
|
18367
19379
|
# upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
|
18368
19380
|
# })
|
18369
19381
|
#
|
18370
19382
|
# resp.to_h outputs the following:
|
18371
19383
|
# {
|
18372
19384
|
# copy_part_result: {
|
18373
|
-
# etag: "\"
|
18374
|
-
# last_modified: Time.parse("2016-12-29T21:
|
19385
|
+
# etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
|
19386
|
+
# last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
|
18375
19387
|
# },
|
18376
19388
|
# }
|
18377
19389
|
#
|
@@ -18570,7 +19582,7 @@ module Aws::S3
|
|
18570
19582
|
# @option params [String] :checksum_crc32
|
18571
19583
|
# This header can be used as a data integrity check to verify that the
|
18572
19584
|
# data received is the same data that was originally sent. This
|
18573
|
-
# specifies the base64-encoded, 32-bit
|
19585
|
+
# specifies the base64-encoded, 32-bit CRC-32 checksum of the object
|
18574
19586
|
# returned by the Object Lambda function. This may not match the
|
18575
19587
|
# checksum for the object stored in Amazon S3. Amazon S3 will perform
|
18576
19588
|
# validation of the checksum values only when the original `GetObject`
|
@@ -18590,7 +19602,7 @@ module Aws::S3
|
|
18590
19602
|
# @option params [String] :checksum_crc32c
|
18591
19603
|
# This header can be used as a data integrity check to verify that the
|
18592
19604
|
# data received is the same data that was originally sent. This
|
18593
|
-
# specifies the base64-encoded, 32-bit
|
19605
|
+
# specifies the base64-encoded, 32-bit CRC-32C checksum of the object
|
18594
19606
|
# returned by the Object Lambda function. This may not match the
|
18595
19607
|
# checksum for the object stored in Amazon S3. Amazon S3 will perform
|
18596
19608
|
# validation of the checksum values only when the original `GetObject`
|
@@ -18821,14 +19833,19 @@ module Aws::S3
|
|
18821
19833
|
# @api private
|
18822
19834
|
def build_request(operation_name, params = {})
|
18823
19835
|
handlers = @handlers.for(operation_name)
|
19836
|
+
tracer = config.telemetry_provider.tracer_provider.tracer(
|
19837
|
+
Aws::Telemetry.module_to_tracer_name('Aws::S3')
|
19838
|
+
)
|
18824
19839
|
context = Seahorse::Client::RequestContext.new(
|
18825
19840
|
operation_name: operation_name,
|
18826
19841
|
operation: config.api.operation(operation_name),
|
18827
19842
|
client: self,
|
18828
19843
|
params: params,
|
18829
|
-
config: config
|
19844
|
+
config: config,
|
19845
|
+
tracer: tracer
|
19846
|
+
)
|
18830
19847
|
context[:gem_name] = 'aws-sdk-s3'
|
18831
|
-
context[:gem_version] = '1.
|
19848
|
+
context[:gem_version] = '1.169.0'
|
18832
19849
|
Seahorse::Client::Request.new(handlers, context)
|
18833
19850
|
end
|
18834
19851
|
|