Skip to content

TransitGatewayConnect

The TransitGatewayConnect resource allows you to create and manage AWS EC2 Transit Gateway Connect attachments, facilitating seamless connectivity between your Virtual Private Clouds (VPCs) and on-premises networks. For more information, refer to the AWS EC2 TransitGatewayConnects documentation.

Minimal Example

Create a basic Transit Gateway Connect attachment with required properties.

ts
import AWS from "alchemy/aws/control";

const transitGatewayConnect = await AWS.EC2.TransitGatewayConnect("myTransitGatewayConnect", {
  Options: {
    // Define options for the Transit Gateway Connect
    ApplianceMode: "enable",
    Protocol: "gre"
  },
  TransportTransitGatewayAttachmentId: "tgw-attach-0abc12345def67890", // Example attachment ID
});

Advanced Configuration

Configure a Transit Gateway Connect attachment with additional tags for better resource management.

ts
const taggedTransitGatewayConnect = await AWS.EC2.TransitGatewayConnect("taggedTransitGatewayConnect", {
  Options: {
    ApplianceMode: "enable",
    Protocol: "gre"
  },
  TransportTransitGatewayAttachmentId: "tgw-attach-0abc12345def67890",
  Tags: [
    { Key: "Environment", Value: "Production" },
    { Key: "Project", Value: "NetworkOptimization" }
  ]
});

Adopting Existing Resources

If you want to adopt an existing Transit Gateway Connect attachment instead of failing when it already exists, you can set the adopt property to true.

ts
const adoptedTransitGatewayConnect = await AWS.EC2.TransitGatewayConnect("adoptedTransitGatewayConnect", {
  Options: {
    ApplianceMode: "enable",
    Protocol: "gre"
  },
  TransportTransitGatewayAttachmentId: "tgw-attach-0abc12345def67890",
  adopt: true // Adopt existing resource if it exists
});

Using with Multiple Attachments

Create multiple Transit Gateway Connect attachments for different transit gateway attachments.

ts
const firstTransitGatewayConnect = await AWS.EC2.TransitGatewayConnect("firstTransitGatewayConnect", {
  Options: {
    ApplianceMode: "enable",
    Protocol: "gre"
  },
  TransportTransitGatewayAttachmentId: "tgw-attach-0abc12345def67890"
});

const secondTransitGatewayConnect = await AWS.EC2.TransitGatewayConnect("secondTransitGatewayConnect", {
  Options: {
    ApplianceMode: "enable",
    Protocol: "gre"
  },
  TransportTransitGatewayAttachmentId: "tgw-attach-0def12345abc67890"
});