cloud-foundation-fabric/modules/net-interconnect-attachment...
Wiktor Niesiobędzki 1a657b31d3 Bump beta provider to 4.48
This is the first version that supports `gateway_api_config` block
2023-01-29 15:50:24 +01:00
..
README.md Test documentation examples in the examples/ folder 2022-09-06 17:46:09 +02:00
main.tf Copyright bump (#410) 2022-01-01 15:52:31 +01:00
outputs.tf Add periods at the end of each description field where missing (#478) 2022-01-31 10:45:34 +01:00
variables.tf Add periods at the end of each description field where missing (#478) 2022-01-31 10:45:34 +01:00
versions.tf Bump beta provider to 4.48 2023-01-29 15:50:24 +01:00

README.md

Direct Interconnect VLAN Attachment and router

This module allows creation of a VLAN attachment for Direct Interconnect and router (router creation is optional).

Examples

Direct Interconnect VLAN attachment using default parameters for bgp session and router

module "vlan-attachment-1" {
  source         = "./fabric/modules/net-interconnect-attachment-direct"
  project_id     = "dedicated-ic-5-8492"
  region         = "us-west2"
  router_network = "myvpc"
  name           = "vlan-604-x"
  interconnect   = "https://www.googleapis.com/compute/v1/projects/mylab/global/interconnects/mylab-interconnect-1"
  peer = {
    ip_address = "169.254.63.2"
    asn        = 65418
  }
}
# tftest modules=1 resources=4

Direct Interconnect VLAN attachments to achieve 99.9% SLA setup

module "vlan-attachment-1" {
  source      = "./fabric/modules/net-interconnect-attachment-direct"
  project_id  = "dedicated-ic-3-8386"
  region      = "us-west2"
  router_name = "router-1"
  router_config = {
    description = ""
    asn         = 65003
    advertise_config = {
      groups = ["ALL_SUBNETS"]
      ip_ranges = {
        "199.36.153.8/30" = "custom"
      }
      mode = "CUSTOM"
    }
  }
  router_network = "myvpc"
  name           = "vlan-603-1"
  interconnect   = "https://www.googleapis.com/compute/v1/projects/mylab/global/interconnects/mylab-interconnect-1"

  config = {
    description   = ""
    vlan_id       = 603
    bandwidth     = "BPS_10G"
    admin_enabled = true
    mtu           = 1440
  }
  peer = {
    ip_address = "169.254.63.2"
    asn        = 65418
  }
  bgp = {
    session_range             = "169.254.63.1/29"
    advertised_route_priority = 0
    candidate_ip_ranges       = ["169.254.63.0/29"]
  }
}

module "vlan-attachment-2" {
  source      = "./fabric/modules/net-interconnect-attachment-direct"
  project_id  = "dedicated-ic-3-8386"
  region      = "us-west2"
  router_name = "router-2"
  router_config = {
    description = ""
    asn         = 65003
    advertise_config = {
      groups = ["ALL_SUBNETS"]
      ip_ranges = {
        "199.36.153.8/30" = "custom"
      }
      mode = "CUSTOM"
    }

  }
  router_network = "myvpc"
  name           = "vlan-603-2"

  interconnect = "https://www.googleapis.com/compute/v1/projects/mylab/global/interconnects/mylab-interconnect-2"

  config = {
    description   = ""
    vlan_id       = 603
    bandwidth     = "BPS_10G"
    admin_enabled = true
    mtu           = 1440
  }
  peer = {
    ip_address = "169.254.63.10"
    asn        = 65418
  }
  bgp = {
    session_range             = "169.254.63.9/29"
    advertised_route_priority = 0
    candidate_ip_ranges       = ["169.254.63.8/29"]
  }
}
# tftest modules=2 resources=8

Variables

name description type required default
interconnect URL of the underlying Interconnect object that this attachment's traffic will traverse through. string
peer Peer Ip address and asn. Only IPv4 supported. object({…})
project_id The project containing the resources. string
router_config Router asn and custom advertisement configuration, ip_ranges is a map of address ranges and descriptions.. . object({…}
bgp Bgp session parameters. object({…}) null
config VLAN attachment parameters: description, vlan_id, bandwidth, admin_enabled, interconnect. object({…}) {…}
name The name of the vlan attachment. string "vlan-attachment"
region Region where the router resides. string "europe-west1-b"
router_create Create router. bool true
router_name Router name used for auto created router, or to specify an existing router to use if router_create is set to true. Leave blank to use vlan attachment name for auto created router. string "router-vlan-attachment"
router_network A reference to the network to which this router belongs. string null

Outputs

name description sensitive
bgpsession bgp session.
interconnect_attachment interconnect attachment.
router Router resource (only if auto-created).