aws-sdk-apigatewayv2 1.23.0 → 1.29.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,7 @@ 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')
180
183
  Route = Shapes::StructureShape.new(name: 'Route')
181
184
  RouteModels = Shapes::MapShape.new(name: 'RouteModels')
182
185
  RouteParameters = Shapes::MapShape.new(name: 'RouteParameters')
@@ -282,12 +285,14 @@ module Aws::ApiGatewayV2
282
285
  AccessLogSettings.struct_class = Types::AccessLogSettings
283
286
 
284
287
  Api.add_member(:api_endpoint, Shapes::ShapeRef.new(shape: __string, location_name: "apiEndpoint"))
288
+ Api.add_member(:api_gateway_managed, Shapes::ShapeRef.new(shape: __boolean, location_name: "apiGatewayManaged"))
285
289
  Api.add_member(:api_id, Shapes::ShapeRef.new(shape: Id, location_name: "apiId"))
286
290
  Api.add_member(:api_key_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "apiKeySelectionExpression"))
287
291
  Api.add_member(:cors_configuration, Shapes::ShapeRef.new(shape: Cors, location_name: "corsConfiguration"))
288
292
  Api.add_member(:created_date, Shapes::ShapeRef.new(shape: __timestampIso8601, location_name: "createdDate"))
289
293
  Api.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
290
294
  Api.add_member(:disable_schema_validation, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableSchemaValidation"))
295
+ Api.add_member(:disable_execute_api_endpoint, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableExecuteApiEndpoint"))
291
296
  Api.add_member(:import_info, Shapes::ShapeRef.new(shape: __listOf__string, location_name: "importInfo"))
292
297
  Api.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, required: true, location_name: "name"))
293
298
  Api.add_member(:protocol_type, Shapes::ShapeRef.new(shape: ProtocolType, required: true, location_name: "protocolType"))
@@ -322,6 +327,8 @@ module Aws::ApiGatewayV2
322
327
  Authorizer.add_member(:identity_validation_expression, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "identityValidationExpression"))
323
328
  Authorizer.add_member(:jwt_configuration, Shapes::ShapeRef.new(shape: JWTConfiguration, location_name: "jwtConfiguration"))
324
329
  Authorizer.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, required: true, location_name: "name"))
330
+ Authorizer.add_member(:authorizer_payload_format_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "authorizerPayloadFormatVersion"))
331
+ Authorizer.add_member(:enable_simple_responses, Shapes::ShapeRef.new(shape: __boolean, location_name: "enableSimpleResponses"))
325
332
  Authorizer.struct_class = Types::Authorizer
326
333
 
327
334
  Authorizers.add_member(:items, Shapes::ShapeRef.new(shape: __listOfAuthorizer, location_name: "items"))
@@ -353,6 +360,7 @@ module Aws::ApiGatewayV2
353
360
  CreateApiInput.add_member(:credentials_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "credentialsArn"))
354
361
  CreateApiInput.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
355
362
  CreateApiInput.add_member(:disable_schema_validation, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableSchemaValidation"))
363
+ CreateApiInput.add_member(:disable_execute_api_endpoint, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableExecuteApiEndpoint"))
356
364
  CreateApiInput.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, required: true, location_name: "name"))
357
365
  CreateApiInput.add_member(:protocol_type, Shapes::ShapeRef.new(shape: ProtocolType, required: true, location_name: "protocolType"))
358
366
  CreateApiInput.add_member(:route_key, Shapes::ShapeRef.new(shape: SelectionKey, location_name: "routeKey"))
@@ -384,6 +392,7 @@ module Aws::ApiGatewayV2
384
392
  CreateApiRequest.add_member(:credentials_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "credentialsArn"))
385
393
  CreateApiRequest.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
386
394
  CreateApiRequest.add_member(:disable_schema_validation, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableSchemaValidation"))
395
+ CreateApiRequest.add_member(:disable_execute_api_endpoint, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableExecuteApiEndpoint"))
387
396
  CreateApiRequest.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, required: true, location_name: "name"))
388
397
  CreateApiRequest.add_member(:protocol_type, Shapes::ShapeRef.new(shape: ProtocolType, required: true, location_name: "protocolType"))
389
398
  CreateApiRequest.add_member(:route_key, Shapes::ShapeRef.new(shape: SelectionKey, location_name: "routeKey"))
@@ -394,12 +403,14 @@ module Aws::ApiGatewayV2
394
403
  CreateApiRequest.struct_class = Types::CreateApiRequest
395
404
 
396
405
  CreateApiResponse.add_member(:api_endpoint, Shapes::ShapeRef.new(shape: __string, location_name: "apiEndpoint"))
406
+ CreateApiResponse.add_member(:api_gateway_managed, Shapes::ShapeRef.new(shape: __boolean, location_name: "apiGatewayManaged"))
397
407
  CreateApiResponse.add_member(:api_id, Shapes::ShapeRef.new(shape: Id, location_name: "apiId"))
398
408
  CreateApiResponse.add_member(:api_key_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "apiKeySelectionExpression"))
399
409
  CreateApiResponse.add_member(:cors_configuration, Shapes::ShapeRef.new(shape: Cors, location_name: "corsConfiguration"))
400
410
  CreateApiResponse.add_member(:created_date, Shapes::ShapeRef.new(shape: __timestampIso8601, location_name: "createdDate"))
401
411
  CreateApiResponse.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
402
412
  CreateApiResponse.add_member(:disable_schema_validation, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableSchemaValidation"))
413
+ CreateApiResponse.add_member(:disable_execute_api_endpoint, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableExecuteApiEndpoint"))
403
414
  CreateApiResponse.add_member(:import_info, Shapes::ShapeRef.new(shape: __listOf__string, location_name: "importInfo"))
404
415
  CreateApiResponse.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "name"))
405
416
  CreateApiResponse.add_member(:protocol_type, Shapes::ShapeRef.new(shape: ProtocolType, location_name: "protocolType"))
@@ -417,6 +428,8 @@ module Aws::ApiGatewayV2
417
428
  CreateAuthorizerInput.add_member(:identity_validation_expression, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "identityValidationExpression"))
418
429
  CreateAuthorizerInput.add_member(:jwt_configuration, Shapes::ShapeRef.new(shape: JWTConfiguration, location_name: "jwtConfiguration"))
419
430
  CreateAuthorizerInput.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, required: true, location_name: "name"))
431
+ CreateAuthorizerInput.add_member(:authorizer_payload_format_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "authorizerPayloadFormatVersion"))
432
+ CreateAuthorizerInput.add_member(:enable_simple_responses, Shapes::ShapeRef.new(shape: __boolean, location_name: "enableSimpleResponses"))
420
433
  CreateAuthorizerInput.struct_class = Types::CreateAuthorizerInput
421
434
 
422
435
  CreateAuthorizerRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "apiId"))
@@ -428,6 +441,8 @@ module Aws::ApiGatewayV2
428
441
  CreateAuthorizerRequest.add_member(:identity_validation_expression, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "identityValidationExpression"))
429
442
  CreateAuthorizerRequest.add_member(:jwt_configuration, Shapes::ShapeRef.new(shape: JWTConfiguration, location_name: "jwtConfiguration"))
430
443
  CreateAuthorizerRequest.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, required: true, location_name: "name"))
444
+ CreateAuthorizerRequest.add_member(:authorizer_payload_format_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "authorizerPayloadFormatVersion"))
445
+ CreateAuthorizerRequest.add_member(:enable_simple_responses, Shapes::ShapeRef.new(shape: __boolean, location_name: "enableSimpleResponses"))
431
446
  CreateAuthorizerRequest.struct_class = Types::CreateAuthorizerRequest
432
447
 
433
448
  CreateAuthorizerResponse.add_member(:authorizer_credentials_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "authorizerCredentialsArn"))
@@ -439,6 +454,8 @@ module Aws::ApiGatewayV2
439
454
  CreateAuthorizerResponse.add_member(:identity_validation_expression, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "identityValidationExpression"))
440
455
  CreateAuthorizerResponse.add_member(:jwt_configuration, Shapes::ShapeRef.new(shape: JWTConfiguration, location_name: "jwtConfiguration"))
441
456
  CreateAuthorizerResponse.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "name"))
457
+ CreateAuthorizerResponse.add_member(:authorizer_payload_format_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "authorizerPayloadFormatVersion"))
458
+ CreateAuthorizerResponse.add_member(:enable_simple_responses, Shapes::ShapeRef.new(shape: __boolean, location_name: "enableSimpleResponses"))
442
459
  CreateAuthorizerResponse.struct_class = Types::CreateAuthorizerResponse
443
460
 
444
461
  CreateDeploymentInput.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
@@ -460,17 +477,20 @@ module Aws::ApiGatewayV2
460
477
 
461
478
  CreateDomainNameInput.add_member(:domain_name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And512, required: true, location_name: "domainName"))
462
479
  CreateDomainNameInput.add_member(:domain_name_configurations, Shapes::ShapeRef.new(shape: DomainNameConfigurations, location_name: "domainNameConfigurations"))
480
+ CreateDomainNameInput.add_member(:mutual_tls_authentication, Shapes::ShapeRef.new(shape: MutualTlsAuthenticationInput, location_name: "mutualTlsAuthentication"))
463
481
  CreateDomainNameInput.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
464
482
  CreateDomainNameInput.struct_class = Types::CreateDomainNameInput
465
483
 
466
484
  CreateDomainNameRequest.add_member(:domain_name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And512, required: true, location_name: "domainName"))
467
485
  CreateDomainNameRequest.add_member(:domain_name_configurations, Shapes::ShapeRef.new(shape: DomainNameConfigurations, location_name: "domainNameConfigurations"))
486
+ CreateDomainNameRequest.add_member(:mutual_tls_authentication, Shapes::ShapeRef.new(shape: MutualTlsAuthenticationInput, location_name: "mutualTlsAuthentication"))
468
487
  CreateDomainNameRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
469
488
  CreateDomainNameRequest.struct_class = Types::CreateDomainNameRequest
470
489
 
471
490
  CreateDomainNameResponse.add_member(:api_mapping_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "apiMappingSelectionExpression"))
472
491
  CreateDomainNameResponse.add_member(:domain_name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And512, location_name: "domainName"))
473
492
  CreateDomainNameResponse.add_member(:domain_name_configurations, Shapes::ShapeRef.new(shape: DomainNameConfigurations, location_name: "domainNameConfigurations"))
493
+ CreateDomainNameResponse.add_member(:mutual_tls_authentication, Shapes::ShapeRef.new(shape: MutualTlsAuthentication, location_name: "mutualTlsAuthentication"))
474
494
  CreateDomainNameResponse.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
475
495
  CreateDomainNameResponse.struct_class = Types::CreateDomainNameResponse
476
496
 
@@ -480,6 +500,7 @@ module Aws::ApiGatewayV2
480
500
  CreateIntegrationInput.add_member(:credentials_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "credentialsArn"))
481
501
  CreateIntegrationInput.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
482
502
  CreateIntegrationInput.add_member(:integration_method, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "integrationMethod"))
503
+ CreateIntegrationInput.add_member(:integration_subtype, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "integrationSubtype"))
483
504
  CreateIntegrationInput.add_member(:integration_type, Shapes::ShapeRef.new(shape: IntegrationType, required: true, location_name: "integrationType"))
484
505
  CreateIntegrationInput.add_member(:integration_uri, Shapes::ShapeRef.new(shape: UriWithLengthBetween1And2048, location_name: "integrationUri"))
485
506
  CreateIntegrationInput.add_member(:passthrough_behavior, Shapes::ShapeRef.new(shape: PassthroughBehavior, location_name: "passthroughBehavior"))
@@ -498,6 +519,7 @@ module Aws::ApiGatewayV2
498
519
  CreateIntegrationRequest.add_member(:credentials_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "credentialsArn"))
499
520
  CreateIntegrationRequest.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
500
521
  CreateIntegrationRequest.add_member(:integration_method, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "integrationMethod"))
522
+ CreateIntegrationRequest.add_member(:integration_subtype, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "integrationSubtype"))
501
523
  CreateIntegrationRequest.add_member(:integration_type, Shapes::ShapeRef.new(shape: IntegrationType, required: true, location_name: "integrationType"))
502
524
  CreateIntegrationRequest.add_member(:integration_uri, Shapes::ShapeRef.new(shape: UriWithLengthBetween1And2048, location_name: "integrationUri"))
503
525
  CreateIntegrationRequest.add_member(:passthrough_behavior, Shapes::ShapeRef.new(shape: PassthroughBehavior, location_name: "passthroughBehavior"))
@@ -542,6 +564,7 @@ module Aws::ApiGatewayV2
542
564
  CreateIntegrationResult.add_member(:integration_id, Shapes::ShapeRef.new(shape: Id, location_name: "integrationId"))
543
565
  CreateIntegrationResult.add_member(:integration_method, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "integrationMethod"))
544
566
  CreateIntegrationResult.add_member(:integration_response_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "integrationResponseSelectionExpression"))
567
+ CreateIntegrationResult.add_member(:integration_subtype, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "integrationSubtype"))
545
568
  CreateIntegrationResult.add_member(:integration_type, Shapes::ShapeRef.new(shape: IntegrationType, location_name: "integrationType"))
