aws-sdk-s3 1.186.1 → 1.191.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 +32 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/bucket.rb +11 -4
- data/lib/aws-sdk-s3/client.rb +660 -168
- data/lib/aws-sdk-s3/client_api.rb +47 -0
- data/lib/aws-sdk-s3/endpoints.rb +14 -0
- data/lib/aws-sdk-s3/errors.rb +11 -0
- data/lib/aws-sdk-s3/legacy_signer.rb +2 -1
- data/lib/aws-sdk-s3/object.rb +65 -13
- data/lib/aws-sdk-s3/object_acl.rb +7 -1
- data/lib/aws-sdk-s3/object_multipart_copier.rb +2 -1
- data/lib/aws-sdk-s3/object_summary.rb +34 -11
- data/lib/aws-sdk-s3/plugins/streaming_retry.rb +5 -7
- data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -1
- data/lib/aws-sdk-s3/types.rb +548 -58
- data/lib/aws-sdk-s3.rb +1 -1
- data/sig/bucket.rbs +2 -2
- data/sig/client.rbs +56 -30
- data/sig/errors.rbs +2 -0
- data/sig/multipart_upload.rbs +1 -1
- data/sig/object.rbs +13 -10
- data/sig/object_summary.rbs +9 -9
- data/sig/types.rbs +57 -29
- metadata +4 -4
@@ -81,6 +81,7 @@ module Aws::S3
|
|
81
81
|
ChecksumSHA1 = Shapes::StringShape.new(name: 'ChecksumSHA1')
|
82
82
|
ChecksumSHA256 = Shapes::StringShape.new(name: 'ChecksumSHA256')
|
83
83
|
ChecksumType = Shapes::StringShape.new(name: 'ChecksumType')
|
84
|
+
ClientToken = Shapes::StringShape.new(name: 'ClientToken')
|
84
85
|
CloudFunction = Shapes::StringShape.new(name: 'CloudFunction')
|
85
86
|
CloudFunctionConfiguration = Shapes::StructureShape.new(name: 'CloudFunctionConfiguration')
|
86
87
|
CloudFunctionInvocationRole = Shapes::StringShape.new(name: 'CloudFunctionInvocationRole')
|
@@ -284,6 +285,7 @@ module Aws::S3
|
|
284
285
|
HttpErrorCodeReturnedEquals = Shapes::StringShape.new(name: 'HttpErrorCodeReturnedEquals')
|
285
286
|
HttpRedirectCode = Shapes::StringShape.new(name: 'HttpRedirectCode')
|
286
287
|
ID = Shapes::StringShape.new(name: 'ID')
|
288
|
+
IdempotencyParameterMismatch = Shapes::StructureShape.new(name: 'IdempotencyParameterMismatch')
|
287
289
|
IfMatch = Shapes::StringShape.new(name: 'IfMatch')
|
288
290
|
IfMatchInitiatedTime = Shapes::TimestampShape.new(name: 'IfMatchInitiatedTime', timestampFormat: "rfc822")
|
289
291
|
IfMatchLastModifiedTime = Shapes::TimestampShape.new(name: 'IfMatchLastModifiedTime', timestampFormat: "rfc822")
|
@@ -525,6 +527,13 @@ module Aws::S3
|
|
525
527
|
Redirect = Shapes::StructureShape.new(name: 'Redirect')
|
526
528
|
RedirectAllRequestsTo = Shapes::StructureShape.new(name: 'RedirectAllRequestsTo')
|
527
529
|
Region = Shapes::StringShape.new(name: 'Region')
|
530
|
+
RenameObjectOutput = Shapes::StructureShape.new(name: 'RenameObjectOutput')
|
531
|
+
RenameObjectRequest = Shapes::StructureShape.new(name: 'RenameObjectRequest')
|
532
|
+
RenameSource = Shapes::StringShape.new(name: 'RenameSource')
|
533
|
+
RenameSourceIfMatch = Shapes::StringShape.new(name: 'RenameSourceIfMatch')
|
534
|
+
RenameSourceIfModifiedSince = Shapes::TimestampShape.new(name: 'RenameSourceIfModifiedSince', timestampFormat: "rfc822")
|
535
|
+
RenameSourceIfNoneMatch = Shapes::StringShape.new(name: 'RenameSourceIfNoneMatch')
|
536
|
+
RenameSourceIfUnmodifiedSince = Shapes::TimestampShape.new(name: 'RenameSourceIfUnmodifiedSince', timestampFormat: "rfc822")
|
528
537
|
ReplaceKeyPrefixWith = Shapes::StringShape.new(name: 'ReplaceKeyPrefixWith')
|
529
538
|
ReplaceKeyWith = Shapes::StringShape.new(name: 'ReplaceKeyWith')
|
530
539
|
ReplicaKmsKeyID = Shapes::StringShape.new(name: 'ReplicaKmsKeyID')
|
@@ -1035,6 +1044,7 @@ module Aws::S3
|
|
1035
1044
|
|
1036
1045
|
DeleteBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
|
1037
1046
|
DeleteBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
|
1047
|
+
DeleteBucketIntelligentTieringConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
|
1038
1048
|
DeleteBucketIntelligentTieringConfigurationRequest.struct_class = Types::DeleteBucketIntelligentTieringConfigurationRequest
|
1039
1049
|
|
1040
1050
|
DeleteBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
|
@@ -1246,6 +1256,7 @@ module Aws::S3
|
|
1246
1256
|
|
1247
1257
|
GetBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
|
1248
1258
|
GetBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
|
1259
|
+
GetBucketIntelligentTieringConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
|
1249
1260
|
GetBucketIntelligentTieringConfigurationRequest.struct_class = Types::GetBucketIntelligentTieringConfigurationRequest
|
1250
1261
|
|
1251
1262
|
GetBucketInventoryConfigurationOutput.add_member(:inventory_configuration, Shapes::ShapeRef.new(shape: InventoryConfiguration, location_name: "InventoryConfiguration"))
|
@@ -1619,6 +1630,7 @@ module Aws::S3
|
|
1619
1630
|
HeadObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
|
1620
1631
|
HeadObjectOutput.add_member(:replication_status, Shapes::ShapeRef.new(shape: ReplicationStatus, location: "header", location_name: "x-amz-replication-status"))
|
1621
1632
|
HeadObjectOutput.add_member(:parts_count, Shapes::ShapeRef.new(shape: PartsCount, location: "header", location_name: "x-amz-mp-parts-count"))
|
1633
|
+
HeadObjectOutput.add_member(:tag_count, Shapes::ShapeRef.new(shape: TagCount, location: "header", location_name: "x-amz-tagging-count"))
|
1622
1634
|
HeadObjectOutput.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-object-lock-mode"))
|
1623
1635
|
HeadObjectOutput.add_member(:object_lock_retain_until_date, Shapes::ShapeRef.new(shape: ObjectLockRetainUntilDate, location: "header", location_name: "x-amz-object-lock-retain-until-date"))
|
1624
1636
|
HeadObjectOutput.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
|
@@ -1647,6 +1659,8 @@ module Aws::S3
|
|
1647
1659
|
HeadObjectRequest.add_member(:checksum_mode, Shapes::ShapeRef.new(shape: ChecksumMode, location: "header", location_name: "x-amz-checksum-mode"))
|
1648
1660
|
HeadObjectRequest.struct_class = Types::HeadObjectRequest
|
1649
1661
|
|
1662
|
+
IdempotencyParameterMismatch.struct_class = Types::IdempotencyParameterMismatch
|
1663
|
+
|
1650
1664
|
IndexDocument.add_member(:suffix, Shapes::ShapeRef.new(shape: Suffix, required: true, location_name: "Suffix"))
|
1651
1665
|
IndexDocument.struct_class = Types::IndexDocument
|
1652
1666
|
|
@@ -1785,6 +1799,7 @@ module Aws::S3
|
|
1785
1799
|
|
1786
1800
|
ListBucketIntelligentTieringConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
|
1787
1801
|
ListBucketIntelligentTieringConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
|
1802
|
+
ListBucketIntelligentTieringConfigurationsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
|
1788
1803
|
ListBucketIntelligentTieringConfigurationsRequest.struct_class = Types::ListBucketIntelligentTieringConfigurationsRequest
|
1789
1804
|
|
1790
1805
|
ListBucketInventoryConfigurationsOutput.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location_name: "ContinuationToken"))
|
@@ -2227,6 +2242,7 @@ module Aws::S3
|
|
2227
2242
|
|
2228
2243
|
PutBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
|
2229
2244
|
PutBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
|
2245
|
+
PutBucketIntelligentTieringConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
|
2230
2246
|
PutBucketIntelligentTieringConfigurationRequest.add_member(:intelligent_tiering_configuration, Shapes::ShapeRef.new(shape: IntelligentTieringConfiguration, required: true, location_name: "IntelligentTieringConfiguration", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
|
2231
2247
|
PutBucketIntelligentTieringConfigurationRequest.struct_class = Types::PutBucketIntelligentTieringConfigurationRequest
|
2232
2248
|
PutBucketIntelligentTieringConfigurationRequest[:payload] = :intelligent_tiering_configuration
|
@@ -2299,6 +2315,7 @@ module Aws::S3
|
|
2299
2315
|
PutBucketOwnershipControlsRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
|
2300
2316
|
PutBucketOwnershipControlsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
|
2301
2317
|
PutBucketOwnershipControlsRequest.add_member(:ownership_controls, Shapes::ShapeRef.new(shape: OwnershipControls, required: true, location_name: "OwnershipControls", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
|
2318
|
+
PutBucketOwnershipControlsRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
|
2302
2319
|
PutBucketOwnershipControlsRequest.struct_class = Types::PutBucketOwnershipControlsRequest
|
2303
2320
|
PutBucketOwnershipControlsRequest[:payload] = :ownership_controls
|
2304
2321
|
PutBucketOwnershipControlsRequest[:payload_member] = PutBucketOwnershipControlsRequest.member(:ownership_controls)
|
@@ -2542,6 +2559,22 @@ module Aws::S3
|
|
2542
2559
|
RedirectAllRequestsTo.add_member(:protocol, Shapes::ShapeRef.new(shape: Protocol, location_name: "Protocol"))
|
2543
2560
|
RedirectAllRequestsTo.struct_class = Types::RedirectAllRequestsTo
|
2544
2561
|
|
2562
|
+
RenameObjectOutput.struct_class = Types::RenameObjectOutput
|
2563
|
+
|
2564
|
+
RenameObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
|
2565
|
+
RenameObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam" => {"name" => "Key"}}))
|
2566
|
+
RenameObjectRequest.add_member(:rename_source, Shapes::ShapeRef.new(shape: RenameSource, required: true, location: "header", location_name: "x-amz-rename-source"))
|
2567
|
+
RenameObjectRequest.add_member(:destination_if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
|
2568
|
+
RenameObjectRequest.add_member(:destination_if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
|
2569
|
+
RenameObjectRequest.add_member(:destination_if_modified_since, Shapes::ShapeRef.new(shape: IfModifiedSince, location: "header", location_name: "If-Modified-Since"))
|
2570
|
+
RenameObjectRequest.add_member(:destination_if_unmodified_since, Shapes::ShapeRef.new(shape: IfUnmodifiedSince, location: "header", location_name: "If-Unmodified-Since"))
|
2571
|
+
RenameObjectRequest.add_member(:source_if_match, Shapes::ShapeRef.new(shape: RenameSourceIfMatch, location: "header", location_name: "x-amz-rename-source-if-match"))
|
2572
|
+
RenameObjectRequest.add_member(:source_if_none_match, Shapes::ShapeRef.new(shape: RenameSourceIfNoneMatch, location: "header", location_name: "x-amz-rename-source-if-none-match"))
|
2573
|
+
RenameObjectRequest.add_member(:source_if_modified_since, Shapes::ShapeRef.new(shape: RenameSourceIfModifiedSince, location: "header", location_name: "x-amz-rename-source-if-modified-since"))
|
2574
|
+
RenameObjectRequest.add_member(:source_if_unmodified_since, Shapes::ShapeRef.new(shape: RenameSourceIfUnmodifiedSince, location: "header", location_name: "x-amz-rename-source-if-unmodified-since"))
|
2575
|
+
RenameObjectRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location: "header", location_name: "x-amz-client-token", metadata: {"idempotencyToken" => true}))
|
2576
|
+
RenameObjectRequest.struct_class = Types::RenameObjectRequest
|
2577
|
+
|
2545
2578
|
ReplicaModifications.add_member(:status, Shapes::ShapeRef.new(shape: ReplicaModificationsStatus, required: true, location_name: "Status"))
|
2546
2579
|
ReplicaModifications.struct_class = Types::ReplicaModifications
|
2547
2580
|
|
@@ -3753,6 +3786,11 @@ module Aws::S3
|
|
3753
3786
|
o.http_method = "PUT"
|
3754
3787
|
o.http_request_uri = "/?ownershipControls"
|
3755
3788
|
o.http_checksum = {
|
3789
|
+
"requestAlgorithmMember" => "checksum_algorithm",
|
3790
|
+
"requestChecksumRequired" => true,
|
3791
|
+
}
|
3792
|
+
o.http_checksum = {
|
3793
|
+
"requestAlgorithmMember" => "checksum_algorithm",
|
3756
3794
|
"requestChecksumRequired" => true,
|
3757
3795
|
}
|
3758
3796
|
o.input = Shapes::ShapeRef.new(shape: PutBucketOwnershipControlsRequest)
|
@@ -3972,6 +4010,15 @@ module Aws::S3
|
|
3972
4010
|
o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
|
3973
4011
|
end)
|
3974
4012
|
|
4013
|
+
api.add_operation(:rename_object, Seahorse::Model::Operation.new.tap do |o|
|
4014
|
+
o.name = "RenameObject"
|
4015
|
+
o.http_method = "PUT"
|
4016
|
+
o.http_request_uri = "/{Key+}?renameObject"
|
4017
|
+
o.input = Shapes::ShapeRef.new(shape: RenameObjectRequest)
|
4018
|
+
o.output = Shapes::ShapeRef.new(shape: RenameObjectOutput)
|
4019
|
+
o.errors << Shapes::ShapeRef.new(shape: IdempotencyParameterMismatch)
|
4020
|
+
end)
|
4021
|
+
|
3975
4022
|
api.add_operation(:restore_object, Seahorse::Model::Operation.new.tap do |o|
|
3976
4023
|
o.name = "RestoreObject"
|
3977
4024
|
o.http_method = "POST"
|
data/lib/aws-sdk-s3/endpoints.rb
CHANGED
@@ -1162,6 +1162,18 @@ module Aws::S3
|
|
1162
1162
|
end
|
1163
1163
|
end
|
1164
1164
|
|
1165
|
+
class RenameObject
|
1166
|
+
def self.build(context)
|
1167
|
+
Aws::S3::EndpointParameters.create(
|
1168
|
+
context.config,
|
1169
|
+
bucket: context.params[:bucket],
|
1170
|
+
use_dual_stack: context[:use_dualstack_endpoint],
|
1171
|
+
accelerate: context[:use_accelerate_endpoint],
|
1172
|
+
key: context.params[:key],
|
1173
|
+
)
|
1174
|
+
end
|
1175
|
+
end
|
1176
|
+
|
1165
1177
|
class RestoreObject
|
1166
1178
|
def self.build(context)
|
1167
1179
|
Aws::S3::EndpointParameters.create(
|
@@ -1416,6 +1428,8 @@ module Aws::S3
|
|
1416
1428
|
PutObjectTagging.build(context)
|
1417
1429
|
when :put_public_access_block
|
1418
1430
|
PutPublicAccessBlock.build(context)
|
1431
|
+
when :rename_object
|
1432
|
+
RenameObject.build(context)
|
1419
1433
|
when :restore_object
|
1420
1434
|
RestoreObject.build(context)
|
1421
1435
|
when :select_object_content
|
data/lib/aws-sdk-s3/errors.rb
CHANGED
@@ -30,6 +30,7 @@ module Aws::S3
|
|
30
30
|
# * {BucketAlreadyExists}
|
31
31
|
# * {BucketAlreadyOwnedByYou}
|
32
32
|
# * {EncryptionTypeMismatch}
|
33
|
+
# * {IdempotencyParameterMismatch}
|
33
34
|
# * {InvalidObjectState}
|
34
35
|
# * {InvalidRequest}
|
35
36
|
# * {InvalidWriteOffset}
|
@@ -76,6 +77,16 @@ module Aws::S3
|
|
76
77
|
end
|
77
78
|
end
|
78
79
|
|
80
|
+
class IdempotencyParameterMismatch < ServiceError
|
81
|
+
|
82
|
+
# @param [Seahorse::Client::RequestContext] context
|
83
|
+
# @param [String] message
|
84
|
+
# @param [Aws::S3::Types::IdempotencyParameterMismatch] data
|
85
|
+
def initialize(context, message, data = Aws::EmptyStructure.new)
|
86
|
+
super(context, message, data)
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
79
90
|
class InvalidObjectState < ServiceError
|
80
91
|
|
81
92
|
# @param [Seahorse::Client::RequestContext] context
|
data/lib/aws-sdk-s3/object.rb
CHANGED
@@ -324,7 +324,12 @@ module Aws::S3
|
|
324
324
|
end
|
325
325
|
|
326
326
|
# The server-side encryption algorithm used when you store this object
|
327
|
-
# in Amazon S3
|
327
|
+
# in Amazon S3 or Amazon FSx.
|
328
|
+
#
|
329
|
+
# <note markdown="1"> When accessing data stored in Amazon FSx file systems using S3 access
|
330
|
+
# points, the only valid server side encryption option is `aws:fsx`.
|
331
|
+
#
|
332
|
+
# </note>
|
328
333
|
# @return [String]
|
329
334
|
def server_side_encryption
|
330
335
|
data[:server_side_encryption]
|
@@ -397,11 +402,17 @@ module Aws::S3
|
|
397
402
|
end
|
398
403
|
|
399
404
|
# If present, indicates that the requester was successfully charged for
|
400
|
-
# the request.
|
405
|
+
# the request. For more information, see [Using Requester Pays buckets
|
406
|
+
# for storage transfers and usage][1] in the *Amazon Simple Storage
|
407
|
+
# Service user guide*.
|
401
408
|
#
|
402
409
|
# <note markdown="1"> This functionality is not supported for directory buckets.
|
403
410
|
#
|
404
411
|
# </note>
|
412
|
+
#
|
413
|
+
#
|
414
|
+
#
|
415
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
|
405
416
|
# @return [String]
|
406
417
|
def request_charged
|
407
418
|
data[:request_charged]
|
@@ -464,6 +475,24 @@ module Aws::S3
|
|
464
475
|
data[:parts_count]
|
465
476
|
end
|
466
477
|
|
478
|
+
# The number of tags, if any, on the object, when you have the relevant
|
479
|
+
# permission to read object tags.
|
480
|
+
#
|
481
|
+
# You can use [GetObjectTagging][1] to retrieve the tag set associated
|
482
|
+
# with an object.
|
483
|
+
#
|
484
|
+
# <note markdown="1"> This functionality is not supported for directory buckets.
|
485
|
+
#
|
486
|
+
# </note>
|
487
|
+
#
|
488
|
+
#
|
489
|
+
#
|
490
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
|
491
|
+
# @return [Integer]
|
492
|
+
def tag_count
|
493
|
+
data[:tag_count]
|
494
|
+
end
|
495
|
+
|
467
496
|
# The Object Lock mode, if any, that's in effect for this object. This
|
468
497
|
# header is only returned if the requester has the
|
469
498
|
# `s3:GetObjectRetention` permission. For more information about S3
|
@@ -733,8 +762,8 @@ module Aws::S3
|
|
733
762
|
# },
|
734
763
|
# metadata_directive: "COPY", # accepts COPY, REPLACE
|
735
764
|
# tagging_directive: "COPY", # accepts COPY, REPLACE
|
736
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
737
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
765
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
766
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
|
738
767
|
# website_redirect_location: "WebsiteRedirectLocation",
|
739
768
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
740
769
|
# sse_customer_key: "SSECustomerKey",
|
@@ -1124,6 +1153,14 @@ module Aws::S3
|
|
1124
1153
|
# key is the same customer managed key that you specified for the
|
1125
1154
|
# directory bucket's default encryption configuration.
|
1126
1155
|
#
|
1156
|
+
# * <b>S3 access points for Amazon FSx </b> - When accessing data stored
|
1157
|
+
# in Amazon FSx file systems using S3 access points, the only valid
|
1158
|
+
# server side encryption option is `aws:fsx`. All Amazon FSx file
|
1159
|
+
# systems have encryption configured by default and are encrypted at
|
1160
|
+
# rest. Data is automatically encrypted before being written to the
|
1161
|
+
# file system, and automatically decrypted as it is read. These
|
1162
|
+
# processes are handled transparently by Amazon FSx.
|
1163
|
+
#
|
1127
1164
|
#
|
1128
1165
|
#
|
1129
1166
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
|
@@ -1822,8 +1859,8 @@ module Aws::S3
|
|
1822
1859
|
# metadata: {
|
1823
1860
|
# "MetadataKey" => "MetadataValue",
|
1824
1861
|
# },
|
1825
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
1826
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
1862
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
1863
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
|
1827
1864
|
# website_redirect_location: "WebsiteRedirectLocation",
|
1828
1865
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
1829
1866
|
# sse_customer_key: "SSECustomerKey",
|
@@ -2140,7 +2177,7 @@ module Aws::S3
|
|
2140
2177
|
# A map of metadata to store with the object in S3.
|
2141
2178
|
# @option options [String] :server_side_encryption
|
2142
2179
|
# The server-side encryption algorithm used when you store this object
|
2143
|
-
# in Amazon S3
|
2180
|
+
# in Amazon S3 or Amazon FSx.
|
2144
2181
|
#
|
2145
2182
|
# * <b>Directory buckets </b> - For directory buckets, there are only
|
2146
2183
|
# two supported options for server-side encryption: server-side
|
@@ -2182,6 +2219,14 @@ module Aws::S3
|
|
2182
2219
|
#
|
2183
2220
|
# </note>
|
2184
2221
|
#
|
2222
|
+
# * <b>S3 access points for Amazon FSx </b> - When accessing data stored
|
2223
|
+
# in Amazon FSx file systems using S3 access points, the only valid
|
2224
|
+
# server side encryption option is `aws:fsx`. All Amazon FSx file
|
2225
|
+
# systems have encryption configured by default and are encrypted at
|
2226
|
+
# rest. Data is automatically encrypted before being written to the
|
2227
|
+
# file system, and automatically decrypted as it is read. These
|
2228
|
+
# processes are handled transparently by Amazon FSx.
|
2229
|
+
#
|
2185
2230
|
#
|
2186
2231
|
#
|
2187
2232
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
@@ -2415,8 +2460,8 @@ module Aws::S3
|
|
2415
2460
|
# metadata: {
|
2416
2461
|
# "MetadataKey" => "MetadataValue",
|
2417
2462
|
# },
|
2418
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
2419
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
2463
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
2464
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
|
2420
2465
|
# website_redirect_location: "WebsiteRedirectLocation",
|
2421
2466
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
2422
2467
|
# sse_customer_key: "SSECustomerKey",
|
@@ -2726,8 +2771,7 @@ module Aws::S3
|
|
2726
2771
|
# A map of metadata to store with the object in S3.
|
2727
2772
|
# @option options [String] :server_side_encryption
|
2728
2773
|
# The server-side encryption algorithm that was used when you store this
|
2729
|
-
# object in Amazon S3
|
2730
|
-
# `aws:kms:dsse`).
|
2774
|
+
# object in Amazon S3 or Amazon FSx.
|
2731
2775
|
#
|
2732
2776
|
# * <b>General purpose buckets </b> - You have four mutually exclusive
|
2733
2777
|
# options to protect data using server-side encryption in Amazon S3,
|
@@ -2781,6 +2825,14 @@ module Aws::S3
|
|
2781
2825
|
#
|
2782
2826
|
# </note>
|
2783
2827
|
#
|
2828
|
+
# * <b>S3 access points for Amazon FSx </b> - When accessing data stored
|
2829
|
+
# in Amazon FSx file systems using S3 access points, the only valid
|
2830
|
+
# server side encryption option is `aws:fsx`. All Amazon FSx file
|
2831
|
+
# systems have encryption configured by default and are encrypted at
|
2832
|
+
# rest. Data is automatically encrypted before being written to the
|
2833
|
+
# file system, and automatically decrypted as it is read. These
|
2834
|
+
# processes are handled transparently by Amazon FSx.
|
2835
|
+
#
|
2784
2836
|
#
|
2785
2837
|
#
|
2786
2838
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
@@ -3053,7 +3105,7 @@ module Aws::S3
|
|
3053
3105
|
# bucket_name: "BucketName", # required
|
3054
3106
|
# prefix: "LocationPrefix", # required
|
3055
3107
|
# encryption: {
|
3056
|
-
# encryption_type: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
|
3108
|
+
# encryption_type: "AES256", # required, accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
3057
3109
|
# kms_key_id: "SSEKMSKeyId",
|
3058
3110
|
# kms_context: "KMSContext",
|
3059
3111
|
# },
|
@@ -3084,7 +3136,7 @@ module Aws::S3
|
|
3084
3136
|
# value: "MetadataValue",
|
3085
3137
|
# },
|
3086
3138
|
# ],
|
3087
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
3139
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
|
3088
3140
|
# },
|
3089
3141
|
# },
|
3090
3142
|
# },
|
@@ -55,11 +55,17 @@ module Aws::S3
|
|
55
55
|
end
|
56
56
|
|
57
57
|
# If present, indicates that the requester was successfully charged for
|
58
|
-
# the request.
|
58
|
+
# the request. For more information, see [Using Requester Pays buckets
|
59
|
+
# for storage transfers and usage][1] in the *Amazon Simple Storage
|
60
|
+
# Service user guide*.
|
59
61
|
#
|
60
62
|
# <note markdown="1"> This functionality is not supported for directory buckets.
|
61
63
|
#
|
62
64
|
# </note>
|
65
|
+
#
|
66
|
+
#
|
67
|
+
#
|
68
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
|
63
69
|
# @return [String]
|
64
70
|
def request_charged
|
65
71
|
data[:request_charged]
|
@@ -359,8 +359,8 @@ module Aws::S3
|
|
359
359
|
# },
|
360
360
|
# metadata_directive: "COPY", # accepts COPY, REPLACE
|
361
361
|
# tagging_directive: "COPY", # accepts COPY, REPLACE
|
362
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
363
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
362
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
363
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
|
364
364
|
# website_redirect_location: "WebsiteRedirectLocation",
|
365
365
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
366
366
|
# sse_customer_key: "SSECustomerKey",
|
@@ -750,6 +750,14 @@ module Aws::S3
|
|
750
750
|
# key is the same customer managed key that you specified for the
|
751
751
|
# directory bucket's default encryption configuration.
|
752
752
|
#
|
753
|
+
# * <b>S3 access points for Amazon FSx </b> - When accessing data stored
|
754
|
+
# in Amazon FSx file systems using S3 access points, the only valid
|
755
|
+
# server side encryption option is `aws:fsx`. All Amazon FSx file
|
756
|
+
# systems have encryption configured by default and are encrypted at
|
757
|
+
# rest. Data is automatically encrypted before being written to the
|
758
|
+
# file system, and automatically decrypted as it is read. These
|
759
|
+
# processes are handled transparently by Amazon FSx.
|
760
|
+
#
|
753
761
|
#
|
754
762
|
#
|
755
763
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
|
@@ -1448,8 +1456,8 @@ module Aws::S3
|
|
1448
1456
|
# metadata: {
|
1449
1457
|
# "MetadataKey" => "MetadataValue",
|
1450
1458
|
# },
|
1451
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
1452
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
1459
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
1460
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
|
1453
1461
|
# website_redirect_location: "WebsiteRedirectLocation",
|
1454
1462
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
1455
1463
|
# sse_customer_key: "SSECustomerKey",
|
@@ -1766,7 +1774,7 @@ module Aws::S3
|
|
1766
1774
|
# A map of metadata to store with the object in S3.
|
1767
1775
|
# @option options [String] :server_side_encryption
|
1768
1776
|
# The server-side encryption algorithm used when you store this object
|
1769
|
-
# in Amazon S3
|
1777
|
+
# in Amazon S3 or Amazon FSx.
|
1770
1778
|
#
|
1771
1779
|
# * <b>Directory buckets </b> - For directory buckets, there are only
|
1772
1780
|
# two supported options for server-side encryption: server-side
|
@@ -1808,6 +1816,14 @@ module Aws::S3
|
|
1808
1816
|
#
|
1809
1817
|
# </note>
|
1810
1818
|
#
|
1819
|
+
# * <b>S3 access points for Amazon FSx </b> - When accessing data stored
|
1820
|
+
# in Amazon FSx file systems using S3 access points, the only valid
|
1821
|
+
# server side encryption option is `aws:fsx`. All Amazon FSx file
|
1822
|
+
# systems have encryption configured by default and are encrypted at
|
1823
|
+
# rest. Data is automatically encrypted before being written to the
|
1824
|
+
# file system, and automatically decrypted as it is read. These
|
1825
|
+
# processes are handled transparently by Amazon FSx.
|
1826
|
+
#
|
1811
1827
|
#
|
1812
1828
|
#
|
1813
1829
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
@@ -2041,8 +2057,8 @@ module Aws::S3
|
|
2041
2057
|
# metadata: {
|
2042
2058
|
# "MetadataKey" => "MetadataValue",
|
2043
2059
|
# },
|
2044
|
-
# server_side_encryption: "AES256", # accepts AES256, aws:kms, aws:kms:dsse
|
2045
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
2060
|
+
# server_side_encryption: "AES256", # accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
2061
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
|
2046
2062
|
# website_redirect_location: "WebsiteRedirectLocation",
|
2047
2063
|
# sse_customer_algorithm: "SSECustomerAlgorithm",
|
2048
2064
|
# sse_customer_key: "SSECustomerKey",
|
@@ -2352,8 +2368,7 @@ module Aws::S3
|
|
2352
2368
|
# A map of metadata to store with the object in S3.
|
2353
2369
|
# @option options [String] :server_side_encryption
|
2354
2370
|
# The server-side encryption algorithm that was used when you store this
|
2355
|
-
# object in Amazon S3
|
2356
|
-
# `aws:kms:dsse`).
|
2371
|
+
# object in Amazon S3 or Amazon FSx.
|
2357
2372
|
#
|
2358
2373
|
# * <b>General purpose buckets </b> - You have four mutually exclusive
|
2359
2374
|
# options to protect data using server-side encryption in Amazon S3,
|
@@ -2407,6 +2422,14 @@ module Aws::S3
|
|
2407
2422
|
#
|
2408
2423
|
# </note>
|
2409
2424
|
#
|
2425
|
+
# * <b>S3 access points for Amazon FSx </b> - When accessing data stored
|
2426
|
+
# in Amazon FSx file systems using S3 access points, the only valid
|
2427
|
+
# server side encryption option is `aws:fsx`. All Amazon FSx file
|
2428
|
+
# systems have encryption configured by default and are encrypted at
|
2429
|
+
# rest. Data is automatically encrypted before being written to the
|
2430
|
+
# file system, and automatically decrypted as it is read. These
|
2431
|
+
# processes are handled transparently by Amazon FSx.
|
2432
|
+
#
|
2410
2433
|
#
|
2411
2434
|
#
|
2412
2435
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
@@ -2679,7 +2702,7 @@ module Aws::S3
|
|
2679
2702
|
# bucket_name: "BucketName", # required
|
2680
2703
|
# prefix: "LocationPrefix", # required
|
2681
2704
|
# encryption: {
|
2682
|
-
# encryption_type: "AES256", # required, accepts AES256, aws:kms, aws:kms:dsse
|
2705
|
+
# encryption_type: "AES256", # required, accepts AES256, aws:fsx, aws:kms, aws:kms:dsse
|
2683
2706
|
# kms_key_id: "SSEKMSKeyId",
|
2684
2707
|
# kms_context: "KMSContext",
|
2685
2708
|
# },
|
@@ -2710,7 +2733,7 @@ module Aws::S3
|
|
2710
2733
|
# value: "MetadataValue",
|
2711
2734
|
# },
|
2712
2735
|
# ],
|
2713
|
-
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE
|
2736
|
+
# storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW, EXPRESS_ONEZONE, FSX_OPENZFS
|
2714
2737
|
# },
|
2715
2738
|
# },
|
2716
2739
|
# },
|
@@ -62,18 +62,16 @@ module Aws
|
|
62
62
|
class Handler < Seahorse::Client::Handler
|
63
63
|
|
64
64
|
def call(context)
|
65
|
-
target = context.params[:response_target] || context[:response_target]
|
66
|
-
|
67
65
|
# retry is only supported when range is NOT set on the initial request
|
68
|
-
if supported_target?(
|
69
|
-
add_event_listeners(context
|
66
|
+
if supported_target?(context) && !context.params[:range]
|
67
|
+
add_event_listeners(context)
|
70
68
|
end
|
71
69
|
@handler.call(context)
|
72
70
|
end
|
73
71
|
|
74
72
|
private
|
75
73
|
|
76
|
-
def add_event_listeners(context
|
74
|
+
def add_event_listeners(context)
|
77
75
|
context.http_response.on_headers(200..299) do
|
78
76
|
case context.http_response.body
|
79
77
|
when Seahorse::Client::BlockIO then
|
@@ -123,8 +121,8 @@ module Aws
|
|
123
121
|
context.http_response.body.is_a?(RetryableManagedFile)
|
124
122
|
end
|
125
123
|
|
126
|
-
def supported_target?(
|
127
|
-
case
|
124
|
+
def supported_target?(context)
|
125
|
+
case context[:response_target]
|
128
126
|
when Proc, String, Pathname then true
|
129
127
|
else false
|
130
128
|
end
|