aws-sdk-s3 1.167.0 → 1.176.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -57,6 +57,7 @@ module Aws::S3
57
57
  BucketLoggingStatus = Shapes::StructureShape.new(name: 'BucketLoggingStatus')
58
58
  BucketLogsPermission = Shapes::StringShape.new(name: 'BucketLogsPermission')
59
59
  BucketName = Shapes::StringShape.new(name: 'BucketName')
60
+ BucketRegion = Shapes::StringShape.new(name: 'BucketRegion')
60
61
  BucketType = Shapes::StringShape.new(name: 'BucketType')
61
62
  BucketVersioningStatus = Shapes::StringShape.new(name: 'BucketVersioningStatus')
62
63
  Buckets = Shapes::ListShape.new(name: 'Buckets')
@@ -116,6 +117,7 @@ module Aws::S3
116
117
  CopySourceSSECustomerKeyMD5 = Shapes::StringShape.new(name: 'CopySourceSSECustomerKeyMD5')
117
118
  CopySourceVersionId = Shapes::StringShape.new(name: 'CopySourceVersionId')
118
119
  CreateBucketConfiguration = Shapes::StructureShape.new(name: 'CreateBucketConfiguration')
120
+ CreateBucketMetadataTableConfigurationRequest = Shapes::StructureShape.new(name: 'CreateBucketMetadataTableConfigurationRequest')
119
121
  CreateBucketOutput = Shapes::StructureShape.new(name: 'CreateBucketOutput')
120
122
  CreateBucketRequest = Shapes::StructureShape.new(name: 'CreateBucketRequest')
121
123
  CreateMultipartUploadOutput = Shapes::StructureShape.new(name: 'CreateMultipartUploadOutput')
@@ -135,6 +137,7 @@ module Aws::S3
135
137
  DeleteBucketIntelligentTieringConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketIntelligentTieringConfigurationRequest')
136
138
  DeleteBucketInventoryConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketInventoryConfigurationRequest')
137
139
  DeleteBucketLifecycleRequest = Shapes::StructureShape.new(name: 'DeleteBucketLifecycleRequest')
140
+ DeleteBucketMetadataTableConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketMetadataTableConfigurationRequest')
138
141
  DeleteBucketMetricsConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketMetricsConfigurationRequest')
139
142
  DeleteBucketOwnershipControlsRequest = Shapes::StructureShape.new(name: 'DeleteBucketOwnershipControlsRequest')
140
143
  DeleteBucketPolicyRequest = Shapes::StructureShape.new(name: 'DeleteBucketPolicyRequest')
@@ -168,10 +171,12 @@ module Aws::S3
168
171
  EncodingType = Shapes::StringShape.new(name: 'EncodingType')
169
172
  Encryption = Shapes::StructureShape.new(name: 'Encryption')
170
173
  EncryptionConfiguration = Shapes::StructureShape.new(name: 'EncryptionConfiguration')
174
+ EncryptionTypeMismatch = Shapes::StructureShape.new(name: 'EncryptionTypeMismatch')
171
175
  End = Shapes::IntegerShape.new(name: 'End')
172
176
  EndEvent = Shapes::StructureShape.new(name: 'EndEvent')
173
177
  Error = Shapes::StructureShape.new(name: 'Error')
174
178
  ErrorCode = Shapes::StringShape.new(name: 'ErrorCode')
179
+ ErrorDetails = Shapes::StructureShape.new(name: 'ErrorDetails')
175
180
  ErrorDocument = Shapes::StructureShape.new(name: 'ErrorDocument')
176
181
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
177
182
  Errors = Shapes::ListShape.new(name: 'Errors', flattened: true)
@@ -218,6 +223,9 @@ module Aws::S3
218
223
  GetBucketLocationRequest = Shapes::StructureShape.new(name: 'GetBucketLocationRequest')
219
224
  GetBucketLoggingOutput = Shapes::StructureShape.new(name: 'GetBucketLoggingOutput')
220
225
  GetBucketLoggingRequest = Shapes::StructureShape.new(name: 'GetBucketLoggingRequest')
226
+ GetBucketMetadataTableConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketMetadataTableConfigurationOutput')
227
+ GetBucketMetadataTableConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketMetadataTableConfigurationRequest')
228
+ GetBucketMetadataTableConfigurationResult = Shapes::StructureShape.new(name: 'GetBucketMetadataTableConfigurationResult')
221
229
  GetBucketMetricsConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketMetricsConfigurationOutput')
222
230
  GetBucketMetricsConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketMetricsConfigurationRequest')
223
231
  GetBucketNotificationConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketNotificationConfigurationRequest')
@@ -275,6 +283,9 @@ module Aws::S3
275
283
  HttpRedirectCode = Shapes::StringShape.new(name: 'HttpRedirectCode')
276
284
  ID = Shapes::StringShape.new(name: 'ID')
277
285
  IfMatch = Shapes::StringShape.new(name: 'IfMatch')
286
+ IfMatchInitiatedTime = Shapes::TimestampShape.new(name: 'IfMatchInitiatedTime', timestampFormat: "rfc822")
287
+ IfMatchLastModifiedTime = Shapes::TimestampShape.new(name: 'IfMatchLastModifiedTime', timestampFormat: "rfc822")
288
+ IfMatchSize = Shapes::IntegerShape.new(name: 'IfMatchSize')
278
289
  IfModifiedSince = Shapes::TimestampShape.new(name: 'IfModifiedSince')