546
569
  CreateIntegrationResult.add_member(:integration_uri, Shapes::ShapeRef.new(shape: UriWithLengthBetween1And2048, location_name: "integrationUri"))
547
570
  CreateIntegrationResult.add_member(:passthrough_behavior, Shapes::ShapeRef.new(shape: PassthroughBehavior, location_name: "passthroughBehavior"))
@@ -781,6 +804,7 @@ module Aws::ApiGatewayV2
781
804
  DomainName.add_member(:api_mapping_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "apiMappingSelectionExpression"))
782
805
  DomainName.add_member(:domain_name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And512, required: true, location_name: "domainName"))
783
806
  DomainName.add_member(:domain_name_configurations, Shapes::ShapeRef.new(shape: DomainNameConfigurations, location_name: "domainNameConfigurations"))
807
+ DomainName.add_member(:mutual_tls_authentication, Shapes::ShapeRef.new(shape: MutualTlsAuthentication, location_name: "mutualTlsAuthentication"))
784
808
  DomainName.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
785
809
  DomainName.struct_class = Types::DomainName
786
810
 
@@ -837,12 +861,14 @@ module Aws::ApiGatewayV2
837
861
  GetApiRequest.struct_class = Types::GetApiRequest
838
862
 
839
863
  GetApiResponse.add_member(:api_endpoint, Shapes::ShapeRef.new(shape: __string, location_name: "apiEndpoint"))
864
+ GetApiResponse.add_member(:api_gateway_managed, Shapes::ShapeRef.new(shape: __boolean, location_name: "apiGatewayManaged"))
840
865
  GetApiResponse.add_member(:api_id, Shapes::ShapeRef.new(shape: Id, location_name: "apiId"))
841
866
  GetApiResponse.add_member(:api_key_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "apiKeySelectionExpression"))
842
867
  GetApiResponse.add_member(:cors_configuration, Shapes::ShapeRef.new(shape: Cors, location_name: "corsConfiguration"))
843
868
  GetApiResponse.add_member(:created_date, Shapes::ShapeRef.new(shape: __timestampIso8601, location_name: "createdDate"))
844
869
  GetApiResponse.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
845
870
  GetApiResponse.add_member(:disable_schema_validation, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableSchemaValidation"))
871
+ GetApiResponse.add_member(:disable_execute_api_endpoint, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableExecuteApiEndpoint"))
846
872
  GetApiResponse.add_member(:import_info, Shapes::ShapeRef.new(shape: __listOf__string, location_name: "importInfo"))
847
873
  GetApiResponse.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "name"))
848
874
  GetApiResponse.add_member(:protocol_type, Shapes::ShapeRef.new(shape: ProtocolType, location_name: "protocolType"))
@@ -873,6 +899,8 @@ module Aws::ApiGatewayV2
873
899
  GetAuthorizerResponse.add_member(:identity_validation_expression, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "identityValidationExpression"))
874
900
  GetAuthorizerResponse.add_member(:jwt_configuration, Shapes::ShapeRef.new(shape: JWTConfiguration, location_name: "jwtConfiguration"))
875
901
  GetAuthorizerResponse.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "name"))
902
+ GetAuthorizerResponse.add_member(:authorizer_payload_format_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "authorizerPayloadFormatVersion"))
903
+ GetAuthorizerResponse.add_member(:enable_simple_responses, Shapes::ShapeRef.new(shape: __boolean, location_name: "enableSimpleResponses"))
876
904
  GetAuthorizerResponse.struct_class = Types::GetAuthorizerResponse
877
905
 
878
906
  GetAuthorizersRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "apiId"))
@@ -911,6 +939,7 @@ module Aws::ApiGatewayV2
911
939
  GetDomainNameResponse.add_member(:api_mapping_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "apiMappingSelectionExpression"))
912
940
  GetDomainNameResponse.add_member(:domain_name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And512, location_name: "domainName"))
913
941
  GetDomainNameResponse.add_member(:domain_name_configurations, Shapes::ShapeRef.new(shape: DomainNameConfigurations, location_name: "domainNameConfigurations"))
942
+ GetDomainNameResponse.add_member(:mutual_tls_authentication, Shapes::ShapeRef.new(shape: MutualTlsAuthentication, location_name: "mutualTlsAuthentication"))
914
943
  GetDomainNameResponse.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
915
944
  GetDomainNameResponse.struct_class = Types::GetDomainNameResponse
916
945
 
@@ -958,6 +987,7 @@ module Aws::ApiGatewayV2
958
987
  GetIntegrationResult.add_member(:integration_id, Shapes::ShapeRef.new(shape: Id, location_name: "integrationId"))
959
988
  GetIntegrationResult.add_member(:integration_method, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "integrationMethod"))
960
989
  GetIntegrationResult.add_member(:integration_response_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "integrationResponseSelectionExpression"))
990
+ GetIntegrationResult.add_member(:integration_subtype, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "integrationSubtype"))
961
991
  GetIntegrationResult.add_member(:integration_type, Shapes::ShapeRef.new(shape: IntegrationType, location_name: "integrationType"))
962
992
  GetIntegrationResult.add_member(:integration_uri, Shapes::ShapeRef.new(shape: UriWithLengthBetween1And2048, location_name: "integrationUri"))
963
993
  GetIntegrationResult.add_member(:passthrough_behavior, Shapes::ShapeRef.new(shape: PassthroughBehavior, location_name: "passthroughBehavior"))
@@ -1123,12 +1153,14 @@ module Aws::ApiGatewayV2
1123
1153
  ImportApiRequest.struct_class = Types::ImportApiRequest
1124
1154
 
1125
1155
  ImportApiResponse.add_member(:api_endpoint, Shapes::ShapeRef.new(shape: __string, location_name: "apiEndpoint"))
1156
+ ImportApiResponse.add_member(:api_gateway_managed, Shapes::ShapeRef.new(shape: __boolean, location_name: "apiGatewayManaged"))
1126
1157
  ImportApiResponse.add_member(:api_id, Shapes::ShapeRef.new(shape: Id, location_name: "apiId"))
1127
1158
  ImportApiResponse.add_member(:api_key_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "apiKeySelectionExpression"))
1128
1159
  ImportApiResponse.add_member(:cors_configuration, Shapes::ShapeRef.new(shape: Cors, location_name: "corsConfiguration"))
1129
1160
  ImportApiResponse.add_member(:created_date, Shapes::ShapeRef.new(shape: __timestampIso8601, location_name: "createdDate"))
1130
1161
  ImportApiResponse.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
1131
1162
  ImportApiResponse.add_member(:disable_schema_validation, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableSchemaValidation"))
1163
+ ImportApiResponse.add_member(:disable_execute_api_endpoint, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableExecuteApiEndpoint"))
1132
1164
  ImportApiResponse.add_member(:import_info, Shapes::ShapeRef.new(shape: __listOf__string, location_name: "importInfo"))
1133
1165
  ImportApiResponse.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "name"))
1134
1166
  ImportApiResponse.add_member(:protocol_type, Shapes::ShapeRef.new(shape: ProtocolType, location_name: "protocolType"))
@@ -1147,6 +1179,7 @@ module Aws::ApiGatewayV2
1147
1179
  Integration.add_member(:integration_id, Shapes::ShapeRef.new(shape: Id, location_name: "integrationId"))
1148
1180
  Integration.add_member(:integration_method, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "integrationMethod"))
1149
1181
  Integration.add_member(:integration_response_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "integrationResponseSelectionExpression"))
1182
+ Integration.add_member(:integration_subtype, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "integrationSubtype"))
1150
1183
  Integration.add_member(:integration_type, Shapes::ShapeRef.new(shape: IntegrationType, location_name: "integrationType"))
1151
1184
  Integration.add_member(:integration_uri, Shapes::ShapeRef.new(shape: UriWithLengthBetween1And2048, location_name: "integrationUri"))
1152
1185
  Integration.add_member(:passthrough_behavior, Shapes::ShapeRef.new(shape: PassthroughBehavior, location_name: "passthroughBehavior"))
@@ -1196,6 +1229,15 @@ module Aws::ApiGatewayV2
1196
1229
  Models.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
1197
1230
  Models.struct_class = Types::Models
1198
1231
 
1232
+ MutualTlsAuthentication.add_member(:truststore_uri, Shapes::ShapeRef.new(shape: UriWithLengthBetween1And2048, location_name: "truststoreUri"))
1233
+ MutualTlsAuthentication.add_member(:truststore_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "truststoreVersion"))
1234
+ MutualTlsAuthentication.add_member(:truststore_warnings, Shapes::ShapeRef.new(shape: __listOf__string, location_name: "truststoreWarnings"))
1235
+ MutualTlsAuthentication.struct_class = Types::MutualTlsAuthentication
1236
+
1237
+ MutualTlsAuthenticationInput.add_member(:truststore_uri, Shapes::ShapeRef.new(shape: UriWithLengthBetween1And2048, location_name: "truststoreUri"))
1238
+ MutualTlsAuthenticationInput.add_member(:truststore_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "truststoreVersion"))
1239
+ MutualTlsAuthenticationInput.struct_class = Types::MutualTlsAuthenticationInput
1240
+
1199
1241
  NotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: __string, location_name: "message"))
1200
1242
  NotFoundException.add_member(:resource_type, Shapes::ShapeRef.new(shape: __string, location_name: "resourceType"))
1201
1243
  NotFoundException.struct_class = Types::NotFoundException
@@ -1213,12 +1255,14 @@ module Aws::ApiGatewayV2
1213
1255
  ReimportApiRequest.struct_class = Types::ReimportApiRequest
1214
1256
 
1215
1257
  ReimportApiResponse.add_member(:api_endpoint, Shapes::ShapeRef.new(shape: __string, location_name: "apiEndpoint"))
1258
+ ReimportApiResponse.add_member(:api_gateway_managed, Shapes::ShapeRef.new(shape: __boolean, location_name: "apiGatewayManaged"))
1216
1259
  ReimportApiResponse.add_member(:api_id, Shapes::ShapeRef.new(shape: Id, location_name: "apiId"))
1217
1260
  ReimportApiResponse.add_member(:api_key_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "apiKeySelectionExpression"))
1218
1261
  ReimportApiResponse.add_member(:cors_configuration, Shapes::ShapeRef.new(shape: Cors, location_name: "corsConfiguration"))
1219
1262
  ReimportApiResponse.add_member(:created_date, Shapes::ShapeRef.new(shape: __timestampIso8601, location_name: "createdDate"))
1220
1263
  ReimportApiResponse.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
1221
1264
  ReimportApiResponse.add_member(:disable_schema_validation, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableSchemaValidation"))
1265
+ ReimportApiResponse.add_member(:disable_execute_api_endpoint, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableExecuteApiEndpoint"))
1222
1266
  ReimportApiResponse.add_member(:import_info, Shapes::ShapeRef.new(shape: __listOf__string, location_name: "importInfo"))
1223
1267
  ReimportApiResponse.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "name"))
1224
1268
  ReimportApiResponse.add_member(:protocol_type, Shapes::ShapeRef.new(shape: ProtocolType, location_name: "protocolType"))
@@ -1228,6 +1272,10 @@ module Aws::ApiGatewayV2
1228
1272
  ReimportApiResponse.add_member(:warnings, Shapes::ShapeRef.new(shape: __listOf__string, location_name: "warnings"))
1229
1273
  ReimportApiResponse.struct_class = Types::ReimportApiResponse
1230
1274
 
1275
+ ResetAuthorizersCacheRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "apiId"))
1276
+ ResetAuthorizersCacheRequest.add_member(:stage_name, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "stageName"))
1277
+ ResetAuthorizersCacheRequest.struct_class = Types::ResetAuthorizersCacheRequest
1278
+
1231
1279
  Route.add_member(:api_gateway_managed, Shapes::ShapeRef.new(shape: __boolean, location_name: "apiGatewayManaged"))
1232
1280
  Route.add_member(:api_key_required, Shapes::ShapeRef.new(shape: __boolean, location_name: "apiKeyRequired"))
1233
1281
  Route.add_member(:authorization_scopes, Shapes::ShapeRef.new(shape: AuthorizationScopes, location_name: "authorizationScopes"))
@@ -1338,6 +1386,7 @@ module Aws::ApiGatewayV2
1338
1386
  UpdateApiInput.add_member(:credentials_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "credentialsArn"))
1339
1387
  UpdateApiInput.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
1340
1388
  UpdateApiInput.add_member(:disable_schema_validation, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableSchemaValidation"))
1389
+ UpdateApiInput.add_member(:disable_execute_api_endpoint, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableExecuteApiEndpoint"))
1341
1390
  UpdateApiInput.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "name"))
1342
1391
  UpdateApiInput.add_member(:route_key, Shapes::ShapeRef.new(shape: SelectionKey, location_name: "routeKey"))
1343
1392
  UpdateApiInput.add_member(:route_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "routeSelectionExpression"))
@@ -1369,6 +1418,7 @@ module Aws::ApiGatewayV2
1369
1418
  UpdateApiRequest.add_member(:credentials_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "credentialsArn"))
1370
1419
  UpdateApiRequest.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
