Show / Hide Table of Contents

Namespace Amazon.CDK.AWS.APIGatewayv2

AWS::APIGatewayv2 Construct Library

---
Features Stability
CFN Resources Stable
Higher level constructs for HTTP APIs Experimental
Higher level constructs for Websocket APIs Experimental

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.

    using Amazon.CDK.AWS.APIGatewayv2.Integrations;
    
    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(new AddRoutesOptions {
        Path = "/books",
        Methods = new [] { HttpMethod.GET },
        Integration = getBooksIntegration
    });
    httpApi.AddRoutes(new AddRoutesOptions {
        Path = "/books",
        Methods = new [] { HttpMethod.ANY },
        Integration = booksDefaultIntegration
    });

    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 = new HttpApi(this, "HttpApi", new HttpApiProps {
        DisableExecuteApiEndpoint = true
    });

    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.

    using Amazon.CDK.AWS.APIGatewayv2.Integrations;
    
    
    new HttpApi(this, "HttpProxyApi", new HttpApiProps {
        DefaultIntegration = new HttpUrlIntegration("DefaultIntegration", "https://example.com")
    });

    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.

    new HttpApi(this, "HttpProxyApi", new HttpApiProps {
        CorsPreflight = new CorsPreflightOptions {
            AllowHeaders = new [] { "Authorization" },
            AllowMethods = new [] { CorsHttpMethod.GET, CorsHttpMethod.HEAD, CorsHttpMethod.OPTIONS, CorsHttpMethod.POST },
            AllowOrigins = new [] { "*" },
            MaxAge = Duration.Days(10)
        }
    });

    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;
    
    
    new HttpStage(this, "Stage", new HttpStageProps {
        HttpApi = api,
        StageName = "beta"
    });

    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.

    using Amazon.CDK.AWS.CertificateManager;
    using Amazon.CDK.AWS.APIGatewayv2.Integrations;
    
    Function handler;
    
    
    string certArn = "arn:aws:acm:us-east-1:111111111111:certificate";
    string domainName = "example.com";
    
    DomainName dn = new DomainName(this, "DN", new DomainNameProps {
        DomainName = domainName,
        Certificate = Certificate.FromCertificateArn(this, "cert", certArn)
    });
    HttpApi api = new HttpApi(this, "HttpProxyProdApi", new HttpApiProps {
        DefaultIntegration = new HttpLambdaIntegration("DefaultIntegration", handler),
        // https://${dn.domainName}/foo goes to prodApi $default stage
        DefaultDomainMapping = new DomainMappingOptions {
            DomainName = dn,
            MappingKey = "foo"
        }
    });

    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", new HttpStageOptions {
        StageName = "beta",
        AutoDeploy = true,
        // https://${dn.domainName}/bar goes to the beta stage
        DomainMapping = new DomainMappingOptions {
            DomainName = dn,
            MappingKey = "bar"
        }
    });

    The same domain name can be associated with stages across different HttpApi as so -

    using Amazon.CDK.AWS.APIGatewayv2.Integrations;
    
    Function handler;
    DomainName dn;
    
    
    HttpApi apiDemo = new HttpApi(this, "DemoApi", new HttpApiProps {
        DefaultIntegration = new HttpLambdaIntegration("DefaultIntegration", handler),
        // https://${dn.domainName}/demo goes to apiDemo $default stage
        DefaultDomainMapping = new DomainMappingOptions {
            DomainName = dn,
            MappingKey = "demo"
        }
    });

    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.DefaultStage.DomainUrl;

    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.

    using Amazon.CDK.AWS.S3;
    using Amazon.CDK.AWS.CertificateManager;
    Bucket bucket;
    
    
    string certArn = "arn:aws:acm:us-east-1:111111111111:certificate";
    string domainName = "example.com";
    
    new DomainName(this, "DomainName", new DomainNameProps {
        DomainName = domainName,
        Certificate = Certificate.FromCertificateArn(this, "cert", certArn),
        Mtls = new MTLSConfig {
            Bucket = bucket,
            Key = "someca.pem",
            Version = "version"
        }
    });

    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 = new HttpStage(this, "Stage", new HttpStageProps {
        HttpApi = api
    });
    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.

    using Amazon.CDK.AWS.EC2;
    
    
    Vpc vpc = new Vpc(this, "VPC");
    VpcLink vpcLink = new VpcLink(this, "VpcLink", new VpcLinkProps { Vpc = vpc });

    Any existing VpcLink resource can be imported into the CDK app via the VpcLink.fromVpcLinkAttributes().

    using Amazon.CDK.AWS.EC2;
    
    Vpc vpc;
    
    IVpcLink awesomeLink = VpcLink.FromVpcLinkAttributes(this, "awesome-vpc-link", new VpcLinkAttributes {
        VpcLinkId = "us-east-1_oiuR12Abd",
        Vpc = vpc
    });

    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:

    using Amazon.CDK.AWS.APIGatewayv2.Integrations;
    
    Function connectHandler;
    Function disconnectHandler;
    Function defaultHandler;
    
    
    WebSocketApi webSocketApi = new WebSocketApi(this, "mywsapi", new WebSocketApiProps {
        ConnectRouteOptions = new WebSocketRouteOptions { Integration = new WebSocketLambdaIntegration("ConnectIntegration", connectHandler) },
        DisconnectRouteOptions = new WebSocketRouteOptions { Integration = new WebSocketLambdaIntegration("DisconnectIntegration", disconnectHandler) },
        DefaultRouteOptions = new WebSocketRouteOptions { Integration = new WebSocketLambdaIntegration("DefaultIntegration", defaultHandler) }
    });
    
    new WebSocketStage(this, "mystage", new WebSocketStageProps {
        WebSocketApi = webSocketApi,
        StageName = "dev",
        AutoDeploy = true
    });

    To retrieve a websocket URL and a callback URL:

    WebSocketStage webSocketStage;
    
    
    string webSocketURL = webSocketStage.Url;
    // wss://${this.api.apiId}.execute-api.${s.region}.${s.urlSuffix}/${urlPath}
    string callbackURL = webSocketStage.CallbackUrl;

    To add any other route:

    using Amazon.CDK.AWS.APIGatewayv2.Integrations;
    
    Function messageHandler;
    
    WebSocketApi webSocketApi = new WebSocketApi(this, "mywsapi");
    webSocketApi.AddRoute("sendmessage", new WebSocketRouteOptions {
        Integration = new WebSocketLambdaIntegration("SendMessageIntegration", messageHandler)
    });

    To import an existing WebSocketApi:

    IWebSocketApi webSocketApi = WebSocketApi.FromWebSocketApiAttributes(this, "mywsapi", new WebSocketApiAttributes { WebSocketId = "api-1234" });

    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 = new WebSocketStage(this, "mystage", new WebSocketStageProps {
        WebSocketApi = webSocketApi,
        StageName = "dev"
    });
    // 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:

    WebSocketApi webSocketApi = new WebSocketApi(this, "mywsapi", new WebSocketApiProps {
        ApiKeySelectionExpression = WebSocketApiKeySelectionExpression.HEADER_X_API_KEY
    });

    Classes

    AddRoutesOptions

    (experimental) Options for the Route with Integration resource.

    ApiMapping

    (experimental) Create a new API mapping for API Gateway API endpoint.

    ApiMappingAttributes

    (experimental) The attributes used to import existing ApiMapping.

    ApiMappingProps

    (experimental) Properties used to create the ApiMapping resource.

    AuthorizerPayloadVersion

    (experimental) Payload format version for lambda authorizers.

    BatchHttpRouteOptions

    (experimental) Options used when configuring multiple routes, at once.

    CfnApi

    A CloudFormation AWS::ApiGatewayV2::Api.

    CfnApi.BodyS3LocationProperty

    The BodyS3Location property specifies an S3 location from which to import an OpenAPI definition.

    CfnApi.CorsProperty

    The Cors property specifies a CORS configuration for an API.

    CfnApiGatewayManagedOverrides

    A CloudFormation AWS::ApiGatewayV2::ApiGatewayManagedOverrides.

    CfnApiGatewayManagedOverrides.AccessLogSettingsProperty

    The AccessLogSettings property overrides the access log settings for an API Gateway-managed stage.

    CfnApiGatewayManagedOverrides.IntegrationOverridesProperty

    The IntegrationOverrides property overrides the integration settings for an API Gateway-managed integration.

    CfnApiGatewayManagedOverrides.RouteOverridesProperty

    The RouteOverrides property overrides the route configuration for an API Gateway-managed route.

    CfnApiGatewayManagedOverrides.RouteSettingsProperty

    The RouteSettings property overrides the route settings for an API Gateway-managed route.

    CfnApiGatewayManagedOverrides.StageOverridesProperty

    The StageOverrides property overrides the stage configuration for an API Gateway-managed stage.

    CfnApiGatewayManagedOverridesProps

    Properties for defining a CfnApiGatewayManagedOverrides.

    CfnApiMapping

    A CloudFormation AWS::ApiGatewayV2::ApiMapping.

    CfnApiMappingProps

    Properties for defining a CfnApiMapping.

    CfnApiProps

    Properties for defining a CfnApi.

    CfnAuthorizer

    A CloudFormation AWS::ApiGatewayV2::Authorizer.

    CfnAuthorizer.JWTConfigurationProperty

    The JWTConfiguration property specifies the configuration of a JWT authorizer.

    CfnAuthorizerProps

    Properties for defining a CfnAuthorizer.

    CfnDeployment

    A CloudFormation AWS::ApiGatewayV2::Deployment.

    CfnDeploymentProps

    Properties for defining a CfnDeployment.

    CfnDomainName

    A CloudFormation AWS::ApiGatewayV2::DomainName.

    CfnDomainName.DomainNameConfigurationProperty

    The DomainNameConfiguration property type specifies the configuration for a an API's domain name.

    CfnDomainName.MutualTlsAuthenticationProperty

    If specified, API Gateway performs two-way authentication between the client and the server.

    CfnDomainNameProps

    Properties for defining a CfnDomainName.

    CfnIntegration

    A CloudFormation AWS::ApiGatewayV2::Integration.

    CfnIntegration.ResponseParameterListProperty

    Specifies a list of response parameters for an HTTP API.

    CfnIntegration.ResponseParameterProperty

    Supported only for HTTP APIs.

    CfnIntegration.TlsConfigProperty

    The TlsConfig property specifies the TLS configuration for a private integration.

    CfnIntegrationProps

    Properties for defining a CfnIntegration.

    CfnIntegrationResponse

    A CloudFormation AWS::ApiGatewayV2::IntegrationResponse.

    CfnIntegrationResponseProps

    Properties for defining a CfnIntegrationResponse.

    CfnModel

    A CloudFormation AWS::ApiGatewayV2::Model.

    CfnModelProps

    Properties for defining a CfnModel.

    CfnRoute

    A CloudFormation AWS::ApiGatewayV2::Route.

    CfnRoute.ParameterConstraintsProperty

    Specifies whether the parameter is required.

    CfnRouteProps

    Properties for defining a CfnRoute.

    CfnRouteResponse

    A CloudFormation AWS::ApiGatewayV2::RouteResponse.

    CfnRouteResponse.ParameterConstraintsProperty

    Specifies whether the parameter is required.

    CfnRouteResponseProps

    Properties for defining a CfnRouteResponse.

    CfnStage

    A CloudFormation AWS::ApiGatewayV2::Stage.

    CfnStage.AccessLogSettingsProperty

    Settings for logging access in a stage.

    CfnStage.RouteSettingsProperty

    Represents a collection of route settings.

    CfnStageProps

    Properties for defining a CfnStage.

    CfnVpcLink

    A CloudFormation AWS::ApiGatewayV2::VpcLink.

    CfnVpcLinkProps

    Properties for defining a CfnVpcLink.

    CorsHttpMethod

    (experimental) Supported CORS HTTP methods.

    CorsPreflightOptions

    (experimental) Options for the CORS Configuration.

    DomainMappingOptions

    (experimental) Options for DomainMapping.

    DomainName

    (experimental) Custom domain resource for the API.

    DomainNameAttributes

    (experimental) custom domain name attributes.

    DomainNameProps

    (experimental) properties used for creating the DomainName.

    EndpointOptions

    (experimental) properties for creating a domain name endpoint.

    EndpointType

    (experimental) Endpoint type for a domain name.

    GrantInvokeOptions

    (experimental) Options for granting invoke access.

    HttpApi

    (experimental) Create a new API Gateway HTTP API endpoint.

    HttpApiAttributes

    (experimental) Attributes for importing an HttpApi into the CDK.

    HttpApiProps

    (experimental) Properties to initialize an instance of HttpApi.

    HttpAuthorizer

    (experimental) An authorizer for Http Apis.

    HttpAuthorizerAttributes

    (experimental) Reference to an http authorizer.

    HttpAuthorizerProps

    (experimental) Properties to initialize an instance of HttpAuthorizer.

    HttpAuthorizerType

    (experimental) Supported Authorizer types.

    HttpConnectionType

    (experimental) Supported connection types.

    HttpIntegration

    (experimental) The integration for an API route.

    HttpIntegrationProps

    (experimental) The integration properties.

    HttpIntegrationSubtype

    (experimental) Supported integration subtypes.

    HttpIntegrationType

    (experimental) Supported integration types.

    HttpMethod

    (experimental) Supported HTTP methods.

    HttpNoneAuthorizer

    (experimental) Explicitly configure no authorizers on specific HTTP API routes.

    HttpRoute

    (experimental) Route class that creates the Route for API Gateway HTTP API.

    HttpRouteAuthorizerBindOptions

    (experimental) Input to the bind() operation, that binds an authorizer to a route.

    HttpRouteAuthorizerConfig

    (experimental) Results of binding an authorizer to an http route.

    HttpRouteIntegration

    (experimental) The interface that various route integration classes will inherit.

    HttpRouteIntegrationBindOptions

    (experimental) Options to the HttpRouteIntegration during its bind operation.

    HttpRouteIntegrationConfig

    (experimental) Config returned back as a result of the bind.

    HttpRouteKey

    (experimental) HTTP route in APIGateway is a combination of the HTTP method and the path component.

    HttpRouteProps

    (experimental) Properties to initialize a new Route.

    HttpStage

    (experimental) Represents a stage where an instance of the API is deployed.

    HttpStageAttributes

    (experimental) The attributes used to import existing HttpStage.

    HttpStageOptions

    (experimental) The options to create a new Stage for an HTTP API.

    HttpStageProps

    (experimental) Properties to initialize an instance of HttpStage.

    IntegrationCredentials

    (experimental) Credentials used for AWS Service integrations.

    MappingValue

    (experimental) Represents a Mapping Value.

    MTLSConfig

    (experimental) The mTLS authentication configuration for a custom domain name.

    ParameterMapping

    (experimental) Represents a Parameter Mapping.

    PayloadFormatVersion

    (experimental) Payload format version for lambda proxy integration.

    SecurityPolicy

    (experimental) The minimum version of the SSL protocol that you want API Gateway to use for HTTPS connections.

    StageAttributes

    (experimental) The attributes used to import existing Stage.

    StageOptions

    (experimental) Options required to create a new stage.

    ThrottleSettings

    (experimental) Container for defining throttling parameters to API stages.

    VpcLink

    (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).

    VpcLinkAttributes

    (experimental) Attributes when importing a new VpcLink.

    VpcLinkProps

    (experimental) Properties for a VpcLink.

    WebSocketApi

    (experimental) Create a new API Gateway WebSocket API endpoint.

    WebSocketApiAttributes

    (experimental) Attributes for importing a WebSocketApi into the CDK.

    WebSocketApiKeySelectionExpression

    (experimental) Represents the currently available API Key Selection Expressions.

    WebSocketApiProps

    (experimental) Props for WebSocket API.

    WebSocketAuthorizer

    (experimental) An authorizer for WebSocket Apis.

    WebSocketAuthorizerAttributes

    (experimental) Reference to an WebSocket authorizer.

    WebSocketAuthorizerProps

    (experimental) Properties to initialize an instance of WebSocketAuthorizer.

    WebSocketAuthorizerType

    (experimental) Supported Authorizer types.

    WebSocketIntegration

    (experimental) The integration for an API route.

    WebSocketIntegrationProps

    (experimental) The integration properties.

    WebSocketIntegrationType

    (experimental) WebSocket Integration Types.

    WebSocketNoneAuthorizer

    (experimental) Explicitly configure no authorizers on specific WebSocket API routes.

    WebSocketRoute

    (experimental) Route class that creates the Route for API Gateway WebSocket API.

    WebSocketRouteAuthorizerBindOptions

    (experimental) Input to the bind() operation, that binds an authorizer to a route.

    WebSocketRouteAuthorizerConfig

    (experimental) Results of binding an authorizer to an WebSocket route.

    WebSocketRouteIntegration

    (experimental) The interface that various route integration classes will inherit.

    WebSocketRouteIntegrationBindOptions

    (experimental) Options to the WebSocketRouteIntegration during its bind operation.

    WebSocketRouteIntegrationConfig

    (experimental) Config returned back as a result of the bind.

    WebSocketRouteOptions

    (experimental) Options used to add route to the API.

    WebSocketRouteProps

    (experimental) Properties to initialize a new Route.

    WebSocketStage

    (experimental) Represents a stage where an instance of the API is deployed.

    WebSocketStageAttributes

    (experimental) The attributes used to import existing WebSocketStage.

    WebSocketStageProps

    (experimental) Properties to initialize an instance of WebSocketStage.

    Interfaces

    CfnApi.IBodyS3LocationProperty

    The BodyS3Location property specifies an S3 location from which to import an OpenAPI definition.

    CfnApi.ICorsProperty

    The Cors property specifies a CORS configuration for an API.

    CfnApiGatewayManagedOverrides.IAccessLogSettingsProperty

    The AccessLogSettings property overrides the access log settings for an API Gateway-managed stage.

    CfnApiGatewayManagedOverrides.IIntegrationOverridesProperty

    The IntegrationOverrides property overrides the integration settings for an API Gateway-managed integration.

    CfnApiGatewayManagedOverrides.IRouteOverridesProperty

    The RouteOverrides property overrides the route configuration for an API Gateway-managed route.

    CfnApiGatewayManagedOverrides.IRouteSettingsProperty

    The RouteSettings property overrides the route settings for an API Gateway-managed route.

    CfnApiGatewayManagedOverrides.IStageOverridesProperty

    The StageOverrides property overrides the stage configuration for an API Gateway-managed stage.

    CfnAuthorizer.IJWTConfigurationProperty

    The JWTConfiguration property specifies the configuration of a JWT authorizer.

    CfnDomainName.IDomainNameConfigurationProperty

    The DomainNameConfiguration property type specifies the configuration for a an API's domain name.

    CfnDomainName.IMutualTlsAuthenticationProperty

    If specified, API Gateway performs two-way authentication between the client and the server.

    CfnIntegration.IResponseParameterListProperty

    Specifies a list of response parameters for an HTTP API.

    CfnIntegration.IResponseParameterProperty

    Supported only for HTTP APIs.

    CfnIntegration.ITlsConfigProperty

    The TlsConfig property specifies the TLS configuration for a private integration.

    CfnRoute.IParameterConstraintsProperty

    Specifies whether the parameter is required.

    CfnRouteResponse.IParameterConstraintsProperty

    Specifies whether the parameter is required.

    CfnStage.IAccessLogSettingsProperty

    Settings for logging access in a stage.

    CfnStage.IRouteSettingsProperty

    Represents a collection of route settings.

    IAddRoutesOptions

    (experimental) Options for the Route with Integration resource.

    IApi

    (experimental) Represents a API Gateway HTTP/WebSocket API.

    IApiMapping

    (experimental) Represents an ApiGatewayV2 ApiMapping resource.

    IApiMappingAttributes

    (experimental) The attributes used to import existing ApiMapping.

    IApiMappingProps

    (experimental) Properties used to create the ApiMapping resource.

    IAuthorizer

    (experimental) Represents an Authorizer.

    IBatchHttpRouteOptions

    (experimental) Options used when configuring multiple routes, at once.

    ICfnApiGatewayManagedOverridesProps

    Properties for defining a CfnApiGatewayManagedOverrides.

    ICfnApiMappingProps

    Properties for defining a CfnApiMapping.

    ICfnApiProps

    Properties for defining a CfnApi.

    ICfnAuthorizerProps

    Properties for defining a CfnAuthorizer.

    ICfnDeploymentProps

    Properties for defining a CfnDeployment.

    ICfnDomainNameProps

    Properties for defining a CfnDomainName.

    ICfnIntegrationProps

    Properties for defining a CfnIntegration.

    ICfnIntegrationResponseProps

    Properties for defining a CfnIntegrationResponse.

    ICfnModelProps

    Properties for defining a CfnModel.

    ICfnRouteProps

    Properties for defining a CfnRoute.

    ICfnRouteResponseProps

    Properties for defining a CfnRouteResponse.

    ICfnStageProps

    Properties for defining a CfnStage.

    ICfnVpcLinkProps

    Properties for defining a CfnVpcLink.

    ICorsPreflightOptions

    (experimental) Options for the CORS Configuration.

    IDomainMappingOptions

    (experimental) Options for DomainMapping.

    IDomainName

    (experimental) Represents an APIGatewayV2 DomainName.

    IDomainNameAttributes

    (experimental) custom domain name attributes.

    IDomainNameProps

    (experimental) properties used for creating the DomainName.

    IEndpointOptions

    (experimental) properties for creating a domain name endpoint.

    IGrantInvokeOptions

    (experimental) Options for granting invoke access.

    IHttpApi

    (experimental) Represents an HTTP API.

    IHttpApiAttributes

    (experimental) Attributes for importing an HttpApi into the CDK.

    IHttpApiProps

    (experimental) Properties to initialize an instance of HttpApi.

    IHttpAuthorizer

    (experimental) An authorizer for HTTP APIs.

    IHttpAuthorizerAttributes

    (experimental) Reference to an http authorizer.

    IHttpAuthorizerProps

    (experimental) Properties to initialize an instance of HttpAuthorizer.

    IHttpIntegration

    (experimental) Represents an Integration for an HTTP API.

    IHttpIntegrationProps

    (experimental) The integration properties.

    IHttpRoute

    (experimental) Represents a Route for an HTTP API.

    IHttpRouteAuthorizer

    (experimental) An authorizer that can attach to an Http Route.

    IHttpRouteAuthorizerBindOptions

    (experimental) Input to the bind() operation, that binds an authorizer to a route.

    IHttpRouteAuthorizerConfig

    (experimental) Results of binding an authorizer to an http route.

    IHttpRouteIntegrationBindOptions

    (experimental) Options to the HttpRouteIntegration during its bind operation.

    IHttpRouteIntegrationConfig

    (experimental) Config returned back as a result of the bind.

    IHttpRouteProps

    (experimental) Properties to initialize a new Route.

    IHttpStage

    (experimental) Represents the HttpStage.

    IHttpStageAttributes

    (experimental) The attributes used to import existing HttpStage.

    IHttpStageOptions

    (experimental) The options to create a new Stage for an HTTP API.

    IHttpStageProps

    (experimental) Properties to initialize an instance of HttpStage.

    IIntegration

    (experimental) Represents an integration to an API Route.

    IMappingValue

    (experimental) Represents a Mapping Value.

    IMTLSConfig

    (experimental) The mTLS authentication configuration for a custom domain name.

    IRoute

    (experimental) Represents a route.

    IStage

    (experimental) Represents a Stage.

    IStageAttributes

    (experimental) The attributes used to import existing Stage.

    IStageOptions

    (experimental) Options required to create a new stage.

    IThrottleSettings

    (experimental) Container for defining throttling parameters to API stages.

    IVpcLink

    (experimental) Represents an API Gateway VpcLink.

    IVpcLinkAttributes

    (experimental) Attributes when importing a new VpcLink.

    IVpcLinkProps

    (experimental) Properties for a VpcLink.

    IWebSocketApi

    (experimental) Represents a WebSocket API.

    IWebSocketApiAttributes

    (experimental) Attributes for importing a WebSocketApi into the CDK.

    IWebSocketApiProps

    (experimental) Props for WebSocket API.

    IWebSocketAuthorizer

    (experimental) An authorizer for WebSocket APIs.

    IWebSocketAuthorizerAttributes

    (experimental) Reference to an WebSocket authorizer.

    IWebSocketAuthorizerProps

    (experimental) Properties to initialize an instance of WebSocketAuthorizer.

    IWebSocketIntegration

    (experimental) Represents an Integration for an WebSocket API.

    IWebSocketIntegrationProps

    (experimental) The integration properties.

    IWebSocketRoute

    (experimental) Represents a Route for an WebSocket API.

    IWebSocketRouteAuthorizer

    (experimental) An authorizer that can attach to an WebSocket Route.

    IWebSocketRouteAuthorizerBindOptions

    (experimental) Input to the bind() operation, that binds an authorizer to a route.

    IWebSocketRouteAuthorizerConfig

    (experimental) Results of binding an authorizer to an WebSocket route.

    IWebSocketRouteIntegrationBindOptions

    (experimental) Options to the WebSocketRouteIntegration during its bind operation.

    IWebSocketRouteIntegrationConfig

    (experimental) Config returned back as a result of the bind.

    IWebSocketRouteOptions

    (experimental) Options used to add route to the API.

    IWebSocketRouteProps

    (experimental) Properties to initialize a new Route.

    IWebSocketStage

    (experimental) Represents the WebSocketStage.

    IWebSocketStageAttributes

    (experimental) The attributes used to import existing WebSocketStage.

    IWebSocketStageProps

    (experimental) Properties to initialize an instance of WebSocketStage.

    Back to top Generated by DocFX