Route

Manages an Amazon API Gateway Version 2 route. More information can be found in the Amazon API Gateway Developer Guide for WebSocket and HTTP APIs.

Example Usage

Basic

using System.Collections.Generic;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    var exampleApi = new Aws.ApiGatewayV2.Api("exampleApi", new()
    {
        ProtocolType = "WEBSOCKET",
        RouteSelectionExpression = "$request.body.action",
    });

    var exampleRoute = new Aws.ApiGatewayV2.Route("exampleRoute", new()
    {
        ApiId = exampleApi.Id,
        RouteKey = "$default",
    });

});
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/apigatewayv2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleApi, err := apigatewayv2.NewApi(ctx, "exampleApi", &apigatewayv2.ApiArgs{
			ProtocolType:             pulumi.String("WEBSOCKET"),
			RouteSelectionExpression: pulumi.String(fmt.Sprintf("$request.body.action")),
		})
		if err != nil {
			return err
		}
		_, err = apigatewayv2.NewRoute(ctx, "exampleRoute", &apigatewayv2.RouteArgs{
			ApiId:    exampleApi.ID(),
			RouteKey: pulumi.String(fmt.Sprintf("$default")),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.apigatewayv2.Api;
import com.pulumi.aws.apigatewayv2.ApiArgs;
import com.pulumi.aws.apigatewayv2.Route;
import com.pulumi.aws.apigatewayv2.RouteArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var exampleApi = new Api("exampleApi", ApiArgs.builder()        
            .protocolType("WEBSOCKET")
            .routeSelectionExpression("$request.body.action")
            .build());

        var exampleRoute = new Route("exampleRoute", RouteArgs.builder()        
            .apiId(exampleApi.id())
            .routeKey("$default")
            .build());

    }
}
import pulumi
import pulumi_aws as aws

example_api = aws.apigatewayv2.Api("exampleApi",
    protocol_type="WEBSOCKET",
    route_selection_expression="$request.body.action")
example_route = aws.apigatewayv2.Route("exampleRoute",
    api_id=example_api.id,
    route_key="$default")
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const exampleApi = new aws.apigatewayv2.Api("exampleApi", {
    protocolType: "WEBSOCKET",
    routeSelectionExpression: `$request.body.action`,
});
const exampleRoute = new aws.apigatewayv2.Route("exampleRoute", {
    apiId: exampleApi.id,
    routeKey: `$default`,
});
resources:
  exampleApi:
    type: aws:apigatewayv2:Api
    properties:
      protocolType: WEBSOCKET
      routeSelectionExpression: $request.body.action
  exampleRoute:
    type: aws:apigatewayv2:Route
    properties:
      apiId: ${exampleApi.id}
      routeKey: $default

HTTP Proxy Integration