1371
1420
  UpdateApiRequest.add_member(:disable_schema_validation, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableSchemaValidation"))
1421
+ UpdateApiRequest.add_member(:disable_execute_api_endpoint, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableExecuteApiEndpoint"))
1372
1422
  UpdateApiRequest.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "name"))
1373
1423
  UpdateApiRequest.add_member(:route_key, Shapes::ShapeRef.new(shape: SelectionKey, location_name: "routeKey"))
1374
1424
  UpdateApiRequest.add_member(:route_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "routeSelectionExpression"))
@@ -1377,12 +1427,14 @@ module Aws::ApiGatewayV2
1377
1427
  UpdateApiRequest.struct_class = Types::UpdateApiRequest
1378
1428
 
1379
1429
  UpdateApiResponse.add_member(:api_endpoint, Shapes::ShapeRef.new(shape: __string, location_name: "apiEndpoint"))
1430
+ UpdateApiResponse.add_member(:api_gateway_managed, Shapes::ShapeRef.new(shape: __boolean, location_name: "apiGatewayManaged"))
1380
1431
  UpdateApiResponse.add_member(:api_id, Shapes::ShapeRef.new(shape: Id, location_name: "apiId"))
1381
1432
  UpdateApiResponse.add_member(:api_key_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "apiKeySelectionExpression"))
1382
1433
  UpdateApiResponse.add_member(:cors_configuration, Shapes::ShapeRef.new(shape: Cors, location_name: "corsConfiguration"))
1383
1434
  UpdateApiResponse.add_member(:created_date, Shapes::ShapeRef.new(shape: __timestampIso8601, location_name: "createdDate"))
1384
1435
  UpdateApiResponse.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
1385
1436
  UpdateApiResponse.add_member(:disable_schema_validation, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableSchemaValidation"))
1437
+ UpdateApiResponse.add_member(:disable_execute_api_endpoint, Shapes::ShapeRef.new(shape: __boolean, location_name: "disableExecuteApiEndpoint"))
1386
1438
  UpdateApiResponse.add_member(:import_info, Shapes::ShapeRef.new(shape: __listOf__string, location_name: "importInfo"))
1387
1439
  UpdateApiResponse.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "name"))
1388
1440
  UpdateApiResponse.add_member(:protocol_type, Shapes::ShapeRef.new(shape: ProtocolType, location_name: "protocolType"))
@@ -1400,6 +1452,8 @@ module Aws::ApiGatewayV2
1400
1452
  UpdateAuthorizerInput.add_member(:identity_validation_expression, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "identityValidationExpression"))
1401
1453
  UpdateAuthorizerInput.add_member(:jwt_configuration, Shapes::ShapeRef.new(shape: JWTConfiguration, location_name: "jwtConfiguration"))
1402
1454
  UpdateAuthorizerInput.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "name"))
1455
+ UpdateAuthorizerInput.add_member(:authorizer_payload_format_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "authorizerPayloadFormatVersion"))
1456
+ UpdateAuthorizerInput.add_member(:enable_simple_responses, Shapes::ShapeRef.new(shape: __boolean, location_name: "enableSimpleResponses"))
1403
1457
  UpdateAuthorizerInput.struct_class = Types::UpdateAuthorizerInput
1404
1458
 
1405
1459
  UpdateAuthorizerRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "apiId"))
@@ -1412,6 +1466,8 @@ module Aws::ApiGatewayV2
1412
1466
  UpdateAuthorizerRequest.add_member(:identity_validation_expression, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "identityValidationExpression"))
1413
1467
  UpdateAuthorizerRequest.add_member(:jwt_configuration, Shapes::ShapeRef.new(shape: JWTConfiguration, location_name: "jwtConfiguration"))
1414
1468
  UpdateAuthorizerRequest.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "name"))
1469
+ UpdateAuthorizerRequest.add_member(:authorizer_payload_format_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "authorizerPayloadFormatVersion"))
1470
+ UpdateAuthorizerRequest.add_member(:enable_simple_responses, Shapes::ShapeRef.new(shape: __boolean, location_name: "enableSimpleResponses"))
1415
1471
  UpdateAuthorizerRequest.struct_class = Types::UpdateAuthorizerRequest
1416
1472
 
1417
1473
  UpdateAuthorizerResponse.add_member(:authorizer_credentials_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "authorizerCredentialsArn"))
@@ -1423,6 +1479,8 @@ module Aws::ApiGatewayV2
1423
1479
  UpdateAuthorizerResponse.add_member(:identity_validation_expression, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "identityValidationExpression"))
1424
1480
  UpdateAuthorizerResponse.add_member(:jwt_configuration, Shapes::ShapeRef.new(shape: JWTConfiguration, location_name: "jwtConfiguration"))
1425
1481
  UpdateAuthorizerResponse.add_member(:name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "name"))
1482
+ UpdateAuthorizerResponse.add_member(:authorizer_payload_format_version, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "authorizerPayloadFormatVersion"))
1483
+ UpdateAuthorizerResponse.add_member(:enable_simple_responses, Shapes::ShapeRef.new(shape: __boolean, location_name: "enableSimpleResponses"))
1426
1484
  UpdateAuthorizerResponse.struct_class = Types::UpdateAuthorizerResponse
1427
1485
 
1428
1486
  UpdateDeploymentInput.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
@@ -1442,15 +1500,18 @@ module Aws::ApiGatewayV2
1442
1500
  UpdateDeploymentResponse.struct_class = Types::UpdateDeploymentResponse
1443
1501
 
1444
1502
  UpdateDomainNameInput.add_member(:domain_name_configurations, Shapes::ShapeRef.new(shape: DomainNameConfigurations, location_name: "domainNameConfigurations"))
1503
+ UpdateDomainNameInput.add_member(:mutual_tls_authentication, Shapes::ShapeRef.new(shape: MutualTlsAuthenticationInput, location_name: "mutualTlsAuthentication"))
1445
1504
  UpdateDomainNameInput.struct_class = Types::UpdateDomainNameInput
1446
1505
 
1447
1506
  UpdateDomainNameRequest.add_member(:domain_name, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "domainName"))
1448
1507
  UpdateDomainNameRequest.add_member(:domain_name_configurations, Shapes::ShapeRef.new(shape: DomainNameConfigurations, location_name: "domainNameConfigurations"))
1508
+ UpdateDomainNameRequest.add_member(:mutual_tls_authentication, Shapes::ShapeRef.new(shape: MutualTlsAuthenticationInput, location_name: "mutualTlsAuthentication"))
1449
1509
  UpdateDomainNameRequest.struct_class = Types::UpdateDomainNameRequest
1450
1510
 
1451
1511
  UpdateDomainNameResponse.add_member(:api_mapping_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "apiMappingSelectionExpression"))
1452
1512
  UpdateDomainNameResponse.add_member(:domain_name, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And512, location_name: "domainName"))
1453
1513
  UpdateDomainNameResponse.add_member(:domain_name_configurations, Shapes::ShapeRef.new(shape: DomainNameConfigurations, location_name: "domainNameConfigurations"))
1514
+ UpdateDomainNameResponse.add_member(:mutual_tls_authentication, Shapes::ShapeRef.new(shape: MutualTlsAuthentication, location_name: "mutualTlsAuthentication"))
1454
1515
  UpdateDomainNameResponse.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
1455
1516
  UpdateDomainNameResponse.struct_class = Types::UpdateDomainNameResponse
1456
1517
 
@@ -1460,6 +1521,7 @@ module Aws::ApiGatewayV2
1460
1521
  UpdateIntegrationInput.add_member(:credentials_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "credentialsArn"))
1461
1522
  UpdateIntegrationInput.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
1462
1523
  UpdateIntegrationInput.add_member(:integration_method, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "integrationMethod"))
1524
+ UpdateIntegrationInput.add_member(:integration_subtype, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "integrationSubtype"))
1463
1525
  UpdateIntegrationInput.add_member(:integration_type, Shapes::ShapeRef.new(shape: IntegrationType, location_name: "integrationType"))
1464
1526
  UpdateIntegrationInput.add_member(:integration_uri, Shapes::ShapeRef.new(shape: UriWithLengthBetween1And2048, location_name: "integrationUri"))
1465
1527
  UpdateIntegrationInput.add_member(:passthrough_behavior, Shapes::ShapeRef.new(shape: PassthroughBehavior, location_name: "passthroughBehavior"))
@@ -1479,6 +1541,7 @@ module Aws::ApiGatewayV2
1479
1541
  UpdateIntegrationRequest.add_member(:description, Shapes::ShapeRef.new(shape: StringWithLengthBetween0And1024, location_name: "description"))
1480
1542
  UpdateIntegrationRequest.add_member(:integration_id, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "integrationId"))
1481
1543
  UpdateIntegrationRequest.add_member(:integration_method, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "integrationMethod"))
1544
+ UpdateIntegrationRequest.add_member(:integration_subtype, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "integrationSubtype"))
1482
1545
  UpdateIntegrationRequest.add_member(:integration_type, Shapes::ShapeRef.new(shape: IntegrationType, location_name: "integrationType"))
1483
1546
  UpdateIntegrationRequest.add_member(:integration_uri, Shapes::ShapeRef.new(shape: UriWithLengthBetween1And2048, location_name: "integrationUri"))
1484
1547
  UpdateIntegrationRequest.add_member(:passthrough_behavior, Shapes::ShapeRef.new(shape: PassthroughBehavior, location_name: "passthroughBehavior"))
@@ -1524,6 +1587,7 @@ module Aws::ApiGatewayV2
1524
1587
  UpdateIntegrationResult.add_member(:integration_id, Shapes::ShapeRef.new(shape: Id, location_name: "integrationId"))
1525
1588
  UpdateIntegrationResult.add_member(:integration_method, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And64, location_name: "integrationMethod"))
1526
1589
  UpdateIntegrationResult.add_member(:integration_response_selection_expression, Shapes::ShapeRef.new(shape: SelectionExpression, location_name: "integrationResponseSelectionExpression"))
1590
+ UpdateIntegrationResult.add_member(:integration_subtype, Shapes::ShapeRef.new(shape: StringWithLengthBetween1And128, location_name: "integrationSubtype"))
1527
1591
  UpdateIntegrationResult.add_member(:integration_type, Shapes::ShapeRef.new(shape: IntegrationType, location_name: "integrationType"))
1528
1592
  UpdateIntegrationResult.add_member(:integration_uri, Shapes::ShapeRef.new(shape: UriWithLengthBetween1And2048, location_name: "integrationUri"))
1529
1593
  UpdateIntegrationResult.add_member(:passthrough_behavior, Shapes::ShapeRef.new(shape: PassthroughBehavior, location_name: "passthroughBehavior"))
@@ -2051,6 +2115,16 @@ module Aws::ApiGatewayV2
2051
2115
  o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
2052
2116
  end)
2053
2117
 
