Skip to main content

@swamp/aws/apigatewayv2

v2026.04.23.3

AWS APIGATEWAYV2 infrastructure models

Repository

https://github.com/systeminit/swamp-extensions

Labels

awsapigatewayv2cloudinfrastructure

Contents

Quality score

Verified by Swamp

How well-documented and verifiable this extension is.

100%

Grade A

  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types1/1earned
  • Has description1/1earned
  • At least one platform tag (or universal)1/1earned
  • Two or more platform tags (or universal)1/1earned
  • License declared1/1earned
  • Verified public repository2/2earned

Install

$ swamp extension pull @swamp/aws/apigatewayv2

@swamp/aws/apigatewayv2/apiv2026.04.23.2api.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
RouteSelectionExpression?stringThe route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
Body?stringThe OpenAPI definition. Supported only for HTTP APIs. To import an HTTP API, you must specify a Body or BodyS3Location. If you specify a Body or BodyS3Location, don't specify CloudFormation resources such as AWS::ApiGatewayV2::Authorizer or AWS::ApiGatewayV2::Route. API Gateway doesn't support the combination of OpenAPI and CloudFormation resources.
BodyS3Location?objectThe S3 location of an OpenAPI definition. Supported only for HTTP APIs. To import an HTTP API, you must specify a Body or BodyS3Location. If you specify a Body or BodyS3Location, don't specify CloudFormation resources such as AWS::ApiGatewayV2::Authorizer or AWS::ApiGatewayV2::Route. API Gateway doesn't support the combination of OpenAPI and CloudFormation resources.
BasePath?stringSpecifies how to interpret the base path of the API during import. Valid values are ignore, prepend, and split. The default value is ignore. To learn more, see [Set the OpenAPI basePath Property](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-import-api-basePath.html). Supported only for HTTP APIs.
CredentialsArn?stringThis property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. Suppor
CorsConfiguration?objectA CORS configuration. Supported only for HTTP APIs. See [Configuring CORS](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html) for more information.
RouteKey?stringThis property is part of quick create. If you don't specify a routeKey, a default route of $default is created. The $default route acts as a catch-all for any request made to your API, for a particular stage. The $default route key can't be modified. You can add routes after creating the API, and you can update the route keys of additional routes. Supported only for HTTP APIs.
Target?stringThis property is 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. Supported only for HTTP APIs.
FailOnWarnings?booleanSpecifies whether to rollback the API creation when a warning is encountered. By default, API creation continues if a warning is encountered.
Description?stringThe description of the API.
DisableExecuteApiEndpoint?booleanSpecifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.
DisableSchemaValidation?booleanAvoid validating models when creating a deployment. Supported only for WebSocket APIs.
Name?stringThe name of the API. Required unless you specify an OpenAPI definition for Body or S3BodyLocation.
Version?stringA version identifier for the API.
ProtocolType?stringThe API protocol. Valid values are WEBSOCKET or HTTP. Required unless you specify an OpenAPI definition for Body or S3BodyLocation.
Tags?recordThe collection of tags. Each tag element is associated with a given resource.
ApiKeySelectionExpression?stringAn API key selection expression. Supported only for WebSocket APIs. See [API Key Selection Expressions](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions).
IpAddressType?string
createCreate a ApiGatewayV2 Api
getGet a ApiGatewayV2 Api
ArgumentTypeDescription
identifierstringThe primary identifier of the ApiGatewayV2 Api
updateUpdate a ApiGatewayV2 Api
deleteDelete a ApiGatewayV2 Api
ArgumentTypeDescription
identifierstringThe primary identifier of the ApiGatewayV2 Api
syncSync ApiGatewayV2 Api state from AWS

Resources

state(infinite)— ApiGatewayV2 Api resource state
@swamp/aws/apigatewayv2/api-mappingv2026.04.23.2api_mapping.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
DomainNamestringThe domain name.
StagestringThe API stage.
ApiMappingKey?stringThe API mapping key.
ApiIdstringThe identifier of the API.
createCreate a ApiGatewayV2 ApiMapping
getGet a ApiGatewayV2 ApiMapping
ArgumentTypeDescription
identifierstringThe primary identifier of the ApiGatewayV2 ApiMapping
updateUpdate a ApiGatewayV2 ApiMapping
deleteDelete a ApiGatewayV2 ApiMapping
ArgumentTypeDescription
identifierstringThe primary identifier of the ApiGatewayV2 ApiMapping
syncSync ApiGatewayV2 ApiMapping state from AWS

