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
@@ -7,6 +7,7 @@
|
|
7
7
|
#
|
8
8
|
# WARNING ABOUT GENERATED CODE
|
9
9
|
|
10
|
+
|
10
11
|
module Aws::S3
|
11
12
|
# @api private
|
12
13
|
module ClientApi
|
@@ -334,6 +335,7 @@ module Aws::S3
|
|
334
335
|
ListBucketMetricsConfigurationsOutput = Shapes::StructureShape.new(name: 'ListBucketMetricsConfigurationsOutput')
|
335
336
|
ListBucketMetricsConfigurationsRequest = Shapes::StructureShape.new(name: 'ListBucketMetricsConfigurationsRequest')
|
336
337
|
ListBucketsOutput = Shapes::StructureShape.new(name: 'ListBucketsOutput')
|
338
|
+
ListBucketsRequest = Shapes::StructureShape.new(name: 'ListBucketsRequest')
|
337
339
|
ListDirectoryBucketsOutput = Shapes::StructureShape.new(name: 'ListDirectoryBucketsOutput')
|
338
340
|
ListDirectoryBucketsRequest = Shapes::StructureShape.new(name: 'ListDirectoryBucketsRequest')
|
339
341
|
ListMultipartUploadsOutput = Shapes::StructureShape.new(name: 'ListMultipartUploadsOutput')
|
@@ -357,6 +359,7 @@ module Aws::S3
|
|
357
359
|
MFADeleteStatus = Shapes::StringShape.new(name: 'MFADeleteStatus')
|
358
360
|
Marker = Shapes::StringShape.new(name: 'Marker')
|
359
361
|
MaxAgeSeconds = Shapes::IntegerShape.new(name: 'MaxAgeSeconds')
|
362
|
+
MaxBuckets = Shapes::IntegerShape.new(name: 'MaxBuckets')
|
360
363
|
MaxDirectoryBuckets = Shapes::IntegerShape.new(name: 'MaxDirectoryBuckets')
|
361
364
|
MaxKeys = Shapes::IntegerShape.new(name: 'MaxKeys')
|
362
365
|
MaxParts = Shapes::IntegerShape.new(name: 'MaxParts')
|
@@ -461,6 +464,7 @@ module Aws::S3
|
|
461
464
|
PutBucketEncryptionRequest = Shapes::StructureShape.new(name: 'PutBucketEncryptionRequest')
|
462
465
|
PutBucketIntelligentTieringConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketIntelligentTieringConfigurationRequest')
|
463
466
|
PutBucketInventoryConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketInventoryConfigurationRequest')
|
467
|
+
PutBucketLifecycleConfigurationOutput = Shapes::StructureShape.new(name: 'PutBucketLifecycleConfigurationOutput')
|
464
468
|
PutBucketLifecycleConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketLifecycleConfigurationRequest')
|
465
469
|
PutBucketLifecycleRequest = Shapes::StructureShape.new(name: 'PutBucketLifecycleRequest')
|
466
470
|
PutBucketLoggingRequest = Shapes::StructureShape.new(name: 'PutBucketLoggingRequest')
|
@@ -600,6 +604,7 @@ module Aws::S3
|
|
600
604
|
TopicConfigurationDeprecated = Shapes::StructureShape.new(name: 'TopicConfigurationDeprecated')
|
601
605
|
TopicConfigurationList = Shapes::ListShape.new(name: 'TopicConfigurationList', flattened: true)
|
602
606
|
Transition = Shapes::StructureShape.new(name: 'Transition')
|
607
|
+
TransitionDefaultMinimumObjectSize = Shapes::StringShape.new(name: 'TransitionDefaultMinimumObjectSize')
|
603
608
|
TransitionList = Shapes::ListShape.new(name: 'TransitionList', flattened: true)
|
604
609
|
TransitionStorageClass = Shapes::StringShape.new(name: 'TransitionStorageClass')
|
605
610
|
Type = Shapes::StringShape.new(name: 'Type')
|
@@ -768,6 +773,7 @@ module Aws::S3
|
|
768
773
|
CompleteMultipartUploadRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
|
769
774
|
CompleteMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
|
770
775
|
CompleteMultipartUploadRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
|
776
|
+
CompleteMultipartUploadRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
|
771
777
|
CompleteMultipartUploadRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
|
772
778
|
CompleteMultipartUploadRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
|
773
779
|
CompleteMultipartUploadRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
|
@@ -817,7 +823,7 @@ module Aws::S3
|
|
817
823
|
CopyObjectRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
|
818
824
|
CopyObjectRequest.add_member(:content_language, Shapes::ShapeRef.new(shape: ContentLanguage, location: "header", location_name: "Content-Language"))
|
819
825
|
CopyObjectRequest.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location: "header", location_name: "Content-Type"))
|
820
|
-
CopyObjectRequest.add_member(:copy_source, Shapes::ShapeRef.new(shape: CopySource, required: true, location: "header", location_name: "x-amz-copy-source"))
|
826
|
+
CopyObjectRequest.add_member(:copy_source, Shapes::ShapeRef.new(shape: CopySource, required: true, location: "header", location_name: "x-amz-copy-source", metadata: {"contextParam"=>{"name"=>"CopySource"}}))
|
821
827
|
CopyObjectRequest.add_member(:copy_source_if_match, Shapes::ShapeRef.new(shape: CopySourceIfMatch, location: "header", location_name: "x-amz-copy-source-if-match"))
|
822
828
|
CopyObjectRequest.add_member(:copy_source_if_modified_since, Shapes::ShapeRef.new(shape: CopySourceIfModifiedSince, location: "header", location_name: "x-amz-copy-source-if-modified-since"))
|
823
829
|
CopyObjectRequest.add_member(:copy_source_if_none_match, Shapes::ShapeRef.new(shape: CopySourceIfNoneMatch, location: "header", location_name: "x-amz-copy-source-if-none-match"))
|
@@ -827,7 +833,7 @@ module Aws::S3
|
|
827
833
|
CopyObjectRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
|
828
834
|
CopyObjectRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
|
829
835
|
CopyObjectRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
|
830
|
-
CopyObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
|
836
|
+
CopyObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
|
831
837
|
CopyObjectRequest.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, location: "headers", location_name: "x-amz-meta-"))
|
832
838
|
CopyObjectRequest.add_member(:metadata_directive, Shapes::ShapeRef.new(shape: MetadataDirective, location: "header", location_name: "x-amz-metadata-directive"))
|
833
839
|
CopyObjectRequest.add_member(:tagging_directive, Shapes::ShapeRef.new(shape: TaggingDirective, location: "header", location_name: "x-amz-tagging-directive"))
|
@@ -937,11 +943,19 @@ module Aws::S3
|
|
937
943
|
CreateMultipartUploadRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-checksum-algorithm"))
|
938
944
|
CreateMultipartUploadRequest.struct_class = Types::CreateMultipartUploadRequest
|
939
945
|
|
946
|
+
CreateSessionOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
|
947
|
+
CreateSessionOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
|
948
|
+
CreateSessionOutput.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
|
949
|
+
CreateSessionOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
|
940
950
|
CreateSessionOutput.add_member(:credentials, Shapes::ShapeRef.new(shape: SessionCredentials, required: true, location_name: "Credentials"))
|
941
951
|
CreateSessionOutput.struct_class = Types::CreateSessionOutput
|
942
952
|
|
943
953
|
CreateSessionRequest.add_member(:session_mode, Shapes::ShapeRef.new(shape: SessionMode, location: "header", location_name: "x-amz-create-session-mode"))
|
944
954
|
CreateSessionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
|
955
|
+
CreateSessionRequest.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
|
956
|
+
CreateSessionRequest.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
|
957
|
+
CreateSessionRequest.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
|
958
|
+
CreateSessionRequest.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
|
945
959
|
CreateSessionRequest.struct_class = Types::CreateSessionRequest
|
946
960
|
|
947
961
|
DefaultRetention.add_member(:mode, Shapes::ShapeRef.new(shape: ObjectLockRetentionMode, location_name: "Mode"))
|
@@ -1179,6 +1193,7 @@ module Aws::S3
|
|
1179
1193
|
GetBucketInventoryConfigurationRequest.struct_class = Types::GetBucketInventoryConfigurationRequest
|
1180
1194
|
|
1181
1195
|
GetBucketLifecycleConfigurationOutput.add_member(:rules, Shapes::ShapeRef.new(shape: LifecycleRules, location_name: "Rule"))
|
1196
|
+
GetBucketLifecycleConfigurationOutput.add_member(:transition_default_minimum_object_size, Shapes::ShapeRef.new(shape: TransitionDefaultMinimumObjectSize, location: "header", location_name: "x-amz-transition-default-minimum-object-size"))
|
1182
1197
|
GetBucketLifecycleConfigurationOutput.struct_class = Types::GetBucketLifecycleConfigurationOutput
|
1183
1198
|
|
1184
1199
|
GetBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
|
@@ -1531,6 +1546,12 @@ module Aws::S3
|
|
1531
1546
|
HeadObjectRequest.add_member(:if_unmodified_since, Shapes::ShapeRef.new(shape: IfUnmodifiedSince, location: "header", location_name: "If-Unmodified-Since"))
|
1532
1547
|
HeadObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
|
1533
1548
|
HeadObjectRequest.add_member(:range, Shapes::ShapeRef.new(shape: Range, location: "header", location_name: "Range"))
|
1549
|
+
HeadObjectRequest.add_member(:response_cache_control, Shapes::ShapeRef.new(shape: ResponseCacheControl, location: "querystring", location_name: "response-cache-control"))
|
1550
|
+
HeadObjectRequest.add_member(:response_content_disposition, Shapes::ShapeRef.new(shape: ResponseContentDisposition, location: "querystring", location_name: "response-content-disposition"))
|
1551
|
+
HeadObjectRequest.add_member(:response_content_encoding, Shapes::ShapeRef.new(shape: ResponseContentEncoding, location: "querystring", location_name: "response-content-encoding"))
|
1552
|
+
HeadObjectRequest.add_member(:response_content_language, Shapes::ShapeRef.new(shape: ResponseContentLanguage, location: "querystring", location_name: "response-content-language"))
|
1553
|
+
HeadObjectRequest.add_member(:response_content_type, Shapes::ShapeRef.new(shape: ResponseContentType, location: "querystring", location_name: "response-content-type"))
|
1554
|
+
HeadObjectRequest.add_member(:response_expires, Shapes::ShapeRef.new(shape: ResponseExpires, location: "querystring", location_name: "response-expires"))
|
1534
1555
|
HeadObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
|
1535
1556
|
HeadObjectRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
|
1536
1557
|
HeadObjectRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
|
@@ -1701,8 +1722,13 @@ module Aws::S3
|
|
1701
1722
|
|
1702
1723
|
ListBucketsOutput.add_member(:buckets, Shapes::ShapeRef.new(shape: Buckets, location_name: "Buckets"))
|
1703
1724
|
ListBucketsOutput.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
|
1725
|
+
ListBucketsOutput.add_member(:continuation_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "ContinuationToken"))
|
1704
1726
|
ListBucketsOutput.struct_class = Types::ListBucketsOutput
|
1705
1727
|
|
1728
|
+
ListBucketsRequest.add_member(:max_buckets, Shapes::ShapeRef.new(shape: MaxBuckets, location: "querystring", location_name: "max-buckets"))
|
1729
|
+
ListBucketsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
|
1730
|
+
ListBucketsRequest.struct_class = Types::ListBucketsRequest
|
1731
|
+
|
1706
1732
|
ListDirectoryBucketsOutput.add_member(:buckets, Shapes::ShapeRef.new(shape: Buckets, location_name: "Buckets"))
|
1707
1733
|
ListDirectoryBucketsOutput.add_member(:continuation_token, Shapes::ShapeRef.new(shape: DirectoryBucketToken, location_name: "ContinuationToken"))
|
1708
1734
|
ListDirectoryBucketsOutput.struct_class = Types::ListDirectoryBucketsOutput
|
@@ -2107,10 +2133,14 @@ module Aws::S3
|
|
2107
2133
|
PutBucketInventoryConfigurationRequest[:payload] = :inventory_configuration
|
2108
2134
|
PutBucketInventoryConfigurationRequest[:payload_member] = PutBucketInventoryConfigurationRequest.member(:inventory_configuration)
|
2109
2135
|
|
2136
|
+
PutBucketLifecycleConfigurationOutput.add_member(:transition_default_minimum_object_size, Shapes::ShapeRef.new(shape: TransitionDefaultMinimumObjectSize, location: "header", location_name: "x-amz-transition-default-minimum-object-size"))
|
2137
|
+
PutBucketLifecycleConfigurationOutput.struct_class = Types::PutBucketLifecycleConfigurationOutput
|
2138
|
+
|
2110
2139
|
PutBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
|
2111
2140
|
PutBucketLifecycleConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
|
2112
2141
|
PutBucketLifecycleConfigurationRequest.add_member(:lifecycle_configuration, Shapes::ShapeRef.new(shape: BucketLifecycleConfiguration, location_name: "LifecycleConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
|
2113
2142
|
PutBucketLifecycleConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
|
2143
|
+
PutBucketLifecycleConfigurationRequest.add_member(:transition_default_minimum_object_size, Shapes::ShapeRef.new(shape: TransitionDefaultMinimumObjectSize, location: "header", location_name: "x-amz-transition-default-minimum-object-size"))
|
2114
2144
|
PutBucketLifecycleConfigurationRequest.struct_class = Types::PutBucketLifecycleConfigurationRequest
|
2115
2145
|
PutBucketLifecycleConfigurationRequest[:payload] = :lifecycle_configuration
|
2116
2146
|
PutBucketLifecycleConfigurationRequest[:payload_member] = PutBucketLifecycleConfigurationRequest.member(:lifecycle_configuration)
|
@@ -2305,6 +2335,7 @@ module Aws::S3
|
|
2305
2335
|
PutObjectRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
|
2306
2336
|
PutObjectRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
|
2307
2337
|
PutObjectRequest.add_member(:expires, Shapes::ShapeRef.new(shape: Expires, location: "header", location_name: "Expires"))
|
2338
|
+
PutObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
|
2308
2339
|
PutObjectRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
|
2309
2340
|
PutObjectRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
|
2310
2341
|
PutObjectRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
|
@@ -2760,10 +2791,12 @@ module Aws::S3
|
|
2760
2791
|
|
2761
2792
|
api.metadata = {
|
2762
2793
|
"apiVersion" => "2006-03-01",
|
2794
|
+
"auth" => ["aws.auth#sigv4"],
|
2763
2795
|
"checksumFormat" => "md5",
|
2764
2796
|
"endpointPrefix" => "s3",
|
2765
2797
|
"globalEndpoint" => "s3.amazonaws.com",
|
2766
2798
|
"protocol" => "rest-xml",
|
2799
|
+
"protocols" => ["rest-xml"],
|
2767
2800
|
"serviceAbbreviation" => "Amazon S3",
|
2768
2801
|
"serviceFullName" => "Amazon Simple Storage Service",
|
2769
2802
|
"serviceId" => "S3",
|
@@ -3283,8 +3316,14 @@ module Aws::S3
|
|
3283
3316
|
o.name = "ListBuckets"
|
3284
3317
|
o.http_method = "GET"
|
3285
3318
|
o.http_request_uri = "/"
|
3286
|
-
o.input = Shapes::ShapeRef.new(shape:
|
3319
|
+
o.input = Shapes::ShapeRef.new(shape: ListBucketsRequest)
|
3287
3320
|
o.output = Shapes::ShapeRef.new(shape: ListBucketsOutput)
|
3321
|
+
o[:pager] = Aws::Pager.new(
|
3322
|
+
limit_key: "max_buckets",
|
3323
|
+
tokens: {
|
3324
|
+
"continuation_token" => "continuation_token"
|
3325
|
+
}
|
3326
|
+
)
|
3288
3327
|
end)
|
3289
3328
|
|
3290
3329
|
api.add_operation(:list_directory_buckets, Seahorse::Model::Operation.new.tap do |o|
|
@@ -3497,7 +3536,7 @@ module Aws::S3
|
|
3497
3536
|
"requestChecksumRequired" => true,
|
3498
3537
|
}
|
3499
3538
|
o.input = Shapes::ShapeRef.new(shape: PutBucketLifecycleConfigurationRequest)
|
3500
|
-
o.output = Shapes::ShapeRef.new(shape:
|
3539
|
+
o.output = Shapes::ShapeRef.new(shape: PutBucketLifecycleConfigurationOutput)
|
3501
3540
|
end)
|
3502
3541
|
|
3503
3542
|
api.add_operation(:put_bucket_logging, Seahorse::Model::Operation.new.tap do |o|
|
@@ -3828,6 +3867,7 @@ module Aws::S3
|
|
3828
3867
|
o.http_method = "POST"
|
3829
3868
|
o.http_request_uri = "/WriteGetObjectResponse"
|
3830
3869
|
o['authtype'] = "v4-unsigned-body"
|
3870
|
+
o['unsignedPayload'] = true
|
3831
3871
|
o.endpoint_pattern = {
|
3832
3872
|
"hostPrefix" => "{RequestRoute}.",
|
3833
3873
|
}
|
@@ -134,7 +134,7 @@ module Aws
|
|
134
134
|
|
135
135
|
# @api private
|
136
136
|
def load
|
137
|
-
@data = Aws::Plugins::UserAgent.
|
137
|
+
@data = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
138
138
|
client.list_buckets.buckets.find { |b| b.name == name }
|
139
139
|
end
|
140
140
|
raise "unable to load bucket #{name}" if @data.nil?
|
@@ -3,8 +3,8 @@
|
|
3
3
|
module Aws
|
4
4
|
module S3
|
5
5
|
module Errors
|
6
|
-
# Hijack PermanentRedirect dynamic error to
|
7
|
-
# and
|
6
|
+
# Hijack PermanentRedirect dynamic error to include the bucket, region,
|
7
|
+
# and endpoint.
|
8
8
|
class PermanentRedirect < ServiceError
|
9
9
|
# @param [Seahorse::Client::RequestContext] context
|
10
10
|
# @param [String] message
|
@@ -22,6 +22,19 @@ module Aws
|
|
22
22
|
super(context, message, data)
|
23
23
|
end
|
24
24
|
end
|
25
|
+
|
26
|
+
# Hijack PermanentRedirect (HeadBucket case - no body) dynamic error to
|
27
|
+
# include the region.
|
28
|
+
class Http301Error < ServiceError
|
29
|
+
# @param [Seahorse::Client::RequestContext] context
|
30
|
+
# @param [String] message
|
31
|
+
# @param [Aws::S3::Types::PermanentRedirect] _data
|
32
|
+
def initialize(context, message, _data = Aws::EmptyStructure.new)
|
33
|
+
data = Aws::S3::Types::PermanentRedirect.new(message: message)
|
34
|
+
data.region = context.http_response.headers['x-amz-bucket-region']
|
35
|
+
super(context, message, data)
|
36
|
+
end
|
37
|
+
end
|
25
38
|
end
|
26
39
|
end
|
27
40
|
end
|
@@ -76,7 +76,7 @@ module Aws
|
|
76
76
|
# @see #copy_to
|
77
77
|
#
|
78
78
|
def copy_from(source, options = {})
|
79
|
-
Aws::Plugins::UserAgent.
|
79
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
80
80
|
if Hash === source && source[:copy_source]
|
81
81
|
# for backwards compatibility
|
82
82
|
@client.copy_object(source.merge(bucket: bucket_name, key: key))
|
@@ -119,7 +119,7 @@ module Aws
|
|
119
119
|
# object.copy_to('src-bucket/src-key', multipart_copy: true)
|
120
120
|
#
|
121
121
|
def copy_to(target, options = {})
|
122
|
-
Aws::Plugins::UserAgent.
|
122
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
123
123
|
ObjectCopier.new(self, options).copy_to(target, options)
|
124
124
|
end
|
125
125
|
end
|
@@ -390,7 +390,7 @@ module Aws
|
|
390
390
|
tempfile: uploading_options.delete(:tempfile),
|
391
391
|
part_size: uploading_options.delete(:part_size)
|
392
392
|
)
|
393
|
-
Aws::Plugins::UserAgent.
|
393
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
394
394
|
uploader.upload(
|
395
395
|
uploading_options.merge(bucket: bucket_name, key: key),
|
396
396
|
&block
|
@@ -473,7 +473,7 @@ module Aws
|
|
473
473
|
multipart_threshold: uploading_options.delete(:multipart_threshold),
|
474
474
|
client: client
|
475
475
|
)
|
476
|
-
response = Aws::Plugins::UserAgent.
|
476
|
+
response = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
477
477
|
uploader.upload(
|
478
478
|
source,
|
479
479
|
uploading_options.merge(bucket: bucket_name, key: key)
|
@@ -551,7 +551,7 @@ module Aws
|
|
551
551
|
# @see Client#head_object
|
552
552
|
def download_file(destination, options = {})
|
553
553
|
downloader = FileDownloader.new(client: client)
|
554
|
-
Aws::Plugins::UserAgent.
|
554
|
+
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
555
555
|
downloader.download(
|
556
556
|
destination,
|
557
557
|
options.merge(bucket: bucket_name, key: key)
|
@@ -559,6 +559,12 @@ module Aws
|
|
559
559
|
end
|
560
560
|
true
|
561
561
|
end
|
562
|
+
|
563
|
+
class Collection < Aws::Resources::Collection
|
564
|
+
alias_method :delete, :batch_delete!
|
565
|
+
extend Aws::Deprecations
|
566
|
+
deprecated :delete, use: :batch_delete!
|
567
|
+
end
|
562
568
|
end
|
563
569
|
end
|
564
570
|
end
|
@@ -80,6 +80,11 @@ module Aws
|
|
80
80
|
object.download_file(destination, options)
|
81
81
|
end
|
82
82
|
|
83
|
+
class Collection < Aws::Resources::Collection
|
84
|
+
alias_method :delete, :batch_delete!
|
85
|
+
extend Aws::Deprecations
|
86
|
+
deprecated :delete, use: :batch_delete!
|
87
|
+
end
|
83
88
|
end
|
84
89
|
end
|
85
90
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Aws
|
4
|
+
module S3
|
5
|
+
class ObjectVersion
|
6
|
+
class Collection < Aws::Resources::Collection
|
7
|
+
alias_method :delete, :batch_delete!
|
8
|
+
extend Aws::Deprecations
|
9
|
+
deprecated :delete, use: :batch_delete!
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -1,41 +1,30 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
3
|
+
module Aws
|
4
|
+
module S3
|
5
|
+
# utility classes
|
6
|
+
autoload :BucketRegionCache, 'aws-sdk-s3/bucket_region_cache'
|
7
|
+
autoload :Encryption, 'aws-sdk-s3/encryption'
|
8
|
+
autoload :EncryptionV2, 'aws-sdk-s3/encryption_v2'
|
9
|
+
autoload :FilePart, 'aws-sdk-s3/file_part'
|
10
|
+
autoload :FileUploader, 'aws-sdk-s3/file_uploader'
|
11
|
+
autoload :FileDownloader, 'aws-sdk-s3/file_downloader'
|
12
|
+
autoload :LegacySigner, 'aws-sdk-s3/legacy_signer'
|
13
|
+
autoload :MultipartFileUploader, 'aws-sdk-s3/multipart_file_uploader'
|
14
|
+
autoload :MultipartStreamUploader, 'aws-sdk-s3/multipart_stream_uploader'
|
15
|
+
autoload :MultipartUploadError, 'aws-sdk-s3/multipart_upload_error'
|
16
|
+
autoload :ObjectCopier, 'aws-sdk-s3/object_copier'
|
17
|
+
autoload :ObjectMultipartCopier, 'aws-sdk-s3/object_multipart_copier'
|
18
|
+
autoload :PresignedPost, 'aws-sdk-s3/presigned_post'
|
19
|
+
autoload :Presigner, 'aws-sdk-s3/presigner'
|
18
20
|
|
19
|
-
# s3 express session auth
|
20
|
-
|
21
|
-
|
22
|
-
require 'aws-sdk-s3/express_credentials_provider'
|
21
|
+
# s3 express session auth
|
22
|
+
autoload :ExpressCredentials, 'aws-sdk-s3/express_credentials'
|
23
|
+
autoload :ExpressCredentialsProvider, 'aws-sdk-s3/express_credentials_provider'
|
23
24
|
|
24
|
-
#
|
25
|
-
require 'aws-sdk-s3/customizations/bucket'
|
26
|
-
require 'aws-sdk-s3/customizations/errors'
|
27
|
-
require 'aws-sdk-s3/customizations/object'
|
28
|
-
require 'aws-sdk-s3/customizations/object_summary'
|
29
|
-
require 'aws-sdk-s3/customizations/multipart_upload'
|
30
|
-
require 'aws-sdk-s3/customizations/types/list_object_versions_output'
|
31
|
-
require 'aws-sdk-s3/customizations/types/permanent_redirect'
|
25
|
+
# s3 access grants auth
|
32
26
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
Aws::S3::ObjectVersion::Collection,
|
37
|
-
].each do |klass|
|
38
|
-
klass.send(:alias_method, :delete, :batch_delete!)
|
39
|
-
klass.extend Aws::Deprecations
|
40
|
-
klass.send(:deprecated, :delete, use: :batch_delete!)
|
27
|
+
autoload :AccessGrantsCredentials, 'aws-sdk-s3/access_grants_credentials'
|
28
|
+
autoload :AccessGrantsCredentialsProvider, 'aws-sdk-s3/access_grants_credentials_provider'
|
29
|
+
end
|
41
30
|
end
|
@@ -270,7 +270,7 @@ module Aws
|
|
270
270
|
envelope_location: @envelope_location,
|
271
271
|
instruction_file_suffix: @instruction_file_suffix,
|
272
272
|
}
|
273
|
-
Aws::Plugins::UserAgent.
|
273
|
+
Aws::Plugins::UserAgent.metric('S3_CRYPTO_V1N') do
|
274
274
|
req.send_request
|
275
275
|
end
|
276
276
|
end
|
@@ -300,7 +300,7 @@ module Aws
|
|
300
300
|
envelope_location: envelope_location,
|
301
301
|
instruction_file_suffix: instruction_file_suffix,
|
302
302
|
}
|
303
|
-
Aws::Plugins::UserAgent.
|
303
|
+
Aws::Plugins::UserAgent.metric('S3_CRYPTO_V1N') do
|
304
304
|
req.send_request(target: block)
|
305
305
|
end
|
306
306
|
end
|
@@ -17,7 +17,7 @@ module Aws
|
|
17
17
|
# envelope and encryption cipher.
|
18
18
|
def encryption_cipher
|
19
19
|
encryption_context = { "kms_cmk_id" => @kms_key_id }
|
20
|
-
key_data = Aws::Plugins::UserAgent.
|
20
|
+
key_data = Aws::Plugins::UserAgent.metric('S3_CRYPTO_V1N') do
|
21
21
|
@kms_client.generate_data_key(
|
22
22
|
key_id: @kms_key_id,
|
23
23
|
encryption_context: encryption_context,
|
@@ -60,7 +60,7 @@ module Aws
|
|
60
60
|
"#{envelope['x-amz-wrap-alg']}"
|
61
61
|
end
|
62
62
|
|
63
|
-
key = Aws::Plugins::UserAgent.
|
63
|
+
key = Aws::Plugins::UserAgent.metric('S3_CRYPTO_V1N') do
|
64
64
|
@kms_client.decrypt(
|
65
65
|
ciphertext_blob: decode64(envelope['x-amz-key-v2']),
|
66
66
|
encryption_context: encryption_context
|
@@ -361,7 +361,7 @@ module Aws
|
|
361
361
|
instruction_file_suffix: @instruction_file_suffix,
|
362
362
|
kms_encryption_context: kms_encryption_context
|
363
363
|
}
|
364
|
-
Aws::Plugins::UserAgent.
|
364
|
+
Aws::Plugins::UserAgent.metric('S3_CRYPTO_V2') do
|
365
365
|
req.send_request
|
366
366
|
end
|
367
367
|
end
|
@@ -416,7 +416,7 @@ module Aws
|
|
416
416
|
kms_allow_decrypt_with_any_cmk: kms_any_cmk_mode,
|
417
417
|
security_profile: security_profile
|
418
418
|
}
|
419
|
-
Aws::Plugins::UserAgent.
|
419
|
+
Aws::Plugins::UserAgent.metric('S3_CRYPTO_V2') do
|
420
420
|
req.send_request(target: block)
|
421
421
|
end
|
422
422
|
end
|
@@ -24,7 +24,7 @@ module Aws
|
|
24
24
|
def encryption_cipher(options = {})
|
25
25
|
validate_key_for_encryption
|
26
26
|
encryption_context = build_encryption_context(@content_encryption_schema, options)
|
27
|
-
key_data = Aws::Plugins::UserAgent.
|
27
|
+
key_data = Aws::Plugins::UserAgent.metric('S3_CRYPTO_V2') do
|
28
28
|
@kms_client.generate_data_key(
|
29
29
|
key_id: @kms_key_id,
|
30
30
|
encryption_context: encryption_context,
|
@@ -85,7 +85,7 @@ module Aws
|
|
85
85
|
decrypt_options[:key_id] = @kms_key_id
|
86
86
|
end
|
87
87
|
|
88
|
-
key = Aws::Plugins::UserAgent.
|
88
|
+
key = Aws::Plugins::UserAgent.metric('S3_CRYPTO_V2') do
|
89
89
|
@kms_client.decrypt(decrypt_options).plaintext
|
90
90
|
end
|
91
91
|
iv = decode64(envelope['x-amz-iv'])
|
@@ -65,6 +65,11 @@ module Aws::S3
|
|
65
65
|
#
|
66
66
|
# @return [String]
|
67
67
|
#
|
68
|
+
# @!attribute copy_source
|
69
|
+
# The Copy Source used for Copy Object request. This is an optional parameter that will be set automatically for operations that are scoped to Copy Source.
|
70
|
+
#
|
71
|
+
# @return [String]
|
72
|
+
#
|
68
73
|
# @!attribute disable_access_points
|
69
74
|
# Internal parameter to disable Access Point Buckets
|
70
75
|
#
|
@@ -102,6 +107,7 @@ module Aws::S3
|
|
102
107
|
:use_object_lambda_endpoint,
|
103
108
|
:key,
|
104
109
|
:prefix,
|
110
|
+
:copy_source,
|
105
111
|
:disable_access_points,
|
106
112
|
:disable_multi_region_access_points,
|
107
113
|
:use_arn_region,
|
@@ -124,6 +130,7 @@ module Aws::S3
|
|
124
130
|
'UseObjectLambdaEndpoint' => :use_object_lambda_endpoint,
|
125
131
|
'Key' => :key,
|
126
132
|
'Prefix' => :prefix,
|
133
|
+
'CopySource' => :copy_source,
|
127
134
|
'DisableAccessPoints' => :disable_access_points,
|
128
135
|
'DisableMultiRegionAccessPoints' => :disable_multi_region_access_points,
|
129
136
|
'UseArnRegion' => :use_arn_region,
|
@@ -164,6 +171,7 @@ module Aws::S3
|
|
164
171
|
self[:use_object_lambda_endpoint] = options[:use_object_lambda_endpoint]
|
165
172
|
self[:key] = options[:key]
|
166
173
|
self[:prefix] = options[:prefix]
|
174
|
+
self[:copy_source] = options[:copy_source]
|
167
175
|
self[:disable_access_points] = options[:disable_access_points]
|
168
176
|
self[:disable_multi_region_access_points] = options[:disable_multi_region_access_points]
|
169
177
|
self[:disable_multi_region_access_points] = false if self[:disable_multi_region_access_points].nil?
|
@@ -21,6 +21,7 @@ module Aws::S3
|
|
21
21
|
use_object_lambda_endpoint = parameters.use_object_lambda_endpoint
|
22
22
|
key = parameters.key
|
23
23
|
prefix = parameters.prefix
|
24
|
+
copy_source = parameters.copy_source
|
24
25
|
disable_access_points = parameters.disable_access_points
|
25
26
|
disable_multi_region_access_points = parameters.disable_multi_region_access_points
|
26
27
|
use_arn_region = parameters.use_arn_region
|