2118
+ api.add_operation(:reset_authorizers_cache, Seahorse::Model::Operation.new.tap do |o|
2119
+ o.name = "ResetAuthorizersCache"
2120
+ o.http_method = "DELETE"
2121
+ o.http_request_uri = "/v2/apis/{apiId}/stages/{stageName}/cache/authorizers"
2122
+ o.input = Shapes::ShapeRef.new(shape: ResetAuthorizersCacheRequest)
2123
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2124
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
2125
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
2126
+ end)
2127
+
2054
2128
  api.add_operation(:get_api, Seahorse::Model::Operation.new.tap do |o|
2055
2129
  o.name = "GetApi"
2056
2130
  o.http_method = "GET"
@@ -55,6 +55,12 @@ module Aws::ApiGatewayV2
55
55
  # deployed API stage.
56
56
  # @return [String]
57
57
  #
58
+ # @!attribute [rw] api_gateway_managed
59
+ # Specifies whether an API is managed by API Gateway. You can't
60
+ # update or delete a managed API by using API Gateway. A managed API
61
+ # can be deleted only through the tooling or service that created it.
62
+ # @return [Boolean]
63
+ #
58
64
  # @!attribute [rw] api_id
59
65
  # The API ID.
60
66
  # @return [String]
@@ -85,6 +91,15 @@ module Aws::ApiGatewayV2
85
91
  # for WebSocket APIs.
86
92
  # @return [Boolean]
87
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
+ #
88
103
  # @!attribute [rw] import_info
89
104
  # The validation information during API import. This may include
90
105
  # particular properties of your OpenAPI definition which are ignored
@@ -121,12 +136,14 @@ module Aws::ApiGatewayV2
121
136
  #
122
137
  class Api < Struct.new(
123
138
  :api_endpoint,
139
+ :api_gateway_managed,
124
140
  :api_id,
125
141
  :api_key_selection_expression,
126
142
  :cors_configuration,
127
143
  :created_date,
128
144
  :description,
129
145
  :disable_schema_validation,
146
+ :disable_execute_api_endpoint,
130
147
  :import_info,
131
148
  :name,
132
149
  :protocol_type,
@@ -207,8 +224,8 @@ module Aws::ApiGatewayV2
207
224
  # Specifies the required credentials as an IAM role for API Gateway to
208
225
  # invoke the authorizer. To specify an IAM role for API Gateway to
209
226
  # assume, use the role's Amazon Resource Name (ARN). To use
210
- # resource-based permissions on the Lambda function, specify null.
211
- # Supported only for REQUEST authorizers.
227
+ # resource-based permissions on the Lambda function, don't specify
228
+ # this parameter. Supported only for REQUEST authorizers.
212
229
  # @return [String]
213
230
  #
214
231
  # @!attribute [rw] authorizer_id
@@ -216,18 +233,20 @@ module Aws::ApiGatewayV2
216
233
  # @return [String]
217
234
  #
218
235
  # @!attribute [rw] authorizer_result_ttl_in_seconds
219
- # Authorizer caching is not currently supported. Don't specify this
220
- # 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.
221
240
  # @return [Integer]
222
241
  #
223
242
  # @!attribute [rw] authorizer_type
224
- # The authorizer type. For WebSocket APIs, specify REQUEST for a
225
- # Lambda function using incoming request parameters. For HTTP APIs,
226
- # 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).
227
246
  # @return [String]
228
247
  #
229
248
  # @!attribute [rw] authorizer_uri
230
- # The authorizer's Uniform Resource Identifier (URI). ForREQUEST
249
+ # The authorizer's Uniform Resource Identifier (URI). For REQUEST
231
250
  # authorizers, this must be a well-formed Lambda function URI, for
232
251
  # example,
233
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.
@@ -248,22 +267,30 @@ module Aws::ApiGatewayV2
248
267
  #
249
268
  # For a REQUEST authorizer, this is optional. The value is a set of
250
269
  # one or more mapping expressions of the specified request parameters.
251
- # Currently, the identity source can be headers, query string
252
- # parameters, stage variables, and context parameters. For example, if
253
- # an Auth header and a Name query string parameter are defined as
254
- # identity sources, this value is route.request.header.Auth,
255
- # route.request.querystring.Name. These parameters will be used to
256
- # perform runtime validation for Lambda-based authorizers by verifying
257
- # all of the identity-related request parameters are present in the
258
- # request, not null, and non-empty. Only when this is true does the
259
- # authorizer invoke the authorizer Lambda function. Otherwise, it
260
- # returns a 401 Unauthorized response without calling the Lambda
261
- # 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].
262
285
  #
263
286
  # For JWT, a single entry that specifies where to extract the JSON Web
264
287
  # Token (JWT) from inbound requests. Currently only header-based and
265
288
  # query parameter-based selections are supported, for example
266
- # "$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
267
294
  # @return [Array<String>]
268
295
  #
269
296
  # @!attribute [rw] identity_validation_expression
@@ -279,6 +306,28 @@ module Aws::ApiGatewayV2
279
306
  # The name of the authorizer.
280
307
  # @return [String]
281
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
+ #
282
331
  class Authorizer < Struct.new(
283
332
  :authorizer_credentials_arn,
284
333
  :authorizer_id,
@@ -288,7 +337,9 @@ module Aws::ApiGatewayV2
288
337
  :identity_source,
289
338
  :identity_validation_expression,
290
339
  :jwt_configuration,
291
- :name)
340
+ :name,
341
+ :authorizer_payload_format_version,
342
+ :enable_simple_responses)
292
343
  SENSITIVE = []
293
344
  include Aws::Structure
294
345
  end
@@ -439,6 +490,9 @@ module Aws::ApiGatewayV2
439
490
  # for WebSocket APIs.
440
491
  # @return [Boolean]
441
492
  #
493
+ # @!attribute [rw] disable_execute_api_endpoint
494
+ # @return [Boolean]
495
+ #
442
496
  # @!attribute [rw] name
443
497
  # The name of the API.
444
498
  # @return [String]
@@ -488,6 +542,7 @@ module Aws::ApiGatewayV2
488
542
  :credentials_arn,
489
543
  :description,
490
544
  :disable_schema_validation,
545
+ :disable_execute_api_endpoint,
491
546
  :name,
492
547
  :protocol_type,
493
548
  :route_key,
@@ -610,6 +665,7 @@ module Aws::ApiGatewayV2
610
665
  # credentials_arn: "Arn",
611
666
  # description: "StringWithLengthBetween0And1024",
612
667
  # disable_schema_validation: false,
668
+ # disable_execute_api_endpoint: false,
613
669
  # name: "StringWithLengthBetween1And128", # required
614
670
  # protocol_type: "WEBSOCKET", # required, accepts WEBSOCKET, HTTP
615
671
  # route_key: "SelectionKey",
@@ -650,6 +706,9 @@ module Aws::ApiGatewayV2
650
706
  # @!attribute [rw] disable_schema_validation
651
707
  # @return [Boolean]
652
708
  #
709
+ # @!attribute [rw] disable_execute_api_endpoint
710
+ # @return [Boolean]
711
+ #
653
712
  # @!attribute [rw] name
654
713
  # A string with a length between \[1-128\].
655
714
  # @return [String]
@@ -696,6 +755,7 @@ module Aws::ApiGatewayV2
696
755
  :credentials_arn,
697
756
  :description,
698
757
  :disable_schema_validation,
758
+ :disable_execute_api_endpoint,
699
759
  :name,
700
760
  :protocol_type,
701
761
  :route_key,
@@ -710,6 +770,9 @@ module Aws::ApiGatewayV2
710
770
  # @!attribute [rw] api_endpoint
711
771
  # @return [String]
712
772
  #
773
+ # @!attribute [rw] api_gateway_managed
774
+ # @return [Boolean]
775
+ #
713
776
  # @!attribute [rw] api_id
714
777
  # The identifier.
715
778
  # @return [String]
@@ -742,6 +805,9 @@ module Aws::ApiGatewayV2
742
805
  # @!attribute [rw] disable_schema_validation
743
806
  # @return [Boolean]
744
807
  #
808
+ # @!attribute [rw] disable_execute_api_endpoint
809
+ # @return [Boolean]
810
+ #
745
811
  # @!attribute [rw] import_info
746
812
  # @return [Array<String>]
747
813
  #
@@ -775,12 +841,14 @@ module Aws::ApiGatewayV2
775
841
  #
776
842
  class CreateApiResponse < Struct.new(
777
843
  :api_endpoint,
844
+ :api_gateway_managed,
778
845
  :api_id,
779
846
  :api_key_selection_expression,
780
847
  :cors_configuration,
781
848
  :created_date,
782
849
  :description,
783
850
  :disable_schema_validation,
851
+ :disable_execute_api_endpoint,
784
852
  :import_info,
785
853
  :name,
786
854
  :protocol_type,
@@ -798,19 +866,21 @@ module Aws::ApiGatewayV2
798
866
  # Specifies the required credentials as an IAM role for API Gateway to
799
867
  # invoke the authorizer. To specify an IAM role for API Gateway to
800
868
  # assume, use the role's Amazon Resource Name (ARN). To use
801
- # resource-based permissions on the Lambda function, specify null.
802
- # Supported only for REQUEST authorizers.
869
+ # resource-based permissions on the Lambda function, don't specify
870
+ # this parameter. Supported only for REQUEST authorizers.
803
871
  # @return [String]
804
872
  #
805
873
  # @!attribute [rw] authorizer_result_ttl_in_seconds
806
- # Authorizer caching is not currently supported. Don't specify this
807
- # 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.
808
878
  # @return [Integer]
809
879
  #
810
880
  # @!attribute [rw] authorizer_type
811
- # The authorizer type. For WebSocket APIs, specify REQUEST for a
812
- # Lambda function using incoming request parameters. For HTTP APIs,
813
- # 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).
814
884
  # @return [String]
815
885
  #
816
886
  # @!attribute [rw] authorizer_uri
@@ -835,22 +905,30 @@ module Aws::ApiGatewayV2
835
905
  #
836
906
  # For a REQUEST authorizer, this is optional. The value is a set of
837
907
  # one or more mapping expressions of the specified request parameters.
838
- # Currently, the identity source can be headers, query string
839
- # parameters, stage variables, and context parameters. For example, if
840
- # an Auth header and a Name query string parameter are defined as
841
- # identity sources, this value is route.request.header.Auth,
842
- # route.request.querystring.Name. These parameters will be used to
843
- # perform runtime validation for Lambda-based authorizers by verifying
844
- # all of the identity-related request parameters are present in the
845
- # request, not null, and non-empty. Only when this is true does the
846
- # authorizer invoke the authorizer Lambda function. Otherwise, it
847
- # returns a 401 Unauthorized response without calling the Lambda
848
- # 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].
849
923
  #
850
924
  # For JWT, a single entry that specifies where to extract the JSON Web
851
- # Token (JWT )from inbound requests. Currently only header-based and
925
+ # Token (JWT) from inbound requests. Currently only header-based and
852
926
  # query parameter-based selections are supported, for example
853
- # "$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
854
932
  # @return [Array<String>]
855
933
  #
856
934
  # @!attribute [rw] identity_validation_expression
@@ -866,6 +944,29 @@ module Aws::ApiGatewayV2
866
944
  # The name of the authorizer.
867
945
  # @return [String]
868
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
+ #
869
970
  class CreateAuthorizerInput < Struct.new(
870
971
  :authorizer_credentials_arn,
871
972
  :authorizer_result_ttl_in_seconds,
@@ -874,7 +975,9 @@ module Aws::ApiGatewayV2
874
975
  :identity_source,
875
976
  :identity_validation_expression,
876
977
  :jwt_configuration,
877
- :name)
978
+ :name,
979
+ :authorizer_payload_format_version,
980
+ :enable_simple_responses)
878
981
  SENSITIVE = []
879
982
  include Aws::Structure
880
983
  end
@@ -895,6 +998,8 @@ module Aws::ApiGatewayV2
895
998
  # issuer: "UriWithLengthBetween1And2048",
896
999
  # },
897
1000
  # name: "StringWithLengthBetween1And128", # required
1001
+ # authorizer_payload_format_version: "StringWithLengthBetween1And64",
1002
+ # enable_simple_responses: false,
898
1003
  # }
899
1004
  #
900
1005
  # @!attribute [rw] api_id
@@ -909,9 +1014,9 @@ module Aws::ApiGatewayV2
909
1014
  # @return [Integer]
910
1015
  #
911
1016
  # @!attribute [rw] authorizer_type
912
- # The authorizer type. For WebSocket APIs, specify REQUEST for a
913
- # Lambda function using incoming request parameters. For HTTP APIs,
914
- # 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).
915
1020
  # @return [String]
916
1021
  #
917
1022
  # @!attribute [rw] authorizer_uri
@@ -950,6 +1055,13 @@ module Aws::ApiGatewayV2
950
1055
  # A string with a length between \[1-128\].
951
1056
  # @return [String]
952
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
+ #
953
1065
  class CreateAuthorizerRequest < Struct.new(
954
1066
  :api_id,
955
1067
  :authorizer_credentials_arn,
@@ -959,7 +1071,9 @@ module Aws::ApiGatewayV2
959
1071
  :identity_source,
960
1072
  :identity_validation_expression,
961
1073
  :jwt_configuration,
962
- :name)
1074
+ :name,
1075
+ :authorizer_payload_format_version,
1076
+ :enable_simple_responses)
963
1077
  SENSITIVE = []
964
1078
  include Aws::Structure
965
1079
  end
@@ -977,9 +1091,9 @@ module Aws::ApiGatewayV2
977
1091
  # @return [Integer]
978
1092
  #
979
1093
  # @!attribute [rw] authorizer_type
980
- # The authorizer type. For WebSocket APIs, specify REQUEST for a
981
- # Lambda function using incoming request parameters. For HTTP APIs,
982
- # 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).
983
1097
  # @return [String]
984
1098
  #
985
1099
  # @!attribute [rw] authorizer_uri
@@ -1018,6 +1132,13 @@ module Aws::ApiGatewayV2
1018
1132
  # A string with a length between \[1-128\].
1019
1133
  # @return [String]
1020
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
+ #
1021
1142
  class CreateAuthorizerResponse < Struct.new(
1022
1143
  :authorizer_credentials_arn,
1023
1144
  :authorizer_id,
@@ -1027,7 +1148,9 @@ module Aws::ApiGatewayV2
1027
1148
  :identity_source,
1028
1149
  :identity_validation_expression,
1029
1150
  :jwt_configuration,
1030
- :name)
1151
+ :name,
1152
+ :authorizer_payload_format_version,
1153
+ :enable_simple_responses)
1031
1154
  SENSITIVE = []
1032
1155
  include Aws::Structure
1033
1156
  end
@@ -1120,6 +1243,11 @@ module Aws::ApiGatewayV2
1120
1243
  # The domain name configurations.
1121
1244
  # @return [Array<Types::DomainNameConfiguration>]
1122
1245
  #
1246
+ # @!attribute [rw] mutual_tls_authentication
1247
+ # The mutual TLS authentication configuration for a custom domain
1248
+ # name.
1249
+ # @return [Types::MutualTlsAuthenticationInput]
1250
+ #
1123
1251
  # @!attribute [rw] tags
1124
1252
  # The collection of tags associated with a domain name.
1125
1253
  # @return [Hash<String,String>]
@@ -1127,6 +1255,7 @@ module Aws::ApiGatewayV2
1127
1255
  class CreateDomainNameInput < Struct.new(
1128
1256
  :domain_name,
1129
1257
  :domain_name_configurations,
1258
+ :mutual_tls_authentication,
1130
1259
  :tags)
1131
1260
  SENSITIVE = []
1132
1261
  include Aws::Structure
