aws-sdk-s3 1.150.0 → 1.169.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +110 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +12 -3
- data/lib/aws-sdk-s3/bucket.rb +252 -88
- data/lib/aws-sdk-s3/bucket_acl.rb +3 -3
- data/lib/aws-sdk-s3/bucket_cors.rb +4 -4
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +4 -4
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +42 -5
- data/lib/aws-sdk-s3/bucket_logging.rb +3 -3
- data/lib/aws-sdk-s3/bucket_notification.rb +3 -3
- data/lib/aws-sdk-s3/bucket_policy.rb +8 -8
- data/lib/aws-sdk-s3/bucket_request_payment.rb +3 -3
- data/lib/aws-sdk-s3/bucket_tagging.rb +4 -4
- data/lib/aws-sdk-s3/bucket_versioning.rb +5 -5
- data/lib/aws-sdk-s3/bucket_website.rb +4 -4
- data/lib/aws-sdk-s3/client.rb +1685 -668
- data/lib/aws-sdk-s3/client_api.rb +49 -4
- data/lib/aws-sdk-s3/customizations/bucket.rb +1 -1
- data/lib/aws-sdk-s3/customizations/object.rb +11 -5
- data/lib/aws-sdk-s3/customizations/object_summary.rb +5 -0
- data/lib/aws-sdk-s3/customizations/object_version.rb +13 -0
- data/lib/aws-sdk-s3/customizations.rb +24 -38
- data/lib/aws-sdk-s3/encryption/client.rb +2 -2
- data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +2 -2
- data/lib/aws-sdk-s3/encryptionV2/client.rb +2 -2
- data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +2 -2
- data/lib/aws-sdk-s3/endpoint_parameters.rb +21 -18
- data/lib/aws-sdk-s3/endpoint_provider.rb +1 -0
- data/lib/aws-sdk-s3/endpoints.rb +416 -1614
- data/lib/aws-sdk-s3/errors.rb +3 -0
- data/lib/aws-sdk-s3/file_downloader.rb +1 -1
- data/lib/aws-sdk-s3/file_uploader.rb +1 -1
- data/lib/aws-sdk-s3/multipart_stream_uploader.rb +1 -1
- data/lib/aws-sdk-s3/multipart_upload.rb +31 -8
- data/lib/aws-sdk-s3/multipart_upload_part.rb +11 -11
- data/lib/aws-sdk-s3/object.rb +441 -158
- data/lib/aws-sdk-s3/object_acl.rb +3 -3
- data/lib/aws-sdk-s3/object_copier.rb +1 -1
- data/lib/aws-sdk-s3/object_summary.rb +403 -134
- data/lib/aws-sdk-s3/object_version.rb +53 -13
- data/lib/aws-sdk-s3/plugins/access_grants.rb +75 -5
- data/lib/aws-sdk-s3/plugins/endpoints.rb +24 -212
- data/lib/aws-sdk-s3/plugins/express_session_auth.rb +7 -1
- data/lib/aws-sdk-s3/plugins/http_200_errors.rb +53 -16
- data/lib/aws-sdk-s3/resource.rb +37 -11
- data/lib/aws-sdk-s3/types.rb +1106 -401
- data/lib/aws-sdk-s3.rb +35 -31
- data/sig/bucket.rbs +4 -0
- data/sig/bucket_lifecycle_configuration.rbs +7 -3
- data/sig/client.rbs +49 -5
- data/sig/multipart_upload.rbs +1 -0
- data/sig/object.rbs +7 -0
- data/sig/object_summary.rbs +1 -0
- data/sig/object_version.rbs +6 -0
- data/sig/resource.rbs +7 -1
- data/sig/types.rbs +36 -2
- data/sig/waiters.rbs +12 -0
- metadata +7 -6
@@ -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
|
@@ -56,6 +57,7 @@ module Aws::S3
|
|
56
57
|
BucketLoggingStatus = Shapes::StructureShape.new(name: 'BucketLoggingStatus')
|
57
58
|
BucketLogsPermission = Shapes::StringShape.new(name: 'BucketLogsPermission')
|
58
59
|
BucketName = Shapes::StringShape.new(name: 'BucketName')
|
60
|
+
BucketRegion = Shapes::StringShape.new(name: 'BucketRegion')
|
59
61
|
BucketType = Shapes::StringShape.new(name: 'BucketType')
|
60
62
|
BucketVersioningStatus = Shapes::StringShape.new(name: 'BucketVersioningStatus')
|
61
63
|
Buckets = Shapes::ListShape.new(name: 'Buckets')
|
@@ -334,6 +336,7 @@ module Aws::S3
|
|
334
336
|
ListBucketMetricsConfigurationsOutput = Shapes::StructureShape.new(name: 'ListBucketMetricsConfigurationsOutput')
|
335
337
|
ListBucketMetricsConfigurationsRequest = Shapes::StructureShape.new(name: 'ListBucketMetricsConfigurationsRequest')
|
336
338
|
ListBucketsOutput = Shapes::StructureShape.new(name: 'ListBucketsOutput')
|
339
|
+
ListBucketsRequest = Shapes::StructureShape.new(name: 'ListBucketsRequest')
|
337
340
|
ListDirectoryBucketsOutput = Shapes::StructureShape.new(name: 'ListDirectoryBucketsOutput')
|
338
341
|
ListDirectoryBucketsRequest = Shapes::StructureShape.new(name: 'ListDirectoryBucketsRequest')
|
339
342
|
ListMultipartUploadsOutput = Shapes::StructureShape.new(name: 'ListMultipartUploadsOutput')
|
@@ -357,6 +360,7 @@ module Aws::S3
|
|
357
360
|
MFADeleteStatus = Shapes::StringShape.new(name: 'MFADeleteStatus')
|
358
361
|
Marker = Shapes::StringShape.new(name: 'Marker')
|
359
362
|
MaxAgeSeconds = Shapes::IntegerShape.new(name: 'MaxAgeSeconds')
|
363
|
+
MaxBuckets = Shapes::IntegerShape.new(name: 'MaxBuckets')
|
360
364
|
MaxDirectoryBuckets = Shapes::IntegerShape.new(name: 'MaxDirectoryBuckets')
|
361
365
|
MaxKeys = Shapes::IntegerShape.new(name: 'MaxKeys')
|
362
366
|
MaxParts = Shapes::IntegerShape.new(name: 'MaxParts')
|
@@ -461,6 +465,7 @@ module Aws::S3
|
|
461
465
|
PutBucketEncryptionRequest = Shapes::StructureShape.new(name: 'PutBucketEncryptionRequest')
|
462
466
|
PutBucketIntelligentTieringConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketIntelligentTieringConfigurationRequest')
|
463
467
|
PutBucketInventoryConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketInventoryConfigurationRequest')
|
468
|
+
PutBucketLifecycleConfigurationOutput = Shapes::StructureShape.new(name: 'PutBucketLifecycleConfigurationOutput')
|
464
469
|
PutBucketLifecycleConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketLifecycleConfigurationRequest')
|
465
470
|
PutBucketLifecycleRequest = Shapes::StructureShape.new(name: 'PutBucketLifecycleRequest')
|
466
471
|
PutBucketLoggingRequest = Shapes::StructureShape.new(name: 'PutBucketLoggingRequest')
|
@@ -600,6 +605,7 @@ module Aws::S3
|
|
600
605
|
TopicConfigurationDeprecated = Shapes::StructureShape.new(name: 'TopicConfigurationDeprecated')
|
601
606
|
TopicConfigurationList = Shapes::ListShape.new(name: 'TopicConfigurationList', flattened: true)
|
602
607
|
Transition = Shapes::StructureShape.new(name: 'Transition')
|
608
|
+
TransitionDefaultMinimumObjectSize = Shapes::StringShape.new(name: 'TransitionDefaultMinimumObjectSize')
|
603
609
|
TransitionList = Shapes::ListShape.new(name: 'TransitionList', flattened: true)
|
604
610
|
TransitionStorageClass = Shapes::StringShape.new(name: 'TransitionStorageClass')
|
605
611
|
Type = Shapes::StringShape.new(name: 'Type')
|
@@ -675,6 +681,7 @@ module Aws::S3
|
|
675
681
|
|
676
682
|
Bucket.add_member(:name, Shapes::ShapeRef.new(shape: BucketName, location_name: "Name"))
|
677
683
|
Bucket.add_member(:creation_date, Shapes::ShapeRef.new(shape: CreationDate, location_name: "CreationDate"))
|
684
|
+
Bucket.add_member(:bucket_region, Shapes::ShapeRef.new(shape: BucketRegion, location_name: "BucketRegion"))
|
678
685
|
Bucket.struct_class = Types::Bucket
|
679
686
|
|
680
687
|
BucketAlreadyExists.struct_class = Types::BucketAlreadyExists
|
@@ -768,6 +775,7 @@ module Aws::S3
|
|
768
775
|
CompleteMultipartUploadRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
|
769
776
|
CompleteMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
|
770
777
|
CompleteMultipartUploadRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
|
778
|
+
CompleteMultipartUploadRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
|
771
779
|
CompleteMultipartUploadRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
|
772
780
|
CompleteMultipartUploadRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
|
773
781
|
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 +825,7 @@ module Aws::S3
|
|
817
825
|
CopyObjectRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
|
818
826
|
CopyObjectRequest.add_member(:content_language, Shapes::ShapeRef.new(shape: ContentLanguage, location: "header", location_name: "Content-Language"))
|
819
827
|
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"))
|
828
|
+
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
829
|
CopyObjectRequest.add_member(:copy_source_if_match, Shapes::ShapeRef.new(shape: CopySourceIfMatch, location: "header", location_name: "x-amz-copy-source-if-match"))
|
822
830
|
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
831
|
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 +835,7 @@ module Aws::S3
|
|
827
835
|
CopyObjectRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
|
828
836
|
CopyObjectRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
|
829
837
|
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"))
|
838
|
+
CopyObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
|
831
839
|
CopyObjectRequest.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, location: "headers", location_name: "x-amz-meta-"))
|
832
840
|
CopyObjectRequest.add_member(:metadata_directive, Shapes::ShapeRef.new(shape: MetadataDirective, location: "header", location_name: "x-amz-metadata-directive"))
|
833
841
|
CopyObjectRequest.add_member(:tagging_directive, Shapes::ShapeRef.new(shape: TaggingDirective, location: "header", location_name: "x-amz-tagging-directive"))
|
@@ -937,11 +945,19 @@ module Aws::S3
|
|
937
945
|
CreateMultipartUploadRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-checksum-algorithm"))
|
938
946
|
CreateMultipartUploadRequest.struct_class = Types::CreateMultipartUploadRequest
|
939
947
|
|
948
|
+
CreateSessionOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
|
949
|
+
CreateSessionOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
|
950
|
+
CreateSessionOutput.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
|
951
|
+
CreateSessionOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
|
940
952
|
CreateSessionOutput.add_member(:credentials, Shapes::ShapeRef.new(shape: SessionCredentials, required: true, location_name: "Credentials"))
|
941
953
|
CreateSessionOutput.struct_class = Types::CreateSessionOutput
|
942
954
|
|
943
955
|
CreateSessionRequest.add_member(:session_mode, Shapes::ShapeRef.new(shape: SessionMode, location: "header", location_name: "x-amz-create-session-mode"))
|
944
956
|
CreateSessionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
|
957
|
+
CreateSessionRequest.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
|
958
|
+
CreateSessionRequest.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
|
959
|
+
CreateSessionRequest.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
|
960
|
+
CreateSessionRequest.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
|
945
961
|
CreateSessionRequest.struct_class = Types::CreateSessionRequest
|
946
962
|
|
947
963
|
DefaultRetention.add_member(:mode, Shapes::ShapeRef.new(shape: ObjectLockRetentionMode, location_name: "Mode"))
|
@@ -1179,6 +1195,7 @@ module Aws::S3
|
|
1179
1195
|
GetBucketInventoryConfigurationRequest.struct_class = Types::GetBucketInventoryConfigurationRequest
|
1180
1196
|
|
1181
1197
|
GetBucketLifecycleConfigurationOutput.add_member(:rules, Shapes::ShapeRef.new(shape: LifecycleRules, location_name: "Rule"))
|
1198
|
+
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
1199
|
GetBucketLifecycleConfigurationOutput.struct_class = Types::GetBucketLifecycleConfigurationOutput
|
1183
1200
|
|
1184
1201
|
GetBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
|
@@ -1531,6 +1548,12 @@ module Aws::S3
|
|
1531
1548
|
HeadObjectRequest.add_member(:if_unmodified_since, Shapes::ShapeRef.new(shape: IfUnmodifiedSince, location: "header", location_name: "If-Unmodified-Since"))
|
1532
1549
|
HeadObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
|
1533
1550
|
HeadObjectRequest.add_member(:range, Shapes::ShapeRef.new(shape: Range, location: "header", location_name: "Range"))
|
1551
|
+
HeadObjectRequest.add_member(:response_cache_control, Shapes::ShapeRef.new(shape: ResponseCacheControl, location: "querystring", location_name: "response-cache-control"))
|
1552
|
+
HeadObjectRequest.add_member(:response_content_disposition, Shapes::ShapeRef.new(shape: ResponseContentDisposition, location: "querystring", location_name: "response-content-disposition"))
|
1553
|
+
HeadObjectRequest.add_member(:response_content_encoding, Shapes::ShapeRef.new(shape: ResponseContentEncoding, location: "querystring", location_name: "response-content-encoding"))
|
1554
|
+
HeadObjectRequest.add_member(:response_content_language, Shapes::ShapeRef.new(shape: ResponseContentLanguage, location: "querystring", location_name: "response-content-language"))
|
1555
|
+
HeadObjectRequest.add_member(:response_content_type, Shapes::ShapeRef.new(shape: ResponseContentType, location: "querystring", location_name: "response-content-type"))
|
1556
|
+
HeadObjectRequest.add_member(:response_expires, Shapes::ShapeRef.new(shape: ResponseExpires, location: "querystring", location_name: "response-expires"))
|
1534
1557
|
HeadObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
|
1535
1558
|
HeadObjectRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
|
1536
1559
|
HeadObjectRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
|
@@ -1701,8 +1724,16 @@ module Aws::S3
|
|
1701
1724
|
|
1702
1725
|
ListBucketsOutput.add_member(:buckets, Shapes::ShapeRef.new(shape: Buckets, location_name: "Buckets"))
|
1703
1726
|
ListBucketsOutput.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
|
1727
|
+
ListBucketsOutput.add_member(:continuation_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "ContinuationToken"))
|
1728
|
+
ListBucketsOutput.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
|
1704
1729
|
ListBucketsOutput.struct_class = Types::ListBucketsOutput
|
1705
1730
|
|
1731
|
+
ListBucketsRequest.add_member(:max_buckets, Shapes::ShapeRef.new(shape: MaxBuckets, location: "querystring", location_name: "max-buckets"))
|
1732
|
+
ListBucketsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
|
1733
|
+
ListBucketsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
|
1734
|
+
ListBucketsRequest.add_member(:bucket_region, Shapes::ShapeRef.new(shape: BucketRegion, location: "querystring", location_name: "bucket-region"))
|
1735
|
+
ListBucketsRequest.struct_class = Types::ListBucketsRequest
|
1736
|
+
|
1706
1737
|
ListDirectoryBucketsOutput.add_member(:buckets, Shapes::ShapeRef.new(shape: Buckets, location_name: "Buckets"))
|
1707
1738
|
ListDirectoryBucketsOutput.add_member(:continuation_token, Shapes::ShapeRef.new(shape: DirectoryBucketToken, location_name: "ContinuationToken"))
|
1708
1739
|
ListDirectoryBucketsOutput.struct_class = Types::ListDirectoryBucketsOutput
|
@@ -2107,10 +2138,14 @@ module Aws::S3
|
|
2107
2138
|
PutBucketInventoryConfigurationRequest[:payload] = :inventory_configuration
|
2108
2139
|
PutBucketInventoryConfigurationRequest[:payload_member] = PutBucketInventoryConfigurationRequest.member(:inventory_configuration)
|
2109
2140
|
|
2141
|
+
PutBucketLifecycleConfigurationOutput.add_member(:transition_default_minimum_object_size, Shapes::ShapeRef.new(shape: TransitionDefaultMinimumObjectSize, location: "header", location_name: "x-amz-transition-default-minimum-object-size"))
|
2142
|
+
PutBucketLifecycleConfigurationOutput.struct_class = Types::PutBucketLifecycleConfigurationOutput
|
2143
|
+
|
2110
2144
|
PutBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
|
2111
2145
|
PutBucketLifecycleConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
|
2112
2146
|
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
2147
|
PutBucketLifecycleConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
|
2148
|
+
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
2149
|
PutBucketLifecycleConfigurationRequest.struct_class = Types::PutBucketLifecycleConfigurationRequest
|
2115
2150
|
PutBucketLifecycleConfigurationRequest[:payload] = :lifecycle_configuration
|
2116
2151
|
PutBucketLifecycleConfigurationRequest[:payload_member] = PutBucketLifecycleConfigurationRequest.member(:lifecycle_configuration)
|
@@ -2305,6 +2340,7 @@ module Aws::S3
|
|
2305
2340
|
PutObjectRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
|
2306
2341
|
PutObjectRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
|
2307
2342
|
PutObjectRequest.add_member(:expires, Shapes::ShapeRef.new(shape: Expires, location: "header", location_name: "Expires"))
|
2343
|
+
PutObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
|
2308
2344
|
PutObjectRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
|
2309
2345
|
PutObjectRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
|
2310
2346
|
PutObjectRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
|
@@ -2760,10 +2796,12 @@ module Aws::S3
|
|
2760
2796
|
|
2761
2797
|
api.metadata = {
|
2762
2798
|
"apiVersion" => "2006-03-01",
|
2799
|
+
"auth" => ["aws.auth#sigv4"],
|
2763
2800
|
"checksumFormat" => "md5",
|
2764
2801
|
"endpointPrefix" => "s3",
|
2765
2802
|
"globalEndpoint" => "s3.amazonaws.com",
|
2766
2803
|
"protocol" => "rest-xml",
|
2804
|
+
"protocols" => ["rest-xml"],
|
2767
2805
|
"serviceAbbreviation" => "Amazon S3",
|
2768
2806
|
"serviceFullName" => "Amazon Simple Storage Service",
|
2769
2807
|
"serviceId" => "S3",
|
@@ -3283,8 +3321,14 @@ module Aws::S3
|
|
3283
3321
|
o.name = "ListBuckets"
|
3284
3322
|
o.http_method = "GET"
|
3285
3323
|
o.http_request_uri = "/"
|
3286
|
-
o.input = Shapes::ShapeRef.new(shape:
|
3324
|
+
o.input = Shapes::ShapeRef.new(shape: ListBucketsRequest)
|
3287
3325
|
o.output = Shapes::ShapeRef.new(shape: ListBucketsOutput)
|
3326
|
+
o[:pager] = Aws::Pager.new(
|
3327
|
+
limit_key: "max_buckets",
|
3328
|
+
tokens: {
|
3329
|
+
"continuation_token" => "continuation_token"
|
3330
|
+
}
|
3331
|
+
)
|
3288
3332
|
end)
|
3289
3333
|
|
3290
3334
|
api.add_operation(:list_directory_buckets, Seahorse::Model::Operation.new.tap do |o|
|
@@ -3497,7 +3541,7 @@ module Aws::S3
|
|
3497
3541
|
"requestChecksumRequired" => true,
|
3498
3542
|
}
|
3499
3543
|
o.input = Shapes::ShapeRef.new(shape: PutBucketLifecycleConfigurationRequest)
|
3500
|
-
o.output = Shapes::ShapeRef.new(shape:
|
3544
|
+
o.output = Shapes::ShapeRef.new(shape: PutBucketLifecycleConfigurationOutput)
|
3501
3545
|
end)
|
3502
3546
|
|
3503
3547
|
api.add_operation(:put_bucket_logging, Seahorse::Model::Operation.new.tap do |o|
|
@@ -3828,6 +3872,7 @@ module Aws::S3
|
|
3828
3872
|
o.http_method = "POST"
|
3829
3873
|
o.http_request_uri = "/WriteGetObjectResponse"
|
3830
3874
|
o['authtype'] = "v4-unsigned-body"
|
3875
|
+
o['unsignedPayload'] = true
|
3831
3876
|
o.endpoint_pattern = {
|
3832
3877
|
"hostPrefix" => "{RequestRoute}.",
|
3833
3878
|
}
|
@@ -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?
|
@@ -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,44 +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
|
-
|
21
|
+
# s3 express session auth
|
22
|
+
autoload :ExpressCredentials, 'aws-sdk-s3/express_credentials'
|
23
|
+
autoload :ExpressCredentialsProvider, 'aws-sdk-s3/express_credentials_provider'
|
22
24
|
|
23
|
-
# s3 access grants auth
|
24
|
-
require 'aws-sdk-s3/access_grants_credentials'
|
25
|
-
require 'aws-sdk-s3/access_grants_credentials_provider'
|
25
|
+
# s3 access grants auth
|
26
26
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
require 'aws-sdk-s3/customizations/object'
|
31
|
-
require 'aws-sdk-s3/customizations/object_summary'
|
32
|
-
require 'aws-sdk-s3/customizations/multipart_upload'
|
33
|
-
require 'aws-sdk-s3/customizations/types/list_object_versions_output'
|
34
|
-
require 'aws-sdk-s3/customizations/types/permanent_redirect'
|
35
|
-
|
36
|
-
[
|
37
|
-
Aws::S3::Object::Collection,
|
38
|
-
Aws::S3::ObjectSummary::Collection,
|
39
|
-
Aws::S3::ObjectVersion::Collection,
|
40
|
-
].each do |klass|
|
41
|
-
klass.send(:alias_method, :delete, :batch_delete!)
|
42
|
-
klass.extend Aws::Deprecations
|
43
|
-
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
|
44
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,
|
@@ -137,42 +144,38 @@ module Aws::S3
|
|
137
144
|
self[:region] = options[:region]
|
138
145
|
self[:use_fips] = options[:use_fips]
|
139
146
|
self[:use_fips] = false if self[:use_fips].nil?
|
140
|
-
if self[:use_fips].nil?
|
141
|
-
raise ArgumentError, "Missing required EndpointParameter: :use_fips"
|
142
|
-
end
|
143
147
|
self[:use_dual_stack] = options[:use_dual_stack]
|
144
148
|
self[:use_dual_stack] = false if self[:use_dual_stack].nil?
|
145
|
-
if self[:use_dual_stack].nil?
|
146
|
-
raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
|
147
|
-
end
|
148
149
|
self[:endpoint] = options[:endpoint]
|
149
150
|
self[:force_path_style] = options[:force_path_style]
|
150
151
|
self[:force_path_style] = false if self[:force_path_style].nil?
|
151
|
-
if self[:force_path_style].nil?
|
152
|
-
raise ArgumentError, "Missing required EndpointParameter: :force_path_style"
|
153
|
-
end
|
154
152
|
self[:accelerate] = options[:accelerate]
|
155
153
|
self[:accelerate] = false if self[:accelerate].nil?
|
156
|
-
if self[:accelerate].nil?
|
157
|
-
raise ArgumentError, "Missing required EndpointParameter: :accelerate"
|
158
|
-
end
|
159
154
|
self[:use_global_endpoint] = options[:use_global_endpoint]
|
160
155
|
self[:use_global_endpoint] = false if self[:use_global_endpoint].nil?
|
161
|
-
if self[:use_global_endpoint].nil?
|
162
|
-
raise ArgumentError, "Missing required EndpointParameter: :use_global_endpoint"
|
163
|
-
end
|
164
156
|
self[:use_object_lambda_endpoint] = options[:use_object_lambda_endpoint]
|
165
157
|
self[:key] = options[:key]
|
166
158
|
self[:prefix] = options[:prefix]
|
159
|
+
self[:copy_source] = options[:copy_source]
|
167
160
|
self[:disable_access_points] = options[:disable_access_points]
|
168
161
|
self[:disable_multi_region_access_points] = options[:disable_multi_region_access_points]
|
169
162
|
self[:disable_multi_region_access_points] = false if self[:disable_multi_region_access_points].nil?
|
170
|
-
if self[:disable_multi_region_access_points].nil?
|
171
|
-
raise ArgumentError, "Missing required EndpointParameter: :disable_multi_region_access_points"
|
172
|
-
end
|
173
163
|
self[:use_arn_region] = options[:use_arn_region]
|
174
164
|
self[:use_s3_express_control_endpoint] = options[:use_s3_express_control_endpoint]
|
175
165
|
self[:disable_s3_express_session_auth] = options[:disable_s3_express_session_auth]
|
176
166
|
end
|
167
|
+
|
168
|
+
def self.create(config, options={})
|
169
|
+
new({
|
170
|
+
region: config.region,
|
171
|
+
use_fips: config.use_fips_endpoint,
|
172
|
+
endpoint: (config.endpoint.to_s unless config.regional_endpoint),
|
173
|
+
force_path_style: config.force_path_style,
|
174
|
+
use_global_endpoint: config.s3_us_east_1_regional_endpoint == 'legacy',
|
175
|
+
disable_multi_region_access_points: config.s3_disable_multiregion_access_points,
|
176
|
+
use_arn_region: config.s3_use_arn_region,
|
177
|
+
disable_s3_express_session_auth: config.disable_s3_express_session_auth,
|
178
|
+
}.merge(options))
|
179
|
+
end
|
177
180
|
end
|
178
181
|
end
|
@@ -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
|