aws-sdk-apigatewayv2 1.25.0 → 1.30.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.
@@ -169,6 +169,8 @@ module Aws::ApiGatewayV2
169
169
  LoggingLevel = Shapes::StringShape.new(name: 'LoggingLevel')
170
170
  Model = Shapes::StructureShape.new(name: 'Model')
171
171
  Models = Shapes::StructureShape.new(name: 'Models')
172
+ MutualTlsAuthentication = Shapes::StructureShape.new(name: 'MutualTlsAuthentication')
173
+ MutualTlsAuthenticationInput = Shapes::StructureShape.new(name: 'MutualTlsAuthenticationInput')
172
174
  NextToken = Shapes::StringShape.new(name: 'NextToken')
173
175
  NotFoundException = Shapes::StructureShape.new(name: 'NotFoundException')
174
176
  ParameterConstraints = Shapes::StructureShape.new(name: 'ParameterConstraints')
@@ -177,6 +179,8 @@ module Aws::ApiGatewayV2
177
179
  ReimportApiInput = Shapes::StructureShape.new(name: 'ReimportApiInput')
178
180
  ReimportApiRequest = Shapes::StructureShape.new(name: 'ReimportApiRequest')
179
181
  ReimportApiResponse = Shapes::StructureShape.new(name: 'ReimportApiResponse')
182
+ ResetAuthorizersCacheRequest = Shapes::StructureShape.new(name: 'ResetAuthorizersCacheRequest')
183
+ ResponseParameters = Shapes::MapShape.new(name: 'ResponseParameters')
180
184
  Route = Shapes::StructureShape.new(name: 'Route')
181
185
  RouteModels = Shapes::MapShape.new(name: 'RouteModels')
182
186
  RouteParameters = Shapes::MapShape.new(name: 'RouteParameters')
@@ -289,6 +293,7 @@ module Aws::ApiGatewayV2
289
293
  Api.add_member(:created_date, Shapes::ShapeRef.new(shape: __timestampIso8601, location_name: "createdDate"))
290
294
  Api.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
291
295
  Api.add_member(:disable_schema_validation, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableSchemaValidation"))
296
+ Api.add_member(:disable_execute_api_endpoint, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableExecuteApiEndpoint"))
292
297
  Api.add_member(:import_info, Shapes::ShapeRef.new(shape: __listOf__string, location_name: "importInfo"))
293
298
  Api.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, required: true, location_name: "name"))
294
299
  Api.add_member(:protocol_type, Shapes::ShapeRef.new(shape: ProtocolType, required: true, location_name: "protocolType"))
@@ -323,6 +328,8 @@ module Aws::ApiGatewayV2
323
328
  Authorizer.add_member(:identity_validation_expression, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "identityValidationExpression"))
324
329
  Authorizer.add_member(:jwt_configuration, Shapes::ShapeRef.new(shape: JWTConfiguration, location_name: "jwtConfiguration"))
325
330
  Authorizer.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, required: true, location_name: "name"))
331
+ Authorizer.add_member(:authorizer_payload_format_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "authorizerPayloadFormatVersion"))
332
+ Authorizer.add_member(:enable_simple_responses, Shapes::ShapeRef.new(shape: __boolean, location_name: "enableSimpleResponses"))
326
333
  Authorizer.struct_class = Types::Authorizer
327
334
 
328
335
  Authorizers.add_member(:items, Shapes::ShapeRef.new(shape: __listOfAuthorizer, location_name: "items"))
@@ -354,6 +361,7 @@ module Aws::ApiGatewayV2
354
361
  CreateApiInput.add_member(:credentials_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "credentialsArn"))
355
362
  CreateApiInput.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
356
363
  CreateApiInput.add_member(:disable_schema_validation, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableSchemaValidation"))
364
+ CreateApiInput.add_member(:disable_execute_api_endpoint, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableExecuteApiEndpoint"))
357
365
  CreateApiInput.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, required: true, location_name: "name"))
358
366
  CreateApiInput.add_member(:protocol_type, Shapes::ShapeRef.new(shape: ProtocolType, required: true, location_name: "protocolType"))
359
367
  CreateApiInput.add_member(:route_key, Shapes::ShapeRef.new(shape: SelectionKey, location_name: "routeKey"))
@@ -385,6 +393,7 @@ module Aws::ApiGatewayV2
385
393
  CreateApiRequest.add_member(:credentials_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "credentialsArn"))
386
394
  CreateApiRequest.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
387
395
  CreateApiRequest.add_member(:disable_schema_validation, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableSchemaValidation"))
396
+ CreateApiRequest.add_member(:disable_execute_api_endpoint, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableExecuteApiEndpoint"))
388
397
  CreateApiRequest.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, required: true, location_name: "name"))
389
398
  CreateApiRequest.add_member(:protocol_type, Shapes::ShapeRef.new(shape: ProtocolType, required: true, location_name: "protocolType"))
390
399
  CreateApiRequest.add_member(:route_key, Shapes::ShapeRef.new(shape: SelectionKey, location_name: "routeKey"))
@@ -402,6 +411,7 @@ module Aws::ApiGatewayV2
402
411
  CreateApiResponse.add_member(:created_date, Shapes::ShapeRef.new(shape: __timestampIso8601, location_name: "createdDate"))
403
412
  CreateApiResponse.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
404
413
  CreateApiResponse.add_member(:disable_schema_validation, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableSchemaValidation"))
414
+ CreateApiResponse.add_member(:disable_execute_api_endpoint, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableExecuteApiEndpoint"))
405
415
  CreateApiResponse.add_member(:import_info, Shapes::ShapeRef.new(shape: __listOf__string, location_name: "importInfo"))
406
416
  CreateApiResponse.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "name"))
407
417
  CreateApiResponse.add_member(:protocol_type, Shapes::ShapeRef.new(shape: ProtocolType, location_name: "protocolType"))
@@ -419,6 +429,8 @@ module Aws::ApiGatewayV2
419
429
  CreateAuthorizerInput.add_member(:identity_validation_expression, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "identityValidationExpression"))
420
430
  CreateAuthorizerInput.add_member(:jwt_configuration, Shapes::ShapeRef.new(shape: JWTConfiguration, location_name: "jwtConfiguration"))
421
431
  CreateAuthorizerInput.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, required: true, location_name: "name"))
432
+ CreateAuthorizerInput.add_member(:authorizer_payload_format_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "authorizerPayloadFormatVersion"))
433
+ CreateAuthorizerInput.add_member(:enable_simple_responses, Shapes::ShapeRef.new(shape: __boolean, location_name: "enableSimpleResponses"))
422
434
  CreateAuthorizerInput.struct_class = Types::CreateAuthorizerInput
423
435
 
424
436
  CreateAuthorizerRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "apiId"))
@@ -430,6 +442,8 @@ module Aws::ApiGatewayV2
430
442
  CreateAuthorizerRequest.add_member(:identity_validation_expression, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "identityValidationExpression"))
431
443
  CreateAuthorizerRequest.add_member(:jwt_configuration, Shapes::ShapeRef.new(shape: JWTConfiguration, location_name: "jwtConfiguration"))
432
444
  CreateAuthorizerRequest.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, required: true, location_name: "name"))
445
+ CreateAuthorizerRequest.add_member(:authorizer_payload_format_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "authorizerPayloadFormatVersion"))
446
+ CreateAuthorizerRequest.add_member(:enable_simple_responses, Shapes::ShapeRef.new(shape: __boolean, location_name: "enableSimpleResponses"))
433
447
  CreateAuthorizerRequest.struct_class = Types::CreateAuthorizerRequest
434
448
 
435
449
  CreateAuthorizerResponse.add_member(:authorizer_credentials_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "authorizerCredentialsArn"))
@@ -441,6 +455,8 @@ module Aws::ApiGatewayV2
441
455
  CreateAuthorizerResponse.add_member(:identity_validation_expression, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "identityValidationExpression"))
442
456
  CreateAuthorizerResponse.add_member(:jwt_configuration, Shapes::ShapeRef.new(shape: JWTConfiguration, location_name: "jwtConfiguration"))
443
457
  CreateAuthorizerResponse.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "name"))
458
+ CreateAuthorizerResponse.add_member(:authorizer_payload_format_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "authorizerPayloadFormatVersion"))
459
+ CreateAuthorizerResponse.add_member(:enable_simple_responses, Shapes::ShapeRef.new(shape: __boolean, location_name: "enableSimpleResponses"))
444
460
  CreateAuthorizerResponse.struct_class = Types::CreateAuthorizerResponse
445
461
 
446
462
  CreateDeploymentInput.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
@@ -462,17 +478,20 @@ module Aws::ApiGatewayV2
462
478
 
463
479
  CreateDomainNameInput.add_member(:domain_name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And512, required: true, location_name: "domainName"))
464
480
  CreateDomainNameInput.add_member(:domain_name_configurations, Shapes::ShapeRef.new(shape: DomainNameConfigurations, location_name: "domainNameConfigurations"))
481
+ CreateDomainNameInput.add_member(:mutual_tls_authentication, Shapes::ShapeRef.new(shape: MutualTlsAuthenticationInput, location_name: "mutualTlsAuthentication"))
465
482
  CreateDomainNameInput.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
466
483
  CreateDomainNameInput.struct_class = Types::CreateDomainNameInput
467
484
 
468
485
  CreateDomainNameRequest.add_member(:domain_name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And512, required: true, location_name: "domainName"))
469
486
  CreateDomainNameRequest.add_member(:domain_name_configurations, Shapes::ShapeRef.new(shape: DomainNameConfigurations, location_name: "domainNameConfigurations"))
487
+ CreateDomainNameRequest.add_member(:mutual_tls_authentication, Shapes::ShapeRef.new(shape: MutualTlsAuthenticationInput, location_name: "mutualTlsAuthentication"))
470
488
  CreateDomainNameRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
471
489
  CreateDomainNameRequest.struct_class = Types::CreateDomainNameRequest
472
490
 
473
491
  CreateDomainNameResponse.add_member(:api_mapping_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "apiMappingSelectionExpression"))
474
492
  CreateDomainNameResponse.add_member(:domain_name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And512, location_name: "domainName"))
475
493
  CreateDomainNameResponse.add_member(:domain_name_configurations, Shapes::ShapeRef.new(shape: DomainNameConfigurations, location_name: "domainNameConfigurations"))
494
+ CreateDomainNameResponse.add_member(:mutual_tls_authentication, Shapes::ShapeRef.new(shape: MutualTlsAuthentication, location_name: "mutualTlsAuthentication"))
476
495
  CreateDomainNameResponse.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
477
496
  CreateDomainNameResponse.struct_class = Types::CreateDomainNameResponse
478
497
 
@@ -488,6 +507,7 @@ module Aws::ApiGatewayV2
488
507
  CreateIntegrationInput.add_member(:passthrough_behavior, Shapes::ShapeRef.new(shape: PassthroughBehavior, location_name: "passthroughBehavior"))
489
508
  CreateIntegrationInput.add_member(:payload_format_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "payloadFormatVersion"))
490
509
  CreateIntegrationInput.add_member(:request_parameters, Shapes::ShapeRef.new(shape: IntegrationParameters, location_name: "requestParameters"))
510
+ CreateIntegrationInput.add_member(:response_parameters, Shapes::ShapeRef.new(shape: ResponseParameters, location_name: "responseParameters"))
491
511
  CreateIntegrationInput.add_member(:request_templates, Shapes::ShapeRef.new(shape: TemplateMap, location_name: "requestTemplates"))
492
512
  CreateIntegrationInput.add_member(:template_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "templateSelectionExpression"))
493
513
  CreateIntegrationInput.add_member(:timeout_in_millis, Shapes::ShapeRef.new(shape: IntegerWithLengthBetween50And30000, location_name: "timeoutInMillis"))
@@ -507,6 +527,7 @@ module Aws::ApiGatewayV2
507
527
  CreateIntegrationRequest.add_member(:passthrough_behavior, Shapes::ShapeRef.new(shape: PassthroughBehavior, location_name: "passthroughBehavior"))
508
528
  CreateIntegrationRequest.add_member(:payload_format_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "payloadFormatVersion"))
509
529
  CreateIntegrationRequest.add_member(:request_parameters, Shapes::ShapeRef.new(shape: IntegrationParameters, location_name: "requestParameters"))
530
+ CreateIntegrationRequest.add_member(:response_parameters, Shapes::ShapeRef.new(shape: ResponseParameters, location_name: "responseParameters"))
510
531
  CreateIntegrationRequest.add_member(:request_templates, Shapes::ShapeRef.new(shape: TemplateMap, location_name: "requestTemplates"))
511
532
  CreateIntegrationRequest.add_member(:template_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "templateSelectionExpression"))
512
533
  CreateIntegrationRequest.add_member(:timeout_in_millis, Shapes::ShapeRef.new(shape: IntegerWithLengthBetween50And30000, location_name: "timeoutInMillis"))
@@ -552,6 +573,7 @@ module Aws::ApiGatewayV2
552
573
  CreateIntegrationResult.add_member(:passthrough_behavior, Shapes::ShapeRef.new(shape: PassthroughBehavior, location_name: "passthroughBehavior"))
553
574
  CreateIntegrationResult.add_member(:payload_format_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "payloadFormatVersion"))
554
575
  CreateIntegrationResult.add_member(:request_parameters, Shapes::ShapeRef.new(shape: IntegrationParameters, location_name: "requestParameters"))
576
+ CreateIntegrationResult.add_member(:response_parameters, Shapes::ShapeRef.new(shape: ResponseParameters, location_name: "responseParameters"))
555
577
  CreateIntegrationResult.add_member(:request_templates, Shapes::ShapeRef.new(shape: TemplateMap, location_name: "requestTemplates"))
556
578
  CreateIntegrationResult.add_member(:template_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "templateSelectionExpression"))
557
579
  CreateIntegrationResult.add_member(:timeout_in_millis, Shapes::ShapeRef.new(shape: IntegerWithLengthBetween50And30000, location_name: "timeoutInMillis"))
@@ -786,6 +808,7 @@ module Aws::ApiGatewayV2
786
808
  DomainName.add_member(:api_mapping_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "apiMappingSelectionExpression"))
787
809
  DomainName.add_member(:domain_name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And512, required: true, location_name: "domainName"))
788
810
  DomainName.add_member(:domain_name_configurations, Shapes::ShapeRef.new(shape: DomainNameConfigurations, location_name: "domainNameConfigurations"))
811
+ DomainName.add_member(:mutual_tls_authentication, Shapes::ShapeRef.new(shape: MutualTlsAuthentication, location_name: "mutualTlsAuthentication"))
789
812
  DomainName.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
790
813
  DomainName.struct_class = Types::DomainName
791
814
 
@@ -849,6 +872,7 @@ module Aws::ApiGatewayV2
849
872
  GetApiResponse.add_member(:created_date, Shapes::ShapeRef.new(shape: __timestampIso8601, location_name: "createdDate"))
850
873
  GetApiResponse.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
851
874
  GetApiResponse.add_member(:disable_schema_validation, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableSchemaValidation"))
875
+ GetApiResponse.add_member(:disable_execute_api_endpoint, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableExecuteApiEndpoint"))
852
876
  GetApiResponse.add_member(:import_info, Shapes::ShapeRef.new(shape: __listOf__string, location_name: "importInfo"))
853
877
  GetApiResponse.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "name"))
854
878
  GetApiResponse.add_member(:protocol_type, Shapes::ShapeRef.new(shape: ProtocolType, location_name: "protocolType"))
@@ -879,6 +903,8 @@ module Aws::ApiGatewayV2
879
903
  GetAuthorizerResponse.add_member(:identity_validation_expression, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "identityValidationExpression"))
880
904
  GetAuthorizerResponse.add_member(:jwt_configuration, Shapes::ShapeRef.new(shape: JWTConfiguration, location_name: "jwtConfiguration"))
881
905
  GetAuthorizerResponse.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "name"))
906
+ GetAuthorizerResponse.add_member(:authorizer_payload_format_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "authorizerPayloadFormatVersion"))
907
+ GetAuthorizerResponse.add_member(:enable_simple_responses, Shapes::ShapeRef.new(shape: __boolean, location_name: "enableSimpleResponses"))
882
908
  GetAuthorizerResponse.struct_class = Types::GetAuthorizerResponse
883
909
 
884
910
  GetAuthorizersRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "apiId"))