@@ -1150,6 +1279,10 @@ module Aws::ApiGatewayV2
1150
1279
  # security_policy: "TLS_1_0", # accepts TLS_1_0, TLS_1_2
1151
1280
  # },
1152
1281
  # ],
1282
+ # mutual_tls_authentication: {
1283
+ # truststore_uri: "UriWithLengthBetween1And2048",
1284
+ # truststore_version: "StringWithLengthBetween1And64",
1285
+ # },
1153
1286
  # tags: {
1154
1287
  # "__string" => "StringWithLengthBetween1And1600",
1155
1288
  # },
@@ -1163,6 +1296,12 @@ module Aws::ApiGatewayV2
1163
1296
  # The domain name configurations.
1164
1297
  # @return [Array<Types::DomainNameConfiguration>]
1165
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
+ #
1166
1305
  # @!attribute [rw] tags
1167
1306
  # Represents a collection of tags associated with the resource.
1168
1307
  # @return [Hash<String,String>]
@@ -1170,6 +1309,7 @@ module Aws::ApiGatewayV2
1170
1309
  class CreateDomainNameRequest < Struct.new(
1171
1310
  :domain_name,
1172
1311
  :domain_name_configurations,
1312
+ :mutual_tls_authentication,
1173
1313
  :tags)
1174
1314
  SENSITIVE = []
1175
1315
  include Aws::Structure
@@ -1192,6 +1332,12 @@ module Aws::ApiGatewayV2
1192
1332
  # The domain name configurations.
1193
1333
  # @return [Array<Types::DomainNameConfiguration>]
1194
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
+ #
1195
1341
  # @!attribute [rw] tags
1196
1342
  # Represents a collection of tags associated with the resource.
1197
1343
  # @return [Hash<String,String>]
@@ -1200,6 +1346,7 @@ module Aws::ApiGatewayV2
1200
1346
  :api_mapping_selection_expression,
1201
1347
  :domain_name,
1202
1348
  :domain_name_configurations,
1349
+ :mutual_tls_authentication,
1203
1350
  :tags)
1204
1351
  SENSITIVE = []
1205
1352
  include Aws::Structure
@@ -1253,6 +1400,16 @@ module Aws::ApiGatewayV2
1253
1400
  # Specifies the integration's HTTP method type.
1254
1401
  # @return [String]
1255
1402
  #
1403
+ # @!attribute [rw] integration_subtype
1404
+ # Supported only for HTTP API AWS\_PROXY integrations. Specifies the
1405
+ # AWS service action to invoke. To learn more, see [Integration
1406
+ # subtype reference][1].
1407
+ #
1408
+ #
1409
+ #
1410
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services-reference.html
1411
+ # @return [String]
1412
+ #
1256
1413
  # @!attribute [rw] integration_type
1257
1414
  # The integration type of an integration. One of the following:
1258
1415
  #
@@ -1262,10 +1419,9 @@ module Aws::ApiGatewayV2
1262
1419
  # custom integration. With any other AWS service action, this is known
1263
1420
  # as AWS integration. Supported only for WebSocket APIs.
1264
1421
  #
1265
- # AWS\_PROXY: for integrating the route or method request with the
1266
- # Lambda function-invoking action with the client request passed
1267
- # through as-is. This integration is also referred to as Lambda proxy
1268
- # integration.
1422
+ # AWS\_PROXY: for integrating the route or method request with a
1423
+ # Lambda function or other AWS service action. This integration is
1424
+ # also referred to as a Lambda proxy integration.
1269
1425
  #
1270
1426
  # HTTP: for integrating the route or method request with an HTTP
1271
1427
  # endpoint. This integration is also referred to as the HTTP custom
@@ -1324,16 +1480,26 @@ module Aws::ApiGatewayV2
1324
1480
  # @return [String]
1325
1481
  #
1326
1482
  # @!attribute [rw] request_parameters
1327
- # A key-value map specifying request parameters that are passed from
1328
- # the method request to the backend. The key is an integration request
1329
- # parameter name and the associated value is a method request
1330
- # parameter value or static value that must be enclosed within single
1331
- # quotes and pre-encoded as required by the backend. The method
1332
- # request parameter value must match the pattern of
1483
+ # For WebSocket APIs, a key-value map specifying request parameters
1484
+ # that are passed from the method request to the backend. The key is
1485
+ # an integration request parameter name and the associated value is a
1486
+ # method request parameter value or static value that must be enclosed
1487
+ # within single quotes and pre-encoded as required by the backend. The
1488
+ # method request parameter value must match the pattern of
1333
1489
  # method.request.*\\\{location\\}*.*\\\{name\\}* , where
1334
1490
  # *\\\{location\\}* is querystring, path, or header; and *\\\{name\\}*
1335
- # must be a valid and unique method request parameter name. Supported
1336
- # only for WebSocket APIs.
1491
+ # must be a valid and unique method request parameter name.
1492
+ #
1493
+ # For HTTP APIs, request parameters are a key-value map specifying
1494
+ # parameters that are passed to AWS\_PROXY integrations with a
1495
+ # specified integrationSubtype. You can provide static values, or map
1496
+ # request data, stage variables, or context variables that are
1497
+ # evaluated at runtime. To learn more, see [Working with AWS service
1498
+ # integrations for HTTP APIs][1].
1499
+ #
1500
+ #
1501
+ #
1502
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html
1337
1503
  # @return [Hash<String,String>]
1338
1504
  #
1339
1505
  # @!attribute [rw] request_templates
@@ -1368,6 +1534,7 @@ module Aws::ApiGatewayV2
1368
1534
  :credentials_arn,
1369
1535
  :description,
1370
1536
  :integration_method,
1537
+ :integration_subtype,
1371
1538
  :integration_type,
1372
1539
  :integration_uri,
1373
1540
  :passthrough_behavior,
@@ -1392,6 +1559,7 @@ module Aws::ApiGatewayV2
1392
1559
  # credentials_arn: "Arn",
1393
1560
  # description: "StringWithLengthBetween0And1024",
1394
1561
  # integration_method: "StringWithLengthBetween1And64",
1562
+ # integration_subtype: "StringWithLengthBetween1And128",
1395
1563
  # integration_type: "AWS", # required, accepts AWS, HTTP, MOCK, HTTP_PROXY, AWS_PROXY
1396
1564
  # integration_uri: "UriWithLengthBetween1And2048",
1397
1565
  # passthrough_behavior: "WHEN_NO_MATCH", # accepts WHEN_NO_MATCH, NEVER, WHEN_NO_TEMPLATES
@@ -1437,6 +1605,10 @@ module Aws::ApiGatewayV2
1437
1605
  # A string with a length between \[1-64\].
1438
1606
  # @return [String]
1439
1607
  #
1608
+ # @!attribute [rw] integration_subtype
1609
+ # A string with a length between \[1-128\].
1610
+ # @return [String]
1611
+ #
1440
1612
  # @!attribute [rw] integration_type
1441
1613
  # Represents an API method integration type.
1442
1614
  # @return [String]
@@ -1502,6 +1674,7 @@ module Aws::ApiGatewayV2
1502
1674
  :credentials_arn,
1503
1675
  :description,
1504
1676
  :integration_method,
1677
+ :integration_subtype,
1505
1678
  :integration_type,
1506
1679
  :integration_uri,
1507
1680
  :passthrough_behavior,
@@ -1556,6 +1729,10 @@ module Aws::ApiGatewayV2
1556
1729
  # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions
1557
1730
  # @return [String]
1558
1731
  #
1732
+ # @!attribute [rw] integration_subtype
1733
+ # A string with a length between \[1-128\].
1734
+ # @return [String]
1735
+ #
1559
1736
  # @!attribute [rw] integration_type
1560
1737
  # Represents an API method integration type.
1561
1738
  # @return [String]
@@ -1623,6 +1800,7 @@ module Aws::ApiGatewayV2
1623
1800
  :integration_id,
1624
1801
  :integration_method,
1625
1802
  :integration_response_selection_expression,
1803
+ :integration_subtype,
1626
1804
  :integration_type,
1627
1805
  :integration_uri,
1628
1806
  :passthrough_behavior,
@@ -1952,8 +2130,9 @@ module Aws::ApiGatewayV2
1952
2130
  # The authorization type for the route. For WebSocket APIs, valid
1953
2131
  # values are NONE for open access, AWS\_IAM for using AWS IAM
1954
2132
  # permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs,
1955
- # valid values are NONE for open access, or JWT for using JSON Web
1956
- # Tokens.
2133
+ # valid values are NONE for open access, JWT for using JSON Web
2134
+ # Tokens, AWS\_IAM for using AWS IAM permissions, and CUSTOM for using
2135
+ # a Lambda authorizer.
1957
2136
  # @return [String]
1958
2137
  #
1959
2138
  # @!attribute [rw] authorizer_id
@@ -2055,7 +2234,8 @@ module Aws::ApiGatewayV2
2055
2234
  # The authorization type. For WebSocket APIs, valid values are NONE
2056
2235
  # for open access, AWS\_IAM for using AWS IAM permissions, and CUSTOM
2057
2236
  # for using a Lambda authorizer. For HTTP APIs, valid values are NONE
2058
- # for open access, or JWT for using JSON Web Tokens.
2237
+ # for open access, JWT for using JSON Web Tokens, AWS\_IAM for using
2238
+ # AWS IAM permissions, and CUSTOM for using a Lambda authorizer.
2059
2239
  # @return [String]
2060
2240
  #
2061
2241
  # @!attribute [rw] authorizer_id
@@ -2146,7 +2326,8 @@ module Aws::ApiGatewayV2
2146
2326
  # The authorization type. For WebSocket APIs, valid values are NONE
2147
2327
  # for open access, AWS\_IAM for using AWS IAM permissions, and CUSTOM
2148
2328
  # for using a Lambda authorizer. For HTTP APIs, valid values are NONE
2149
- # for open access, or JWT for using JSON Web Tokens.
2329
+ # for open access, JWT for using JSON Web Tokens, AWS\_IAM for using
2330
+ # AWS IAM permissions, and CUSTOM for using a Lambda authorizer.
2150
2331
  # @return [String]
2151
2332
  #
2152
2333
  # @!attribute [rw] authorizer_id
@@ -3106,6 +3287,11 @@ module Aws::ApiGatewayV2
3106
3287
  # The domain name configurations.
3107
3288
  # @return [Array<Types::DomainNameConfiguration>]
3108
3289
  #
3290
+ # @!attribute [rw] mutual_tls_authentication
3291
+ # The mutual TLS authentication configuration for a custom domain
3292
+ # name.
3293
+ # @return [Types::MutualTlsAuthentication]
3294
+ #
3109
3295
  # @!attribute [rw] tags
3110
3296
  # The collection of tags associated with a domain name.
3111
3297
  # @return [Hash<String,String>]
@@ -3114,6 +3300,7 @@ module Aws::ApiGatewayV2
3114
3300
  :api_mapping_selection_expression,
3115
3301
  :domain_name,
3116
3302
  :domain_name_configurations,
3303
+ :mutual_tls_authentication,
3117
3304
  :tags)
3118
3305
  SENSITIVE = []
3119
3306
  include Aws::Structure
@@ -3266,6 +3453,27 @@ module Aws::ApiGatewayV2
3266
3453
  include Aws::Structure
3267
3454
  end
3268
3455
 
3456
+ # @note When making an API call, you may pass ResetAuthorizersCacheRequest
3457
+ # data as a hash:
3458
+ #
3459
+ # {
3460
+ # api_id: "__string", # required
3461
+ # stage_name: "__string", # required
3462
+ # }
3463
+ #
3464
+ # @!attribute [rw] api_id
3465
+ # @return [String]
3466
+ #
3467
+ # @!attribute [rw] stage_name
3468
+ # @return [String]
3469
+ #
3470
+ class ResetAuthorizersCacheRequest < Struct.new(
3471
+ :api_id,
3472
+ :stage_name)
3473
+ SENSITIVE = []
3474
+ include Aws::Structure
3475
+ end
3476
+
3269
3477
  # @note When making an API call, you may pass GetApiMappingRequest
3270
3478
  # data as a hash:
3271
3479
  #
@@ -3379,6 +3587,9 @@ module Aws::ApiGatewayV2
3379
3587
  # @!attribute [rw] api_endpoint
3380
3588
  # @return [String]
3381
3589
  #
3590
+ # @!attribute [rw] api_gateway_managed
3591
+ # @return [Boolean]
3592
+ #
3382
3593
  # @!attribute [rw] api_id
3383
3594
  # The identifier.
3384
3595
  # @return [String]
@@ -3411,6 +3622,9 @@ module Aws::ApiGatewayV2
3411
3622
  # @!attribute [rw] disable_schema_validation
3412
3623
  # @return [Boolean]
3413
3624
  #
3625
+ # @!attribute [rw] disable_execute_api_endpoint
3626
+ # @return [Boolean]
3627
+ #
3414
3628
  # @!attribute [rw] import_info
3415
3629
  # @return [Array<String>]
3416
3630
  #
@@ -3444,12 +3658,14 @@ module Aws::ApiGatewayV2
3444
3658
  #
