Terraform module which creates Direct Connect resources on AWS.
This module aims to provide all connotations of a Direct Connect setup for AWS.
module "gateway_and_attached_vif" {
source = "BorisLabs/directconnect/aws"
version = "0.0.1"
create_dx_gateway = true
dx_gateway_name = "dx-gw-01"
dx_gateway_bgp_asn = "65300"
create_dx_private_vif = true
dx_connection_id = "dxcon-1234abcd"
dx_private_vif_name = "dx-private-vif-01-01-a"
dx_private_vif_address_family = "ipv4"
dx_private_vif_customer_address = "169.254.254.102/30"
dx_private_vif_amazon_address = "169.254.254.101/30"
dx_private_vif_bgp_asn = "65200"
dx_private_vif_vlan_id = "200"
dx_private_vif_tags = {
Gateway = "dx-gw-01"
Enviroment = "Development"
}
}
- Single VIF
- DX Connection
- VIF attached to pre-existing DX Gateway
- Complete Terragrunt for DX Conn, GW, VIF -- COMING SOON
This module supports Terraform v0.12 starting at version v0.1.0.
For Terraform v0.11 support please use v0.0.2
Module managed by
Rob Houghton
Josh Sinfield
Ben Arundel
The following requirements are needed by this module:
- terraform (>= 0.14)
The following providers are used by this module:
No modules.
The following resources are used by this module:
- aws_dx_bgp_peer.this (resource)
- aws_dx_connection.this (resource)
- aws_dx_connection_association.this (resource)
- aws_dx_gateway.this (resource)
- aws_dx_gateway_association.cross_account (resource)
- aws_dx_gateway_association.this (resource)
- aws_dx_gateway_association_proposal.this (resource)
- aws_dx_hosted_private_virtual_interface.private_vif (resource)
- aws_dx_hosted_private_virtual_interface_accepter.private_vif_accepter (resource)
- aws_dx_lag.this (resource)
- aws_dx_private_virtual_interface.this (resource)
- aws_dx_public_virtual_interface.this (resource)
- aws_vpn_gateway.this (resource)
- aws_caller_identity.this (data source)
- aws_dx_gateway.this (data source)
No required inputs.
The following input variables are optional (have default values):
Description: Associate a DX Gateway
Type: bool
Default: false
Description: Ability to attach an already existing VGW as appose to create one.
Type: bool
Default: false
Description: Creates a BGP Peer resource
Type: bool
Default: false
Description: Create a DX Connection
Type: bool
Default: false
Description: Create a DX Gateway
Type: bool
Default: false
Description: Creates a LAG Group
Type: bool
Default: false
Description: Create a DX Private Hosted Virtual Interface
Type: bool
Default: false
Description: Create a DX Private Virtual Interface
Type: bool
Default: false
Description: Create a DX Public Virtual Interface
Type: bool
Default: false
Description: Ability to create a VGW required for DX gateway
Type: bool
Default: false
Description: Create a Cross Account DX Proposal & acceptance conflicts with associate_dx_gateway
Type: bool
Default: false
Description: Auth key for BGP configuration
Type: string
Default: null
Description: Customer BGP Address, required for Public VIF
Type: string
Default: null
Description: Address family for BGP Peer IPV4 / IPV6
Type: string
Default: "ipv4"
Description: BGP ASN Number
Type: number
Default: 65535
Description: Virutal interface to attach the peer to
Type: string
Default: null
Description: DX Connection Bandwidth depends on location if all speeds are available
Type: string
Default: "1Gbps"
Description: The connection MAC Security (MACsec) encryption mode
Type: string
Default: null
Description: ID Of the DX Connection
Type: string
Default: null
Description: AWS Direct connect location
Type: string
Default: "EqLD5"
Description: Name of the DX Connection
Type: string
Default: null
Description: The name of the service provider i.e. Colt / Equinex
Type: string
Default: null
Description: Optional attribute to allow the connection to support MAC Security, supported on 10 & 100Gbps connections
Type: bool
Default: false
Description: Set to true if you don't want Terraform to delete the connection on destroy
Type: bool
Default: false
Description: Tags for DX Connection
Type: map(string)
Default: {}
Description: BGP ASN For DX Gateway
Type: number
Default: 65534
Description: A direct gateway Id
Type: string
Default: null
Description: DX Gateway name
Type: string
Default: "dx-gateway-default-name"
Description: The owning account of the AWS Direct connect Gateway
Type: string
Default: null
Description: ID of LAG Group which can be used to create a VIF on
Type: string
Default: null
Description: Name of the Lag group
Type: string
Default: null
Description: Tags to associate with a Lag Group
Type: map(string)
Default: {}
Description: The address familty for the BGP Peer ipv4 or ipv6
Type: string
Default: "ipv4"
Description: Optional IPV4 CIDR address to use to send traffic to AWS Amazon. Required for IPV4 BGP peers
Type: string
Default: "169.254.254.1/30"
Description: BGP ASN for client Hosted VIF
Type: number
Default: 65001
Description: Optional IPV4 CIDR address to use to which Amazon should send traffic. Required for IPV4 BGP Peers
Type: string
Default: "169.254.254.2/30"
Description: The name of the Private hosted VIF
Type: string
Default: null
Description: The AWS account that will own the new virtual interface.
Type: string
Default: null
Description: The VLAN ID to use on the hosted Virtual interface
Type: number
Default: 4093
Description: The Address Family for the BGP Peer ipv4 or ipv6
Type: string
Default: "ipv4"
Description: Optional IPV4 CIDR address to use to send traffic to AWS Amazon. Required for IPV4 BGP peers
Type: string
Default: "169.254.254.253/30"
Description: BGP ASN for Client VIF
Type: number
Default: 65000
Description: Optional IPV4 CIDR Address to use for customer side of the DX VIF
Type: string
Default: "169.254.254.254/30"
Description: Name of the Virtual Interface
Type: string
Default: "this-is-a-default-name"
Description: Tags to be applied to a Private VIF !!! Not Hosted Private VIF
Type: map(string)
Default: {}
Description: The VLAN ID to use on the virtual interface
Type: number
Default: 4094
Description: The Address Family for the BGP Peer ipv4 or ipv6
Type: string
Default: "ipv4"
Description: Optional IPV4 CIDR address to use to send traffic to AWS Amazon. Required for IPV4 BGP peers
Type: string
Default: "169.254.254.253/30"
Description: BGP ASN for Client VIF
Type: number
Default: 65000
Description: Auth key for BGP Configuration
Type: string
Default: null
Description: Optional IPV4 CIDR Address to use for customer side of the DX VIF
Type: string
Default: "169.254.254.254/30"
Description: Name of the Virtual Interface
Type: string
Default: "this-is-a-default-name"
Description: A List of routes to be advertised to the AWS Network in this Region
Type: list(string)
Default: []
Description: Tags to be applied to a Private VIF !!! Not Hosted Private VIF
Type: map(string)
Default: {}
Description: The VLAN ID to use on the virtual interface
Type: number
Default: 4094
Description: Find a gateway to use when associating a VIF to a Gateway conflicts with create DX Gateway
Type: bool
Default: false
Description: MTU size for the interface supports 1500 or 9001 (Jumbo)
Type: number
Default: 1500
Description: Network base address to calculate IPs
Type: string
Default: "169.254.254.0/24"
Description: AWS ID of the Virtual Private Gateway if attaching one use in conjunction with attach VGW
Type: string
Default: null
Description: Tags for VGW Resource
Type: map(string)
Default: {}
Description: Required if you are creating and attach DX & VGW
Type: string
Default: null
The following outputs are exported:
Description: The ARN of the connection
Description: Bandwidth of the connection
Description: The ID of the connection
Description: The connection name
Description: The ID of the gateway
Description: The name of the gateway
Description: The ARN of the virtual interface
Description: The ID of the virtual interface.
Description: The ARN of the public virtual interface.
Description: The ID of the public virtual interface.
Description: The ARN of the public virtual interface.
Description: The ID of the public virtual interface.
Description: The ID of the VPN Gateway