# 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 ```hcl # 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](variables.tf#L29) | Network interfaces configuration. | list(object({…})) | ✓ | | | [cloud_config](variables.tf#L17) | Cloud config template path. If null default will be used. | string | | null | | [enable_health_checks](variables.tf#L23) | Configures routing to enable responses to health check probes. | bool | | false | | [test_instance](variables-instance.tf#L17) | Test/development instance attributes, leave null to skip creation. | object({…}) | | null | | [test_instance_defaults](variables-instance.tf#L30) | Test/development instance defaults used for optional configuration. If image is null, COS stable will be used. | object({…}) | | {…} | ## Outputs | name | description | sensitive | |---|---|:---:| | [cloud_config](outputs.tf#L17) | Rendered cloud-config file to be passed as user-data instance metadata. | | | [test_instance](outputs-instance.tf#L17) | Optional test instance name and address. | |