@@ -917,6 +943,7 @@ module Aws::ApiGatewayV2
917
943
  GetDomainNameResponse.add_member(:api_mapping_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "apiMappingSelectionExpression"))
918
944
  GetDomainNameResponse.add_member(:domain_name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And512, location_name: "domainName"))
919
945
  GetDomainNameResponse.add_member(:domain_name_configurations, Shapes::ShapeRef.new(shape: DomainNameConfigurations, location_name: "domainNameConfigurations"))
946
+ GetDomainNameResponse.add_member(:mutual_tls_authentication, Shapes::ShapeRef.new(shape: MutualTlsAuthentication, location_name: "mutualTlsAuthentication"))
920
947
  GetDomainNameResponse.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
921
948
  GetDomainNameResponse.struct_class = Types::GetDomainNameResponse
922
949
 
@@ -970,6 +997,7 @@ module Aws::ApiGatewayV2
970
997
  GetIntegrationResult.add_member(:passthrough_behavior, Shapes::ShapeRef.new(shape: PassthroughBehavior, location_name: "passthroughBehavior"))
971
998
  GetIntegrationResult.add_member(:payload_format_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "payloadFormatVersion"))
972
999
  GetIntegrationResult.add_member(:request_parameters, Shapes::ShapeRef.new(shape: IntegrationParameters, location_name: "requestParameters"))
1000
+ GetIntegrationResult.add_member(:response_parameters, Shapes::ShapeRef.new(shape: ResponseParameters, location_name: "responseParameters"))
973
1001
  GetIntegrationResult.add_member(:request_templates, Shapes::ShapeRef.new(shape: TemplateMap, location_name: "requestTemplates"))
974
1002
  GetIntegrationResult.add_member(:template_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "templateSelectionExpression"))
975
1003
  GetIntegrationResult.add_member(:timeout_in_millis, Shapes::ShapeRef.new(shape: IntegerWithLengthBetween50And30000, location_name: "timeoutInMillis"))
@@ -1137,6 +1165,7 @@ module Aws::ApiGatewayV2
1137
1165
  ImportApiResponse.add_member(:created_date, Shapes::ShapeRef.new(shape: __timestampIso8601, location_name: "createdDate"))
1138
1166
  ImportApiResponse.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
1139
1167
  ImportApiResponse.add_member(:disable_schema_validation, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableSchemaValidation"))
1168
+ ImportApiResponse.add_member(:disable_execute_api_endpoint, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableExecuteApiEndpoint"))
1140
1169
  ImportApiResponse.add_member(:import_info, Shapes::ShapeRef.new(shape: __listOf__string, location_name: "importInfo"))
1141
1170
  ImportApiResponse.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "name"))
1142
1171
  ImportApiResponse.add_member(:protocol_type, Shapes::ShapeRef.new(shape: ProtocolType, location_name: "protocolType"))
@@ -1161,6 +1190,7 @@ module Aws::ApiGatewayV2
1161
1190
  Integration.add_member(:passthrough_behavior, Shapes::ShapeRef.new(shape: PassthroughBehavior, location_name: "passthroughBehavior"))
1162
1191
  Integration.add_member(:payload_format_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "payloadFormatVersion"))
1163
1192
  Integration.add_member(:request_parameters, Shapes::ShapeRef.new(shape: IntegrationParameters, location_name: "requestParameters"))
1193
+ Integration.add_member(:response_parameters, Shapes::ShapeRef.new(shape: ResponseParameters, location_name: "responseParameters"))
1164
1194
  Integration.add_member(:request_templates, Shapes::ShapeRef.new(shape: TemplateMap, location_name: "requestTemplates"))
1165
1195
  Integration.add_member(:template_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "templateSelectionExpression"))
1166
1196
  Integration.add_member(:timeout_in_millis, Shapes::ShapeRef.new(shape: IntegerWithLengthBetween50And30000, location_name: "timeoutInMillis"))
@@ -1205,6 +1235,15 @@ module Aws::ApiGatewayV2
1205
1235
  Models.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
1206
1236
  Models.struct_class = Types::Models
1207
1237
 
1238
+ MutualTlsAuthentication.add_member(:truststore_uri, Shapes::ShapeRef.new(shape: UriWithLengthBetween1And2048, location_name: "truststoreUri"))
1239
+ MutualTlsAuthentication.add_member(:truststore_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "truststoreVersion"))
1240
+ MutualTlsAuthentication.add_member(:truststore_warnings, Shapes::ShapeRef.new(shape: __listOf__string, location_name: "truststoreWarnings"))
1241
+ MutualTlsAuthentication.struct_class = Types::MutualTlsAuthentication
1242
+
1243
+ MutualTlsAuthenticationInput.add_member(:truststore_uri, Shapes::ShapeRef.new(shape: UriWithLengthBetween1And2048, location_name: "truststoreUri"))
1244
+ MutualTlsAuthenticationInput.add_member(:truststore_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "truststoreVersion"))
1245
+ MutualTlsAuthenticationInput.struct_class = Types::MutualTlsAuthenticationInput
1246
+
1208
1247
  NotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: __string, location_name: "message"))
1209
1248
  NotFoundException.add_member(:resource_type, Shapes::ShapeRef.new(shape: __string, location_name: "resourceType"))
1210
1249
  NotFoundException.struct_class = Types::NotFoundException
@@ -1229,6 +1268,7 @@ module Aws::ApiGatewayV2
1229
1268
  ReimportApiResponse.add_member(:created_date, Shapes::ShapeRef.new(shape: __timestampIso8601, location_name: "createdDate"))
1230
1269
  ReimportApiResponse.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
1231
1270
  ReimportApiResponse.add_member(:disable_schema_validation, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableSchemaValidation"))
1271
+ ReimportApiResponse.add_member(:disable_execute_api_endpoint, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableExecuteApiEndpoint"))
1232
1272
  ReimportApiResponse.add_member(:import_info, Shapes::ShapeRef.new(shape: __listOf__string, location_name: "importInfo"))
1233
1273
  ReimportApiResponse.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "name"))
1234
1274
  ReimportApiResponse.add_member(:protocol_type, Shapes::ShapeRef.new(shape: ProtocolType, location_name: "protocolType"))
@@ -1238,6 +1278,13 @@ module Aws::ApiGatewayV2
1238
1278
  ReimportApiResponse.add_member(:warnings, Shapes::ShapeRef.new(shape: __listOf__string, location_name: "warnings"))
1239
1279
  ReimportApiResponse.struct_class = Types::ReimportApiResponse
1240
1280
 
1281
+ ResetAuthorizersCacheRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "apiId"))
1282
+ ResetAuthorizersCacheRequest.add_member(:stage_name, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "stageName"))
1283
+ ResetAuthorizersCacheRequest.struct_class = Types::ResetAuthorizersCacheRequest
1284
+
1285
+ ResponseParameters.key = Shapes::ShapeRef.new(shape: __string)
1286
+ ResponseParameters.value = Shapes::ShapeRef.new(shape: IntegrationParameters)
1287
+
1241
1288
  Route.add_member(:api_gateway_managed, Shapes::ShapeRef.new(shape: __boolean, location_name: "apiGatewayManaged"))
1242
1289
  Route.add_member(:api_key_required, Shapes::ShapeRef.new(shape: __boolean, location_name: "apiKeyRequired"))
1243
1290
  Route.add_member(:authorization_scopes, Shapes::ShapeRef.new(shape: AuthorizationScopes, location_name: "authorizationScopes"))
@@ -1348,6 +1395,7 @@ module Aws::ApiGatewayV2
1348
1395
  UpdateApiInput.add_member(:credentials_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "credentialsArn"))
1349
1396
  UpdateApiInput.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
1350
1397
  UpdateApiInput.add_member(:disable_schema_validation, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableSchemaValidation"))
1398
+ UpdateApiInput.add_member(:disable_execute_api_endpoint, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableExecuteApiEndpoint"))
1351
1399
  UpdateApiInput.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "name"))
1352
1400
  UpdateApiInput.add_member(:route_key, Shapes::ShapeRef.new(shape: SelectionKey, location_name: "routeKey"))
1353
1401
  UpdateApiInput.add_member(:route_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "routeSelectionExpression"))
@@ -1379,6 +1427,7 @@ module Aws::ApiGatewayV2
1379
1427
  UpdateApiRequest.add_member(:credentials_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "credentialsArn"))
1380
1428
  UpdateApiRequest.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
1381
1429
  UpdateApiRequest.add_member(:disable_schema_validation, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableSchemaValidation"))
1430
+ UpdateApiRequest.add_member(:disable_execute_api_endpoint, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableExecuteApiEndpoint"))
1382
1431
  UpdateApiRequest.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "name"))
1383
1432
  UpdateApiRequest.add_member(:route_key, Shapes::ShapeRef.new(shape: SelectionKey, location_name: "routeKey"))
1384
1433
  UpdateApiRequest.add_member(:route_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "routeSelectionExpression"))
@@ -1394,6 +1443,7 @@ module Aws::ApiGatewayV2
1394
1443
  UpdateApiResponse.add_member(:created_date, Shapes::ShapeRef.new(shape: __timestampIso8601, location_name: "createdDate"))
1395
1444
  UpdateApiResponse.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
1396
1445
  UpdateApiResponse.add_member(:disable_schema_validation, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableSchemaValidation"))
1446
+ UpdateApiResponse.add_member(:disable_execute_api_endpoint, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableExecuteApiEndpoint"))
1397
1447
  UpdateApiResponse.add_member(:import_info, Shapes::ShapeRef.new(shape: __listOf__string, location_name: "importInfo"))
1398
1448
  UpdateApiResponse.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "name"))
1399
1449
  UpdateApiResponse.add_member(:protocol_type, Shapes::ShapeRef.new(shape: ProtocolType, location_name: "protocolType"))
@@ -1411,6 +1461,8 @@ module Aws::ApiGatewayV2
1411
1461
  UpdateAuthorizerInput.add_member(:identity_validation_expression, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "identityValidationExpression"))
1412
1462
  UpdateAuthorizerInput.add_member(:jwt_configuration, Shapes::ShapeRef.new(shape: JWTConfiguration, location_name: "jwtConfiguration"))
1413
1463
  UpdateAuthorizerInput.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "name"))
1464
+ UpdateAuthorizerInput.add_member(:authorizer_payload_format_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "authorizerPayloadFormatVersion"))
1465
+ UpdateAuthorizerInput.add_member(:enable_simple_responses, Shapes::ShapeRef.new(shape: __boolean, location_name: "enableSimpleResponses"))
1414
1466
  UpdateAuthorizerInput.struct_class = Types::UpdateAuthorizerInput
1415
1467
 
1416
1468
  UpdateAuthorizerRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "apiId"))
@@ -1423,6 +1475,8 @@ module Aws::ApiGatewayV2
1423
1475
  UpdateAuthorizerRequest.add_member(:identity_validation_expression, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "identityValidationExpression"))
1424
1476
  UpdateAuthorizerRequest.add_member(:jwt_configuration, Shapes::ShapeRef.new(shape: JWTConfiguration, location_name: "jwtConfiguration"))
1425
1477
  UpdateAuthorizerRequest.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "name"))
1478
+ UpdateAuthorizerRequest.add_member(:authorizer_payload_format_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "authorizerPayloadFormatVersion"))
1479
+ UpdateAuthorizerRequest.add_member(:enable_simple_responses, Shapes::ShapeRef.new(shape: __boolean, location_name: "enableSimpleResponses"))
1426
1480
  UpdateAuthorizerRequest.struct_class = Types::UpdateAuthorizerRequest
1427
1481
 
1428
1482
  UpdateAuthorizerResponse.add_member(:authorizer_credentials_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "authorizerCredentialsArn"))
@@ -1434,6 +1488,8 @@ module Aws::ApiGatewayV2
1434
1488
  UpdateAuthorizerResponse.add_member(:identity_validation_expression, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "identityValidationExpression"))
1435
1489
  UpdateAuthorizerResponse.add_member(:jwt_configuration, Shapes::ShapeRef.new(shape: JWTConfiguration, location_name: "jwtConfiguration"))
1436
1490
  UpdateAuthorizerResponse.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "name"))
1491
+ UpdateAuthorizerResponse.add_member(:authorizer_payload_format_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "authorizerPayloadFormatVersion"))
1492
+ UpdateAuthorizerResponse.add_member(:enable_simple_responses, Shapes::ShapeRef.new(shape: __boolean, location_name: "enableSimpleResponses"))
1437
1493
  UpdateAuthorizerResponse.struct_class = Types::UpdateAuthorizerResponse
1438
1494
 
1439
1495
  UpdateDeploymentInput.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
@@ -1453,15 +1509,18 @@ module Aws::ApiGatewayV2
1453
1509
  UpdateDeploymentResponse.struct_class = Types::UpdateDeploymentResponse
1454
1510
 
1455
1511
  UpdateDomainNameInput.add_member(:domain_name_configurations, Shapes::ShapeRef.new(shape: DomainNameConfigurations, location_name: "domainNameConfigurations"))
1512
+ UpdateDomainNameInput.add_member(:mutual_tls_authentication, Shapes::ShapeRef.new(shape: MutualTlsAuthenticationInput, location_name: "mutualTlsAuthentication"))
1456
1513
  UpdateDomainNameInput.struct_class = Types::UpdateDomainNameInput
1457
1514
 
1458
1515
  UpdateDomainNameRequest.add_member(:domain_name, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "domainName"))
1459
1516
  UpdateDomainNameRequest.add_member(:domain_name_configurations, Shapes::ShapeRef.new(shape: DomainNameConfigurations, location_name: "domainNameConfigurations"))
1517
+ UpdateDomainNameRequest.add_member(:mutual_tls_authentication, Shapes::ShapeRef.new(shape: MutualTlsAuthenticationInput, location_name: "mutualTlsAuthentication"))
1460
1518
  UpdateDomainNameRequest.struct_class = Types::UpdateDomainNameRequest
1461
1519
 
1462
1520
  UpdateDomainNameResponse.add_member(:api_mapping_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "apiMappingSelectionExpression"))
1463
1521
  UpdateDomainNameResponse.add_member(:domain_name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And512, location_name: "domainName"))
1464
1522
  UpdateDomainNameResponse.add_member(:domain_name_configurations, Shapes::ShapeRef.new(shape: DomainNameConfigurations, location_name: "domainNameConfigurations"))
1523
+ UpdateDomainNameResponse.add_member(:mutual_tls_authentication, Shapes::ShapeRef.new(shape: MutualTlsAuthentication, location_name: "mutualTlsAuthentication"))
1465
1524
  UpdateDomainNameResponse.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
1466
1525
  UpdateDomainNameResponse.struct_class = Types::UpdateDomainNameResponse
1467
1526
 
@@ -1477,6 +1536,7 @@ module Aws::ApiGatewayV2
1477
1536
  UpdateIntegrationInput.add_member(:passthrough_behavior, Shapes::ShapeRef.new(shape: PassthroughBehavior, location_name: "passthroughBehavior"))
1478
1537
  UpdateIntegrationInput.add_member(:payload_format_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "payloadFormatVersion"))
1479
1538
  UpdateIntegrationInput.add_member(:request_parameters, Shapes::ShapeRef.new(shape: IntegrationParameters, location_name: "requestParameters"))
1539
+ UpdateIntegrationInput.add_member(:response_parameters, Shapes::ShapeRef.new(shape: ResponseParameters, location_name: "responseParameters"))
1480
1540
  UpdateIntegrationInput.add_member(:request_templates, Shapes::ShapeRef.new(shape: TemplateMap, location_name: "requestTemplates"))
1481
1541
  UpdateIntegrationInput.add_member(:template_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "templateSelectionExpression"))
1482
1542
  UpdateIntegrationInput.add_member(:timeout_in_millis, Shapes::ShapeRef.new(shape: IntegerWithLengthBetween50And30000, location_name: "timeoutInMillis"))
@@ -1497,6 +1557,7 @@ module Aws::ApiGatewayV2
1497
1557
  UpdateIntegrationRequest.add_member(:passthrough_behavior, Shapes::ShapeRef.new(shape: PassthroughBehavior, location_name: "passthroughBehavior"))
1498
1558
  UpdateIntegrationRequest.add_member(:payload_format_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "payloadFormatVersion"))
1499
1559
  UpdateIntegrationRequest.add_member(:request_parameters, Shapes::ShapeRef.new(shape: IntegrationParameters, location_name: "requestParameters"))
