/terraform-aws-customer-gateway

Terraform module which creates Customer Gateway on AWS

Primary LanguageHCLOtherNOASSERTION

AWS Customer Gateway Terraform module

Terraform module which creates AWS Customer Gateway resources on AWS.

This module has been extracted from the VPC module, because sometimes it makes sense to reuse Customer Gateways across multiple VPC resources. Check out other related modules - VPC, VPN Gateway and Transit Gateway for more details.

These types of resources are supported:

Usage

module "cgw" {
  source  = "terraform-aws-modules/customer-gateway/aws"
  version = "~> 1.0"

  name = "test-cgw"

  customer_gateways = {
    IP1 = {
      bgp_asn    = 65112
      ip_address = "49.33.1.162"
    },
    IP2 = {
      bgp_asn    = 65112
      ip_address = "85.38.42.93"
    }
  }

  tags = {
    Test = "maybe"
  }
}

Examples

  • Complete example creates 2 Customer Gateways, a VPC and creates 2 VPN connections between them.

Conditional creation

Sometimes you need to have a way to create Customer Gateway conditionally but Terraform does not allow to use count inside module block, so the solution is to specify argument create.

# This CGW will not be created
module "cgw" {
  source  = "terraform-aws-modules/customer-gateway/aws"
  version = "~> 1.0"

  create = false
  # ... omitted
}

Requirements

Name Version
terraform >= 0.12.6
aws >= 2.23

Providers

Name Version
aws >= 2.23

Inputs

Name Description Type Default Required
create Whether to create Customer Gateway resources bool true no
customer_gateways Maps of Customer Gateway's attributes (BGP ASN and Gateway's Internet-routable external IP address) map(map(any)) {} no
name Name to be used on all the resources as identifier string "" no
tags A mapping of tags to assign to all resources map(string) {} no

Outputs

Name Description
cgw_ids List of IDs of Customer Gateway
this_customer_gateway Map of Customer Gateway attributes

Authors

Module managed by Anton Babenko.

License

Apache 2 Licensed. See LICENSE for full details.