3445
3659
  class GetApiResponse < Struct.new(
3446
3660
  :api_endpoint,
3661
+ :api_gateway_managed,
3447
3662
  :api_id,
3448
3663
  :api_key_selection_expression,
3449
3664
  :cors_configuration,
3450
3665
  :created_date,
3451
3666
  :description,
3452
3667
  :disable_schema_validation,
3668
+ :disable_execute_api_endpoint,
3453
3669
  :import_info,
3454
3670
  :name,
3455
3671
  :protocol_type,
@@ -3531,9 +3747,9 @@ module Aws::ApiGatewayV2
3531
3747
  # @return [Integer]
3532
3748
  #
3533
3749
  # @!attribute [rw] authorizer_type
3534
- # The authorizer type. For WebSocket APIs, specify REQUEST for a
3535
- # Lambda function using incoming request parameters. For HTTP APIs,
3536
- # specify JWT to use JSON Web Tokens.
3750
+ # The authorizer type. Specify REQUEST for a Lambda function using
3751
+ # incoming request parameters. Specify JWT to use JSON Web Tokens
3752
+ # (supported only for HTTP APIs).
3537
3753
  # @return [String]
3538
3754
  #
3539
3755
  # @!attribute [rw] authorizer_uri
@@ -3572,6 +3788,13 @@ module Aws::ApiGatewayV2
3572
3788
  # A string with a length between \[1-128\].
3573
3789
  # @return [String]
3574
3790
  #
3791
+ # @!attribute [rw] authorizer_payload_format_version
3792
+ # A string with a length between \[1-64\].
3793
+ # @return [String]
3794
+ #
3795
+ # @!attribute [rw] enable_simple_responses
3796
+ # @return [Boolean]
3797
+ #
3575
3798
  class GetAuthorizerResponse < Struct.new(
3576
3799
  :authorizer_credentials_arn,
3577
3800
  :authorizer_id,
@@ -3581,7 +3804,9 @@ module Aws::ApiGatewayV2
3581
3804
  :identity_source,
3582
3805
  :identity_validation_expression,
3583
3806
  :jwt_configuration,
3584
- :name)
3807
+ :name,
3808
+ :authorizer_payload_format_version,
3809
+ :enable_simple_responses)
3585
3810
  SENSITIVE = []
3586
3811
  include Aws::Structure
3587
3812
  end
@@ -3754,6 +3979,12 @@ module Aws::ApiGatewayV2
3754
3979
  # The domain name configurations.
3755
3980
  # @return [Array<Types::DomainNameConfiguration>]
3756
3981
  #
3982
+ # @!attribute [rw] mutual_tls_authentication
3983
+ # If specified, API Gateway performs two-way authentication between
3984
+ # the client and the server. Clients must present a trusted
3985
+ # certificate to access your API.
3986
+ # @return [Types::MutualTlsAuthentication]
3987
+ #
3757
3988
  # @!attribute [rw] tags
3758
3989
  # Represents a collection of tags associated with the resource.
3759
3990
  # @return [Hash<String,String>]
@@ -3762,6 +3993,7 @@ module Aws::ApiGatewayV2
3762
3993
  :api_mapping_selection_expression,
3763
3994
  :domain_name,
3764
3995
  :domain_name_configurations,
3996
+ :mutual_tls_authentication,
3765
3997
  :tags)
3766
3998
  SENSITIVE = []
3767
3999
  include Aws::Structure
@@ -3865,6 +4097,10 @@ module Aws::ApiGatewayV2
3865
4097
  # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions
3866
4098
  # @return [String]
3867
4099
  #
4100
+ # @!attribute [rw] integration_subtype
4101
+ # A string with a length between \[1-128\].
4102
+ # @return [String]
4103
+ #
3868
4104
  # @!attribute [rw] integration_type
3869
4105
  # Represents an API method integration type.
3870
4106
  # @return [String]
@@ -3932,6 +4168,7 @@ module Aws::ApiGatewayV2
3932
4168
  :integration_id,
3933
4169
  :integration_method,
3934
4170
  :integration_response_selection_expression,
4171
+ :integration_subtype,
3935
4172
  :integration_type,
3936
4173
  :integration_uri,
3937
4174
  :passthrough_behavior,
@@ -4284,7 +4521,8 @@ module Aws::ApiGatewayV2
4284
4521
  # The authorization type. For WebSocket APIs, valid values are NONE
4285
4522
  # for open access, AWS\_IAM for using AWS IAM permissions, and CUSTOM
4286
4523
  # for using a Lambda authorizer. For HTTP APIs, valid values are NONE
4287
- # for open access, or JWT for using JSON Web Tokens.
4524
+ # for open access, JWT for using JSON Web Tokens, AWS\_IAM for using
4525
+ # AWS IAM permissions, and CUSTOM for using a Lambda authorizer.
4288
4526
  # @return [String]
4289
4527
  #
4290
4528
  # @!attribute [rw] authorizer_id
@@ -4813,6 +5051,9 @@ module Aws::ApiGatewayV2
4813
5051
  # @!attribute [rw] api_endpoint
4814
5052
  # @return [String]
4815
5053
  #
5054
+ # @!attribute [rw] api_gateway_managed
5055
+ # @return [Boolean]
5056
+ #
4816
5057
  # @!attribute [rw] api_id
4817
5058
  # The identifier.
4818
5059
  # @return [String]
@@ -4845,6 +5086,9 @@ module Aws::ApiGatewayV2
4845
5086
  # @!attribute [rw] disable_schema_validation
4846
5087
  # @return [Boolean]
4847
5088
  #
5089
+ # @!attribute [rw] disable_execute_api_endpoint
5090
+ # @return [Boolean]
5091
+ #
4848
5092
  # @!attribute [rw] import_info
4849
5093
  # @return [Array<String>]
4850
5094
  #
@@ -4878,12 +5122,14 @@ module Aws::ApiGatewayV2
4878
5122
  #