Resources

state(infinite)— ApiGatewayV2 ApiMapping resource state
@swamp/aws/apigatewayv2/authorizerv2026.04.23.2authorizer.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
IdentityValidationExpression?stringThis parameter is not used.
AuthorizerUri?stringThe authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api}, where *{region}* is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI
AuthorizerCredentialsArn?stringSpecifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for REQUEST authorizers.
AuthorizerTypestringThe authorizer type. Specify REQUEST for a Lambda function using incoming request parameters. Specify JWT to use JSON Web Tokens (supported only for HTTP APIs).
IdentitySource?arrayThe identity source for which authorization is requested. For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. The identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name for WebSocket APIs. For HTTP APIs,
JwtConfiguration?objectThe JWTConfiguration property specifies the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.
AuthorizerResultTtlInSeconds?numberThe time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or 1 hour. Supported only for HTTP API Lambda authorizers.
AuthorizerPayloadFormatVersion?stringSpecifies the format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda authorizers. Supported values are 1.0 and 2.0. To learn more, see [Working with Lambda authorizers for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html).
EnableSimpleResponses?booleanSpecifies whether a Lambda authorizer returns a response in a simple format. By default, a Lambda authorizer must return an IAM policy. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy. Supported only for HTTP APIs. To learn more, see [Working with Lambda authorizers for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html).
ApiIdstringThe API identifier.
NamestringThe name of the authorizer.
createCreate a ApiGatewayV2 Authorizer
getGet a ApiGatewayV2 Authorizer
ArgumentTypeDescription
identifierstringThe primary identifier of the ApiGatewayV2 Authorizer
updateUpdate a ApiGatewayV2 Authorizer
deleteDelete a ApiGatewayV2 Authorizer
ArgumentTypeDescription
identifierstringThe primary identifier of the ApiGatewayV2 Authorizer
syncSync ApiGatewayV2 Authorizer state from AWS

Resources

state(infinite)— ApiGatewayV2 Authorizer resource state
@swamp/aws/apigatewayv2/deploymentv2026.04.23.2deployment.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
Description?stringThe description for the deployment resource.
StageName?stringThe name of an existing stage to associate with the deployment.
ApiIdstringThe API identifier.
createCreate a ApiGatewayV2 Deployment
getGet a ApiGatewayV2 Deployment
ArgumentTypeDescription
identifierstringThe primary identifier of the ApiGatewayV2 Deployment
updateUpdate a ApiGatewayV2 Deployment
deleteDelete a ApiGatewayV2 Deployment
ArgumentTypeDescription
identifierstringThe primary identifier of the ApiGatewayV2 Deployment
syncSync ApiGatewayV2 Deployment state from AWS

Resources

state(infinite)— ApiGatewayV2 Deployment resource state
@swamp/aws/apigatewayv2/domain-namev2026.04.23.2domain_name.ts

Global Arguments

ArgumentTypeDescription
MutualTlsAuthentication?objectThe mutual TLS authentication configuration for a custom domain name.
DomainNamestringThe custom domain name for your API in Amazon API Gateway. Uppercase letters and the underscore ( _) character are not supported.
DomainNameConfigurations?arrayThe domain name configurations.
RoutingMode?enum
Tags?recordThe collection of tags associated with a domain name.
createCreate a ApiGatewayV2 DomainName
getGet a ApiGatewayV2 DomainName
ArgumentTypeDescription
identifierstringThe primary identifier of the ApiGatewayV2 DomainName
updateUpdate a ApiGatewayV2 DomainName
deleteDelete a ApiGatewayV2 DomainName
ArgumentTypeDescription
identifierstringThe primary identifier of the ApiGatewayV2 DomainName
syncSync ApiGatewayV2 DomainName state from AWS

