Module apigatewayv2

This page documents the language specification for the aws package. If you're looking for help working with the inputs, outputs, or functions of aws resources in a Pulumi program, please see the resource documentation for examples and API reference.

This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-aws repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-aws repo.

Resources

Others

Resources

Resource Api

class Api extends CustomResource

Manages an Amazon API Gateway Version 2 API.

Note: Amazon API Gateway Version 2 resources are used for creating and deploying WebSocket and HTTP APIs. To create and deploy REST APIs, use Amazon API Gateway Version 1.

Example Usage

Basic WebSocket API
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.apigatewayv2.Api("example", {
    protocolType: "WEBSOCKET",
    routeSelectionExpression: "$request.body.action",
});
Basic HTTP API
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.apigatewayv2.Api("example", {
    protocolType: "HTTP",
});

constructor

new Api(name: string, args: ApiArgs, opts?: pulumi.CustomResourceOptions)

Create a Api resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ApiState, opts?: pulumi.CustomResourceOptions): Api

Get an existing Api resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Api

Returns true if the given object is an instance of Api. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property apiEndpoint

public apiEndpoint: pulumi.Output<string>;

The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com.

property apiKeySelectionExpression

public apiKeySelectionExpression: pulumi.Output<string | undefined>;

An API key selection expression. Valid values: $context.authorizer.usageIdentifierKey, $request.header.x-api-key. Defaults to $request.header.x-api-key. Applicable for WebSocket APIs.

property arn

public arn: pulumi.Output<string>;

The ARN of the API.

property corsConfiguration

public corsConfiguration: pulumi.Output<ApiCorsConfiguration | undefined>;

The cross-origin resource sharing (CORS) configuration. Applicable for HTTP APIs.

property credentialsArn

public credentialsArn: pulumi.Output<string | undefined>;

Part of quick create. Specifies any credentials required for the integration. Applicable for HTTP APIs.

property description

public description: pulumi.Output<string | undefined>;

The description of the API.

property executionArn

public executionArn: pulumi.Output<string>;

The ARN prefix to be used in an aws.lambda.Permission’s sourceArn attribute or in an aws.iam.Policy to authorize access to the @connections API. See the Amazon API Gateway Developer Guide for details.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

The name of the API.

property protocolType

public protocolType: pulumi.Output<string>;

The API protocol. Valid values: HTTP, WEBSOCKET.

property routeKey

public routeKey: pulumi.Output<string | undefined>;

Part of quick create. Specifies any route key. Applicable for HTTP APIs.

property routeSelectionExpression

public routeSelectionExpression: pulumi.Output<string | undefined>;

The route selection expression for the API. Defaults to $request.method $request.path.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the API.

property target

public target: pulumi.Output<string | undefined>;

Part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Applicable for HTTP APIs.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property version

public version: pulumi.Output<string | undefined>;

A version identifier for the API.

Resource ApiMapping

class ApiMapping extends CustomResource

Manages an Amazon API Gateway Version 2 API mapping. More information can be found in the Amazon API Gateway Developer Guide.

Example Usage

Basic
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.apigatewayv2.ApiMapping("example", {
    apiId: aws_apigatewayv2_api_example.id,
    domainName: aws_apigatewayv2_domain_name_example.id,
    stage: aws_apigatewayv2_stage_example.id,
});

constructor

new ApiMapping(name: string, args: ApiMappingArgs, opts?: pulumi.CustomResourceOptions)

Create a ApiMapping resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ApiMappingState, opts?: pulumi.CustomResourceOptions): ApiMapping

Get an existing ApiMapping resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is ApiMapping

Returns true if the given object is an instance of ApiMapping. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property apiId

public apiId: pulumi.Output<string>;

The API identifier.

property apiMappingKey

public apiMappingKey: pulumi.Output<string | undefined>;

The API mapping key.

property domainName

public domainName: pulumi.Output<string>;

The domain name. Use the aws.apigatewayv2.DomainName resource to configure a domain name.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property stage

public stage: pulumi.Output<string>;

The API stage. Use the aws.apigatewayv2.Stage resource to configure an API stage.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Authorizer

class Authorizer extends CustomResource

Manages an Amazon API Gateway Version 2 authorizer. More information can be found in the Amazon API Gateway Developer Guide.

Example Usage

Basic WebSocket API
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.apigatewayv2.Authorizer("example", {
    apiId: aws_apigatewayv2_api_example.id,
    authorizerType: "REQUEST",
    authorizerUri: aws_lambda_function_example.invokeArn,
    identitySources: ["route.request.header.Auth"],
});
Basic HTTP API
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.apigatewayv2.Authorizer("example", {
    apiId: aws_apigatewayv2_api_example.id,
    authorizerType: "JWT",
    identitySources: ["$request.header.Authorization"],
    jwtConfiguration: {
        audiences: ["example"],
        issuer: pulumi.interpolate`https://${aws_cognito_user_pool_example.endpoint}`,
    },
});

constructor

new Authorizer(name: string, args: AuthorizerArgs, opts?: pulumi.CustomResourceOptions)

Create a Authorizer resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AuthorizerState, opts?: pulumi.CustomResourceOptions): Authorizer

Get an existing Authorizer resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Authorizer

Returns true if the given object is an instance of Authorizer. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property apiId

public apiId: pulumi.Output<string>;

The API identifier.

property authorizerCredentialsArn

public authorizerCredentialsArn: pulumi.Output<string | undefined>;

The required credentials as an IAM role for API Gateway to invoke the authorizer. Supported only for REQUEST authorizers.

property authorizerType

public authorizerType: pulumi.Output<string>;

The authorizer type. Valid values: JWT, REQUEST. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.

property authorizerUri

public authorizerUri: pulumi.Output<string | undefined>;