1560
+ UpdateIntegrationRequest.add_member(:response_parameters, Shapes::ShapeRef.new(shape: ResponseParameters, location_name: "responseParameters"))
1500
1561
  UpdateIntegrationRequest.add_member(:request_templates, Shapes::ShapeRef.new(shape: TemplateMap, location_name: "requestTemplates"))
1501
1562
  UpdateIntegrationRequest.add_member(:template_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "templateSelectionExpression"))
1502
1563
  UpdateIntegrationRequest.add_member(:timeout_in_millis, Shapes::ShapeRef.new(shape: IntegerWithLengthBetween50And30000, location_name: "timeoutInMillis"))
@@ -1543,6 +1604,7 @@ module Aws::ApiGatewayV2
1543
1604
  UpdateIntegrationResult.add_member(:passthrough_behavior, Shapes::ShapeRef.new(shape: PassthroughBehavior, location_name: "passthroughBehavior"))
1544
1605
  UpdateIntegrationResult.add_member(:payload_format_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "payloadFormatVersion"))
1545
1606
  UpdateIntegrationResult.add_member(:request_parameters, Shapes::ShapeRef.new(shape: IntegrationParameters, location_name: "requestParameters"))
1607
+ UpdateIntegrationResult.add_member(:response_parameters, Shapes::ShapeRef.new(shape: ResponseParameters, location_name: "responseParameters"))
1546
1608
  UpdateIntegrationResult.add_member(:request_templates, Shapes::ShapeRef.new(shape: TemplateMap, location_name: "requestTemplates"))
1547
1609
  UpdateIntegrationResult.add_member(:template_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "templateSelectionExpression"))
1548
1610
  UpdateIntegrationResult.add_member(:timeout_in_millis, Shapes::ShapeRef.new(shape: IntegerWithLengthBetween50And30000, location_name: "timeoutInMillis"))
@@ -2065,6 +2127,16 @@ module Aws::ApiGatewayV2
2065
2127
  o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
2066
2128
  end)
2067
2129
 
2130
+ api.add_operation(:reset_authorizers_cache, Seahorse::Model::Operation.new.tap do |o|
2131
+ o.name = "ResetAuthorizersCache"
2132
+ o.http_method = "DELETE"
2133
+ o.http_request_uri = "/v2/apis/{apiId}/stages/{stageName}/cache/authorizers"
2134
+ o.input = Shapes::ShapeRef.new(shape: ResetAuthorizersCacheRequest)
2135
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2136
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
2137
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
2138
+ end)
2139
+
2068
2140
  api.add_operation(:get_api, Seahorse::Model::Operation.new.tap do |o|
2069
2141
  o.name = "GetApi"
2070
2142
  o.http_method = "GET"
@@ -91,6 +91,15 @@ module Aws::ApiGatewayV2
91
91
  # for WebSocket APIs.
92
92
  # @return [Boolean]
93
93
  #
94
+ # @!attribute [rw] disable_execute_api_endpoint
95
+ # Specifies whether clients can invoke your API by using the default
96
+ # execute-api endpoint. By default, clients can invoke your API with
97
+ # the default
98
+ # https://\\\{api\_id\\}.execute-api.\\\{region\\}.amazonaws.com
99
+ # endpoint. To require that clients use a custom domain name to invoke
100
+ # your API, disable the default endpoint.
101
+ # @return [Boolean]
102
+ #
94
103
  # @!attribute [rw] import_info
95
104
  # The validation information during API import. This may include
96
105
  # particular properties of your OpenAPI definition which are ignored
@@ -134,6 +143,7 @@ module Aws::ApiGatewayV2
134
143
  :created_date,
135
144
  :description,
136
145
  :disable_schema_validation,
146
+ :disable_execute_api_endpoint,
137
147
  :import_info,
138
148
  :name,
139
149
  :protocol_type,
@@ -214,8 +224,8 @@ module Aws::ApiGatewayV2
214
224
  # Specifies the required credentials as an IAM role for API Gateway to
215
225
  # invoke the authorizer. To specify an IAM role for API Gateway to
216
226
  # assume, use the role's Amazon Resource Name (ARN). To use
217
- # resource-based permissions on the Lambda function, specify null.
218
- # Supported only for REQUEST authorizers.
227
+ # resource-based permissions on the Lambda function, don't specify
228
+ # this parameter. Supported only for REQUEST authorizers.
219
229
  # @return [String]
220
230
  #
221
231
  # @!attribute [rw] authorizer_id
@@ -223,18 +233,20 @@ module Aws::ApiGatewayV2
223
233
  # @return [String]
224
234
  #
225
235
  # @!attribute [rw] authorizer_result_ttl_in_seconds
226
- # Authorizer caching is not currently supported. Don't specify this
227
- # value for authorizers.
236
+ # The time to live (TTL) for cached authorizer results, in seconds. If
237
+ # it equals 0, authorization caching is disabled. If it is greater
238
+ # than 0, API Gateway caches authorizer responses. The maximum value
239
+ # is 3600, or 1 hour. Supported only for HTTP API Lambda authorizers.
228
240
  # @return [Integer]
229
241
  #
230
242
  # @!attribute [rw] authorizer_type
231
- # The authorizer type. For WebSocket APIs, specify REQUEST for a
232
- # Lambda function using incoming request parameters. For HTTP APIs,
233
- # specify JWT to use JSON Web Tokens.
243
+ # The authorizer type. Specify REQUEST for a Lambda function using
244
+ # incoming request parameters. Specify JWT to use JSON Web Tokens
245
+ # (supported only for HTTP APIs).
234
246
  # @return [String]
235
247
  #
236
248
  # @!attribute [rw] authorizer_uri
237
- # The authorizer's Uniform Resource Identifier (URI). ForREQUEST
249
+ # The authorizer's Uniform Resource Identifier (URI). For REQUEST
238
250
  # authorizers, this must be a well-formed Lambda function URI, for
239
251
  # example,
240
252
  # arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:*\\\{account\_id\\}*\:function:*\\\{lambda\_function\_name\\}*/invocations.
@@ -255,22 +267,30 @@ module Aws::ApiGatewayV2
255
267
  #
256
268
  # For a REQUEST authorizer, this is optional. The value is a set of
257
269
  # one or more mapping expressions of the specified request parameters.
258
- # Currently, the identity source can be headers, query string
259
- # parameters, stage variables, and context parameters. For example, if
260
- # an Auth header and a Name query string parameter are defined as
261
- # identity sources, this value is route.request.header.Auth,
262
- # route.request.querystring.Name. These parameters will be used to
263
- # perform runtime validation for Lambda-based authorizers by verifying
264
- # all of the identity-related request parameters are present in the
265
- # request, not null, and non-empty. Only when this is true does the
266
- # authorizer invoke the authorizer Lambda function. Otherwise, it
267
- # returns a 401 Unauthorized response without calling the Lambda
268
- # function.
270
+ # The identity source can be headers, query string parameters, stage
271
+ # variables, and context parameters. For example, if an Auth header
272
+ # and a Name query string parameter are defined as identity sources,
273
+ # this value is route.request.header.Auth,
274
+ # route.request.querystring.Name for WebSocket APIs. For HTTP APIs,
275
+ # use selection expressions prefixed with $, for example,
276
+ # $request.header.Auth, $request.querystring.Name. These parameters
277
+ # are used to perform runtime validation for Lambda-based authorizers
278
+ # by verifying all of the identity-related request parameters are
279
+ # present in the request, not null, and non-empty. Only when this is
280
+ # true does the authorizer invoke the authorizer Lambda function.
281
+ # Otherwise, it returns a 401 Unauthorized response without calling
282
+ # the Lambda function. For HTTP APIs, identity sources are also used
283
+ # as the cache key when caching is enabled. To learn more, see
284
+ # [Working with AWS Lambda authorizers for HTTP APIs][1].
269
285
  #
270
286
  # For JWT, a single entry that specifies where to extract the JSON Web
271
287
  # Token (JWT) from inbound requests. Currently only header-based and
272
288
  # query parameter-based selections are supported, for example
273
- # "$request.header.Authorization".
289
+ # $request.header.Authorization.
290
+ #
291
+ #
292
+ #
293
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html
274
294
  # @return [Array<String>]
275
295
  #
276
296
  # @!attribute [rw] identity_validation_expression
@@ -286,6 +306,28 @@ module Aws::ApiGatewayV2
286
306
  # The name of the authorizer.
287
307
  # @return [String]
288
308
  #
309
+ # @!attribute [rw] authorizer_payload_format_version
310
+ # Specifies the format of the payload sent to an HTTP API Lambda
311
+ # authorizer. Required for HTTP API Lambda authorizers. Supported
312
+ # values are 1.0 and 2.0. To learn more, see [Working with AWS Lambda
313
+ # authorizers for HTTP APIs][1].
314
+ #
315
+ #
316
+ #
317
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html
318
+ # @return [String]
319
+ #
320
+ # @!attribute [rw] enable_simple_responses
321
+ # Specifies whether a Lambda authorizer returns a response in a simple
322
+ # format. If enabled, the Lambda authorizer can return a boolean value
323
+ # instead of an IAM policy. Supported only for HTTP APIs. To learn
324
+ # more, see [Working with AWS Lambda authorizers for HTTP APIs][1]
325
+ #
326
+ #
327
+ #
328
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html
329
+ # @return [Boolean]
330
+ #
289
331
  class Authorizer < Struct.new(
290
332
  :authorizer_credentials_arn,
291
333
  :authorizer_id,
@@ -295,7 +337,9 @@ module Aws::ApiGatewayV2
295
337
  :identity_source,
296
338
  :identity_validation_expression,
297
339
  :jwt_configuration,
298
- :name)
340
+ :name,
341
+ :authorizer_payload_format_version,
342
+ :enable_simple_responses)
299
343
  SENSITIVE = []
300
344
  include Aws::Structure
301
345
  end
@@ -446,6 +490,9 @@ module Aws::ApiGatewayV2
446
490
  # for WebSocket APIs.
447
491
  # @return [Boolean]
448
492
  #
493
+ # @!attribute [rw] disable_execute_api_endpoint
494
+ # @return [Boolean]
495
+ #
449
496
  # @!attribute [rw] name
450
497
  # The name of the API.
451
498
  # @return [String]
@@ -495,6 +542,7 @@ module Aws::ApiGatewayV2
495
542
  :credentials_arn,
496
543
  :description,
497
544
  :disable_schema_validation,
545
+ :disable_execute_api_endpoint,
498
546
  :name,
499
547
  :protocol_type,
500
548
  :route_key,
@@ -617,6 +665,7 @@ module Aws::ApiGatewayV2
617
665
  # credentials_arn: "Arn",
618
666
  # description: "StringWithLengthBetween0And1024",
619
667
  # disable_schema_validation: false,
668
+ # disable_execute_api_endpoint: false,
620
669
  # name: "StringWithLengthBetween1And128", # required
621
670
  # protocol_type: "WEBSOCKET", # required, accepts WEBSOCKET, HTTP
622
671
  # route_key: "SelectionKey",
@@ -657,6 +706,9 @@ module Aws::ApiGatewayV2
657
706
  # @!attribute [rw] disable_schema_validation
658
707
  # @return [Boolean]
659
708
  #
709
+ # @!attribute [rw] disable_execute_api_endpoint
710
+ # @return [Boolean]
711
+ #
660
712
  # @!attribute [rw] name
661
713
  # A string with a length between \[1-128\].
662
714
  # @return [String]
@@ -703,6 +755,7 @@ module Aws::ApiGatewayV2
703
755
  :credentials_arn,
704
756
  :description,
705
757
  :disable_schema_validation,
758
+ :disable_execute_api_endpoint,
706
759
  :name,
707
760
  :protocol_type,
708
761
  :route_key,
@@ -752,6 +805,9 @@ module Aws::ApiGatewayV2
752
805
  # @!attribute [rw] disable_schema_validation
753
806
  # @return [Boolean]
754
807
  #
808
+ # @!attribute [rw] disable_execute_api_endpoint
809
+ # @return [Boolean]
810
+ #
755
811
  # @!attribute [rw] import_info
756
812
  # @return [Array<String>]
757
813
  #
@@ -792,6 +848,7 @@ module Aws::ApiGatewayV2
792
848
  :created_date,
793
849
  :description,
794
850
  :disable_schema_validation,
851
+ :disable_execute_api_endpoint,
795
852
  :import_info,
796
853
  :name,
797
854
  :protocol_type,
@@ -809,19 +866,21 @@ module Aws::ApiGatewayV2
809
866
  # Specifies the required credentials as an IAM role for API Gateway to
810
867
  # invoke the authorizer. To specify an IAM role for API Gateway to
811
868
  # assume, use the role's Amazon Resource Name (ARN). To use
812
- # resource-based permissions on the Lambda function, specify null.
813
- # Supported only for REQUEST authorizers.
869
+ # resource-based permissions on the Lambda function, don't specify
870
+ # this parameter. Supported only for REQUEST authorizers.
814
871
  # @return [String]
815
872
  #
816
873
  # @!attribute [rw] authorizer_result_ttl_in_seconds
817
- # Authorizer caching is not currently supported. Don't specify this
818
- # value for authorizers.
874
+ # The time to live (TTL) for cached authorizer results, in seconds. If
875
+ # it equals 0, authorization caching is disabled. If it is greater
876
+ # than 0, API Gateway caches authorizer responses. The maximum value
877
+ # is 3600, or 1 hour. Supported only for HTTP API Lambda authorizers.
819
878
  # @return [Integer]
820
879
  #
821
880
  # @!attribute [rw] authorizer_type
822
- # The authorizer type. For WebSocket APIs, specify REQUEST for a
823
- # Lambda function using incoming request parameters. For HTTP APIs,
824
- # specify JWT to use JSON Web Tokens.
881
+ # The authorizer type. Specify REQUEST for a Lambda function using
882
+ # incoming request parameters. Specify JWT to use JSON Web Tokens
883
+ # (supported only for HTTP APIs).
825
884
  # @return [String]
826
885
  #
827
886
  # @!attribute [rw] authorizer_uri
@@ -846,22 +905,30 @@ module Aws::ApiGatewayV2
846
905
  #
847
906
  # For a REQUEST authorizer, this is optional. The value is a set of
848
907
  # one or more mapping expressions of the specified request parameters.
849
- # Currently, the identity source can be headers, query string
850
- # parameters, stage variables, and context parameters. For example, if
851
- # an Auth header and a Name query string parameter are defined as
852
- # identity sources, this value is route.request.header.Auth,
853
- # route.request.querystring.Name. These parameters will be used to
854
- # perform runtime validation for Lambda-based authorizers by verifying
855
- # all of the identity-related request parameters are present in the
856
- # request, not null, and non-empty. Only when this is true does the
857
- # authorizer invoke the authorizer Lambda function. Otherwise, it
858
- # returns a 401 Unauthorized response without calling the Lambda
859
- # function.
908
+ # The identity source can be headers, query string parameters, stage
909
+ # variables, and context parameters. For example, if an Auth header
910
+ # and a Name query string parameter are defined as identity sources,
911
+ # this value is route.request.header.Auth,
912
+ # route.request.querystring.Name for WebSocket APIs. For HTTP APIs,
913
+ # use selection expressions prefixed with $, for example,
914
+ # $request.header.Auth, $request.querystring.Name. These parameters
915
+ # are used to perform runtime validation for Lambda-based authorizers
916
+ # by verifying all of the identity-related request parameters are
917
+ # present in the request, not null, and non-empty. Only when this is
918
+ # true does the authorizer invoke the authorizer Lambda function.
919
+ # Otherwise, it returns a 401 Unauthorized response without calling
920
+ # the Lambda function. For HTTP APIs, identity sources are also used
921
+ # as the cache key when caching is enabled. To learn more, see
922
+ # [Working with AWS Lambda authorizers for HTTP APIs][1].
860
923
  #
861
924
  # For JWT, a single entry that specifies where to extract the JSON Web
862
- # Token (JWT )from inbound requests. Currently only header-based and
925
+ # Token (JWT) from inbound requests. Currently only header-based and
863
926
  # query parameter-based selections are supported, for example
864
- # "$request.header.Authorization".
927
+ # $request.header.Authorization.
928
+ #
929
+ #
930
+ #
931
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html
865
932
  # @return [Array<String>]
866
933
  #
867
934
  # @!attribute [rw] identity_validation_expression
@@ -877,6 +944,29 @@ module Aws::ApiGatewayV2
877
944
  # The name of the authorizer.
878
945
  # @return [String]
