aws-sdk-s3 1.174.0 → 1.176.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.
@@ -117,6 +117,7 @@ module Aws::S3
117
117
  CopySourceSSECustomerKeyMD5 = Shapes::StringShape.new(name: 'CopySourceSSECustomerKeyMD5')
118
118
  CopySourceVersionId = Shapes::StringShape.new(name: 'CopySourceVersionId')
119
119
  CreateBucketConfiguration = Shapes::StructureShape.new(name: 'CreateBucketConfiguration')
120
+ CreateBucketMetadataTableConfigurationRequest = Shapes::StructureShape.new(name: 'CreateBucketMetadataTableConfigurationRequest')
120
121
  CreateBucketOutput = Shapes::StructureShape.new(name: 'CreateBucketOutput')
121
122
  CreateBucketRequest = Shapes::StructureShape.new(name: 'CreateBucketRequest')
122
123
  CreateMultipartUploadOutput = Shapes::StructureShape.new(name: 'CreateMultipartUploadOutput')
@@ -136,6 +137,7 @@ module Aws::S3
136
137
  DeleteBucketIntelligentTieringConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketIntelligentTieringConfigurationRequest')
137
138
  DeleteBucketInventoryConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketInventoryConfigurationRequest')
138
139
  DeleteBucketLifecycleRequest = Shapes::StructureShape.new(name: 'DeleteBucketLifecycleRequest')
140
+ DeleteBucketMetadataTableConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketMetadataTableConfigurationRequest')
139
141
  DeleteBucketMetricsConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketMetricsConfigurationRequest')
140
142
  DeleteBucketOwnershipControlsRequest = Shapes::StructureShape.new(name: 'DeleteBucketOwnershipControlsRequest')
141
143
  DeleteBucketPolicyRequest = Shapes::StructureShape.new(name: 'DeleteBucketPolicyRequest')
@@ -174,6 +176,7 @@ module Aws::S3
174
176
  EndEvent = Shapes::StructureShape.new(name: 'EndEvent')
175
177
  Error = Shapes::StructureShape.new(name: 'Error')
176
178
  ErrorCode = Shapes::StringShape.new(name: 'ErrorCode')
179
+ ErrorDetails = Shapes::StructureShape.new(name: 'ErrorDetails')
177
180
  ErrorDocument = Shapes::StructureShape.new(name: 'ErrorDocument')
178
181
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
179
182
  Errors = Shapes::ListShape.new(name: 'Errors', flattened: true)
@@ -220,6 +223,9 @@ module Aws::S3
220
223
  GetBucketLocationRequest = Shapes::StructureShape.new(name: 'GetBucketLocationRequest')
221
224
  GetBucketLoggingOutput = Shapes::StructureShape.new(name: 'GetBucketLoggingOutput')
222
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')
223
229
  GetBucketMetricsConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketMetricsConfigurationOutput')
224
230
  GetBucketMetricsConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketMetricsConfigurationRequest')
225
231
  GetBucketNotificationConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketNotificationConfigurationRequest')
@@ -377,6 +383,9 @@ module Aws::S3
377
383
  MetadataDirective = Shapes::StringShape.new(name: 'MetadataDirective')
378
384
  MetadataEntry = Shapes::StructureShape.new(name: 'MetadataEntry')
379
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')
380
389
  MetadataValue = Shapes::StringShape.new(name: 'MetadataValue')
381
390
  Metrics = Shapes::StructureShape.new(name: 'Metrics')
382
391
  MetricsAndOperator = Shapes::StructureShape.new(name: 'MetricsAndOperator')
@@ -555,6 +564,12 @@ module Aws::S3
555
564
  Rules = Shapes::ListShape.new(name: 'Rules', flattened: true)
556
565
  S3KeyFilter = Shapes::StructureShape.new(name: 'S3KeyFilter')
557
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')
558
573
  SSECustomerAlgorithm = Shapes::StringShape.new(name: 'SSECustomerAlgorithm')
559
574
  SSECustomerKey = Shapes::StringShape.new(name: 'SSECustomerKey')
560
575
  SSECustomerKeyMD5 = Shapes::StringShape.new(name: 'SSECustomerKeyMD5')
@@ -892,6 +907,15 @@ module Aws::S3
892
907
  CreateBucketConfiguration.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketInfo, location_name: "Bucket"))
893
908
  CreateBucketConfiguration.struct_class = Types::CreateBucketConfiguration
894
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
+
895
919
  CreateBucketOutput.add_member(:location, Shapes::ShapeRef.new(shape: Location, location: "header", location_name: "Location"))
896
920
  CreateBucketOutput.struct_class = Types::CreateBucketOutput
897
921
 
@@ -1006,6 +1030,10 @@ module Aws::S3
1006
1030
  DeleteBucketLifecycleRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1007
1031
  DeleteBucketLifecycleRequest.struct_class = Types::DeleteBucketLifecycleRequest