The authorizer’s Uniform Resource Identifier (URI). For REQUEST authorizers this must be a well-formed Lambda function URI, such as the invokeArn attribute of the aws.lambda.Function resource. Supported only for REQUEST authorizers.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property identitySources

public identitySources: pulumi.Output<string[]>;

The identity sources for which authorization is requested. For REQUEST authorizers the value is a list of one or more mapping expressions of the specified request parameters. For JWT authorizers the single entry specifies where to extract the JSON Web Token (JWT) from inbound requests.

property jwtConfiguration

public jwtConfiguration: pulumi.Output<AuthorizerJwtConfiguration | undefined>;

The configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.

property name

public name: pulumi.Output<string>;

The name of the authorizer.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Deployment

class Deployment extends CustomResource

Manages an Amazon API Gateway Version 2 deployment. More information can be found in the Amazon API Gateway Developer Guide.

Note: Creating a deployment for an API requires at least one aws.apigatewayv2.Route resource associated with that API. To avoid race conditions when all resources are being created together, you need to add implicit resource references via the triggers argument or explicit resource references using the resource dependsOn meta-argument.

Example Usage

Basic
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.apigatewayv2.Deployment("example", {
    apiId: aws_apigatewayv2_route_example.apiId,
    description: "Example deployment",
});

constructor

new Deployment(name: string, args: DeploymentArgs, opts?: pulumi.CustomResourceOptions)

Create a Deployment resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DeploymentState, opts?: pulumi.CustomResourceOptions): Deployment

Get an existing Deployment resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Deployment

Returns true if the given object is an instance of Deployment. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property apiId

public apiId: pulumi.Output<string>;

The API identifier.

property autoDeployed

public autoDeployed: pulumi.Output<boolean>;

Whether the deployment was automatically released.

property description

public description: pulumi.Output<string | undefined>;

The description for the deployment resource.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property triggers

public triggers: pulumi.Output<{[key: string]: string} | undefined>;

A map of arbitrary keys and values that, when changed, will trigger a redeployment.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource DomainName

class DomainName extends CustomResource

Manages an Amazon API Gateway Version 2 domain name. More information can be found in the Amazon API Gateway Developer Guide.

Note: This resource establishes ownership of and the TLS settings for a particular domain name. An API stage can be associated with the domain name using the aws.apigatewayv2.ApiMapping resource.

Example Usage

Basic
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.apigatewayv2.DomainName("example", {
    domainName: "ws-api.example.com",
    domainNameConfiguration: {
        certificateArn: aws_acm_certificate_example.arn,
        endpointType: "REGIONAL",
        securityPolicy: "TLS_1_2",
    },
});

constructor

new DomainName(name: string, args: DomainNameArgs, opts?: pulumi.CustomResourceOptions)

Create a DomainName resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DomainNameState, opts?: pulumi.CustomResourceOptions): DomainName

Get an existing DomainName resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is DomainName

Returns true if the given object is an instance of DomainName. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property apiMappingSelectionExpression

public apiMappingSelectionExpression: pulumi.Output<string>;

The API mapping selection expression for the domain name.

property arn

public arn: pulumi.Output<string>;

The ARN of the domain name.

property domainName

public domainName: pulumi.Output<string>;

The domain name.

property domainNameConfiguration

public domainNameConfiguration: pulumi.Output<DomainNameDomainNameConfiguration>;

The domain name configuration.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the domain name.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Integration

class Integration extends CustomResource

Manages an Amazon API Gateway Version 2 integration. More information can be found in the Amazon API Gateway Developer Guide.

Example Usage

Basic
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.apigatewayv2.Integration("example", {
    apiId: aws_apigatewayv2_api_example.id,
    integrationType: "MOCK",
});
Lambda Integration
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const exampleFunction = new aws.lambda.Function("example", {
    code: new pulumi.asset.FileArchive("example.zip"),
    handler: "index.handler",
    role: aws_iam_role_example.arn,
    runtime: "nodejs10.x",
});
const exampleIntegration = new aws.apigatewayv2.Integration("example", {
    apiId: aws_apigatewayv2_api_example.id,
    connectionType: "INTERNET",
    contentHandlingStrategy: "CONVERT_TO_TEXT",
    description: "Lambda example",
    integrationMethod: "POST",
    integrationType: "AWS",
    integrationUri: exampleFunction.invokeArn,
    passthroughBehavior: "WHEN_NO_MATCH",
});

constructor

new Integration(name: string, args: IntegrationArgs, opts?: pulumi.CustomResourceOptions)

Create a Integration resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: IntegrationState, opts?: pulumi.CustomResourceOptions): Integration

Get an existing Integration resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Integration

Returns true if the given object is an instance of Integration. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property apiId

public apiId: pulumi.Output<string>;

The API identifier.

property connectionId

public connectionId: pulumi.Output<string | undefined>;

The ID of the VPC link for a private integration. Supported only for HTTP APIs.

property connectionType

public connectionType: pulumi.Output<string | undefined>;

The type of the network connection to the integration endpoint. Valid values: INTERNET, VPC_LINK. Default is INTERNET.

property contentHandlingStrategy

public contentHandlingStrategy: pulumi.Output<string | undefined>;

How to handle response payload content type conversions. Valid values: CONVERT_TO_BINARY, CONVERT_TO_TEXT. Supported only for WebSocket APIs.

property credentialsArn

public credentialsArn: pulumi.Output<string | undefined>;

The credentials required for the integration, if any.

property description

public description: pulumi.Output<string | undefined>;

The description of the integration.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property integrationMethod

public integrationMethod: pulumi.Output<string | undefined>;

The integration’s HTTP method. Must be specified if integrationType is not MOCK.

property integrationResponseSelectionExpression