279
290
  IfNoneMatch = Shapes::StringShape.new(name: 'IfNoneMatch')
280
291
  IfUnmodifiedSince = Shapes::TimestampShape.new(name: 'IfUnmodifiedSince')
@@ -291,6 +302,8 @@ module Aws::S3
291
302
  IntelligentTieringId = Shapes::StringShape.new(name: 'IntelligentTieringId')
292
303
  IntelligentTieringStatus = Shapes::StringShape.new(name: 'IntelligentTieringStatus')
293
304
  InvalidObjectState = Shapes::StructureShape.new(name: 'InvalidObjectState')
305
+ InvalidRequest = Shapes::StructureShape.new(name: 'InvalidRequest')
306
+ InvalidWriteOffset = Shapes::StructureShape.new(name: 'InvalidWriteOffset')
294
307
  InventoryConfiguration = Shapes::StructureShape.new(name: 'InventoryConfiguration')
295
308
  InventoryConfigurationList = Shapes::ListShape.new(name: 'InventoryConfigurationList', flattened: true)
296
309
  InventoryDestination = Shapes::StructureShape.new(name: 'InventoryDestination')
@@ -320,6 +333,7 @@ module Aws::S3
320
333
  LambdaFunctionConfiguration = Shapes::StructureShape.new(name: 'LambdaFunctionConfiguration')
321
334
  LambdaFunctionConfigurationList = Shapes::ListShape.new(name: 'LambdaFunctionConfigurationList', flattened: true)
322
335
  LastModified = Shapes::TimestampShape.new(name: 'LastModified')
336
+ LastModifiedTime = Shapes::TimestampShape.new(name: 'LastModifiedTime', timestampFormat: "rfc822")
323
337
  LifecycleConfiguration = Shapes::StructureShape.new(name: 'LifecycleConfiguration')
324
338
  LifecycleExpiration = Shapes::StructureShape.new(name: 'LifecycleExpiration')
325
339
  LifecycleRule = Shapes::StructureShape.new(name: 'LifecycleRule')
@@ -369,6 +383,9 @@ module Aws::S3
369
383
  MetadataDirective = Shapes::StringShape.new(name: 'MetadataDirective')
370
384
  MetadataEntry = Shapes::StructureShape.new(name: 'MetadataEntry')
371
385
  MetadataKey = Shapes::StringShape.new(name: 'MetadataKey')
386
+ MetadataTableConfiguration = Shapes::StructureShape.new(name: 'MetadataTableConfiguration')
387
+ MetadataTableConfigurationResult = Shapes::StructureShape.new(name: 'MetadataTableConfigurationResult')
388
+ MetadataTableStatus = Shapes::StringShape.new(name: 'MetadataTableStatus')
372
389
  MetadataValue = Shapes::StringShape.new(name: 'MetadataValue')
373
390
  Metrics = Shapes::StructureShape.new(name: 'Metrics')
374
391
  MetricsAndOperator = Shapes::StructureShape.new(name: 'MetricsAndOperator')
@@ -547,6 +564,12 @@ module Aws::S3
547
564
  Rules = Shapes::ListShape.new(name: 'Rules', flattened: true)
548
565
  S3KeyFilter = Shapes::StructureShape.new(name: 'S3KeyFilter')
549
566
  S3Location = Shapes::StructureShape.new(name: 'S3Location')
567
+ S3TablesArn = Shapes::StringShape.new(name: 'S3TablesArn')
568
+ S3TablesBucketArn = Shapes::StringShape.new(name: 'S3TablesBucketArn')
569
+ S3TablesDestination = Shapes::StructureShape.new(name: 'S3TablesDestination')
570
+ S3TablesDestinationResult = Shapes::StructureShape.new(name: 'S3TablesDestinationResult')
571
+ S3TablesName = Shapes::StringShape.new(name: 'S3TablesName')
572
+ S3TablesNamespace = Shapes::StringShape.new(name: 'S3TablesNamespace')
550
573
  SSECustomerAlgorithm = Shapes::StringShape.new(name: 'SSECustomerAlgorithm')
551
574
  SSECustomerKey = Shapes::StringShape.new(name: 'SSECustomerKey')
552
575
  SSECustomerKeyMD5 = Shapes::StringShape.new(name: 'SSECustomerKeyMD5')
@@ -599,6 +622,7 @@ module Aws::S3
599
622
  Tiering = Shapes::StructureShape.new(name: 'Tiering')
600
623
  TieringList = Shapes::ListShape.new(name: 'TieringList', flattened: true)
601
624
  Token = Shapes::StringShape.new(name: 'Token')
625
+ TooManyParts = Shapes::StructureShape.new(name: 'TooManyParts')
602
626
  TopicArn = Shapes::StringShape.new(name: 'TopicArn')
603
627
  TopicConfiguration = Shapes::StructureShape.new(name: 'TopicConfiguration')
604
628
  TopicConfigurationDeprecated = Shapes::StructureShape.new(name: 'TopicConfigurationDeprecated')
@@ -622,6 +646,7 @@ module Aws::S3
622
646
  WebsiteConfiguration = Shapes::StructureShape.new(name: 'WebsiteConfiguration')