4879
5123
  class ImportApiResponse < Struct.new(
4880
5124
  :api_endpoint,
5125
+ :api_gateway_managed,
4881
5126
  :api_id,
4882
5127
  :api_key_selection_expression,
4883
5128
  :cors_configuration,
4884
5129
  :created_date,
4885
5130
  :description,
4886
5131
  :disable_schema_validation,
5132
+ :disable_execute_api_endpoint,
4887
5133
  :import_info,
4888
5134
  :name,
4889
5135
  :protocol_type,
@@ -4964,6 +5210,16 @@ module Aws::ApiGatewayV2
4964
5210
  # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-integration-response-selection-expressions
4965
5211
  # @return [String]
4966
5212
  #
5213
+ # @!attribute [rw] integration_subtype
5214
+ # Supported only for HTTP API AWS\_PROXY integrations. Specifies the
5215
+ # AWS service action to invoke. To learn more, see [Integration
5216
+ # subtype reference][1].
5217
+ #
5218
+ #
5219
+ #
5220
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services-reference.html
5221
+ # @return [String]
5222
+ #
4967
5223
  # @!attribute [rw] integration_type
4968
5224
  # The integration type of an integration. One of the following:
4969
5225
  #
@@ -4973,10 +5229,9 @@ module Aws::ApiGatewayV2
4973
5229
  # custom integration. With any other AWS service action, this is known
4974
5230
  # as AWS integration. Supported only for WebSocket APIs.
4975
5231
  #
4976
- # AWS\_PROXY: for integrating the route or method request with the
4977
- # Lambda function-invoking action with the client request passed
4978
- # through as-is. This integration is also referred to as Lambda proxy
4979
- # integration.
5232
+ # AWS\_PROXY: for integrating the route or method request with a
5233
+ # Lambda function or other AWS service action. This integration is
5234
+ # also referred to as a Lambda proxy integration.
4980
5235
  #
4981
5236
  # HTTP: for integrating the route or method request with an HTTP
4982
5237
  # endpoint. This integration is also referred to as the HTTP custom
@@ -5034,16 +5289,26 @@ module Aws::ApiGatewayV2
5034
5289
  # @return [String]
5035
5290
  #
5036
5291
  # @!attribute [rw] request_parameters
5037
- # A key-value map specifying request parameters that are passed from
5038
- # the method request to the backend. The key is an integration request
5039
- # parameter name and the associated value is a method request
5040
- # parameter value or static value that must be enclosed within single
5041
- # quotes and pre-encoded as required by the backend. The method
5042
- # request parameter value must match the pattern of
5292
+ # For WebSocket APIs, a key-value map specifying request parameters
5293
+ # that are passed from the method request to the backend. The key is
5294
+ # an integration request parameter name and the associated value is a
5295
+ # method request parameter value or static value that must be enclosed
5296
+ # within single quotes and pre-encoded as required by the backend. The
5297
+ # method request parameter value must match the pattern of
5043
5298
  # method.request.*\\\{location\\}*.*\\\{name\\}* , where
5044
5299
  # *\\\{location\\}* is querystring, path, or header; and *\\\{name\\}*
5045
- # must be a valid and unique method request parameter name. Supported
5046
- # only for WebSocket APIs.
5300
+ # must be a valid and unique method request parameter name.
5301
+ #
5302
+ # For HTTP APIs, request parameters are a key-value map specifying
5303
+ # parameters that are passed to AWS\_PROXY integrations with a
5304
+ # specified integrationSubtype. You can provide static values, or map
5305
+ # request data, stage variables, or context variables that are
5306
+ # evaluated at runtime. To learn more, see [Working with AWS service
5307
+ # integrations for HTTP APIs][1].
5308
+ #
5309
+ #
5310
+ #
5311
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html
5047
5312
  # @return [Hash<String,String>]
5048
5313
  #
5049
5314
  # @!attribute [rw] request_templates
@@ -5082,6 +5347,7 @@ module Aws::ApiGatewayV2
5082
5347
  :integration_id,
5083
5348
  :integration_method,
5084
5349
  :integration_response_selection_expression,
5350
+ :integration_subtype,
5085
5351
  :integration_type,
5086
5352
  :integration_uri,
5087
5353
  :passthrough_behavior,
@@ -5312,6 +5578,77 @@ module Aws::ApiGatewayV2
5312
5578
  include Aws::Structure
5313
5579
  end
5314
5580
 
5581
+ # If specified, API Gateway performs two-way authentication between the
5582
+ # client and the server. Clients must present a trusted certificate to
5583
+ # access your API.
5584
+ #
5585
+ # @!attribute [rw] truststore_uri
5586
+ # An Amazon S3 URL that specifies the truststore for mutual TLS
5587
+ # authentication, for example, s3://*bucket-name*/*key-name*. The
5588
+ # truststore can contain certificates from public or private
5589
+ # certificate authorities. To update the truststore, upload a new
5590
+ # version to S3, and then update your custom domain name to use the
5591
+ # new version. To update the truststore, you must have permissions to
5592
+ # access the S3 object.
5593
+ # @return [String]
5594
+ #
5595
+ # @!attribute [rw] truststore_version
5596
+ # The version of the S3 object that contains your truststore. To
5597
+ # specify a version, you must have versioning enabled for the S3
5598
+ # bucket.
5599
+ # @return [String]
5600
+ #
5601
+ # @!attribute [rw] truststore_warnings
5602
+ # A list of warnings that API Gateway returns while processing your
5603
+ # truststore. Invalid certificates produce warnings. Mutual TLS is
5604
+ # still enabled, but some clients might not be able to access your
5605
+ # API. To resolve warnings, upload a new truststore to S3, and then
5606
+ # update you domain name to use the new version.
5607
+ # @return [Array<String>]
5608
+ #
5609
+ class MutualTlsAuthentication < Struct.new(
5610
+ :truststore_uri,
5611
+ :truststore_version,
5612
+ :truststore_warnings)
5613
+ SENSITIVE = []
5614
+ include Aws::Structure
5615
+ end
5616
+
5617
+ # If specified, API Gateway performs two-way authentication between the
5618
+ # client and the server. Clients must present a trusted certificate to
5619
+ # access your API.
5620
+ #
5621
+ # @note When making an API call, you may pass MutualTlsAuthenticationInput
5622
+ # data as a hash:
5623
+ #
5624
+ # {
5625
+ # truststore_uri: "UriWithLengthBetween1And2048",
5626
+ # truststore_version: "StringWithLengthBetween1And64",
5627
+ # }
5628
+ #
5629
+ # @!attribute [rw] truststore_uri
5630
+ # An Amazon S3 URL that specifies the truststore for mutual TLS
5631
+ # authentication, for example, s3://*bucket-name*/*key-name*. The
5632
+ # truststore can contain certificates from public or private
5633
+ # certificate authorities. To update the truststore, upload a new
5634
+ # version to S3, and then update your custom domain name to use the
5635
+ # new version. To update the truststore, you must have permissions to
5636
+ # access the S3 object.
5637
+ # @return [String]
5638
+ #
5639
+ # @!attribute [rw] truststore_version
5640
+ # The version of the S3 object that contains your truststore. To
5641
+ # specify a version, you must have versioning enabled for the S3
5642
+ # bucket.
5643
+ # @return [String]
5644
+ #
5645
+ class MutualTlsAuthenticationInput < Struct.new(
5646
+ :truststore_uri,
5647
+ :truststore_version)
5648
+ SENSITIVE = []
5649
+ include Aws::Structure
5650
+ end
5651
+
5315
5652
  # The resource specified in the request was not found. See the message
5316
5653
  # field for more information.
5317
5654
  #
@@ -5397,6 +5734,9 @@ module Aws::ApiGatewayV2
5397
5734
  # @!attribute [rw] api_endpoint
5398
5735
  # @return [String]
5399
5736
  #
5737
+ # @!attribute [rw] api_gateway_managed
5738
+ # @return [Boolean]
5739
+ #
5400
5740
  # @!attribute [rw] api_id
5401
5741
  # The identifier.
5402
5742
  # @return [String]
@@ -5429,6 +5769,9 @@ module Aws::ApiGatewayV2
5429
5769
  # @!attribute [rw] disable_schema_validation
5430
5770
  # @return [Boolean]
5431
5771
  #
5772
+ # @!attribute [rw] disable_execute_api_endpoint
5773
+ # @return [Boolean]
5774
+ #
5432
5775
  # @!attribute [rw] import_info
5433
5776
  # @return [Array<String>]
5434
5777
  #
@@ -5462,12 +5805,14 @@ module Aws::ApiGatewayV2
5462
5805
  #
5463
5806
  class ReimportApiResponse < Struct.new(
5464
5807
  :api_endpoint,
5808
+ :api_gateway_managed,
5465
5809
  :api_id,
5466
5810
  :api_key_selection_expression,
5467
5811
  :cors_configuration,
5468
5812
  :created_date,
5469
5813
  :description,
5470
5814
  :disable_schema_validation,
5815
+ :disable_execute_api_endpoint,
5471
5816
  :import_info,
5472
5817
  :name,
5473
5818
  :protocol_type,
@@ -5508,8 +5853,9 @@ module Aws::ApiGatewayV2
5508
5853
  # The authorization type for the route. For WebSocket APIs, valid
5509
5854
  # values are NONE for open access, AWS\_IAM for using AWS IAM
5510
5855
  # permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs,
5511
- # valid values are NONE for open access, or JWT for using JSON Web
5512
- # Tokens.
5856
+ # valid values are NONE for open access, JWT for using JSON Web
5857
+ # Tokens, AWS\_IAM for using AWS IAM permissions, and CUSTOM for using
5858
+ # a Lambda authorizer.
5513
5859
  # @return [String]
5514
5860
  #
5515
5861
  # @!attribute [rw] authorizer_id
@@ -5958,6 +6304,9 @@ module Aws::ApiGatewayV2
5958
6304
  # for WebSocket APIs.
5959
6305
  # @return [Boolean]
5960
6306
  #
6307
+ # @!attribute [rw] disable_execute_api_endpoint
6308
+ # @return [Boolean]
6309
+ #
5961
6310
  # @!attribute [rw] name
5962
6311
  # The name of the API.
5963
6312
  # @return [String]
@@ -5995,6 +6344,7 @@ module Aws::ApiGatewayV2
5995
6344
  :credentials_arn,
5996
6345
  :description,
5997
6346
  :disable_schema_validation,
6347
+ :disable_execute_api_endpoint,
5998
6348
  :name,
5999
6349
  :route_key,
6000
6350
  :route_selection_expression,
@@ -6121,6 +6471,7 @@ module Aws::ApiGatewayV2
6121
6471
  # credentials_arn: "Arn",
6122
6472
  # description: "StringWithLengthBetween0And1024",
6123
6473
  # disable_schema_validation: false,
6474
+ # disable_execute_api_endpoint: false,
6124
6475
  # name: "StringWithLengthBetween1And128",
6125
6476
  # route_key: "SelectionKey",
6126
6477
  # route_selection_expression: "SelectionExpression",
@@ -6160,6 +6511,9 @@ module Aws::ApiGatewayV2
6160
6511
  # @!attribute [rw] disable_schema_validation
6161
6512
  # @return [Boolean]
6162
6513
  #
6514
+ # @!attribute [rw] disable_execute_api_endpoint
6515
+ # @return [Boolean]
6516
+ #
6163
6517
  # @!attribute [rw] name
6164
6518
  # A string with a length between \[1-128\].
6165
6519
  # @return [String]
@@ -6199,6 +6553,7 @@ module Aws::ApiGatewayV2
6199
6553
  :credentials_arn,
6200
6554
  :description,
6201
6555
  :disable_schema_validation,
6556
+ :disable_execute_api_endpoint,
6202
6557
  :name,
6203
6558
  :route_key,
6204
6559
  :route_selection_expression,
@@ -6211,6 +6566,9 @@ module Aws::ApiGatewayV2
6211
6566
  # @!attribute [rw] api_endpoint
6212
6567
  # @return [String]
6213
6568
  #
6569
+ # @!attribute [rw] api_gateway_managed
6570
+ # @return [Boolean]
6571
+ #
6214
6572
  # @!attribute [rw] api_id
6215
6573
  # The identifier.
6216
6574
  # @return [String]
@@ -6243,6 +6601,9 @@ module Aws::ApiGatewayV2
6243
6601
  # @!attribute [rw] disable_schema_validation
6244
6602
  # @return [Boolean]
6245
6603
  #
6604
+ # @!attribute [rw] disable_execute_api_endpoint
6605
+ # @return [Boolean]
6606
+ #
6246
6607
  # @!attribute [rw] import_info
6247
6608
  # @return [Array<String>]
6248
6609
  #
@@ -6276,12 +6637,14 @@ module Aws::ApiGatewayV2
6276
6637
  #
6277
6638
  class UpdateApiResponse < Struct.new(
6278
6639
  :api_endpoint,
6640
+ :api_gateway_managed,
6279
6641
  :api_id,
6280
6642
  :api_key_selection_expression,
6281
6643
  :cors_configuration,
6282
6644
  :created_date,
6283
6645
  :description,
6284
6646
  :disable_schema_validation,
6647
+ :disable_execute_api_endpoint,
6285
6648
  :import_info,
6286
6649
  :name,
6287
6650
  :protocol_type,
@@ -6303,14 +6666,16 @@ module Aws::ApiGatewayV2
6303
6666
  # @return [String]
6304
6667
  #
6305
6668
  # @!attribute [rw] authorizer_result_ttl_in_seconds
6306
- # Authorizer caching is not currently supported. Don't specify this
6307
- # value for authorizers.
6669
+ # The time to live (TTL) for cached authorizer results, in seconds. If
6670
+ # it equals 0, authorization caching is disabled. If it is greater
6671
+ # than 0, API Gateway caches authorizer responses. The maximum value
6672
+ # is 3600, or 1 hour. Supported only for HTTP API Lambda authorizers.
6308
6673
  # @return [Integer]
6309
6674
  #
6310
6675
  # @!attribute [rw] authorizer_type
6311
- # The authorizer type. For WebSocket APIs, specify REQUEST for a
6312
- # Lambda function using incoming request parameters. For HTTP APIs,
6313
- # specify JWT to use JSON Web Tokens.
6676
+ # The authorizer type. Specify REQUEST for a Lambda function using
6677
+ # incoming request parameters. Specify JWT to use JSON Web Tokens
6678
+ # (supported only for HTTP APIs).
6314
6679
  # @return [String]
6315
6680
  #
6316
6681
  # @!attribute [rw] authorizer_uri
@@ -6335,22 +6700,30 @@ module Aws::ApiGatewayV2
6335
6700
  #
6336
6701
  # For a REQUEST authorizer, this is optional. The value is a set of
6337
6702
  # one or more mapping expressions of the specified request parameters.
6338
- # Currently, the identity source can be headers, query string
6339
- # parameters, stage variables, and context parameters. For example, if
6340
- # an Auth header and a Name query string parameter are defined as
6341
- # identity sources, this value is route.request.header.Auth,
6342
- # route.request.querystring.Name. These parameters will be used to
6343
- # perform runtime validation for Lambda-based authorizers by verifying
6344
- # all of the identity-related request parameters are present in the
6345
- # request, not null, and non-empty. Only when this is true does the
6346
- # authorizer invoke the authorizer Lambda function. Otherwise, it
6347
- # returns a 401 Unauthorized response without calling the Lambda
6348
- # function.
6703
+ # The identity source can be headers, query string parameters, stage
6704
+ # variables, and context parameters. For example, if an Auth header
6705
+ # and a Name query string parameter are defined as identity sources,
6706
+ # this value is route.request.header.Auth,
6707
+ # route.request.querystring.Name for WebSocket APIs. For HTTP APIs,
6708
+ # use selection expressions prefixed with $, for example,
6709
+ # $request.header.Auth, $request.querystring.Name. These parameters
6710
+ # are used to perform runtime validation for Lambda-based authorizers
6711
+ # by verifying all of the identity-related request parameters are
6712
+ # present in the request, not null, and non-empty. Only when this is
6713
+ # true does the authorizer invoke the authorizer Lambda function.
6714
+ # Otherwise, it returns a 401 Unauthorized response without calling
6715
+ # the Lambda function. For HTTP APIs, identity sources are also used
6716
+ # as the cache key when caching is enabled. To learn more, see
6717
+ # [Working with AWS Lambda authorizers for HTTP APIs][1].
6349
6718
  #
6350
6719
  # For JWT, a single entry that specifies where to extract the JSON Web
6351
6720
  # Token (JWT) from inbound requests. Currently only header-based and
6352
6721
  # query parameter-based selections are supported, for example
6353
- # "$request.header.Authorization".
6722
+ # $request.header.Authorization.
6723
+ #
6724
+ #
6725
+ #
6726
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html
6354
6727
  # @return [Array<String>]
6355
6728
  #
6356
6729
  # @!attribute [rw] identity_validation_expression
@@ -6366,6 +6739,29 @@ module Aws::ApiGatewayV2
6366
6739
  # The name of the authorizer.
6367
6740
  # @return [String]
6368
6741
  #
6742
+ # @!attribute [rw] authorizer_payload_format_version
6743
+ # Specifies the format of the payload sent to an HTTP API Lambda
6744
+ # authorizer. Required for HTTP API Lambda authorizers. Supported
6745
+ # values are 1.0 and 2.0. To learn more, see [Working with AWS Lambda
6746
+ # authorizers for HTTP APIs][1].
6747
+ #
6748
+ #
6749
+ #
6750
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html
6751
+ # @return [String]
6752
+ #
6753
+ # @!attribute [rw] enable_simple_responses
6754
+ # Specifies whether a Lambda authorizer returns a response in a simple
6755
+ # format. By default, a Lambda authorizer must return an IAM policy.
6756
+ # If enabled, the Lambda authorizer can return a boolean value instead
6757
+ # of an IAM policy. Supported only for HTTP APIs. To learn more, see
6758
+ # [Working with AWS Lambda authorizers for HTTP APIs][1]
6759
+ #
6760
+ #
6761
+ #
6762
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html
6763
+ # @return [Boolean]
6764
+ #
6369
6765
  class UpdateAuthorizerInput < Struct.new(
6370
6766
  :authorizer_credentials_arn,
6371
6767
  :authorizer_result_ttl_in_seconds,
@@ -6374,7 +6770,9 @@ module Aws::ApiGatewayV2
6374
6770
  :identity_source,
6375
6771
  :identity_validation_expression,
6376
6772
  :jwt_configuration,
6377
- :name)
6773
+ :name,
6774
+ :authorizer_payload_format_version,
6775
+ :enable_simple_responses)
6378
6776
  SENSITIVE = []
6379
6777
  include Aws::Structure
6380
6778
  end
@@ -6396,6 +6794,8 @@ module Aws::ApiGatewayV2
6396
6794
  # issuer: "UriWithLengthBetween1And2048",
6397
6795
  # },
6398
6796
  # name: "StringWithLengthBetween1And128",
6797
+ # authorizer_payload_format_version: "StringWithLengthBetween1And64",
6798
+ # enable_simple_responses: false,
6399
6799
  # }
6400
6800
  #
6401
6801
  # @!attribute [rw] api_id
@@ -6413,9 +6813,9 @@ module Aws::ApiGatewayV2
6413
6813
  # @return [Integer]
6414
6814
  #
6415
6815
  # @!attribute [rw] authorizer_type
6416
- # The authorizer type. For WebSocket APIs, specify REQUEST for a
6417
- # Lambda function using incoming request parameters. For HTTP APIs,
6418
- # specify JWT to use JSON Web Tokens.
6816
+ # The authorizer type. Specify REQUEST for a Lambda function using
6817
+ # incoming request parameters. Specify JWT to use JSON Web Tokens
6818
+ # (supported only for HTTP APIs).
6419
6819
  # @return [String]
6420
6820
  #
6421
6821
  # @!attribute [rw] authorizer_uri
@@ -6454,6 +6854,13 @@ module Aws::ApiGatewayV2
6454
6854
  # A string with a length between \[1-128\].
6455
6855
  # @return [String]
6456
6856
  #
6857
+ # @!attribute [rw] authorizer_payload_format_version
6858
+ # A string with a length between \[1-64\].
6859
+ # @return [String]
6860
+ #
6861
+ # @!attribute [rw] enable_simple_responses
6862
+ # @return [Boolean]
6863
+ #
6457
6864
  class UpdateAuthorizerRequest < Struct.new(
6458
6865
  :api_id,
6459
6866
  :authorizer_credentials_arn,
@@ -6464,7 +6871,9 @@ module Aws::ApiGatewayV2
6464
6871
  :identity_source,
6465
6872
  :identity_validation_expression,
6466
6873
  :jwt_configuration,
6467
- :name)
6874
+ :name,
6875
+ :authorizer_payload_format_version,
6876
+ :enable_simple_responses)
6468
6877
  SENSITIVE = []
6469
6878
  include Aws::Structure
6470
6879
  end
@@ -6482,9 +6891,9 @@ module Aws::ApiGatewayV2
6482
6891
  # @return [Integer]
6483
6892
  #
6484
6893
  # @!attribute [rw] authorizer_type
6485
- # The authorizer type. For WebSocket APIs, specify REQUEST for a
6486
- # Lambda function using incoming request parameters. For HTTP APIs,
6487
- # specify JWT to use JSON Web Tokens.
6894
+ # The authorizer type. Specify REQUEST for a Lambda function using
6895
+ # incoming request parameters. Specify JWT to use JSON Web Tokens
6896
+ # (supported only for HTTP APIs).
6488
6897
  # @return [String]
6489
6898
  #
6490
6899
  # @!attribute [rw] authorizer_uri
@@ -6523,6 +6932,13 @@ module Aws::ApiGatewayV2
6523
6932
  # A string with a length between \[1-128\].
6524
6933
  # @return [String]
6525
6934
  #
6935
+ # @!attribute [rw] authorizer_payload_format_version
6936
+ # A string with a length between \[1-64\].
6937
+ # @return [String]
6938
+ #
6939
+ # @!attribute [rw] enable_simple_responses
6940
+ # @return [Boolean]
6941
+ #
6526
6942
  class UpdateAuthorizerResponse < Struct.new(
6527
6943
  :authorizer_credentials_arn,
6528
6944
  :authorizer_id,
@@ -6532,7 +6948,9 @@ module Aws::ApiGatewayV2
6532
6948
  :identity_source,
6533
6949
  :identity_validation_expression,
6534
6950
  :jwt_configuration,
6535
- :name)
6951
+ :name,
6952
+ :authorizer_payload_format_version,
6953
+ :enable_simple_responses)
6536
6954
  SENSITIVE = []