879
946
  #
947
+ # @!attribute [rw] authorizer_payload_format_version
948
+ # Specifies the format of the payload sent to an HTTP API Lambda
949
+ # authorizer. Required for HTTP API Lambda authorizers. Supported
950
+ # values are 1.0 and 2.0. To learn more, see [Working with AWS Lambda
951
+ # authorizers for HTTP APIs][1].
952
+ #
953
+ #
954
+ #
955
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html
956
+ # @return [String]
957
+ #
958
+ # @!attribute [rw] enable_simple_responses
959
+ # Specifies whether a Lambda authorizer returns a response in a simple
960
+ # format. By default, a Lambda authorizer must return an IAM policy.
961
+ # If enabled, the Lambda authorizer can return a boolean value instead
962
+ # of an IAM policy. Supported only for HTTP APIs. To learn more, see
963
+ # [Working with AWS Lambda authorizers for HTTP APIs][1]
964
+ #
965
+ #
966
+ #
967
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html
968
+ # @return [Boolean]
969
+ #
880
970
  class CreateAuthorizerInput < Struct.new(
881
971
  :authorizer_credentials_arn,
882
972
  :authorizer_result_ttl_in_seconds,
@@ -885,7 +975,9 @@ module Aws::ApiGatewayV2
885
975
  :identity_source,
886
976
  :identity_validation_expression,
887
977
  :jwt_configuration,
888
- :name)
978
+ :name,
979
+ :authorizer_payload_format_version,
980
+ :enable_simple_responses)
889
981
  SENSITIVE = []
890
982
  include Aws::Structure
891
983
  end
@@ -906,6 +998,8 @@ module Aws::ApiGatewayV2
906
998
  # issuer: "UriWithLengthBetween1And2048",
907
999
  # },
908
1000
  # name: "StringWithLengthBetween1And128", # required
1001
+ # authorizer_payload_format_version: "StringWithLengthBetween1And64",
1002
+ # enable_simple_responses: false,
909
1003
  # }
910
1004
  #
911
1005
  # @!attribute [rw] api_id
@@ -920,9 +1014,9 @@ module Aws::ApiGatewayV2
920
1014
  # @return [Integer]
921
1015
  #
922
1016
  # @!attribute [rw] authorizer_type
923
- # The authorizer type. For WebSocket APIs, specify REQUEST for a
924
- # Lambda function using incoming request parameters. For HTTP APIs,
925
- # specify JWT to use JSON Web Tokens.
1017
+ # The authorizer type. Specify REQUEST for a Lambda function using
1018
+ # incoming request parameters. Specify JWT to use JSON Web Tokens
1019
+ # (supported only for HTTP APIs).
926
1020
  # @return [String]
927
1021
  #
928
1022
  # @!attribute [rw] authorizer_uri
@@ -961,6 +1055,13 @@ module Aws::ApiGatewayV2
961
1055
  # A string with a length between \[1-128\].
962
1056
  # @return [String]
963
1057
  #
1058
+ # @!attribute [rw] authorizer_payload_format_version
1059
+ # A string with a length between \[1-64\].
1060
+ # @return [String]
1061
+ #
1062
+ # @!attribute [rw] enable_simple_responses
1063
+ # @return [Boolean]
1064
+ #
964
1065
  class CreateAuthorizerRequest < Struct.new(
965
1066
  :api_id,
966
1067
  :authorizer_credentials_arn,
@@ -970,7 +1071,9 @@ module Aws::ApiGatewayV2
970
1071
  :identity_source,
971
1072
  :identity_validation_expression,
972
1073
  :jwt_configuration,
973
- :name)
1074
+ :name,
1075
+ :authorizer_payload_format_version,
1076
+ :enable_simple_responses)
974
1077
  SENSITIVE = []
975
1078
  include Aws::Structure
976
1079
  end
@@ -988,9 +1091,9 @@ module Aws::ApiGatewayV2
988
1091
  # @return [Integer]
989
1092
  #
990
1093
  # @!attribute [rw] authorizer_type
991
- # The authorizer type. For WebSocket APIs, specify REQUEST for a
992
- # Lambda function using incoming request parameters. For HTTP APIs,
993
- # specify JWT to use JSON Web Tokens.
1094
+ # The authorizer type. Specify REQUEST for a Lambda function using
1095
+ # incoming request parameters. Specify JWT to use JSON Web Tokens
1096
+ # (supported only for HTTP APIs).
994
1097
  # @return [String]
995
1098
  #
996
1099
  # @!attribute [rw] authorizer_uri
@@ -1029,6 +1132,13 @@ module Aws::ApiGatewayV2
1029
1132
  # A string with a length between \[1-128\].
1030
1133
  # @return [String]
1031
1134
  #
1135
+ # @!attribute [rw] authorizer_payload_format_version
1136
+ # A string with a length between \[1-64\].
1137
+ # @return [String]
1138
+ #
1139
+ # @!attribute [rw] enable_simple_responses
1140
+ # @return [Boolean]
1141
+ #
1032
1142
  class CreateAuthorizerResponse < Struct.new(
1033
1143
  :authorizer_credentials_arn,
1034
1144
  :authorizer_id,
@@ -1038,7 +1148,9 @@ module Aws::ApiGatewayV2
1038
1148
  :identity_source,
1039
1149
  :identity_validation_expression,
1040
1150
  :jwt_configuration,
1041
- :name)
1151
+ :name,
1152
+ :authorizer_payload_format_version,
1153
+ :enable_simple_responses)
1042
1154
  SENSITIVE = []
1043
1155
  include Aws::Structure
1044
1156
  end
@@ -1131,6 +1243,11 @@ module Aws::ApiGatewayV2
1131
1243
  # The domain name configurations.
1132
1244
  # @return [Array<Types::DomainNameConfiguration>]
1133
1245
  #
1246
+ # @!attribute [rw] mutual_tls_authentication
1247
+ # The mutual TLS authentication configuration for a custom domain
1248
+ # name.
1249
+ # @return [Types::MutualTlsAuthenticationInput]
1250
+ #
1134
1251
  # @!attribute [rw] tags
1135
1252
  # The collection of tags associated with a domain name.
1136
1253
  # @return [Hash<String,String>]
@@ -1138,6 +1255,7 @@ module Aws::ApiGatewayV2
1138
1255
  class CreateDomainNameInput < Struct.new(
1139
1256
  :domain_name,
1140
1257
  :domain_name_configurations,
1258
+ :mutual_tls_authentication,
1141
1259
  :tags)
1142
1260
  SENSITIVE = []
1143
1261
  include Aws::Structure
@@ -1161,6 +1279,10 @@ module Aws::ApiGatewayV2
1161
1279
  # security_policy: "TLS_1_0", # accepts TLS_1_0, TLS_1_2
1162
1280
  # },
1163
1281
  # ],
1282
+ # mutual_tls_authentication: {
1283
+ # truststore_uri: "UriWithLengthBetween1And2048",
1284
+ # truststore_version: "StringWithLengthBetween1And64",
1285
+ # },
1164
1286
  # tags: {
1165
1287
  # "__string" => "StringWithLengthBetween1And1600",
1166
1288
  # },
@@ -1174,6 +1296,12 @@ module Aws::ApiGatewayV2
1174
1296
  # The domain name configurations.
1175
1297
  # @return [Array<Types::DomainNameConfiguration>]
1176
1298
  #
1299
+ # @!attribute [rw] mutual_tls_authentication
1300
+ # If specified, API Gateway performs two-way authentication between
1301
+ # the client and the server. Clients must present a trusted
1302
+ # certificate to access your API.
1303
+ # @return [Types::MutualTlsAuthenticationInput]
1304
+ #
1177
1305
  # @!attribute [rw] tags
1178
1306
  # Represents a collection of tags associated with the resource.
1179
1307
  # @return [Hash<String,String>]
@@ -1181,6 +1309,7 @@ module Aws::ApiGatewayV2
1181
1309
  class CreateDomainNameRequest < Struct.new(
1182
1310
  :domain_name,
1183
1311
  :domain_name_configurations,
1312
+ :mutual_tls_authentication,
1184
1313
  :tags)
1185
1314
  SENSITIVE = []
1186
1315
  include Aws::Structure
@@ -1203,6 +1332,12 @@ module Aws::ApiGatewayV2
1203
1332
  # The domain name configurations.
1204
1333
  # @return [Array<Types::DomainNameConfiguration>]
1205
1334
  #
1335
+ # @!attribute [rw] mutual_tls_authentication
1336
+ # If specified, API Gateway performs two-way authentication between
1337
+ # the client and the server. Clients must present a trusted
1338
+ # certificate to access your API.
1339
+ # @return [Types::MutualTlsAuthentication]
1340
+ #
1206
1341
  # @!attribute [rw] tags
1207
1342
  # Represents a collection of tags associated with the resource.
1208
1343
  # @return [Hash<String,String>]
@@ -1211,6 +1346,7 @@ module Aws::ApiGatewayV2
1211
1346
  :api_mapping_selection_expression,
1212
1347
  :domain_name,
1213
1348
  :domain_name_configurations,
1349
+ :mutual_tls_authentication,
1214
1350
  :tags)
1215
1351
  SENSITIVE = []
1216
1352
  include Aws::Structure
@@ -1354,18 +1490,47 @@ module Aws::ApiGatewayV2
1354
1490
  # *\\\{location\\}* is querystring, path, or header; and *\\\{name\\}*
1355
1491
  # must be a valid and unique method request parameter name.
1356
1492
  #
1357
- # For HTTP APIs, request parameters are a key-value map specifying
1358
- # parameters that are passed to AWS\_PROXY integrations with a
1359
- # specified integrationSubtype. You can provide static values, or map
1360
- # request data, stage variables, or context variables that are
1361
- # evaluated at runtime. To learn more, see [Working with AWS service
1362
- # integrations for HTTP APIs][1].
1493
+ # For HTTP API integrations with a specified integrationSubtype,
1494
+ # request parameters are a key-value map specifying parameters that
1495
+ # are passed to AWS\_PROXY integrations. You can provide static
1496
+ # values, or map request data, stage variables, or context variables
1497
+ # that are evaluated at runtime. To learn more, see [Working with AWS
1498
+ # service integrations for HTTP APIs][1].
1499
+ #
1500
+ # For HTTP API integrations without a specified integrationSubtype
1501
+ # request parameters are a key-value map specifying how to transform
1502
+ # HTTP requests before sending them to the backend. The key should
1503
+ # follow the pattern
1504
+ # &lt;action&gt;\:&lt;header\|querystring\|path&gt;.&lt;location&gt;
1505
+ # where action can be append, overwrite or remove. For values, you can
1506
+ # provide static values, or map request data, stage variables, or
1507
+ # context variables that are evaluated at runtime. To learn more, see
1508
+ # [Transforming API requests and responses][2].
1363
1509
  #
1364
1510
  #
1365
1511
  #
1366
1512
  # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html
1513
+ # [2]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html
1367
1514
  # @return [Hash<String,String>]
1368
1515
  #
1516
+ # @!attribute [rw] response_parameters
1517
+ # Supported only for HTTP APIs. You use response parameters to
1518
+ # transform the HTTP response from a backend integration before
1519
+ # returning the response to clients. Specify a key-value map from a
1520
+ # selection key to response parameters. The selection key must be a
1521
+ # valid HTTP status code within the range of 200-599. Response
1522
+ # parameters are a key-value map. The key must match pattern
1523
+ # &lt;action&gt;\:&lt;header&gt;.&lt;location&gt; or
1524
+ # overwrite.statuscode. The action can be append, overwrite or remove.
1525
+ # The value can be a static value, or map to response data, stage
1526
+ # variables, or context variables that are evaluated at runtime. To
1527
+ # learn more, see [Transforming API requests and responses][1].
1528
+ #
1529
+ #
1530
+ #
1531
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html
1532
+ # @return [Hash<String,Hash<String,String>>]
1533
+ #
1369
1534
  # @!attribute [rw] request_templates
1370
1535
  # Represents a map of Velocity templates that are applied on the
1371
1536
  # request payload based on the value of the Content-Type header sent
@@ -1404,6 +1569,7 @@ module Aws::ApiGatewayV2
1404
1569
  :passthrough_behavior,
1405
1570
  :payload_format_version,
1406
1571
  :request_parameters,
1572
+ :response_parameters,
1407
1573
  :request_templates,
1408
1574
  :template_selection_expression,
1409
1575
  :timeout_in_millis,
@@ -1431,6 +1597,11 @@ module Aws::ApiGatewayV2
1431
1597
  # request_parameters: {
1432
1598
  # "__string" => "StringWithLengthBetween1And512",
1433
1599
  # },
1600
+ # response_parameters: {
1601
+ # "__string" => {
1602
+ # "__string" => "StringWithLengthBetween1And512",
1603
+ # },
1604
+ # },
1434
1605
  # request_templates: {
1435
1606
  # "__string" => "StringWithLengthBetween0And32K",
1436
1607
  # },
@@ -1491,20 +1662,45 @@ module Aws::ApiGatewayV2
1491
1662
  # @return [String]
1492
1663
  #
1493
1664
  # @!attribute [rw] request_parameters
1494
- # A key-value map specifying response parameters that are passed to
1495
- # the method response from the backend. The key is a method response
1496
- # header parameter name and the mapped value is an integration
1497
- # response header value, a static value enclosed within a pair of
1498
- # single quotes, or a JSON expression from the integration response
1499
- # body. The mapping key must match the pattern of
1500
- # method.response.header.\\\{name\\}, where name is a valid and unique
1501
- # header name. The mapped non-static value must match the pattern of
1502
- # integration.response.header.\\\{name\\} or
1503
- # integration.response.body.\\\{JSON-expression\\}, where name is a
1504
- # valid and unique response header name and JSON-expression is a valid
1505
- # JSON expression without the $ prefix.
1665
+ # For WebSocket APIs, a key-value map specifying request parameters
1666
+ # that are passed from the method request to the backend. The key is
1667
+ # an integration request parameter name and the associated value is a
1668
+ # method request parameter value or static value that must be enclosed
1669
+ # within single quotes and pre-encoded as required by the backend. The
1670
+ # method request parameter value must match the pattern of
1671
+ # method.request.*\\\{location\\}*.*\\\{name\\}* , where
1672
+ # *\\\{location\\}* is querystring, path, or header; and *\\\{name\\}*
1673
+ # must be a valid and unique method request parameter name.
1674
+ #
1675
+ # For HTTP API integrations with a specified integrationSubtype,
1676
+ # request parameters are a key-value map specifying parameters that
1677
+ # are passed to AWS\_PROXY integrations. You can provide static
1678
+ # values, or map request data, stage variables, or context variables
1679
+ # that are evaluated at runtime. To learn more, see [Working with AWS
1680
+ # service integrations for HTTP APIs][1].
1681
+ #
1682
+ # For HTTP API integrations without a specified integrationSubtype
1683
+ # request parameters are a key-value map specifying how to transform
1684
+ # HTTP requests before sending them to the backend. The key should
1685
+ # follow the pattern
1686
+ # &lt;action&gt;\:&lt;header\|querystring\|path&gt;.&lt;location&gt;
1687
+ # where action can be append, overwrite or remove. For values, you can
1688
+ # provide static values, or map request data, stage variables, or
1689
+ # context variables that are evaluated at runtime. To learn more, see
1690
+ # [Transforming API requests and responses][2].
1691
+ #
1692
+ #
1693
+ #
1694
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html
1695
+ # [2]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html
1506
1696
  # @return [Hash<String,String>]
1507
1697
  #
1698
+ # @!attribute [rw] response_parameters
1699
+ # Supported only for HTTP APIs. You use response parameters to
1700
+ # transform the HTTP response from a backend integration before
1701
+ # returning the response to clients.
1702
+ # @return [Hash<String,Hash<String,String>>]
1703
+ #
1508
1704
  # @!attribute [rw] request_templates
1509
1705
  # A mapping of identifier keys to templates. The value is an actual
1510
1706
  # template script. The key is typically a SelectionKey which is chosen
@@ -1544,6 +1740,7 @@ module Aws::ApiGatewayV2
1544
1740
  :passthrough_behavior,
1545
1741
  :payload_format_version,
1546
1742
  :request_parameters,
1743
+ :response_parameters,
1547
1744
  :request_templates,
1548
1745
  :template_selection_expression,
1549
1746
  :timeout_in_millis,
@@ -1615,20 +1812,45 @@ module Aws::ApiGatewayV2
1615
1812
  # @return [String]