623
647
  WebsiteRedirectLocation = Shapes::StringShape.new(name: 'WebsiteRedirectLocation')
624
648
  WriteGetObjectResponseRequest = Shapes::StructureShape.new(name: 'WriteGetObjectResponseRequest')
649
+ WriteOffsetBytes = Shapes::IntegerShape.new(name: 'WriteOffsetBytes')
625
650
  Years = Shapes::IntegerShape.new(name: 'Years')
626
651
 
627
652
  AbortIncompleteMultipartUpload.add_member(:days_after_initiation, Shapes::ShapeRef.new(shape: DaysAfterInitiation, location_name: "DaysAfterInitiation"))
@@ -635,6 +660,7 @@ module Aws::S3
635
660
  AbortMultipartUploadRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
636
661
  AbortMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
637
662
  AbortMultipartUploadRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
663
+ AbortMultipartUploadRequest.add_member(:if_match_initiated_time, Shapes::ShapeRef.new(shape: IfMatchInitiatedTime, location: "header", location_name: "x-amz-if-match-initiated-time"))
638
664
  AbortMultipartUploadRequest.struct_class = Types::AbortMultipartUploadRequest
639
665
 
640
666
  AccelerateConfiguration.add_member(:status, Shapes::ShapeRef.new(shape: BucketAccelerateStatus, location_name: "Status"))
@@ -680,6 +706,7 @@ module Aws::S3
680
706
 
681
707
  Bucket.add_member(:name, Shapes::ShapeRef.new(shape: BucketName, location_name: "Name"))
682
708
  Bucket.add_member(:creation_date, Shapes::ShapeRef.new(shape: CreationDate, location_name: "CreationDate"))
709
+ Bucket.add_member(:bucket_region, Shapes::ShapeRef.new(shape: BucketRegion, location_name: "BucketRegion"))
683
710
  Bucket.struct_class = Types::Bucket
684
711
 
685
712
  BucketAlreadyExists.struct_class = Types::BucketAlreadyExists
@@ -773,6 +800,7 @@ module Aws::S3
773
800
  CompleteMultipartUploadRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
774
801
  CompleteMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
775
802
  CompleteMultipartUploadRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
803
+ CompleteMultipartUploadRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
776
804
  CompleteMultipartUploadRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
777
805
  CompleteMultipartUploadRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
778
806
  CompleteMultipartUploadRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
@@ -879,6 +907,15 @@ module Aws::S3
879
907
  CreateBucketConfiguration.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketInfo, location_name: "Bucket"))
880
908
  CreateBucketConfiguration.struct_class = Types::CreateBucketConfiguration
881
909
 
910
+ CreateBucketMetadataTableConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
911
+ CreateBucketMetadataTableConfigurationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
912
+ CreateBucketMetadataTableConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
913
+ CreateBucketMetadataTableConfigurationRequest.add_member(:metadata_table_configuration, Shapes::ShapeRef.new(shape: MetadataTableConfiguration, required: true, location_name: "MetadataTableConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
914
+ CreateBucketMetadataTableConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
915
+ CreateBucketMetadataTableConfigurationRequest.struct_class = Types::CreateBucketMetadataTableConfigurationRequest
916
+ CreateBucketMetadataTableConfigurationRequest[:payload] = :metadata_table_configuration
917
+ CreateBucketMetadataTableConfigurationRequest[:payload_member] = CreateBucketMetadataTableConfigurationRequest.member(:metadata_table_configuration)
918
+
882
919
  CreateBucketOutput.add_member(:location, Shapes::ShapeRef.new(shape: Location, location: "header", location_name: "Location"))
883
920
  CreateBucketOutput.struct_class = Types::CreateBucketOutput
884
921
 
@@ -993,6 +1030,10 @@ module Aws::S3
993
1030
  DeleteBucketLifecycleRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
994
1031
  DeleteBucketLifecycleRequest.struct_class = Types::DeleteBucketLifecycleRequest
995
1032
 
1033
+ DeleteBucketMetadataTableConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1034
+ DeleteBucketMetadataTableConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1035
+ DeleteBucketMetadataTableConfigurationRequest.struct_class = Types::DeleteBucketMetadataTableConfigurationRequest
1036
+
996
1037
  DeleteBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
997
1038
  DeleteBucketMetricsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location: "querystring", location_name: "id"))
998
1039
  DeleteBucketMetricsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1046,6 +1087,9 @@ module Aws::S3
1046
1087
  DeleteObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1047
1088
  DeleteObjectRequest.add_member(:bypass_governance_retention, Shapes::ShapeRef.new(shape: BypassGovernanceRetention, location: "header", location_name: "x-amz-bypass-governance-retention"))
1048
1089
  DeleteObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1090
+ DeleteObjectRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
1091
+ DeleteObjectRequest.add_member(:if_match_last_modified_time, Shapes::ShapeRef.new(shape: IfMatchLastModifiedTime, location: "header", location_name: "x-amz-if-match-last-modified-time"))
1092
+ DeleteObjectRequest.add_member(:if_match_size, Shapes::ShapeRef.new(shape: IfMatchSize, location: "header", location_name: "x-amz-if-match-size"))
1049
1093
  DeleteObjectRequest.struct_class = Types::DeleteObjectRequest
1050
1094
 
