aws-sdk-s3 1.150.0 → 1.169.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +110 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +12 -3
- data/lib/aws-sdk-s3/bucket.rb +252 -88
- data/lib/aws-sdk-s3/bucket_acl.rb +3 -3
- data/lib/aws-sdk-s3/bucket_cors.rb +4 -4
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +4 -4
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +42 -5
- data/lib/aws-sdk-s3/bucket_logging.rb +3 -3
- data/lib/aws-sdk-s3/bucket_notification.rb +3 -3
- data/lib/aws-sdk-s3/bucket_policy.rb +8 -8
- data/lib/aws-sdk-s3/bucket_request_payment.rb +3 -3
- data/lib/aws-sdk-s3/bucket_tagging.rb +4 -4
- data/lib/aws-sdk-s3/bucket_versioning.rb +5 -5
- data/lib/aws-sdk-s3/bucket_website.rb +4 -4
- data/lib/aws-sdk-s3/client.rb +1685 -668
- data/lib/aws-sdk-s3/client_api.rb +49 -4
- data/lib/aws-sdk-s3/customizations/bucket.rb +1 -1
- data/lib/aws-sdk-s3/customizations/object.rb +11 -5
- data/lib/aws-sdk-s3/customizations/object_summary.rb +5 -0
- data/lib/aws-sdk-s3/customizations/object_version.rb +13 -0
- data/lib/aws-sdk-s3/customizations.rb +24 -38
- data/lib/aws-sdk-s3/encryption/client.rb +2 -2
- data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +2 -2
- data/lib/aws-sdk-s3/encryptionV2/client.rb +2 -2
- data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +2 -2
- data/lib/aws-sdk-s3/endpoint_parameters.rb +21 -18
- data/lib/aws-sdk-s3/endpoint_provider.rb +1 -0
- data/lib/aws-sdk-s3/endpoints.rb +416 -1614
- data/lib/aws-sdk-s3/errors.rb +3 -0
- data/lib/aws-sdk-s3/file_downloader.rb +1 -1
- data/lib/aws-sdk-s3/file_uploader.rb +1 -1
- data/lib/aws-sdk-s3/multipart_stream_uploader.rb +1 -1
- data/lib/aws-sdk-s3/multipart_upload.rb +31 -8
- data/lib/aws-sdk-s3/multipart_upload_part.rb +11 -11
- data/lib/aws-sdk-s3/object.rb +441 -158
- data/lib/aws-sdk-s3/object_acl.rb +3 -3
- data/lib/aws-sdk-s3/object_copier.rb +1 -1
- data/lib/aws-sdk-s3/object_summary.rb +403 -134
- data/lib/aws-sdk-s3/object_version.rb +53 -13
- data/lib/aws-sdk-s3/plugins/access_grants.rb +75 -5
- data/lib/aws-sdk-s3/plugins/endpoints.rb +24 -212
- data/lib/aws-sdk-s3/plugins/express_session_auth.rb +7 -1
- data/lib/aws-sdk-s3/plugins/http_200_errors.rb +53 -16
- data/lib/aws-sdk-s3/resource.rb +37 -11
- data/lib/aws-sdk-s3/types.rb +1106 -401
- data/lib/aws-sdk-s3.rb +35 -31
- data/sig/bucket.rbs +4 -0
- data/sig/bucket_lifecycle_configuration.rbs +7 -3
- data/sig/client.rbs +49 -5
- data/sig/multipart_upload.rbs +1 -0
- data/sig/object.rbs +7 -0
- data/sig/object_summary.rbs +1 -0
- data/sig/object_version.rbs +6 -0
- data/sig/resource.rbs +7 -1
- data/sig/types.rbs +36 -2
- data/sig/waiters.rbs +12 -0
- metadata +7 -6
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
|
|