1616
1813
  #
1617
1814
  # @!attribute [rw] request_parameters
1618
- # A key-value map specifying response parameters that are passed to
1619
- # the method response from the backend. The key is a method response
1620
- # header parameter name and the mapped value is an integration
1621
- # response header value, a static value enclosed within a pair of
1622
- # single quotes, or a JSON expression from the integration response
1623
- # body. The mapping key must match the pattern of
1624
- # method.response.header.\\\{name\\}, where name is a valid and unique
1625
- # header name. The mapped non-static value must match the pattern of
1626
- # integration.response.header.\\\{name\\} or
1627
- # integration.response.body.\\\{JSON-expression\\}, where name is a
1628
- # valid and unique response header name and JSON-expression is a valid
1629
- # JSON expression without the $ prefix.
1815
+ # For WebSocket APIs, a key-value map specifying request parameters
1816
+ # that are passed from the method request to the backend. The key is
1817
+ # an integration request parameter name and the associated value is a
1818
+ # method request parameter value or static value that must be enclosed
1819
+ # within single quotes and pre-encoded as required by the backend. The
1820
+ # method request parameter value must match the pattern of
1821
+ # method.request.*\\\{location\\}*.*\\\{name\\}* , where
1822
+ # *\\\{location\\}* is querystring, path, or header; and *\\\{name\\}*
1823
+ # must be a valid and unique method request parameter name.
1824
+ #
1825
+ # For HTTP API integrations with a specified integrationSubtype,
1826
+ # request parameters are a key-value map specifying parameters that
1827
+ # are passed to AWS\_PROXY integrations. You can provide static
1828
+ # values, or map request data, stage variables, or context variables
1829
+ # that are evaluated at runtime. To learn more, see [Working with AWS
1830
+ # service integrations for HTTP APIs][1].
1831
+ #
1832
+ # For HTTP API integrations without a specified integrationSubtype
1833
+ # request parameters are a key-value map specifying how to transform
1834
+ # HTTP requests before sending them to the backend. The key should
1835
+ # follow the pattern
1836
+ # &lt;action&gt;\:&lt;header\|querystring\|path&gt;.&lt;location&gt;
1837
+ # where action can be append, overwrite or remove. For values, you can
1838
+ # provide static values, or map request data, stage variables, or
1839
+ # context variables that are evaluated at runtime. To learn more, see
1840
+ # [Transforming API requests and responses][2].
1841
+ #
1842
+ #
1843
+ #
1844
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html
1845
+ # [2]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html
1630
1846
  # @return [Hash<String,String>]
1631
1847
  #
1848
+ # @!attribute [rw] response_parameters
1849
+ # Supported only for HTTP APIs. You use response parameters to
1850
+ # transform the HTTP response from a backend integration before
1851
+ # returning the response to clients.
1852
+ # @return [Hash<String,Hash<String,String>>]
1853
+ #
1632
1854
  # @!attribute [rw] request_templates
1633
1855
  # A mapping of identifier keys to templates. The value is an actual
1634
1856
  # template script. The key is typically a SelectionKey which is chosen
@@ -1670,6 +1892,7 @@ module Aws::ApiGatewayV2
1670
1892
  :passthrough_behavior,
1671
1893
  :payload_format_version,
1672
1894
  :request_parameters,
1895
+ :response_parameters,
1673
1896
  :request_templates,
1674
1897
  :template_selection_expression,
1675
1898
  :timeout_in_millis,
@@ -1779,18 +2002,37 @@ module Aws::ApiGatewayV2
1779
2002
  # @return [String]
1780
2003
  #
1781
2004
  # @!attribute [rw] response_parameters
1782
- # A key-value map specifying response parameters that are passed to
1783
- # the method response from the backend. The key is a method response
1784
- # header parameter name and the mapped value is an integration
1785
- # response header value, a static value enclosed within a pair of
1786
- # single quotes, or a JSON expression from the integration response
1787
- # body. The mapping key must match the pattern of
1788
- # method.response.header.\\\{name\\}, where name is a valid and unique
1789
- # header name. The mapped non-static value must match the pattern of
1790
- # integration.response.header.\\\{name\\} or
1791
- # integration.response.body.\\\{JSON-expression\\}, where name is a
1792
- # valid and unique response header name and JSON-expression is a valid
1793
- # JSON expression without the $ prefix.
2005
+ # For WebSocket APIs, a key-value map specifying request parameters
2006
+ # that are passed from the method request to the backend. The key is
2007
+ # an integration request parameter name and the associated value is a
2008
+ # method request parameter value or static value that must be enclosed
2009
+ # within single quotes and pre-encoded as required by the backend. The
2010
+ # method request parameter value must match the pattern of
2011
+ # method.request.*\\\{location\\}*.*\\\{name\\}* , where
2012
+ # *\\\{location\\}* is querystring, path, or header; and *\\\{name\\}*
2013
+ # must be a valid and unique method request parameter name.
2014
+ #
2015
+ # For HTTP API integrations with a specified integrationSubtype,
2016
+ # request parameters are a key-value map specifying parameters that
2017
+ # are passed to AWS\_PROXY integrations. You can provide static
2018
+ # values, or map request data, stage variables, or context variables
2019
+ # that are evaluated at runtime. To learn more, see [Working with AWS
2020
+ # service integrations for HTTP APIs][1].
2021
+ #
2022
+ # For HTTP API integrations without a specified integrationSubtype
2023
+ # request parameters are a key-value map specifying how to transform
2024
+ # HTTP requests before sending them to the backend. The key should
2025
+ # follow the pattern
2026
+ # &lt;action&gt;\:&lt;header\|querystring\|path&gt;.&lt;location&gt;
2027
+ # where action can be append, overwrite or remove. For values, you can
2028
+ # provide static values, or map request data, stage variables, or
2029
+ # context variables that are evaluated at runtime. To learn more, see
2030
+ # [Transforming API requests and responses][2].
2031
+ #
2032
+ #
2033
+ #
2034
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html
2035
+ # [2]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html
1794
2036
  # @return [Hash<String,String>]
1795
2037
  #
1796
2038
  # @!attribute [rw] response_templates
@@ -1841,18 +2083,37 @@ module Aws::ApiGatewayV2
1841
2083
  # @return [String]
1842
2084
  #
1843
2085
  # @!attribute [rw] response_parameters
1844
- # A key-value map specifying response parameters that are passed to
1845
- # the method response from the backend. The key is a method response
1846
- # header parameter name and the mapped value is an integration
1847
- # response header value, a static value enclosed within a pair of
1848
- # single quotes, or a JSON expression from the integration response
1849
- # body. The mapping key must match the pattern of
1850
- # method.response.header.\\\{name\\}, where name is a valid and unique
1851
- # header name. The mapped non-static value must match the pattern of
1852
- # integration.response.header.\\\{name\\} or
1853
- # integration.response.body.\\\{JSON-expression\\}, where name is a
1854
- # valid and unique response header name and JSON-expression is a valid
1855
- # JSON expression without the $ prefix.
2086
+ # For WebSocket APIs, a key-value map specifying request parameters
2087
+ # that are passed from the method request to the backend. The key is
2088
+ # an integration request parameter name and the associated value is a
2089
+ # method request parameter value or static value that must be enclosed
2090
+ # within single quotes and pre-encoded as required by the backend. The
2091
+ # method request parameter value must match the pattern of
2092
+ # method.request.*\\\{location\\}*.*\\\{name\\}* , where
2093
+ # *\\\{location\\}* is querystring, path, or header; and *\\\{name\\}*
2094
+ # must be a valid and unique method request parameter name.
2095
+ #
2096
+ # For HTTP API integrations with a specified integrationSubtype,
2097
+ # request parameters are a key-value map specifying parameters that
2098
+ # are passed to AWS\_PROXY integrations. You can provide static
2099
+ # values, or map request data, stage variables, or context variables
2100
+ # that are evaluated at runtime. To learn more, see [Working with AWS
2101
+ # service integrations for HTTP APIs][1].
2102
+ #
2103
+ # For HTTP API integrations without a specified integrationSubtype
2104
+ # request parameters are a key-value map specifying how to transform
2105
+ # HTTP requests before sending them to the backend. The key should
2106
+ # follow the pattern
2107
+ # &lt;action&gt;\:&lt;header\|querystring\|path&gt;.&lt;location&gt;
2108
+ # where action can be append, overwrite or remove. For values, you can
2109
+ # provide static values, or map request data, stage variables, or
2110
+ # context variables that are evaluated at runtime. To learn more, see
2111
+ # [Transforming API requests and responses][2].
2112
+ #
2113
+ #
2114
+ #
2115
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html
2116
+ # [2]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html
1856
2117
  # @return [Hash<String,String>]
1857
2118
  #
1858
2119
  # @!attribute [rw] response_templates
@@ -1994,8 +2255,9 @@ module Aws::ApiGatewayV2
1994
2255
  # The authorization type for the route. For WebSocket APIs, valid
1995
2256
  # values are NONE for open access, AWS\_IAM for using AWS IAM
1996
2257
  # permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs,
1997
- # valid values are NONE for open access, or JWT for using JSON Web
1998
- # Tokens.
2258
+ # valid values are NONE for open access, JWT for using JSON Web
2259
+ # Tokens, AWS\_IAM for using AWS IAM permissions, and CUSTOM for using
2260
+ # a Lambda authorizer.
1999
2261
  # @return [String]
2000
2262
  #
2001
2263
  # @!attribute [rw] authorizer_id
@@ -2097,7 +2359,8 @@ module Aws::ApiGatewayV2
2097
2359
  # The authorization type. For WebSocket APIs, valid values are NONE
2098
2360
  # for open access, AWS\_IAM for using AWS IAM permissions, and CUSTOM
2099
2361
  # for using a Lambda authorizer. For HTTP APIs, valid values are NONE
2100
- # for open access, or JWT for using JSON Web Tokens.
2362
+ # for open access, JWT for using JSON Web Tokens, AWS\_IAM for using
2363
+ # AWS IAM permissions, and CUSTOM for using a Lambda authorizer.
2101
2364
  # @return [String]
2102
2365
  #
2103
2366
  # @!attribute [rw] authorizer_id
@@ -2188,7 +2451,8 @@ module Aws::ApiGatewayV2
2188
2451
  # The authorization type. For WebSocket APIs, valid values are NONE
2189
2452
  # for open access, AWS\_IAM for using AWS IAM permissions, and CUSTOM
2190
2453
  # for using a Lambda authorizer. For HTTP APIs, valid values are NONE
2191
- # for open access, or JWT for using JSON Web Tokens.
2454
+ # for open access, JWT for using JSON Web Tokens, AWS\_IAM for using
2455
+ # AWS IAM permissions, and CUSTOM for using a Lambda authorizer.
2192
2456
  # @return [String]
2193
2457
  #
2194
2458
  # @!attribute [rw] authorizer_id
@@ -3148,6 +3412,11 @@ module Aws::ApiGatewayV2
3148
3412
  # The domain name configurations.
3149
3413
  # @return [Array<Types::DomainNameConfiguration>]
3150
3414
  #
3415
+ # @!attribute [rw] mutual_tls_authentication
3416
+ # The mutual TLS authentication configuration for a custom domain
3417
+ # name.
3418
+ # @return [Types::MutualTlsAuthentication]
3419
+ #
3151
3420
  # @!attribute [rw] tags
3152
3421
  # The collection of tags associated with a domain name.
3153
3422
  # @return [Hash<String,String>]
@@ -3156,6 +3425,7 @@ module Aws::ApiGatewayV2
3156
3425
  :api_mapping_selection_expression,
3157
3426
  :domain_name,
3158
3427
  :domain_name_configurations,
3428
+ :mutual_tls_authentication,
3159
3429
  :tags)
3160
3430
  SENSITIVE = []
3161
3431
  include Aws::Structure
@@ -3308,6 +3578,27 @@ module Aws::ApiGatewayV2
3308
3578
  include Aws::Structure
3309
3579
  end
3310
3580
 
3581
+ # @note When making an API call, you may pass ResetAuthorizersCacheRequest
3582
+ # data as a hash:
3583
+ #
3584
+ # {
3585
+ # api_id: "__string", # required
3586
+ # stage_name: "__string", # required
3587
+ # }
3588
+ #
3589
+ # @!attribute [rw] api_id
3590
+ # @return [String]
3591
+ #
3592
+ # @!attribute [rw] stage_name
3593
+ # @return [String]
3594
+ #
3595
+ class ResetAuthorizersCacheRequest < Struct.new(
3596
+ :api_id,
3597
+ :stage_name)
3598
+ SENSITIVE = []
3599
+ include Aws::Structure
3600
+ end
3601
+
3311
3602
  # @note When making an API call, you may pass GetApiMappingRequest
3312
3603
  # data as a hash:
3313
3604
  #
@@ -3456,6 +3747,9 @@ module Aws::ApiGatewayV2
3456
3747
  # @!attribute [rw] disable_schema_validation
3457
3748
  # @return [Boolean]
3458
3749
  #
3750
+ # @!attribute [rw] disable_execute_api_endpoint
3751
+ # @return [Boolean]
3752
+ #
3459
3753
  # @!attribute [rw] import_info
3460
3754
  # @return [Array<String>]
3461
3755
  #
@@ -3496,6 +3790,7 @@ module Aws::ApiGatewayV2
3496
3790
  :created_date,
3497
3791
  :description,
3498
3792
  :disable_schema_validation,
3793
+ :disable_execute_api_endpoint,
3499
3794
  :import_info,
3500
3795
  :name,
3501
3796
  :protocol_type,
@@ -3577,9 +3872,9 @@ module Aws::ApiGatewayV2
3577
3872
  # @return [Integer]
3578
3873
  #
3579
3874
  # @!attribute [rw] authorizer_type
3580
- # The authorizer type. For WebSocket APIs, specify REQUEST for a
3581
- # Lambda function using incoming request parameters. For HTTP APIs,
3582
- # specify JWT to use JSON Web Tokens.
3875
+ # The authorizer type. Specify REQUEST for a Lambda function using
3876
+ # incoming request parameters. Specify JWT to use JSON Web Tokens
3877
+ # (supported only for HTTP APIs).
3583
3878
  # @return [String]
3584
3879
  #
3585
3880
  # @!attribute [rw] authorizer_uri
@@ -3618,6 +3913,13 @@ module Aws::ApiGatewayV2
3618
3913
  # A string with a length between \[1-128\].
3619
3914
  # @return [String]
3620
3915
  #
3916
+ # @!attribute [rw] authorizer_payload_format_version
3917
+ # A string with a length between \[1-64\].
3918
+ # @return [String]
3919
+ #
3920
+ # @!attribute [rw] enable_simple_responses
3921
+ # @return [Boolean]
3922
+ #
3621
3923
  class GetAuthorizerResponse < Struct.new(
3622
3924
  :authorizer_credentials_arn,
3623
3925
  :authorizer_id,
@@ -3627,7 +3929,9 @@ module Aws::ApiGatewayV2
3627
3929
  :identity_source,
3628
3930
  :identity_validation_expression,
3629
3931
  :jwt_configuration,
3630
- :name)
3932
+ :name,
3933
+ :authorizer_payload_format_version,
3934
+ :enable_simple_responses)
3631
3935
  SENSITIVE = []
3632
3936
  include Aws::Structure
3633
3937
  end
@@ -3800,6 +4104,12 @@ module Aws::ApiGatewayV2
3800
4104
  # The domain name configurations.
3801
4105
  # @return [Array<Types::DomainNameConfiguration>]
3802
4106
  #
4107
+ # @!attribute [rw] mutual_tls_authentication
4108
+ # If specified, API Gateway performs two-way authentication between
4109
+ # the client and the server. Clients must present a trusted
4110
+ # certificate to access your API.
4111
+ # @return [Types::MutualTlsAuthentication]
4112
+ #
3803
4113
  # @!attribute [rw] tags
3804
4114
  # Represents a collection of tags associated with the resource.
3805
4115
  # @return [Hash<String,String>]
@@ -3808,6 +4118,7 @@ module Aws::ApiGatewayV2
3808
4118
  :api_mapping_selection_expression,
3809
4119
  :domain_name,
3810
4120
  :domain_name_configurations,
4121
+ :mutual_tls_authentication,
3811
4122
  :tags)
3812
4123
  SENSITIVE = []
3813
4124
  include Aws::Structure
@@ -3933,20 +4244,45 @@ module Aws::ApiGatewayV2
3933
4244
  # @return [String]
