Google Simple NVA Module
This module allows for the creation of a NVA (Network Virtual Appliance) to be used for experiments and as a stub for future appliances deployment.
This NVA can be used to interconnect up to 8 VPCs.
Examples
Simple example
# Interfaces configuration
locals {
network_interfaces = [
{
addresses = null
name = "dev"
nat = false
network = "dev_vpc_self_link"
routes = ["10.128.0.0/9"]
subnetwork = "dev_vpc_nva_subnet_self_link"
},
{
addresses = null
name = "prod"
nat = false
network = "prod_vpc_self_link"
routes = ["10.0.0.0/9"]
subnetwork = "prod_vpc_nva_subnet_self_link"
}
}
# NVA config
module "nva-cloud-config" {
source = "../../../cloud-foundation-fabric/modules/cloud-config-container/simple-nva"
enable_health_checks = true
network_interfaces = local.network_interfaces
}
# COS VM
module "nva" {
source = "../../modules/compute-vm"
project_id = "myproject"
instance_type = "e2-standard-2"
name = "nva"
can_ip_forward = true
zone = "europe-west8-a"
tags = ["nva"]
network_interfaces = local.network_interfaces
boot_disk = {
image = "projects/cos-cloud/global/images/family/cos-stable"
size = 10
type = "pd-balanced"
}
metadata = {
user-data = module.nva-cloud-config.cloud_config
}
}
Variables
name |
description |
type |
required |
default |
network_interfaces |
Network interfaces configuration. |
list(object({…})) |
✓ |
|
cloud_config |
Cloud config template path. If null default will be used. |
string |
|
null |
enable_health_checks |
Configures routing to enable responses to health check probes. |
bool |
|
false |
test_instance |
Test/development instance attributes, leave null to skip creation. |
object({…}) |
|
null |
test_instance_defaults |
Test/development instance defaults used for optional configuration. If image is null, COS stable will be used. |
object({…}) |
|
{…} |
Outputs
name |
description |
sensitive |
cloud_config |
Rendered cloud-config file to be passed as user-data instance metadata. |
|
test_instance |
Optional test instance name and address. |
|