1051
1095
  DeleteObjectTaggingOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
@@ -1102,6 +1146,8 @@ module Aws::S3
1102
1146
  EncryptionConfiguration.add_member(:replica_kms_key_id, Shapes::ShapeRef.new(shape: ReplicaKmsKeyID, location_name: "ReplicaKmsKeyID"))
1103
1147
  EncryptionConfiguration.struct_class = Types::EncryptionConfiguration
1104
1148
 
1149
+ EncryptionTypeMismatch.struct_class = Types::EncryptionTypeMismatch
1150
+
1105
1151
  EndEvent.struct_class = Types::EndEvent
1106
1152
 
1107
1153
  Error.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
@@ -1110,6 +1156,10 @@ module Aws::S3
1110
1156
  Error.add_member(:message, Shapes::ShapeRef.new(shape: Message, location_name: "Message"))
1111
1157
  Error.struct_class = Types::Error
1112
1158
 
1159
+ ErrorDetails.add_member(:error_code, Shapes::ShapeRef.new(shape: ErrorCode, location_name: "ErrorCode"))
1160
+ ErrorDetails.add_member(:error_message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "ErrorMessage"))
1161
+ ErrorDetails.struct_class = Types::ErrorDetails
1162
+
1113
1163
  ErrorDocument.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location_name: "Key"))
1114
1164
  ErrorDocument.struct_class = Types::ErrorDocument
1115
1165
 
@@ -1221,6 +1271,20 @@ module Aws::S3
1221
1271
  GetBucketLoggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1222
1272
  GetBucketLoggingRequest.struct_class = Types::GetBucketLoggingRequest
1223
1273
 
1274
+ GetBucketMetadataTableConfigurationOutput.add_member(:get_bucket_metadata_table_configuration_result, Shapes::ShapeRef.new(shape: GetBucketMetadataTableConfigurationResult, location_name: "GetBucketMetadataTableConfigurationResult"))
1275
+ GetBucketMetadataTableConfigurationOutput.struct_class = Types::GetBucketMetadataTableConfigurationOutput
1276
+ GetBucketMetadataTableConfigurationOutput[:payload] = :get_bucket_metadata_table_configuration_result
1277
+ GetBucketMetadataTableConfigurationOutput[:payload_member] = GetBucketMetadataTableConfigurationOutput.member(:get_bucket_metadata_table_configuration_result)
1278
+
1279
+ GetBucketMetadataTableConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1280
+ GetBucketMetadataTableConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1281
+ GetBucketMetadataTableConfigurationRequest.struct_class = Types::GetBucketMetadataTableConfigurationRequest
1282
+
1283
+ GetBucketMetadataTableConfigurationResult.add_member(:metadata_table_configuration_result, Shapes::ShapeRef.new(shape: MetadataTableConfigurationResult, required: true, location_name: "MetadataTableConfigurationResult"))
1284
+ GetBucketMetadataTableConfigurationResult.add_member(:status, Shapes::ShapeRef.new(shape: MetadataTableStatus, required: true, location_name: "Status"))
1285
+ GetBucketMetadataTableConfigurationResult.add_member(:error, Shapes::ShapeRef.new(shape: ErrorDetails, location_name: "Error"))
1286
+ GetBucketMetadataTableConfigurationResult.struct_class = Types::GetBucketMetadataTableConfigurationResult
1287
+
1224
1288
  GetBucketMetricsConfigurationOutput.add_member(:metrics_configuration, Shapes::ShapeRef.new(shape: MetricsConfiguration, location_name: "MetricsConfiguration"))
1225
1289
  GetBucketMetricsConfigurationOutput.struct_class = Types::GetBucketMetricsConfigurationOutput
1226
1290
  GetBucketMetricsConfigurationOutput[:payload] = :metrics_configuration
@@ -1596,6 +1660,10 @@ module Aws::S3
1596
1660
  InvalidObjectState.add_member(:access_tier, Shapes::ShapeRef.new(shape: IntelligentTieringAccessTier, location_name: "AccessTier"))
1597
1661
  InvalidObjectState.struct_class = Types::InvalidObjectState
1598
1662
 
1663
+ InvalidRequest.struct_class = Types::InvalidRequest
1664
+
1665
+ InvalidWriteOffset.struct_class = Types::InvalidWriteOffset
1666
+
1599
1667
  InventoryConfiguration.add_member(:destination, Shapes::ShapeRef.new(shape: InventoryDestination, required: true, location_name: "Destination"))
1600
1668
  InventoryConfiguration.add_member(:is_enabled, Shapes::ShapeRef.new(shape: IsEnabled, required: true, location_name: "IsEnabled"))
1601
1669
  InventoryConfiguration.add_member(:filter, Shapes::ShapeRef.new(shape: InventoryFilter, location_name: "Filter"))
@@ -1723,10 +1791,13 @@ module Aws::S3
1723
1791
  ListBucketsOutput.add_member(:buckets, Shapes::ShapeRef.new(shape: Buckets, location_name: "Buckets"))
1724
1792
  ListBucketsOutput.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1725
1793
  ListBucketsOutput.add_member(:continuation_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "ContinuationToken"))
1794
+ ListBucketsOutput.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1726
1795
  ListBucketsOutput.struct_class = Types::ListBucketsOutput
1727
1796
 