public integrationResponseSelectionExpression: pulumi.Output<string>;

The integration response selection expression for the integration.

property integrationType

public integrationType: pulumi.Output<string>;

The integration type of an integration. Valid values: AWS, AWS_PROXY, HTTP, HTTP_PROXY, MOCK.

property integrationUri

public integrationUri: pulumi.Output<string | undefined>;

The URI of the Lambda function for a Lambda proxy integration, when integrationType is AWS_PROXY. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.

property passthroughBehavior

public passthroughBehavior: pulumi.Output<string | undefined>;

The pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates attribute. Valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, NEVER. Default is WHEN_NO_MATCH. Supported only for WebSocket APIs.

property payloadFormatVersion

public payloadFormatVersion: pulumi.Output<string | undefined>;

The format of the payload sent to an integration. Valid values: 1.0, 2.0. Default is 1.0.

property requestTemplates

public requestTemplates: pulumi.Output<{[key: string]: string} | undefined>;

A map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. Supported only for WebSocket APIs.

property templateSelectionExpression

public templateSelectionExpression: pulumi.Output<string | undefined>;

The template selection expression for the integration.

property timeoutMilliseconds

public timeoutMilliseconds: pulumi.Output<number | undefined>;

Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource IntegrationResponse

class IntegrationResponse extends CustomResource

Manages an Amazon API Gateway Version 2 integration response. More information can be found in the Amazon API Gateway Developer Guide.

Example Usage

Basic
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.apigatewayv2.IntegrationResponse("example", {
    apiId: aws_apigatewayv2_api_example.id,
    integrationId: aws_apigatewayv2_integration_example.id,
    integrationResponseKey: "/200/",
});

constructor

new IntegrationResponse(name: string, args: IntegrationResponseArgs, opts?: pulumi.CustomResourceOptions)

Create a IntegrationResponse resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: IntegrationResponseState, opts?: pulumi.CustomResourceOptions): IntegrationResponse

Get an existing IntegrationResponse resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is IntegrationResponse

Returns true if the given object is an instance of IntegrationResponse. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property apiId

public apiId: pulumi.Output<string>;

The API identifier.

property contentHandlingStrategy

public contentHandlingStrategy: pulumi.Output<string | undefined>;

How to handle response payload content type conversions. Valid values: CONVERT_TO_BINARY, CONVERT_TO_TEXT.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property integrationId

public integrationId: pulumi.Output<string>;

The identifier of the aws.apigatewayv2.Integration.

property integrationResponseKey

public integrationResponseKey: pulumi.Output<string>;

The integration response key.

property responseTemplates

public responseTemplates: pulumi.Output<{[key: string]: string} | undefined>;

A map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client.

property templateSelectionExpression

public templateSelectionExpression: pulumi.Output<string | undefined>;

The template selection expression for the integration response.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Model

class Model extends CustomResource

Manages an Amazon API Gateway Version 2 model.

Example Usage

Basic
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.apigatewayv2.Model("example", {
    apiId: aws_apigatewayv2_api_example.id,
    contentType: "application/json",
    schema: `{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "ExampleModel",
  "type": "object",
  "properties": {
    "id": { "type": "string" }
  }
}
`,
});

constructor

new Model(name: string, args: ModelArgs, opts?: pulumi.CustomResourceOptions)

Create a Model resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ModelState, opts?: pulumi.CustomResourceOptions): Model

Get an existing Model resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Model

Returns true if the given object is an instance of Model. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property apiId

public apiId: pulumi.Output<string>;

The API identifier.

property contentType

public contentType: pulumi.Output<string>;

The content-type for the model, for example, application/json.

property description

public description: pulumi.Output<string | undefined>;

The description of the model.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

The name of the model. Must be alphanumeric.

property schema

public schema: pulumi.Output<string>;

The schema for the model. This should be a JSON schema draft 4 model.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Route

class Route extends CustomResource

Manages an Amazon API Gateway Version 2 route. More information can be found in the Amazon API Gateway Developer Guide.

Example Usage

Basic
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.apigatewayv2.Route("example", {
    apiId: aws_apigatewayv2_api_example.id,
    routeKey: "$default",
});

constructor

new Route(name: string, args: RouteArgs, opts?: pulumi.CustomResourceOptions)

Create a Route resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RouteState, opts?: pulumi.CustomResourceOptions): Route

Get an existing Route resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Route

Returns true if the given object is an instance of Route. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property apiId

public apiId: pulumi.Output<string>;

The API identifier.

property apiKeyRequired

public apiKeyRequired: pulumi.Output<boolean | undefined>;

Boolean whether an API key is required for the route. Defaults to false.

property authorizationScopes

public authorizationScopes: pulumi.Output<string[] | undefined>;

The authorization scopes supported by this route. The scopes are used with a JWT authorizer to authorize the method invocation.

property authorizationType

public authorizationType: pulumi.Output<string | undefined>;

The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer. For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens. Defaults to NONE.

property authorizerId

public authorizerId: pulumi.Output<string | undefined>;

The identifier of the aws.apigatewayv2.Authorizer resource to be associated with this route, if the authorizationType is CUSTOM.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property modelSelectionExpression

public modelSelectionExpression: pulumi.Output<string | undefined>;

The model selection expression for the route.

property operationName

public operationName: pulumi.Output<string | undefined>;

The operation name for the route.

property requestModels

public requestModels: pulumi.Output<{[key: string]: string} | undefined>;

The request models for the route.

property routeKey

public routeKey: pulumi.Output<string>;

The route key for the route.

property routeResponseSelectionExpression

public routeResponseSelectionExpression: pulumi.Output<string | undefined>;

The route response selection expression for the route.

property target

public target: pulumi.Output<string | undefined>;

The target for the route.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource RouteResponse