Resources

state(infinite)— ApiGatewayV2 DomainName resource state
@swamp/aws/apigatewayv2/integrationv2026.04.23.2integration.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
ApiIdstringThe API identifier.
ConnectionId?stringThe ID of the VPC link for a private integration. Supported only for HTTP APIs.
ConnectionType?stringThe type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.
ContentHandlingStrategy?stringSupported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT.
CredentialsArn?stringSpecifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, don't specify this parameter.
Description?stringThe description of the integration.
IntegrationMethod?stringSpecifies the integration's HTTP method type.
IntegrationSubtype?stringSupported only for HTTP API AWS_PROXY integrations. Specifies the AWS service action to invoke.
IntegrationTypestringThe integration type of an integration.
IntegrationUri?stringFor a Lambda integration, specify the URI of a Lambda function. 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.
PassthroughBehavior?stringSpecifies 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 property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.
PayloadFormatVersion?stringSpecifies the format of the payload sent to an integration. Required for HTTP APIs. For HTTP APIs, supported values for Lambda proxy integrations are 1.0 and 2.0 For all other integrations, 1.0 is the only supported value.
RequestParameters?recordA key-value map specifying parameters.
RequestTemplates?recordA map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client.
ResponseParameters?recordParameters that transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.
TemplateSelectionExpression?stringThe template selection expression for the integration. Supported only for WebSocket APIs.
TimeoutInMillis?numberCustom timeout between 50 and 29000 milliseconds for WebSocket APIs and between 50 and 30000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
TlsConfig?objectThe TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.
createCreate a ApiGatewayV2 Integration
getGet a ApiGatewayV2 Integration
ArgumentTypeDescription
identifierstringThe primary identifier of the ApiGatewayV2 Integration
updateUpdate a ApiGatewayV2 Integration
deleteDelete a ApiGatewayV2 Integration
ArgumentTypeDescription
identifierstringThe primary identifier of the ApiGatewayV2 Integration
syncSync ApiGatewayV2 Integration state from AWS

Resources

state(infinite)— ApiGatewayV2 Integration resource state
@swamp/aws/apigatewayv2/integration-responsev2026.04.23.2integration_response.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
ResponseTemplates?stringThe collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.
TemplateSelectionExpression?stringThe template selection expression for the integration response. Supported only for WebSocket APIs.
ResponseParameters?stringA key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern
ContentHandlingStrategy?stringSupported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors: CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob. CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string. If this property is not defined, the response payload will be passed through from the integration response
IntegrationIdstringThe integration ID.
IntegrationResponseKeystringThe integration response key.
ApiIdstringThe API identifier.
createCreate a ApiGatewayV2 IntegrationResponse
getGet a ApiGatewayV2 IntegrationResponse
ArgumentTypeDescription
identifierstringThe primary identifier of the ApiGatewayV2 IntegrationResponse
updateUpdate a ApiGatewayV2 IntegrationResponse
deleteDelete a ApiGatewayV2 IntegrationResponse
ArgumentTypeDescription
identifierstringThe primary identifier of the ApiGatewayV2 IntegrationResponse
syncSync ApiGatewayV2 IntegrationResponse state from AWS

Resources

state(infinite)— ApiGatewayV2 IntegrationResponse resource state
@swamp/aws/apigatewayv2/modelv2026.04.23.2model.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
Description?stringThe description of the model.
ContentType?stringThe content-type for the model, for example, "application/json".
SchemastringThe schema for the model. For application/json models, this should be JSON schema draft 4 model.
ApiIdstringThe API identifier.
NamestringThe name of the model.
createCreate a ApiGatewayV2 Model
getGet a ApiGatewayV2 Model
ArgumentTypeDescription
identifierstringThe primary identifier of the ApiGatewayV2 Model
updateUpdate a ApiGatewayV2 Model
deleteDelete a ApiGatewayV2 Model
ArgumentTypeDescription
identifierstringThe primary identifier of the ApiGatewayV2 Model
syncSync ApiGatewayV2 Model state from AWS

Resources

