Skip to content

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.

Minimal Example ​

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

ts
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"
});

Advanced Configuration ​

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

ts
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": "'*'"
  }
});

Custom Timeout and Connection Settings ​

Set a custom timeout and connection settings for your integration.

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

Using TLS Configuration ​

Configure the integration with TLS settings for secure connections.

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