cloud-foundation-fabric/modules/net-address
Ludovico Magnocavallo f6775aca1b
Use the same versions file everywhere, pin to tf 1.0+ provider 4.0+ (#355)
* add default versions file, remove old providers and versions

* use default versions file everywhere

* fix kms module

* re-add provider configuration for data platform step 2

* update kms module outputs sorting

* update kms documentation

* fix data solutions tests

* fix GKE workload identity attribute name

* work around firewall provider issue in datafusion example
2021-11-03 15:05:43 +01:00
..
README.md Add more validations to linter 2021-10-08 18:26:04 +02:00
main.tf Simplify new CF from onprem via PSC example (#280) 2021-07-20 15:05:48 +02:00
outputs.tf Add more validations to linter 2021-10-08 18:26:04 +02:00
variables.tf Simplify new CF from onprem via PSC example (#280) 2021-07-20 15:05:48 +02:00
versions.tf Use the same versions file everywhere, pin to tf 1.0+ provider 4.0+ (#355) 2021-11-03 15:05:43 +01: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 = 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.