Skip to content
GitHubXDiscord

Integration

The Integration resource allows you to manage AWS ApiGatewayV2 Integrations for your API Gateway, enabling you to connect various backend services to your API.

Create a basic API Gateway Integration with required properties and one optional property.

import AWS from "alchemy/aws/control";
const apiGatewayIntegration = await AWS.ApiGatewayV2.Integration("myApiIntegration", {
ApiId: "myApiId",
IntegrationType: "AWS_PROXY",
IntegrationUri: "arn:aws:lambda:us-east-1:123456789012:function:myLambdaFunction",
Description: "Integration with my Lambda function"
});

Configure an API Gateway Integration with additional properties, such as request templates and response parameters.

const advancedIntegration = await AWS.ApiGatewayV2.Integration("advancedApiIntegration", {
ApiId: "myApiId",
IntegrationType: "AWS_PROXY",
IntegrationUri: "arn:aws:lambda:us-east-1:123456789012:function:myAdvancedLambdaFunction",
RequestTemplates: {
"application/json": '{"statusCode": 200, "body": $input.json("$")}'
},
ResponseParameters: {
"method.response.header.Access-Control-Allow-Origin": "'*'"
}
});

Set a custom timeout and connection settings for your integration.

const customTimeoutIntegration = await AWS.ApiGatewayV2.Integration("timeoutIntegration", {
ApiId: "myApiId",
IntegrationType: "HTTP",
IntegrationUri: "https://api.example.com/resource",
TimeoutInMillis: 3000,
ConnectionType: "VPC_LINK",
ConnectionId: "myVpcLinkId"
});

Configure the integration with TLS settings for secure connections.

const tlsIntegration = await AWS.ApiGatewayV2.Integration("tlsIntegration", {
ApiId: "myApiId",
IntegrationType: "HTTP",
IntegrationUri: "https://secure-api.example.com/resource",
TlsConfig: {
ServerNameToVerify: "secure-api.example.com",
Insecure: false
}
});