4.8 KiB
4.8 KiB
Google Cloud VMWare Engine Private Cloud Module
This module implements the creation and management of a Google Cloud VMWare Engine Private Cloud with its management cluster. If configured, it also creates the vmware engine network or it can work with an existing one. The creation of the private connection with the user VPC requires the execution of the Google SDK command the module provides as an output.
Be aware that the deployment of this module might requires up to 2 hours depending on the selected private cloud target zone.
TOC
- TOC
- Limitations
- Basic Private Cloud Creation
- Private Cloud Creation with custom nodes and cores count
- Files
- Variables
Limitations
At the moment this module doesn't support the following use cases:
Single node private cloud
Stretched private cloud
Basic Private Cloud Creation
module "gcve-pc" {
source = "./fabric/modules/gcve-private-cloud"
name = "gcve-pc"
project_id = "gcve-test-project"
zone = "asia-southeast1-a"
management_cidr = "192.168.0.0/24"
private_connections = {
transit-conn1 = {
name = "transit-conn1",
network_self_link = "projects/test-prj-elia-01/global/networks/default",
peering = "servicenetworking-googleapis-com"
type = "PRIVATE_SERVICE_ACCESS",
routing_mode = "REGIONAL"
}
}
}
# tftest modules=1 resources=2 inventory=basic.yaml
Private Cloud Creation with custom nodes and cores count
module "gcve-pc" {
source = "./fabric/modules/gcve-private-cloud"
name = "gcve-pc"
project_id = "gcve-test-project"
zone = "asia-southeast1-a"
management_cidr = "192.168.0.0/24"
management_cluster_config = {
node_type_id = "standard-72"
node_count = 6
custom_core_count = 28
}
private_connections = {
transit-conn1 = {
name = "transit-conn1",
network_self_link = "projects/test-prj-elia-01/global/networks/default",
peering = "servicenetworking-googleapis-com"
type = "PRIVATE_SERVICE_ACCESS",
routing_mode = "REGIONAL"
}
}
}
# tftest modules=1 resources=2 inventory=custom.yaml
Files
name | description | resources |
---|---|---|
main.tf | Module-level locals and resources. | google_vmwareengine_network · google_vmwareengine_private_cloud |
output.tf | None | |
variables.tf | Module variables. | |
versions.tf | Version pins. |
Variables
name | description | type | required | default |
---|---|---|---|---|
management_cidr | vSphere/vSAN subnets CIDR range. | string |
✓ | |
name | Private cloud name. | string |
✓ | |
project_id | Project id. | string |
✓ | |
zone | Private cloud zone. | string |
✓ | |
description | Private cloud description. | string |
"Terraform-managed." |
|
management_cluster_config | Management cluster configuration. | object({…}) |
{…} |
|
private_connections | VMWare private connections configuration. It is used to create the gcloud command printed as output. | map(object({…})) |
{} |
|
vmwareengine_network_create | Create the VMware Engine network. When set to false, it uses a data source to reference an existing VMware Engine network. | bool |
true |