1728
1797
  ListBucketsRequest.add_member(:max_buckets, Shapes::ShapeRef.new(shape: MaxBuckets, location: "querystring", location_name: "max-buckets"))
1729
1798
  ListBucketsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1799
+ ListBucketsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
1800
+ ListBucketsRequest.add_member(:bucket_region, Shapes::ShapeRef.new(shape: BucketRegion, location: "querystring", location_name: "bucket-region"))
1730
1801
  ListBucketsRequest.struct_class = Types::ListBucketsRequest
1731
1802
 
1732
1803
  ListDirectoryBucketsOutput.add_member(:buckets, Shapes::ShapeRef.new(shape: Buckets, location_name: "Buckets"))
@@ -1889,6 +1960,12 @@ module Aws::S3
1889
1960
  MetadataEntry.add_member(:value, Shapes::ShapeRef.new(shape: MetadataValue, location_name: "Value"))
1890
1961
  MetadataEntry.struct_class = Types::MetadataEntry
1891
1962
 
1963
+ MetadataTableConfiguration.add_member(:s3_tables_destination, Shapes::ShapeRef.new(shape: S3TablesDestination, required: true, location_name: "S3TablesDestination"))
1964
+ MetadataTableConfiguration.struct_class = Types::MetadataTableConfiguration
1965
+
1966
+ MetadataTableConfigurationResult.add_member(:s3_tables_destination_result, Shapes::ShapeRef.new(shape: S3TablesDestinationResult, required: true, location_name: "S3TablesDestinationResult"))
1967
+ MetadataTableConfigurationResult.struct_class = Types::MetadataTableConfigurationResult
1968
+
1892
1969
  Metrics.add_member(:status, Shapes::ShapeRef.new(shape: MetricsStatus, required: true, location_name: "Status"))
1893
1970
  Metrics.add_member(:event_threshold, Shapes::ShapeRef.new(shape: ReplicationTimeValue, location_name: "EventThreshold"))
1894
1971
  Metrics.struct_class = Types::Metrics
@@ -1968,6 +2045,9 @@ module Aws::S3
1968
2045
 
1969
2046
  ObjectIdentifier.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location_name: "Key"))
1970
2047
  ObjectIdentifier.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location_name: "VersionId"))
2048
+ ObjectIdentifier.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
2049
+ ObjectIdentifier.add_member(:last_modified_time, Shapes::ShapeRef.new(shape: LastModifiedTime, location_name: "LastModifiedTime"))
2050
+ ObjectIdentifier.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1971
2051
  ObjectIdentifier.struct_class = Types::ObjectIdentifier
1972
2052
 
1973
2053
  ObjectIdentifierList.member = Shapes::ShapeRef.new(shape: ObjectIdentifier)
@@ -2316,6 +2396,7 @@ module Aws::S3
2316
2396
  PutObjectOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
2317
2397
  PutObjectOutput.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
2318
2398
  PutObjectOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
2399
+ PutObjectOutput.add_member(:size, Shapes::ShapeRef.new(shape: Size, location: "header", location_name: "x-amz-object-size"))
2319
2400
  PutObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2320
2401
  PutObjectOutput.struct_class = Types::PutObjectOutput
2321
2402
 
@@ -2335,12 +2416,14 @@ module Aws::S3
2335
2416
  PutObjectRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2336
2417
  PutObjectRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2337
2418
  PutObjectRequest.add_member(:expires, Shapes::ShapeRef.new(shape: Expires, location: "header", location_name: "Expires"))
2419
+ PutObjectRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
2338
2420
  PutObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
2339
2421
  PutObjectRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
2340
2422
  PutObjectRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
2341
2423
  PutObjectRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
2342
2424
  PutObjectRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
2343
2425
  PutObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
2426
+ PutObjectRequest.add_member(:write_offset_bytes, Shapes::ShapeRef.new(shape: WriteOffsetBytes, location: "header", location_name: "x-amz-write-offset-bytes"))
2344
2427
  PutObjectRequest.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, location: "headers", location_name: "x-amz-meta-"))
2345
2428
  PutObjectRequest.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
2346
2429
  PutObjectRequest.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location: "header", location_name: "x-amz-storage-class"))
@@ -2530,6 +2613,16 @@ module Aws::S3
2530
2613
  S3Location.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
2531
2614
  S3Location.struct_class = Types::S3Location
2532
2615
 
2616
+ S3TablesDestination.add_member(:table_bucket_arn, Shapes::ShapeRef.new(shape: S3TablesBucketArn, required: true, location_name: "TableBucketArn"))
2617
+ S3TablesDestination.add_member(:table_name, Shapes::ShapeRef.new(shape: S3TablesName, required: true, location_name: "TableName"))
2618
+ S3TablesDestination.struct_class = Types::S3TablesDestination
2619
+
2620
+ S3TablesDestinationResult.add_member(:table_bucket_arn, Shapes::ShapeRef.new(shape: S3TablesBucketArn, required: true, location_name: "TableBucketArn"))
2621
+ S3TablesDestinationResult.add_member(:table_name, Shapes::ShapeRef.new(shape: S3TablesName, required: true, location_name: "TableName"))
2622
+ S3TablesDestinationResult.add_member(:table_arn, Shapes::ShapeRef.new(shape: S3TablesArn, required: true, location_name: "TableArn"))
2623
+ S3TablesDestinationResult.add_member(:table_namespace, Shapes::ShapeRef.new(shape: S3TablesNamespace, required: true, location_name: "TableNamespace"))
2624
+ S3TablesDestinationResult.struct_class = Types::S3TablesDestinationResult
2625
+
2533
2626
  SSEKMS.add_member(:key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, required: true, location_name: "KeyId"))