6537
6955
  include Aws::Structure
6538
6956
  end
@@ -6614,8 +7032,14 @@ module Aws::ApiGatewayV2
6614
7032
  # The domain name configurations.
6615
7033
  # @return [Array<Types::DomainNameConfiguration>]
6616
7034
  #
7035
+ # @!attribute [rw] mutual_tls_authentication
7036
+ # The mutual TLS authentication configuration for a custom domain
7037
+ # name.
7038
+ # @return [Types::MutualTlsAuthenticationInput]
7039
+ #
6617
7040
  class UpdateDomainNameInput < Struct.new(
6618
- :domain_name_configurations)
7041
+ :domain_name_configurations,
7042
+ :mutual_tls_authentication)
6619
7043
  SENSITIVE = []
6620
7044
  include Aws::Structure
6621
7045
  end
@@ -6638,6 +7062,10 @@ module Aws::ApiGatewayV2
6638
7062
  # security_policy: "TLS_1_0", # accepts TLS_1_0, TLS_1_2
6639
7063
  # },
6640
7064
  # ],
7065
+ # mutual_tls_authentication: {
7066
+ # truststore_uri: "UriWithLengthBetween1And2048",
7067
+ # truststore_version: "StringWithLengthBetween1And64",
7068
+ # },
6641
7069
  # }
6642
7070
  #
6643
7071
  # @!attribute [rw] domain_name
@@ -6647,9 +7075,16 @@ module Aws::ApiGatewayV2
6647
7075
  # The domain name configurations.
6648
7076
  # @return [Array<Types::DomainNameConfiguration>]
6649
7077
  #
7078
+ # @!attribute [rw] mutual_tls_authentication
7079
+ # If specified, API Gateway performs two-way authentication between
7080
+ # the client and the server. Clients must present a trusted
7081
+ # certificate to access your API.
7082
+ # @return [Types::MutualTlsAuthenticationInput]
7083
+ #
6650
7084
  class UpdateDomainNameRequest < Struct.new(
6651
7085
  :domain_name,
6652
- :domain_name_configurations)
7086
+ :domain_name_configurations,
7087
+ :mutual_tls_authentication)
6653
7088
  SENSITIVE = []
6654
7089
  include Aws::Structure
6655
7090
  end
@@ -6671,6 +7106,12 @@ module Aws::ApiGatewayV2
6671
7106
  # The domain name configurations.
6672
7107
  # @return [Array<Types::DomainNameConfiguration>]
6673
7108
  #
7109
+ # @!attribute [rw] mutual_tls_authentication
7110
+ # If specified, API Gateway performs two-way authentication between
7111
+ # the client and the server. Clients must present a trusted
7112
+ # certificate to access your API.
7113
+ # @return [Types::MutualTlsAuthentication]
7114
+ #
6674
7115
  # @!attribute [rw] tags
6675
7116
  # Represents a collection of tags associated with the resource.
6676
7117
  # @return [Hash<String,String>]
@@ -6679,6 +7120,7 @@ module Aws::ApiGatewayV2
6679
7120
  :api_mapping_selection_expression,
6680
7121
  :domain_name,
6681
7122
  :domain_name_configurations,
7123
+ :mutual_tls_authentication,
6682
7124
  :tags)
6683
7125
  SENSITIVE = []
6684
7126
  include Aws::Structure
@@ -6732,6 +7174,16 @@ module Aws::ApiGatewayV2
6732
7174
  # Specifies the integration's HTTP method type.
6733
7175
  # @return [String]
6734
7176
  #
7177
+ # @!attribute [rw] integration_subtype
7178
+ # Supported only for HTTP API AWS\_PROXY integrations. Specifies the
7179
+ # AWS service action to invoke. To learn more, see [Integration
7180
+ # subtype reference][1].
7181
+ #
7182
+ #
7183
+ #
7184
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services-reference.html
7185
+ # @return [String]
7186
+ #
6735
7187
  # @!attribute [rw] integration_type
6736
7188
  # The integration type of an integration. One of the following:
6737
7189
  #
@@ -6741,10 +7193,9 @@ module Aws::ApiGatewayV2
6741
7193
  # custom integration. With any other AWS service action, this is known
6742
7194
  # as AWS integration. Supported only for WebSocket APIs.
6743
7195
  #
6744
- # AWS\_PROXY: for integrating the route or method request with the
6745
- # Lambda function-invoking action with the client request passed
6746
- # through as-is. This integration is also referred to as Lambda proxy
6747
- # integration.
7196
+ # AWS\_PROXY: for integrating the route or method request with a
7197
+ # Lambda function or other AWS service action. This integration is
7198
+ # also referred to as a Lambda proxy integration.
6748
7199
  #
6749
7200
  # HTTP: for integrating the route or method request with an HTTP
6750
7201
  # endpoint. This integration is also referred to as the HTTP custom
@@ -6803,16 +7254,26 @@ module Aws::ApiGatewayV2
6803
7254
  # @return [String]
6804
7255
  #
6805
7256
  # @!attribute [rw] request_parameters
6806
- # A key-value map specifying request parameters that are passed from
6807
- # the method request to the backend. The key is an integration request
6808
- # parameter name and the associated value is a method request
6809
- # parameter value or static value that must be enclosed within single
6810
- # quotes and pre-encoded as required by the backend. The method
6811
- # request parameter value must match the pattern of
7257
+ # For WebSocket APIs, a key-value map specifying request parameters
7258
+ # that are passed from the method request to the backend. The key is
7259
+ # an integration request parameter name and the associated value is a
7260
+ # method request parameter value or static value that must be enclosed
7261
+ # within single quotes and pre-encoded as required by the backend. The
7262
+ # method request parameter value must match the pattern of
6812
7263
  # method.request.*\\\{location\\}*.*\\\{name\\}* , where
6813
7264
  # *\\\{location\\}* is querystring, path, or header; and *\\\{name\\}*
6814
- # must be a valid and unique method request parameter name. Supported
6815
- # only for WebSocket APIs.
7265
+ # must be a valid and unique method request parameter name.
7266
+ #
7267
+ # For HTTP APIs, request parameters are a key-value map specifying
7268
+ # parameters that are passed to AWS\_PROXY integrations with a
7269
+ # specified integrationSubtype. You can provide static values, or map
7270
+ # request data, stage variables, or context variables that are
7271
+ # evaluated at runtime. To learn more, see [Working with AWS service
7272
+ # integrations for HTTP APIs][1].
7273
+ #
7274
+ #
7275
+ #
7276
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html
6816
7277
  # @return [Hash<String,String>]
6817
7278
  #
6818
7279
  # @!attribute [rw] request_templates
@@ -6847,6 +7308,7 @@ module Aws::ApiGatewayV2
6847
7308
  :credentials_arn,
6848
7309
  :description,
6849
7310
  :integration_method,
7311
+ :integration_subtype,
6850
7312
  :integration_type,
6851
7313
  :integration_uri,
6852
7314
  :passthrough_behavior,
@@ -6872,6 +7334,7 @@ module Aws::ApiGatewayV2
6872
7334
  # description: "StringWithLengthBetween0And1024",
6873
7335
  # integration_id: "__string", # required
6874
7336
  # integration_method: "StringWithLengthBetween1And64",
7337
+ # integration_subtype: "StringWithLengthBetween1And128",
6875
7338
  # integration_type: "AWS", # accepts AWS, HTTP, MOCK, HTTP_PROXY, AWS_PROXY
6876
7339
  # integration_uri: "UriWithLengthBetween1And2048",
6877
7340
  # passthrough_behavior: "WHEN_NO_MATCH", # accepts WHEN_NO_MATCH, NEVER, WHEN_NO_TEMPLATES
@@ -6920,6 +7383,10 @@ module Aws::ApiGatewayV2
6920
7383
  # A string with a length between \[1-64\].
6921
7384
  # @return [String]
6922
7385
  #
7386
+ # @!attribute [rw] integration_subtype
7387
+ # A string with a length between \[1-128\].
7388
+ # @return [String]
7389
+ #
6923
7390
  # @!attribute [rw] integration_type
6924
7391
  # Represents an API method integration type.
6925
7392
  # @return [String]
@@ -6986,6 +7453,7 @@ module Aws::ApiGatewayV2
6986
7453
  :description,
6987
7454
  :integration_id,
6988
7455
  :integration_method,
7456
+ :integration_subtype,
6989
7457
  :integration_type,
6990
7458
  :integration_uri,
6991
7459
  :passthrough_behavior,
@@ -7040,6 +7508,10 @@ module Aws::ApiGatewayV2
7040
7508
  # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions
7041
7509
  # @return [String]
7042
7510
  #
7511
+ # @!attribute [rw] integration_subtype
7512
+ # A string with a length between \[1-128\].
7513
+ # @return [String]
7514
+ #
7043
7515
  # @!attribute [rw] integration_type
7044
7516
  # Represents an API method integration type.
7045
7517
  # @return [String]
@@ -7107,6 +7579,7 @@ module Aws::ApiGatewayV2
7107
7579
  :integration_id,
7108
7580
  :integration_method,
7109
7581
  :integration_response_selection_expression,
7582
+ :integration_subtype,
7110
7583
  :integration_type,
7111
7584
  :integration_uri,
7112
7585
  :passthrough_behavior,
@@ -7448,8 +7921,9 @@ module Aws::ApiGatewayV2
7448
7921
  # The authorization type for the route. For WebSocket APIs, valid
7449
7922
  # values are NONE for open access, AWS\_IAM for using AWS IAM
7450
7923
  # permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs,
7451
- # valid values are NONE for open access, or JWT for using JSON Web
7452
- # Tokens.
7924
+ # valid values are NONE for open access, JWT for using JSON Web
7925
+ # Tokens, AWS\_IAM for using AWS IAM permissions, and CUSTOM for using
7926
+ # a Lambda authorizer.
7453
7927
  # @return [String]
7454
7928
  #
7455
7929
  # @!attribute [rw] authorizer_id
@@ -7552,7 +8026,8 @@ module Aws::ApiGatewayV2
7552
8026
  # The authorization type. For WebSocket APIs, valid values are NONE
7553
8027
  # for open access, AWS\_IAM for using AWS IAM permissions, and CUSTOM
7554
8028
  # for using a Lambda authorizer. For HTTP APIs, valid values are NONE
7555
- # for open access, or JWT for using JSON Web Tokens.
8029
+ # for open access, JWT for using JSON Web Tokens, AWS\_IAM for using
8030
+ # AWS IAM permissions, and CUSTOM for using a Lambda authorizer.
7556
8031
  # @return [String]
7557
8032
  #
7558
8033
  # @!attribute [rw] authorizer_id
@@ -7647,7 +8122,8 @@ module Aws::ApiGatewayV2
7647
8122
  # The authorization type. For WebSocket APIs, valid values are NONE
7648
8123
  # for open access, AWS\_IAM for using AWS IAM permissions, and CUSTOM
7649
8124
  # for using a Lambda authorizer. For HTTP APIs, valid values are NONE
7650
- # for open access, or JWT for using JSON Web Tokens.
8125
+ # for open access, JWT for using JSON Web Tokens, AWS\_IAM for using
8126
+ # AWS IAM permissions, and CUSTOM for using a Lambda authorizer.
7651
8127
  # @return [String]
7652
8128
  #
7653
8129
  # @!attribute [rw] authorizer_id