3934
4245
  #
3935
4246
  # @!attribute [rw] request_parameters
3936
- # A key-value map specifying response parameters that are passed to
3937
- # the method response from the backend. The key is a method response
3938
- # header parameter name and the mapped value is an integration
3939
- # response header value, a static value enclosed within a pair of
3940
- # single quotes, or a JSON expression from the integration response
3941
- # body. The mapping key must match the pattern of
3942
- # method.response.header.\\\{name\\}, where name is a valid and unique
3943
- # header name. The mapped non-static value must match the pattern of
3944
- # integration.response.header.\\\{name\\} or
3945
- # integration.response.body.\\\{JSON-expression\\}, where name is a
3946
- # valid and unique response header name and JSON-expression is a valid
3947
- # JSON expression without the $ prefix.
4247
+ # For WebSocket APIs, a key-value map specifying request parameters
4248
+ # that are passed from the method request to the backend. The key is
4249
+ # an integration request parameter name and the associated value is a
4250
+ # method request parameter value or static value that must be enclosed
4251
+ # within single quotes and pre-encoded as required by the backend. The
4252
+ # method request parameter value must match the pattern of
4253
+ # method.request.*\\\{location\\}*.*\\\{name\\}* , where
4254
+ # *\\\{location\\}* is querystring, path, or header; and *\\\{name\\}*
4255
+ # must be a valid and unique method request parameter name.
4256
+ #
4257
+ # For HTTP API integrations with a specified integrationSubtype,
4258
+ # request parameters are a key-value map specifying parameters that
4259
+ # are passed to AWS\_PROXY integrations. You can provide static
4260
+ # values, or map request data, stage variables, or context variables
4261
+ # that are evaluated at runtime. To learn more, see [Working with AWS
4262
+ # service integrations for HTTP APIs][1].
4263
+ #
4264
+ # For HTTP API integrations without a specified integrationSubtype
4265
+ # request parameters are a key-value map specifying how to transform
4266
+ # HTTP requests before sending them to the backend. The key should
4267
+ # follow the pattern
4268
+ # &lt;action&gt;\:&lt;header\|querystring\|path&gt;.&lt;location&gt;
4269
+ # where action can be append, overwrite or remove. For values, you can
4270
+ # provide static values, or map request data, stage variables, or
4271
+ # context variables that are evaluated at runtime. To learn more, see
4272
+ # [Transforming API requests and responses][2].
4273
+ #
4274
+ #
4275
+ #
4276
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html
4277
+ # [2]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html
3948
4278
  # @return [Hash<String,String>]
3949
4279
  #
4280
+ # @!attribute [rw] response_parameters
4281
+ # Supported only for HTTP APIs. You use response parameters to
4282
+ # transform the HTTP response from a backend integration before
4283
+ # returning the response to clients.
4284
+ # @return [Hash<String,Hash<String,String>>]
4285
+ #
3950
4286
  # @!attribute [rw] request_templates
3951
4287
  # A mapping of identifier keys to templates. The value is an actual
3952
4288
  # template script. The key is typically a SelectionKey which is chosen
@@ -3988,6 +4324,7 @@ module Aws::ApiGatewayV2
3988
4324
  :passthrough_behavior,
3989
4325
  :payload_format_version,
3990
4326
  :request_parameters,
4327
+ :response_parameters,
3991
4328
  :request_templates,
3992
4329
  :template_selection_expression,
3993
4330
  :timeout_in_millis,
@@ -4043,18 +4380,37 @@ module Aws::ApiGatewayV2
4043
4380
  # @return [String]
4044
4381
  #
4045
4382
  # @!attribute [rw] response_parameters
4046
- # A key-value map specifying response parameters that are passed to
4047
- # the method response from the backend. The key is a method response
4048
- # header parameter name and the mapped value is an integration
4049
- # response header value, a static value enclosed within a pair of
4050
- # single quotes, or a JSON expression from the integration response
4051
- # body. The mapping key must match the pattern of
4052
- # method.response.header.\\\{name\\}, where name is a valid and unique
4053
- # header name. The mapped non-static value must match the pattern of
4054
- # integration.response.header.\\\{name\\} or
4055
- # integration.response.body.\\\{JSON-expression\\}, where name is a
4056
- # valid and unique response header name and JSON-expression is a valid
4057
- # JSON expression without the $ prefix.
4383
+ # For WebSocket APIs, a key-value map specifying request parameters
4384
+ # that are passed from the method request to the backend. The key is
4385
+ # an integration request parameter name and the associated value is a
4386
+ # method request parameter value or static value that must be enclosed
4387
+ # within single quotes and pre-encoded as required by the backend. The
4388
+ # method request parameter value must match the pattern of
4389
+ # method.request.*\\\{location\\}*.*\\\{name\\}* , where
4390
+ # *\\\{location\\}* is querystring, path, or header; and *\\\{name\\}*
4391
+ # must be a valid and unique method request parameter name.
4392
+ #
4393
+ # For HTTP API integrations with a specified integrationSubtype,
4394
+ # request parameters are a key-value map specifying parameters that
4395
+ # are passed to AWS\_PROXY integrations. You can provide static
4396
+ # values, or map request data, stage variables, or context variables
4397
+ # that are evaluated at runtime. To learn more, see [Working with AWS
4398
+ # service integrations for HTTP APIs][1].
4399
+ #
4400
+ # For HTTP API integrations without a specified integrationSubtype
4401
+ # request parameters are a key-value map specifying how to transform
4402
+ # HTTP requests before sending them to the backend. The key should
4403
+ # follow the pattern
4404
+ # &lt;action&gt;\:&lt;header\|querystring\|path&gt;.&lt;location&gt;
4405
+ # where action can be append, overwrite or remove. For values, you can
4406
+ # provide static values, or map request data, stage variables, or
4407
+ # context variables that are evaluated at runtime. To learn more, see
4408
+ # [Transforming API requests and responses][2].
4409
+ #
4410
+ #
4411
+ #
4412
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html
4413
+ # [2]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html
4058
4414
  # @return [Hash<String,String>]
4059
4415
  #
4060
4416
  # @!attribute [rw] response_templates
@@ -4335,7 +4691,8 @@ module Aws::ApiGatewayV2
4335
4691
  # The authorization type. For WebSocket APIs, valid values are NONE
4336
4692
  # for open access, AWS\_IAM for using AWS IAM permissions, and CUSTOM
4337
4693
  # for using a Lambda authorizer. For HTTP APIs, valid values are NONE
4338
- # for open access, or JWT for using JSON Web Tokens.
4694
+ # for open access, JWT for using JSON Web Tokens, AWS\_IAM for using
4695
+ # AWS IAM permissions, and CUSTOM for using a Lambda authorizer.
4339
4696
  # @return [String]
4340
4697
  #
4341
4698
  # @!attribute [rw] authorizer_id
@@ -4899,6 +5256,9 @@ module Aws::ApiGatewayV2
4899
5256
  # @!attribute [rw] disable_schema_validation
4900
5257
  # @return [Boolean]
4901
5258
  #
5259
+ # @!attribute [rw] disable_execute_api_endpoint
5260
+ # @return [Boolean]
5261
+ #
4902
5262
  # @!attribute [rw] import_info
4903
5263
  # @return [Array<String>]
4904
5264
  #
@@ -4939,6 +5299,7 @@ module Aws::ApiGatewayV2
4939
5299
  :created_date,
4940
5300
  :description,
4941
5301
  :disable_schema_validation,
5302
+ :disable_execute_api_endpoint,
4942
5303
  :import_info,
4943
5304
  :name,
4944
5305
  :protocol_type,
@@ -5108,18 +5469,47 @@ module Aws::ApiGatewayV2
5108
5469
  # *\\\{location\\}* is querystring, path, or header; and *\\\{name\\}*
5109
5470
  # must be a valid and unique method request parameter name.
5110
5471
  #
5111
- # For HTTP APIs, request parameters are a key-value map specifying
5112
- # parameters that are passed to AWS\_PROXY integrations with a
5113
- # specified integrationSubtype. You can provide static values, or map
5114
- # request data, stage variables, or context variables that are
5115
- # evaluated at runtime. To learn more, see [Working with AWS service
5116
- # integrations for HTTP APIs][1].
5472
+ # For HTTP API integrations with a specified integrationSubtype,
5473
+ # request parameters are a key-value map specifying parameters that
5474
+ # are passed to AWS\_PROXY integrations. You can provide static
5475
+ # values, or map request data, stage variables, or context variables
5476
+ # that are evaluated at runtime. To learn more, see [Working with AWS
5477
+ # service integrations for HTTP APIs][1].
5478
+ #
5479
+ # For HTTP API itegrations, without a specified integrationSubtype
5480
+ # request parameters are a key-value map specifying how to transform
5481
+ # HTTP requests before sending them to backend integrations. The key
5482
+ # should follow the pattern
5483
+ # &lt;action&gt;\:&lt;header\|querystring\|path&gt;.&lt;location&gt;.
5484
+ # The action can be append, overwrite or remove. For values, you can
5485
+ # provide static values, or map request data, stage variables, or
5486
+ # context variables that are evaluated at runtime. To learn more, see
5487
+ # [Transforming API requests and responses][2].
5117
5488
  #
5118
5489
  #
5119
5490
  #
5120
5491
  # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html
5492
+ # [2]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html
5121
5493
  # @return [Hash<String,String>]
5122
5494
  #
5495
+ # @!attribute [rw] response_parameters
5496
+ # Supported only for HTTP APIs. You use response parameters to
5497
+ # transform the HTTP response from a backend integration before
5498
+ # returning the response to clients. Specify a key-value map from a
5499
+ # selection key to response parameters. The selection key must be a
5500
+ # valid HTTP status code within the range of 200-599. Response
5501
+ # parameters are a key-value map. The key must match pattern
5502
+ # &lt;action&gt;\:&lt;header&gt;.&lt;location&gt; or
5503
+ # overwrite.statuscode. The action can be append, overwrite or remove.
5504
+ # The value can be a static value, or map to response data, stage
5505
+ # variables, or context variables that are evaluated at runtime. To
5506
+ # learn more, see [Transforming API requests and responses][1].
5507
+ #
5508
+ #
5509
+ #
5510
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html
5511
+ # @return [Hash<String,Hash<String,String>>]
5512
+ #
5123
5513
  # @!attribute [rw] request_templates
5124
5514
  # Represents a map of Velocity templates that are applied on the
5125
5515
  # request payload based on the value of the Content-Type header sent
@@ -5162,6 +5552,7 @@ module Aws::ApiGatewayV2
5162
5552
  :passthrough_behavior,
5163
5553
  :payload_format_version,
5164
5554
  :request_parameters,
5555
+ :response_parameters,
5165
5556
  :request_templates,
5166
5557
  :template_selection_expression,
5167
5558
  :timeout_in_millis,
@@ -5387,6 +5778,77 @@ module Aws::ApiGatewayV2
5387
5778
  include Aws::Structure
5388
5779
  end
5389
5780
 
5781
+ # If specified, API Gateway performs two-way authentication between the
5782
+ # client and the server. Clients must present a trusted certificate to
5783
+ # access your API.
5784
+ #
5785
+ # @!attribute [rw] truststore_uri
5786
+ # An Amazon S3 URL that specifies the truststore for mutual TLS
5787
+ # authentication, for example, s3://*bucket-name*/*key-name* . The
5788
+ # truststore can contain certificates from public or private
5789
+ # certificate authorities. To update the truststore, upload a new
5790
+ # version to S3, and then update your custom domain name to use the
5791
+ # new version. To update the truststore, you must have permissions to
5792
+ # access the S3 object.
5793
+ # @return [String]
5794
+ #
5795
+ # @!attribute [rw] truststore_version
5796
+ # The version of the S3 object that contains your truststore. To
5797
+ # specify a version, you must have versioning enabled for the S3
5798
+ # bucket.
5799
+ # @return [String]
5800
+ #
5801
+ # @!attribute [rw] truststore_warnings
5802
+ # A list of warnings that API Gateway returns while processing your
5803
+ # truststore. Invalid certificates produce warnings. Mutual TLS is
5804
+ # still enabled, but some clients might not be able to access your
5805
+ # API. To resolve warnings, upload a new truststore to S3, and then
5806
+ # update you domain name to use the new version.
5807
+ # @return [Array<String>]
5808
+ #
5809
+ class MutualTlsAuthentication < Struct.new(
5810
+ :truststore_uri,
5811
+ :truststore_version,
5812
+ :truststore_warnings)
5813
+ SENSITIVE = []
5814
+ include Aws::Structure
5815
+ end
5816
+
5817
+ # If specified, API Gateway performs two-way authentication between the
5818
+ # client and the server. Clients must present a trusted certificate to
5819
+ # access your API.
5820
+ #
5821
+ # @note When making an API call, you may pass MutualTlsAuthenticationInput
5822
+ # data as a hash:
5823
+ #
5824
+ # {
5825
+ # truststore_uri: "UriWithLengthBetween1And2048",
5826
+ # truststore_version: "StringWithLengthBetween1And64",
5827
+ # }
5828
+ #
5829
+ # @!attribute [rw] truststore_uri
5830
+ # An Amazon S3 URL that specifies the truststore for mutual TLS
5831
+ # authentication, for example, s3://*bucket-name*/*key-name* . The
5832
+ # truststore can contain certificates from public or private
5833
+ # certificate authorities. To update the truststore, upload a new
5834
+ # version to S3, and then update your custom domain name to use the
5835
+ # new version. To update the truststore, you must have permissions to
5836
+ # access the S3 object.
5837
+ # @return [String]
5838
+ #
5839
+ # @!attribute [rw] truststore_version
5840
+ # The version of the S3 object that contains your truststore. To
5841
+ # specify a version, you must have versioning enabled for the S3
5842
+ # bucket.
5843
+ # @return [String]
5844
+ #
5845
+ class MutualTlsAuthenticationInput < Struct.new(
5846
+ :truststore_uri,
5847
+ :truststore_version)
5848
+ SENSITIVE = []
5849
+ include Aws::Structure
5850
+ end
5851
+
5390
5852
  # The resource specified in the request was not found. See the message
5391
5853
  # field for more information.
5392
5854
  #
@@ -5507,6 +5969,9 @@ module Aws::ApiGatewayV2
5507
5969
  # @!attribute [rw] disable_schema_validation
5508
5970
  # @return [Boolean]
5509
5971
  #
5972
+ # @!attribute [rw] disable_execute_api_endpoint
5973
+ # @return [Boolean]
5974
+ #
5510
5975
  # @!attribute [rw] import_info
5511
5976
  # @return [Array<String>]
5512
5977
  #
@@ -5547,6 +6012,7 @@ module Aws::ApiGatewayV2
5547
6012
  :created_date,
5548
6013
  :description,
5549
6014
  :disable_schema_validation,
6015
+ :disable_execute_api_endpoint,
5550
6016
  :import_info,
5551
6017
  :name,
5552
6018
  :protocol_type,
@@ -5587,8 +6053,9 @@ module Aws::ApiGatewayV2
5587
6053
  # The authorization type for the route. For WebSocket APIs, valid
5588
6054
  # values are NONE for open access, AWS\_IAM for using AWS IAM
5589
6055
  # permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs,
5590
- # valid values are NONE for open access, or JWT for using JSON Web
5591
- # Tokens.
6056
+ # valid values are NONE for open access, JWT for using JSON Web
6057
+ # Tokens, AWS\_IAM for using AWS IAM permissions, and CUSTOM for using
6058
+ # a Lambda authorizer.
5592
6059
  # @return [String]
5593
6060
  #
5594
6061
  # @!attribute [rw] authorizer_id
@@ -6037,6 +6504,9 @@ module Aws::ApiGatewayV2
6037
6504
  # for WebSocket APIs.
6038
6505
  # @return [Boolean]
6039
6506
  #
6507
+ # @!attribute [rw] disable_execute_api_endpoint
6508
+ # @return [Boolean]
6509
+ #
6040
6510
  # @!attribute [rw] name
6041
6511
  # The name of the API.
6042
6512
  # @return [String]
@@ -6074,6 +6544,7 @@ module Aws::ApiGatewayV2
6074
6544
  :credentials_arn,
6075
6545
  :description,
6076
6546
  :disable_schema_validation,
6547
+ :disable_execute_api_endpoint,
6077
6548
  :name,
6078
6549
  :route_key,
6079
6550
  :route_selection_expression,