2534
2627
  SSEKMS.struct_class = Types::SSEKMS
2535
2628
 
@@ -2639,6 +2732,8 @@ module Aws::S3
2639
2732
 
2640
2733
  TieringList.member = Shapes::ShapeRef.new(shape: Tiering)
2641
2734
 
2735
+ TooManyParts.struct_class = Types::TooManyParts
2736
+
2642
2737
  TopicConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: NotificationId, location_name: "Id"))
2643
2738
  TopicConfiguration.add_member(:topic_arn, Shapes::ShapeRef.new(shape: TopicArn, required: true, location_name: "Topic"))
2644
2739
  TopicConfiguration.add_member(:events, Shapes::ShapeRef.new(shape: EventList, required: true, location_name: "Event"))
@@ -2839,6 +2934,22 @@ module Aws::S3
2839
2934
  o.errors << Shapes::ShapeRef.new(shape: BucketAlreadyOwnedByYou)
2840
2935
  end)
2841
2936
 
2937
+ api.add_operation(:create_bucket_metadata_table_configuration, Seahorse::Model::Operation.new.tap do |o|
2938
+ o.name = "CreateBucketMetadataTableConfiguration"
2939
+ o.http_method = "POST"
2940
+ o.http_request_uri = "/?metadataTable"
2941
+ o.http_checksum = {
2942
+ "requestAlgorithmMember" => "checksum_algorithm",
2943
+ "requestChecksumRequired" => true,
2944
+ }
2945
+ o.http_checksum = {
2946
+ "requestAlgorithmMember" => "checksum_algorithm",
2947
+ "requestChecksumRequired" => true,
2948
+ }
2949
+ o.input = Shapes::ShapeRef.new(shape: CreateBucketMetadataTableConfigurationRequest)
2950
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2951
+ end)
2952
+
2842
2953
  api.add_operation(:create_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
2843
2954
  o.name = "CreateMultipartUpload"
2844
2955
  o.http_method = "POST"
@@ -2912,6 +3023,14 @@ module Aws::S3
2912
3023
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2913
3024
  end)
2914
3025
 
3026
+ api.add_operation(:delete_bucket_metadata_table_configuration, Seahorse::Model::Operation.new.tap do |o|
3027
+ o.name = "DeleteBucketMetadataTableConfiguration"
3028
+ o.http_method = "DELETE"
3029
+ o.http_request_uri = "/?metadataTable"
3030
+ o.input = Shapes::ShapeRef.new(shape: DeleteBucketMetadataTableConfigurationRequest)
3031
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3032
+ end)
3033
+
2915
3034
  api.add_operation(:delete_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
2916
3035
  o.name = "DeleteBucketMetricsConfiguration"
2917
3036
  o.http_method = "DELETE"
@@ -3089,6 +3208,14 @@ module Aws::S3
3089
3208
  o.output = Shapes::ShapeRef.new(shape: GetBucketLoggingOutput)
3090
3209
  end)
3091
3210
 
3211
+ api.add_operation(:get_bucket_metadata_table_configuration, Seahorse::Model::Operation.new.tap do |o|
3212
+ o.name = "GetBucketMetadataTableConfiguration"
3213
+ o.http_method = "GET"
3214
+ o.http_request_uri = "/?metadataTable"
3215
+ o.input = Shapes::ShapeRef.new(shape: GetBucketMetadataTableConfigurationRequest)
3216
+ o.output = Shapes::ShapeRef.new(shape: GetBucketMetadataTableConfigurationOutput)
3217
+ end)
3218
+
3092
3219
  api.add_operation(:get_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
3093
3220
  o.name = "GetBucketMetricsConfiguration"
3094
3221
  o.http_method = "GET"
@@ -3709,6 +3836,10 @@ module Aws::S3
3709
3836
  }
3710
3837
  o.input = Shapes::ShapeRef.new(shape: PutObjectRequest)
3711
3838
  o.output = Shapes::ShapeRef.new(shape: PutObjectOutput)
3839
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequest)
3840
+ o.errors << Shapes::ShapeRef.new(shape: InvalidWriteOffset)
3841
+ o.errors << Shapes::ShapeRef.new(shape: TooManyParts)
3842
+ o.errors << Shapes::ShapeRef.new(shape: EncryptionTypeMismatch)
3712
3843
  end)
3713
3844
 
