aws-sdk-s3 1.147.0 → 1.167.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +123 -2
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/access_grants_credentials.rb +57 -0
- data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +250 -0
- data/lib/aws-sdk-s3/bucket.rb +224 -81
- 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_region_cache.rb +9 -5
- 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 +1744 -695
- data/lib/aws-sdk-s3/client_api.rb +44 -4
- data/lib/aws-sdk-s3/customizations/bucket.rb +1 -1
- data/lib/aws-sdk-s3/customizations/errors.rb +15 -2
- 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 -35
- 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 +8 -0
- data/lib/aws-sdk-s3/endpoint_provider.rb +1 -0
- data/lib/aws-sdk-s3/endpoints.rb +199 -397
- data/lib/aws-sdk-s3/errors.rb +3 -0
- data/lib/aws-sdk-s3/express_credentials_provider.rb +27 -4
- 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 +411 -151
- 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_multipart_copier.rb +10 -8
- data/lib/aws-sdk-s3/object_summary.rb +373 -127
- data/lib/aws-sdk-s3/object_version.rb +53 -13
- data/lib/aws-sdk-s3/plugins/access_grants.rb +178 -0
- data/lib/aws-sdk-s3/plugins/endpoints.rb +23 -8
- data/lib/aws-sdk-s3/plugins/express_session_auth.rb +8 -2
- data/lib/aws-sdk-s3/plugins/http_200_errors.rb +53 -16
- data/lib/aws-sdk-s3/plugins/s3_signer.rb +7 -2
- data/lib/aws-sdk-s3/presigner.rb +1 -0
- data/lib/aws-sdk-s3/resource.rb +12 -10
- data/lib/aws-sdk-s3/types.rb +1082 -399
- data/lib/aws-sdk-s3.rb +35 -31
- data/sig/bucket.rbs +1 -0
- data/sig/bucket_lifecycle_configuration.rbs +7 -3
- data/sig/client.rbs +48 -5
- data/sig/customizations/bucket.rbs +19 -0
- data/sig/customizations/object.rbs +38 -0
- data/sig/customizations/object_summary.rbs +35 -0
- 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 +32 -2
- data/sig/waiters.rbs +12 -0
- metadata +13 -7
- data/lib/aws-sdk-s3/express_credentials_cache.rb +0 -30
data/lib/aws-sdk-s3/client.rb
CHANGED
@@ -22,6 +22,7 @@ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
|
|
22
22
|
require 'aws-sdk-core/plugins/response_paging.rb'
|
23
23
|
require 'aws-sdk-core/plugins/stub_responses.rb'
|
24
24
|
require 'aws-sdk-core/plugins/idempotency_token.rb'
|
25
|
+
require 'aws-sdk-core/plugins/invocation_id.rb'
|
25
26
|
require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
|
26
27
|
require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
|
27
28
|
require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
|
@@ -31,9 +32,11 @@ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
|
|
31
32
|
require 'aws-sdk-core/plugins/request_compression.rb'
|
32
33
|
require 'aws-sdk-core/plugins/defaults_mode.rb'
|
33
34
|
require 'aws-sdk-core/plugins/recursion_detection.rb'
|
35
|
+
require 'aws-sdk-core/plugins/telemetry.rb'
|
34
36
|
require 'aws-sdk-core/plugins/sign.rb'
|
35
37
|
require 'aws-sdk-core/plugins/protocols/rest_xml.rb'
|
36
38
|
require 'aws-sdk-s3/plugins/accelerate.rb'
|
39
|
+
require 'aws-sdk-s3/plugins/access_grants.rb'
|
37
40
|
require 'aws-sdk-s3/plugins/arn.rb'
|
38
41
|
require 'aws-sdk-s3/plugins/bucket_dns.rb'
|
39
42
|
require 'aws-sdk-s3/plugins/bucket_name_restrictions.rb'
|
@@ -54,8 +57,6 @@ require 'aws-sdk-s3/plugins/streaming_retry.rb'
|
|
54
57
|
require 'aws-sdk-s3/plugins/url_encoded_keys.rb'
|
55
58
|
require 'aws-sdk-core/plugins/event_stream_configuration.rb'
|
56
59
|
|
57
|
-
Aws::Plugins::GlobalConfiguration.add_identifier(:s3)
|
58
|
-
|
59
60
|
module Aws::S3
|
60
61
|
# An API client for S3. To construct a client, you need to configure a `:region` and `:credentials`.
|
61
62
|
#
|
@@ -92,6 +93,7 @@ module Aws::S3
|
|
92
93
|
add_plugin(Aws::Plugins::ResponsePaging)
|
93
94
|
add_plugin(Aws::Plugins::StubResponses)
|
94
95
|
add_plugin(Aws::Plugins::IdempotencyToken)
|
96
|
+
add_plugin(Aws::Plugins::InvocationId)
|
95
97
|
add_plugin(Aws::Plugins::JsonvalueConverter)
|
96
98
|
add_plugin(Aws::Plugins::ClientMetricsPlugin)
|
97
99
|
add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
|
@@ -101,9 +103,11 @@ module Aws::S3
|
|
101
103
|
add_plugin(Aws::Plugins::RequestCompression)
|
102
104
|
add_plugin(Aws::Plugins::DefaultsMode)
|
103
105
|
add_plugin(Aws::Plugins::RecursionDetection)
|
106
|
+
add_plugin(Aws::Plugins::Telemetry)
|
104
107
|
add_plugin(Aws::Plugins::Sign)
|
105
108
|
add_plugin(Aws::Plugins::Protocols::RestXml)
|
106
109
|
add_plugin(Aws::S3::Plugins::Accelerate)
|
110
|
+
add_plugin(Aws::S3::Plugins::AccessGrants)
|
107
111
|
add_plugin(Aws::S3::Plugins::ARN)
|
108
112
|
add_plugin(Aws::S3::Plugins::BucketDns)
|
109
113
|
add_plugin(Aws::S3::Plugins::BucketNameRestrictions)
|
@@ -127,6 +131,11 @@ module Aws::S3
|
|
127
131
|
|
128
132
|
# @overload initialize(options)
|
129
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
|
+
#
|
130
139
|
# @option options [required, Aws::CredentialProvider] :credentials
|
131
140
|
# Your AWS credentials. This can be an instance of any one of the
|
132
141
|
# following classes:
|
@@ -161,13 +170,15 @@ module Aws::S3
|
|
161
170
|
# locations will be searched for credentials:
|
162
171
|
#
|
163
172
|
# * `Aws.config[:credentials]`
|
164
|
-
# * The `:access_key_id`, `:secret_access_key`,
|
165
|
-
#
|
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']
|
166
177
|
# * `~/.aws/credentials`
|
167
178
|
# * `~/.aws/config`
|
168
179
|
# * EC2/ECS IMDS instance profile - When used by default, the timeouts
|
169
180
|
# are very aggressive. Construct and pass an instance of
|
170
|
-
# `Aws::
|
181
|
+
# `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
|
171
182
|
# enable retries and extended timeouts. Instance profile credential
|
172
183
|
# fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
|
173
184
|
# to true.
|
@@ -184,8 +195,20 @@ module Aws::S3
|
|
184
195
|
# * `~/.aws/credentials`
|
185
196
|
# * `~/.aws/config`
|
186
197
|
#
|
198
|
+
# @option options [Boolean] :access_grants (false)
|
199
|
+
# When `true`, the S3 client will use the S3 Access Grants feature to
|
200
|
+
# authenticate requests. Bucket credentials will be fetched from S3
|
201
|
+
# Control using the `get_data_access` API.
|
202
|
+
#
|
203
|
+
# @option options [Aws::S3::AccessGrantsCredentialsProvider] :access_grants_credentials_provider
|
204
|
+
# When `access_grants` is `true`, this option can be used to provide
|
205
|
+
# additional options to the credentials provider, including a privilege
|
206
|
+
# setting, caching, and fallback behavior.
|
207
|
+
#
|
187
208
|
# @option options [String] :access_key_id
|
188
209
|
#
|
210
|
+
# @option options [String] :account_id
|
211
|
+
#
|
189
212
|
# @option options [Boolean] :active_endpoint_cache (false)
|
190
213
|
# When set to `true`, a thread polling for endpoints will be running in
|
191
214
|
# the background every 60 secs (default). Defaults to `false`.
|
@@ -246,10 +269,16 @@ module Aws::S3
|
|
246
269
|
# @option options [Boolean] :disable_s3_express_session_auth
|
247
270
|
# Parameter to indicate whether S3Express session auth should be disabled
|
248
271
|
#
|
249
|
-
# @option options [String] :endpoint
|
250
|
-
#
|
251
|
-
#
|
252
|
-
#
|
272
|
+
# @option options [String, URI::HTTPS, URI::HTTP] :endpoint
|
273
|
+
# Normally you should not configure the `:endpoint` option
|
274
|
+
# directly. This is normally constructed from the `:region`
|
275
|
+
# option. Configuring `:endpoint` is normally reserved for
|
276
|
+
# connecting to test or custom endpoints. The endpoint should
|
277
|
+
# be a URI formatted like:
|
278
|
+
#
|
279
|
+
# 'http://example.com'
|
280
|
+
# 'https://example.com'
|
281
|
+
# 'http://example.com:123'
|
253
282
|
#
|
254
283
|
# @option options [Integer] :endpoint_cache_max_entries (1000)
|
255
284
|
# Used for the maximum size limit of the LRU cache storing endpoints data
|
@@ -365,7 +394,6 @@ module Aws::S3
|
|
365
394
|
# throttling. This is a provisional mode that may change behavior
|
366
395
|
# in the future.
|
367
396
|
#
|
368
|
-
#
|
369
397
|
# @option options [Boolean] :s3_disable_multiregion_access_points (false)
|
370
398
|
# When set to `false` this will option will raise errors when multi-region
|
371
399
|
# access point ARNs are used. Multi-region access points can potentially
|
@@ -382,13 +410,23 @@ module Aws::S3
|
|
382
410
|
#
|
383
411
|
# @option options [String] :sdk_ua_app_id
|
384
412
|
# A unique and opaque application ID that is appended to the
|
385
|
-
# User-Agent header as app
|
386
|
-
# maximum length of 50.
|
413
|
+
# User-Agent header as app/sdk_ua_app_id. It should have a
|
414
|
+
# maximum length of 50. This variable is sourced from environment
|
415
|
+
# variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
|
387
416
|
#
|
388
417
|
# @option options [String] :secret_access_key
|
389
418
|
#
|
390
419
|
# @option options [String] :session_token
|
391
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
|
+
#
|
392
430
|
# @option options [Boolean] :stub_responses (false)
|
393
431
|
# Causes the client to return stubbed responses. By default
|
394
432
|
# fake responses are generated and returned. You can specify
|
@@ -398,6 +436,16 @@ module Aws::S3
|
|
398
436
|
# ** Please note ** When response stubbing is enabled, no HTTP
|
399
437
|
# requests are made, and retries are disabled.
|
400
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
|
+
#
|
401
449
|
# @option options [Aws::TokenProvider] :token_provider
|
402
450
|
# A Bearer Token Provider. This can be an instance of any one of the
|
403
451
|
# following classes:
|
@@ -430,52 +478,75 @@ module Aws::S3
|
|
430
478
|
# sending the request.
|
431
479
|
#
|
432
480
|
# @option options [Aws::S3::EndpointProvider] :endpoint_provider
|
433
|
-
# The endpoint provider used to resolve endpoints. Any object that responds to
|
434
|
-
#
|
435
|
-
#
|
436
|
-
#
|
437
|
-
#
|
438
|
-
#
|
439
|
-
#
|
440
|
-
# `
|
441
|
-
#
|
442
|
-
#
|
443
|
-
#
|
444
|
-
#
|
445
|
-
#
|
446
|
-
#
|
447
|
-
#
|
448
|
-
#
|
449
|
-
#
|
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`.
|
484
|
+
#
|
485
|
+
# @option options [Float] :http_continue_timeout (1)
|
486
|
+
# The number of seconds to wait for a 100-continue response before sending the
|
487
|
+
# request body. This option has no effect unless the request has "Expect"
|
488
|
+
# header set to "100-continue". Defaults to `nil` which disables this
|
489
|
+
# behaviour. This value can safely be set per request on the session.
|
490
|
+
#
|
491
|
+
# @option options [Float] :http_idle_timeout (5)
|
492
|
+
# The number of seconds a connection is allowed to sit idle before it
|
493
|
+
# is considered stale. Stale connections are closed and removed from the
|
494
|
+
# pool before making a request.
|
495
|
+
#
|
496
|
+
# @option options [Float] :http_open_timeout (15)
|
497
|
+
# The default number of seconds to wait for response data.
|
498
|
+
# This value can safely be set per-request on the session.
|
499
|
+
#
|
500
|
+
# @option options [URI::HTTP,String] :http_proxy
|
501
|
+
# A proxy to send requests through. Formatted like 'http://proxy.com:123'.
|
502
|
+
#
|
503
|
+
# @option options [Float] :http_read_timeout (60)
|
504
|
+
# The default number of seconds to wait for response data.
|
505
|
+
# This value can safely be set per-request on the session.
|
506
|
+
#
|
507
|
+
# @option options [Boolean] :http_wire_trace (false)
|
508
|
+
# When `true`, HTTP debug output will be sent to the `:logger`.
|
509
|
+
#
|
510
|
+
# @option options [Proc] :on_chunk_received
|
511
|
+
# When a Proc object is provided, it will be used as callback when each chunk
|
512
|
+
# of the response body is received. It provides three arguments: the chunk,
|
513
|
+
# the number of bytes received, and the total number of
|
514
|
+
# bytes in the response (or nil if the server did not send a `content-length`).
|
515
|
+
#
|
516
|
+
# @option options [Proc] :on_chunk_sent
|
517
|
+
# When a Proc object is provided, it will be used as callback when each chunk
|
518
|
+
# of the request body is sent. It provides three arguments: the chunk,
|
519
|
+
# the number of bytes read from the body, and the total number of
|
520
|
+
# bytes in the body.
|
521
|
+
#
|
522
|
+
# @option options [Boolean] :raise_response_errors (true)
|
523
|
+
# When `true`, response errors are raised.
|
524
|
+
#
|
525
|
+
# @option options [String] :ssl_ca_bundle
|
526
|
+
# Full path to the SSL certificate authority bundle file that should be used when
|
527
|
+
# verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
|
528
|
+
# `:ssl_ca_directory` the the system default will be used if available.
|
529
|
+
#
|
530
|
+
# @option options [String] :ssl_ca_directory
|
531
|
+
# Full path of the directory that contains the unbundled SSL certificate
|
532
|
+
# authority files for verifying peer certificates. If you do
|
533
|
+
# not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
|
534
|
+
# default will be used if available.
|
450
535
|
#
|
451
|
-
# @option options [
|
452
|
-
#
|
453
|
-
# request body. This option has no effect unless the request has
|
454
|
-
# "Expect" header set to "100-continue". Defaults to `nil` which
|
455
|
-
# disables this behaviour. This value can safely be set per
|
456
|
-
# request on the session.
|
536
|
+
# @option options [String] :ssl_ca_store
|
537
|
+
# Sets the X509::Store to verify peer certificate.
|
457
538
|
#
|
458
|
-
# @option options [
|
459
|
-
#
|
539
|
+
# @option options [OpenSSL::X509::Certificate] :ssl_cert
|
540
|
+
# Sets a client certificate when creating http connections.
|
460
541
|
#
|
461
|
-
# @option options [
|
462
|
-
#
|
542
|
+
# @option options [OpenSSL::PKey] :ssl_key
|
543
|
+
# Sets a client key when creating http connections.
|
463
544
|
#
|
464
|
-
# @option options [
|
465
|
-
#
|
466
|
-
# connection.
|
545
|
+
# @option options [Float] :ssl_timeout
|
546
|
+
# Sets the SSL timeout in seconds
|
467
547
|
#
|
468
|
-
# @option options [
|
469
|
-
#
|
470
|
-
# verifying peer certificates. If you do not pass
|
471
|
-
# `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
|
472
|
-
# will be used if available.
|
473
|
-
#
|
474
|
-
# @option options [String] :ssl_ca_directory Full path of the
|
475
|
-
# directory that contains the unbundled SSL certificate
|
476
|
-
# authority files for verifying peer certificates. If you do
|
477
|
-
# not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
|
478
|
-
# system default will be used if available.
|
548
|
+
# @option options [Boolean] :ssl_verify_peer (true)
|
549
|
+
# When `true`, SSL peer certificates are verified when establishing a connection.
|
479
550
|
#
|
480
551
|
def initialize(*args)
|
481
552
|
super
|
@@ -495,12 +566,20 @@ module Aws::S3
|
|
495
566
|
# for the part storage, you should call the [ListParts][1] API operation
|
496
567
|
# and ensure that the parts list is empty.
|
497
568
|
#
|
498
|
-
# <note markdown="1"> **Directory buckets** -
|
499
|
-
#
|
500
|
-
#
|
501
|
-
#
|
502
|
-
#
|
503
|
-
#
|
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*.
|
504
583
|
#
|
505
584
|
# </note>
|
506
585
|
#
|
@@ -725,9 +804,15 @@ module Aws::S3
|
|
725
804
|
# [Multipart Upload and Permissions][6] in the *Amazon S3 User
|
726
805
|
# Guide*.
|
727
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
|
+
#
|
728
813
|
# * **Directory bucket permissions** - To grant access to this API
|
729
814
|
# operation on a directory bucket, we recommend that you use the [
|
730
|
-
# `CreateSession` ][
|
815
|
+
# `CreateSession` ][8] API operation for session-based
|
731
816
|
# authorization. Specifically, you grant the
|
732
817
|
# `s3express:CreateSession` permission to the directory bucket in a
|
733
818
|
# bucket policy or an IAM identity-based policy. Then, you make the
|
@@ -738,7 +823,11 @@ module Aws::S3
|
|
738
823
|
# token for use. Amazon Web Services CLI or SDKs create session and
|
739
824
|
# refresh the session token automatically to avoid service
|
740
825
|
# interruptions when a session expires. For more information about
|
741
|
-
# 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.
|
742
831
|
#
|
743
832
|
# Special errors
|
744
833
|
# : * Error Code: `EntityTooSmall`
|
@@ -779,15 +868,15 @@ module Aws::S3
|
|
779
868
|
#
|
780
869
|
# The following operations are related to `CompleteMultipartUpload`:
|
781
870
|
#
|
782
|
-
# * [CreateMultipartUpload][
|
871
|
+
# * [CreateMultipartUpload][9]
|
783
872
|
#
|
784
873
|
# * [UploadPart][1]
|
785
874
|
#
|
786
|
-
# * [AbortMultipartUpload][
|
875
|
+
# * [AbortMultipartUpload][10]
|
787
876
|
#
|
788
|
-
# * [ListParts][
|
877
|
+
# * [ListParts][11]
|
789
878
|
#
|
790
|
-
# * [ListMultipartUploads][
|
879
|
+
# * [ListMultipartUploads][12]
|
791
880
|
#
|
792
881
|
#
|
793
882
|
#
|
@@ -797,11 +886,12 @@ module Aws::S3
|
|
797
886
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
|
798
887
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
799
888
|
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
|
800
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
801
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
802
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
803
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
804
|
-
# [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
|
805
895
|
#
|
806
896
|
# @option params [required, String] :bucket
|
807
897
|
# Name of the bucket to which the multipart upload was initiated.
|
@@ -859,9 +949,9 @@ module Aws::S3
|
|
859
949
|
# @option params [String] :checksum_crc32
|
860
950
|
# This header can be used as a data integrity check to verify that the
|
861
951
|
# data received is the same data that was originally sent. This header
|
862
|
-
# specifies the base64-encoded, 32-bit
|
863
|
-
# more information, see [Checking object integrity][1] in the
|
864
|
-
# 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*.
|
865
955
|
#
|
866
956
|
#
|
867
957
|
#
|
@@ -870,7 +960,7 @@ module Aws::S3
|
|
870
960
|
# @option params [String] :checksum_crc32c
|
871
961
|
# This header can be used as a data integrity check to verify that the
|
872
962
|
# data received is the same data that was originally sent. This header
|
873
|
-
# specifies the base64-encoded, 32-bit
|
963
|
+
# specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
|
874
964
|
# For more information, see [Checking object integrity][1] in the
|
875
965
|
# *Amazon S3 User Guide*.
|
876
966
|
#
|
@@ -922,6 +1012,26 @@ module Aws::S3
|
|
922
1012
|
# you provide does not match the actual owner of the bucket, the request
|
923
1013
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
924
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
|
+
#
|
925
1035
|
# @option params [String] :sse_customer_algorithm
|
926
1036
|
# The server-side encryption (SSE) algorithm used to encrypt the object.
|
927
1037
|
# This parameter is required only when the object was created using a
|
@@ -1037,6 +1147,7 @@ module Aws::S3
|
|
1037
1147
|
# checksum_sha256: "ChecksumSHA256",
|
1038
1148
|
# request_payer: "requester", # accepts requester
|
1039
1149
|
# expected_bucket_owner: "AccountId",
|
1150
|
+
# if_none_match: "IfNoneMatch",
|
1040
1151
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
1041
1152
|
# sse_customer_key: "SSECustomerKey",
|
1042
1153
|
# sse_customer_key_md5: "SSECustomerKeyMD5",
|
@@ -1083,12 +1194,20 @@ module Aws::S3
|
|
1083
1194
|
# between directory buckets, and between general purpose buckets and
|
1084
1195
|
# directory buckets.
|
1085
1196
|
#
|
1086
|
-
# <note markdown="1">
|
1087
|
-
#
|
1088
|
-
#
|
1089
|
-
#
|
1090
|
-
#
|
1091
|
-
#
|
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.
|
1092
1211
|
#
|
1093
1212
|
# </note>
|
1094
1213
|
#
|
@@ -1154,6 +1273,10 @@ module Aws::S3
|
|
1154
1273
|
# destination. The `s3express:SessionMode` condition key can't be
|
1155
1274
|
# set to `ReadOnly` on the copy destination bucket.
|
1156
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
|
+
#
|
1157
1280
|
# For example policies, see [Example bucket policies for S3 Express
|
1158
1281
|
# One Zone][6] and [Amazon Web Services Identity and Access
|
1159
1282
|
# Management (IAM) identity-based policies for S3 Express One
|
@@ -1164,8 +1287,7 @@ module Aws::S3
|
|
1164
1287
|
# : When the request is an HTTP 1.1 request, the response is chunk
|
1165
1288
|
# encoded. When the request is not an HTTP 1.1 request, the response
|
1166
1289
|
# would not contain the `Content-Length`. You always need to read the
|
1167
|
-
# entire response body to check if the copy succeeds.
|
1168
|
-
# connection alive while we copy the data.
|
1290
|
+
# entire response body to check if the copy succeeds.
|
1169
1291
|
#
|
1170
1292
|
# * If the copy is successful, you receive a response with information
|
1171
1293
|
# about the copied object.
|
@@ -1601,9 +1723,8 @@ module Aws::S3
|
|
1601
1723
|
#
|
1602
1724
|
# @option params [String] :server_side_encryption
|
1603
1725
|
# The server-side encryption algorithm used when storing this object in
|
1604
|
-
# Amazon S3
|
1605
|
-
#
|
1606
|
-
# 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.
|
1607
1728
|
#
|
1608
1729
|
# Amazon S3 automatically encrypts all new objects that are copied to an
|
1609
1730
|
# S3 bucket. When copying an object, if you don't specify encryption
|
@@ -1611,35 +1732,72 @@ module Aws::S3
|
|
1611
1732
|
# object is set to the default encryption configuration of the
|
1612
1733
|
# destination bucket. By default, all buckets have a base level of
|
1613
1734
|
# encryption configuration that uses server-side encryption with Amazon
|
1614
|
-
# S3 managed keys (SSE-S3). If the destination bucket has a
|
1615
|
-
# encryption configuration
|
1616
|
-
#
|
1617
|
-
# encryption with Amazon Web Services KMS keys (DSSE-KMS), or
|
1618
|
-
# server-side encryption with customer-provided encryption keys (SSE-C),
|
1619
|
-
# Amazon S3 uses the corresponding KMS key, or a customer-provided key
|
1620
|
-
# to encrypt the target object copy.
|
1621
|
-
#
|
1622
|
-
# When you perform a `CopyObject` operation, if you want to use a
|
1623
|
-
# different type of encryption setting for the target object, you can
|
1624
|
-
# specify appropriate encryption-related headers to encrypt the target
|
1625
|
-
# object with an Amazon S3 managed key, a KMS key, or a
|
1626
|
-
# customer-provided key. If the encryption setting in your request is
|
1627
|
-
# different from the default encryption configuration of the destination
|
1628
|
-
# 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.
|
1629
1738
|
#
|
1630
1739
|
# With server-side encryption, Amazon S3 encrypts your data as it writes
|
1631
1740
|
# your data to disks in its data centers and decrypts the data when you
|
1632
1741
|
# access it. For more information about server-side encryption, see
|
1633
1742
|
# [Using Server-Side Encryption][1] in the *Amazon S3 User Guide*.
|
1634
1743
|
#
|
1635
|
-
# <
|
1636
|
-
#
|
1637
|
-
#
|
1638
|
-
#
|
1744
|
+
# <b>General purpose buckets </b>
|
1745
|
+
#
|
1746
|
+
# * For general purpose buckets, there are the following supported
|
1747
|
+
# options for server-side encryption: server-side encryption with Key
|
1748
|
+
# Management Service (KMS) keys (SSE-KMS), dual-layer server-side
|
1749
|
+
# encryption with Amazon Web Services KMS keys (DSSE-KMS), and
|
1750
|
+
# server-side encryption with customer-provided encryption keys
|
1751
|
+
# (SSE-C). Amazon S3 uses the corresponding KMS key, or a
|
1752
|
+
# customer-provided key to encrypt the target object copy.
|
1753
|
+
#
|
1754
|
+
# * When you perform a `CopyObject` operation, if you want to use a
|
1755
|
+
# different type of encryption setting for the target object, you can
|
1756
|
+
# specify appropriate encryption-related headers to encrypt the target
|
1757
|
+
# object with an Amazon S3 managed key, a KMS key, or a
|
1758
|
+
# customer-provided key. If the encryption setting in your request is
|
1759
|
+
# different from the default encryption configuration of the
|
1760
|
+
# destination bucket, the encryption setting in your request takes
|
1761
|
+
# precedence.
|
1762
|
+
#
|
1763
|
+
# <b>Directory buckets </b>
|
1764
|
+
#
|
1765
|
+
# * For directory buckets, there are only two supported options for
|
1766
|
+
# server-side encryption: server-side encryption with Amazon S3
|
1767
|
+
# managed keys (SSE-S3) (`AES256`) and server-side encryption with KMS
|
1768
|
+
# keys (SSE-KMS) (`aws:kms`). We recommend that the bucket's default
|
1769
|
+
# encryption uses the desired encryption configuration and you don't
|
1770
|
+
# override the bucket default encryption in your `CreateSession`
|
1771
|
+
# requests or `PUT` object requests. Then, new objects are
|
1772
|
+
# automatically encrypted with the desired encryption settings. For
|
1773
|
+
# more information, see [Protecting data with server-side
|
1774
|
+
# encryption][2] in the *Amazon S3 User Guide*. For more information
|
1775
|
+
# about the encryption overriding behaviors in directory buckets, see
|
1776
|
+
# [Specifying server-side encryption with KMS for new object
|
1777
|
+
# uploads][3].
|
1778
|
+
#
|
1779
|
+
# * To encrypt new object copies to a directory bucket with SSE-KMS, we
|
1780
|
+
# recommend you specify SSE-KMS as the directory bucket's default
|
1781
|
+
# encryption configuration with a KMS key (specifically, a [customer
|
1782
|
+
# managed key][4]). [Amazon Web Services managed key][5] (`aws/s3`)
|
1783
|
+
# isn't supported. Your SSE-KMS configuration can only support 1
|
1784
|
+
# [customer managed key][4] per directory bucket for the lifetime of
|
1785
|
+
# the bucket. After you specify a customer managed key for SSE-KMS,
|
1786
|
+
# you can't override the customer managed key for the bucket's
|
1787
|
+
# SSE-KMS configuration. Then, when you perform a `CopyObject`
|
1788
|
+
# operation and want to specify server-side encryption settings for
|
1789
|
+
# new object copies with SSE-KMS in the encryption-related request
|
1790
|
+
# headers, you must ensure the encryption key is the same customer
|
1791
|
+
# managed key that you specified for the directory bucket's default
|
1792
|
+
# encryption configuration.
|
1639
1793
|
#
|
1640
1794
|
#
|
1641
1795
|
#
|
1642
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
|
1643
1801
|
#
|
1644
1802
|
# @option params [String] :storage_class
|
1645
1803
|
# If the `x-amz-storage-class` header is not used, the copied object
|
@@ -1736,33 +1894,51 @@ module Aws::S3
|
|
1736
1894
|
# </note>
|
1737
1895
|
#
|
1738
1896
|
# @option params [String] :ssekms_key_id
|
1739
|
-
# Specifies the KMS ID (Key ID, Key ARN, or Key Alias) to use for
|
1740
|
-
# encryption. All GET and PUT requests for an object protected by
|
1741
|
-
# will fail if they're not made via SSL or using SigV4. For
|
1742
|
-
# about configuring any of the officially supported Amazon
|
1743
|
-
# SDKs and Amazon Web Services CLI, see [Specifying the
|
1744
|
-
# Version in Request Authentication][1] in the *Amazon S3 User
|
1745
|
-
#
|
1746
|
-
# <note markdown="1"> This functionality is not supported when the destination bucket is a
|
1747
|
-
# 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*.
|
1748
1904
|
#
|
1749
|
-
#
|
1905
|
+
# **Directory buckets** - If you specify `x-amz-server-side-encryption`
|
1906
|
+
# with `aws:kms`, you must specify the `
|
1907
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header with the ID (Key
|
1908
|
+
# ID or Key ARN) of the KMS symmetric encryption customer managed key to
|
1909
|
+
# use. Otherwise, you get an HTTP `400 Bad Request` error. Only use the
|
1910
|
+
# key ID or key ARN. The key alias format of the KMS key isn't
|
1911
|
+
# supported. Your SSE-KMS configuration can only support 1 [customer
|
1912
|
+
# managed key][2] per directory bucket for the lifetime of the bucket.
|
1913
|
+
# [Amazon Web Services managed key][3] (`aws/s3`) isn't supported.
|
1750
1914
|
#
|
1751
1915
|
#
|
1752
1916
|
#
|
1753
1917
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
|
1918
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
1919
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
1754
1920
|
#
|
1755
1921
|
# @option params [String] :ssekms_encryption_context
|
1756
|
-
# Specifies the Amazon Web Services KMS Encryption Context
|
1757
|
-
#
|
1758
|
-
#
|
1759
|
-
#
|
1760
|
-
# `CopyObject` requests.
|
1922
|
+
# Specifies the Amazon Web Services KMS Encryption Context as an
|
1923
|
+
# additional encryption context to use for the destination object
|
1924
|
+
# encryption. The value of this header is a base64-encoded UTF-8 string
|
1925
|
+
# holding JSON with the encryption context key-value pairs.
|
1761
1926
|
#
|
1762
|
-
#
|
1763
|
-
#
|
1927
|
+
# **General purpose buckets** - This value must be explicitly added to
|
1928
|
+
# specify encryption context for `CopyObject` requests if you want an
|
1929
|
+
# additional encryption context for your destination object. The
|
1930
|
+
# additional encryption context of the source object won't be copied to
|
1931
|
+
# the destination object. For more information, see [Encryption
|
1932
|
+
# context][1] in the *Amazon S3 User Guide*.
|
1764
1933
|
#
|
1765
|
-
#
|
1934
|
+
# **Directory buckets** - You can optionally provide an explicit
|
1935
|
+
# encryption context value. The value must match the default encryption
|
1936
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
1937
|
+
# encryption context value is not supported.
|
1938
|
+
#
|
1939
|
+
#
|
1940
|
+
#
|
1941
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context
|
1766
1942
|
#
|
1767
1943
|
# @option params [Boolean] :bucket_key_enabled
|
1768
1944
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
@@ -1777,14 +1953,19 @@ module Aws::S3
|
|
1777
1953
|
# For more information, see [Amazon S3 Bucket Keys][1] in the *Amazon S3
|
1778
1954
|
# User Guide*.
|
1779
1955
|
#
|
1780
|
-
# <note markdown="1">
|
1781
|
-
#
|
1956
|
+
# <note markdown="1"> **Directory buckets** - S3 Bucket Keys aren't supported, when you
|
1957
|
+
# copy SSE-KMS encrypted objects from general purpose buckets to
|
1958
|
+
# directory buckets, from directory buckets to general purpose buckets,
|
1959
|
+
# or between directory buckets, through [CopyObject][2]. In this case,
|
1960
|
+
# Amazon S3 makes a call to KMS every time a copy request is made for a
|
1961
|
+
# KMS-encrypted object.
|
1782
1962
|
#
|
1783
1963
|
# </note>
|
1784
1964
|
#
|
1785
1965
|
#
|
1786
1966
|
#
|
1787
1967
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
|
1968
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
1788
1969
|
#
|
1789
1970
|
# @option params [String] :copy_source_sse_customer_algorithm
|
1790
1971
|
# Specifies the algorithm to use when decrypting the source object (for
|
@@ -2291,33 +2472,33 @@ module Aws::S3
|
|
2291
2472
|
# * {Types::CreateBucketOutput#location #location} => String
|
2292
2473
|
#
|
2293
2474
|
#
|
2294
|
-
# @example Example: To create a bucket
|
2475
|
+
# @example Example: To create a bucket in a specific region
|
2295
2476
|
#
|
2296
|
-
# # The following example creates a bucket.
|
2477
|
+
# # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
|
2297
2478
|
#
|
2298
2479
|
# resp = client.create_bucket({
|
2299
2480
|
# bucket: "examplebucket",
|
2481
|
+
# create_bucket_configuration: {
|
2482
|
+
# location_constraint: "eu-west-1",
|
2483
|
+
# },
|
2300
2484
|
# })
|
2301
2485
|
#
|
2302
2486
|
# resp.to_h outputs the following:
|
2303
2487
|
# {
|
2304
|
-
# location: "/
|
2488
|
+
# location: "http://examplebucket.<Region>.s3.amazonaws.com/",
|
2305
2489
|
# }
|
2306
2490
|
#
|
2307
|
-
# @example Example: To create a bucket
|
2491
|
+
# @example Example: To create a bucket
|
2308
2492
|
#
|
2309
|
-
# # The following example creates a bucket.
|
2493
|
+
# # The following example creates a bucket.
|
2310
2494
|
#
|
2311
2495
|
# resp = client.create_bucket({
|
2312
2496
|
# bucket: "examplebucket",
|
2313
|
-
# create_bucket_configuration: {
|
2314
|
-
# location_constraint: "eu-west-1",
|
2315
|
-
# },
|
2316
2497
|
# })
|
2317
2498
|
#
|
2318
2499
|
# resp.to_h outputs the following:
|
2319
2500
|
# {
|
2320
|
-
# location: "
|
2501
|
+
# location: "/examplebucket",
|
2321
2502
|
# }
|
2322
2503
|
#
|
2323
2504
|
# @example Request syntax with placeholder values
|
@@ -2406,24 +2587,23 @@ module Aws::S3
|
|
2406
2587
|
# Version 4)][5] in the *Amazon S3 User Guide*.
|
2407
2588
|
#
|
2408
2589
|
# Permissions
|
2409
|
-
# : * **General purpose bucket permissions** -
|
2410
|
-
#
|
2411
|
-
#
|
2412
|
-
#
|
2413
|
-
#
|
2414
|
-
#
|
2415
|
-
#
|
2416
|
-
# `
|
2417
|
-
#
|
2418
|
-
#
|
2419
|
-
#
|
2420
|
-
#
|
2421
|
-
#
|
2422
|
-
# Guide*.
|
2590
|
+
# : * **General purpose bucket permissions** - To perform a multipart
|
2591
|
+
# upload with encryption using an Key Management Service (KMS) KMS
|
2592
|
+
# key, the requester must have permission to the `kms:Decrypt` and
|
2593
|
+
# `kms:GenerateDataKey` actions on the key. The requester must also
|
2594
|
+
# have permissions for the `kms:GenerateDataKey` action for the
|
2595
|
+
# `CreateMultipartUpload` API. Then, the requester needs permissions
|
2596
|
+
# for the `kms:Decrypt` action on the `UploadPart` and
|
2597
|
+
# `UploadPartCopy` APIs. These permissions are required because
|
2598
|
+
# Amazon S3 must decrypt and read data from the encrypted file parts
|
2599
|
+
# before it completes the multipart upload. For more information,
|
2600
|
+
# see [Multipart upload API and permissions][6] and [Protecting data
|
2601
|
+
# using server-side encryption with Amazon Web Services KMS][7] in
|
2602
|
+
# the *Amazon S3 User Guide*.
|
2423
2603
|
#
|
2424
2604
|
# * **Directory bucket permissions** - To grant access to this API
|
2425
2605
|
# operation on a directory bucket, we recommend that you use the [
|
2426
|
-
# `CreateSession` ][
|
2606
|
+
# `CreateSession` ][8] API operation for session-based
|
2427
2607
|
# authorization. Specifically, you grant the
|
2428
2608
|
# `s3express:CreateSession` permission to the directory bucket in a
|
2429
2609
|
# bucket policy or an IAM identity-based policy. Then, you make the
|
@@ -2434,7 +2614,7 @@ module Aws::S3
|
|
2434
2614
|
# token for use. Amazon Web Services CLI or SDKs create session and
|
2435
2615
|
# refresh the session token automatically to avoid service
|
2436
2616
|
# interruptions when a session expires. For more information about
|
2437
|
-
# authorization, see [ `CreateSession` ][
|
2617
|
+
# authorization, see [ `CreateSession` ][8].
|
2438
2618
|
#
|
2439
2619
|
# Encryption
|
2440
2620
|
# : * **General purpose buckets** - Server-side encryption is for data
|
@@ -2461,7 +2641,7 @@ module Aws::S3
|
|
2461
2641
|
# the destination bucket, the encryption setting in your request
|
2462
2642
|
# takes precedence. If you choose to provide your own encryption
|
2463
2643
|
# key, the request headers you provide in [UploadPart][1] and
|
2464
|
-
# [UploadPartCopy][
|
2644
|
+
# [UploadPartCopy][9] requests must match the headers you used in
|
2465
2645
|
# the `CreateMultipartUpload` request.
|
2466
2646
|
#
|
2467
2647
|
# * Use KMS keys (SSE-KMS) that include the Amazon Web Services
|
@@ -2487,9 +2667,9 @@ module Aws::S3
|
|
2487
2667
|
# actions on the key. These permissions are required because
|
2488
2668
|
# Amazon S3 must decrypt and read data from the encrypted file
|
2489
2669
|
# parts before it completes the multipart upload. For more
|
2490
|
-
# information, see [Multipart upload API and permissions][
|
2670
|
+
# information, see [Multipart upload API and permissions][6] and
|
2491
2671
|
# [Protecting data using server-side encryption with Amazon Web
|
2492
|
-
# Services KMS][
|
2672
|
+
# Services KMS][7] in the *Amazon S3 User Guide*.
|
2493
2673
|
#
|
2494
2674
|
# * If your Identity and Access Management (IAM) user or role is
|
2495
2675
|
# in the same Amazon Web Services account as the KMS key, then
|
@@ -2504,13 +2684,13 @@ module Aws::S3
|
|
2504
2684
|
# For information about configuring any of the officially
|
2505
2685
|
# supported Amazon Web Services SDKs and Amazon Web Services
|
2506
2686
|
# CLI, see [Specifying the Signature Version in Request
|
2507
|
-
# Authentication][
|
2687
|
+
# Authentication][10] in the *Amazon S3 User Guide*.
|
2508
2688
|
#
|
2509
2689
|
# </note>
|
2510
2690
|
#
|
2511
2691
|
# For more information about server-side encryption with KMS keys
|
2512
2692
|
# (SSE-KMS), see [Protecting Data Using Server-Side Encryption
|
2513
|
-
# with KMS keys][
|
2693
|
+
# with KMS keys][7] in the *Amazon S3 User Guide*.
|
2514
2694
|
#
|
2515
2695
|
# * Use customer-provided encryption keys (SSE-C) – If you want to
|
2516
2696
|
# manage your own encryption keys, provide all the following
|
@@ -2525,11 +2705,55 @@ module Aws::S3
|
|
2525
2705
|
# For more information about server-side encryption with
|
2526
2706
|
# customer-provided encryption keys (SSE-C), see [ Protecting data
|
2527
2707
|
# using server-side encryption with customer-provided encryption
|
2528
|
-
# keys (SSE-C)][
|
2708
|
+
# keys (SSE-C)][11] in the *Amazon S3 User Guide*.
|
2709
|
+
#
|
2710
|
+
# * **Directory buckets** - For directory buckets, there are only two
|
2711
|
+
# supported options for server-side encryption: server-side
|
2712
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
2713
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). We
|
2714
|
+
# recommend that the bucket's default encryption uses the desired
|
2715
|
+
# encryption configuration and you don't override the bucket
|
2716
|
+
# default encryption in your `CreateSession` requests or `PUT`
|
2717
|
+
# object requests. Then, new objects are automatically encrypted
|
2718
|
+
# with the desired encryption settings. For more information, see
|
2719
|
+
# [Protecting data with server-side encryption][12] in the *Amazon
|
2720
|
+
# S3 User Guide*. For more information about the encryption
|
2721
|
+
# overriding behaviors in directory buckets, see [Specifying
|
2722
|
+
# server-side encryption with KMS for new object uploads][13].
|
2723
|
+
#
|
2724
|
+
# In the Zonal endpoint API calls (except [CopyObject][14] and
|
2725
|
+
# [UploadPartCopy][9]) using the REST API, the encryption request
|
2726
|
+
# headers must match the encryption settings that are specified in
|
2727
|
+
# the `CreateSession` request. You can't override the values of the
|
2728
|
+
# encryption settings (`x-amz-server-side-encryption`,
|
2729
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`,
|
2730
|
+
# `x-amz-server-side-encryption-context`, and
|
2731
|
+
# `x-amz-server-side-encryption-bucket-key-enabled`) that are
|
2732
|
+
# specified in the `CreateSession` request. You don't need to
|
2733
|
+
# explicitly specify these encryption settings values in Zonal
|
2734
|
+
# endpoint API calls, and Amazon S3 will use the encryption settings
|
2735
|
+
# values from the `CreateSession` request to protect new objects in
|
2736
|
+
# the directory bucket.
|
2737
|
+
#
|
2738
|
+
# <note markdown="1"> When you use the CLI or the Amazon Web Services SDKs, for
|
2739
|
+
# `CreateSession`, the session token refreshes automatically to
|
2740
|
+
# avoid service interruptions when a session expires. The CLI or the
|
2741
|
+
# Amazon Web Services SDKs use the bucket's default encryption
|
2742
|
+
# configuration for the `CreateSession` request. It's not supported
|
2743
|
+
# to override the encryption settings values in the `CreateSession`
|
2744
|
+
# request. So in the Zonal endpoint API calls (except
|
2745
|
+
# [CopyObject][14] and [UploadPartCopy][9]), the encryption request
|
2746
|
+
# headers must match the default encryption configuration of the
|
2747
|
+
# directory bucket.
|
2748
|
+
#
|
2749
|
+
# </note>
|
2750
|
+
#
|
2751
|
+
# <note markdown="1"> For directory buckets, when you perform a `CreateMultipartUpload`
|
2752
|
+
# operation and an `UploadPartCopy` operation, the request headers
|
2753
|
+
# you provide in the `CreateMultipartUpload` request must match the
|
2754
|
+
# default encryption configuration of the destination bucket.
|
2529
2755
|
#
|
2530
|
-
#
|
2531
|
-
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) is
|
2532
|
-
# supported.
|
2756
|
+
# </note>
|
2533
2757
|
#
|
2534
2758
|
# HTTP Host header syntax
|
2535
2759
|
#
|
@@ -2540,13 +2764,13 @@ module Aws::S3
|
|
2540
2764
|
#
|
2541
2765
|
# * [UploadPart][1]
|
2542
2766
|
#
|
2543
|
-
# * [CompleteMultipartUpload][
|
2767
|
+
# * [CompleteMultipartUpload][15]
|
2544
2768
|
#
|
2545
|
-
# * [AbortMultipartUpload][
|
2769
|
+
# * [AbortMultipartUpload][16]
|
2546
2770
|
#
|
2547
|
-
# * [ListParts][
|
2771
|
+
# * [ListParts][17]
|
2548
2772
|
#
|
2549
|
-
# * [ListMultipartUploads][
|
2773
|
+
# * [ListMultipartUploads][18]
|
2550
2774
|
#
|
2551
2775
|
#
|
2552
2776
|
#
|
@@ -2555,17 +2779,19 @@ module Aws::S3
|
|
2555
2779
|
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config
|
2556
2780
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
2557
2781
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
|
2558
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2559
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
2560
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2561
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
2562
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2563
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2564
|
-
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
2565
|
-
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/
|
2566
|
-
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
2567
|
-
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
2568
|
-
# [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
2782
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
|
2783
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
|
2784
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
2785
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
2786
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
|
2787
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
|
2788
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
2789
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
2790
|
+
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
2791
|
+
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
|
2792
|
+
# [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
|
2793
|
+
# [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
|
2794
|
+
# [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
|
2569
2795
|
#
|
2570
2796
|
# @option params [String] :acl
|
2571
2797
|
# The canned ACL to apply to the object. Amazon S3 supports a set of
|
@@ -2928,10 +3154,52 @@ module Aws::S3
|
|
2928
3154
|
# The server-side encryption algorithm used when you store this object
|
2929
3155
|
# in Amazon S3 (for example, `AES256`, `aws:kms`).
|
2930
3156
|
#
|
2931
|
-
# <
|
2932
|
-
#
|
3157
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
3158
|
+
# two supported options for server-side encryption: server-side
|
3159
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
3160
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). We
|
3161
|
+
# recommend that the bucket's default encryption uses the desired
|
3162
|
+
# encryption configuration and you don't override the bucket default
|
3163
|
+
# encryption in your `CreateSession` requests or `PUT` object
|
3164
|
+
# requests. Then, new objects are automatically encrypted with the
|
3165
|
+
# desired encryption settings. For more information, see [Protecting
|
3166
|
+
# data with server-side encryption][1] in the *Amazon S3 User Guide*.
|
3167
|
+
# For more information about the encryption overriding behaviors in
|
3168
|
+
# directory buckets, see [Specifying server-side encryption with KMS
|
3169
|
+
# for new object uploads][2].
|
3170
|
+
#
|
3171
|
+
# In the Zonal endpoint API calls (except [CopyObject][3] and
|
3172
|
+
# [UploadPartCopy][4]) using the REST API, the encryption request
|
3173
|
+
# headers must match the encryption settings that are specified in the
|
3174
|
+
# `CreateSession` request. You can't override the values of the
|
3175
|
+
# encryption settings (`x-amz-server-side-encryption`,
|
3176
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`,
|
3177
|
+
# `x-amz-server-side-encryption-context`, and
|
3178
|
+
# `x-amz-server-side-encryption-bucket-key-enabled`) that are
|
3179
|
+
# specified in the `CreateSession` request. You don't need to
|
3180
|
+
# explicitly specify these encryption settings values in Zonal
|
3181
|
+
# endpoint API calls, and Amazon S3 will use the encryption settings
|
3182
|
+
# values from the `CreateSession` request to protect new objects in
|
3183
|
+
# the directory bucket.
|
3184
|
+
#
|
3185
|
+
# <note markdown="1"> When you use the CLI or the Amazon Web Services SDKs, for
|
3186
|
+
# `CreateSession`, the session token refreshes automatically to avoid
|
3187
|
+
# service interruptions when a session expires. The CLI or the Amazon
|
3188
|
+
# Web Services SDKs use the bucket's default encryption configuration
|
3189
|
+
# for the `CreateSession` request. It's not supported to override the
|
3190
|
+
# encryption settings values in the `CreateSession` request. So in the
|
3191
|
+
# Zonal endpoint API calls (except [CopyObject][3] and
|
3192
|
+
# [UploadPartCopy][4]), the encryption request headers must match the
|
3193
|
+
# default encryption configuration of the directory bucket.
|
2933
3194
|
#
|
2934
|
-
#
|
3195
|
+
# </note>
|
3196
|
+
#
|
3197
|
+
#
|
3198
|
+
#
|
3199
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
3200
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
3201
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
3202
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
2935
3203
|
#
|
2936
3204
|
# @option params [String] :storage_class
|
2937
3205
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
@@ -2990,34 +3258,71 @@ module Aws::S3
|
|
2990
3258
|
# </note>
|
2991
3259
|
#
|
2992
3260
|
# @option params [String] :ssekms_key_id
|
2993
|
-
# Specifies the ID (Key ID, Key ARN, or Key Alias)
|
2994
|
-
# encryption
|
2995
|
-
#
|
2996
|
-
#
|
2997
|
-
#
|
2998
|
-
#
|
3261
|
+
# Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for
|
3262
|
+
# object encryption. If the KMS key doesn't exist in the same account
|
3263
|
+
# that's issuing the command, you must use the full Key ARN not the Key
|
3264
|
+
# ID.
|
3265
|
+
#
|
3266
|
+
# **General purpose buckets** - If you specify
|
3267
|
+
# `x-amz-server-side-encryption` with `aws:kms` or `aws:kms:dsse`, this
|
3268
|
+
# header specifies the ID (Key ID, Key ARN, or Key Alias) of the KMS key
|
3269
|
+
# to use. If you specify `x-amz-server-side-encryption:aws:kms` or
|
3270
|
+
# `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide
|
3271
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
3272
|
+
# Amazon Web Services managed key (`aws/s3`) to protect the data.
|
3273
|
+
#
|
3274
|
+
# **Directory buckets** - If you specify `x-amz-server-side-encryption`
|
3275
|
+
# with `aws:kms`, you must specify the `
|
3276
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header with the ID (Key
|
3277
|
+
# ID or Key ARN) of the KMS symmetric encryption customer managed key to
|
3278
|
+
# use. Otherwise, you get an HTTP `400 Bad Request` error. Only use the
|
3279
|
+
# key ID or key ARN. The key alias format of the KMS key isn't
|
3280
|
+
# supported. Your SSE-KMS configuration can only support 1 [customer
|
3281
|
+
# managed key][1] per directory bucket for the lifetime of the bucket.
|
3282
|
+
# [Amazon Web Services managed key][2] (`aws/s3`) isn't supported.
|
3283
|
+
#
|
3284
|
+
#
|
3285
|
+
#
|
3286
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
3287
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
2999
3288
|
#
|
3000
3289
|
# @option params [String] :ssekms_encryption_context
|
3001
3290
|
# Specifies the Amazon Web Services KMS Encryption Context to use for
|
3002
|
-
# object encryption. The value of this header is a
|
3003
|
-
#
|
3004
|
-
#
|
3005
|
-
# <note markdown="1"> This functionality is not supported for directory buckets.
|
3291
|
+
# object encryption. The value of this header is a Base64-encoded string
|
3292
|
+
# of a UTF-8 encoded JSON, which contains the encryption context as
|
3293
|
+
# key-value pairs.
|
3006
3294
|
#
|
3007
|
-
#
|
3295
|
+
# **Directory buckets** - You can optionally provide an explicit
|
3296
|
+
# encryption context value. The value must match the default encryption
|
3297
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
3298
|
+
# encryption context value is not supported.
|
3008
3299
|
#
|
3009
3300
|
# @option params [Boolean] :bucket_key_enabled
|
3010
3301
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
3011
3302
|
# encryption with server-side encryption using Key Management Service
|
3012
|
-
# (KMS) keys (SSE-KMS).
|
3013
|
-
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
3303
|
+
# (KMS) keys (SSE-KMS).
|
3014
3304
|
#
|
3015
|
-
#
|
3305
|
+
# **General purpose buckets** - Setting this header to `true` causes
|
3306
|
+
# Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.
|
3307
|
+
# Also, specifying this header with a PUT action doesn't affect
|
3016
3308
|
# bucket-level settings for S3 Bucket Key.
|
3017
3309
|
#
|
3018
|
-
#
|
3310
|
+
# **Directory buckets** - S3 Bucket Keys are always enabled for `GET`
|
3311
|
+
# and `PUT` operations in a directory bucket and can’t be disabled. S3
|
3312
|
+
# Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects
|
3313
|
+
# from general purpose buckets to directory buckets, from directory
|
3314
|
+
# buckets to general purpose buckets, or between directory buckets,
|
3315
|
+
# through [CopyObject][1], [UploadPartCopy][2], [the Copy operation in
|
3316
|
+
# Batch Operations][3], or [the import jobs][4]. In this case, Amazon S3
|
3317
|
+
# makes a call to KMS every time a copy request is made for a
|
3318
|
+
# KMS-encrypted object.
|
3019
3319
|
#
|
3020
|
-
#
|
3320
|
+
#
|
3321
|
+
#
|
3322
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
3323
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
3324
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
|
3325
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
|
3021
3326
|
#
|
3022
3327
|
# @option params [String] :request_payer
|
3023
3328
|
# Confirms that the requester knows that they will be charged for the
|
@@ -3178,9 +3483,10 @@ module Aws::S3
|
|
3178
3483
|
|
3179
3484
|
# Creates a session that establishes temporary security credentials to
|
3180
3485
|
# support fast authentication and authorization for the Zonal endpoint
|
3181
|
-
#
|
3182
|
-
#
|
3183
|
-
# [S3 Express One Zone APIs][1] in the *Amazon S3
|
3486
|
+
# API operations on directory buckets. For more information about Zonal
|
3487
|
+
# endpoint API operations that include the Availability Zone in the
|
3488
|
+
# request endpoint, see [S3 Express One Zone APIs][1] in the *Amazon S3
|
3489
|
+
# User Guide*.
|
3184
3490
|
#
|
3185
3491
|
# To make Zonal endpoint API requests on a directory bucket, use the
|
3186
3492
|
# `CreateSession` API operation. Specifically, you grant
|
@@ -3189,13 +3495,13 @@ module Aws::S3
|
|
3189
3495
|
# the `CreateSession` API request on the bucket, which returns temporary
|
3190
3496
|
# security credentials that include the access key ID, secret access
|
3191
3497
|
# key, session token, and expiration. These credentials have associated
|
3192
|
-
# permissions to access the Zonal endpoint
|
3193
|
-
# created, you don’t need to use other policies to grant
|
3194
|
-
# each Zonal endpoint API individually. Instead, in your
|
3195
|
-
# API requests, you sign your requests by applying the
|
3196
|
-
# security credentials of the session to the request headers
|
3197
|
-
# following the SigV4 protocol for authentication. You also apply
|
3198
|
-
# session token to the `x-amz-s3session-token` request header for
|
3498
|
+
# permissions to access the Zonal endpoint API operations. After the
|
3499
|
+
# session is created, you don’t need to use other policies to grant
|
3500
|
+
# permissions to each Zonal endpoint API individually. Instead, in your
|
3501
|
+
# Zonal endpoint API requests, you sign your requests by applying the
|
3502
|
+
# temporary security credentials of the session to the request headers
|
3503
|
+
# and following the SigV4 protocol for authentication. You also apply
|
3504
|
+
# the session token to the `x-amz-s3session-token` request header for
|
3199
3505
|
# authorization. Temporary security credentials are scoped to the bucket
|
3200
3506
|
# and expire after 5 minutes. After the expiration time, any calls that
|
3201
3507
|
# you make with those credentials will fail. You must use IAM
|
@@ -3218,16 +3524,16 @@ module Aws::S3
|
|
3218
3524
|
# [Regional and Zonal endpoints][3] in the *Amazon S3 User Guide*.
|
3219
3525
|
#
|
3220
3526
|
# * <b> <code>CopyObject</code> API operation</b> - Unlike other Zonal
|
3221
|
-
# endpoint
|
3222
|
-
# temporary security credentials returned from the `CreateSession`
|
3223
|
-
# operation for authentication and authorization. For information
|
3527
|
+
# endpoint API operations, the `CopyObject` API operation doesn't use
|
3528
|
+
# the temporary security credentials returned from the `CreateSession`
|
3529
|
+
# API operation for authentication and authorization. For information
|
3224
3530
|
# about authentication and authorization of the `CopyObject` API
|
3225
3531
|
# operation on directory buckets, see [CopyObject][4].
|
3226
3532
|
#
|
3227
3533
|
# * <b> <code>HeadBucket</code> API operation</b> - Unlike other Zonal
|
3228
|
-
# endpoint
|
3229
|
-
# temporary security credentials returned from the `CreateSession`
|
3230
|
-
# operation for authentication and authorization. For information
|
3534
|
+
# endpoint API operations, the `HeadBucket` API operation doesn't use
|
3535
|
+
# the temporary security credentials returned from the `CreateSession`
|
3536
|
+
# API operation for authentication and authorization. For information
|
3231
3537
|
# about authentication and authorization of the `HeadBucket` API
|
3232
3538
|
# operation on directory buckets, see [HeadBucket][5].
|
3233
3539
|
#
|
@@ -3246,9 +3552,71 @@ module Aws::S3
|
|
3246
3552
|
# Identity and Access Management (IAM) identity-based policies for S3
|
3247
3553
|
# Express One Zone][8] in the *Amazon S3 User Guide*.
|
3248
3554
|
#
|
3249
|
-
# To grant cross-account access to Zonal endpoint
|
3250
|
-
# policy should also grant both accounts the
|
3251
|
-
# permission.
|
3555
|
+
# To grant cross-account access to Zonal endpoint API operations, the
|
3556
|
+
# bucket policy should also grant both accounts the
|
3557
|
+
# `s3express:CreateSession` permission.
|
3558
|
+
#
|
3559
|
+
# If you want to encrypt objects with SSE-KMS, you must also have the
|
3560
|
+
# `kms:GenerateDataKey` and the `kms:Decrypt` permissions in IAM
|
3561
|
+
# identity-based policies and KMS key policies for the target KMS key.
|
3562
|
+
#
|
3563
|
+
# Encryption
|
3564
|
+
#
|
3565
|
+
# : For directory buckets, there are only two supported options for
|
3566
|
+
# server-side encryption: server-side encryption with Amazon S3
|
3567
|
+
# managed keys (SSE-S3) (`AES256`) and server-side encryption with KMS
|
3568
|
+
# keys (SSE-KMS) (`aws:kms`). We recommend that the bucket's default
|
3569
|
+
# encryption uses the desired encryption configuration and you don't
|
3570
|
+
# override the bucket default encryption in your `CreateSession`
|
3571
|
+
# requests or `PUT` object requests. Then, new objects are
|
3572
|
+
# automatically encrypted with the desired encryption settings. For
|
3573
|
+
# more information, see [Protecting data with server-side
|
3574
|
+
# encryption][9] in the *Amazon S3 User Guide*. For more information
|
3575
|
+
# about the encryption overriding behaviors in directory buckets, see
|
3576
|
+
# [Specifying server-side encryption with KMS for new object
|
3577
|
+
# uploads][10].
|
3578
|
+
#
|
3579
|
+
# For [Zonal endpoint (object-level) API operations][11] except
|
3580
|
+
# [CopyObject][4] and [UploadPartCopy][12], you authenticate and
|
3581
|
+
# authorize requests through [CreateSession][13] for low latency. To
|
3582
|
+
# encrypt new objects in a directory bucket with SSE-KMS, you must
|
3583
|
+
# specify SSE-KMS as the directory bucket's default encryption
|
3584
|
+
# configuration with a KMS key (specifically, a [customer managed
|
3585
|
+
# key][14]). Then, when a session is created for Zonal endpoint API
|
3586
|
+
# operations, new objects are automatically encrypted and decrypted
|
3587
|
+
# with SSE-KMS and S3 Bucket Keys during the session.
|
3588
|
+
#
|
3589
|
+
# <note markdown="1"> Only 1 [customer managed key][14] is supported per directory bucket
|
3590
|
+
# for the lifetime of the bucket. [Amazon Web Services managed
|
3591
|
+
# key][15] (`aws/s3`) isn't supported. After you specify SSE-KMS as
|
3592
|
+
# your bucket's default encryption configuration with a customer
|
3593
|
+
# managed key, you can't change the customer managed key for the
|
3594
|
+
# bucket's SSE-KMS configuration.
|
3595
|
+
#
|
3596
|
+
# </note>
|
3597
|
+
#
|
3598
|
+
# In the Zonal endpoint API calls (except [CopyObject][4] and
|
3599
|
+
# [UploadPartCopy][12]) using the REST API, you can't override the
|
3600
|
+
# values of the encryption settings (`x-amz-server-side-encryption`,
|
3601
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`,
|
3602
|
+
# `x-amz-server-side-encryption-context`, and
|
3603
|
+
# `x-amz-server-side-encryption-bucket-key-enabled`) from the
|
3604
|
+
# `CreateSession` request. You don't need to explicitly specify these
|
3605
|
+
# encryption settings values in Zonal endpoint API calls, and Amazon
|
3606
|
+
# S3 will use the encryption settings values from the `CreateSession`
|
3607
|
+
# request to protect new objects in the directory bucket.
|
3608
|
+
#
|
3609
|
+
# <note markdown="1"> When you use the CLI or the Amazon Web Services SDKs, for
|
3610
|
+
# `CreateSession`, the session token refreshes automatically to avoid
|
3611
|
+
# service interruptions when a session expires. The CLI or the Amazon
|
3612
|
+
# Web Services SDKs use the bucket's default encryption configuration
|
3613
|
+
# for the `CreateSession` request. It's not supported to override the
|
3614
|
+
# encryption settings values in the `CreateSession` request. Also, in
|
3615
|
+
# the Zonal endpoint API calls (except [CopyObject][4] and
|
3616
|
+
# [UploadPartCopy][12]), it's not supported to override the values of
|
3617
|
+
# the encryption settings from the `CreateSession` request.
|
3618
|
+
#
|
3619
|
+
# </note>
|
3252
3620
|
#
|
3253
3621
|
# HTTP Host header syntax
|
3254
3622
|
#
|
@@ -3265,21 +3633,110 @@ module Aws::S3
|
|
3265
3633
|
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html#API_CreateSession_RequestParameters
|
3266
3634
|
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
|
3267
3635
|
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
|
3636
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
3637
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
3638
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-differences.html#s3-express-differences-api-operations
|
3639
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
3640
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
3641
|
+
# [14]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
3642
|
+
# [15]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
3268
3643
|
#
|
3269
3644
|
# @option params [String] :session_mode
|
3270
3645
|
# Specifies the mode of the session that will be created, either
|
3271
3646
|
# `ReadWrite` or `ReadOnly`. By default, a `ReadWrite` session is
|
3272
3647
|
# created. A `ReadWrite` session is capable of executing all the Zonal
|
3273
|
-
# endpoint
|
3274
|
-
# constrained to execute the following Zonal endpoint
|
3275
|
-
# `HeadObject`, `ListObjectsV2`, `GetObjectAttributes`,
|
3276
|
-
# `ListMultipartUploads`.
|
3648
|
+
# endpoint API operations on a directory bucket. A `ReadOnly` session is
|
3649
|
+
# constrained to execute the following Zonal endpoint API operations:
|
3650
|
+
# `GetObject`, `HeadObject`, `ListObjectsV2`, `GetObjectAttributes`,
|
3651
|
+
# `ListParts`, and `ListMultipartUploads`.
|
3277
3652
|
#
|
3278
3653
|
# @option params [required, String] :bucket
|
3279
3654
|
# The name of the bucket that you create a session for.
|
3280
3655
|
#
|
3656
|
+
# @option params [String] :server_side_encryption
|
3657
|
+
# The server-side encryption algorithm to use when you store objects in
|
3658
|
+
# the directory bucket.
|
3659
|
+
#
|
3660
|
+
# For directory buckets, there are only two supported options for
|
3661
|
+
# server-side encryption: server-side encryption with Amazon S3 managed
|
3662
|
+
# keys (SSE-S3) (`AES256`) and server-side encryption with KMS keys
|
3663
|
+
# (SSE-KMS) (`aws:kms`). By default, Amazon S3 encrypts data with
|
3664
|
+
# SSE-S3. For more information, see [Protecting data with server-side
|
3665
|
+
# encryption][1] in the *Amazon S3 User Guide*.
|
3666
|
+
#
|
3667
|
+
#
|
3668
|
+
#
|
3669
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
3670
|
+
#
|
3671
|
+
# @option params [String] :ssekms_key_id
|
3672
|
+
# If you specify `x-amz-server-side-encryption` with `aws:kms`, you must
|
3673
|
+
# specify the ` x-amz-server-side-encryption-aws-kms-key-id` header with
|
3674
|
+
# the ID (Key ID or Key ARN) of the KMS symmetric encryption customer
|
3675
|
+
# managed key to use. Otherwise, you get an HTTP `400 Bad Request`
|
3676
|
+
# error. Only use the key ID or key ARN. The key alias format of the KMS
|
3677
|
+
# key isn't supported. Also, if the KMS key doesn't exist in the same
|
3678
|
+
# account that't issuing the command, you must use the full Key ARN not
|
3679
|
+
# the Key ID.
|
3680
|
+
#
|
3681
|
+
# Your SSE-KMS configuration can only support 1 [customer managed
|
3682
|
+
# key][1] per directory bucket for the lifetime of the bucket. [Amazon
|
3683
|
+
# Web Services managed key][2] (`aws/s3`) isn't supported.
|
3684
|
+
#
|
3685
|
+
#
|
3686
|
+
#
|
3687
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
3688
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
3689
|
+
#
|
3690
|
+
# @option params [String] :ssekms_encryption_context
|
3691
|
+
# Specifies the Amazon Web Services KMS Encryption Context as an
|
3692
|
+
# additional encryption context to use for object encryption. The value
|
3693
|
+
# of this header is a Base64-encoded string of a UTF-8 encoded JSON,
|
3694
|
+
# which contains the encryption context as key-value pairs. This value
|
3695
|
+
# is stored as object metadata and automatically gets passed on to
|
3696
|
+
# Amazon Web Services KMS for future `GetObject` operations on this
|
3697
|
+
# object.
|
3698
|
+
#
|
3699
|
+
# **General purpose buckets** - This value must be explicitly added
|
3700
|
+
# during `CopyObject` operations if you want an additional encryption
|
3701
|
+
# context for your object. For more information, see [Encryption
|
3702
|
+
# context][1] in the *Amazon S3 User Guide*.
|
3703
|
+
#
|
3704
|
+
# **Directory buckets** - You can optionally provide an explicit
|
3705
|
+
# encryption context value. The value must match the default encryption
|
3706
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
3707
|
+
# encryption context value is not supported.
|
3708
|
+
#
|
3709
|
+
#
|
3710
|
+
#
|
3711
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context
|
3712
|
+
#
|
3713
|
+
# @option params [Boolean] :bucket_key_enabled
|
3714
|
+
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
3715
|
+
# encryption with server-side encryption using KMS keys (SSE-KMS).
|
3716
|
+
#
|
3717
|
+
# S3 Bucket Keys are always enabled for `GET` and `PUT` operations in a
|
3718
|
+
# directory bucket and can’t be disabled. S3 Bucket Keys aren't
|
3719
|
+
# supported, when you copy SSE-KMS encrypted objects from general
|
3720
|
+
# purpose buckets to directory buckets, from directory buckets to
|
3721
|
+
# general purpose buckets, or between directory buckets, through
|
3722
|
+
# [CopyObject][1], [UploadPartCopy][2], [the Copy operation in Batch
|
3723
|
+
# Operations][3], or [the import jobs][4]. In this case, Amazon S3 makes
|
3724
|
+
# a call to KMS every time a copy request is made for a KMS-encrypted
|
3725
|
+
# object.
|
3726
|
+
#
|
3727
|
+
#
|
3728
|
+
#
|
3729
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
3730
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
3731
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
|
3732
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
|
3733
|
+
#
|
3281
3734
|
# @return [Types::CreateSessionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
3282
3735
|
#
|
3736
|
+
# * {Types::CreateSessionOutput#server_side_encryption #server_side_encryption} => String
|
3737
|
+
# * {Types::CreateSessionOutput#ssekms_key_id #ssekms_key_id} => String
|
3738
|
+
# * {Types::CreateSessionOutput#ssekms_encryption_context #ssekms_encryption_context} => String
|
3739
|
+
# * {Types::CreateSessionOutput#bucket_key_enabled #bucket_key_enabled} => Boolean
|
3283
3740
|
# * {Types::CreateSessionOutput#credentials #credentials} => Types::SessionCredentials
|
3284
3741
|
#
|
3285
3742
|
# @example Request syntax with placeholder values
|
@@ -3287,10 +3744,18 @@ module Aws::S3
|
|
3287
3744
|
# resp = client.create_session({
|
3288
3745
|
# session_mode: "ReadOnly", # accepts ReadOnly, ReadWrite
|
3289
3746
|
# bucket: "BucketName", # required
|
3747
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
3748
|
+
# ssekms_key_id: "SSEKMSKeyId",
|
3749
|
+
# ssekms_encryption_context: "SSEKMSEncryptionContext",
|
3750
|
+
# bucket_key_enabled: false,
|
3290
3751
|
# })
|
3291
3752
|
#
|
3292
3753
|
# @example Response structure
|
3293
3754
|
#
|
3755
|
+
# resp.server_side_encryption #=> String, one of "AES256", "aws:kms", "aws:kms:dsse"
|
3756
|
+
# resp.ssekms_key_id #=> String
|
3757
|
+
# resp.ssekms_encryption_context #=> String
|
3758
|
+
# resp.bucket_key_enabled #=> Boolean
|
3294
3759
|
# resp.credentials.access_key_id #=> String
|
3295
3760
|
# resp.credentials.secret_access_key #=> String
|
3296
3761
|
# resp.credentials.session_token #=> String
|
@@ -3536,47 +4001,92 @@ module Aws::S3
|
|
3536
4001
|
req.send_request(options)
|
3537
4002
|
end
|
3538
4003
|
|
3539
|
-
#
|
4004
|
+
# This implementation of the DELETE action resets the default encryption
|
4005
|
+
# for the bucket as server-side encryption with Amazon S3 managed keys
|
4006
|
+
# (SSE-S3).
|
4007
|
+
#
|
4008
|
+
# <note markdown="1"> * **General purpose buckets** - For information about the bucket
|
4009
|
+
# default encryption feature, see [Amazon S3 Bucket Default
|
4010
|
+
# Encryption][1] in the *Amazon S3 User Guide*.
|
4011
|
+
#
|
4012
|
+
# * **Directory buckets** - For directory buckets, there are only two
|
4013
|
+
# supported options for server-side encryption: SSE-S3 and SSE-KMS.
|
4014
|
+
# For information about the default encryption configuration in
|
4015
|
+
# directory buckets, see [Setting default server-side encryption
|
4016
|
+
# behavior for directory buckets][2].
|
3540
4017
|
#
|
3541
4018
|
# </note>
|
3542
4019
|
#
|
3543
|
-
#
|
3544
|
-
#
|
3545
|
-
#
|
3546
|
-
#
|
3547
|
-
#
|
4020
|
+
# Permissions
|
4021
|
+
# : * **General purpose bucket permissions** - The
|
4022
|
+
# `s3:PutEncryptionConfiguration` permission is required in a
|
4023
|
+
# policy. The bucket owner has this permission by default. The
|
4024
|
+
# bucket owner can grant this permission to others. For more
|
4025
|
+
# information about permissions, see [Permissions Related to Bucket
|
4026
|
+
# Operations][3] and [Managing Access Permissions to Your Amazon S3
|
4027
|
+
# Resources][4].
|
3548
4028
|
#
|
3549
|
-
#
|
3550
|
-
#
|
3551
|
-
# permission
|
3552
|
-
#
|
3553
|
-
#
|
3554
|
-
#
|
3555
|
-
#
|
4029
|
+
# * **Directory bucket permissions** - To grant access to this API
|
4030
|
+
# operation, you must have the
|
4031
|
+
# `s3express:PutEncryptionConfiguration` permission in an IAM
|
4032
|
+
# identity-based policy instead of a bucket policy. Cross-account
|
4033
|
+
# access to this API operation isn't supported. This operation can
|
4034
|
+
# only be performed by the Amazon Web Services account that owns the
|
4035
|
+
# resource. For more information about directory bucket policies and
|
4036
|
+
# permissions, see [Amazon Web Services Identity and Access
|
4037
|
+
# Management (IAM) for S3 Express One Zone][5] in the *Amazon S3
|
4038
|
+
# User Guide*.
|
4039
|
+
#
|
4040
|
+
# HTTP Host header syntax
|
4041
|
+
#
|
4042
|
+
# : <b>Directory buckets </b> - The HTTP Host header syntax is
|
4043
|
+
# `s3express-control.region.amazonaws.com`.
|
3556
4044
|
#
|
3557
4045
|
# The following operations are related to `DeleteBucketEncryption`:
|
3558
4046
|
#
|
3559
|
-
# * [PutBucketEncryption][
|
4047
|
+
# * [PutBucketEncryption][6]
|
3560
4048
|
#
|
3561
|
-
# * [GetBucketEncryption][
|
4049
|
+
# * [GetBucketEncryption][7]
|
3562
4050
|
#
|
3563
4051
|
#
|
3564
4052
|
#
|
3565
4053
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
|
3566
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
3567
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-
|
3568
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/
|
3569
|
-
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/
|
4054
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html
|
4055
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
|
4056
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
|
4057
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
|
4058
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html
|
4059
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
|
3570
4060
|
#
|
3571
4061
|
# @option params [required, String] :bucket
|
3572
4062
|
# The name of the bucket containing the server-side encryption
|
3573
4063
|
# configuration to delete.
|
3574
4064
|
#
|
4065
|
+
# <b>Directory buckets </b> - When you use this operation with a
|
4066
|
+
# directory bucket, you must use path-style requests in the format
|
4067
|
+
# `https://s3express-control.region_code.amazonaws.com/bucket-name `.
|
4068
|
+
# Virtual-hosted-style requests aren't supported. Directory bucket
|
4069
|
+
# names must be unique in the chosen Availability Zone. Bucket names
|
4070
|
+
# must also follow the format ` bucket_base_name--az_id--x-s3` (for
|
4071
|
+
# example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
|
4072
|
+
# bucket naming restrictions, see [Directory bucket naming rules][1] in
|
4073
|
+
# the *Amazon S3 User Guide*
|
4074
|
+
#
|
4075
|
+
#
|
4076
|
+
#
|
4077
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
|
4078
|
+
#
|
3575
4079
|
# @option params [String] :expected_bucket_owner
|
3576
4080
|
# The account ID of the expected bucket owner. If the account ID that
|
3577
4081
|
# you provide does not match the actual owner of the bucket, the request
|
3578
4082
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
3579
4083
|
#
|
4084
|
+
# <note markdown="1"> For directory buckets, this header is not supported in this API
|
4085
|
+
# operation. If you specify this header, the request fails with the HTTP
|
4086
|
+
# status code `501 Not Implemented`.
|
4087
|
+
#
|
4088
|
+
# </note>
|
4089
|
+
#
|
3580
4090
|
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
3581
4091
|
#
|
3582
4092
|
# @example Request syntax with placeholder values
|
@@ -4570,35 +5080,35 @@ module Aws::S3
|
|
4570
5080
|
# * {Types::DeleteObjectTaggingOutput#version_id #version_id} => String
|
4571
5081
|
#
|
4572
5082
|
#
|
4573
|
-
# @example Example: To remove tag set from an object
|
5083
|
+
# @example Example: To remove tag set from an object
|
4574
5084
|
#
|
4575
|
-
# # The following example removes tag set associated with the specified object
|
4576
|
-
# #
|
5085
|
+
# # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
|
5086
|
+
# # operation removes tag set from the latest object version.
|
4577
5087
|
#
|
4578
5088
|
# resp = client.delete_object_tagging({
|
4579
5089
|
# bucket: "examplebucket",
|
4580
5090
|
# key: "HappyFace.jpg",
|
4581
|
-
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
4582
5091
|
# })
|
4583
5092
|
#
|
4584
5093
|
# resp.to_h outputs the following:
|
4585
5094
|
# {
|
4586
|
-
# version_id: "
|
5095
|
+
# version_id: "null",
|
4587
5096
|
# }
|
4588
5097
|
#
|
4589
|
-
# @example Example: To remove tag set from an object
|
5098
|
+
# @example Example: To remove tag set from an object version
|
4590
5099
|
#
|
4591
|
-
# # The following example removes tag set associated with the specified object.
|
4592
|
-
# #
|
5100
|
+
# # The following example removes tag set associated with the specified object version. The request specifies both the
|
5101
|
+
# # object key and object version.
|
4593
5102
|
#
|
4594
5103
|
# resp = client.delete_object_tagging({
|
4595
5104
|
# bucket: "examplebucket",
|
4596
5105
|
# key: "HappyFace.jpg",
|
5106
|
+
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
4597
5107
|
# })
|
4598
5108
|
#
|
4599
5109
|
# resp.to_h outputs the following:
|
4600
5110
|
# {
|
4601
|
-
# version_id: "
|
5111
|
+
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
4602
5112
|
# }
|
4603
5113
|
#
|
4604
5114
|
# @example Request syntax with placeholder values
|
@@ -4680,7 +5190,7 @@ module Aws::S3
|
|
4680
5190
|
# permission.
|
4681
5191
|
#
|
4682
5192
|
# * <b> <code>s3:DeleteObjectVersion</code> </b> - To delete a
|
4683
|
-
# specific version of an object from a
|
5193
|
+
# specific version of an object from a versioning-enabled bucket,
|
4684
5194
|
# you must specify the `s3:DeleteObjectVersion` permission.
|
4685
5195
|
#
|
4686
5196
|
# * **Directory bucket permissions** - To grant access to this API
|
@@ -4850,13 +5360,13 @@ module Aws::S3
|
|
4850
5360
|
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
4851
5361
|
# the supported algorithm from the following list:
|
4852
5362
|
#
|
4853
|
-
# * CRC32
|
5363
|
+
# * `CRC32`
|
4854
5364
|
#
|
4855
|
-
# * CRC32C
|
5365
|
+
# * `CRC32C`
|
4856
5366
|
#
|
4857
|
-
# * SHA1
|
5367
|
+
# * `SHA1`
|
4858
5368
|
#
|
4859
|
-
# * SHA256
|
5369
|
+
# * `SHA256`
|
4860
5370
|
#
|
4861
5371
|
# For more information, see [Checking object integrity][1] in the
|
4862
5372
|
# *Amazon S3 User Guide*.
|
@@ -4881,22 +5391,20 @@ module Aws::S3
|
|
4881
5391
|
# * {Types::DeleteObjectsOutput#errors #errors} => Array<Types::Error>
|
4882
5392
|
#
|
4883
5393
|
#
|
4884
|
-
# @example Example: To delete multiple
|
5394
|
+
# @example Example: To delete multiple objects from a versioned bucket
|
4885
5395
|
#
|
4886
|
-
# # The following example deletes objects from a bucket. The
|
4887
|
-
# #
|
5396
|
+
# # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
|
5397
|
+
# # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
|
4888
5398
|
#
|
4889
5399
|
# resp = client.delete_objects({
|
4890
5400
|
# bucket: "examplebucket",
|
4891
5401
|
# delete: {
|
4892
5402
|
# objects: [
|
4893
5403
|
# {
|
4894
|
-
# key: "
|
4895
|
-
# version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
|
5404
|
+
# key: "objectkey1",
|
4896
5405
|
# },
|
4897
5406
|
# {
|
4898
|
-
# key: "
|
4899
|
-
# version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
|
5407
|
+
# key: "objectkey2",
|
4900
5408
|
# },
|
4901
5409
|
# ],
|
4902
5410
|
# quiet: false,
|
@@ -4907,30 +5415,34 @@ module Aws::S3
|
|
4907
5415
|
# {
|
4908
5416
|
# deleted: [
|
4909
5417
|
# {
|
4910
|
-
#
|
4911
|
-
#
|
5418
|
+
# delete_marker: true,
|
5419
|
+
# delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
|
5420
|
+
# key: "objectkey1",
|
4912
5421
|
# },
|
4913
5422
|
# {
|
4914
|
-
#
|
4915
|
-
#
|
5423
|
+
# delete_marker: true,
|
5424
|
+
# delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
|
5425
|
+
# key: "objectkey2",
|
4916
5426
|
# },
|
4917
5427
|
# ],
|
4918
5428
|
# }
|
4919
5429
|
#
|
4920
|
-
# @example Example: To delete multiple
|
5430
|
+
# @example Example: To delete multiple object versions from a versioned bucket
|
4921
5431
|
#
|
4922
|
-
# # The following example deletes objects from a bucket. The
|
4923
|
-
# #
|
5432
|
+
# # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
|
5433
|
+
# # versions and returns the key and versions of deleted objects in the response.
|
4924
5434
|
#
|
4925
5435
|
# resp = client.delete_objects({
|
4926
5436
|
# bucket: "examplebucket",
|
4927
5437
|
# delete: {
|
4928
5438
|
# objects: [
|
4929
5439
|
# {
|
4930
|
-
# key: "
|
5440
|
+
# key: "HappyFace.jpg",
|
5441
|
+
# version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
|
4931
5442
|
# },
|
4932
5443
|
# {
|
4933
|
-
# key: "
|
5444
|
+
# key: "HappyFace.jpg",
|
5445
|
+
# version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
|
4934
5446
|
# },
|
4935
5447
|
# ],
|
4936
5448
|
# quiet: false,
|
@@ -4941,14 +5453,12 @@ module Aws::S3
|
|
4941
5453
|
# {
|
4942
5454
|
# deleted: [
|
4943
5455
|
# {
|
4944
|
-
#
|
4945
|
-
#
|
4946
|
-
# key: "objectkey1",
|
5456
|
+
# key: "HappyFace.jpg",
|
5457
|
+
# version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
|
4947
5458
|
# },
|
4948
5459
|
# {
|
4949
|
-
#
|
4950
|
-
#
|
4951
|
-
# key: "objectkey2",
|
5460
|
+
# key: "HappyFace.jpg",
|
5461
|
+
# version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
|
4952
5462
|
# },
|
4953
5463
|
# ],
|
4954
5464
|
# }
|
@@ -5451,46 +5961,92 @@ module Aws::S3
|
|
5451
5961
|
req.send_request(options)
|
5452
5962
|
end
|
5453
5963
|
|
5454
|
-
#
|
5964
|
+
# Returns the default encryption configuration for an Amazon S3 bucket.
|
5965
|
+
# By default, all buckets have a default encryption configuration that
|
5966
|
+
# uses server-side encryption with Amazon S3 managed keys (SSE-S3).
|
5967
|
+
#
|
5968
|
+
# <note markdown="1"> * **General purpose buckets** - For information about the bucket
|
5969
|
+
# default encryption feature, see [Amazon S3 Bucket Default
|
5970
|
+
# Encryption][1] in the *Amazon S3 User Guide*.
|
5971
|
+
#
|
5972
|
+
# * **Directory buckets** - For directory buckets, there are only two
|
5973
|
+
# supported options for server-side encryption: SSE-S3 and SSE-KMS.
|
5974
|
+
# For information about the default encryption configuration in
|
5975
|
+
# directory buckets, see [Setting default server-side encryption
|
5976
|
+
# behavior for directory buckets][2].
|
5455
5977
|
#
|
5456
5978
|
# </note>
|
5457
5979
|
#
|
5458
|
-
#
|
5459
|
-
#
|
5460
|
-
#
|
5461
|
-
#
|
5462
|
-
#
|
5980
|
+
# Permissions
|
5981
|
+
# : * **General purpose bucket permissions** - The
|
5982
|
+
# `s3:GetEncryptionConfiguration` permission is required in a
|
5983
|
+
# policy. The bucket owner has this permission by default. The
|
5984
|
+
# bucket owner can grant this permission to others. For more
|
5985
|
+
# information about permissions, see [Permissions Related to Bucket
|
5986
|
+
# Operations][3] and [Managing Access Permissions to Your Amazon S3
|
5987
|
+
# Resources][4].
|
5463
5988
|
#
|
5464
|
-
#
|
5465
|
-
#
|
5466
|
-
# permission
|
5467
|
-
#
|
5468
|
-
#
|
5469
|
-
#
|
5989
|
+
# * **Directory bucket permissions** - To grant access to this API
|
5990
|
+
# operation, you must have the
|
5991
|
+
# `s3express:GetEncryptionConfiguration` permission in an IAM
|
5992
|
+
# identity-based policy instead of a bucket policy. Cross-account
|
5993
|
+
# access to this API operation isn't supported. This operation can
|
5994
|
+
# only be performed by the Amazon Web Services account that owns the
|
5995
|
+
# resource. For more information about directory bucket policies and
|
5996
|
+
# permissions, see [Amazon Web Services Identity and Access
|
5997
|
+
# Management (IAM) for S3 Express One Zone][5] in the *Amazon S3
|
5998
|
+
# User Guide*.
|
5999
|
+
#
|
6000
|
+
# HTTP Host header syntax
|
6001
|
+
#
|
6002
|
+
# : <b>Directory buckets </b> - The HTTP Host header syntax is
|
6003
|
+
# `s3express-control.region.amazonaws.com`.
|
5470
6004
|
#
|
5471
6005
|
# The following operations are related to `GetBucketEncryption`:
|
5472
6006
|
#
|
5473
|
-
# * [PutBucketEncryption][
|
6007
|
+
# * [PutBucketEncryption][6]
|
5474
6008
|
#
|
5475
|
-
# * [DeleteBucketEncryption][
|
6009
|
+
# * [DeleteBucketEncryption][7]
|
5476
6010
|
#
|
5477
6011
|
#
|
5478
6012
|
#
|
5479
6013
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
|
5480
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
5481
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-
|
5482
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/
|
5483
|
-
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/
|
6014
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html
|
6015
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
|
6016
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
|
6017
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
|
6018
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html
|
6019
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
|
5484
6020
|
#
|
5485
6021
|
# @option params [required, String] :bucket
|
5486
6022
|
# The name of the bucket from which the server-side encryption
|
5487
6023
|
# configuration is retrieved.
|
5488
6024
|
#
|
6025
|
+
# <b>Directory buckets </b> - When you use this operation with a
|
6026
|
+
# directory bucket, you must use path-style requests in the format
|
6027
|
+
# `https://s3express-control.region_code.amazonaws.com/bucket-name `.
|
6028
|
+
# Virtual-hosted-style requests aren't supported. Directory bucket
|
6029
|
+
# names must be unique in the chosen Availability Zone. Bucket names
|
6030
|
+
# must also follow the format ` bucket_base_name--az_id--x-s3` (for
|
6031
|
+
# example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
|
6032
|
+
# bucket naming restrictions, see [Directory bucket naming rules][1] in
|
6033
|
+
# the *Amazon S3 User Guide*
|
6034
|
+
#
|
6035
|
+
#
|
6036
|
+
#
|
6037
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
|
6038
|
+
#
|
5489
6039
|
# @option params [String] :expected_bucket_owner
|
5490
6040
|
# The account ID of the expected bucket owner. If the account ID that
|
5491
6041
|
# you provide does not match the actual owner of the bucket, the request
|
5492
6042
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
5493
6043
|
#
|
6044
|
+
# <note markdown="1"> For directory buckets, this header is not supported in this API
|
6045
|
+
# operation. If you specify this header, the request fails with the HTTP
|
6046
|
+
# status code `501 Not Implemented`.
|
6047
|
+
#
|
6048
|
+
# </note>
|
6049
|
+
#
|
5494
6050
|
# @return [Types::GetBucketEncryptionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
5495
6051
|
#
|
5496
6052
|
# * {Types::GetBucketEncryptionOutput#server_side_encryption_configuration #server_side_encryption_configuration} => Types::ServerSideEncryptionConfiguration
|
@@ -5871,6 +6427,7 @@ module Aws::S3
|
|
5871
6427
|
# @return [Types::GetBucketLifecycleConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
5872
6428
|
#
|
5873
6429
|
# * {Types::GetBucketLifecycleConfigurationOutput#rules #rules} => Array<Types::LifecycleRule>
|
6430
|
+
# * {Types::GetBucketLifecycleConfigurationOutput#transition_default_minimum_object_size #transition_default_minimum_object_size} => String
|
5874
6431
|
#
|
5875
6432
|
#
|
5876
6433
|
# @example Example: To get lifecycle configuration on a bucket
|
@@ -5936,6 +6493,7 @@ module Aws::S3
|
|
5936
6493
|
# resp.rules[0].noncurrent_version_expiration.noncurrent_days #=> Integer
|
5937
6494
|
# resp.rules[0].noncurrent_version_expiration.newer_noncurrent_versions #=> Integer
|
5938
6495
|
# resp.rules[0].abort_incomplete_multipart_upload.days_after_initiation #=> Integer
|
6496
|
+
# resp.transition_default_minimum_object_size #=> String, one of "varies_by_storage_class", "all_storage_classes_128K"
|
5939
6497
|
#
|
5940
6498
|
# @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration AWS API Documentation
|
5941
6499
|
#
|
@@ -7230,6 +7788,10 @@ module Aws::S3
|
|
7230
7788
|
# interruptions when a session expires. For more information about
|
7231
7789
|
# authorization, see [ `CreateSession` ][4].
|
7232
7790
|
#
|
7791
|
+
# If the object is encrypted using SSE-KMS, you must also have the
|
7792
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
7793
|
+
# identity-based policies and KMS key policies for the KMS key.
|
7794
|
+
#
|
7233
7795
|
# Storage classes
|
7234
7796
|
#
|
7235
7797
|
# : If the object you are retrieving is stored in the S3 Glacier
|
@@ -7258,6 +7820,11 @@ module Aws::S3
|
|
7258
7820
|
# `GetObject` requests for the object that uses these types of keys,
|
7259
7821
|
# you’ll get an HTTP `400 Bad Request` error.
|
7260
7822
|
#
|
7823
|
+
# **Directory buckets** - For directory buckets, there are only two
|
7824
|
+
# supported options for server-side encryption: SSE-S3 and SSE-KMS.
|
7825
|
+
# SSE-C isn't supported. For more information, see [Protecting data
|
7826
|
+
# with server-side encryption][7] in the *Amazon S3 User Guide*.
|
7827
|
+
#
|
7261
7828
|
# Overriding response header values through the request
|
7262
7829
|
#
|
7263
7830
|
# : There are times when you want to override certain response header
|
@@ -7305,9 +7872,9 @@ module Aws::S3
|
|
7305
7872
|
#
|
7306
7873
|
# The following operations are related to `GetObject`:
|
7307
7874
|
#
|
7308
|
-
# * [ListBuckets][
|
7875
|
+
# * [ListBuckets][8]
|
7309
7876
|
#
|
7310
|
-
# * [GetObjectAcl][
|
7877
|
+
# * [GetObjectAcl][9]
|
7311
7878
|
#
|
7312
7879
|
#
|
7313
7880
|
#
|
@@ -7317,8 +7884,9 @@ module Aws::S3
|
|
7317
7884
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
7318
7885
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
|
7319
7886
|
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
|
7320
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/
|
7321
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
7887
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
7888
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html
|
7889
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
|
7322
7890
|
#
|
7323
7891
|
# @option params [String, IO] :response_target
|
7324
7892
|
# Where to write response data, file path, or IO object.
|
@@ -7615,6 +8183,15 @@ module Aws::S3
|
|
7615
8183
|
# @option params [String] :checksum_mode
|
7616
8184
|
# To retrieve the checksum, this mode must be enabled.
|
7617
8185
|
#
|
8186
|
+
# **General purpose buckets** - In addition, if you enable checksum mode
|
8187
|
+
# and the object is uploaded with a [checksum][1] and encrypted with an
|
8188
|
+
# Key Management Service (KMS) key, you must have permission to use the
|
8189
|
+
# `kms:Decrypt` action to retrieve the checksum.
|
8190
|
+
#
|
8191
|
+
#
|
8192
|
+
#
|
8193
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
|
8194
|
+
#
|
7618
8195
|
# @return [Types::GetObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
7619
8196
|
#
|
7620
8197
|
# * {Types::GetObjectOutput#body #body} => IO
|
@@ -8011,7 +8588,7 @@ module Aws::S3
|
|
8011
8588
|
# Permissions
|
8012
8589
|
# : * **General purpose bucket permissions** - To use
|
8013
8590
|
# `GetObjectAttributes`, you must have READ access to the object.
|
8014
|
-
# The permissions that you need to use this operation
|
8591
|
+
# The permissions that you need to use this operation depend on
|
8015
8592
|
# whether the bucket is versioned. If the bucket is versioned, you
|
8016
8593
|
# need both the `s3:GetObjectVersion` and
|
8017
8594
|
# `s3:GetObjectVersionAttributes` permissions for this operation. If
|
@@ -8045,6 +8622,10 @@ module Aws::S3
|
|
8045
8622
|
# interruptions when a session expires. For more information about
|
8046
8623
|
# authorization, see [ `CreateSession` ][3].
|
8047
8624
|
#
|
8625
|
+
# If the object is encrypted with SSE-KMS, you must also have the
|
8626
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
8627
|
+
# identity-based policies and KMS key policies for the KMS key.
|
8628
|
+
#
|
8048
8629
|
# Encryption
|
8049
8630
|
# : <note markdown="1"> Encryption request headers, like `x-amz-server-side-encryption`,
|
8050
8631
|
# should not be sent for `HEAD` requests if your object uses
|
@@ -8078,9 +8659,19 @@ module Aws::S3
|
|
8078
8659
|
# Customer-Provided Encryption Keys)][4] in the *Amazon S3 User
|
8079
8660
|
# Guide*.
|
8080
8661
|
#
|
8081
|
-
# <note markdown="1"> **Directory bucket permissions** - For directory buckets,
|
8082
|
-
#
|
8083
|
-
# (`AES256`)
|
8662
|
+
# <note markdown="1"> **Directory bucket permissions** - For directory buckets, there are
|
8663
|
+
# only two supported options for server-side encryption: server-side
|
8664
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
8665
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). We
|
8666
|
+
# recommend that the bucket's default encryption uses the desired
|
8667
|
+
# encryption configuration and you don't override the bucket default
|
8668
|
+
# encryption in your `CreateSession` requests or `PUT` object
|
8669
|
+
# requests. Then, new objects are automatically encrypted with the
|
8670
|
+
# desired encryption settings. For more information, see [Protecting
|
8671
|
+
# data with server-side encryption][5] in the *Amazon S3 User Guide*.
|
8672
|
+
# For more information about the encryption overriding behaviors in
|
8673
|
+
# directory buckets, see [Specifying server-side encryption with KMS
|
8674
|
+
# for new object uploads][6].
|
8084
8675
|
#
|
8085
8676
|
# </note>
|
8086
8677
|
#
|
@@ -8104,7 +8695,7 @@ module Aws::S3
|
|
8104
8695
|
# * `If-Unmodified-Since` condition evaluates to `false`.
|
8105
8696
|
#
|
8106
8697
|
# For more information about conditional requests, see [RFC
|
8107
|
-
# 7232][
|
8698
|
+
# 7232][7].
|
8108
8699
|
#
|
8109
8700
|
# * If both of the `If-None-Match` and `If-Modified-Since` headers are
|
8110
8701
|
# present in the request as follows, then Amazon S3 returns the HTTP
|
@@ -8115,7 +8706,7 @@ module Aws::S3
|
|
8115
8706
|
# * `If-Modified-Since` condition evaluates to `true`.
|
8116
8707
|
#
|
8117
8708
|
# For more information about conditional requests, see [RFC
|
8118
|
-
# 7232][
|
8709
|
+
# 7232][7].
|
8119
8710
|
#
|
8120
8711
|
# HTTP Host header syntax
|
8121
8712
|
#
|
@@ -8124,21 +8715,21 @@ module Aws::S3
|
|
8124
8715
|
#
|
8125
8716
|
# The following actions are related to `GetObjectAttributes`:
|
8126
8717
|
#
|
8127
|
-
# * [GetObject][
|
8718
|
+
# * [GetObject][8]
|
8128
8719
|
#
|
8129
|
-
# * [GetObjectAcl][
|
8720
|
+
# * [GetObjectAcl][9]
|
8130
8721
|
#
|
8131
|
-
# * [GetObjectLegalHold][
|
8722
|
+
# * [GetObjectLegalHold][10]
|
8132
8723
|
#
|
8133
|
-
# * [GetObjectLockConfiguration][
|
8724
|
+
# * [GetObjectLockConfiguration][11]
|
8134
8725
|
#
|
8135
|
-
# * [GetObjectRetention][
|
8726
|
+
# * [GetObjectRetention][12]
|
8136
8727
|
#
|
8137
|
-
# * [GetObjectTagging][
|
8728
|
+
# * [GetObjectTagging][13]
|
8138
8729
|
#
|
8139
|
-
# * [HeadObject][
|
8730
|
+
# * [HeadObject][14]
|
8140
8731
|
#
|
8141
|
-
# * [ListParts][
|
8732
|
+
# * [ListParts][15]
|
8142
8733
|
#
|
8143
8734
|
#
|
8144
8735
|
#
|
@@ -8146,15 +8737,17 @@ module Aws::S3
|
|
8146
8737
|
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
|
8147
8738
|
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
8148
8739
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
8149
|
-
# [5]: https://
|
8150
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/
|
8151
|
-
# [7]: https://
|
8152
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
8153
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
8154
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
8155
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
8156
|
-
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
8157
|
-
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
8740
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
8741
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
8742
|
+
# [7]: https://tools.ietf.org/html/rfc7232
|
8743
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
|
8744
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
|
8745
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html
|
8746
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLockConfiguration.html
|
8747
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectRetention.html
|
8748
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
|
8749
|
+
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html
|
8750
|
+
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
|
8158
8751
|
#
|
8159
8752
|
# @option params [required, String] :bucket
|
8160
8753
|
# The name of the bucket that contains the object.
|
@@ -8698,49 +9291,49 @@ module Aws::S3
|
|
8698
9291
|
# * {Types::GetObjectTaggingOutput#tag_set #tag_set} => Array<Types::Tag>
|
8699
9292
|
#
|
8700
9293
|
#
|
8701
|
-
# @example Example: To retrieve tag set of
|
9294
|
+
# @example Example: To retrieve tag set of an object
|
8702
9295
|
#
|
8703
|
-
# # The following example retrieves tag set of an object.
|
9296
|
+
# # The following example retrieves tag set of an object.
|
8704
9297
|
#
|
8705
9298
|
# resp = client.get_object_tagging({
|
8706
9299
|
# bucket: "examplebucket",
|
8707
|
-
# key: "
|
8708
|
-
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
9300
|
+
# key: "HappyFace.jpg",
|
8709
9301
|
# })
|
8710
9302
|
#
|
8711
9303
|
# resp.to_h outputs the following:
|
8712
9304
|
# {
|
8713
9305
|
# tag_set: [
|
8714
9306
|
# {
|
8715
|
-
# key: "
|
8716
|
-
# value: "
|
9307
|
+
# key: "Key4",
|
9308
|
+
# value: "Value4",
|
9309
|
+
# },
|
9310
|
+
# {
|
9311
|
+
# key: "Key3",
|
9312
|
+
# value: "Value3",
|
8717
9313
|
# },
|
8718
9314
|
# ],
|
8719
|
-
# version_id: "
|
9315
|
+
# version_id: "null",
|
8720
9316
|
# }
|
8721
9317
|
#
|
8722
|
-
# @example Example: To retrieve tag set of
|
9318
|
+
# @example Example: To retrieve tag set of a specific object version
|
8723
9319
|
#
|
8724
|
-
# # The following example retrieves tag set of an object.
|
9320
|
+
# # The following example retrieves tag set of an object. The request specifies object version.
|
8725
9321
|
#
|
8726
9322
|
# resp = client.get_object_tagging({
|
8727
9323
|
# bucket: "examplebucket",
|
8728
|
-
# key: "
|
9324
|
+
# key: "exampleobject",
|
9325
|
+
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
8729
9326
|
# })
|
8730
9327
|
#
|
8731
9328
|
# resp.to_h outputs the following:
|
8732
9329
|
# {
|
8733
9330
|
# tag_set: [
|
8734
9331
|
# {
|
8735
|
-
# key: "
|
8736
|
-
# value: "
|
8737
|
-
# },
|
8738
|
-
# {
|
8739
|
-
# key: "Key3",
|
8740
|
-
# value: "Value3",
|
9332
|
+
# key: "Key1",
|
9333
|
+
# value: "Value1",
|
8741
9334
|
# },
|
8742
9335
|
# ],
|
8743
|
-
# version_id: "
|
9336
|
+
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
8744
9337
|
# }
|
8745
9338
|
#
|
8746
9339
|
# @example Request syntax with placeholder values
|
@@ -8949,29 +9542,24 @@ module Aws::S3
|
|
8949
9542
|
# have permission to access it. The action returns a `200 OK` if the
|
8950
9543
|
# bucket exists and you have permission to access it.
|
8951
9544
|
#
|
8952
|
-
# If the bucket does not exist or you do not have permission to access
|
9545
|
+
# <note markdown="1"> If the bucket does not exist or you do not have permission to access
|
8953
9546
|
# it, the `HEAD` request returns a generic `400 Bad Request`, `403
|
8954
9547
|
# Forbidden` or `404 Not Found` code. A message body is not included, so
|
8955
9548
|
# you cannot determine the exception beyond these HTTP response codes.
|
8956
9549
|
#
|
8957
|
-
# <note markdown="1"> <b>Directory buckets </b> - You must make requests for this API
|
8958
|
-
# operation to the Zonal endpoint. These endpoints support
|
8959
|
-
# virtual-hosted-style requests in the format
|
8960
|
-
# `https://bucket_name.s3express-az_id.region.amazonaws.com`. Path-style
|
8961
|
-
# requests are not supported. For more information, see [Regional and
|
8962
|
-
# Zonal endpoints][1] in the *Amazon S3 User Guide*.
|
8963
|
-
#
|
8964
9550
|
# </note>
|
8965
9551
|
#
|
8966
9552
|
# Authentication and authorization
|
8967
9553
|
#
|
8968
|
-
# :
|
8969
|
-
#
|
8970
|
-
#
|
9554
|
+
# : **General purpose buckets** - Request to public buckets that grant
|
9555
|
+
# the s3:ListBucket permission publicly do not need to be signed. All
|
9556
|
+
# other `HeadBucket` requests must be authenticated and signed by
|
9557
|
+
# using IAM credentials (access key ID and secret access key for the
|
9558
|
+
# IAM identities). All headers with the `x-amz-` prefix, including
|
8971
9559
|
# `x-amz-copy-source`, must be signed. For more information, see [REST
|
8972
|
-
# Authentication][
|
9560
|
+
# Authentication][1].
|
8973
9561
|
#
|
8974
|
-
# **Directory
|
9562
|
+
# **Directory buckets** - You must use IAM credentials to authenticate
|
8975
9563
|
# and authorize your access to the `HeadBucket` API operation, instead
|
8976
9564
|
# of using the temporary security credentials through the
|
8977
9565
|
# `CreateSession` API operation.
|
@@ -8987,7 +9575,7 @@ module Aws::S3
|
|
8987
9575
|
# you must have permissions to perform the `s3:ListBucket` action.
|
8988
9576
|
# The bucket owner has this permission by default and can grant this
|
8989
9577
|
# permission to others. For more information about permissions, see
|
8990
|
-
# [Managing access permissions to your Amazon S3 resources][
|
9578
|
+
# [Managing access permissions to your Amazon S3 resources][2] in
|
8991
9579
|
# the *Amazon S3 User Guide*.
|
8992
9580
|
#
|
8993
9581
|
# * **Directory bucket permissions** - You must have the <b>
|
@@ -8998,9 +9586,9 @@ module Aws::S3
|
|
8998
9586
|
# `ReadOnly` on the bucket.
|
8999
9587
|
#
|
9000
9588
|
# For more information about example bucket policies, see [Example
|
9001
|
-
# bucket policies for S3 Express One Zone][
|
9589
|
+
# bucket policies for S3 Express One Zone][3] and [Amazon Web
|
9002
9590
|
# Services Identity and Access Management (IAM) identity-based
|
9003
|
-
# policies for S3 Express One Zone][
|
9591
|
+
# policies for S3 Express One Zone][4] in the *Amazon S3 User
|
9004
9592
|
# Guide*.
|
9005
9593
|
#
|
9006
9594
|
# HTTP Host header syntax
|
@@ -9008,13 +9596,21 @@ module Aws::S3
|
|
9008
9596
|
# : <b>Directory buckets </b> - The HTTP Host header syntax is `
|
9009
9597
|
# Bucket_name.s3express-az_id.region.amazonaws.com`.
|
9010
9598
|
#
|
9599
|
+
# <note markdown="1"> You must make requests for this API operation to the Zonal endpoint.
|
9600
|
+
# These endpoints support virtual-hosted-style requests in the format
|
9601
|
+
# `https://bucket_name.s3express-az_id.region.amazonaws.com`.
|
9602
|
+
# Path-style requests are not supported. For more information, see
|
9603
|
+
# [Regional and Zonal endpoints][5] in the *Amazon S3 User Guide*.
|
9604
|
+
#
|
9605
|
+
# </note>
|
9011
9606
|
#
|
9012
9607
|
#
|
9013
|
-
#
|
9014
|
-
# [
|
9015
|
-
# [
|
9016
|
-
# [
|
9017
|
-
# [
|
9608
|
+
#
|
9609
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
|
9610
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
|
9611
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
|
9612
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
|
9613
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
9018
9614
|
#
|
9019
9615
|
# @option params [required, String] :bucket
|
9020
9616
|
# The bucket name.
|
@@ -9122,7 +9718,7 @@ module Aws::S3
|
|
9122
9718
|
# returning the object itself. This operation is useful if you're
|
9123
9719
|
# interested only in an object's metadata.
|
9124
9720
|
#
|
9125
|
-
# A `HEAD` request has the same options as a `GET` operation on an
|
9721
|
+
# <note markdown="1"> A `HEAD` request has the same options as a `GET` operation on an
|
9126
9722
|
# object. The response is identical to the `GET` response except that
|
9127
9723
|
# there is no response body. Because of this, if the `HEAD` request
|
9128
9724
|
# generates an error, it returns a generic code, such as `400 Bad
|
@@ -9130,18 +9726,11 @@ module Aws::S3
|
|
9130
9726
|
# `412 Precondition Failed`, or `304 Not Modified`. It's not possible
|
9131
9727
|
# to retrieve the exact exception of these error codes.
|
9132
9728
|
#
|
9729
|
+
# </note>
|
9730
|
+
#
|
9133
9731
|
# Request headers are limited to 8 KB in size. For more information, see
|
9134
9732
|
# [Common Request Headers][1].
|
9135
9733
|
#
|
9136
|
-
# <note markdown="1"> **Directory buckets** - For directory buckets, you must make requests
|
9137
|
-
# for this API operation to the Zonal endpoint. These endpoints support
|
9138
|
-
# virtual-hosted-style requests in the format
|
9139
|
-
# `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name `.
|
9140
|
-
# Path-style requests are not supported. For more information, see
|
9141
|
-
# [Regional and Zonal endpoints][2] in the *Amazon S3 User Guide*.
|
9142
|
-
#
|
9143
|
-
# </note>
|
9144
|
-
#
|
9145
9734
|
# Permissions
|
9146
9735
|
#
|
9147
9736
|
# :
|
@@ -9150,7 +9739,11 @@ module Aws::S3
|
|
9150
9739
|
# have the `s3:GetObject` permission. You need the relevant read
|
9151
9740
|
# object (or version) permission for this operation. For more
|
9152
9741
|
# information, see [Actions, resources, and condition keys for
|
9153
|
-
# Amazon S3][
|
9742
|
+
# Amazon S3][2] in the *Amazon S3 User Guide*. For more information
|
9743
|
+
# about the permissions to S3 API operations by S3 resource types,
|
9744
|
+
# see [Required permissions for Amazon S3 API
|
9745
|
+
# operations](/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)
|
9746
|
+
# in the *Amazon S3 User Guide*.
|
9154
9747
|
#
|
9155
9748
|
# If the object you request doesn't exist, the error that Amazon S3
|
9156
9749
|
# returns depends on whether you also have the `s3:ListBucket`
|
@@ -9164,7 +9757,7 @@ module Aws::S3
|
|
9164
9757
|
#
|
9165
9758
|
# * **Directory bucket permissions** - To grant access to this API
|
9166
9759
|
# operation on a directory bucket, we recommend that you use the [
|
9167
|
-
# `CreateSession` ][
|
9760
|
+
# `CreateSession` ][3] API operation for session-based
|
9168
9761
|
# authorization. Specifically, you grant the
|
9169
9762
|
# `s3express:CreateSession` permission to the directory bucket in a
|
9170
9763
|
# bucket policy or an IAM identity-based policy. Then, you make the
|
@@ -9175,7 +9768,14 @@ module Aws::S3
|
|
9175
9768
|
# token for use. Amazon Web Services CLI or SDKs create session and
|
9176
9769
|
# refresh the session token automatically to avoid service
|
9177
9770
|
# interruptions when a session expires. For more information about
|
9178
|
-
# authorization, see [ `CreateSession` ][
|
9771
|
+
# authorization, see [ `CreateSession` ][3].
|
9772
|
+
#
|
9773
|
+
# If you enable `x-amz-checksum-mode` in the request and the object
|
9774
|
+
# is encrypted with Amazon Web Services Key Management Service
|
9775
|
+
# (Amazon Web Services KMS), you must also have the
|
9776
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
9777
|
+
# identity-based policies and KMS key policies for the KMS key to
|
9778
|
+
# retrieve the checksum of the object.
|
9179
9779
|
#
|
9180
9780
|
# Encryption
|
9181
9781
|
# : <note markdown="1"> Encryption request headers, like `x-amz-server-side-encryption`,
|
@@ -9207,12 +9807,13 @@ module Aws::S3
|
|
9207
9807
|
# * `x-amz-server-side-encryption-customer-key-MD5`
|
9208
9808
|
#
|
9209
9809
|
# For more information about SSE-C, see [Server-Side Encryption (Using
|
9210
|
-
# Customer-Provided Encryption Keys)][
|
9810
|
+
# Customer-Provided Encryption Keys)][4] in the *Amazon S3 User
|
9211
9811
|
# Guide*.
|
9212
9812
|
#
|
9213
|
-
# <note markdown="1">
|
9214
|
-
# server-side encryption
|
9215
|
-
#
|
9813
|
+
# <note markdown="1"> <b>Directory bucket </b> - For directory buckets, there are only two
|
9814
|
+
# supported options for server-side encryption: SSE-S3 and SSE-KMS.
|
9815
|
+
# SSE-C isn't supported. For more information, see [Protecting data
|
9816
|
+
# with server-side encryption][5] in the *Amazon S3 User Guide*.
|
9216
9817
|
#
|
9217
9818
|
# </note>
|
9218
9819
|
#
|
@@ -9241,21 +9842,31 @@ module Aws::S3
|
|
9241
9842
|
# : <b>Directory buckets </b> - The HTTP Host header syntax is `
|
9242
9843
|
# Bucket_name.s3express-az_id.region.amazonaws.com`.
|
9243
9844
|
#
|
9845
|
+
# <note markdown="1"> For directory buckets, you must make requests for this API operation
|
9846
|
+
# to the Zonal endpoint. These endpoints support virtual-hosted-style
|
9847
|
+
# requests in the format
|
9848
|
+
# `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
|
9849
|
+
# `. Path-style requests are not supported. For more information, see
|
9850
|
+
# [Regional and Zonal endpoints][6] in the *Amazon S3 User Guide*.
|
9851
|
+
#
|
9852
|
+
# </note>
|
9853
|
+
#
|
9244
9854
|
# The following actions are related to `HeadObject`:
|
9245
9855
|
#
|
9246
|
-
# * [GetObject][
|
9856
|
+
# * [GetObject][7]
|
9247
9857
|
#
|
9248
|
-
# * [GetObjectAttributes][
|
9858
|
+
# * [GetObjectAttributes][8]
|
9249
9859
|
#
|
9250
9860
|
#
|
9251
9861
|
#
|
9252
9862
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html
|
9253
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/
|
9254
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/
|
9255
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/
|
9256
|
-
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/
|
9257
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/
|
9258
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
9863
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html
|
9864
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
9865
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
9866
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
9867
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
9868
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
|
9869
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
|
9259
9870
|
#
|
9260
9871
|
# @option params [required, String] :bucket
|
9261
9872
|
# The name of the bucket that contains the object.
|
@@ -9386,6 +9997,24 @@ module Aws::S3
|
|
9386
9997
|
# the Range is not satisfiable, S3 returns a `416 - Requested Range Not
|
9387
9998
|
# Satisfiable` error.
|
9388
9999
|
#
|
10000
|
+
# @option params [String] :response_cache_control
|
10001
|
+
# Sets the `Cache-Control` header of the response.
|
10002
|
+
#
|
10003
|
+
# @option params [String] :response_content_disposition
|
10004
|
+
# Sets the `Content-Disposition` header of the response.
|
10005
|
+
#
|
10006
|
+
# @option params [String] :response_content_encoding
|
10007
|
+
# Sets the `Content-Encoding` header of the response.
|
10008
|
+
#
|
10009
|
+
# @option params [String] :response_content_language
|
10010
|
+
# Sets the `Content-Language` header of the response.
|
10011
|
+
#
|
10012
|
+
# @option params [String] :response_content_type
|
10013
|
+
# Sets the `Content-Type` header of the response.
|
10014
|
+
#
|
10015
|
+
# @option params [Time,DateTime,Date,Integer,String] :response_expires
|
10016
|
+
# Sets the `Expires` header of the response.
|
10017
|
+
#
|
9389
10018
|
# @option params [String] :version_id
|
9390
10019
|
# Version ID used to reference a specific version of the object.
|
9391
10020
|
#
|
@@ -9453,10 +10082,20 @@ module Aws::S3
|
|
9453
10082
|
# @option params [String] :checksum_mode
|
9454
10083
|
# To retrieve the checksum, this parameter must be enabled.
|
9455
10084
|
#
|
9456
|
-
#
|
9457
|
-
#
|
9458
|
-
# KMS), you must have permission to use the
|
9459
|
-
#
|
10085
|
+
# **General purpose buckets** - If you enable checksum mode and the
|
10086
|
+
# object is uploaded with a [checksum][1] and encrypted with an Key
|
10087
|
+
# Management Service (KMS) key, you must have permission to use the
|
10088
|
+
# `kms:Decrypt` action to retrieve the checksum.
|
10089
|
+
#
|
10090
|
+
# **Directory buckets** - If you enable `ChecksumMode` and the object is
|
10091
|
+
# encrypted with Amazon Web Services Key Management Service (Amazon Web
|
10092
|
+
# Services KMS), you must also have the `kms:GenerateDataKey` and
|
10093
|
+
# `kms:Decrypt` permissions in IAM identity-based policies and KMS key
|
10094
|
+
# policies for the KMS key to retrieve the checksum of the object.
|
10095
|
+
#
|
10096
|
+
#
|
10097
|
+
#
|
10098
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
|
9460
10099
|
#
|
9461
10100
|
# @return [Types::HeadObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
9462
10101
|
#
|
@@ -9528,6 +10167,12 @@ module Aws::S3
|
|
9528
10167
|
# if_unmodified_since: Time.now,
|
9529
10168
|
# key: "ObjectKey", # required
|
9530
10169
|
# range: "Range",
|
10170
|
+
# response_cache_control: "ResponseCacheControl",
|
10171
|
+
# response_content_disposition: "ResponseContentDisposition",
|
10172
|
+
# response_content_encoding: "ResponseContentEncoding",
|
10173
|
+
# response_content_language: "ResponseContentLanguage",
|
10174
|
+
# response_content_type: "ResponseContentType",
|
10175
|
+
# response_expires: Time.now,
|
9531
10176
|
# version_id: "ObjectVersionId",
|
9532
10177
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
9533
10178
|
# sse_customer_key: "SSECustomerKey",
|
@@ -10004,10 +10649,28 @@ module Aws::S3
|
|
10004
10649
|
#
|
10005
10650
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html
|
10006
10651
|
#
|
10652
|
+
# @option params [Integer] :max_buckets
|
10653
|
+
# Maximum number of buckets to be returned in response. When the number
|
10654
|
+
# is more than the count of buckets that are owned by an Amazon Web
|
10655
|
+
# Services account, return all the buckets in response.
|
10656
|
+
#
|
10657
|
+
# @option params [String] :continuation_token
|
10658
|
+
# `ContinuationToken` indicates to Amazon S3 that the list is being
|
10659
|
+
# continued on this bucket with a token. `ContinuationToken` is
|
10660
|
+
# obfuscated and is not a real key. You can use this `ContinuationToken`
|
10661
|
+
# for pagination of the list results.
|
10662
|
+
#
|
10663
|
+
# Length Constraints: Minimum length of 0. Maximum length of 1024.
|
10664
|
+
#
|
10665
|
+
# Required: No.
|
10666
|
+
#
|
10007
10667
|
# @return [Types::ListBucketsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
10008
10668
|
#
|
10009
10669
|
# * {Types::ListBucketsOutput#buckets #buckets} => Array<Types::Bucket>
|
10010
10670
|
# * {Types::ListBucketsOutput#owner #owner} => Types::Owner
|
10671
|
+
# * {Types::ListBucketsOutput#continuation_token #continuation_token} => String
|
10672
|
+
#
|
10673
|
+
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
|
10011
10674
|
#
|
10012
10675
|
#
|
10013
10676
|
# @example Example: To list all buckets
|
@@ -10039,6 +10702,13 @@ module Aws::S3
|
|
10039
10702
|
# },
|
10040
10703
|
# }
|
10041
10704
|
#
|
10705
|
+
# @example Request syntax with placeholder values
|
10706
|
+
#
|
10707
|
+
# resp = client.list_buckets({
|
10708
|
+
# max_buckets: 1,
|
10709
|
+
# continuation_token: "Token",
|
10710
|
+
# })
|
10711
|
+
#
|
10042
10712
|
# @example Response structure
|
10043
10713
|
#
|
10044
10714
|
# resp.buckets #=> Array
|
@@ -10046,6 +10716,7 @@ module Aws::S3
|
|
10046
10716
|
# resp.buckets[0].creation_date #=> Time
|
10047
10717
|
# resp.owner.display_name #=> String
|
10048
10718
|
# resp.owner.id #=> String
|
10719
|
+
# resp.continuation_token #=> String
|
10049
10720
|
#
|
10050
10721
|
# @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets AWS API Documentation
|
10051
10722
|
#
|
@@ -10094,9 +10765,9 @@ module Aws::S3
|
|
10094
10765
|
#
|
10095
10766
|
# @option params [String] :continuation_token
|
10096
10767
|
# `ContinuationToken` indicates to Amazon S3 that the list is being
|
10097
|
-
# continued on this
|
10098
|
-
# obfuscated and is not a real
|
10099
|
-
# 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.
|
10100
10771
|
#
|
10101
10772
|
# @option params [Integer] :max_directory_buckets
|
10102
10773
|
# Maximum number of buckets to be returned in response. When the number
|
@@ -10140,7 +10811,11 @@ module Aws::S3
|
|
10140
10811
|
#
|
10141
10812
|
# <note markdown="1"> **Directory buckets** - If multipart uploads in a directory bucket are
|
10142
10813
|
# in progress, you can't delete the bucket until all the in-progress
|
10143
|
-
# multipart uploads are aborted or completed.
|
10814
|
+
# multipart uploads are aborted or completed. To delete these
|
10815
|
+
# in-progress multipart uploads, use the `ListMultipartUploads`
|
10816
|
+
# operation to list the in-progress multipart uploads in the bucket and
|
10817
|
+
# use the `AbortMultupartUpload` operation to abort all the in-progress
|
10818
|
+
# multipart uploads.
|
10144
10819
|
#
|
10145
10820
|
# </note>
|
10146
10821
|
#
|
@@ -10306,12 +10981,26 @@ module Aws::S3
|
|
10306
10981
|
# </note>
|
10307
10982
|
#
|
10308
10983
|
# @option params [String] :encoding_type
|
10309
|
-
#
|
10310
|
-
#
|
10311
|
-
# Unicode character
|
10312
|
-
# characters, such as characters with an ASCII value from
|
10313
|
-
# characters that
|
10314
|
-
# parameter to request that Amazon S3 encode the keys in the
|
10984
|
+
# Encoding type used by Amazon S3 to encode the [object keys][1] in the
|
10985
|
+
# response. Responses are encoded only in UTF-8. An object key can
|
10986
|
+
# contain any Unicode character. However, the XML 1.0 parser can't
|
10987
|
+
# parse certain characters, such as characters with an ASCII value from
|
10988
|
+
# 0 to 10. For characters that aren't supported in XML 1.0, you can add
|
10989
|
+
# this parameter to request that Amazon S3 encode the keys in the
|
10990
|
+
# response. For more information about characters to avoid in object key
|
10991
|
+
# names, see [Object key naming guidelines][2].
|
10992
|
+
#
|
10993
|
+
# <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
|
10994
|
+
# in an object's key name will be percent-encoded according to UTF-8
|
10995
|
+
# code values. For example, the object `test_file(3).png` will appear as
|
10996
|
+
# `test_file%283%29.png`.
|
10997
|
+
#
|
10998
|
+
# </note>
|
10999
|
+
#
|
11000
|
+
#
|
11001
|
+
#
|
11002
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
|
11003
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
|
10315
11004
|
#
|
10316
11005
|
# @option params [String] :key_marker
|
10317
11006
|
# Specifies the multipart upload after which listing should begin.
|
@@ -10603,12 +11292,26 @@ module Aws::S3
|
|
10603
11292
|
# the response.
|
10604
11293
|
#
|
10605
11294
|
# @option params [String] :encoding_type
|
10606
|
-
#
|
10607
|
-
#
|
10608
|
-
# Unicode character
|
10609
|
-
# characters, such as characters with an ASCII value from
|
10610
|
-
# characters that
|
10611
|
-
# parameter to request that Amazon S3 encode the keys in the
|
11295
|
+
# Encoding type used by Amazon S3 to encode the [object keys][1] in the
|
11296
|
+
# response. Responses are encoded only in UTF-8. An object key can
|
11297
|
+
# contain any Unicode character. However, the XML 1.0 parser can't
|
11298
|
+
# parse certain characters, such as characters with an ASCII value from
|
11299
|
+
# 0 to 10. For characters that aren't supported in XML 1.0, you can add
|
11300
|
+
# this parameter to request that Amazon S3 encode the keys in the
|
11301
|
+
# response. For more information about characters to avoid in object key
|
11302
|
+
# names, see [Object key naming guidelines][2].
|
11303
|
+
#
|
11304
|
+
# <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
|
11305
|
+
# in an object's key name will be percent-encoded according to UTF-8
|
11306
|
+
# code values. For example, the object `test_file(3).png` will appear as
|
11307
|
+
# `test_file%283%29.png`.
|
11308
|
+
#
|
11309
|
+
# </note>
|
11310
|
+
#
|
11311
|
+
#
|
11312
|
+
#
|
11313
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
|
11314
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
|
10612
11315
|
#
|
10613
11316
|
# @option params [String] :key_marker
|
10614
11317
|
# Specifies the key to start with when listing objects in a bucket.
|
@@ -10862,12 +11565,26 @@ module Aws::S3
|
|
10862
11565
|
# A delimiter is a character that you use to group keys.
|
10863
11566
|
#
|
10864
11567
|
# @option params [String] :encoding_type
|
10865
|
-
#
|
10866
|
-
#
|
10867
|
-
# Unicode character
|
10868
|
-
# characters, such as characters with an ASCII value from
|
10869
|
-
# characters that
|
10870
|
-
# parameter to request that Amazon S3 encode the keys in the
|
11568
|
+
# Encoding type used by Amazon S3 to encode the [object keys][1] in the
|
11569
|
+
# response. Responses are encoded only in UTF-8. An object key can
|
11570
|
+
# contain any Unicode character. However, the XML 1.0 parser can't
|
11571
|
+
# parse certain characters, such as characters with an ASCII value from
|
11572
|
+
# 0 to 10. For characters that aren't supported in XML 1.0, you can add
|
11573
|
+
# this parameter to request that Amazon S3 encode the keys in the
|
11574
|
+
# response. For more information about characters to avoid in object key
|
11575
|
+
# names, see [Object key naming guidelines][2].
|
11576
|
+
#
|
11577
|
+
# <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
|
11578
|
+
# in an object's key name will be percent-encoded according to UTF-8
|
11579
|
+
# code values. For example, the object `test_file(3).png` will appear as
|
11580
|
+
# `test_file%283%29.png`.
|
11581
|
+
#
|
11582
|
+
# </note>
|
11583
|
+
#
|
11584
|
+
#
|
11585
|
+
#
|
11586
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
|
11587
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
|
10871
11588
|
#
|
10872
11589
|
# @option params [String] :marker
|
10873
11590
|
# Marker is where you want Amazon S3 to start listing from. Amazon S3
|
@@ -11009,12 +11726,20 @@ module Aws::S3
|
|
11009
11726
|
# programmatically][1] in the *Amazon S3 User Guide*. To get a list of
|
11010
11727
|
# your buckets, see [ListBuckets][2].
|
11011
11728
|
#
|
11012
|
-
# <note markdown="1"> **
|
11013
|
-
#
|
11014
|
-
#
|
11015
|
-
#
|
11016
|
-
#
|
11017
|
-
#
|
11729
|
+
# <note markdown="1"> * **General purpose bucket** - For general purpose buckets,
|
11730
|
+
# `ListObjectsV2` doesn't return prefixes that are related only to
|
11731
|
+
# in-progress multipart uploads.
|
11732
|
+
#
|
11733
|
+
# * **Directory buckets** - For directory buckets, `ListObjectsV2`
|
11734
|
+
# response includes the prefixes that are related only to in-progress
|
11735
|
+
# multipart uploads.
|
11736
|
+
#
|
11737
|
+
# * **Directory buckets** - For directory buckets, you must make
|
11738
|
+
# requests for this API operation to the Zonal endpoint. These
|
11739
|
+
# endpoints support virtual-hosted-style requests in the format
|
11740
|
+
# `https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
|
11741
|
+
# `. Path-style requests are not supported. For more information, see
|
11742
|
+
# [Regional and Zonal endpoints][3] in the *Amazon S3 User Guide*.
|
11018
11743
|
#
|
11019
11744
|
# </note>
|
11020
11745
|
#
|
@@ -11143,10 +11868,26 @@ module Aws::S3
|
|
11143
11868
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
|
11144
11869
|
#
|
11145
11870
|
# @option params [String] :encoding_type
|
11146
|
-
# Encoding type used by Amazon S3 to encode object keys in the
|
11147
|
-
#
|
11148
|
-
#
|
11149
|
-
#
|
11871
|
+
# Encoding type used by Amazon S3 to encode the [object keys][1] in the
|
11872
|
+
# response. Responses are encoded only in UTF-8. An object key can
|
11873
|
+
# contain any Unicode character. However, the XML 1.0 parser can't
|
11874
|
+
# parse certain characters, such as characters with an ASCII value from
|
11875
|
+
# 0 to 10. For characters that aren't supported in XML 1.0, you can add
|
11876
|
+
# this parameter to request that Amazon S3 encode the keys in the
|
11877
|
+
# response. For more information about characters to avoid in object key
|
11878
|
+
# names, see [Object key naming guidelines][2].
|
11879
|
+
#
|
11880
|
+
# <note markdown="1"> When using the URL encoding type, non-ASCII characters that are used
|
11881
|
+
# in an object's key name will be percent-encoded according to UTF-8
|
11882
|
+
# code values. For example, the object `test_file(3).png` will appear as
|
11883
|
+
# `test_file%283%29.png`.
|
11884
|
+
#
|
11885
|
+
# </note>
|
11886
|
+
#
|
11887
|
+
#
|
11888
|
+
#
|
11889
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
|
11890
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines
|
11150
11891
|
#
|
11151
11892
|
# @option params [Integer] :max_keys
|
11152
11893
|
# Sets the maximum number of keys returned in the response. By default,
|
@@ -12346,66 +13087,156 @@ module Aws::S3
|
|
12346
13087
|
req.send_request(options)
|
12347
13088
|
end
|
12348
13089
|
|
12349
|
-
#
|
13090
|
+
# This operation configures default encryption and Amazon S3 Bucket Keys
|
13091
|
+
# for an existing bucket.
|
13092
|
+
#
|
13093
|
+
# <note markdown="1"> <b>Directory buckets </b> - For directory buckets, you must make
|
13094
|
+
# requests for this API operation to the Regional endpoint. These
|
13095
|
+
# endpoints support path-style requests in the format
|
13096
|
+
# `https://s3express-control.region_code.amazonaws.com/bucket-name `.
|
13097
|
+
# Virtual-hosted-style requests aren't supported. For more information,
|
13098
|
+
# see [Regional and Zonal endpoints][1] in the *Amazon S3 User Guide*.
|
13099
|
+
#
|
13100
|
+
# </note>
|
13101
|
+
#
|
13102
|
+
# By default, all buckets have a default encryption configuration that
|
13103
|
+
# uses server-side encryption with Amazon S3 managed keys (SSE-S3).
|
13104
|
+
#
|
13105
|
+
# <note markdown="1"> * **General purpose buckets**
|
13106
|
+
#
|
13107
|
+
# * You can optionally configure default encryption for a bucket by
|
13108
|
+
# using server-side encryption with Key Management Service (KMS)
|
13109
|
+
# keys (SSE-KMS) or dual-layer server-side encryption with Amazon
|
13110
|
+
# Web Services KMS keys (DSSE-KMS). If you specify default
|
13111
|
+
# encryption by using SSE-KMS, you can also configure [Amazon S3
|
13112
|
+
# Bucket Keys][2]. For information about the bucket default
|
13113
|
+
# encryption feature, see [Amazon S3 Bucket Default Encryption][3]
|
13114
|
+
# in the *Amazon S3 User Guide*.
|
13115
|
+
#
|
13116
|
+
# * If you use PutBucketEncryption to set your [default bucket
|
13117
|
+
# encryption][3] to SSE-KMS, you should verify that your KMS key ID
|
13118
|
+
# is correct. Amazon S3 doesn't validate the KMS key ID provided in
|
13119
|
+
# PutBucketEncryption requests.
|
13120
|
+
#
|
13121
|
+
# * <b>Directory buckets </b> - You can optionally configure default
|
13122
|
+
# encryption for a bucket by using server-side encryption with Key
|
13123
|
+
# Management Service (KMS) keys (SSE-KMS).
|
13124
|
+
#
|
13125
|
+
# * We recommend that the bucket's default encryption uses the
|
13126
|
+
# desired encryption configuration and you don't override the
|
13127
|
+
# bucket default encryption in your `CreateSession` requests or
|
13128
|
+
# `PUT` object requests. Then, new objects are automatically
|
13129
|
+
# encrypted with the desired encryption settings. For more
|
13130
|
+
# information about the encryption overriding behaviors in directory
|
13131
|
+
# buckets, see [Specifying server-side encryption with KMS for new
|
13132
|
+
# object uploads][4].
|
13133
|
+
#
|
13134
|
+
# * Your SSE-KMS configuration can only support 1 [customer managed
|
13135
|
+
# key][5] per directory bucket for the lifetime of the bucket.
|
13136
|
+
# [Amazon Web Services managed key][6] (`aws/s3`) isn't supported.
|
13137
|
+
#
|
13138
|
+
# * S3 Bucket Keys are always enabled for `GET` and `PUT` operations
|
13139
|
+
# in a directory bucket and can’t be disabled. S3 Bucket Keys
|
13140
|
+
# aren't supported, when you copy SSE-KMS encrypted objects from
|
13141
|
+
# general purpose buckets to directory buckets, from directory
|
13142
|
+
# buckets to general purpose buckets, or between directory buckets,
|
13143
|
+
# through [CopyObject][7], [UploadPartCopy][8], [the Copy operation
|
13144
|
+
# in Batch Operations][9], or [the import jobs][10]. In this case,
|
13145
|
+
# Amazon S3 makes a call to KMS every time a copy request is made
|
13146
|
+
# for a KMS-encrypted object.
|
13147
|
+
#
|
13148
|
+
# * When you specify an [KMS customer managed key][5] for encryption
|
13149
|
+
# in your directory bucket, only use the key ID or key ARN. The key
|
13150
|
+
# alias format of the KMS key isn't supported.
|
13151
|
+
#
|
13152
|
+
# * For directory buckets, if you use PutBucketEncryption to set your
|
13153
|
+
# [default bucket encryption][3] to SSE-KMS, Amazon S3 validates the
|
13154
|
+
# KMS key ID provided in PutBucketEncryption requests.
|
12350
13155
|
#
|
12351
13156
|
# </note>
|
12352
13157
|
#
|
12353
|
-
#
|
12354
|
-
#
|
13158
|
+
# If you're specifying a customer managed KMS key, we recommend using a
|
13159
|
+
# fully qualified KMS key ARN. If you use a KMS key alias instead, then
|
13160
|
+
# KMS resolves the key within the requester’s account. This behavior can
|
13161
|
+
# result in data that's encrypted with a KMS key that belongs to the
|
13162
|
+
# requester, and not the bucket owner.
|
13163
|
+
#
|
13164
|
+
# Also, this action requires Amazon Web Services Signature Version 4.
|
13165
|
+
# For more information, see [ Authenticating Requests (Amazon Web
|
13166
|
+
# Services Signature Version 4)][11].
|
13167
|
+
#
|
13168
|
+
# Permissions
|
13169
|
+
# : * **General purpose bucket permissions** - The
|
13170
|
+
# `s3:PutEncryptionConfiguration` permission is required in a
|
13171
|
+
# policy. The bucket owner has this permission by default. The
|
13172
|
+
# bucket owner can grant this permission to others. For more
|
13173
|
+
# information about permissions, see [Permissions Related to Bucket
|
13174
|
+
# Operations][12] and [Managing Access Permissions to Your Amazon S3
|
13175
|
+
# Resources][13] in the *Amazon S3 User Guide*.
|
13176
|
+
#
|
13177
|
+
# * **Directory bucket permissions** - To grant access to this API
|
13178
|
+
# operation, you must have the
|
13179
|
+
# `s3express:PutEncryptionConfiguration` permission in an IAM
|
13180
|
+
# identity-based policy instead of a bucket policy. Cross-account
|
13181
|
+
# access to this API operation isn't supported. This operation can
|
13182
|
+
# only be performed by the Amazon Web Services account that owns the
|
13183
|
+
# resource. For more information about directory bucket policies and
|
13184
|
+
# permissions, see [Amazon Web Services Identity and Access
|
13185
|
+
# Management (IAM) for S3 Express One Zone][14] in the *Amazon S3
|
13186
|
+
# User Guide*.
|
13187
|
+
#
|
13188
|
+
# To set a directory bucket default encryption with SSE-KMS, you
|
13189
|
+
# must also have the `kms:GenerateDataKey` and the `kms:Decrypt`
|
13190
|
+
# permissions in IAM identity-based policies and KMS key policies
|
13191
|
+
# for the target KMS key.
|
12355
13192
|
#
|
12356
|
-
#
|
12357
|
-
# uses server-side encryption with Amazon S3 managed keys (SSE-S3). You
|
12358
|
-
# can optionally configure default encryption for a bucket by using
|
12359
|
-
# server-side encryption with Key Management Service (KMS) keys
|
12360
|
-
# (SSE-KMS) or dual-layer server-side encryption with Amazon Web
|
12361
|
-
# Services KMS keys (DSSE-KMS). If you specify default encryption by
|
12362
|
-
# using SSE-KMS, you can also configure [Amazon S3 Bucket Keys][1]. If
|
12363
|
-
# you use PutBucketEncryption to set your [default bucket encryption][2]
|
12364
|
-
# to SSE-KMS, you should verify that your KMS key ID is correct. Amazon
|
12365
|
-
# S3 does not validate the KMS key ID provided in PutBucketEncryption
|
12366
|
-
# requests.
|
12367
|
-
#
|
12368
|
-
# This action requires Amazon Web Services Signature Version 4. For more
|
12369
|
-
# information, see [ Authenticating Requests (Amazon Web Services
|
12370
|
-
# Signature Version 4)][3].
|
13193
|
+
# HTTP Host header syntax
|
12371
13194
|
#
|
12372
|
-
#
|
12373
|
-
#
|
12374
|
-
# permission by default. The bucket owner can grant this permission to
|
12375
|
-
# others. For more information about permissions, see [Permissions
|
12376
|
-
# Related to Bucket Subresource Operations][4] and [Managing Access
|
12377
|
-
# Permissions to Your Amazon S3 Resources][5] in the *Amazon S3 User
|
12378
|
-
# Guide*.
|
13195
|
+
# : <b>Directory buckets </b> - The HTTP Host header syntax is
|
13196
|
+
# `s3express-control.region.amazonaws.com`.
|
12379
13197
|
#
|
12380
13198
|
# The following operations are related to `PutBucketEncryption`:
|
12381
13199
|
#
|
12382
|
-
# * [GetBucketEncryption][
|
13200
|
+
# * [GetBucketEncryption][15]
|
12383
13201
|
#
|
12384
|
-
# * [DeleteBucketEncryption][
|
13202
|
+
# * [DeleteBucketEncryption][16]
|
12385
13203
|
#
|
12386
13204
|
#
|
12387
13205
|
#
|
12388
|
-
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/
|
12389
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-
|
12390
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/
|
12391
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
12392
|
-
# [5]: https://docs.aws.amazon.com/
|
12393
|
-
# [6]: https://docs.aws.amazon.com/
|
12394
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
13206
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
13207
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
|
13208
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
|
13209
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
13210
|
+
# [5]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
13211
|
+
# [6]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
13212
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
13213
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
13214
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
|
13215
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
|
13216
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
|
13217
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
|
13218
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
|
13219
|
+
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
|
13220
|
+
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
|
13221
|
+
# [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
|
12395
13222
|
#
|
12396
13223
|
# @option params [required, String] :bucket
|
12397
13224
|
# Specifies default encryption for a bucket using server-side encryption
|
12398
|
-
# with different key options.
|
12399
|
-
#
|
12400
|
-
#
|
12401
|
-
#
|
12402
|
-
#
|
12403
|
-
#
|
12404
|
-
#
|
13225
|
+
# with different key options.
|
13226
|
+
#
|
13227
|
+
# <b>Directory buckets </b> - When you use this operation with a
|
13228
|
+
# directory bucket, you must use path-style requests in the format
|
13229
|
+
# `https://s3express-control.region_code.amazonaws.com/bucket-name `.
|
13230
|
+
# Virtual-hosted-style requests aren't supported. Directory bucket
|
13231
|
+
# names must be unique in the chosen Availability Zone. Bucket names
|
13232
|
+
# must also follow the format ` bucket_base_name--az_id--x-s3` (for
|
13233
|
+
# example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
|
13234
|
+
# bucket naming restrictions, see [Directory bucket naming rules][1] in
|
13235
|
+
# the *Amazon S3 User Guide*
|
12405
13236
|
#
|
12406
13237
|
#
|
12407
13238
|
#
|
12408
|
-
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/
|
13239
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
|
12409
13240
|
#
|
12410
13241
|
# @option params [String] :content_md5
|
12411
13242
|
# The base64-encoded 128-bit MD5 digest of the server-side encryption
|
@@ -12415,6 +13246,10 @@ module Aws::S3
|
|
12415
13246
|
# (CLI) or Amazon Web Services SDKs, this field is calculated
|
12416
13247
|
# automatically.
|
12417
13248
|
#
|
13249
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
13250
|
+
#
|
13251
|
+
# </note>
|
13252
|
+
#
|
12418
13253
|
# @option params [String] :checksum_algorithm
|
12419
13254
|
# Indicates the algorithm used to create the checksum for the object
|
12420
13255
|
# when you use the SDK. This header will not provide any additional
|
@@ -12427,6 +13262,11 @@ module Aws::S3
|
|
12427
13262
|
# If you provide an individual checksum, Amazon S3 ignores any provided
|
12428
13263
|
# `ChecksumAlgorithm` parameter.
|
12429
13264
|
#
|
13265
|
+
# <note markdown="1"> For directory buckets, when you use Amazon Web Services SDKs, `CRC32`
|
13266
|
+
# is the default checksum algorithm that's used for performance.
|
13267
|
+
#
|
13268
|
+
# </note>
|
13269
|
+
#
|
12430
13270
|
#
|
12431
13271
|
#
|
12432
13272
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
|
@@ -12439,6 +13279,12 @@ module Aws::S3
|
|
12439
13279
|
# you provide does not match the actual owner of the bucket, the request
|
12440
13280
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
12441
13281
|
#
|
13282
|
+
# <note markdown="1"> For directory buckets, this header is not supported in this API
|
13283
|
+
# operation. If you specify this header, the request fails with the HTTP
|
13284
|
+
# status code `501 Not Implemented`.
|
13285
|
+
#
|
13286
|
+
# </note>
|
13287
|
+
#
|
12442
13288
|
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
12443
13289
|
#
|
12444
13290
|
# @example Request syntax with placeholder values
|
@@ -12909,23 +13755,22 @@ module Aws::S3
|
|
12909
13755
|
# lifecycle configuration. For information about lifecycle
|
12910
13756
|
# configuration, see [Managing your storage lifecycle][1].
|
12911
13757
|
#
|
12912
|
-
# <note markdown="1"> Bucket lifecycle configuration now supports specifying a lifecycle
|
12913
|
-
# rule using an object key name prefix, one or more object tags, object
|
12914
|
-
# size, or any combination of these. Accordingly, this section describes
|
12915
|
-
# the latest API. The previous version of the API supported filtering
|
12916
|
-
# based only on an object key name prefix, which is supported for
|
12917
|
-
# backward compatibility. For the related API description, see
|
12918
|
-
# [PutBucketLifecycle][2].
|
12919
|
-
#
|
12920
|
-
# </note>
|
12921
|
-
#
|
12922
13758
|
# Rules
|
12923
13759
|
#
|
12924
13760
|
# : You specify the lifecycle configuration in your request body. The
|
12925
13761
|
# lifecycle configuration is specified as XML consisting of one or
|
12926
13762
|
# more rules. An Amazon S3 Lifecycle configuration can have up to
|
12927
|
-
# 1,000 rules. This limit is not adjustable.
|
12928
|
-
#
|
13763
|
+
# 1,000 rules. This limit is not adjustable.
|
13764
|
+
#
|
13765
|
+
# Bucket lifecycle configuration supports specifying a lifecycle rule
|
13766
|
+
# using an object key name prefix, one or more object tags, object
|
13767
|
+
# size, or any combination of these. Accordingly, this section
|
13768
|
+
# describes the latest API. The previous version of the API supported
|
13769
|
+
# filtering based only on an object key name prefix, which is
|
13770
|
+
# supported for backward compatibility. For the related API
|
13771
|
+
# description, see [PutBucketLifecycle][2].
|
13772
|
+
#
|
13773
|
+
# A lifecycle rule consists of the following:
|
12929
13774
|
#
|
12930
13775
|
# * A filter identifying a subset of objects to which the rule
|
12931
13776
|
# applies. The filter can be based on a key name prefix, object
|
@@ -13016,7 +13861,26 @@ module Aws::S3
|
|
13016
13861
|
# you provide does not match the actual owner of the bucket, the request
|
13017
13862
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
13018
13863
|
#
|
13019
|
-
# @
|
13864
|
+
# @option params [String] :transition_default_minimum_object_size
|
13865
|
+
# Indicates which default minimum object size behavior is applied to the
|
13866
|
+
# lifecycle configuration.
|
13867
|
+
#
|
13868
|
+
# * `all_storage_classes_128K` - Objects smaller than 128 KB will not
|
13869
|
+
# transition to any storage class by default.
|
13870
|
+
#
|
13871
|
+
# * `varies_by_storage_class` - Objects smaller than 128 KB will
|
13872
|
+
# transition to Glacier Flexible Retrieval or Glacier Deep Archive
|
13873
|
+
# storage classes. By default, all other storage classes will prevent
|
13874
|
+
# transitions smaller than 128 KB.
|
13875
|
+
#
|
13876
|
+
# To customize the minimum object size for any transition you can add a
|
13877
|
+
# filter that specifies a custom `ObjectSizeGreaterThan` or
|
13878
|
+
# `ObjectSizeLessThan` in the body of your transition rule. Custom
|
13879
|
+
# filters always take precedence over the default transition behavior.
|
13880
|
+
#
|
13881
|
+
# @return [Types::PutBucketLifecycleConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
13882
|
+
#
|
13883
|
+
# * {Types::PutBucketLifecycleConfigurationOutput#transition_default_minimum_object_size #transition_default_minimum_object_size} => String
|
13020
13884
|
#
|
13021
13885
|
#
|
13022
13886
|
# @example Example: Put bucket lifecycle
|
@@ -13108,8 +13972,13 @@ module Aws::S3
|
|
13108
13972
|
# ],
|
13109
13973
|
# },
|
13110
13974
|
# expected_bucket_owner: "AccountId",
|
13975
|
+
# transition_default_minimum_object_size: "varies_by_storage_class", # accepts varies_by_storage_class, all_storage_classes_128K
|
13111
13976
|
# })
|
13112
13977
|
#
|
13978
|
+
# @example Response structure
|
13979
|
+
#
|
13980
|
+
# resp.transition_default_minimum_object_size #=> String, one of "varies_by_storage_class", "all_storage_classes_128K"
|
13981
|
+
#
|
13113
13982
|
# @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration AWS API Documentation
|
13114
13983
|
#
|
13115
13984
|
# @overload put_bucket_lifecycle_configuration(params = {})
|
@@ -13862,13 +14731,13 @@ module Aws::S3
|
|
13862
14731
|
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
13863
14732
|
# the supported algorithm from the following list:
|
13864
14733
|
#
|
13865
|
-
# * CRC32
|
14734
|
+
# * `CRC32`
|
13866
14735
|
#
|
13867
|
-
# * CRC32C
|
14736
|
+
# * `CRC32C`
|
13868
14737
|
#
|
13869
|
-
# * SHA1
|
14738
|
+
# * `SHA1`
|
13870
14739
|
#
|
13871
|
-
# * SHA256
|
14740
|
+
# * `SHA256`
|
13872
14741
|
#
|
13873
14742
|
# For more information, see [Checking object integrity][1] in the
|
13874
14743
|
# *Amazon S3 User Guide*.
|
@@ -14435,6 +15304,14 @@ module Aws::S3
|
|
14435
15304
|
#
|
14436
15305
|
# </note>
|
14437
15306
|
#
|
15307
|
+
# <note markdown="1"> When you enable versioning on a bucket for the first time, it might
|
15308
|
+
# take a short amount of time for the change to be fully propagated. We
|
15309
|
+
# recommend that you wait for 15 minutes after enabling versioning
|
15310
|
+
# before issuing write operations (`PUT` or `DELETE`) on objects in the
|
15311
|
+
# bucket.
|
15312
|
+
#
|
15313
|
+
# </note>
|
15314
|
+
#
|
14438
15315
|
# Sets the versioning state of an existing bucket.
|
14439
15316
|
#
|
14440
15317
|
# You can set the versioning state with one of the following values:
|
@@ -14828,6 +15705,10 @@ module Aws::S3
|
|
14828
15705
|
# interruptions when a session expires. For more information about
|
14829
15706
|
# authorization, see [ `CreateSession` ][5].
|
14830
15707
|
#
|
15708
|
+
# If the object is encrypted with SSE-KMS, you must also have the
|
15709
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
15710
|
+
# identity-based policies and KMS key policies for the KMS key.
|
15711
|
+
#
|
14831
15712
|
# Data integrity with Content-MD5
|
14832
15713
|
# : * **General purpose bucket** - To ensure that data is not corrupted
|
14833
15714
|
# traversing the network, use the `Content-MD5` header. When you use
|
@@ -15031,13 +15912,13 @@ module Aws::S3
|
|
15031
15912
|
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
15032
15913
|
# the supported algorithm from the following list:
|
15033
15914
|
#
|
15034
|
-
# * CRC32
|
15915
|
+
# * `CRC32`
|
15035
15916
|
#
|
15036
|
-
# * CRC32C
|
15917
|
+
# * `CRC32C`
|
15037
15918
|
#
|
15038
|
-
# * SHA1
|
15919
|
+
# * `SHA1`
|
15039
15920
|
#
|
15040
|
-
# * SHA256
|
15921
|
+
# * `SHA256`
|
15041
15922
|
#
|
15042
15923
|
# For more information, see [Checking object integrity][1] in the
|
15043
15924
|
# *Amazon S3 User Guide*.
|
@@ -15060,9 +15941,9 @@ module Aws::S3
|
|
15060
15941
|
# @option params [String] :checksum_crc32
|
15061
15942
|
# This header can be used as a data integrity check to verify that the
|
15062
15943
|
# data received is the same data that was originally sent. This header
|
15063
|
-
# specifies the base64-encoded, 32-bit
|
15064
|
-
# more information, see [Checking object integrity][1] in the
|
15065
|
-
# User Guide*.
|
15944
|
+
# specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
|
15945
|
+
# For more information, see [Checking object integrity][1] in the
|
15946
|
+
# *Amazon S3 User Guide*.
|
15066
15947
|
#
|
15067
15948
|
#
|
15068
15949
|
#
|
@@ -15071,7 +15952,7 @@ module Aws::S3
|
|
15071
15952
|
# @option params [String] :checksum_crc32c
|
15072
15953
|
# This header can be used as a data integrity check to verify that the
|
15073
15954
|
# data received is the same data that was originally sent. This header
|
15074
|
-
# specifies the base64-encoded, 32-bit
|
15955
|
+
# specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
|
15075
15956
|
# For more information, see [Checking object integrity][1] in the
|
15076
15957
|
# *Amazon S3 User Guide*.
|
15077
15958
|
#
|
@@ -15110,6 +15991,25 @@ module Aws::S3
|
|
15110
15991
|
#
|
15111
15992
|
# [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
|
15112
15993
|
#
|
15994
|
+
# @option params [String] :if_none_match
|
15995
|
+
# Uploads the object only if the object key name does not already exist
|
15996
|
+
# in the bucket specified. Otherwise, Amazon S3 returns a `412
|
15997
|
+
# Precondition Failed` error.
|
15998
|
+
#
|
15999
|
+
# If a conflicting operation occurs during the upload S3 returns a `409
|
16000
|
+
# ConditionalRequestConflict` response. On a 409 failure you should
|
16001
|
+
# retry the upload.
|
16002
|
+
#
|
16003
|
+
# Expects the '*' (asterisk) character.
|
16004
|
+
#
|
16005
|
+
# For more information about conditional requests, see [RFC 7232][1], or
|
16006
|
+
# [Conditional requests][2] in the *Amazon S3 User Guide*.
|
16007
|
+
#
|
16008
|
+
#
|
16009
|
+
#
|
16010
|
+
# [1]: https://tools.ietf.org/html/rfc7232
|
16011
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
|
16012
|
+
#
|
15113
16013
|
# @option params [String] :grant_full_control
|
15114
16014
|
# Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
|
15115
16015
|
# object.
|
@@ -15158,25 +16058,65 @@ module Aws::S3
|
|
15158
16058
|
# object in Amazon S3 (for example, `AES256`, `aws:kms`,
|
15159
16059
|
# `aws:kms:dsse`).
|
15160
16060
|
#
|
15161
|
-
# <b>General purpose buckets </b> - You have four mutually exclusive
|
15162
|
-
#
|
15163
|
-
#
|
15164
|
-
#
|
15165
|
-
#
|
15166
|
-
#
|
15167
|
-
#
|
15168
|
-
#
|
15169
|
-
#
|
15170
|
-
#
|
15171
|
-
#
|
16061
|
+
# * <b>General purpose buckets </b> - You have four mutually exclusive
|
16062
|
+
# options to protect data using server-side encryption in Amazon S3,
|
16063
|
+
# depending on how you choose to manage the encryption keys.
|
16064
|
+
# Specifically, the encryption key options are Amazon S3 managed keys
|
16065
|
+
# (SSE-S3), Amazon Web Services KMS keys (SSE-KMS or DSSE-KMS), and
|
16066
|
+
# customer-provided keys (SSE-C). Amazon S3 encrypts data with
|
16067
|
+
# server-side encryption by using Amazon S3 managed keys (SSE-S3) by
|
16068
|
+
# default. You can optionally tell Amazon S3 to encrypt data at rest
|
16069
|
+
# by using server-side encryption with other key options. For more
|
16070
|
+
# information, see [Using Server-Side Encryption][1] in the *Amazon S3
|
16071
|
+
# User Guide*.
|
15172
16072
|
#
|
15173
|
-
# <b>Directory buckets </b> - For directory buckets, only
|
15174
|
-
#
|
15175
|
-
#
|
16073
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
16074
|
+
# two supported options for server-side encryption: server-side
|
16075
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
16076
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). We
|
16077
|
+
# recommend that the bucket's default encryption uses the desired
|
16078
|
+
# encryption configuration and you don't override the bucket default
|
16079
|
+
# encryption in your `CreateSession` requests or `PUT` object
|
16080
|
+
# requests. Then, new objects are automatically encrypted with the
|
16081
|
+
# desired encryption settings. For more information, see [Protecting
|
16082
|
+
# data with server-side encryption][2] in the *Amazon S3 User Guide*.
|
16083
|
+
# For more information about the encryption overriding behaviors in
|
16084
|
+
# directory buckets, see [Specifying server-side encryption with KMS
|
16085
|
+
# for new object uploads][3].
|
16086
|
+
#
|
16087
|
+
# In the Zonal endpoint API calls (except [CopyObject][4] and
|
16088
|
+
# [UploadPartCopy][5]) using the REST API, the encryption request
|
16089
|
+
# headers must match the encryption settings that are specified in the
|
16090
|
+
# `CreateSession` request. You can't override the values of the
|
16091
|
+
# encryption settings (`x-amz-server-side-encryption`,
|
16092
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`,
|
16093
|
+
# `x-amz-server-side-encryption-context`, and
|
16094
|
+
# `x-amz-server-side-encryption-bucket-key-enabled`) that are
|
16095
|
+
# specified in the `CreateSession` request. You don't need to
|
16096
|
+
# explicitly specify these encryption settings values in Zonal
|
16097
|
+
# endpoint API calls, and Amazon S3 will use the encryption settings
|
16098
|
+
# values from the `CreateSession` request to protect new objects in
|
16099
|
+
# the directory bucket.
|
16100
|
+
#
|
16101
|
+
# <note markdown="1"> When you use the CLI or the Amazon Web Services SDKs, for
|
16102
|
+
# `CreateSession`, the session token refreshes automatically to avoid
|
16103
|
+
# service interruptions when a session expires. The CLI or the Amazon
|
16104
|
+
# Web Services SDKs use the bucket's default encryption configuration
|
16105
|
+
# for the `CreateSession` request. It's not supported to override the
|
16106
|
+
# encryption settings values in the `CreateSession` request. So in the
|
16107
|
+
# Zonal endpoint API calls (except [CopyObject][4] and
|
16108
|
+
# [UploadPartCopy][5]), the encryption request headers must match the
|
16109
|
+
# default encryption configuration of the directory bucket.
|
16110
|
+
#
|
16111
|
+
# </note>
|
15176
16112
|
#
|
15177
16113
|
#
|
15178
16114
|
#
|
15179
16115
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
16116
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
16117
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
16118
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
16119
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
15180
16120
|
#
|
15181
16121
|
# @option params [String] :storage_class
|
15182
16122
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
@@ -15256,46 +16196,83 @@ module Aws::S3
|
|
15256
16196
|
# </note>
|
15257
16197
|
#
|
15258
16198
|
# @option params [String] :ssekms_key_id
|
15259
|
-
#
|
15260
|
-
#
|
15261
|
-
#
|
15262
|
-
#
|
15263
|
-
#
|
15264
|
-
#
|
15265
|
-
# x-amz-server-side-encryption
|
15266
|
-
#
|
15267
|
-
#
|
15268
|
-
#
|
16199
|
+
# Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for
|
16200
|
+
# object encryption. If the KMS key doesn't exist in the same account
|
16201
|
+
# that's issuing the command, you must use the full Key ARN not the Key
|
16202
|
+
# ID.
|
16203
|
+
#
|
16204
|
+
# **General purpose buckets** - If you specify
|
16205
|
+
# `x-amz-server-side-encryption` with `aws:kms` or `aws:kms:dsse`, this
|
16206
|
+
# header specifies the ID (Key ID, Key ARN, or Key Alias) of the KMS key
|
16207
|
+
# to use. If you specify `x-amz-server-side-encryption:aws:kms` or
|
16208
|
+
# `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide
|
16209
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
16210
|
+
# Amazon Web Services managed key (`aws/s3`) to protect the data.
|
16211
|
+
#
|
16212
|
+
# **Directory buckets** - If you specify `x-amz-server-side-encryption`
|
16213
|
+
# with `aws:kms`, you must specify the `
|
16214
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header with the ID (Key
|
16215
|
+
# ID or Key ARN) of the KMS symmetric encryption customer managed key to
|
16216
|
+
# use. Otherwise, you get an HTTP `400 Bad Request` error. Only use the
|
16217
|
+
# key ID or key ARN. The key alias format of the KMS key isn't
|
16218
|
+
# supported. Your SSE-KMS configuration can only support 1 [customer
|
16219
|
+
# managed key][1] per directory bucket for the lifetime of the bucket.
|
16220
|
+
# [Amazon Web Services managed key][2] (`aws/s3`) isn't supported.
|
16221
|
+
#
|
16222
|
+
#
|
16223
|
+
#
|
16224
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
16225
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
15269
16226
|
#
|
15270
|
-
#
|
16227
|
+
# @option params [String] :ssekms_encryption_context
|
16228
|
+
# Specifies the Amazon Web Services KMS Encryption Context as an
|
16229
|
+
# additional encryption context to use for object encryption. The value
|
16230
|
+
# of this header is a Base64-encoded string of a UTF-8 encoded JSON,
|
16231
|
+
# which contains the encryption context as key-value pairs. This value
|
16232
|
+
# is stored as object metadata and automatically gets passed on to
|
16233
|
+
# Amazon Web Services KMS for future `GetObject` operations on this
|
16234
|
+
# object.
|
15271
16235
|
#
|
15272
|
-
#
|
16236
|
+
# **General purpose buckets** - This value must be explicitly added
|
16237
|
+
# during `CopyObject` operations if you want an additional encryption
|
16238
|
+
# context for your object. For more information, see [Encryption
|
16239
|
+
# context][1] in the *Amazon S3 User Guide*.
|
15273
16240
|
#
|
15274
|
-
#
|
15275
|
-
#
|
15276
|
-
#
|
15277
|
-
#
|
15278
|
-
# value is stored as object metadata and automatically gets passed on to
|
15279
|
-
# Amazon Web Services KMS for future `GetObject` or `CopyObject`
|
15280
|
-
# operations on this object. This value must be explicitly added during
|
15281
|
-
# `CopyObject` operations.
|
16241
|
+
# **Directory buckets** - You can optionally provide an explicit
|
16242
|
+
# encryption context value. The value must match the default encryption
|
16243
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
16244
|
+
# encryption context value is not supported.
|
15282
16245
|
#
|
15283
|
-
# <note markdown="1"> This functionality is not supported for directory buckets.
|
15284
16246
|
#
|
15285
|
-
#
|
16247
|
+
#
|
16248
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context
|
15286
16249
|
#
|
15287
16250
|
# @option params [Boolean] :bucket_key_enabled
|
15288
16251
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
15289
16252
|
# encryption with server-side encryption using Key Management Service
|
15290
|
-
# (KMS) keys (SSE-KMS).
|
15291
|
-
#
|
16253
|
+
# (KMS) keys (SSE-KMS).
|
16254
|
+
#
|
16255
|
+
# **General purpose buckets** - Setting this header to `true` causes
|
16256
|
+
# Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.
|
16257
|
+
# Also, specifying this header with a PUT action doesn't affect
|
16258
|
+
# bucket-level settings for S3 Bucket Key.
|
15292
16259
|
#
|
15293
|
-
#
|
15294
|
-
#
|
16260
|
+
# **Directory buckets** - S3 Bucket Keys are always enabled for `GET`
|
16261
|
+
# and `PUT` operations in a directory bucket and can’t be disabled. S3
|
16262
|
+
# Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects
|
16263
|
+
# from general purpose buckets to directory buckets, from directory
|
16264
|
+
# buckets to general purpose buckets, or between directory buckets,
|
16265
|
+
# through [CopyObject][1], [UploadPartCopy][2], [the Copy operation in
|
16266
|
+
# Batch Operations][3], or [the import jobs][4]. In this case, Amazon S3
|
16267
|
+
# makes a call to KMS every time a copy request is made for a
|
16268
|
+
# KMS-encrypted object.
|
15295
16269
|
#
|
15296
|
-
# <note markdown="1"> This functionality is not supported for directory buckets.
|
15297
16270
|
#
|
15298
|
-
#
|
16271
|
+
#
|
16272
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
16273
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
16274
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
|
16275
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
|
15299
16276
|
#
|
15300
16277
|
# @option params [String] :request_payer
|
15301
16278
|
# Confirms that the requester knows that they will be charged for the
|
@@ -15373,134 +16350,134 @@ module Aws::S3
|
|
15373
16350
|
# * {Types::PutObjectOutput#request_charged #request_charged} => String
|
15374
16351
|
#
|
15375
16352
|
#
|
15376
|
-
# @example Example: To upload an object
|
16353
|
+
# @example Example: To upload an object and specify canned ACL.
|
15377
16354
|
#
|
15378
|
-
# # The following example uploads
|
15379
|
-
# #
|
16355
|
+
# # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
|
16356
|
+
# # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
|
15380
16357
|
#
|
15381
16358
|
# resp = client.put_object({
|
15382
|
-
#
|
16359
|
+
# acl: "authenticated-read",
|
16360
|
+
# body: "filetoupload",
|
15383
16361
|
# bucket: "examplebucket",
|
15384
|
-
# key: "
|
16362
|
+
# key: "exampleobject",
|
15385
16363
|
# })
|
15386
16364
|
#
|
15387
16365
|
# resp.to_h outputs the following:
|
15388
16366
|
# {
|
15389
16367
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15390
|
-
# version_id: "
|
16368
|
+
# version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
|
15391
16369
|
# }
|
15392
16370
|
#
|
15393
|
-
# @example Example: To
|
16371
|
+
# @example Example: To create an object.
|
15394
16372
|
#
|
15395
|
-
# # The following example
|
15396
|
-
# # storage class and use server-side encryption.
|
16373
|
+
# # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
|
15397
16374
|
#
|
15398
16375
|
# resp = client.put_object({
|
15399
|
-
# body: "
|
16376
|
+
# body: "filetoupload",
|
15400
16377
|
# bucket: "examplebucket",
|
15401
|
-
# key: "
|
15402
|
-
# server_side_encryption: "AES256",
|
15403
|
-
# storage_class: "STANDARD_IA",
|
16378
|
+
# key: "objectkey",
|
15404
16379
|
# })
|
15405
16380
|
#
|
15406
16381
|
# resp.to_h outputs the following:
|
15407
16382
|
# {
|
15408
16383
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15409
|
-
#
|
15410
|
-
# version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
|
16384
|
+
# version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
|
15411
16385
|
# }
|
15412
16386
|
#
|
15413
|
-
# @example Example: To upload object
|
16387
|
+
# @example Example: To upload an object
|
15414
16388
|
#
|
15415
|
-
# # The following example
|
15416
|
-
# #
|
16389
|
+
# # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
|
16390
|
+
# # syntax. S3 returns VersionId of the newly created object.
|
15417
16391
|
#
|
15418
16392
|
# resp = client.put_object({
|
15419
|
-
# body: "
|
16393
|
+
# body: "HappyFace.jpg",
|
15420
16394
|
# bucket: "examplebucket",
|
15421
|
-
# key: "
|
15422
|
-
# metadata: {
|
15423
|
-
# "metadata1" => "value1",
|
15424
|
-
# "metadata2" => "value2",
|
15425
|
-
# },
|
16395
|
+
# key: "HappyFace.jpg",
|
15426
16396
|
# })
|
15427
16397
|
#
|
15428
16398
|
# resp.to_h outputs the following:
|
15429
16399
|
# {
|
15430
16400
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15431
|
-
# version_id: "
|
16401
|
+
# version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
|
15432
16402
|
# }
|
15433
16403
|
#
|
15434
|
-
# @example Example: To upload an object and specify
|
16404
|
+
# @example Example: To upload an object and specify optional tags
|
15435
16405
|
#
|
15436
|
-
# # The following example uploads
|
15437
|
-
# #
|
16406
|
+
# # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
|
16407
|
+
# # S3 returns version ID of the newly created object.
|
15438
16408
|
#
|
15439
16409
|
# resp = client.put_object({
|
15440
|
-
#
|
15441
|
-
# body: "filetoupload",
|
16410
|
+
# body: "c:\\HappyFace.jpg",
|
15442
16411
|
# bucket: "examplebucket",
|
15443
|
-
# key: "
|
16412
|
+
# key: "HappyFace.jpg",
|
16413
|
+
# tagging: "key1=value1&key2=value2",
|
15444
16414
|
# })
|
15445
16415
|
#
|
15446
16416
|
# resp.to_h outputs the following:
|
15447
16417
|
# {
|
15448
16418
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15449
|
-
# version_id: "
|
16419
|
+
# version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
|
15450
16420
|
# }
|
15451
16421
|
#
|
15452
|
-
# @example Example: To
|
16422
|
+
# @example Example: To upload an object and specify server-side encryption and object tags
|
15453
16423
|
#
|
15454
|
-
# # The following example
|
16424
|
+
# # The following example uploads an object. The request specifies the optional server-side encryption option. The request
|
16425
|
+
# # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
|
15455
16426
|
#
|
15456
16427
|
# resp = client.put_object({
|
15457
16428
|
# body: "filetoupload",
|
15458
16429
|
# bucket: "examplebucket",
|
15459
|
-
# key: "
|
16430
|
+
# key: "exampleobject",
|
16431
|
+
# server_side_encryption: "AES256",
|
16432
|
+
# tagging: "key1=value1&key2=value2",
|
15460
16433
|
# })
|
15461
16434
|
#
|
15462
16435
|
# resp.to_h outputs the following:
|
15463
16436
|
# {
|
15464
16437
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15465
|
-
#
|
16438
|
+
# server_side_encryption: "AES256",
|
16439
|
+
# version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
|
15466
16440
|
# }
|
15467
16441
|
#
|
15468
|
-
# @example Example: To upload an object
|
16442
|
+
# @example Example: To upload an object (specify optional headers)
|
15469
16443
|
#
|
15470
|
-
# # The following example uploads an object. The request specifies
|
15471
|
-
# #
|
16444
|
+
# # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
|
16445
|
+
# # storage class and use server-side encryption.
|
15472
16446
|
#
|
15473
16447
|
# resp = client.put_object({
|
15474
|
-
# body: "
|
16448
|
+
# body: "HappyFace.jpg",
|
15475
16449
|
# bucket: "examplebucket",
|
15476
|
-
# key: "
|
16450
|
+
# key: "HappyFace.jpg",
|
15477
16451
|
# server_side_encryption: "AES256",
|
15478
|
-
#
|
16452
|
+
# storage_class: "STANDARD_IA",
|
15479
16453
|
# })
|
15480
16454
|
#
|
15481
16455
|
# resp.to_h outputs the following:
|
15482
16456
|
# {
|
15483
16457
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15484
16458
|
# server_side_encryption: "AES256",
|
15485
|
-
# version_id: "
|
16459
|
+
# version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
|
15486
16460
|
# }
|
15487
16461
|
#
|
15488
|
-
# @example Example: To upload
|
16462
|
+
# @example Example: To upload object and specify user-defined metadata
|
15489
16463
|
#
|
15490
|
-
# # The following example
|
15491
|
-
# # S3 returns version ID
|
16464
|
+
# # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
|
16465
|
+
# # enabled, S3 returns version ID in response.
|
15492
16466
|
#
|
15493
16467
|
# resp = client.put_object({
|
15494
|
-
# body: "
|
16468
|
+
# body: "filetoupload",
|
15495
16469
|
# bucket: "examplebucket",
|
15496
|
-
# key: "
|
15497
|
-
#
|
16470
|
+
# key: "exampleobject",
|
16471
|
+
# metadata: {
|
16472
|
+
# "metadata1" => "value1",
|
16473
|
+
# "metadata2" => "value2",
|
16474
|
+
# },
|
15498
16475
|
# })
|
15499
16476
|
#
|
15500
16477
|
# resp.to_h outputs the following:
|
15501
16478
|
# {
|
15502
16479
|
# etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
|
15503
|
-
# version_id: "
|
16480
|
+
# version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
|
15504
16481
|
# }
|
15505
16482
|
#
|
15506
16483
|
# @example Streaming a file from disk
|
@@ -15528,6 +16505,7 @@ module Aws::S3
|
|
15528
16505
|
# checksum_sha1: "ChecksumSHA1",
|
15529
16506
|
# checksum_sha256: "ChecksumSHA256",
|
15530
16507
|
# expires: Time.now,
|
16508
|
+
# if_none_match: "IfNoneMatch",
|
15531
16509
|
# grant_full_control: "GrantFullControl",
|
15532
16510
|
# grant_read: "GrantRead",
|
15533
16511
|
# grant_read_acp: "GrantReadACP",
|
@@ -16627,6 +17605,10 @@ module Aws::S3
|
|
16627
17605
|
#
|
16628
17606
|
# </note>
|
16629
17607
|
#
|
17608
|
+
# The `SELECT` job type for the RestoreObject operation is no longer
|
17609
|
+
# available to new customers. Existing customers of Amazon S3 Select can
|
17610
|
+
# continue to use the feature as usual. [Learn more][1]
|
17611
|
+
#
|
16630
17612
|
# Restores an archived copy of an object back into Amazon S3
|
16631
17613
|
#
|
16632
17614
|
# This functionality is not supported for Amazon S3 on Outposts.
|
@@ -16640,11 +17622,11 @@ module Aws::S3
|
|
16640
17622
|
# For more information about the `S3` structure in the request body, see
|
16641
17623
|
# the following:
|
16642
17624
|
#
|
16643
|
-
# * [PutObject][
|
17625
|
+
# * [PutObject][2]
|
16644
17626
|
#
|
16645
|
-
# * [Managing Access with ACLs][
|
17627
|
+
# * [Managing Access with ACLs][3] in the *Amazon S3 User Guide*
|
16646
17628
|
#
|
16647
|
-
# * [Protecting Data Using Server-Side Encryption][
|
17629
|
+
# * [Protecting Data Using Server-Side Encryption][4] in the *Amazon S3
|
16648
17630
|
# User Guide*
|
16649
17631
|
#
|
16650
17632
|
# Permissions
|
@@ -16653,8 +17635,8 @@ module Aws::S3
|
|
16653
17635
|
# `s3:RestoreObject` action. The bucket owner has this permission by
|
16654
17636
|
# default and can grant this permission to others. For more
|
16655
17637
|
# information about permissions, see [Permissions Related to Bucket
|
16656
|
-
# Subresource Operations][
|
16657
|
-
# Amazon S3 Resources][
|
17638
|
+
# Subresource Operations][5] and [Managing Access Permissions to Your
|
17639
|
+
# Amazon S3 Resources][6] in the *Amazon S3 User Guide*.
|
16658
17640
|
#
|
16659
17641
|
# Restoring objects
|
16660
17642
|
#
|
@@ -16717,11 +17699,11 @@ module Aws::S3
|
|
16717
17699
|
#
|
16718
17700
|
# For more information about archive retrieval options and provisioned
|
16719
17701
|
# capacity for `Expedited` data access, see [Restoring Archived
|
16720
|
-
# Objects][
|
17702
|
+
# Objects][7] in the *Amazon S3 User Guide*.
|
16721
17703
|
#
|
16722
17704
|
# You can use Amazon S3 restore speed upgrade to change the restore
|
16723
17705
|
# speed to a faster speed while it is in progress. For more
|
16724
|
-
# information, see [ Upgrading the speed of an in-progress restore][
|
17706
|
+
# information, see [ Upgrading the speed of an in-progress restore][8]
|
16725
17707
|
# in the *Amazon S3 User Guide*.
|
16726
17708
|
#
|
16727
17709
|
# To get the status of object restoration, you can send a `HEAD`
|
@@ -16729,7 +17711,7 @@ module Aws::S3
|
|
16729
17711
|
# provides information about the restoration status, in the response.
|
16730
17712
|
# You can use Amazon S3 event notifications to notify you when a
|
16731
17713
|
# restore is initiated or completed. For more information, see
|
16732
|
-
# [Configuring Amazon S3 Event Notifications][
|
17714
|
+
# [Configuring Amazon S3 Event Notifications][9] in the *Amazon S3
|
16733
17715
|
# User Guide*.
|
16734
17716
|
#
|
16735
17717
|
# After restoring an archived object, you can update the restoration
|
@@ -16745,8 +17727,8 @@ module Aws::S3
|
|
16745
17727
|
# restore an object copy for 10 days, but the object is scheduled to
|
16746
17728
|
# expire in 3 days, Amazon S3 deletes the object in 3 days. For more
|
16747
17729
|
# information about lifecycle configuration, see
|
16748
|
-
# [PutBucketLifecycleConfiguration][
|
16749
|
-
# Management][
|
17730
|
+
# [PutBucketLifecycleConfiguration][10] and [Object Lifecycle
|
17731
|
+
# Management][11] in *Amazon S3 User Guide*.
|
16750
17732
|
#
|
16751
17733
|
# Responses
|
16752
17734
|
#
|
@@ -16784,23 +17766,24 @@ module Aws::S3
|
|
16784
17766
|
#
|
16785
17767
|
# The following operations are related to `RestoreObject`:
|
16786
17768
|
#
|
16787
|
-
# * [PutBucketLifecycleConfiguration][
|
17769
|
+
# * [PutBucketLifecycleConfiguration][10]
|
16788
17770
|
#
|
16789
|
-
# * [GetBucketNotificationConfiguration][
|
17771
|
+
# * [GetBucketNotificationConfiguration][12]
|
16790
17772
|
#
|
16791
17773
|
#
|
16792
17774
|
#
|
16793
|
-
# [1]:
|
16794
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/
|
16795
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/
|
16796
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/
|
16797
|
-
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-
|
16798
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/
|
16799
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
|
16800
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/
|
16801
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/
|
16802
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/
|
16803
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17775
|
+
# [1]: http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/
|
17776
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
|
17777
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
|
17778
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
|
17779
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
|
17780
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
|
17781
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
|
17782
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html#restoring-objects-upgrade-tier.title.html
|
17783
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
|
17784
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
|
17785
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
|
17786
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html
|
16804
17787
|
#
|
16805
17788
|
# @option params [required, String] :bucket
|
16806
17789
|
# The bucket name containing the object to restore.
|
@@ -17012,6 +17995,10 @@ module Aws::S3
|
|
17012
17995
|
#
|
17013
17996
|
# </note>
|
17014
17997
|
#
|
17998
|
+
# The SelectObjectContent operation is no longer available to new
|
17999
|
+
# customers. Existing customers of Amazon S3 Select can continue to use
|
18000
|
+
# the operation as usual. [Learn more][1]
|
18001
|
+
#
|
17015
18002
|
# This action filters the contents of an Amazon S3 object based on a
|
17016
18003
|
# simple structured query language (SQL) statement. In the request,
|
17017
18004
|
# along with the SQL expression, you must also specify a data
|
@@ -17023,7 +18010,7 @@ module Aws::S3
|
|
17023
18010
|
# This functionality is not supported for Amazon S3 on Outposts.
|
17024
18011
|
#
|
17025
18012
|
# For more information about Amazon S3 Select, see [Selecting Content
|
17026
|
-
# from Objects][
|
18013
|
+
# from Objects][2] and [SELECT Command][3] in the *Amazon S3 User
|
17027
18014
|
# Guide*.
|
17028
18015
|
#
|
17029
18016
|
#
|
@@ -17033,7 +18020,7 @@ module Aws::S3
|
|
17033
18020
|
# : You must have the `s3:GetObject` permission for this
|
17034
18021
|
# operation. Amazon S3 Select does not support anonymous access. For
|
17035
18022
|
# more information about permissions, see [Specifying Permissions in a
|
17036
|
-
# Policy][
|
18023
|
+
# Policy][4] in the *Amazon S3 User Guide*.
|
17037
18024
|
#
|
17038
18025
|
# Object Data Formats
|
17039
18026
|
#
|
@@ -17058,31 +18045,31 @@ module Aws::S3
|
|
17058
18045
|
#
|
17059
18046
|
# For objects that are encrypted with customer-provided encryption
|
17060
18047
|
# keys (SSE-C), you must use HTTPS, and you must use the headers
|
17061
|
-
# that are documented in the [GetObject][
|
18048
|
+
# that are documented in the [GetObject][5]. For more information
|
17062
18049
|
# about SSE-C, see [Server-Side Encryption (Using Customer-Provided
|
17063
|
-
# Encryption Keys)][
|
18050
|
+
# Encryption Keys)][6] in the *Amazon S3 User Guide*.
|
17064
18051
|
#
|
17065
18052
|
# For objects that are encrypted with Amazon S3 managed keys
|
17066
18053
|
# (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS), server-side
|
17067
18054
|
# encryption is handled transparently, so you don't need to specify
|
17068
18055
|
# anything. For more information about server-side encryption,
|
17069
18056
|
# including SSE-S3 and SSE-KMS, see [Protecting Data Using
|
17070
|
-
# Server-Side Encryption][
|
18057
|
+
# Server-Side Encryption][7] in the *Amazon S3 User Guide*.
|
17071
18058
|
#
|
17072
18059
|
# Working with the Response Body
|
17073
18060
|
#
|
17074
18061
|
# : Given the response size is unknown, Amazon S3 Select streams the
|
17075
18062
|
# response as a series of messages and includes a `Transfer-Encoding`
|
17076
18063
|
# header with `chunked` as its value in the response. For more
|
17077
|
-
# information, see [Appendix: SelectObjectContent Response][
|
18064
|
+
# information, see [Appendix: SelectObjectContent Response][8].
|
17078
18065
|
#
|
17079
18066
|
# GetObject Support
|
17080
18067
|
#
|
17081
18068
|
# : The `SelectObjectContent` action does not support the following
|
17082
|
-
# `GetObject` functionality. For more information, see [GetObject][
|
18069
|
+
# `GetObject` functionality. For more information, see [GetObject][5].
|
17083
18070
|
#
|
17084
18071
|
# * `Range`: Although you can specify a scan range for an Amazon S3
|
17085
|
-
# Select request (see [SelectObjectContentRequest - ScanRange][
|
18072
|
+
# Select request (see [SelectObjectContentRequest - ScanRange][9] in
|
17086
18073
|
# the request parameters), you cannot specify the range of bytes of
|
17087
18074
|
# an object to return.
|
17088
18075
|
#
|
@@ -17093,36 +18080,37 @@ module Aws::S3
|
|
17093
18080
|
# storage classes, nor objects in the `ARCHIVE_ACCESS` or
|
17094
18081
|
# `DEEP_ARCHIVE_ACCESS` access tiers of the `INTELLIGENT_TIERING`
|
17095
18082
|
# storage class. For more information about storage classes, see
|
17096
|
-
# [Using Amazon S3 storage classes][
|
18083
|
+
# [Using Amazon S3 storage classes][10] in the *Amazon S3 User
|
17097
18084
|
# Guide*.
|
17098
18085
|
#
|
17099
18086
|
# Special Errors
|
17100
18087
|
#
|
17101
18088
|
# : For a list of special errors for this operation, see [List of SELECT
|
17102
|
-
# Object Content Error Codes][
|
18089
|
+
# Object Content Error Codes][11]
|
17103
18090
|
#
|
17104
18091
|
# The following operations are related to `SelectObjectContent`:
|
17105
18092
|
#
|
17106
|
-
# * [GetObject][
|
18093
|
+
# * [GetObject][5]
|
17107
18094
|
#
|
17108
|
-
# * [GetBucketLifecycleConfiguration][
|
18095
|
+
# * [GetBucketLifecycleConfiguration][12]
|
17109
18096
|
#
|
17110
|
-
# * [PutBucketLifecycleConfiguration][
|
18097
|
+
# * [PutBucketLifecycleConfiguration][13]
|
17111
18098
|
#
|
17112
18099
|
#
|
17113
18100
|
#
|
17114
|
-
# [1]:
|
17115
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17116
|
-
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17117
|
-
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17118
|
-
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17119
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/
|
17120
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17121
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
17122
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17123
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17124
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
17125
|
-
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
18101
|
+
# [1]: http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/
|
18102
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html
|
18103
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-select.html
|
18104
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
|
18105
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
|
18106
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
|
18107
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
|
18108
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html
|
18109
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange
|
18110
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html
|
18111
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList
|
18112
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
|
18113
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
|
17126
18114
|
#
|
17127
18115
|
# @option params [required, String] :bucket
|
17128
18116
|
# The S3 bucket.
|
@@ -17206,22 +18194,22 @@ module Aws::S3
|
|
17206
18194
|
#
|
17207
18195
|
# @example EventStream Operation Example
|
17208
18196
|
#
|
17209
|
-
# You can process event once it arrives immediately, or wait until
|
17210
|
-
# full response complete and iterate through eventstream enumerator.
|
18197
|
+
# You can process the event once it arrives immediately, or wait until the
|
18198
|
+
# full response is complete and iterate through the eventstream enumerator.
|
17211
18199
|
#
|
17212
18200
|
# To interact with event immediately, you need to register #select_object_content
|
17213
|
-
# with callbacks
|
17214
|
-
#
|
18201
|
+
# with callbacks. Callbacks can be registered for specific events or for all
|
18202
|
+
# events, including error events.
|
17215
18203
|
#
|
17216
|
-
# Callbacks can be passed
|
17217
|
-
# statement attached to #select_object_content call directly. Hybrid
|
17218
|
-
# is also supported.
|
18204
|
+
# Callbacks can be passed into the `:event_stream_handler` option or within a
|
18205
|
+
# block statement attached to the #select_object_content call directly. Hybrid
|
18206
|
+
# pattern of both is also supported.
|
17219
18207
|
#
|
17220
|
-
# `:event_stream_handler` option takes in either Proc object or
|
18208
|
+
# `:event_stream_handler` option takes in either a Proc object or
|
17221
18209
|
# Aws::S3::EventStreams::SelectObjectContentEventStream object.
|
17222
18210
|
#
|
17223
|
-
# Usage pattern a):
|
17224
|
-
# Example for registering callbacks for all event types and error event
|
18211
|
+
# Usage pattern a): Callbacks with a block attached to #select_object_content
|
18212
|
+
# Example for registering callbacks for all event types and an error event
|
17225
18213
|
#
|
17226
18214
|
# client.select_object_content( # params input# ) do |stream|
|
17227
18215
|
# stream.on_error_event do |event|
|
@@ -17241,9 +18229,9 @@ module Aws::S3
|
|
17241
18229
|
#
|
17242
18230
|
# end
|
17243
18231
|
#
|
17244
|
-
# Usage pattern b):
|
18232
|
+
# Usage pattern b): Pass in `:event_stream_handler` for #select_object_content
|
17245
18233
|
#
|
17246
|
-
# 1)
|
18234
|
+
# 1) Create a Aws::S3::EventStreams::SelectObjectContentEventStream object
|
17247
18235
|
# Example for registering callbacks with specific events
|
17248
18236
|
#
|
17249
18237
|
# handler = Aws::S3::EventStreams::SelectObjectContentEventStream.new
|
@@ -17265,7 +18253,7 @@ module Aws::S3
|
|
17265
18253
|
#
|
17266
18254
|
# client.select_object_content( # params input #, event_stream_handler: handler)
|
17267
18255
|
#
|
17268
|
-
# 2)
|
18256
|
+
# 2) Use a Ruby Proc object
|
17269
18257
|
# Example for registering callbacks with specific events
|
17270
18258
|
#
|
17271
18259
|
# handler = Proc.new do |stream|
|
@@ -17288,7 +18276,7 @@ module Aws::S3
|
|
17288
18276
|
#
|
17289
18277
|
# client.select_object_content( # params input #, event_stream_handler: handler)
|
17290
18278
|
#
|
17291
|
-
# Usage pattern c):
|
18279
|
+
# Usage pattern c): Hybrid pattern of a) and b)
|
17292
18280
|
#
|
17293
18281
|
# handler = Aws::S3::EventStreams::SelectObjectContentEventStream.new
|
17294
18282
|
# handler.on_records_event do |event|
|
@@ -17318,8 +18306,7 @@ module Aws::S3
|
|
17318
18306
|
# end
|
17319
18307
|
# end
|
17320
18308
|
#
|
17321
|
-
#
|
17322
|
-
# iterate through events after response complete.
|
18309
|
+
# You can also iterate through events after the response complete.
|
17323
18310
|
#
|
17324
18311
|
# Events are available at resp.payload # => Enumerator
|
17325
18312
|
# For parameter input example, please refer to following request syntax
|
@@ -17470,14 +18457,27 @@ module Aws::S3
|
|
17470
18457
|
# </note>
|
17471
18458
|
#
|
17472
18459
|
# Permissions
|
17473
|
-
# : * **General purpose bucket permissions** -
|
17474
|
-
#
|
17475
|
-
#
|
17476
|
-
#
|
18460
|
+
# : * **General purpose bucket permissions** - To perform a multipart
|
18461
|
+
# upload with encryption using an Key Management Service key, the
|
18462
|
+
# requester must have permission to the `kms:Decrypt` and
|
18463
|
+
# `kms:GenerateDataKey` actions on the key. The requester must also
|
18464
|
+
# have permissions for the `kms:GenerateDataKey` action for the
|
18465
|
+
# `CreateMultipartUpload` API. Then, the requester needs permissions
|
18466
|
+
# for the `kms:Decrypt` action on the `UploadPart` and
|
18467
|
+
# `UploadPartCopy` APIs.
|
18468
|
+
#
|
18469
|
+
# These permissions are required because Amazon S3 must decrypt and
|
18470
|
+
# read data from the encrypted file parts before it completes the
|
18471
|
+
# multipart upload. For more information about KMS permissions, see
|
18472
|
+
# [Protecting data using server-side encryption with KMS][6] in the
|
18473
|
+
# *Amazon S3 User Guide*. For information about the permissions
|
18474
|
+
# required to use the multipart upload API, see [Multipart upload
|
18475
|
+
# and permissions][7] and [Multipart upload API and permissions][8]
|
18476
|
+
# in the *Amazon S3 User Guide*.
|
17477
18477
|
#
|
17478
18478
|
# * **Directory bucket permissions** - To grant access to this API
|
17479
18479
|
# operation on a directory bucket, we recommend that you use the [
|
17480
|
-
# `CreateSession` ][
|
18480
|
+
# `CreateSession` ][9] API operation for session-based
|
17481
18481
|
# authorization. Specifically, you grant the
|
17482
18482
|
# `s3express:CreateSession` permission to the directory bucket in a
|
17483
18483
|
# bucket policy or an IAM identity-based policy. Then, you make the
|
@@ -17488,7 +18488,11 @@ module Aws::S3
|
|
17488
18488
|
# token for use. Amazon Web Services CLI or SDKs create session and
|
17489
18489
|
# refresh the session token automatically to avoid service
|
17490
18490
|
# interruptions when a session expires. For more information about
|
17491
|
-
# authorization, see [ `CreateSession` ][
|
18491
|
+
# authorization, see [ `CreateSession` ][9].
|
18492
|
+
#
|
18493
|
+
# If the object is encrypted with SSE-KMS, you must also have the
|
18494
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
18495
|
+
# identity-based policies and KMS key policies for the KMS key.
|
17492
18496
|
#
|
17493
18497
|
# Data integrity
|
17494
18498
|
#
|
@@ -17500,7 +18504,7 @@ module Aws::S3
|
|
17500
18504
|
# then Amazon Web Services S3 uses the `x-amz-content-sha256` header
|
17501
18505
|
# as a checksum instead of `Content-MD5`. For more information see
|
17502
18506
|
# [Authenticating Requests: Using the Authorization Header (Amazon Web
|
17503
|
-
# Services Signature Version 4)][
|
18507
|
+
# Services Signature Version 4)][10].
|
17504
18508
|
#
|
17505
18509
|
# <note markdown="1"> **Directory buckets** - MD5 is not supported by directory buckets.
|
17506
18510
|
# You can use checksum algorithms to check object integrity.
|
@@ -17541,12 +18545,13 @@ module Aws::S3
|
|
17541
18545
|
#
|
17542
18546
|
# * x-amz-server-side-encryption-customer-key-MD5
|
17543
18547
|
#
|
17544
|
-
#
|
17545
|
-
#
|
17546
|
-
# supported.
|
18548
|
+
# For more information, see [Using Server-Side Encryption][11] in
|
18549
|
+
# the *Amazon S3 User Guide*.
|
17547
18550
|
#
|
17548
|
-
#
|
17549
|
-
#
|
18551
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
18552
|
+
# two supported options for server-side encryption: server-side
|
18553
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
18554
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`).
|
17550
18555
|
#
|
17551
18556
|
# Special errors
|
17552
18557
|
# : * Error Code: `NoSuchUpload`
|
@@ -17568,13 +18573,13 @@ module Aws::S3
|
|
17568
18573
|
#
|
17569
18574
|
# * [CreateMultipartUpload][2]
|
17570
18575
|
#
|
17571
|
-
# * [CompleteMultipartUpload][
|
18576
|
+
# * [CompleteMultipartUpload][12]
|
17572
18577
|
#
|
17573
|
-
# * [AbortMultipartUpload][
|
18578
|
+
# * [AbortMultipartUpload][13]
|
17574
18579
|
#
|
17575
|
-
# * [ListParts][
|
18580
|
+
# * [ListParts][14]
|
17576
18581
|
#
|
17577
|
-
# * [ListMultipartUploads][
|
18582
|
+
# * [ListMultipartUploads][15]
|
17578
18583
|
#
|
17579
18584
|
#
|
17580
18585
|
#
|
@@ -17583,14 +18588,16 @@ module Aws::S3
|
|
17583
18588
|
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html
|
17584
18589
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
|
17585
18590
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
17586
|
-
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17587
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17588
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17589
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17590
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
17591
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/
|
17592
|
-
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
17593
|
-
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
18591
|
+
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
|
18592
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
|
18593
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
|
18594
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
|
18595
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html
|
18596
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
18597
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
|
18598
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
|
18599
|
+
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
|
18600
|
+
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
|
17594
18601
|
#
|
17595
18602
|
# @option params [String, StringIO, File] :body
|
17596
18603
|
# Object data.
|
@@ -17674,9 +18681,9 @@ module Aws::S3
|
|
17674
18681
|
# @option params [String] :checksum_crc32
|
17675
18682
|
# This header can be used as a data integrity check to verify that the
|
17676
18683
|
# data received is the same data that was originally sent. This header
|
17677
|
-
# specifies the base64-encoded, 32-bit
|
17678
|
-
# more information, see [Checking object integrity][1] in the
|
17679
|
-
# User Guide*.
|
18684
|
+
# specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
|
18685
|
+
# For more information, see [Checking object integrity][1] in the
|
18686
|
+
# *Amazon S3 User Guide*.
|
17680
18687
|
#
|
17681
18688
|
#
|
17682
18689
|
#
|
@@ -17685,7 +18692,7 @@ module Aws::S3
|
|
17685
18692
|
# @option params [String] :checksum_crc32c
|
17686
18693
|
# This header can be used as a data integrity check to verify that the
|
17687
18694
|
# data received is the same data that was originally sent. This header
|
17688
|
-
# specifies the base64-encoded, 32-bit
|
18695
|
+
# specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
|
17689
18696
|
# For more information, see [Checking object integrity][1] in the
|
17690
18697
|
# *Amazon S3 User Guide*.
|
17691
18698
|
#
|
@@ -17923,9 +18930,21 @@ module Aws::S3
|
|
17923
18930
|
# have the <b> <code>s3:PutObject</code> </b> permission to write
|
17924
18931
|
# the object copy to the destination bucket.
|
17925
18932
|
#
|
17926
|
-
#
|
17927
|
-
#
|
17928
|
-
#
|
18933
|
+
# * To perform a multipart upload with encryption using an Key
|
18934
|
+
# Management Service key, the requester must have permission to
|
18935
|
+
# the `kms:Decrypt` and `kms:GenerateDataKey` actions on the key.
|
18936
|
+
# The requester must also have permissions for the
|
18937
|
+
# `kms:GenerateDataKey` action for the `CreateMultipartUpload`
|
18938
|
+
# API. Then, the requester needs permissions for the `kms:Decrypt`
|
18939
|
+
# action on the `UploadPart` and `UploadPartCopy` APIs. These
|
18940
|
+
# permissions are required because Amazon S3 must decrypt and read
|
18941
|
+
# data from the encrypted file parts before it completes the
|
18942
|
+
# multipart upload. For more information about KMS permissions,
|
18943
|
+
# see [Protecting data using server-side encryption with KMS][7]
|
18944
|
+
# in the *Amazon S3 User Guide*. For information about the
|
18945
|
+
# permissions required to use the multipart upload API, see
|
18946
|
+
# [Multipart upload and permissions][8] and [Multipart upload API
|
18947
|
+
# and permissions][9] in the *Amazon S3 User Guide*.
|
17929
18948
|
#
|
17930
18949
|
# * **Directory bucket permissions** - You must have permissions in a
|
17931
18950
|
# bucket policy or an IAM identity-based policy based on the source
|
@@ -17934,9 +18953,9 @@ module Aws::S3
|
|
17934
18953
|
# * If the source object that you want to copy is in a directory
|
17935
18954
|
# bucket, you must have the <b>
|
17936
18955
|
# <code>s3express:CreateSession</code> </b> permission in the
|
17937
|
-
# `Action` element of a policy to read the object
|
17938
|
-
#
|
17939
|
-
#
|
18956
|
+
# `Action` element of a policy to read the object. By default, the
|
18957
|
+
# session is in the `ReadWrite` mode. If you want to restrict the
|
18958
|
+
# access, you can explicitly set the `s3express:SessionMode`
|
17940
18959
|
# condition key to `ReadOnly` on the copy source bucket.
|
17941
18960
|
#
|
17942
18961
|
# * If the copy destination is a directory bucket, you must have the
|
@@ -17945,20 +18964,41 @@ module Aws::S3
|
|
17945
18964
|
# destination. The `s3express:SessionMode` condition key cannot be
|
17946
18965
|
# set to `ReadOnly` on the copy destination.
|
17947
18966
|
#
|
18967
|
+
# If the object is encrypted with SSE-KMS, you must also have the
|
18968
|
+
# `kms:GenerateDataKey` and `kms:Decrypt` permissions in IAM
|
18969
|
+
# identity-based policies and KMS key policies for the KMS key.
|
18970
|
+
#
|
17948
18971
|
# For example policies, see [Example bucket policies for S3 Express
|
17949
|
-
# One Zone][
|
18972
|
+
# One Zone][10] and [Amazon Web Services Identity and Access
|
17950
18973
|
# Management (IAM) identity-based policies for S3 Express One
|
17951
|
-
# Zone][
|
18974
|
+
# Zone][11] in the *Amazon S3 User Guide*.
|
17952
18975
|
#
|
17953
18976
|
# Encryption
|
17954
18977
|
# : * <b>General purpose buckets </b> - For information about using
|
17955
18978
|
# server-side encryption with customer-provided encryption keys with
|
17956
|
-
# the `UploadPartCopy` operation, see [CopyObject][
|
18979
|
+
# the `UploadPartCopy` operation, see [CopyObject][12] and
|
17957
18980
|
# [UploadPart][2].
|
17958
18981
|
#
|
17959
|
-
# * <b>Directory buckets </b> - For directory buckets, only
|
17960
|
-
# server-side encryption
|
17961
|
-
# (`AES256`)
|
18982
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
18983
|
+
# two supported options for server-side encryption: server-side
|
18984
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
18985
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). For
|
18986
|
+
# more information, see [Protecting data with server-side
|
18987
|
+
# encryption][13] in the *Amazon S3 User Guide*.
|
18988
|
+
#
|
18989
|
+
# <note markdown="1"> For directory buckets, when you perform a `CreateMultipartUpload`
|
18990
|
+
# operation and an `UploadPartCopy` operation, the request headers
|
18991
|
+
# you provide in the `CreateMultipartUpload` request must match the
|
18992
|
+
# default encryption configuration of the destination bucket.
|
18993
|
+
#
|
18994
|
+
# </note>
|
18995
|
+
#
|
18996
|
+
# S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted
|
18997
|
+
# objects from general purpose buckets to directory buckets, from
|
18998
|
+
# directory buckets to general purpose buckets, or between directory
|
18999
|
+
# buckets, through [UploadPartCopy][14]. In this case, Amazon S3
|
19000
|
+
# makes a call to KMS every time a copy request is made for a
|
19001
|
+
# KMS-encrypted object.
|
17962
19002
|
#
|
17963
19003
|
# Special errors
|
17964
19004
|
# : * Error Code: `NoSuchUpload`
|
@@ -17983,17 +19023,17 @@ module Aws::S3
|
|
17983
19023
|
#
|
17984
19024
|
# The following operations are related to `UploadPartCopy`:
|
17985
19025
|
#
|
17986
|
-
# * [CreateMultipartUpload][
|
19026
|
+
# * [CreateMultipartUpload][15]
|
17987
19027
|
#
|
17988
19028
|
# * [UploadPart][2]
|
17989
19029
|
#
|
17990
|
-
# * [CompleteMultipartUpload][
|
19030
|
+
# * [CompleteMultipartUpload][16]
|
17991
19031
|
#
|
17992
|
-
# * [AbortMultipartUpload][
|
19032
|
+
# * [AbortMultipartUpload][17]
|
17993
19033
|
#
|
17994
|
-
# * [ListParts][
|
19034
|
+
# * [ListParts][18]
|
17995
19035
|
#
|
17996
|
-
# * [ListMultipartUploads][
|
19036
|
+
# * [ListMultipartUploads][19]
|
17997
19037
|
#
|
17998
19038
|
#
|
17999
19039
|
#
|
@@ -18003,15 +19043,19 @@ module Aws::S3
|
|
18003
19043
|
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html
|
18004
19044
|
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
|
18005
19045
|
# [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
|
18006
|
-
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/
|
18007
|
-
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/
|
18008
|
-
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/
|
18009
|
-
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/
|
18010
|
-
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/
|
18011
|
-
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
18012
|
-
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/
|
18013
|
-
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
18014
|
-
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/
|
19046
|
+
# [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
|
19047
|
+
# [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
|
19048
|
+
# [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
|
19049
|
+
# [10]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
|
19050
|
+
# [11]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
|
19051
|
+
# [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
19052
|
+
# [13]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
19053
|
+
# [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
19054
|
+
# [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
|
19055
|
+
# [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
|
19056
|
+
# [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
|
19057
|
+
# [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
|
19058
|
+
# [19]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
|
18015
19059
|
#
|
18016
19060
|
# @option params [required, String] :bucket
|
18017
19061
|
# The bucket name.
|
@@ -18534,7 +19578,7 @@ module Aws::S3
|
|
18534
19578
|
# @option params [String] :checksum_crc32
|
18535
19579
|
# This header can be used as a data integrity check to verify that the
|
18536
19580
|
# data received is the same data that was originally sent. This
|
18537
|
-
# specifies the base64-encoded, 32-bit
|
19581
|
+
# specifies the base64-encoded, 32-bit CRC-32 checksum of the object
|
18538
19582
|
# returned by the Object Lambda function. This may not match the
|
18539
19583
|
# checksum for the object stored in Amazon S3. Amazon S3 will perform
|
18540
19584
|
# validation of the checksum values only when the original `GetObject`
|
@@ -18554,7 +19598,7 @@ module Aws::S3
|
|
18554
19598
|
# @option params [String] :checksum_crc32c
|
18555
19599
|
# This header can be used as a data integrity check to verify that the
|
18556
19600
|
# data received is the same data that was originally sent. This
|
18557
|
-
# specifies the base64-encoded, 32-bit
|
19601
|
+
# specifies the base64-encoded, 32-bit CRC-32C checksum of the object
|
18558
19602
|
# returned by the Object Lambda function. This may not match the
|
18559
19603
|
# checksum for the object stored in Amazon S3. Amazon S3 will perform
|
18560
19604
|
# validation of the checksum values only when the original `GetObject`
|
@@ -18785,14 +19829,19 @@ module Aws::S3
|
|
18785
19829
|
# @api private
|
18786
19830
|
def build_request(operation_name, params = {})
|
18787
19831
|
handlers = @handlers.for(operation_name)
|
19832
|
+
tracer = config.telemetry_provider.tracer_provider.tracer(
|
19833
|
+
Aws::Telemetry.module_to_tracer_name('Aws::S3')
|
19834
|
+
)
|
18788
19835
|
context = Seahorse::Client::RequestContext.new(
|
18789
19836
|
operation_name: operation_name,
|
18790
19837
|
operation: config.api.operation(operation_name),
|
18791
19838
|
client: self,
|
18792
19839
|
params: params,
|
18793
|
-
config: config
|
19840
|
+
config: config,
|
19841
|
+
tracer: tracer
|
19842
|
+
)
|
18794
19843
|
context[:gem_name] = 'aws-sdk-s3'
|
18795
|
-
context[:gem_version] = '1.
|
19844
|
+
context[:gem_version] = '1.167.0'
|
18796
19845
|
Seahorse::Client::Request.new(handlers, context)
|
18797
19846
|
end
|
18798
19847
|
|