@@ -6200,6 +6671,7 @@ module Aws::ApiGatewayV2
6200
6671
  # credentials_arn: "Arn",
6201
6672
  # description: "StringWithLengthBetween0And1024",
6202
6673
  # disable_schema_validation: false,
6674
+ # disable_execute_api_endpoint: false,
6203
6675
  # name: "StringWithLengthBetween1And128",
6204
6676
  # route_key: "SelectionKey",
6205
6677
  # route_selection_expression: "SelectionExpression",
@@ -6239,6 +6711,9 @@ module Aws::ApiGatewayV2
6239
6711
  # @!attribute [rw] disable_schema_validation
6240
6712
  # @return [Boolean]
6241
6713
  #
6714
+ # @!attribute [rw] disable_execute_api_endpoint
6715
+ # @return [Boolean]
6716
+ #
6242
6717
  # @!attribute [rw] name
6243
6718
  # A string with a length between \[1-128\].
6244
6719
  # @return [String]
@@ -6278,6 +6753,7 @@ module Aws::ApiGatewayV2
6278
6753
  :credentials_arn,
6279
6754
  :description,
6280
6755
  :disable_schema_validation,
6756
+ :disable_execute_api_endpoint,
6281
6757
  :name,
6282
6758
  :route_key,
6283
6759
  :route_selection_expression,
@@ -6325,6 +6801,9 @@ module Aws::ApiGatewayV2
6325
6801
  # @!attribute [rw] disable_schema_validation
6326
6802
  # @return [Boolean]
6327
6803
  #
6804
+ # @!attribute [rw] disable_execute_api_endpoint
6805
+ # @return [Boolean]
6806
+ #
6328
6807
  # @!attribute [rw] import_info
6329
6808
  # @return [Array<String>]
6330
6809
  #
@@ -6365,6 +6844,7 @@ module Aws::ApiGatewayV2
6365
6844
  :created_date,
6366
6845
  :description,
6367
6846
  :disable_schema_validation,
6847
+ :disable_execute_api_endpoint,
6368
6848
  :import_info,
6369
6849
  :name,
6370
6850
  :protocol_type,
@@ -6386,14 +6866,16 @@ module Aws::ApiGatewayV2
6386
6866
  # @return [String]
6387
6867
  #
6388
6868
  # @!attribute [rw] authorizer_result_ttl_in_seconds
6389
- # Authorizer caching is not currently supported. Don't specify this
6390
- # value for authorizers.
6869
+ # The time to live (TTL) for cached authorizer results, in seconds. If
6870
+ # it equals 0, authorization caching is disabled. If it is greater
6871
+ # than 0, API Gateway caches authorizer responses. The maximum value
6872
+ # is 3600, or 1 hour. Supported only for HTTP API Lambda authorizers.
6391
6873
  # @return [Integer]
6392
6874
  #
6393
6875
  # @!attribute [rw] authorizer_type
6394
- # The authorizer type. For WebSocket APIs, specify REQUEST for a
6395
- # Lambda function using incoming request parameters. For HTTP APIs,
6396
- # specify JWT to use JSON Web Tokens.
6876
+ # The authorizer type. Specify REQUEST for a Lambda function using
6877
+ # incoming request parameters. Specify JWT to use JSON Web Tokens
6878
+ # (supported only for HTTP APIs).
6397
6879
  # @return [String]
6398
6880
  #
6399
6881
  # @!attribute [rw] authorizer_uri
@@ -6418,22 +6900,30 @@ module Aws::ApiGatewayV2
6418
6900
  #
6419
6901
  # For a REQUEST authorizer, this is optional. The value is a set of
6420
6902
  # one or more mapping expressions of the specified request parameters.
6421
- # Currently, the identity source can be headers, query string
6422
- # parameters, stage variables, and context parameters. For example, if
6423
- # an Auth header and a Name query string parameter are defined as
6424
- # identity sources, this value is route.request.header.Auth,
6425
- # route.request.querystring.Name. These parameters will be used to
6426
- # perform runtime validation for Lambda-based authorizers by verifying
6427
- # all of the identity-related request parameters are present in the
6428
- # request, not null, and non-empty. Only when this is true does the
6429
- # authorizer invoke the authorizer Lambda function. Otherwise, it
6430
- # returns a 401 Unauthorized response without calling the Lambda
6431
- # function.
6903
+ # The identity source can be headers, query string parameters, stage
6904
+ # variables, and context parameters. For example, if an Auth header
6905
+ # and a Name query string parameter are defined as identity sources,
6906
+ # this value is route.request.header.Auth,
6907
+ # route.request.querystring.Name for WebSocket APIs. For HTTP APIs,
6908
+ # use selection expressions prefixed with $, for example,
6909
+ # $request.header.Auth, $request.querystring.Name. These parameters
6910
+ # are used to perform runtime validation for Lambda-based authorizers
6911
+ # by verifying all of the identity-related request parameters are
6912
+ # present in the request, not null, and non-empty. Only when this is
6913
+ # true does the authorizer invoke the authorizer Lambda function.
6914
+ # Otherwise, it returns a 401 Unauthorized response without calling
6915
+ # the Lambda function. For HTTP APIs, identity sources are also used
6916
+ # as the cache key when caching is enabled. To learn more, see
6917
+ # [Working with AWS Lambda authorizers for HTTP APIs][1].
6432
6918
  #
6433
6919
  # For JWT, a single entry that specifies where to extract the JSON Web
6434
6920
  # Token (JWT) from inbound requests. Currently only header-based and
6435
6921
  # query parameter-based selections are supported, for example
6436
- # "$request.header.Authorization".
6922
+ # $request.header.Authorization.
6923
+ #
6924
+ #
6925
+ #
6926
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html
6437
6927
  # @return [Array<String>]
6438
6928
  #
6439
6929
  # @!attribute [rw] identity_validation_expression
@@ -6449,6 +6939,29 @@ module Aws::ApiGatewayV2
6449
6939
  # The name of the authorizer.
6450
6940
  # @return [String]
6451
6941
  #
6942
+ # @!attribute [rw] authorizer_payload_format_version
6943
+ # Specifies the format of the payload sent to an HTTP API Lambda
6944
+ # authorizer. Required for HTTP API Lambda authorizers. Supported
6945
+ # values are 1.0 and 2.0. To learn more, see [Working with AWS Lambda
6946
+ # authorizers for HTTP APIs][1].
6947
+ #
6948
+ #
6949
+ #
6950
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html
6951
+ # @return [String]
6952
+ #
6953
+ # @!attribute [rw] enable_simple_responses
6954
+ # Specifies whether a Lambda authorizer returns a response in a simple
6955
+ # format. By default, a Lambda authorizer must return an IAM policy.
6956
+ # If enabled, the Lambda authorizer can return a boolean value instead
6957
+ # of an IAM policy. Supported only for HTTP APIs. To learn more, see
6958
+ # [Working with AWS Lambda authorizers for HTTP APIs][1]
6959
+ #
6960
+ #
6961
+ #
6962
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html
6963
+ # @return [Boolean]
6964
+ #
6452
6965
  class UpdateAuthorizerInput < Struct.new(
6453
6966
  :authorizer_credentials_arn,
6454
6967
  :authorizer_result_ttl_in_seconds,
@@ -6457,7 +6970,9 @@ module Aws::ApiGatewayV2
6457
6970
  :identity_source,
6458
6971
  :identity_validation_expression,
6459
6972
  :jwt_configuration,
6460
- :name)
6973
+ :name,
6974
+ :authorizer_payload_format_version,
6975
+ :enable_simple_responses)
6461
6976
  SENSITIVE = []
6462
6977
  include Aws::Structure
6463
6978
  end
@@ -6479,6 +6994,8 @@ module Aws::ApiGatewayV2
6479
6994
  # issuer: "UriWithLengthBetween1And2048",
6480
6995
  # },
6481
6996
  # name: "StringWithLengthBetween1And128",
6997
+ # authorizer_payload_format_version: "StringWithLengthBetween1And64",
6998
+ # enable_simple_responses: false,
6482
6999
  # }
6483
7000
  #
6484
7001
  # @!attribute [rw] api_id
@@ -6496,9 +7013,9 @@ module Aws::ApiGatewayV2
6496
7013
  # @return [Integer]
6497
7014
  #
6498
7015
  # @!attribute [rw] authorizer_type
6499
- # The authorizer type. For WebSocket APIs, specify REQUEST for a
6500
- # Lambda function using incoming request parameters. For HTTP APIs,
6501
- # specify JWT to use JSON Web Tokens.
7016
+ # The authorizer type. Specify REQUEST for a Lambda function using
7017
+ # incoming request parameters. Specify JWT to use JSON Web Tokens
7018
+ # (supported only for HTTP APIs).
6502
7019
  # @return [String]
6503
7020
  #
6504
7021
  # @!attribute [rw] authorizer_uri
@@ -6537,6 +7054,13 @@ module Aws::ApiGatewayV2
6537
7054
  # A string with a length between \[1-128\].
6538
7055
  # @return [String]
6539
7056
  #
7057
+ # @!attribute [rw] authorizer_payload_format_version
7058
+ # A string with a length between \[1-64\].
7059
+ # @return [String]
7060
+ #
7061
+ # @!attribute [rw] enable_simple_responses
7062
+ # @return [Boolean]
7063
+ #
6540
7064
  class UpdateAuthorizerRequest < Struct.new(
6541
7065
  :api_id,
6542
7066
  :authorizer_credentials_arn,
@@ -6547,7 +7071,9 @@ module Aws::ApiGatewayV2
6547
7071
  :identity_source,
6548
7072
  :identity_validation_expression,
6549
7073
  :jwt_configuration,
6550
- :name)
7074
+ :name,
7075
+ :authorizer_payload_format_version,
7076
+ :enable_simple_responses)
6551
7077
  SENSITIVE = []
6552
7078
  include Aws::Structure
6553
7079
  end
@@ -6565,9 +7091,9 @@ module Aws::ApiGatewayV2
6565
7091
  # @return [Integer]
6566
7092
  #
6567
7093
  # @!attribute [rw] authorizer_type
6568
- # The authorizer type. For WebSocket APIs, specify REQUEST for a
6569
- # Lambda function using incoming request parameters. For HTTP APIs,
6570
- # specify JWT to use JSON Web Tokens.
7094
+ # The authorizer type. Specify REQUEST for a Lambda function using
7095
+ # incoming request parameters. Specify JWT to use JSON Web Tokens
7096
+ # (supported only for HTTP APIs).
6571
7097
  # @return [String]
6572
7098
  #
6573
7099
  # @!attribute [rw] authorizer_uri
@@ -6606,6 +7132,13 @@ module Aws::ApiGatewayV2
6606
7132
  # A string with a length between \[1-128\].
6607
7133
  # @return [String]
6608
7134
  #
7135
+ # @!attribute [rw] authorizer_payload_format_version
7136
+ # A string with a length between \[1-64\].
7137
+ # @return [String]
7138
+ #
7139
+ # @!attribute [rw] enable_simple_responses
7140
+ # @return [Boolean]
7141
+ #
6609
7142
  class UpdateAuthorizerResponse < Struct.new(
6610
7143
  :authorizer_credentials_arn,
6611
7144
  :authorizer_id,
@@ -6615,7 +7148,9 @@ module Aws::ApiGatewayV2
6615
7148
  :identity_source,
6616
7149
  :identity_validation_expression,
6617
7150
  :jwt_configuration,
6618
- :name)
7151
+ :name,
7152
+ :authorizer_payload_format_version,
7153
+ :enable_simple_responses)
6619
7154
  SENSITIVE = []
6620
7155
  include Aws::Structure
6621
7156
  end
@@ -6697,8 +7232,14 @@ module Aws::ApiGatewayV2
6697
7232
  # The domain name configurations.
6698
7233
  # @return [Array<Types::DomainNameConfiguration>]
6699
7234
  #
7235
+ # @!attribute [rw] mutual_tls_authentication
7236
+ # The mutual TLS authentication configuration for a custom domain
7237
+ # name.
7238
+ # @return [Types::MutualTlsAuthenticationInput]
7239
+ #
6700
7240
  class UpdateDomainNameInput < Struct.new(
6701
- :domain_name_configurations)
7241
+ :domain_name_configurations,
7242
+ :mutual_tls_authentication)
6702
7243
  SENSITIVE = []
6703
7244
  include Aws::Structure
6704
7245
  end
@@ -6721,6 +7262,10 @@ module Aws::ApiGatewayV2
6721
7262
  # security_policy: "TLS_1_0", # accepts TLS_1_0, TLS_1_2
6722
7263
  # },
6723
7264
  # ],
7265
+ # mutual_tls_authentication: {
7266
+ # truststore_uri: "UriWithLengthBetween1And2048",
7267
+ # truststore_version: "StringWithLengthBetween1And64",
7268
+ # },
6724
7269
  # }
6725
7270
  #
6726
7271
  # @!attribute [rw] domain_name
@@ -6730,9 +7275,16 @@ module Aws::ApiGatewayV2
6730
7275
  # The domain name configurations.
6731
7276
  # @return [Array<Types::DomainNameConfiguration>]
6732
7277
  #
7278
+ # @!attribute [rw] mutual_tls_authentication
7279
+ # If specified, API Gateway performs two-way authentication between
7280
+ # the client and the server. Clients must present a trusted
7281
+ # certificate to access your API.
7282
+ # @return [Types::MutualTlsAuthenticationInput]
7283
+ #
6733
7284
  class UpdateDomainNameRequest < Struct.new(
6734
7285
  :domain_name,
6735
- :domain_name_configurations)
7286
+ :domain_name_configurations,
7287
+ :mutual_tls_authentication)
6736
7288
  SENSITIVE = []
6737
7289
  include Aws::Structure
6738
7290
  end
@@ -6754,6 +7306,12 @@ module Aws::ApiGatewayV2
6754
7306
  # The domain name configurations.
6755
7307
  # @return [Array<Types::DomainNameConfiguration>]
6756
7308
  #
7309
+ # @!attribute [rw] mutual_tls_authentication
7310
+ # If specified, API Gateway performs two-way authentication between
7311
+ # the client and the server. Clients must present a trusted
7312
+ # certificate to access your API.
7313
+ # @return [Types::MutualTlsAuthentication]
7314
+ #
6757
7315
  # @!attribute [rw] tags
6758
7316
  # Represents a collection of tags associated with the resource.
6759
7317
  # @return [Hash<String,String>]
@@ -6762,6 +7320,7 @@ module Aws::ApiGatewayV2
6762
7320
  :api_mapping_selection_expression,
6763
7321
  :domain_name,
6764
7322
  :domain_name_configurations,
7323
+ :mutual_tls_authentication,
6765
7324
  :tags)
6766
7325
  SENSITIVE = []
6767
7326
  include Aws::Structure
@@ -6905,18 +7464,47 @@ module Aws::ApiGatewayV2
6905
7464
  # *\\\{location\\}* is querystring, path, or header; and *\\\{name\\}*
6906
7465
  # must be a valid and unique method request parameter name.
6907
7466
  #
6908
- # For HTTP APIs, request parameters are a key-value map specifying
6909
- # parameters that are passed to AWS\_PROXY integrations with a
6910
- # specified integrationSubtype. You can provide static values, or map
6911
- # request data, stage variables, or context variables that are
6912
- # evaluated at runtime. To learn more, see [Working with AWS service
6913
- # integrations for HTTP APIs][1].
7467
+ # For HTTP API integrations with a specified integrationSubtype,
7468
+ # request parameters are a key-value map specifying parameters that
7469
+ # are passed to AWS\_PROXY integrations. You can provide static
7470
+ # values, or map request data, stage variables, or context variables
7471
+ # that are evaluated at runtime. To learn more, see [Working with AWS
7472
+ # service integrations for HTTP APIs][1].
7473
+ #
7474
+ # For HTTP API integrations, without a specified integrationSubtype
7475
+ # request parameters are a key-value map specifying how to transform
7476
+ # HTTP requests before sending them to the backend. The key should
7477
+ # follow the pattern
7478
+ # &lt;action&gt;\:&lt;header\|querystring\|path&gt;.&lt;location&gt;
7479
+ # where action can be append, overwrite or remove. For values, you can
7480
+ # provide static values, or map request data, stage variables, or
7481
+ # context variables that are evaluated at runtime. To learn more, see
7482
+ # [Transforming API requests and responses][2].
6914
7483
  #
6915
7484
  #
6916
7485
  #
6917
7486
  # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html
