cloud-foundation-fabric/modules/net-address
Luca Prete f2c80e17f1
[#138] Update copyright headers to 2020 (#139)
Co-authored-by: Luca Prete <lucaprete@google.com>
2020-09-23 11:07:03 +02:00
..
README.md Refactor net-address variables, add support for internal address purpose 2020-09-01 18:49:21 +02:00
main.tf [#138] Update copyright headers to 2020 (#139) 2020-09-23 11:07:03 +02:00
outputs.tf [#138] Update copyright headers to 2020 (#139) 2020-09-23 11:07:03 +02:00
variables.tf [#138] Update copyright headers to 2020 (#139) 2020-09-23 11:07:03 +02:00
versions.tf [#138] Update copyright headers to 2020 (#139) 2020-09-23 11:07:03 +02:00

README.md

Net Address Reservation Module

This module allows reserving Compute Engine external, global, and internal addresses.

Examples

External and global addresses

module "addresses" {
  source     = "./modules/net-address"
  project_id = local.projects.host
  external_addresses = {
    nat-1      = var.region
    vpn-remote = var.region
  }
  global_addresses = ["app-1", "app-2"]
}

Internal addresses

module "addresses" {
  source     = "./modules/net-address"
  project_id = local.projects.host
  internal_addresses = {
    ilb-1      = {
      region = var.region
      subnetwork = module.vpc.subnet_self_links["${var.region}-test"]
    }
    ilb-2      = {
      region = var.region
      subnetwork = module.vpc.subnet_self_links["${var.region}-test"]
    }
  }
  # optional configuration
  internal_addresses_config = {
    ilb-1 = {
      address = null
      purpose = "SHARED_LOADBALANCER_VIP"
      tier = null
    }
  }
}

Variables

name description type required default
project_id Project where the addresses will be created. string
external_addresses Map of external address regions, keyed by name. map(string) {}
global_addresses List of global addresses to create. list(string) []
internal_addresses Map of internal addresses to create, keyed by name. map(object({...})) {}
internal_addresses_config Optional configuration for internal addresses, keyed by name. Unused options can be set to null. map(object({...})) {}

Outputs

name description sensitive
external_addresses None
global_addresses None
internal_addresses None