using System.Collections.Generic;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    var exampleApi = new Aws.ApiGatewayV2.Api("exampleApi", new()
    {
        ProtocolType = "HTTP",
    });

    var exampleIntegration = new Aws.ApiGatewayV2.Integration("exampleIntegration", new()
    {
        ApiId = exampleApi.Id,
        IntegrationType = "HTTP_PROXY",
        IntegrationMethod = "ANY",
        IntegrationUri = "https://example.com/{proxy}",
    });

    var exampleRoute = new Aws.ApiGatewayV2.Route("exampleRoute", new()
    {
        ApiId = exampleApi.Id,
        RouteKey = "ANY /example/{proxy+}",
        Target = exampleIntegration.Id.Apply(id => $"integrations/{id}"),
    });

});
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/apigatewayv2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleApi, err := apigatewayv2.NewApi(ctx, "exampleApi", &apigatewayv2.ApiArgs{
			ProtocolType: pulumi.String("HTTP"),
		})
		if err != nil {
			return err
		}
		exampleIntegration, err := apigatewayv2.NewIntegration(ctx, "exampleIntegration", &apigatewayv2.IntegrationArgs{
			ApiId:             exampleApi.ID(),
			IntegrationType:   pulumi.String("HTTP_PROXY"),
			IntegrationMethod: pulumi.String("ANY"),
			IntegrationUri:    pulumi.String("https://example.com/{proxy}"),
		})
		if err != nil {
			return err
		}
		_, err = apigatewayv2.NewRoute(ctx, "exampleRoute", &apigatewayv2.RouteArgs{
			ApiId:    exampleApi.ID(),
			RouteKey: pulumi.String("ANY /example/{proxy+}"),
			Target: exampleIntegration.ID().ApplyT(func(id string) (string, error) {
				return fmt.Sprintf("integrations/%v", id), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.apigatewayv2.Api;
import com.pulumi.aws.apigatewayv2.ApiArgs;
import com.pulumi.aws.apigatewayv2.Integration;
import com.pulumi.aws.apigatewayv2.IntegrationArgs;
import com.pulumi.aws.apigatewayv2.Route;
import com.pulumi.aws.apigatewayv2.RouteArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var exampleApi = new Api("exampleApi", ApiArgs.builder()        
            .protocolType("HTTP")
            .build());

        var exampleIntegration = new Integration("exampleIntegration", IntegrationArgs.builder()        
            .apiId(exampleApi.id())
            .integrationType("HTTP_PROXY")
            .integrationMethod("ANY")
            .integrationUri("https://example.com/{proxy}")
            .build());

        var exampleRoute = new Route("exampleRoute", RouteArgs.builder()        
            .apiId(exampleApi.id())
            .routeKey("ANY /example/{proxy+}")
            .target(exampleIntegration.id().applyValue(id -> String.format("integrations/%s", id)))
            .build());

    }
}
import pulumi
import pulumi_aws as aws

example_api = aws.apigatewayv2.Api("exampleApi", protocol_type="HTTP")
example_integration = aws.apigatewayv2.Integration("exampleIntegration",
    api_id=example_api.id,
    integration_type="HTTP_PROXY",
    integration_method="ANY",
    integration_uri="https://example.com/{proxy}")
example_route = aws.apigatewayv2.Route("exampleRoute",
    api_id=example_api.id,
    route_key="ANY /example/{proxy+}",
    target=example_integration.id.apply(lambda id: f"integrations/{id}"))
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const exampleApi = new aws.apigatewayv2.Api("exampleApi", {protocolType: "HTTP"});
const exampleIntegration = new aws.apigatewayv2.Integration("exampleIntegration", {
    apiId: exampleApi.id,
    integrationType: "HTTP_PROXY",
    integrationMethod: "ANY",
    integrationUri: "https://example.com/{proxy}",
});
const exampleRoute = new aws.apigatewayv2.Route("exampleRoute", {
    apiId: exampleApi.id,
    routeKey: "ANY /example/{proxy+}",
    target: pulumi.interpolate`integrations/${exampleIntegration.id}`,
});
resources:
  exampleApi:
    type: aws:apigatewayv2:Api
    properties:
      protocolType: HTTP
  exampleIntegration:
    type: aws:apigatewayv2:Integration
    properties:
      apiId: ${exampleApi.id}
      integrationType: HTTP_PROXY
      integrationMethod: ANY
      integrationUri: https://example.com/{proxy}
  exampleRoute:
    type: aws:apigatewayv2:Route
    properties:
      apiId: ${exampleApi.id}
      routeKey: ANY /example/{proxy+}
      target: integrations/${exampleIntegration.id}

Create Route Resource

new Route(name: string, args: RouteArgs, opts?: CustomResourceOptions);
@overload
def Route(resource_name: str,
          opts: Optional[ResourceOptions] = None,
          api_id: Optional[str] = None,
          api_key_required: Optional[bool] = None,
          authorization_scopes: Optional[Sequence[str]] = None,
          authorization_type: Optional[str] = None,
          authorizer_id: Optional[str] = None,
          model_selection_expression: Optional[str] = None,
          operation_name: Optional[str] = None,
          request_models: Optional[Mapping[str, str]] = None,
          request_parameters: Optional[Sequence[RouteRequestParameterArgs]] = None,
          route_key: Optional[str] = None,
          route_response_selection_expression: Optional[str] = None,
          target: Optional[str] = None)
@overload
def Route(resource_name: str,
          args: RouteArgs,
          opts: Optional[ResourceOptions] = None)
func NewRoute(ctx *Context, name string, args RouteArgs, opts ...ResourceOption) (*Route, error)
public Route(string name, RouteArgs args, CustomResourceOptions? opts = null)
public Route(String name, RouteArgs args)
public Route(String name, RouteArgs args, CustomResourceOptions options)
type: aws:apigatewayv2:Route
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args RouteArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args RouteArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args RouteArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args RouteArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args RouteArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Route Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The Route resource accepts the following input properties:

ApiId string

API identifier.

RouteKey string

Route key for the route. For HTTP APIs, the route key can be either $default, or a combination of an HTTP method and resource path, for example, GET /pets.

ApiKeyRequired bool

Boolean whether an API key is required for the route. Defaults to false. Supported only for WebSocket APIs.

AuthorizationScopes List<string>

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

AuthorizationType string

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, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer. Defaults to NONE.

AuthorizerId string

Identifier of the aws.apigatewayv2.Authorizer resource to be associated with this route.

ModelSelectionExpression string

The model selection expression for the route. Supported only for WebSocket APIs.

OperationName string

Operation name for the route. Must be between 1 and 64 characters in length.

RequestModels Dictionary<string, string>

Request models for the route. Supported only for WebSocket APIs.

RequestParameters List<RouteRequestParameterArgs>

Request parameters for the route. Supported only for WebSocket APIs.

RouteResponseSelectionExpression string

The route response selection expression for the route. Supported only for WebSocket APIs.

Target string

Target for the route, of the form integrations/IntegrationID, where IntegrationID is the identifier of an aws.apigatewayv2.Integration resource.

ApiId string

API identifier.

RouteKey string

Route key for the route. For HTTP APIs, the route key can be either $default, or a combination of an HTTP method and resource path, for example, GET /pets.

ApiKeyRequired bool

Boolean whether an API key is required for the route. Defaults to false. Supported only for WebSocket APIs.

AuthorizationScopes []string

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

AuthorizationType string

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, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer. Defaults to NONE.

AuthorizerId string

Identifier of the aws.apigatewayv2.Authorizer resource to be associated with this route.

ModelSelectionExpression string

The model selection expression for the route. Supported only for WebSocket APIs.

OperationName string

Operation name for the route. Must be between 1 and 64 characters in length.

RequestModels map[string]string

Request models for the route. Supported only for WebSocket APIs.

RequestParameters []RouteRequestParameterArgs

Request parameters for the route. Supported only for WebSocket APIs.

RouteResponseSelectionExpression string

The route response selection expression for the route. Supported only for WebSocket APIs.

Target string

Target for the route, of the form integrations/IntegrationID, where IntegrationID is the identifier of an aws.apigatewayv2.Integration resource.

apiId String

API identifier.

routeKey String

Route key for the route. For HTTP APIs, the route key can be either $default, or a combination of an HTTP method and resource path, for example, GET /pets.

apiKeyRequired Boolean

Boolean whether an API key is required for the route. Defaults to false. Supported only for WebSocket APIs.

authorizationScopes List<String>

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

authorizationType String

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, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer. Defaults to NONE.

authorizerId String

Identifier of the aws.apigatewayv2.Authorizer resource to be associated with this route.

modelSelectionExpression String

The model selection expression for the route. Supported only for WebSocket APIs.

operationName String

Operation name for the route. Must be between 1 and 64 characters in length.

requestModels Map<String,String>

Request models for the route. Supported only for WebSocket APIs.

requestParameters List<RouteRequestParameterArgs>

Request parameters for the route. Supported only for WebSocket APIs.

routeResponseSelectionExpression String

The route response selection expression for the route. Supported only for WebSocket APIs.

target String

Target for the route, of the form integrations/IntegrationID, where IntegrationID is the identifier of an aws.apigatewayv2.Integration resource.

apiId string

API identifier.

routeKey string

Route key for the route. For HTTP APIs, the route key can be either $default, or a combination of an HTTP method and resource path, for example, GET /pets.

apiKeyRequired boolean

Boolean whether an API key is required for the route. Defaults to false. Supported only for WebSocket APIs.

authorizationScopes string[]

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

authorizationType string

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, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer. Defaults to NONE.

authorizerId string

Identifier of the aws.apigatewayv2.Authorizer resource to be associated with this route.

modelSelectionExpression string

The model selection expression for the route. Supported only for WebSocket APIs.

operationName string

Operation name for the route. Must be between 1 and 64 characters in length.

requestModels {[key: string]: string}

Request models for the route. Supported only for WebSocket APIs.

requestParameters RouteRequestParameterArgs[]

Request parameters for the route. Supported only for WebSocket APIs.

routeResponseSelectionExpression string

The route response selection expression for the route. Supported only for WebSocket APIs.

target string

Target for the route, of the form integrations/IntegrationID, where IntegrationID is the identifier of an aws.apigatewayv2.Integration resource.

api_id str

API identifier.

route_key str

Route key for the route. For HTTP APIs, the route key can be either $default, or a combination of an HTTP method and resource path, for example, GET /pets.

api_key_required bool

Boolean whether an API key is required for the route. Defaults to false. Supported only for WebSocket APIs.

authorization_scopes Sequence[str]

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

authorization_type str

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, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer. Defaults to NONE.

authorizer_id str

Identifier of the aws.apigatewayv2.Authorizer resource to be associated with this route.

model_selection_expression str

The model selection expression for the route. Supported only for WebSocket APIs.

operation_name str

Operation name for the route. Must be between 1 and 64 characters in length.

request_models Mapping[str, str]

Request models for the route. Supported only for WebSocket APIs.

request_parameters Sequence[RouteRequestParameterArgs]

Request parameters for the route. Supported only for WebSocket APIs.

route_response_selection_expression str

The route response selection expression for the route. Supported only for WebSocket APIs.

target str

Target for the route, of the form integrations/IntegrationID, where IntegrationID is the identifier of an aws.apigatewayv2.Integration resource.

apiId String

API identifier.

routeKey String

Route key for the route. For HTTP APIs, the route key can be either $default, or a combination of an HTTP method and resource path, for example, GET /pets.

apiKeyRequired Boolean

Boolean whether an API key is required for the route. Defaults to false. Supported only for WebSocket APIs.

authorizationScopes List<String>

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

authorizationType String

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, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer. Defaults to NONE.

authorizerId String

Identifier of the aws.apigatewayv2.Authorizer resource to be associated with this route.

modelSelectionExpression String

The model selection expression for the route. Supported only for WebSocket APIs.

operationName String

Operation name for the route. Must be between 1 and 64 characters in length.

requestModels Map<String>

Request models for the route. Supported only for WebSocket APIs.

requestParameters List<Property Map>

Request parameters for the route. Supported only for WebSocket APIs.

routeResponseSelectionExpression String

The route response selection expression for the route. Supported only for WebSocket APIs.

target String

Target for the route, of the form integrations/IntegrationID, where IntegrationID is the identifier of an aws.apigatewayv2.Integration resource.

Outputs

All input properties are implicitly available as output properties. Additionally, the Route resource produces the following output properties:

Id string

The provider-assigned unique ID for this managed resource.

Id string

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

id string

The provider-assigned unique ID for this managed resource.

id str

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

Look up Existing Route Resource

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

public static get(name: string, id: Input<ID>, state?: RouteState, opts?: CustomResourceOptions): Route
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        api_id: Optional[str] = None,
        api_key_required: Optional[bool] = None,
        authorization_scopes: Optional[Sequence[str]] = None,
        authorization_type: Optional[str] = None,
        authorizer_id: Optional[str] = None,
        model_selection_expression: Optional[str] = None,
        operation_name: Optional[str] = None,
        request_models: Optional[Mapping[str, str]] = None,
        request_parameters: Optional[Sequence[RouteRequestParameterArgs]] = None,
        route_key: Optional[str] = None,
        route_response_selection_expression: Optional[str] = None,
        target: Optional[str] = None) -> Route
func GetRoute(ctx *Context, name string, id IDInput, state *RouteState, opts ...ResourceOption) (*Route, error)
public static Route Get(string name, Input<string> id, RouteState? state, CustomResourceOptions? opts = null)
public static Route get(String name, Output<String> id, RouteState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
ApiId string

API identifier.

ApiKeyRequired bool

Boolean whether an API key is required for the route. Defaults to false. Supported only for WebSocket APIs.

AuthorizationScopes List<string>

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

AuthorizationType string

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, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer. Defaults to NONE.

AuthorizerId string

Identifier of the aws.apigatewayv2.Authorizer resource to be associated with this route.

ModelSelectionExpression string

The model selection expression for the route. Supported only for WebSocket APIs.

OperationName string

Operation name for the route. Must be between 1 and 64 characters in length.

RequestModels Dictionary<string, string>

Request models for the route. Supported only for WebSocket APIs.

RequestParameters List<RouteRequestParameterArgs>

Request parameters for the route. Supported only for WebSocket APIs.

RouteKey string

Route key for the route. For HTTP APIs, the route key can be either $default, or a combination of an HTTP method and resource path, for example, GET /pets.

RouteResponseSelectionExpression string

The route response selection expression for the route. Supported only for WebSocket APIs.

Target string

Target for the route, of the form integrations/IntegrationID, where IntegrationID is the identifier of an aws.apigatewayv2.Integration resource.

ApiId string

API identifier.

ApiKeyRequired bool

Boolean whether an API key is required for the route. Defaults to false. Supported only for WebSocket APIs.

AuthorizationScopes []string

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

AuthorizationType string

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, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer. Defaults to NONE.

AuthorizerId string

Identifier of the aws.apigatewayv2.Authorizer resource to be associated with this route.

ModelSelectionExpression string

The model selection expression for the route. Supported only for WebSocket APIs.

OperationName string

Operation name for the route. Must be between 1 and 64 characters in length.

RequestModels map[string]string

Request models for the route. Supported only for WebSocket APIs.

RequestParameters []RouteRequestParameterArgs

Request parameters for the route. Supported only for WebSocket APIs.

RouteKey string

Route key for the route. For HTTP APIs, the route key can be either $default, or a combination of an HTTP method and resource path, for example, GET /pets.

RouteResponseSelectionExpression string

The route response selection expression for the route. Supported only for WebSocket APIs.

Target string

Target for the route, of the form integrations/IntegrationID, where IntegrationID is the identifier of an aws.apigatewayv2.Integration resource.

apiId String

API identifier.

apiKeyRequired Boolean

Boolean whether an API key is required for the route. Defaults to false. Supported only for WebSocket APIs.

authorizationScopes List<String>

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

authorizationType String

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, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer. Defaults to NONE.

authorizerId String

Identifier of the aws.apigatewayv2.Authorizer resource to be associated with this route.

modelSelectionExpression String

The model selection expression for the route. Supported only for WebSocket APIs.

operationName String

Operation name for the route. Must be between 1 and 64 characters in length.

requestModels Map<String,String>

Request models for the route. Supported only for WebSocket APIs.

requestParameters List<RouteRequestParameterArgs>

Request parameters for the route. Supported only for WebSocket APIs.

routeKey String

Route key for the route. For HTTP APIs, the route key can be either $default, or a combination of an HTTP method and resource path, for example, GET /pets.

routeResponseSelectionExpression String

The route response selection expression for the route. Supported only for WebSocket APIs.

target String

Target for the route, of the form integrations/IntegrationID, where IntegrationID is the identifier of an aws.apigatewayv2.Integration resource.

apiId string

API identifier.

apiKeyRequired boolean

Boolean whether an API key is required for the route. Defaults to false. Supported only for WebSocket APIs.

authorizationScopes string[]

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

authorizationType string

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, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer. Defaults to NONE.

authorizerId string

Identifier of the aws.apigatewayv2.Authorizer resource to be associated with this route.

modelSelectionExpression string

The model selection expression for the route. Supported only for WebSocket APIs.

operationName string

Operation name for the route. Must be between 1 and 64 characters in length.

requestModels {[key: string]: string}

Request models for the route. Supported only for WebSocket APIs.

requestParameters RouteRequestParameterArgs[]

Request parameters for the route. Supported only for WebSocket APIs.

routeKey string

Route key for the route. For HTTP APIs, the route key can be either $default, or a combination of an HTTP method and resource path, for example, GET /pets.

routeResponseSelectionExpression string

The route response selection expression for the route. Supported only for WebSocket APIs.

target string

Target for the route, of the form integrations/IntegrationID, where IntegrationID is the identifier of an aws.apigatewayv2.Integration resource.

api_id str

API identifier.

api_key_required bool

Boolean whether an API key is required for the route. Defaults to false. Supported only for WebSocket APIs.

authorization_scopes Sequence[str]

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

authorization_type str

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, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer. Defaults to NONE.

authorizer_id str

Identifier of the aws.apigatewayv2.Authorizer resource to be associated with this route.

model_selection_expression str

The model selection expression for the route. Supported only for WebSocket APIs.

operation_name str

Operation name for the route. Must be between 1 and 64 characters in length.

request_models Mapping[str, str]

Request models for the route. Supported only for WebSocket APIs.

request_parameters Sequence[RouteRequestParameterArgs]

Request parameters for the route. Supported only for WebSocket APIs.

route_key str

Route key for the route. For HTTP APIs, the route key can be either $default, or a combination of an HTTP method and resource path, for example, GET /pets.

route_response_selection_expression str

The route response selection expression for the route. Supported only for WebSocket APIs.

target str

Target for the route, of the form integrations/IntegrationID, where IntegrationID is the identifier of an aws.apigatewayv2.Integration resource.

apiId String

API identifier.

apiKeyRequired Boolean

Boolean whether an API key is required for the route. Defaults to false. Supported only for WebSocket APIs.

authorizationScopes List<String>

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

authorizationType String

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, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer. Defaults to NONE.

authorizerId String

Identifier of the aws.apigatewayv2.Authorizer resource to be associated with this route.

modelSelectionExpression String

The model selection expression for the route. Supported only for WebSocket APIs.

operationName String

Operation name for the route. Must be between 1 and 64 characters in length.

requestModels Map<String>

Request models for the route. Supported only for WebSocket APIs.

requestParameters List<Property Map>

Request parameters for the route. Supported only for WebSocket APIs.

routeKey String

Route key for the route. For HTTP APIs, the route key can be either $default, or a combination of an HTTP method and resource path, for example, GET /pets.

routeResponseSelectionExpression String

The route response selection expression for the route. Supported only for WebSocket APIs.

target String

Target for the route, of the form integrations/IntegrationID, where IntegrationID is the identifier of an aws.apigatewayv2.Integration resource.

Supporting Types

RouteRequestParameter

RequestParameterKey string

Request parameter key. This is a request data mapping parameter.

Required bool

Boolean whether or not the parameter is required.

RequestParameterKey string

Request parameter key. This is a request data mapping parameter.

Required bool

Boolean whether or not the parameter is required.

requestParameterKey String

Request parameter key. This is a request data mapping parameter.

required Boolean

Boolean whether or not the parameter is required.

requestParameterKey string

Request parameter key. This is a request data mapping parameter.

required boolean

Boolean whether or not the parameter is required.

request_parameter_key str

Request parameter key. This is a request data mapping parameter.

required bool

Boolean whether or not the parameter is required.

requestParameterKey String

Request parameter key. This is a request data mapping parameter.

required Boolean

Boolean whether or not the parameter is required.

Import

aws_apigatewayv2_route can be imported by using the API identifier and route identifier, e.g.,

 $ pulumi import aws:apigatewayv2/route:Route example aabbccddee/1122334

Package Details

Repository
https://github.com/pulumi/pulumi-aws
License
Apache-2.0
Notes

This Pulumi package is based on the aws Terraform Provider.