Skip to content

TakeoffTech/tf-gcp-vmware-edge

Repository files navigation

tf-gcp-vmware-edge

This module was generated from terraform-google-module-template, which by default generates a module that simply creates a GCS bucket. As the module develops, this README should be updated.

The resources/services/activations/deletions that this module will create/trigger are:

  • Create a vmware edge deployment in your project
  • You can specify what regions to deploy a single instance to

Usage

Basic usage of this module is as follows:

module "sdwan" {
  source  = "github.com/TakeoffTech/tf-gcp-vmware-edge"
  version = "~> 0.1"

  project_id  = "<PROJECT ID>"

  network_Regions = [
    {
      name        = "us-central1"
      inet_subnet = "192.168.20.0/24"
      mgmt_subnet = "192.168.10.0/24"
      lan_subnet  = "10.0.10.0/24"
    },
    {
      name        = "us-west2"
      inet_subnet = "192.168.21.0/24"
      mgmt_subnet = "192.168.11.0/24"
      lan_subnet  = "10.0.11.0/24"
    },
  ]

  velocloud_hub_profile = "Hub Profile"
  velocloud_vco = "vco123-usvi1.velocloud.net"
  # The velocloud_token passed in via the TF_VAR_velocloud_token environment variable
  velocloud_token = "Token"

}

Functional examples are included in the examples directory.

Inputs

Name Description Type Default Required
cloud_router_advertised_ip_ranges A List of additional ip ranges to advertise from the cloud router to the vce appliance
set(object(
{
range = string
description = string
}
))
[] no
cloud_router_asns n/a list(number)
[
65120,
65121,
65122,
65123
]
no
network_regions List of regions and subnets to deploy VMware edge appliances
set(object(
{
name = string
inet_subnet = string
mgmt_subnet = string
lan_subnet = string
}
))
[] no
project_id The project ID to deploy to string n/a yes
vce_asns n/a list(number)
[
65220,
65221,
65222,
65223
]
no
vce_machine_type GCP machine type for the Velocloud edge instance string "n2-standard-4" no
velocloud_hub_profile Name of a configuration profile to attach to the Veloloud edge instances string "Hubs-Test" no
velocloud_token API token for the Velocloud Orchestrator instance string n/a yes
velocloud_vco Base hostname to the Velocloud Orchestrator instance string n/a yes

Outputs

Name Description
inet_subnets A map with keys of form subnet_region/subnet_name and values being the outputs of the google_compute_subnetwork resources used to create corresponding subnets within the inet VPC.
lan_network_id The ID of the lan VPC being created
lan_self_link The URI of the lan VPC being created
lan_subnets A map with keys of form subnet_region/subnet_name and values being the outputs of the google_compute_subnetwork resources used to create corresponding subnets within the lan VPC.
mgmt_subnets A map with keys of form subnet_region/subnet_name and values being the outputs of the google_compute_subnetwork resources used to create corresponding subnets within the mgmt VPC.

Requirements

These sections describe requirements for using this module.

Software

The following dependencies must be available:

Service Account

A service account with the following roles must be used to provision the resources of this module:

  • Project Owner: roles/owner

The Project Factory module and the IAM module may be used in combination to provision a service account with the necessary roles applied.

APIs

A project with the following APIs enabled must be used to host the resources of this module:

  • Compute Engine API: compute.googleapis.com
  • Network Connectivity API: networkconnectivity.googleapis.com

The Project Factory module can be used to provision a project with the necessary APIs enabled.

Contributing

Refer to the contribution guidelines for information on contributing to this module.

Security Disclosures

Please see our security disclosure process.