3714
3845
  api.add_operation(:put_object_acl, Seahorse::Model::Operation.new.tap do |o|
@@ -144,30 +144,15 @@ module Aws::S3
144
144
  self[:region] = options[:region]
145
145
  self[:use_fips] = options[:use_fips]
146
146
  self[:use_fips] = false if self[:use_fips].nil?
147
- if self[:use_fips].nil?
148
- raise ArgumentError, "Missing required EndpointParameter: :use_fips"
149
- end
150
147
  self[:use_dual_stack] = options[:use_dual_stack]
151
148
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
152
- if self[:use_dual_stack].nil?
153
- raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
154
- end
155
149
  self[:endpoint] = options[:endpoint]
156
150
  self[:force_path_style] = options[:force_path_style]
157
151
  self[:force_path_style] = false if self[:force_path_style].nil?
158
- if self[:force_path_style].nil?
159
- raise ArgumentError, "Missing required EndpointParameter: :force_path_style"
160
- end
161
152
  self[:accelerate] = options[:accelerate]
162
153
  self[:accelerate] = false if self[:accelerate].nil?
163
- if self[:accelerate].nil?
164
- raise ArgumentError, "Missing required EndpointParameter: :accelerate"
165
- end
166
154
  self[:use_global_endpoint] = options[:use_global_endpoint]
167
155
  self[:use_global_endpoint] = false if self[:use_global_endpoint].nil?
168
- if self[:use_global_endpoint].nil?
169
- raise ArgumentError, "Missing required EndpointParameter: :use_global_endpoint"
170
- end
171
156
  self[:use_object_lambda_endpoint] = options[:use_object_lambda_endpoint]
172
157
  self[:key] = options[:key]
173
158
  self[:prefix] = options[:prefix]
@@ -175,12 +160,22 @@ module Aws::S3
175
160
  self[:disable_access_points] = options[:disable_access_points]
176
161
  self[:disable_multi_region_access_points] = options[:disable_multi_region_access_points]
177
162
  self[:disable_multi_region_access_points] = false if self[:disable_multi_region_access_points].nil?
178
- if self[:disable_multi_region_access_points].nil?
179
- raise ArgumentError, "Missing required EndpointParameter: :disable_multi_region_access_points"
180
- end
181
163
  self[:use_arn_region] = options[:use_arn_region]
182
164
  self[:use_s3_express_control_endpoint] = options[:use_s3_express_control_endpoint]
183
165
  self[:disable_s3_express_session_auth] = options[:disable_s3_express_session_auth]
184
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
185
180
  end
186
181
  end
@@ -94,6 +94,24 @@ module Aws::S3
94
94
  end
95
95
  return Aws::Endpoints::Endpoint.new(url: "https://#{bucket}.s3express-#{s3express_availability_zone_id}.#{region}.amazonaws.com", headers: {}, properties: {"backend"=>"S3Express", "authSchemes"=>[{"disableDoubleEncoding"=>true, "name"=>"sigv4", "signingName"=>"s3express", "signingRegion"=>"#{region}"}]})
96
96
  end
97
+ if (s3express_availability_zone_id = Aws::Endpoints::Matchers.substring(bucket, 6, 19, true)) && (s3express_availability_zone_delim = Aws::Endpoints::Matchers.substring(bucket, 19, 21, true)) && Aws::Endpoints::Matchers.string_equals?(s3express_availability_zone_delim, "--")
98
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
99
+ return Aws::Endpoints::Endpoint.new(url: "https://#{bucket}.s3express-fips-#{s3express_availability_zone_id}.#{region}.amazonaws.com", headers: {}, properties: {"backend"=>"S3Express", "authSchemes"=>[{"disableDoubleEncoding"=>true, "name"=>"sigv4", "signingName"=>"s3express", "signingRegion"=>"#{region}"}]})
100
+ end
101
+ return Aws::Endpoints::Endpoint.new(url: "https://#{bucket}.s3express-#{s3express_availability_zone_id}.#{region}.amazonaws.com", headers: {}, properties: {"backend"=>"S3Express", "authSchemes"=>[{"disableDoubleEncoding"=>true, "name"=>"sigv4", "signingName"=>"s3express", "signingRegion"=>"#{region}"}]})
102
+ end
103
+ if (s3express_availability_zone_id = Aws::Endpoints::Matchers.substring(bucket, 6, 20, true)) && (s3express_availability_zone_delim = Aws::Endpoints::Matchers.substring(bucket, 20, 22, true)) && Aws::Endpoints::Matchers.string_equals?(s3express_availability_zone_delim, "--")
104
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
105
+ return Aws::Endpoints::Endpoint.new(url: "https://#{bucket}.s3express-fips-#{s3express_availability_zone_id}.#{region}.amazonaws.com", headers: {}, properties: {"backend"=>"S3Express", "authSchemes"=>[{"disableDoubleEncoding"=>true, "name"=>"sigv4", "signingName"=>"s3express", "signingRegion"=>"#{region}"}]})
106
+ end
107
+ return Aws::Endpoints::Endpoint.new(url: "https://#{bucket}.s3express-#{s3express_availability_zone_id}.#{region}.amazonaws.com", headers: {}, properties: {"backend"=>"S3Express", "authSchemes"=>[{"disableDoubleEncoding"=>true, "name"=>"sigv4", "signingName"=>"s3express", "signingRegion"=>"#{region}"}]})
108
+ end
109
+ if (s3express_availability_zone_id = Aws::Endpoints::Matchers.substring(bucket, 6, 26, true)) && (s3express_availability_zone_delim = Aws::Endpoints::Matchers.substring(bucket, 26, 28, true)) && Aws::Endpoints::Matchers.string_equals?(s3express_availability_zone_delim, "--")
110
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
111
+ return Aws::Endpoints::Endpoint.new(url: "https://#{bucket}.s3express-fips-#{s3express_availability_zone_id}.#{region}.amazonaws.com", headers: {}, properties: {"backend"=>"S3Express", "authSchemes"=>[{"disableDoubleEncoding"=>true, "name"=>"sigv4", "signingName"=>"s3express", "signingRegion"=>"#{region}"}]})
112
+ end
113
+ return Aws::Endpoints::Endpoint.new(url: "https://#{bucket}.s3express-#{s3express_availability_zone_id}.#{region}.amazonaws.com", headers: {}, properties: {"backend"=>"S3Express", "authSchemes"=>[{"disableDoubleEncoding"=>true, "name"=>"sigv4", "signingName"=>"s3express", "signingRegion"=>"#{region}"}]})
114
+ end
97
115
  raise ArgumentError, "Unrecognized S3Express bucket name format."
98
116
  end
99
117
  if (s3express_availability_zone_id = Aws::Endpoints::Matchers.substring(bucket, 6, 14, true)) && (s3express_availability_zone_delim = Aws::Endpoints::Matchers.substring(bucket, 14, 16, true)) && Aws::Endpoints::Matchers.string_equals?(s3express_availability_zone_delim, "--")
@@ -108,6 +126,24 @@ module Aws::S3
108
126
  end
109
127
  return Aws::Endpoints::Endpoint.new(url: "https://#{bucket}.s3express-#{s3express_availability_zone_id}.#{region}.amazonaws.com", headers: {}, properties: {"backend"=>"S3Express", "authSchemes"=>[{"disableDoubleEncoding"=>true, "name"=>"sigv4-s3express", "signingName"=>"s3express", "signingRegion"=>"#{region}"}]})
110
128
  end
129
+ if (s3express_availability_zone_id = Aws::Endpoints::Matchers.substring(bucket, 6, 19, true)) && (s3express_availability_zone_delim = Aws::Endpoints::Matchers.substring(bucket, 19, 21, true)) && Aws::Endpoints::Matchers.string_equals?(s3express_availability_zone_delim, "--")
130
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
131
+ return Aws::Endpoints::Endpoint.new(url: "https://#{bucket}.s3express-fips-#{s3express_availability_zone_id}.#{region}.amazonaws.com", headers: {}, properties: {"backend"=>"S3Express", "authSchemes"=>[{"disableDoubleEncoding"=>true, "name"=>"sigv4-s3express", "signingName"=>"s3express", "signingRegion"=>"#{region}"}]})
132
+ end
133
+ return Aws::Endpoints::Endpoint.new(url: "https://#{bucket}.s3express-#{s3express_availability_zone_id}.#{region}.amazonaws.com", headers: {}, properties: {"backend"=>"S3Express", "authSchemes"=>[{"disableDoubleEncoding"=>true, "name"=>"sigv4-s3express", "signingName"=>"s3express", "signingRegion"=>"#{region}"}]})
134
+ end
135
+ if (s3express_availability_zone_id = Aws::Endpoints::Matchers.substring(bucket, 6, 20, true)) && (s3express_availability_zone_delim = Aws::Endpoints::Matchers.substring(bucket, 20, 22, true)) && Aws::Endpoints::Matchers.string_equals?(s3express_availability_zone_delim, "--")
136
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
137
+ return Aws::Endpoints::Endpoint.new(url: "https://#{bucket}.s3express-fips-#{s3express_availability_zone_id}.#{region}.amazonaws.com", headers: {}, properties: {"backend"=>"S3Express", "authSchemes"=>[{"disableDoubleEncoding"=>true, "name"=>"sigv4-s3express", "signingName"=>"s3express", "signingRegion"=>"#{region}"}]})
138
+ end
139
+ return Aws::Endpoints::Endpoint.new(url: "https://#{bucket}.s3express-#{s3express_availability_zone_id}.#{region}.amazonaws.com", headers: {}, properties: {"backend"=>"S3Express", "authSchemes"=>[{"disableDoubleEncoding"=>true, "name"=>"sigv4-s3express", "signingName"=>"s3express", "signingRegion"=>"#{region}"}]})
140
+ end
141
+ if (s3express_availability_zone_id = Aws::Endpoints::Matchers.substring(bucket, 6, 26, true)) && (s3express_availability_zone_delim = Aws::Endpoints::Matchers.substring(bucket, 26, 28, true)) && Aws::Endpoints::Matchers.string_equals?(s3express_availability_zone_delim, "--")
142
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
143
+ return Aws::Endpoints::Endpoint.new(url: "https://#{bucket}.s3express-fips-#{s3express_availability_zone_id}.#{region}.amazonaws.com", headers: {}, properties: {"backend"=>"S3Express", "authSchemes"=>[{"disableDoubleEncoding"=>true, "name"=>"sigv4-s3express", "signingName"=>"s3express", "signingRegion"=>"#{region}"}]})
144
+ end
145
+ return Aws::Endpoints::Endpoint.new(url: "https://#{bucket}.s3express-#{s3express_availability_zone_id}.#{region}.amazonaws.com", headers: {}, properties: {"backend"=>"S3Express", "authSchemes"=>[{"disableDoubleEncoding"=>true, "name"=>"sigv4-s3express", "signingName"=>"s3express", "signingRegion"=>"#{region}"}]})
146
+ end
111
147
  raise ArgumentError, "Unrecognized S3Express bucket name format."
112
148
  end
113
149
  raise ArgumentError, "S3Express bucket name is not a valid virtual hostable name."