class RouteResponse extends CustomResource

Manages an Amazon API Gateway Version 2 route response. More information can be found in the Amazon API Gateway Developer Guide.

Example Usage

Basic
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.apigatewayv2.RouteResponse("example", {
    apiId: aws_apigatewayv2_api_example.id,
    routeId: aws_apigatewayv2_route_example.id,
    routeResponseKey: "$default",
});

constructor

new RouteResponse(name: string, args: RouteResponseArgs, opts?: pulumi.CustomResourceOptions)

Create a RouteResponse resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RouteResponseState, opts?: pulumi.CustomResourceOptions): RouteResponse

Get an existing RouteResponse resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is RouteResponse

Returns true if the given object is an instance of RouteResponse. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property apiId

public apiId: pulumi.Output<string>;

The API identifier.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property modelSelectionExpression

public modelSelectionExpression: pulumi.Output<string | undefined>;

The model selection expression for the route response.

property responseModels

public responseModels: pulumi.Output<{[key: string]: string} | undefined>;

The response models for the route response.

property routeId

public routeId: pulumi.Output<string>;

The identifier of the aws.apigatewayv2.Route.

property routeResponseKey

public routeResponseKey: pulumi.Output<string>;

The route response key.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Stage

class Stage extends CustomResource

Manages an Amazon API Gateway Version 2 stage. More information can be found in the Amazon API Gateway Developer Guide.

Example Usage

Basic
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.apigatewayv2.Stage("example", {
    apiId: aws_apigatewayv2_api_example.id,
});

constructor

new Stage(name: string, args: StageArgs, opts?: pulumi.CustomResourceOptions)

Create a Stage resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: StageState, opts?: pulumi.CustomResourceOptions): Stage

Get an existing Stage resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Stage

Returns true if the given object is an instance of Stage. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property accessLogSettings

public accessLogSettings: pulumi.Output<StageAccessLogSettings | undefined>;

Settings for logging access in this stage. Use the aws.apigateway.Account resource to configure permissions for CloudWatch Logging.

property apiId

public apiId: pulumi.Output<string>;

The API identifier.

property arn

public arn: pulumi.Output<string>;

The ARN of the stage.

property autoDeploy

public autoDeploy: pulumi.Output<boolean | undefined>;

Whether updates to an API automatically trigger a new deployment. Defaults to false.

property clientCertificateId

public clientCertificateId: pulumi.Output<string | undefined>;

The identifier of a client certificate for the stage. Use the aws.apigateway.ClientCertificate resource to configure a client certificate. Supported only for WebSocket APIs.

property defaultRouteSettings

public defaultRouteSettings: pulumi.Output<StageDefaultRouteSettings | undefined>;

The default route settings for the stage.

property deploymentId

public deploymentId: pulumi.Output<string | undefined>;

The deployment identifier of the stage. Use the aws.apigatewayv2.Deployment resource to configure a deployment.

property description

public description: pulumi.Output<string | undefined>;

The description for the stage.

property executionArn

public executionArn: pulumi.Output<string>;

The ARN prefix to be used in an aws.lambda.Permission’s sourceArn attribute or in an aws.iam.Policy to authorize access to the @connections API. See the Amazon API Gateway Developer Guide for details. Set only for WebSocket APIs.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property invokeUrl

public invokeUrl: pulumi.Output<string>;

The URL to invoke the API pointing to the stage, e.g. wss://z4675bid1j.execute-api.eu-west-2.amazonaws.com/example-stage, or https://z4675bid1j.execute-api.eu-west-2.amazonaws.com/

property name

public name: pulumi.Output<string>;

The name of the stage.

property routeSettings

public routeSettings: pulumi.Output<StageRouteSetting[] | undefined>;

Route settings for the stage.

property stageVariables

public stageVariables: pulumi.Output<{[key: string]: string} | undefined>;

A map that defines the stage variables for the stage.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the stage.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class VpcLink extends CustomResource

Manages an Amazon API Gateway Version 2 VPC Link.

Note: Amazon API Gateway Version 2 VPC Links enable private integrations that connect HTTP APIs to private resources in a VPC. To enable private integration for REST APIs, use the Amazon API Gateway Version 1 VPC Link resource.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.apigatewayv2.VpcLink("example", {
    securityGroupIds: [data.aws_security_group.example.id],
    subnetIds: data.aws_subnet_ids.example.ids,
    tags: {
        Usage: "example",
    },
});
new VpcLink(name: string, args: VpcLinkArgs, opts?: pulumi.CustomResourceOptions)

Create a VpcLink resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcLinkState, opts?: pulumi.CustomResourceOptions): VpcLink

Get an existing VpcLink resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

getProvider(moduleMember: string): ProviderResource | undefined
public static isInstance(obj: any): obj is VpcLink

Returns true if the given object is an instance of VpcLink. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

public arn: pulumi.Output<string>;

The VPC Link ARN.

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

public name: pulumi.Output<string>;

The name of the VPC Link.

public securityGroupIds: pulumi.Output<string[]>;

Security group IDs for the VPC Link.

public subnetIds: pulumi.Output<string[]>;

Subnet IDs for the VPC Link.

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A map of tags to assign to the VPC Link.

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Others

interface ApiArgs

interface ApiArgs

The set of arguments for constructing a Api resource.

property apiKeySelectionExpression

apiKeySelectionExpression?: pulumi.Input<string>;

An API key selection expression. Valid values: $context.authorizer.usageIdentifierKey, $request.header.x-api-key. Defaults to $request.header.x-api-key. Applicable for WebSocket APIs.

property corsConfiguration

corsConfiguration?: pulumi.Input<ApiCorsConfiguration>;

The cross-origin resource sharing (CORS) configuration. Applicable for HTTP APIs.

property credentialsArn

