- Ensure all variables and outputs are sorted - Ensure all variables and outputs have a description - Add data-solutions/data-platform-foundations to linter Fix all modules to follow these new conventions.
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 | Allocated external addresses. | |
| global_addresses | Allocated global external addresses. | |
| internal_addresses | Allocated internal addresses. | |
| psc_addresses | Allocated internal addresses for PSC endpoints. |