state(infinite)— ApiGatewayV2 Model resource state
@swamp/aws/apigatewayv2/routev2026.04.23.2route.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
RouteResponseSelectionExpression?stringThe route response selection expression for the route. Supported only for WebSocket APIs.
RequestModels?stringThe request models for the route. Supported only for WebSocket APIs.
OperationName?stringThe operation name for the route.
AuthorizationScopes?arrayThe authorization scopes supported by this route.
ApiKeyRequired?booleanSpecifies whether an API key is required for the route. Supported only for WebSocket APIs.
RouteKeystringThe 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.
AuthorizationType?stringThe 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.
ModelSelectionExpression?stringThe model selection expression for the route. Supported only for WebSocket APIs.
ApiIdstringThe API identifier.
RequestParameters?stringThe request parameters for the route. Supported only for WebSocket APIs.
Target?stringThe target for the route.
AuthorizerId?stringThe identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.
createCreate a ApiGatewayV2 Route
getGet a ApiGatewayV2 Route
ArgumentTypeDescription
identifierstringThe primary identifier of the ApiGatewayV2 Route
updateUpdate a ApiGatewayV2 Route
deleteDelete a ApiGatewayV2 Route
ArgumentTypeDescription
identifierstringThe primary identifier of the ApiGatewayV2 Route
syncSync ApiGatewayV2 Route state from AWS

Resources

state(infinite)— ApiGatewayV2 Route resource state
@swamp/aws/apigatewayv2/route-responsev2026.04.23.2route_response.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
RouteResponseKeystringThe route response key.
RouteIdstringThe route ID.
ModelSelectionExpression?stringThe model selection expression for the route response. Supported only for WebSocket APIs.
ApiIdstringThe API identifier.
ResponseModels?stringThe response models for the route response.
createCreate a ApiGatewayV2 RouteResponse
getGet a ApiGatewayV2 RouteResponse
ArgumentTypeDescription
identifierstringThe primary identifier of the ApiGatewayV2 RouteResponse
updateUpdate a ApiGatewayV2 RouteResponse
deleteDelete a ApiGatewayV2 RouteResponse
ArgumentTypeDescription
identifierstringThe primary identifier of the ApiGatewayV2 RouteResponse
syncSync ApiGatewayV2 RouteResponse state from AWS

Resources

state(infinite)— ApiGatewayV2 RouteResponse resource state
@swamp/aws/apigatewayv2/routing-rulev2026.04.23.2routing_rule.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
DomainNameArnstringThe amazon resource name (ARN) of the domain name resource.
Prioritynumber
Conditionsarray
Actionsarray
createCreate a ApiGatewayV2 RoutingRule
getGet a ApiGatewayV2 RoutingRule
ArgumentTypeDescription
identifierstringThe primary identifier of the ApiGatewayV2 RoutingRule
updateUpdate a ApiGatewayV2 RoutingRule
deleteDelete a ApiGatewayV2 RoutingRule
ArgumentTypeDescription
identifierstringThe primary identifier of the ApiGatewayV2 RoutingRule
syncSync ApiGatewayV2 RoutingRule state from AWS

Resources

state(infinite)— ApiGatewayV2 RoutingRule resource state
@swamp/aws/apigatewayv2/vpc-linkv2026.04.23.2vpc_link.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
SubnetIdsarrayA list of subnet IDs to include in the VPC link.
SecurityGroupIds?arrayA list of security group IDs for the VPC link.
Tags?recordThe collection of tags. Each tag element is associated with a given resource.
NamestringThe name of the VPC link.
createCreate a ApiGatewayV2 VpcLink
getGet a ApiGatewayV2 VpcLink
ArgumentTypeDescription
identifierstringThe primary identifier of the ApiGatewayV2 VpcLink
updateUpdate a ApiGatewayV2 VpcLink
deleteDelete a ApiGatewayV2 VpcLink
ArgumentTypeDescription
identifierstringThe primary identifier of the ApiGatewayV2 VpcLink
syncSync ApiGatewayV2 VpcLink state from AWS

Resources

state(infinite)— ApiGatewayV2 VpcLink resource state