credentialsArn?: pulumi.Input<string>;

Part of quick create. Specifies any credentials required for the integration. Applicable for HTTP APIs.

property description

description?: pulumi.Input<string>;

The description of the API.

property name

name?: pulumi.Input<string>;

The name of the API.

property protocolType

protocolType: pulumi.Input<string>;

The API protocol. Valid values: HTTP, WEBSOCKET.

property routeKey

routeKey?: pulumi.Input<string>;

Part of quick create. Specifies any route key. Applicable for HTTP APIs.

property routeSelectionExpression

routeSelectionExpression?: pulumi.Input<string>;

The route selection expression for the API. Defaults to $request.method $request.path.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the API.

property target

target?: pulumi.Input<string>;

Part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Applicable for HTTP APIs.

property version

version?: pulumi.Input<string>;

A version identifier for the API.

interface ApiMappingArgs

interface ApiMappingArgs

The set of arguments for constructing a ApiMapping resource.

property apiId

apiId: pulumi.Input<string>;

The API identifier.

property apiMappingKey

apiMappingKey?: pulumi.Input<string>;

The API mapping key.

property domainName

domainName: pulumi.Input<string>;

The domain name. Use the aws.apigatewayv2.DomainName resource to configure a domain name.

property stage

stage: pulumi.Input<string>;

The API stage. Use the aws.apigatewayv2.Stage resource to configure an API stage.

interface ApiMappingState

interface ApiMappingState

Input properties used for looking up and filtering ApiMapping resources.

property apiId

apiId?: pulumi.Input<string>;

The API identifier.

property apiMappingKey

apiMappingKey?: pulumi.Input<string>;

The API mapping key.

property domainName

domainName?: pulumi.Input<string>;

The domain name. Use the aws.apigatewayv2.DomainName resource to configure a domain name.

property stage

stage?: pulumi.Input<string>;

The API stage. Use the aws.apigatewayv2.Stage resource to configure an API stage.

interface ApiState

interface ApiState

Input properties used for looking up and filtering Api resources.

property apiEndpoint

apiEndpoint?: pulumi.Input<string>;

The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com.

property apiKeySelectionExpression

apiKeySelectionExpression?: pulumi.Input<string>;

An API key selection expression. Valid values: $context.authorizer.usageIdentifierKey, $request.header.x-api-key. Defaults to $request.header.x-api-key. Applicable for WebSocket APIs.

property arn

arn?: pulumi.Input<string>;

The ARN of the API.

property corsConfiguration

corsConfiguration?: pulumi.Input<ApiCorsConfiguration>;

The cross-origin resource sharing (CORS) configuration. Applicable for HTTP APIs.

property credentialsArn

credentialsArn?: pulumi.Input<string>;

Part of quick create. Specifies any credentials required for the integration. Applicable for HTTP APIs.

property description

description?: pulumi.Input<string>;

The description of the API.

property executionArn

executionArn?: pulumi.Input<string>;

The ARN prefix to be used in an aws.lambda.Permission’s sourceArn attribute or in an aws.iam.Policy to authorize access to the @connections API. See the Amazon API Gateway Developer Guide for details.

property name

name?: pulumi.Input<string>;

The name of the API.

property protocolType

protocolType?: pulumi.Input<string>;

The API protocol. Valid values: HTTP, WEBSOCKET.

property routeKey

routeKey?: pulumi.Input<string>;

Part of quick create. Specifies any route key. Applicable for HTTP APIs.

property routeSelectionExpression

routeSelectionExpression?: pulumi.Input<string>;

The route selection expression for the API. Defaults to $request.method $request.path.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the API.

property target

target?: pulumi.Input<string>;

Part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Applicable for HTTP APIs.

property version

version?: pulumi.Input<string>;

A version identifier for the API.

interface AuthorizerArgs

interface AuthorizerArgs

The set of arguments for constructing a Authorizer resource.

property apiId

apiId: pulumi.Input<string>;

The API identifier.

property authorizerCredentialsArn

authorizerCredentialsArn?: pulumi.Input<string>;

The required credentials as an IAM role for API Gateway to invoke the authorizer. Supported only for REQUEST authorizers.

property authorizerType

authorizerType: pulumi.Input<string>;

The authorizer type. Valid values: JWT, REQUEST. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.

property authorizerUri

authorizerUri?: pulumi.Input<string>;

The authorizer’s Uniform Resource Identifier (URI). For REQUEST authorizers this must be a well-formed Lambda function URI, such as the invokeArn attribute of the aws.lambda.Function resource. Supported only for REQUEST authorizers.

property identitySources

identitySources: pulumi.Input<pulumi.Input<string>[]>;

The identity sources for which authorization is requested. For REQUEST authorizers the value is a list of one or more mapping expressions of the specified request parameters. For JWT authorizers the single entry specifies where to extract the JSON Web Token (JWT) from inbound requests.

property jwtConfiguration

jwtConfiguration?: pulumi.Input<AuthorizerJwtConfiguration>;

The configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.

property name

name?: pulumi.Input<string>;

The name of the authorizer.

interface AuthorizerState

interface AuthorizerState

Input properties used for looking up and filtering Authorizer resources.

property apiId

apiId?: pulumi.Input<string>;

The API identifier.

property authorizerCredentialsArn

authorizerCredentialsArn?: pulumi.Input<string>;

The required credentials as an IAM role for API Gateway to invoke the authorizer. Supported only for REQUEST authorizers.

property authorizerType

authorizerType?: pulumi.Input<string>;

The authorizer type. Valid values: JWT, REQUEST. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.

property authorizerUri

authorizerUri?: pulumi.Input<string>;

