Skip to content

ApiGatewayV2UrlRoute

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

The ApiGatewayV2UrlRoute component is internally used by the ApiGatewayV2 component to add routes to Amazon API Gateway HTTP API.

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


Constructor

new ApiGatewayV2UrlRoute(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.route

Type Output<Route>

The API Gateway HTTP API route.

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.

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.

url

Type Input<string>

The URL to route to.

{
url: "https://example.com"
}