Skip to content

ApiGatewayV2LambdaRoute

Reference doc for the `sst.aws.ApiGatewayV2LambdaRoute` component.

The ApiGatewayV2LambdaRoute component is internally used by the ApiGatewayV2 component to add routes to your API Gateway HTTP API.

You’ll find this component returned by the route method of the ApiGatewayV2 component.


Constructor

new ApiGatewayV2LambdaRoute(name, args, opts?)

Parameters

Properties

nodes

Type Object

The underlying resources this component creates.

nodes.integration

Type Integration

The API Gateway HTTP API integration.

nodes.permission

Type Permission

The Lambda permission.

nodes.route

Type Output<Route>

The API Gateway HTTP API route.

nodes.function

Type Output<Function>

The Lambda function.

Args

api

Type Input<Object>

The API Gateway to use for the route.

api.executionArn

Type Input<string>

The execution ARN of the API Gateway.

api.id

Type Input<string>

The ID of the API Gateway.

api.name

Type Input<string>

The name of the API Gateway.

auth?

Type Input<false | Object>

Default false

Enable auth for your HTTP API. By default, auth is disabled.

{
auth: {
iam: true
}
}

auth.iam?

Type Input<boolean>

Enable IAM authorization for a given API route. When IAM auth is enabled, clients need to use Signature Version 4 to sign their requests with their AWS credentials.

auth.jwt?

Type Input<Object>

Enable JWT or JSON Web Token authorization for a given API route. When JWT auth is enabled, clients need to include a valid JWT in their requests.

You can configure JWT auth.

{
auth: {
jwt: {
authorizer: myAuthorizer.id,
scopes: ["read:profile", "write:profile"]
}
}
}

Where myAuthorizer is created by calling the addAuthorizer method.

auth.jwt.authorizer

Type Input<string>

Authorizer ID of the JWT authorizer.

auth.jwt.scopes?

Type Input<Input<string>[]>

Defines the permissions or access levels that the JWT grants. If the JWT does not have the required scope, the request is rejected. By default it does not require any scopes.

auth.lambda?

Type Input<string>

Enable custom Lambda authorization for a given API route. Pass in the authorizer ID.

{
auth: {
lambda: myAuthorizer.id
}
}

Where myAuthorizer is created by calling the addAuthorizer method.

handler

Type Input<string | FunctionArgs | “arn:aws:lambda:${string}”>

The route function.

Takes the handler path, the function args, or a function ARN.

Type Input<any[]>

The resources to link to the route function.

route

Type Input<string>

The path for the route.

transform?

Type Object

Transform how this component creates its underlying resources.

transform.integration?

Type IntegrationArgs | (args: IntegrationArgs, opts: ComponentResourceOptions, name: string) => void

Transform the API Gateway HTTP API integration resource.

transform.route?

Type RouteArgs | (args: RouteArgs, opts: ComponentResourceOptions, name: string) => void

Transform the API Gateway HTTP API route resource.