The authorizer’s Uniform Resource Identifier (URI). For REQUEST authorizers this must be a well-formed Lambda function URI, such as the invokeArn attribute of the aws.lambda.Function resource. Supported only for REQUEST authorizers.

property identitySources

identitySources?: pulumi.Input<pulumi.Input<string>[]>;

The identity sources for which authorization is requested. For REQUEST authorizers the value is a list of one or more mapping expressions of the specified request parameters. For JWT authorizers the single entry specifies where to extract the JSON Web Token (JWT) from inbound requests.

property jwtConfiguration

jwtConfiguration?: pulumi.Input<AuthorizerJwtConfiguration>;

The configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.

property name

name?: pulumi.Input<string>;

The name of the authorizer.

interface DeploymentArgs

interface DeploymentArgs

The set of arguments for constructing a Deployment resource.

property apiId

apiId: pulumi.Input<string>;

The API identifier.

property description

description?: pulumi.Input<string>;

The description for the deployment resource.

property triggers

triggers?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A map of arbitrary keys and values that, when changed, will trigger a redeployment.

interface DeploymentState

interface DeploymentState

Input properties used for looking up and filtering Deployment resources.

property apiId

apiId?: pulumi.Input<string>;

The API identifier.

property autoDeployed

autoDeployed?: pulumi.Input<boolean>;

Whether the deployment was automatically released.

property description

description?: pulumi.Input<string>;

The description for the deployment resource.

property triggers

triggers?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A map of arbitrary keys and values that, when changed, will trigger a redeployment.

interface DomainNameArgs

interface DomainNameArgs

The set of arguments for constructing a DomainName resource.

property domainName

domainName: pulumi.Input<string>;

The domain name.

property domainNameConfiguration

domainNameConfiguration: pulumi.Input<DomainNameDomainNameConfiguration>;

The domain name configuration.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the domain name.

interface DomainNameState

interface DomainNameState

Input properties used for looking up and filtering DomainName resources.

property apiMappingSelectionExpression

apiMappingSelectionExpression?: pulumi.Input<string>;

The API mapping selection expression for the domain name.

property arn

arn?: pulumi.Input<string>;

The ARN of the domain name.

property domainName

domainName?: pulumi.Input<string>;

The domain name.

property domainNameConfiguration

domainNameConfiguration?: pulumi.Input<DomainNameDomainNameConfiguration>;

The domain name configuration.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the domain name.

interface IntegrationArgs

interface IntegrationArgs

The set of arguments for constructing a Integration resource.

property apiId

apiId: pulumi.Input<string>;

The API identifier.

property connectionId

connectionId?: pulumi.Input<string>;

The ID of the VPC link for a private integration. Supported only for HTTP APIs.

property connectionType

connectionType?: pulumi.Input<string>;

The type of the network connection to the integration endpoint. Valid values: INTERNET, VPC_LINK. Default is INTERNET.

property contentHandlingStrategy

contentHandlingStrategy?: pulumi.Input<string>;

How to handle response payload content type conversions. Valid values: CONVERT_TO_BINARY, CONVERT_TO_TEXT. Supported only for WebSocket APIs.

property credentialsArn

credentialsArn?: pulumi.Input<string>;

The credentials required for the integration, if any.

property description

description?: pulumi.Input<string>;

The description of the integration.

property integrationMethod

integrationMethod?: pulumi.Input<string>;

The integration’s HTTP method. Must be specified if integrationType is not MOCK.

property integrationType

integrationType: pulumi.Input<string>;

The integration type of an integration. Valid values: AWS, AWS_PROXY, HTTP, HTTP_PROXY, MOCK.

property integrationUri

integrationUri?: pulumi.Input<string>;

The URI of the Lambda function for a Lambda proxy integration, when integrationType is AWS_PROXY. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.

property passthroughBehavior

passthroughBehavior?: pulumi.Input<string>;

The pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates attribute. Valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, NEVER. Default is WHEN_NO_MATCH. Supported only for WebSocket APIs.

property payloadFormatVersion

payloadFormatVersion?: pulumi.Input<string>;

The format of the payload sent to an integration. Valid values: 1.0, 2.0. Default is 1.0.

property requestTemplates

requestTemplates?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. Supported only for WebSocket APIs.

property templateSelectionExpression

templateSelectionExpression?: pulumi.Input<string>;

The template selection expression for the integration.

property timeoutMilliseconds

timeoutMilliseconds?: pulumi.Input<number>;

Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.

interface IntegrationResponseArgs

interface IntegrationResponseArgs

The set of arguments for constructing a IntegrationResponse resource.

property apiId

apiId: pulumi.Input<string>;

The API identifier.

property contentHandlingStrategy

contentHandlingStrategy?: pulumi.Input<string>;

How to handle response payload content type conversions. Valid values: CONVERT_TO_BINARY, CONVERT_TO_TEXT.

property integrationId

integrationId: pulumi.Input<string>;

The identifier of the aws.apigatewayv2.Integration.

property integrationResponseKey

integrationResponseKey: pulumi.Input<string>;

The integration response key.

property responseTemplates

responseTemplates?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client.

property templateSelectionExpression

templateSelectionExpression?: pulumi.Input<string>;

The template selection expression for the integration response.

interface IntegrationResponseState

interface IntegrationResponseState

Input properties used for looking up and filtering IntegrationResponse resources.

property apiId

apiId?: pulumi.Input<string>;

The API identifier.

property contentHandlingStrategy

contentHandlingStrategy?: pulumi.Input<string>;

How to handle response payload content type conversions. Valid values: CONVERT_TO_BINARY, CONVERT_TO_TEXT.

property integrationId

integrationId?: pulumi.Input<string>;

The identifier of the aws.apigatewayv2.Integration.

property integrationResponseKey

integrationResponseKey?: pulumi.Input<string>;

The integration response key.

property responseTemplates

