Route

class Route : KotlinCustomResource

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

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());
}
}

HTTP Proxy Integration

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

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

Properties

Link copied to clipboard
val apiId: Output<String>

API identifier.

Link copied to clipboard
val apiKeyRequired: Output<Boolean>?

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

Link copied to clipboard

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

Link copied to clipboard

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.

Link copied to clipboard
val authorizerId: Output<String>?

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

Link copied to clipboard
val id: Output<String>
Link copied to clipboard

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

Link copied to clipboard
val operationName: Output<String>?

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

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val requestModels: Output<Map<String, String>>?

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

Link copied to clipboard

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

Link copied to clipboard
val routeKey: Output<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.

Link copied to clipboard

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

Link copied to clipboard
val target: Output<String>?

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

Link copied to clipboard
val urn: Output<String>