1008
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
+
1009
1037
  DeleteBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1010
1038
  DeleteBucketMetricsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location: "querystring", location_name: "id"))
1011
1039
  DeleteBucketMetricsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1128,6 +1156,10 @@ module Aws::S3
1128
1156
  Error.add_member(:message, Shapes::ShapeRef.new(shape: Message, location_name: "Message"))
1129
1157
  Error.struct_class = Types::Error
1130
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
+
1131
1163
  ErrorDocument.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location_name: "Key"))
1132
1164
  ErrorDocument.struct_class = Types::ErrorDocument
1133
1165
 
@@ -1239,6 +1271,20 @@ module Aws::S3
1239
1271
  GetBucketLoggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1240
1272
  GetBucketLoggingRequest.struct_class = Types::GetBucketLoggingRequest
1241
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
+
1242
1288
  GetBucketMetricsConfigurationOutput.add_member(:metrics_configuration, Shapes::ShapeRef.new(shape: MetricsConfiguration, location_name: "MetricsConfiguration"))
1243
1289
  GetBucketMetricsConfigurationOutput.struct_class = Types::GetBucketMetricsConfigurationOutput
1244
1290
  GetBucketMetricsConfigurationOutput[:payload] = :metrics_configuration
@@ -1914,6 +1960,12 @@ module Aws::S3
1914
1960
  MetadataEntry.add_member(:value, Shapes::ShapeRef.new(shape: MetadataValue, location_name: "Value"))
1915
1961
  MetadataEntry.struct_class = Types::MetadataEntry
1916
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
+
1917
1969
  Metrics.add_member(:status, Shapes::ShapeRef.new(shape: MetricsStatus, required: true, location_name: "Status"))
1918
1970
  Metrics.add_member(:event_threshold, Shapes::ShapeRef.new(shape: ReplicationTimeValue, location_name: "EventThreshold"))
1919
1971
  Metrics.struct_class = Types::Metrics
@@ -2561,6 +2613,16 @@ module Aws::S3
2561
2613
  S3Location.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
2562
2614
  S3Location.struct_class = Types::S3Location
2563
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
+
2564
2626
  SSEKMS.add_member(:key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, required: true, location_name: "KeyId"))
2565
2627
  SSEKMS.struct_class = Types::SSEKMS
2566
2628
 
@@ -2872,6 +2934,22 @@ module Aws::S3
2872
2934
  o.errors << Shapes::ShapeRef.new(shape: BucketAlreadyOwnedByYou)
2873
2935
  end)
2874
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
+
2875
2953
  api.add_operation(:create_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
2876
2954
  o.name = "CreateMultipartUpload"
2877
2955
  o.http_method = "POST"
@@ -2945,6 +3023,14 @@ module Aws::S3
2945
3023
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2946
3024
  end)
2947
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
+
2948
3034
  api.add_operation(:delete_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
2949
3035
  o.name = "DeleteBucketMetricsConfiguration"
2950
3036
  o.http_method = "DELETE"
@@ -3122,6 +3208,14 @@ module Aws::S3
3122
3208
  o.output = Shapes::ShapeRef.new(shape: GetBucketLoggingOutput)
3123
3209
  end)