responseTemplates?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client.

property templateSelectionExpression

templateSelectionExpression?: pulumi.Input<string>;

The template selection expression for the integration response.

interface IntegrationState

interface IntegrationState

Input properties used for looking up and filtering Integration resources.

property apiId

apiId?: pulumi.Input<string>;

The API identifier.

property connectionId

connectionId?: pulumi.Input<string>;

The ID of the VPC link for a private integration. Supported only for HTTP APIs.

property connectionType

connectionType?: pulumi.Input<string>;

The type of the network connection to the integration endpoint. Valid values: INTERNET, VPC_LINK. Default is INTERNET.

property contentHandlingStrategy

contentHandlingStrategy?: pulumi.Input<string>;

How to handle response payload content type conversions. Valid values: CONVERT_TO_BINARY, CONVERT_TO_TEXT. Supported only for WebSocket APIs.

property credentialsArn

credentialsArn?: pulumi.Input<string>;

The credentials required for the integration, if any.

property description

description?: pulumi.Input<string>;

The description of the integration.

property integrationMethod

integrationMethod?: pulumi.Input<string>;

The integration’s HTTP method. Must be specified if integrationType is not MOCK.

property integrationResponseSelectionExpression

integrationResponseSelectionExpression?: pulumi.Input<string>;

The integration response selection expression for the integration.

property integrationType

integrationType?: pulumi.Input<string>;

The integration type of an integration. Valid values: AWS, AWS_PROXY, HTTP, HTTP_PROXY, MOCK.

property integrationUri

integrationUri?: pulumi.Input<string>;

The URI of the Lambda function for a Lambda proxy integration, when integrationType is AWS_PROXY. For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.

property passthroughBehavior

passthroughBehavior?: pulumi.Input<string>;

The pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates attribute. Valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, NEVER. Default is WHEN_NO_MATCH. Supported only for WebSocket APIs.

property payloadFormatVersion

payloadFormatVersion?: pulumi.Input<string>;

The format of the payload sent to an integration. Valid values: 1.0, 2.0. Default is 1.0.

property requestTemplates

requestTemplates?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. Supported only for WebSocket APIs.

property templateSelectionExpression

templateSelectionExpression?: pulumi.Input<string>;

The template selection expression for the integration.

property timeoutMilliseconds

timeoutMilliseconds?: pulumi.Input<number>;

Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.

interface ModelArgs

interface ModelArgs

The set of arguments for constructing a Model resource.

property apiId

apiId: pulumi.Input<string>;

The API identifier.

property contentType

contentType: pulumi.Input<string>;

The content-type for the model, for example, application/json.

property description

description?: pulumi.Input<string>;

The description of the model.

property name

name?: pulumi.Input<string>;

The name of the model. Must be alphanumeric.

property schema

schema: pulumi.Input<string>;

The schema for the model. This should be a JSON schema draft 4 model.

interface ModelState

interface ModelState

Input properties used for looking up and filtering Model resources.

property apiId

apiId?: pulumi.Input<string>;

The API identifier.

property contentType

contentType?: pulumi.Input<string>;

The content-type for the model, for example, application/json.

property description

description?: pulumi.Input<string>;

The description of the model.

property name

name?: pulumi.Input<string>;

The name of the model. Must be alphanumeric.

property schema

schema?: pulumi.Input<string>;

The schema for the model. This should be a JSON schema draft 4 model.

interface RouteArgs

interface RouteArgs

The set of arguments for constructing a Route resource.

property apiId

apiId: pulumi.Input<string>;

The API identifier.

property apiKeyRequired

apiKeyRequired?: pulumi.Input<boolean>;

Boolean whether an API key is required for the route. Defaults to false.

property authorizationScopes

authorizationScopes?: pulumi.Input<pulumi.Input<string>[]>;

The authorization scopes supported by this route. The scopes are used with a JWT authorizer to authorize the method invocation.

property authorizationType

authorizationType?: pulumi.Input<string>;

The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer. For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens. Defaults to NONE.

property authorizerId

authorizerId?: pulumi.Input<string>;

The identifier of the aws.apigatewayv2.Authorizer resource to be associated with this route, if the authorizationType is CUSTOM.

property modelSelectionExpression

modelSelectionExpression?: pulumi.Input<string>;

The model selection expression for the route.

property operationName

operationName?: pulumi.Input<string>;

The operation name for the route.

property requestModels

requestModels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

The request models for the route.

property routeKey

routeKey: pulumi.Input<string>;

The route key for the route.

property routeResponseSelectionExpression

routeResponseSelectionExpression?: pulumi.Input<string>;

The route response selection expression for the route.

property target

target?: pulumi.Input<string>;

The target for the route.

interface RouteResponseArgs

interface RouteResponseArgs

The set of arguments for constructing a RouteResponse resource.

property apiId

apiId: pulumi.Input<string>;

The API identifier.

property modelSelectionExpression

modelSelectionExpression?: pulumi.Input<string>;

The model selection expression for the route response.

property responseModels

responseModels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

The response models for the route response.

property routeId

routeId: pulumi.Input<string>;

The identifier of the aws.apigatewayv2.Route.

property routeResponseKey

routeResponseKey: pulumi.Input<string>;

The route response key.

interface RouteResponseState

interface RouteResponseState

Input properties used for looking up and filtering RouteResponse resources.

property apiId

apiId?: pulumi.Input<string>;

The API identifier.

property modelSelectionExpression

modelSelectionExpression?: pulumi.Input<string>;

The model selection expression for the route response.

property responseModels

responseModels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

The response models for the route response.

property routeId

routeId?: pulumi.Input<string>;

The identifier of the aws.apigatewayv2.Route.

property routeResponseKey

routeResponseKey?: pulumi.Input<string>;

