Skip to content

Latest commit

 

History

History
 
 

net-address

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

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 = var.project_id
  external_addresses = {
    nat-1      = var.region
    vpn-remote = var.region
  }
  global_addresses = ["app-1", "app-2"]
}
# tftest:modules=1:resources=4

Internal addresses

module "addresses" {
  source     = "./modules/net-address"
  project_id = var.project_id
  internal_addresses = {
    ilb-1 = {
      region     = var.region
      subnetwork = var.subnet.self_link
    }
    ilb-2 = {
      region     = var.region
      subnetwork = var.subnet.self_link
    }
  }
  # optional configuration
  internal_addresses_config = {
    ilb-1 = {
      address = null
      purpose = "SHARED_LOADBALANCER_VIP"
      tier = null
    }
  }
}
# tftest:modules=1:resources=2

PSC addresses

module "addresses" {
  source     = "./modules/net-address"
  project_id = var.project_id
  psc_addresses = {
    one = {
      address     = null
      network = var.vpc.self_link
    }
    two = {
      address     = "10.0.0.32"
      network = var.vpc.self_link
    }
  }
}
# tftest:modules=1:resources=2

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({...})) {}
psc_addresses Map of internal addresses used for Private Service Connect. map(object({...})) {}

Outputs

name description sensitive
external_addresses None
global_addresses None
internal_addresses None
psc_addresses None