3124
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
+
3125
3219
  api.add_operation(:get_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
3126
3220
  o.name = "GetBucketMetricsConfiguration"
3127
3221
  o.http_method = "GET"
@@ -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."
@@ -63,6 +63,18 @@ module Aws::S3
63
63
  end
64
64
  end
65
65
 
66
+ class CreateBucketMetadataTableConfiguration
67
+ def self.build(context)
68
+ Aws::S3::EndpointParameters.create(
69
+ context.config,
70
+ bucket: context.params[:bucket],
71
+ use_dual_stack: context[:use_dualstack_endpoint],
72
+ accelerate: context[:use_accelerate_endpoint],
73
+ use_s3_express_control_endpoint: true,
74
+ )
75
+ end
76
+ end
77
+
66
78
  class CreateMultipartUpload
67
79
  def self.build(context)
68
80
  Aws::S3::EndpointParameters.create(
@@ -171,6 +183,18 @@ module Aws::S3
171
183
  end
172
184
  end
173
185
 
186
+ class DeleteBucketMetadataTableConfiguration
187
+ def self.build(context)
188
+ Aws::S3::EndpointParameters.create(
189
+ context.config,
190
+ bucket: context.params[:bucket],
191
+ use_dual_stack: context[:use_dualstack_endpoint],
192
+ accelerate: context[:use_accelerate_endpoint],
193
+ use_s3_express_control_endpoint: true,
194
+ )
195
+ end
196
+ end
197
+
174
198
  class DeleteBucketMetricsConfiguration
175
199
  def self.build(context)
176
200
  Aws::S3::EndpointParameters.create(
@@ -421,6 +445,18 @@ module Aws::S3
421
445
  end
422
446
  end
423
447
 
448
+ class GetBucketMetadataTableConfiguration
449
+ def self.build(context)
450
+ Aws::S3::EndpointParameters.create(
451
+ context.config,
452
+ bucket: context.params[:bucket],
453
+ use_dual_stack: context[:use_dualstack_endpoint],
454
+ accelerate: context[:use_accelerate_endpoint],
455
+ use_s3_express_control_endpoint: true,
456
+ )
457
+ end
458
+ end
459
+
424
460
  class GetBucketMetricsConfiguration
425
461
  def self.build(context)
426
462
  Aws::S3::EndpointParameters.create(
@@ -1194,6 +1230,8 @@ module Aws::S3
1194
1230
  CopyObject.build(context)
1195
1231
  when :create_bucket
1196
1232
  CreateBucket.build(context)
1233
+ when :create_bucket_metadata_table_configuration
1234
+ CreateBucketMetadataTableConfiguration.build(context)
1197
1235
  when :create_multipart_upload
1198
1236
  CreateMultipartUpload.build(context)
1199
1237
  when :create_session
@@ -1212,6 +1250,8 @@ module Aws::S3
1212
1250
  DeleteBucketInventoryConfiguration.build(context)
1213
1251
  when :delete_bucket_lifecycle
1214
1252
  DeleteBucketLifecycle.build(context)
1253
+ when :delete_bucket_metadata_table_configuration
1254
+ DeleteBucketMetadataTableConfiguration.build(context)
1215
1255
  when :delete_bucket_metrics_configuration
1216
1256
  DeleteBucketMetricsConfiguration.build(context)
1217
1257
  when :delete_bucket_ownership_controls
@@ -1254,6 +1294,8 @@ module Aws::S3
1254
1294
  GetBucketLocation.build(context)
1255
1295
  when :get_bucket_logging
1256
1296
  GetBucketLogging.build(context)
1297
+ when :get_bucket_metadata_table_configuration
1298
+ GetBucketMetadataTableConfiguration.build(context)
1257
1299
  when :get_bucket_metrics_configuration
1258
1300
  GetBucketMetricsConfiguration.build(context)
1259
1301
  when :get_bucket_notification
@@ -66,7 +66,9 @@ module Aws::S3
66
66
  # providing object expiration information. The value of the `rule-id` is
67
67
  # URL-encoded.
68
68
  #
69
- # <note markdown="1"> This functionality is not supported for directory buckets.
69
+ # <note markdown="1"> Object expiration information is not returned in directory buckets and
70
+ # this header returns the value "`NotImplemented`" in all responses
71
+ # for directory buckets.
70
72
  #
71
73
  # </note>
72
74
  #
@@ -43,11 +43,11 @@ module Aws::S3
43
43
  # create_bucket_configuration: {
44
44
  # location_constraint: "af-south-1", # accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-south-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ca-central-1, cn-north-1, cn-northwest-1, EU, eu-central-1, eu-north-1, eu-south-1, eu-south-2, eu-west-1, eu-west-2, eu-west-3, me-south-1, sa-east-1, us-east-2, us-gov-east-1, us-gov-west-1, us-west-1, us-west-2
45
45
  # location: {
46
- # type: "AvailabilityZone", # accepts AvailabilityZone
46
+ # type: "AvailabilityZone", # accepts AvailabilityZone, LocalZone
47
47
  # name: "LocationNameAsString",
48
48
  # },
49
49
  # bucket: {
50
- # data_redundancy: "SingleAvailabilityZone", # accepts SingleAvailabilityZone
50
+ # data_redundancy: "SingleAvailabilityZone", # accepts SingleAvailabilityZone, SingleLocalZone
51
51
  # type: "Directory", # accepts Directory
52
52
  # },
53
53
  # },
@@ -75,13 +75,14 @@ module Aws::S3
75
75
  #
76
76
  # <b>Directory buckets </b> - When you use this operation with a
77
77
  # directory bucket, you must use path-style requests in the format
78
- # `https://s3express-control.region_code.amazonaws.com/bucket-name `.
78
+ # `https://s3express-control.region-code.amazonaws.com/bucket-name `.
79
79
  # Virtual-hosted-style requests aren't supported. Directory bucket
80
- # names must be unique in the chosen Availability Zone. Bucket names
81
- # must also follow the format ` bucket_base_name--az_id--x-s3` (for
82
- # example, ` DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about
83
- # bucket naming restrictions, see [Directory bucket naming rules][2] in
84
- # the *Amazon S3 User Guide*
80
+ # names must be unique in the chosen Zone (Availability Zone or Local
81
+ # Zone). Bucket names must also follow the format `
82
+ # bucket-base-name--zone-id--x-s3` (for example, `
83
+ # DOC-EXAMPLE-BUCKET--usw2-az1--x-s3`). For information about bucket
84
+ # naming restrictions, see [Directory bucket naming rules][2] in the
85
+ # *Amazon S3 User Guide*
85
86
  #
86
87
  #
87
88
  #