Package software.amazon.awscdk.services.apigatewayv2
AWS::APIGatewayv2 Construct Library
---
AWS CDK v1 has reached End-of-Support on 2023-06-01. This package is no longer being updated, and users should migrate to AWS CDK v2.
For more information on how to migrate, see the Migrating to AWS CDK v2 guide.
Features | Stability -------------------------------------------|-------------------------------------------------------- CFN Resources | Higher level constructs for HTTP APIs | Higher level constructs for Websocket APIs |
CFN Resources: All classes with the
Cfn
prefix in this module (CFN Resources) are always stable and safe to use.
Experimental: Higher level constructs in this module that are marked as experimental are under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the Semantic Versioning model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package.
Table of Contents
Introduction
Amazon API Gateway is an AWS service for creating, publishing, maintaining, monitoring, and securing REST, HTTP, and WebSocket APIs at any scale. API developers can create APIs that access AWS or other web services, as well as data stored in the AWS Cloud. As an API Gateway API developer, you can create APIs for use in your own client applications. Read the Amazon API Gateway Developer Guide.
This module supports features under API Gateway v2
that lets users set up Websocket and HTTP APIs.
REST APIs can be created using the @aws-cdk/aws-apigateway
module.
HTTP API
HTTP APIs enable creation of RESTful APIs that integrate with AWS Lambda functions, known as Lambda proxy integration, or to any routable HTTP endpoint, known as HTTP proxy integration.
Defining HTTP APIs
HTTP APIs have two fundamental concepts - Routes and Integrations.
Routes direct incoming API requests to backend resources. Routes consist of two parts: an HTTP method and a resource
path, such as, GET /books
. Learn more at Working with
routes. Use the ANY
method
to match any methods for a route that are not explicitly defined.
Integrations define how the HTTP API responds when a client reaches a specific Route. HTTP APIs support Lambda proxy integration, HTTP proxy integration and, AWS service integrations, also known as private integrations. Learn more at Configuring integrations.
Integrations are available at the aws-apigatewayv2-integrations
module and more information is available in that module.
As an early example, the following code snippet configures a route GET /books
with an HTTP proxy integration all
configures all other HTTP method calls to /books
to a lambda proxy.
import software.amazon.awscdk.services.apigatewayv2.integrations.HttpUrlIntegration; import software.amazon.awscdk.services.apigatewayv2.integrations.HttpLambdaIntegration; Function booksDefaultFn; HttpUrlIntegration getBooksIntegration = new HttpUrlIntegration("GetBooksIntegration", "https://get-books-proxy.myproxy.internal"); HttpLambdaIntegration booksDefaultIntegration = new HttpLambdaIntegration("BooksIntegration", booksDefaultFn); HttpApi httpApi = new HttpApi(this, "HttpApi"); httpApi.addRoutes(AddRoutesOptions.builder() .path("/books") .methods(List.of(HttpMethod.GET)) .integration(getBooksIntegration) .build()); httpApi.addRoutes(AddRoutesOptions.builder() .path("/books") .methods(List.of(HttpMethod.ANY)) .integration(booksDefaultIntegration) .build());
The URL to the endpoint can be retrieved via the apiEndpoint
attribute. By default this URL is enabled for clients. Use disableExecuteApiEndpoint
to disable it.
HttpApi httpApi = HttpApi.Builder.create(this, "HttpApi") .disableExecuteApiEndpoint(true) .build();
The defaultIntegration
option while defining HTTP APIs lets you create a default catch-all integration that is
matched when a client reaches a route that is not explicitly defined.
import software.amazon.awscdk.services.apigatewayv2.integrations.HttpUrlIntegration; HttpApi.Builder.create(this, "HttpProxyApi") .defaultIntegration(new HttpUrlIntegration("DefaultIntegration", "https://example.com")) .build();
Cross Origin Resource Sharing (CORS)
Cross-origin resource sharing (CORS) is a browser security feature that restricts HTTP requests that are initiated from scripts running in the browser. Enabling CORS will allow requests to your API from a web application hosted in a domain different from your API domain.
When configured CORS for an HTTP API, API Gateway automatically sends a response to preflight OPTIONS
requests, even
if there isn't an OPTIONS
route configured. Note that, when this option is used, API Gateway will ignore CORS headers
returned from your backend integration. Learn more about Configuring CORS for an HTTP
API.
The corsPreflight
option lets you specify a CORS configuration for an API.
HttpApi.Builder.create(this, "HttpProxyApi") .corsPreflight(CorsPreflightOptions.builder() .allowHeaders(List.of("Authorization")) .allowMethods(List.of(CorsHttpMethod.GET, CorsHttpMethod.HEAD, CorsHttpMethod.OPTIONS, CorsHttpMethod.POST)) .allowOrigins(List.of("*")) .maxAge(Duration.days(10)) .build()) .build();
Publishing HTTP APIs
A Stage is a logical reference to a lifecycle state of your API (for example, dev
, prod
, beta
, or v2
). API
stages are identified by their stage name. Each stage is a named reference to a deployment of the API made available for
client applications to call.
Use HttpStage
to create a Stage resource for HTTP APIs. The following code sets up a Stage, whose URL is available at
https://{api_id}.execute-api.{region}.amazonaws.com/beta
.
HttpApi api; HttpStage.Builder.create(this, "Stage") .httpApi(api) .stageName("beta") .build();
If you omit the stageName
will create a $default
stage. A $default
stage is one that is served from the base of
the API's URL - https://{api_id}.execute-api.{region}.amazonaws.com/
.
Note that, HttpApi
will always creates a $default
stage, unless the createDefaultStage
property is unset.
Custom Domain
Custom domain names are simpler and more intuitive URLs that you can provide to your API users. Custom domain name are associated to API stages.
The code snippet below creates a custom domain and configures a default domain mapping for your API that maps the
custom domain to the $default
stage of the API.
import software.amazon.awscdk.services.certificatemanager.*; import software.amazon.awscdk.services.apigatewayv2.integrations.HttpLambdaIntegration; Function handler; String certArn = "arn:aws:acm:us-east-1:111111111111:certificate"; String domainName = "example.com"; DomainName dn = DomainName.Builder.create(this, "DN") .domainName(domainName) .certificate(Certificate.fromCertificateArn(this, "cert", certArn)) .build(); HttpApi api = HttpApi.Builder.create(this, "HttpProxyProdApi") .defaultIntegration(new HttpLambdaIntegration("DefaultIntegration", handler)) // https://${dn.domainName}/foo goes to prodApi $default stage .defaultDomainMapping(DomainMappingOptions.builder() .domainName(dn) .mappingKey("foo") .build()) .build();
To migrate a domain endpoint from one type to another, you can add a new endpoint configuration via addEndpoint()
and then configure DNS records to route traffic to the new endpoint. After that, you can remove the previous endpoint configuration.
Learn more at Migrating a custom domain name
To associate a specific Stage
to a custom domain mapping -
HttpApi api; DomainName dn; api.addStage("beta", HttpStageOptions.builder() .stageName("beta") .autoDeploy(true) // https://${dn.domainName}/bar goes to the beta stage .domainMapping(DomainMappingOptions.builder() .domainName(dn) .mappingKey("bar") .build()) .build());
The same domain name can be associated with stages across different HttpApi
as so -
import software.amazon.awscdk.services.apigatewayv2.integrations.HttpLambdaIntegration; Function handler; DomainName dn; HttpApi apiDemo = HttpApi.Builder.create(this, "DemoApi") .defaultIntegration(new HttpLambdaIntegration("DefaultIntegration", handler)) // https://${dn.domainName}/demo goes to apiDemo $default stage .defaultDomainMapping(DomainMappingOptions.builder() .domainName(dn) .mappingKey("demo") .build()) .build();
The mappingKey
determines the base path of the URL with the custom domain. Each custom domain is only allowed
to have one API mapping with undefined mappingKey
. If more than one API mappings are specified, mappingKey
will be required for all of them. In the sample above, the custom domain is associated
with 3 API mapping resources across different APIs and Stages.
| API | Stage | URL |
| :------------: | :---------: | :----: |
| api | $default | https://${domainName}/foo
|
| api | beta | https://${domainName}/bar
|
| apiDemo | $default | https://${domainName}/demo
|
You can retrieve the full domain URL with mapping key using the domainUrl
property as so -
HttpApi apiDemo; String demoDomainUrl = apiDemo.getDefaultStage().getDomainUrl();
Mutual TLS (mTLS)
Mutual TLS can be configured to limit access to your API based by using client certificates instead of (or as an extension of) using authorization headers.
import software.amazon.awscdk.services.s3.*; import software.amazon.awscdk.services.certificatemanager.*; Bucket bucket; String certArn = "arn:aws:acm:us-east-1:111111111111:certificate"; String domainName = "example.com"; DomainName.Builder.create(this, "DomainName") .domainName(domainName) .certificate(Certificate.fromCertificateArn(this, "cert", certArn)) .mtls(MTLSConfig.builder() .bucket(bucket) .key("someca.pem") .version("version") .build()) .build();
Instructions for configuring your trust store can be found here
Managing access to HTTP APIs
API Gateway supports multiple mechanisms for controlling and managing access to your HTTP API through authorizers.
These authorizers can be found in the APIGatewayV2-Authorizers constructs library.
Metrics
The API Gateway v2 service sends metrics around the performance of HTTP APIs to Amazon CloudWatch.
These metrics can be referred to using the metric APIs available on the HttpApi
construct.
The APIs with the metric
prefix can be used to get reference to specific metrics for this API. For example,
the method below refers to the client side errors metric for this API.
HttpApi api = new HttpApi(this, "my-api"); Metric clientErrorMetric = api.metricClientError();
Please note that this will return a metric for all the stages defined in the api. It is also possible to refer to metrics for a specific Stage using
the metric
methods from the Stage
construct.
HttpApi api = new HttpApi(this, "my-api"); HttpStage stage = HttpStage.Builder.create(this, "Stage") .httpApi(api) .build(); Metric clientErrorMetric = stage.metricClientError();
VPC Link
Private integrations let HTTP APIs connect with AWS resources that are placed behind a VPC. These are usually Application
Load Balancers, Network Load Balancers or a Cloud Map service. The VpcLink
construct enables this integration.
The following code creates a VpcLink
to a private VPC.
import software.amazon.awscdk.services.ec2.*; Vpc vpc = new Vpc(this, "VPC"); VpcLink vpcLink = VpcLink.Builder.create(this, "VpcLink").vpc(vpc).build();
Any existing VpcLink
resource can be imported into the CDK app via the VpcLink.fromVpcLinkAttributes()
.
import software.amazon.awscdk.services.ec2.*; Vpc vpc; IVpcLink awesomeLink = VpcLink.fromVpcLinkAttributes(this, "awesome-vpc-link", VpcLinkAttributes.builder() .vpcLinkId("us-east-1_oiuR12Abd") .vpc(vpc) .build());
Private Integration
Private integrations enable integrating an HTTP API route with private resources in a VPC, such as Application Load Balancers or Amazon ECS container-based applications. Using private integrations, resources in a VPC can be exposed for access by clients outside of the VPC.
These integrations can be found in the aws-apigatewayv2-integrations constructs library.
WebSocket API
A WebSocket API in API Gateway is a collection of WebSocket routes that are integrated with backend HTTP endpoints, Lambda functions, or other AWS services. You can use API Gateway features to help you with all aspects of the API lifecycle, from creation through monitoring your production APIs. Read more
WebSocket APIs have two fundamental concepts - Routes and Integrations.
WebSocket APIs direct JSON messages to backend integrations based on configured routes. (Non-JSON messages are directed
to the configured $default
route.)
Integrations define how the WebSocket API behaves when a client reaches a specific Route. Learn more at Configuring integrations.
Integrations are available in the aws-apigatewayv2-integrations
module and more information is available in that module.
To add the default WebSocket routes supported by API Gateway ($connect
, $disconnect
and $default
), configure them as part of api props:
import software.amazon.awscdk.services.apigatewayv2.integrations.WebSocketLambdaIntegration; Function connectHandler; Function disconnectHandler; Function defaultHandler; WebSocketApi webSocketApi = WebSocketApi.Builder.create(this, "mywsapi") .connectRouteOptions(WebSocketRouteOptions.builder().integration(new WebSocketLambdaIntegration("ConnectIntegration", connectHandler)).build()) .disconnectRouteOptions(WebSocketRouteOptions.builder().integration(new WebSocketLambdaIntegration("DisconnectIntegration", disconnectHandler)).build()) .defaultRouteOptions(WebSocketRouteOptions.builder().integration(new WebSocketLambdaIntegration("DefaultIntegration", defaultHandler)).build()) .build(); WebSocketStage.Builder.create(this, "mystage") .webSocketApi(webSocketApi) .stageName("dev") .autoDeploy(true) .build();
To retrieve a websocket URL and a callback URL:
WebSocketStage webSocketStage; String webSocketURL = webSocketStage.getUrl(); // wss://${this.api.apiId}.execute-api.${s.region}.${s.urlSuffix}/${urlPath} String callbackURL = webSocketStage.getCallbackUrl();
To add any other route:
import software.amazon.awscdk.services.apigatewayv2.integrations.WebSocketLambdaIntegration; Function messageHandler; WebSocketApi webSocketApi = new WebSocketApi(this, "mywsapi"); webSocketApi.addRoute("sendmessage", WebSocketRouteOptions.builder() .integration(new WebSocketLambdaIntegration("SendMessageIntegration", messageHandler)) .build());
To import an existing WebSocketApi:
IWebSocketApi webSocketApi = WebSocketApi.fromWebSocketApiAttributes(this, "mywsapi", WebSocketApiAttributes.builder().webSocketId("api-1234").build());
Manage Connections Permission
Grant permission to use API Gateway Management API of a WebSocket API by calling the grantManageConnections
API.
You can use Management API to send a callback message to a connected client, get connection information, or disconnect the client. Learn more at Use @connections commands in your backend service.
Function fn; WebSocketApi webSocketApi = new WebSocketApi(this, "mywsapi"); WebSocketStage stage = WebSocketStage.Builder.create(this, "mystage") .webSocketApi(webSocketApi) .stageName("dev") .build(); // per stage permission stage.grantManagementApiAccess(fn); // for all the stages permission webSocketApi.grantManageConnections(fn);
Managing access to WebSocket APIs
API Gateway supports multiple mechanisms for controlling and managing access to a WebSocket API through authorizers.
These authorizers can be found in the APIGatewayV2-Authorizers constructs library.
API Keys
Websocket APIs also support usage of API Keys. An API Key is a key that is used to grant access to an API. These are useful for controlling and tracking access to an API, when used together with usage plans. These together allow you to configure controls around API access such as quotas and throttling, along with per-API Key metrics on usage.
To require an API Key when accessing the Websocket API:
Deprecated: AWS CDK v1 has reached End-of-Support on 2023-06-01. This package is no longer being updated, and users should migrate to AWS CDK v2. For more information on how to migrate, see https://docs.aws.amazon.com/cdk/v2/guide/migrating-v2.htmlWebSocketApi webSocketApi = WebSocketApi.Builder.create(this, "mywsapi") .apiKeySelectionExpression(WebSocketApiKeySelectionExpression.HEADER_X_API_KEY) .build();
-
ClassDescription(experimental) Options for the Route with Integration resource.A builder for
AddRoutesOptions
An implementation forAddRoutesOptions
(experimental) Create a new API mapping for API Gateway API endpoint.(experimental) A fluent builder forApiMapping
.(experimental) The attributes used to import existing ApiMapping.A builder forApiMappingAttributes
An implementation forApiMappingAttributes
(experimental) Properties used to create the ApiMapping resource.A builder forApiMappingProps
An implementation forApiMappingProps
(experimental) Payload format version for lambda authorizers.(experimental) Options used when configuring multiple routes, at once.A builder forBatchHttpRouteOptions
An implementation forBatchHttpRouteOptions
A CloudFormationAWS::ApiGatewayV2::Api
.TheBodyS3Location
property specifies an S3 location from which to import an OpenAPI definition.A builder forCfnApi.BodyS3LocationProperty
An implementation forCfnApi.BodyS3LocationProperty
A fluent builder forCfnApi
.TheCors
property specifies a CORS configuration for an API.A builder forCfnApi.CorsProperty
An implementation forCfnApi.CorsProperty
A CloudFormationAWS::ApiGatewayV2::ApiGatewayManagedOverrides
.TheAccessLogSettings
property overrides the access log settings for an API Gateway-managed stage.A builder forCfnApiGatewayManagedOverrides.AccessLogSettingsProperty
An implementation forCfnApiGatewayManagedOverrides.AccessLogSettingsProperty
A fluent builder forCfnApiGatewayManagedOverrides
.TheIntegrationOverrides
property overrides the integration settings for an API Gateway-managed integration.An implementation forCfnApiGatewayManagedOverrides.IntegrationOverridesProperty
TheRouteOverrides
property overrides the route configuration for an API Gateway-managed route.A builder forCfnApiGatewayManagedOverrides.RouteOverridesProperty
An implementation forCfnApiGatewayManagedOverrides.RouteOverridesProperty
TheRouteSettings
property overrides the route settings for an API Gateway-managed route.A builder forCfnApiGatewayManagedOverrides.RouteSettingsProperty
An implementation forCfnApiGatewayManagedOverrides.RouteSettingsProperty
TheStageOverrides
property overrides the stage configuration for an API Gateway-managed stage.A builder forCfnApiGatewayManagedOverrides.StageOverridesProperty
An implementation forCfnApiGatewayManagedOverrides.StageOverridesProperty
Properties for defining aCfnApiGatewayManagedOverrides
.A builder forCfnApiGatewayManagedOverridesProps
An implementation forCfnApiGatewayManagedOverridesProps
A CloudFormationAWS::ApiGatewayV2::ApiMapping
.A fluent builder forCfnApiMapping
.Properties for defining aCfnApiMapping
.A builder forCfnApiMappingProps
An implementation forCfnApiMappingProps
Properties for defining aCfnApi
.A builder forCfnApiProps
An implementation forCfnApiProps
A CloudFormationAWS::ApiGatewayV2::Authorizer
.A fluent builder forCfnAuthorizer
.TheJWTConfiguration
property specifies the configuration of a JWT authorizer.A builder forCfnAuthorizer.JWTConfigurationProperty
An implementation forCfnAuthorizer.JWTConfigurationProperty
Properties for defining aCfnAuthorizer
.A builder forCfnAuthorizerProps
An implementation forCfnAuthorizerProps
A CloudFormationAWS::ApiGatewayV2::Deployment
.A fluent builder forCfnDeployment
.Properties for defining aCfnDeployment
.A builder forCfnDeploymentProps
An implementation forCfnDeploymentProps
A CloudFormationAWS::ApiGatewayV2::DomainName
.A fluent builder forCfnDomainName
.TheDomainNameConfiguration
property type specifies the configuration for a an API's domain name.A builder forCfnDomainName.DomainNameConfigurationProperty
An implementation forCfnDomainName.DomainNameConfigurationProperty
If specified, API Gateway performs two-way authentication between the client and the server.A builder forCfnDomainName.MutualTlsAuthenticationProperty
An implementation forCfnDomainName.MutualTlsAuthenticationProperty
Properties for defining aCfnDomainName
.A builder forCfnDomainNameProps
An implementation forCfnDomainNameProps
A CloudFormationAWS::ApiGatewayV2::Integration
.A fluent builder forCfnIntegration
.Specifies a list of response parameters for an HTTP API.A builder forCfnIntegration.ResponseParameterListProperty
An implementation forCfnIntegration.ResponseParameterListProperty
Supported only for HTTP APIs.A builder forCfnIntegration.ResponseParameterProperty
An implementation forCfnIntegration.ResponseParameterProperty
TheTlsConfig
property specifies the TLS configuration for a private integration.A builder forCfnIntegration.TlsConfigProperty
An implementation forCfnIntegration.TlsConfigProperty
Properties for defining aCfnIntegration
.A builder forCfnIntegrationProps
An implementation forCfnIntegrationProps
A CloudFormationAWS::ApiGatewayV2::IntegrationResponse
.A fluent builder forCfnIntegrationResponse
.Properties for defining aCfnIntegrationResponse
.A builder forCfnIntegrationResponseProps
An implementation forCfnIntegrationResponseProps
A CloudFormationAWS::ApiGatewayV2::Model
.A fluent builder forCfnModel
.Properties for defining aCfnModel
.A builder forCfnModelProps
An implementation forCfnModelProps
A CloudFormationAWS::ApiGatewayV2::Route
.A fluent builder forCfnRoute
.Example:A builder forCfnRoute.ParameterConstraintsProperty
An implementation forCfnRoute.ParameterConstraintsProperty
Properties for defining aCfnRoute
.A builder forCfnRouteProps
An implementation forCfnRouteProps
A CloudFormationAWS::ApiGatewayV2::RouteResponse
.A fluent builder forCfnRouteResponse
.Specifies whether the parameter is required.A builder forCfnRouteResponse.ParameterConstraintsProperty
An implementation forCfnRouteResponse.ParameterConstraintsProperty
Properties for defining aCfnRouteResponse
.A builder forCfnRouteResponseProps
An implementation forCfnRouteResponseProps
A CloudFormationAWS::ApiGatewayV2::Stage
.Settings for logging access in a stage.A builder forCfnStage.AccessLogSettingsProperty
An implementation forCfnStage.AccessLogSettingsProperty
A fluent builder forCfnStage
.Represents a collection of route settings.A builder forCfnStage.RouteSettingsProperty
An implementation forCfnStage.RouteSettingsProperty
Properties for defining aCfnStage
.A builder forCfnStageProps
An implementation forCfnStageProps
A CloudFormationAWS::ApiGatewayV2::VpcLink
.A fluent builder forCfnVpcLink
.Properties for defining aCfnVpcLink
.A builder forCfnVpcLinkProps
An implementation forCfnVpcLinkProps
(experimental) Supported CORS HTTP methods.(experimental) Options for the CORS Configuration.A builder forCorsPreflightOptions
An implementation forCorsPreflightOptions
(experimental) Options for DomainMapping.A builder forDomainMappingOptions
An implementation forDomainMappingOptions
(experimental) Custom domain resource for the API.(experimental) A fluent builder forDomainName
.(experimental) custom domain name attributes.A builder forDomainNameAttributes
An implementation forDomainNameAttributes
(experimental) properties used for creating the DomainName.A builder forDomainNameProps
An implementation forDomainNameProps
(experimental) properties for creating a domain name endpoint.A builder forEndpointOptions
An implementation forEndpointOptions
(experimental) Endpoint type for a domain name.(experimental) Options for granting invoke access.A builder forGrantInvokeOptions
An implementation forGrantInvokeOptions
(experimental) Create a new API Gateway HTTP API endpoint.(experimental) A fluent builder forHttpApi
.(experimental) Attributes for importing an HttpApi into the CDK.A builder forHttpApiAttributes
An implementation forHttpApiAttributes
(experimental) Properties to initialize an instance ofHttpApi
.A builder forHttpApiProps
An implementation forHttpApiProps
(experimental) An authorizer for Http Apis.(experimental) A fluent builder forHttpAuthorizer
.(experimental) Reference to an http authorizer.A builder forHttpAuthorizerAttributes
An implementation forHttpAuthorizerAttributes
(experimental) Properties to initialize an instance ofHttpAuthorizer
.A builder forHttpAuthorizerProps
An implementation forHttpAuthorizerProps
(experimental) Supported Authorizer types.(experimental) Supported connection types.(experimental) The integration for an API route.(experimental) A fluent builder forHttpIntegration
.(experimental) The integration properties.A builder forHttpIntegrationProps
An implementation forHttpIntegrationProps
(experimental) Supported integration subtypes.(experimental) Supported integration types.(experimental) Supported HTTP methods.(experimental) Explicitly configure no authorizers on specific HTTP API routes.(experimental) Route class that creates the Route for API Gateway HTTP API.(experimental) A fluent builder forHttpRoute
.(experimental) Input to the bind() operation, that binds an authorizer to a route.A builder forHttpRouteAuthorizerBindOptions
An implementation forHttpRouteAuthorizerBindOptions
(experimental) Results of binding an authorizer to an http route.A builder forHttpRouteAuthorizerConfig
An implementation forHttpRouteAuthorizerConfig
(experimental) The interface that various route integration classes will inherit.(experimental) Options to the HttpRouteIntegration during its bind operation.A builder forHttpRouteIntegrationBindOptions
An implementation forHttpRouteIntegrationBindOptions
(experimental) Config returned back as a result of the bind.A builder forHttpRouteIntegrationConfig
An implementation forHttpRouteIntegrationConfig
(experimental) HTTP route in APIGateway is a combination of the HTTP method and the path component.(experimental) Properties to initialize a new Route.A builder forHttpRouteProps
An implementation forHttpRouteProps
(experimental) Represents a stage where an instance of the API is deployed.(experimental) A fluent builder forHttpStage
.(experimental) The attributes used to import existing HttpStage.A builder forHttpStageAttributes
An implementation forHttpStageAttributes
(experimental) The options to create a new Stage for an HTTP API.A builder forHttpStageOptions
An implementation forHttpStageOptions
(experimental) Properties to initialize an instance ofHttpStage
.A builder forHttpStageProps
An implementation forHttpStageProps
(experimental) Represents a API Gateway HTTP/WebSocket API.Internal default implementation forIApi
.A proxy class which represents a concrete javascript instance of this type.(experimental) Represents an ApiGatewayV2 ApiMapping resource.Internal default implementation forIApiMapping
.A proxy class which represents a concrete javascript instance of this type.(experimental) Represents an Authorizer.Internal default implementation forIAuthorizer
.A proxy class which represents a concrete javascript instance of this type.(experimental) Represents an APIGatewayV2 DomainName.Internal default implementation forIDomainName
.A proxy class which represents a concrete javascript instance of this type.(experimental) Represents an HTTP API.Internal default implementation forIHttpApi
.A proxy class which represents a concrete javascript instance of this type.(experimental) An authorizer for HTTP APIs.Internal default implementation forIHttpAuthorizer
.A proxy class which represents a concrete javascript instance of this type.(experimental) Represents an Integration for an HTTP API.Internal default implementation forIHttpIntegration
.A proxy class which represents a concrete javascript instance of this type.(experimental) Represents a Route for an HTTP API.Internal default implementation forIHttpRoute
.A proxy class which represents a concrete javascript instance of this type.(experimental) An authorizer that can attach to an Http Route.Internal default implementation forIHttpRouteAuthorizer
.A proxy class which represents a concrete javascript instance of this type.(experimental) Represents the HttpStage.Internal default implementation forIHttpStage
.A proxy class which represents a concrete javascript instance of this type.(experimental) Represents an integration to an API Route.Internal default implementation forIIntegration
.A proxy class which represents a concrete javascript instance of this type.(experimental) Represents a Mapping Value.Internal default implementation forIMappingValue
.A proxy class which represents a concrete javascript instance of this type.(experimental) Credentials used for AWS Service integrations.(experimental) Represents a route.Internal default implementation forIRoute
.A proxy class which represents a concrete javascript instance of this type.(experimental) Represents a Stage.Internal default implementation forIStage
.A proxy class which represents a concrete javascript instance of this type.(experimental) Represents an API Gateway VpcLink.Internal default implementation forIVpcLink
.A proxy class which represents a concrete javascript instance of this type.(experimental) Represents a WebSocket API.Internal default implementation forIWebSocketApi
.A proxy class which represents a concrete javascript instance of this type.(experimental) An authorizer for WebSocket APIs.Internal default implementation forIWebSocketAuthorizer
.A proxy class which represents a concrete javascript instance of this type.(experimental) Represents an Integration for an WebSocket API.Internal default implementation forIWebSocketIntegration
.A proxy class which represents a concrete javascript instance of this type.(experimental) Represents a Route for an WebSocket API.Internal default implementation forIWebSocketRoute
.A proxy class which represents a concrete javascript instance of this type.(experimental) An authorizer that can attach to an WebSocket Route.Internal default implementation forIWebSocketRouteAuthorizer
.A proxy class which represents a concrete javascript instance of this type.(experimental) Represents the WebSocketStage.Internal default implementation forIWebSocketStage
.A proxy class which represents a concrete javascript instance of this type.(experimental) Represents a Mapping Value.(experimental) The mTLS authentication configuration for a custom domain name.A builder forMTLSConfig
An implementation forMTLSConfig
(experimental) Represents a Parameter Mapping.(experimental) Payload format version for lambda proxy integration.(experimental) The minimum version of the SSL protocol that you want API Gateway to use for HTTPS connections.(experimental) The attributes used to import existing Stage.A builder forStageAttributes
An implementation forStageAttributes
(experimental) Options required to create a new stage.A builder forStageOptions
An implementation forStageOptions
(experimental) Container for defining throttling parameters to API stages.A builder forThrottleSettings
An implementation forThrottleSettings
(experimental) Define a new VPC Link Specifies an API Gateway VPC link for a HTTP API to access resources in an Amazon Virtual Private Cloud (VPC).(experimental) A fluent builder forVpcLink
.(experimental) Attributes when importing a new VpcLink.A builder forVpcLinkAttributes
An implementation forVpcLinkAttributes
(experimental) Properties for a VpcLink.A builder forVpcLinkProps
An implementation forVpcLinkProps
(experimental) Create a new API Gateway WebSocket API endpoint.(experimental) A fluent builder forWebSocketApi
.(experimental) Attributes for importing a WebSocketApi into the CDK.A builder forWebSocketApiAttributes
An implementation forWebSocketApiAttributes
(experimental) Represents the currently available API Key Selection Expressions.(experimental) Props for WebSocket API.A builder forWebSocketApiProps
An implementation forWebSocketApiProps
(experimental) An authorizer for WebSocket Apis.(experimental) A fluent builder forWebSocketAuthorizer
.(experimental) Reference to an WebSocket authorizer.A builder forWebSocketAuthorizerAttributes
An implementation forWebSocketAuthorizerAttributes
(experimental) Properties to initialize an instance ofWebSocketAuthorizer
.A builder forWebSocketAuthorizerProps
An implementation forWebSocketAuthorizerProps
(experimental) Supported Authorizer types.(experimental) The integration for an API route.(experimental) A fluent builder forWebSocketIntegration
.(experimental) The integration properties.A builder forWebSocketIntegrationProps
An implementation forWebSocketIntegrationProps
(experimental) WebSocket Integration Types.(experimental) Explicitly configure no authorizers on specific WebSocket API routes.(experimental) Route class that creates the Route for API Gateway WebSocket API.(experimental) A fluent builder forWebSocketRoute
.(experimental) Input to the bind() operation, that binds an authorizer to a route.A builder forWebSocketRouteAuthorizerBindOptions
An implementation forWebSocketRouteAuthorizerBindOptions
(experimental) Results of binding an authorizer to an WebSocket route.A builder forWebSocketRouteAuthorizerConfig
An implementation forWebSocketRouteAuthorizerConfig
(experimental) The interface that various route integration classes will inherit.(experimental) Options to the WebSocketRouteIntegration during its bind operation.A builder forWebSocketRouteIntegrationBindOptions
An implementation forWebSocketRouteIntegrationBindOptions
(experimental) Config returned back as a result of the bind.A builder forWebSocketRouteIntegrationConfig
An implementation forWebSocketRouteIntegrationConfig
(experimental) Options used to add route to the API.A builder forWebSocketRouteOptions
An implementation forWebSocketRouteOptions
(experimental) Properties to initialize a new Route.A builder forWebSocketRouteProps
An implementation forWebSocketRouteProps
(experimental) Represents a stage where an instance of the API is deployed.(experimental) A fluent builder forWebSocketStage
.(experimental) The attributes used to import existing WebSocketStage.A builder forWebSocketStageAttributes
An implementation forWebSocketStageAttributes
(experimental) Properties to initialize an instance ofWebSocketStage
.A builder forWebSocketStageProps
An implementation forWebSocketStageProps