7487
+ # [2]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.
6918
7488
  # @return [Hash<String,String>]
6919
7489
  #
7490
+ # @!attribute [rw] response_parameters
7491
+ # Supported only for HTTP APIs. You use response parameters to
7492
+ # transform the HTTP response from a backend integration before
7493
+ # returning the response to clients. Specify a key-value map from a
7494
+ # selection key to response parameters. The selection key must be a
7495
+ # valid HTTP status code within the range of 200-599. Response
7496
+ # parameters are a key-value map. The key must match pattern
7497
+ # &lt;action&gt;\:&lt;header&gt;.&lt;location&gt; or
7498
+ # overwrite.statuscode. The action can be append, overwrite or remove.
7499
+ # The value can be a static value, or map to response data, stage
7500
+ # variables, or context variables that are evaluated at runtime. To
7501
+ # learn more, see [Transforming API requests and responses][1].
7502
+ #
7503
+ #
7504
+ #
7505
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html
7506
+ # @return [Hash<String,Hash<String,String>>]
7507
+ #
6920
7508
  # @!attribute [rw] request_templates
6921
7509
  # Represents a map of Velocity templates that are applied on the
6922
7510
  # request payload based on the value of the Content-Type header sent
@@ -6955,6 +7543,7 @@ module Aws::ApiGatewayV2
6955
7543
  :passthrough_behavior,
6956
7544
  :payload_format_version,
6957
7545
  :request_parameters,
7546
+ :response_parameters,
6958
7547
  :request_templates,
6959
7548
  :template_selection_expression,
6960
7549
  :timeout_in_millis,
@@ -6983,6 +7572,11 @@ module Aws::ApiGatewayV2
6983
7572
  # request_parameters: {
6984
7573
  # "__string" => "StringWithLengthBetween1And512",
6985
7574
  # },
7575
+ # response_parameters: {
7576
+ # "__string" => {
7577
+ # "__string" => "StringWithLengthBetween1And512",
7578
+ # },
7579
+ # },
6986
7580
  # request_templates: {
6987
7581
  # "__string" => "StringWithLengthBetween0And32K",
6988
7582
  # },
@@ -7046,20 +7640,45 @@ module Aws::ApiGatewayV2
7046
7640
  # @return [String]
7047
7641
  #
7048
7642
  # @!attribute [rw] request_parameters
7049
- # A key-value map specifying response parameters that are passed to
7050
- # the method response from the backend. The key is a method response
7051
- # header parameter name and the mapped value is an integration
7052
- # response header value, a static value enclosed within a pair of
7053
- # single quotes, or a JSON expression from the integration response
7054
- # body. The mapping key must match the pattern of
7055
- # method.response.header.\\\{name\\}, where name is a valid and unique
7056
- # header name. The mapped non-static value must match the pattern of
7057
- # integration.response.header.\\\{name\\} or
7058
- # integration.response.body.\\\{JSON-expression\\}, where name is a
7059
- # valid and unique response header name and JSON-expression is a valid
7060
- # JSON expression without the $ prefix.
7643
+ # For WebSocket APIs, a key-value map specifying request parameters
7644
+ # that are passed from the method request to the backend. The key is
7645
+ # an integration request parameter name and the associated value is a
7646
+ # method request parameter value or static value that must be enclosed
7647
+ # within single quotes and pre-encoded as required by the backend. The
7648
+ # method request parameter value must match the pattern of
7649
+ # method.request.*\\\{location\\}*.*\\\{name\\}* , where
7650
+ # *\\\{location\\}* is querystring, path, or header; and *\\\{name\\}*
7651
+ # must be a valid and unique method request parameter name.
7652
+ #
7653
+ # For HTTP API integrations with a specified integrationSubtype,
7654
+ # request parameters are a key-value map specifying parameters that
7655
+ # are passed to AWS\_PROXY integrations. You can provide static
7656
+ # values, or map request data, stage variables, or context variables
7657
+ # that are evaluated at runtime. To learn more, see [Working with AWS
7658
+ # service integrations for HTTP APIs][1].
7659
+ #
7660
+ # For HTTP API integrations without a specified integrationSubtype
7661
+ # request parameters are a key-value map specifying how to transform
7662
+ # HTTP requests before sending them to the backend. The key should
7663
+ # follow the pattern
7664
+ # &lt;action&gt;\:&lt;header\|querystring\|path&gt;.&lt;location&gt;
7665
+ # where action can be append, overwrite or remove. For values, you can
7666
+ # provide static values, or map request data, stage variables, or
7667
+ # context variables that are evaluated at runtime. To learn more, see
7668
+ # [Transforming API requests and responses][2].
7669
+ #
7670
+ #
7671
+ #
7672
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html
7673
+ # [2]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html
7061
7674
  # @return [Hash<String,String>]
7062
7675
  #
7676
+ # @!attribute [rw] response_parameters
7677
+ # Supported only for HTTP APIs. You use response parameters to
7678
+ # transform the HTTP response from a backend integration before
7679
+ # returning the response to clients.
7680
+ # @return [Hash<String,Hash<String,String>>]
7681
+ #
7063
7682
  # @!attribute [rw] request_templates
7064
7683
  # A mapping of identifier keys to templates. The value is an actual
7065
7684
  # template script. The key is typically a SelectionKey which is chosen
@@ -7100,6 +7719,7 @@ module Aws::ApiGatewayV2
7100
7719
  :passthrough_behavior,
7101
7720
  :payload_format_version,
7102
7721
  :request_parameters,
7722
+ :response_parameters,
7103
7723
  :request_templates,
7104
7724
  :template_selection_expression,
7105
7725
  :timeout_in_millis,
@@ -7171,20 +7791,45 @@ module Aws::ApiGatewayV2
7171
7791
  # @return [String]
7172
7792
  #
7173
7793
  # @!attribute [rw] request_parameters
7174
- # A key-value map specifying response parameters that are passed to
7175
- # the method response from the backend. The key is a method response
7176
- # header parameter name and the mapped value is an integration
7177
- # response header value, a static value enclosed within a pair of
7178
- # single quotes, or a JSON expression from the integration response
7179
- # body. The mapping key must match the pattern of
7180
- # method.response.header.\\\{name\\}, where name is a valid and unique
7181
- # header name. The mapped non-static value must match the pattern of
7182
- # integration.response.header.\\\{name\\} or
7183
- # integration.response.body.\\\{JSON-expression\\}, where name is a
7184
- # valid and unique response header name and JSON-expression is a valid
7185
- # JSON expression without the $ prefix.
7794
+ # For WebSocket APIs, a key-value map specifying request parameters
7795
+ # that are passed from the method request to the backend. The key is
7796
+ # an integration request parameter name and the associated value is a
7797
+ # method request parameter value or static value that must be enclosed
7798
+ # within single quotes and pre-encoded as required by the backend. The
7799
+ # method request parameter value must match the pattern of
7800
+ # method.request.*\\\{location\\}*.*\\\{name\\}* , where
7801
+ # *\\\{location\\}* is querystring, path, or header; and *\\\{name\\}*
7802
+ # must be a valid and unique method request parameter name.
7803
+ #
7804
+ # For HTTP API integrations with a specified integrationSubtype,
7805
+ # request parameters are a key-value map specifying parameters that
7806
+ # are passed to AWS\_PROXY integrations. You can provide static
7807
+ # values, or map request data, stage variables, or context variables
7808
+ # that are evaluated at runtime. To learn more, see [Working with AWS
7809
+ # service integrations for HTTP APIs][1].
7810
+ #
7811
+ # For HTTP API integrations without a specified integrationSubtype
7812
+ # request parameters are a key-value map specifying how to transform
7813
+ # HTTP requests before sending them to the backend. The key should
7814
+ # follow the pattern
7815
+ # &lt;action&gt;\:&lt;header\|querystring\|path&gt;.&lt;location&gt;
7816
+ # where action can be append, overwrite or remove. For values, you can
7817
+ # provide static values, or map request data, stage variables, or
7818
+ # context variables that are evaluated at runtime. To learn more, see
7819
+ # [Transforming API requests and responses][2].
7820
+ #
7821
+ #
7822
+ #
7823
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html
7824
+ # [2]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html
7186
7825
  # @return [Hash<String,String>]
7187
7826
  #
7827
+ # @!attribute [rw] response_parameters
7828
+ # Supported only for HTTP APIs. You use response parameters to
7829
+ # transform the HTTP response from a backend integration before
7830
+ # returning the response to clients.
7831
+ # @return [Hash<String,Hash<String,String>>]
7832
+ #
7188
7833
  # @!attribute [rw] request_templates
7189
7834
  # A mapping of identifier keys to templates. The value is an actual
7190
7835
  # template script. The key is typically a SelectionKey which is chosen
@@ -7226,6 +7871,7 @@ module Aws::ApiGatewayV2
7226
7871
  :passthrough_behavior,
7227
7872
  :payload_format_version,
7228
7873
  :request_parameters,
7874
+ :response_parameters,
7229
7875
  :request_templates,
7230
7876
  :template_selection_expression,
7231
7877
  :timeout_in_millis,
@@ -7340,18 +7986,37 @@ module Aws::ApiGatewayV2
7340
7986
  # @return [String]
7341
7987
  #
7342
7988
  # @!attribute [rw] response_parameters
7343
- # A key-value map specifying response parameters that are passed to
7344
- # the method response from the backend. The key is a method response
7345
- # header parameter name and the mapped value is an integration
7346
- # response header value, a static value enclosed within a pair of
7347
- # single quotes, or a JSON expression from the integration response
7348
- # body. The mapping key must match the pattern of
7349
- # method.response.header.\\\{name\\}, where name is a valid and unique
7350
- # header name. The mapped non-static value must match the pattern of
7351
- # integration.response.header.\\\{name\\} or
7352
- # integration.response.body.\\\{JSON-expression\\}, where name is a
7353
- # valid and unique response header name and JSON-expression is a valid
7354
- # JSON expression without the $ prefix.
7989
+ # For WebSocket APIs, a key-value map specifying request parameters
7990
+ # that are passed from the method request to the backend. The key is
7991
+ # an integration request parameter name and the associated value is a
7992
+ # method request parameter value or static value that must be enclosed
7993
+ # within single quotes and pre-encoded as required by the backend. The
7994
+ # method request parameter value must match the pattern of
7995
+ # method.request.*\\\{location\\}*.*\\\{name\\}* , where
7996
+ # *\\\{location\\}* is querystring, path, or header; and *\\\{name\\}*
7997
+ # must be a valid and unique method request parameter name.
7998
+ #
7999
+ # For HTTP API integrations with a specified integrationSubtype,
8000
+ # request parameters are a key-value map specifying parameters that
8001
+ # are passed to AWS\_PROXY integrations. You can provide static
8002
+ # values, or map request data, stage variables, or context variables
8003
+ # that are evaluated at runtime. To learn more, see [Working with AWS
8004
+ # service integrations for HTTP APIs][1].
8005
+ #
8006
+ # For HTTP API integrations without a specified integrationSubtype
8007
+ # request parameters are a key-value map specifying how to transform
8008
+ # HTTP requests before sending them to the backend. The key should
8009
+ # follow the pattern
8010
+ # &lt;action&gt;\:&lt;header\|querystring\|path&gt;.&lt;location&gt;
8011
+ # where action can be append, overwrite or remove. For values, you can
8012
+ # provide static values, or map request data, stage variables, or
8013
+ # context variables that are evaluated at runtime. To learn more, see
8014
+ # [Transforming API requests and responses][2].
8015
+ #
8016
+ #
8017
+ #
8018
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html
8019
+ # [2]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html
7355
8020
  # @return [Hash<String,String>]
7356
8021
  #
7357
8022
  # @!attribute [rw] response_templates
@@ -7403,18 +8068,37 @@ module Aws::ApiGatewayV2
7403
8068
  # @return [String]
7404
8069
  #
7405
8070
  # @!attribute [rw] response_parameters
7406
- # A key-value map specifying response parameters that are passed to
7407
- # the method response from the backend. The key is a method response
7408
- # header parameter name and the mapped value is an integration
7409
- # response header value, a static value enclosed within a pair of
7410
- # single quotes, or a JSON expression from the integration response
7411
- # body. The mapping key must match the pattern of
7412
- # method.response.header.\\\{name\\}, where name is a valid and unique
7413
- # header name. The mapped non-static value must match the pattern of
7414
- # integration.response.header.\\\{name\\} or
7415
- # integration.response.body.\\\{JSON-expression\\}, where name is a
7416
- # valid and unique response header name and JSON-expression is a valid
7417
- # JSON expression without the $ prefix.
8071
+ # For WebSocket APIs, a key-value map specifying request parameters
8072
+ # that are passed from the method request to the backend. The key is
8073
+ # an integration request parameter name and the associated value is a
8074
+ # method request parameter value or static value that must be enclosed
8075
+ # within single quotes and pre-encoded as required by the backend. The
8076
+ # method request parameter value must match the pattern of
8077
+ # method.request.*\\\{location\\}*.*\\\{name\\}* , where
8078
+ # *\\\{location\\}* is querystring, path, or header; and *\\\{name\\}*
8079
+ # must be a valid and unique method request parameter name.
8080
+ #
8081
+ # For HTTP API integrations with a specified integrationSubtype,
8082
+ # request parameters are a key-value map specifying parameters that
8083
+ # are passed to AWS\_PROXY integrations. You can provide static
8084
+ # values, or map request data, stage variables, or context variables
8085
+ # that are evaluated at runtime. To learn more, see [Working with AWS
8086
+ # service integrations for HTTP APIs][1].
8087
+ #
8088
+ # For HTTP API integrations without a specified integrationSubtype
8089
+ # request parameters are a key-value map specifying how to transform
8090
+ # HTTP requests before sending them to the backend. The key should
8091
+ # follow the pattern
8092
+ # &lt;action&gt;\:&lt;header\|querystring\|path&gt;.&lt;location&gt;
8093
+ # where action can be append, overwrite or remove. For values, you can
8094
+ # provide static values, or map request data, stage variables, or
8095
+ # context variables that are evaluated at runtime. To learn more, see
8096
+ # [Transforming API requests and responses][2].
8097
+ #
8098
+ #
8099
+ #
8100
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html
8101
+ # [2]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html
7418
8102
  # @return [Hash<String,String>]
7419
8103
  #
7420
8104
  # @!attribute [rw] response_templates
@@ -7562,8 +8246,9 @@ module Aws::ApiGatewayV2
7562
8246
  # The authorization type for the route. For WebSocket APIs, valid
7563
8247
  # values are NONE for open access, AWS\_IAM for using AWS IAM
7564
8248
  # permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs,
7565
- # valid values are NONE for open access, or JWT for using JSON Web
7566
- # Tokens.
8249
+ # valid values are NONE for open access, JWT for using JSON Web
8250
+ # Tokens, AWS\_IAM for using AWS IAM permissions, and CUSTOM for using
8251
+ # a Lambda authorizer.
7567
8252
  # @return [String]
7568
8253
  #
7569
8254
  # @!attribute [rw] authorizer_id
@@ -7666,7 +8351,8 @@ module Aws::ApiGatewayV2
7666
8351
  # The authorization type. For WebSocket APIs, valid values are NONE
7667
8352
  # for open access, AWS\_IAM for using AWS IAM permissions, and CUSTOM
7668
8353
  # for using a Lambda authorizer. For HTTP APIs, valid values are NONE
7669
- # for open access, or JWT for using JSON Web Tokens.
8354
+ # for open access, JWT for using JSON Web Tokens, AWS\_IAM for using
8355
+ # AWS IAM permissions, and CUSTOM for using a Lambda authorizer.
7670
8356
  # @return [String]
7671
8357
  #
7672
8358
  # @!attribute [rw] authorizer_id
@@ -7761,7 +8447,8 @@ module Aws::ApiGatewayV2
7761
8447
  # The authorization type. For WebSocket APIs, valid values are NONE
7762
8448
  # for open access, AWS\_IAM for using AWS IAM permissions, and CUSTOM
7763
8449
  # for using a Lambda authorizer. For HTTP APIs, valid values are NONE
7764
- # for open access, or JWT for using JSON Web Tokens.
8450
+ # for open access, JWT for using JSON Web Tokens, AWS\_IAM for using
8451
+ # AWS IAM permissions, and CUSTOM for using a Lambda authorizer.
7765
8452
  # @return [String]
7766
8453
  #
7767
8454
  # @!attribute [rw] authorizer_id