The route response key.

interface RouteState

interface RouteState

Input properties used for looking up and filtering Route resources.

property apiId

apiId?: pulumi.Input<string>;

The API identifier.

property apiKeyRequired

apiKeyRequired?: pulumi.Input<boolean>;

Boolean whether an API key is required for the route. Defaults to false.

property authorizationScopes

authorizationScopes?: pulumi.Input<pulumi.Input<string>[]>;

The authorization scopes supported by this route. The scopes are used with a JWT authorizer to authorize the method invocation.

property authorizationType

authorizationType?: pulumi.Input<string>;

The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer. For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens. Defaults to NONE.

property authorizerId

authorizerId?: pulumi.Input<string>;

The identifier of the aws.apigatewayv2.Authorizer resource to be associated with this route, if the authorizationType is CUSTOM.

property modelSelectionExpression

modelSelectionExpression?: pulumi.Input<string>;

The model selection expression for the route.

property operationName

operationName?: pulumi.Input<string>;

The operation name for the route.

property requestModels

requestModels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

The request models for the route.

property routeKey

routeKey?: pulumi.Input<string>;

The route key for the route.

property routeResponseSelectionExpression

routeResponseSelectionExpression?: pulumi.Input<string>;

The route response selection expression for the route.

property target

target?: pulumi.Input<string>;

The target for the route.

interface StageArgs

interface StageArgs

The set of arguments for constructing a Stage resource.

property accessLogSettings

accessLogSettings?: pulumi.Input<StageAccessLogSettings>;

Settings for logging access in this stage. Use the aws.apigateway.Account resource to configure permissions for CloudWatch Logging.

property apiId

apiId: pulumi.Input<string>;

The API identifier.

property autoDeploy

autoDeploy?: pulumi.Input<boolean>;

Whether updates to an API automatically trigger a new deployment. Defaults to false.

property clientCertificateId

clientCertificateId?: pulumi.Input<string>;

The identifier of a client certificate for the stage. Use the aws.apigateway.ClientCertificate resource to configure a client certificate. Supported only for WebSocket APIs.

property defaultRouteSettings

defaultRouteSettings?: pulumi.Input<StageDefaultRouteSettings>;

The default route settings for the stage.

property deploymentId

deploymentId?: pulumi.Input<string>;

The deployment identifier of the stage. Use the aws.apigatewayv2.Deployment resource to configure a deployment.

property description

description?: pulumi.Input<string>;

The description for the stage.

property name

name?: pulumi.Input<string>;

The name of the stage.

property routeSettings

routeSettings?: pulumi.Input<pulumi.Input<StageRouteSetting>[]>;

Route settings for the stage.

property stageVariables

stageVariables?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A map that defines the stage variables for the stage.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the stage.

interface StageState

interface StageState

Input properties used for looking up and filtering Stage resources.

property accessLogSettings

accessLogSettings?: pulumi.Input<StageAccessLogSettings>;

Settings for logging access in this stage. Use the aws.apigateway.Account resource to configure permissions for CloudWatch Logging.

property apiId

apiId?: pulumi.Input<string>;

The API identifier.

property arn

arn?: pulumi.Input<string>;

The ARN of the stage.

property autoDeploy

autoDeploy?: pulumi.Input<boolean>;

Whether updates to an API automatically trigger a new deployment. Defaults to false.

property clientCertificateId

clientCertificateId?: pulumi.Input<string>;

The identifier of a client certificate for the stage. Use the aws.apigateway.ClientCertificate resource to configure a client certificate. Supported only for WebSocket APIs.

property defaultRouteSettings

defaultRouteSettings?: pulumi.Input<StageDefaultRouteSettings>;

The default route settings for the stage.

property deploymentId

deploymentId?: pulumi.Input<string>;

The deployment identifier of the stage. Use the aws.apigatewayv2.Deployment resource to configure a deployment.

property description

description?: pulumi.Input<string>;

The description for the stage.

property executionArn

executionArn?: pulumi.Input<string>;

The ARN prefix to be used in an aws.lambda.Permission’s sourceArn attribute or in an aws.iam.Policy to authorize access to the @connections API. See the Amazon API Gateway Developer Guide for details. Set only for WebSocket APIs.

property invokeUrl

invokeUrl?: pulumi.Input<string>;

The URL to invoke the API pointing to the stage, e.g. wss://z4675bid1j.execute-api.eu-west-2.amazonaws.com/example-stage, or https://z4675bid1j.execute-api.eu-west-2.amazonaws.com/

property name

name?: pulumi.Input<string>;

The name of the stage.

property routeSettings

routeSettings?: pulumi.Input<pulumi.Input<StageRouteSetting>[]>;

Route settings for the stage.

property stageVariables

stageVariables?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A map that defines the stage variables for the stage.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the stage.

interface VpcLinkArgs

interface VpcLinkArgs

The set of arguments for constructing a VpcLink resource.

property name

name?: pulumi.Input<string>;

The name of the VPC Link.

property securityGroupIds

securityGroupIds: pulumi.Input<pulumi.Input<string>[]>;

Security group IDs for the VPC Link.

property subnetIds

subnetIds: pulumi.Input<pulumi.Input<string>[]>;

Subnet IDs for the VPC Link.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the VPC Link.

interface VpcLinkState

interface VpcLinkState

Input properties used for looking up and filtering VpcLink resources.

property arn

arn?: pulumi.Input<string>;

The VPC Link ARN.

property name

name?: pulumi.Input<string>;

The name of the VPC Link.

property securityGroupIds

securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;

Security group IDs for the VPC Link.

property subnetIds

subnetIds?: pulumi.Input<pulumi.Input<string>[]>;

Subnet IDs for the VPC Link.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A map of tags to assign to the VPC Link.