# Net Address Reservation Module This module allows reserving Compute Engine external, global, and internal addresses. ## Examples ### External and global addresses ```hcl 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 ```hcl 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 ```hcl 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 | Allocated external addresses. | | | global_addresses | Allocated global external addresses. | | | internal_addresses | Allocated internal addresses. | | | psc_addresses | Allocated internal addresses for PSC endpoints. | |