Represents a private cloud resource. Private clouds are zonal resources.
To get more information about PrivateCloud, see:
resource "google_vmwareengine_private_cloud" "vmw-engine-pc" {
location = "us-west1-a"
name = "sample-pc"
description = "Sample test PC."
network_config {
management_cidr = "192.168.30.0/24"
vmware_engine_network = google_vmwareengine_network.pc-nw.id
}
management_cluster {
cluster_id = "sample-mgmt-cluster"
node_type_configs {
node_type_id = "standard-72"
node_count = 3
}
}
}
resource "google_vmwareengine_network" "pc-nw" {
name = "pc-nw"
location = "global"
type = "STANDARD"
description = "PC network description."
}
resource "google_vmwareengine_private_cloud" "vmw-engine-pc" {
location = "us-west1-a"
name = "sample-pc"
description = "Sample test PC."
type = "TIME_LIMITED"
network_config {
management_cidr = "192.168.30.0/24"
vmware_engine_network = google_vmwareengine_network.pc-nw.id
}
management_cluster {
cluster_id = "sample-mgmt-cluster"
node_type_configs {
node_type_id = "standard-72"
node_count = 1
custom_core_count = 32
}
}
}
resource "google_vmwareengine_network" "pc-nw" {
name = "pc-nw"
location = "global"
type = "STANDARD"
description = "PC network description."
}
The following arguments are supported:
network_config
-
(Required)
Network configuration in the consumer project with which the peering has to be done.
Structure is documented below.
management_cluster
-
(Required)
The management cluster for this private cloud. This used for creating and managing the default cluster.
Structure is documented below.
location
-
(Required)
The location where the PrivateCloud should reside.
name
-
(Required)
The ID of the PrivateCloud.
The network_config
block supports:
management_cidr
-
(Required)
Management CIDR used by VMware management appliances.
vmware_engine_network
-
(Optional)
The relative resource name of the VMware Engine network attached to the private cloud.
Specify the name in the following form: projects/{project}/locations/{location}/vmwareEngineNetworks/{vmwareEngineNetworkId}
where {project} can either be a project number or a project ID.
vmware_engine_network_canonical
-
(Output)
The canonical name of the VMware Engine network in
the form: projects/{project_number}/locations/{location}/vmwareEngineNetworks/{vmwareEngineNetworkId}
management_ip_address_layout_version
-
(Output)
The IP address layout version of the management IP address range.
Possible versions include:
dns_server_ip
-
(Output)
DNS Server IP of the Private Cloud.
The management_cluster
block supports:
cluster_id
-
(Required)
The user-provided identifier of the new Cluster. The identifier must meet the following requirements:
node_type_configs
-
(Optional)
The map of cluster node types in this cluster,
where the key is canonical identifier of the node type (corresponds to the NodeType).
Structure is documented below.
stretched_cluster_config
-
(Optional)
The stretched cluster configuration for the private cloud.
Structure is documented below.
The node_type_configs
block supports:
node_type_id
- (Required) The identifier for this object. Format specified above.
node_count
-
(Required)
The number of nodes of this type in the cluster.
custom_core_count
-
(Optional)
Customized number of cores available to each node of the type.
This number must always be one of nodeType.availableCustomCoreCounts
.
If zero is provided max value from nodeType.availableCustomCoreCounts
will be used.
This cannot be changed once the PrivateCloud is created.
The stretched_cluster_config
block supports:
preferred_location
-
(Optional)
Zone that will remain operational when connection between the two zones is lost.
secondary_location
-
(Optional)
Additional zone for a higher level of availability and load balancing.
description
-
(Optional)
User-provided description for this private cloud.
type
-
(Optional)
Initial type of the private cloud.
Possible values are: STANDARD
, TIME_LIMITED
, STRETCHED
.
project
- (Optional) The ID of the project in which the resource belongs.
If it is not provided, the provider project is used.
In addition to the arguments listed above, the following computed attributes are exported:
id
- an identifier for the resource with format projects/{{project}}/locations/{{location}}/privateClouds/{{name}}
uid
-
System-generated unique identifier for the resource.
state
-
State of the resource. New values may be added to this enum when appropriate.
hcx
-
Details about a HCX Cloud Manager appliance.
Structure is documented below.
nsx
-
Details about a NSX Manager appliance.
Structure is documented below.
vcenter
-
Details about a vCenter Server management appliance.
Structure is documented below.
internal_ip
-
(Optional)
Internal IP address of the appliance.
version
-
(Optional)
Version of the appliance.
state
-
(Optional)
State of the appliance.
Possible values are: ACTIVE
, CREATING
.
fqdn
-
(Optional)
Fully qualified domain name of the appliance.
internal_ip
-
(Optional)
Internal IP address of the appliance.
version
-
(Optional)
Version of the appliance.
state
-
(Optional)
State of the appliance.
Possible values are: ACTIVE
, CREATING
.
fqdn
-
(Optional)
Fully qualified domain name of the appliance.
internal_ip
-
(Optional)
Internal IP address of the appliance.
version
-
(Optional)
Version of the appliance.
state
-
(Optional)
State of the appliance.
Possible values are: ACTIVE
, CREATING
.
fqdn
-
(Optional)
Fully qualified domain name of the appliance.
This resource provides the following Timeouts configuration options:
create
- Default is 240 minutes.update
- Default is 190 minutes.delete
- Default is 150 minutes.PrivateCloud can be imported using any of these accepted formats:
projects/{{project}}/locations/{{location}}/privateClouds/{{name}}
{{project}}/{{location}}/{{name}}
{{location}}/{{name}}
In Terraform v1.5.0 and later, use an import
block to import PrivateCloud using one of the formats above. For example:
import {
id = "projects/{{project}}/locations/{{location}}/privateClouds/{{name}}"
to = google_vmwareengine_private_cloud.default
}
When using the terraform import
command, PrivateCloud can be imported using one of the formats above. For example:
$ terraform import google_vmwareengine_private_cloud.default projects/{{project}}/locations/{{location}}/privateClouds/{{name}}
$ terraform import google_vmwareengine_private_cloud.default {{project}}/{{location}}/{{name}}
$ terraform import google_vmwareengine_private_cloud.default {{location}}/{{name}}
This resource supports User Project Overrides.