---
title: "POST /v1/{+parent}/privateClouds"
method: POST
path: "/v1/{+parent}/privateClouds"
tags: ["projects"]
---

# POST /v1/{+parent}/privateClouds

`POST /v1/{+parent}/privateClouds`

Creates a new `PrivateCloud` resource in a given project and location. Private clouds of type `STANDARD` and `TIME_LIMITED` are zonal resources, `STRETCHED` private clouds are regional. Creating a private cloud also creates a [management cluster](https://cloud.google.com/vmware-engine/docs/concepts-vmware-components) for that private cloud.

## Path parameters

- `parent` string, required

## Query parameters

- `privateCloudId` string
- `requestId` string
- `validateOnly` boolean

## Request body

- PrivateCloud — Represents a private cloud resource. Private clouds of type `STANDARD` and `TIME_LIMITED` are zonal resources, `STRETCHED` private clouds are regional.
  - `state` 'STATE_UNSPECIFIED' | 'ACTIVE' | 'CREATING' | 'UPDATING' | 'FAILED' | 'DELETED' | 'PURGING' — Output only. State of the resource. New values may be added to this enum when appropriate.
  - `description` string — User-provided description for this private cloud.
  - `vcenter` Vcenter — Details about a vCenter Server management appliance.
    - `state` 'STATE_UNSPECIFIED' | 'ACTIVE' | 'CREATING' — Output only. The state of the appliance.
    - `fqdn` string — Fully qualified domain name of the appliance.
    - `version` string — Version of the appliance.
    - `internalIp` string — Internal IP address of the appliance.
  - `updateTime` string, google-datetime — Output only. Last update time of this resource.
  - `encryptionConfig` EncryptionConfig — Encryption configuration for a private cloud.
    - `cryptoKeyName` string — Optional. The resource name of the Cloud KMS key to be used for CMEK encryption. The format of this field is `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`. The key must be in the same region as the private cloud. This key is used for wrapping the key-encrypting key of vSAN clusters. This field must be provided when `type` is `CMEK` or `LEGACY_CMEK`, and must not be set when `type` is `OTHER`.
    - `type` 'TYPE_UNSPECIFIED' | 'CMEK' | 'LEGACY_CMEK' | 'OTHER' — Required. The encryption type of the private cloud.
  - `managementCluster` ManagementCluster — Management cluster configuration.
    - `stretchedClusterConfig` StretchedClusterConfig — Configuration of a stretched cluster.
      - `preferredLocation` string — Required. Zone that will remain operational when connection between the two zones is lost. Specify the resource name of a zone that belongs to the region of the private cloud. For example: `projects/{project}/locations/europe-west3-a` where `{project}` can either be a project number or a project ID.
      - `secondaryLocation` string — Required. Additional zone for a higher level of availability and load balancing. Specify the resource name of a zone that belongs to the region of the private cloud. For example: `projects/{project}/locations/europe-west3-b` where `{project}` can either be a project number or a project ID.
    - `nodeTypeConfigs` object — Required. The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`).
    - `clusterId` string — Required. The user-provided identifier of the new `Cluster`. The identifier must meet the following requirements: * Only contains 1-63 alphanumeric characters and hyphens * Begins with an alphabetical character * Ends with a non-hyphen character * Not formatted as a UUID * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) (section 3.5)
  - `deleteTime` string, google-datetime — Output only. Time when the resource was scheduled for deletion.
  - `nsx` Nsx — Details about a NSX Manager appliance.
    - `internalIp` string — Internal IP address of the appliance.
    - `version` string — Version of the appliance.
    - `state` 'STATE_UNSPECIFIED' | 'ACTIVE' | 'CREATING' — Output only. The state of the appliance.
    - `fqdn` string — Fully qualified domain name of the appliance.
  - `uid` string — Output only. System-generated unique identifier for the resource.
  - `type` 'STANDARD' | 'TIME_LIMITED' | 'STRETCHED' — Optional. Type of the private cloud. Defaults to STANDARD.
  - `expireTime` string, google-datetime — Output only. Time when the resource will be irreversibly deleted.
  - `networkConfig` NetworkConfig — Network configuration in the consumer project with which the peering has to be done.
    - `vmwareEngineNetworkCanonical` string — Output only. The canonical name of the VMware Engine network in the form: `projects/{project_number}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}`
    - `dnsServerIp` string — Output only. DNS Server IP of the Private Cloud. All DNS queries can be forwarded to this address for name resolution of Private Cloud's management entities like vCenter, NSX-T Manager and ESXi hosts.
    - `managementIpAddressLayoutVersion` integer — Output only. The IP address layout version of the management IP address range. Possible versions include: * `managementIpAddressLayoutVersion=1`: Indicates the legacy IP address layout used by some existing private clouds. This is no longer supported for new private clouds as it does not support all features. * `managementIpAddressLayoutVersion=2`: Indicates the latest IP address layout used by all newly created private clouds. This version supports all current features.
    - `vmwareEngineNetwork` string — 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/{vmware_engine_network_id}` where `{project}` can either be a project number or a project ID.
    - `managementCidr` string — Required. Management CIDR used by VMware management appliances.
  - `name` string — Output only. Identifier. The resource name of this private cloud. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud`
  - `hcx` Hcx — Details about a HCX Cloud Manager appliance.
    - `version` string — Version of the appliance.
    - `state` 'STATE_UNSPECIFIED' | 'ACTIVE' | 'CREATING' | 'ACTIVATING' — Output only. The state of the appliance.
    - `fqdn` string — Fully qualified domain name of the appliance.
    - `internalIp` string — Internal IP address of the appliance.
  - `createTime` string, google-datetime — Output only. Creation time of this resource.

## Response `200`

Successful response

---

[API](https://skmtc.dev/google/apis/vmwareengine.md) · [All operations](https://skmtc.dev/google/apis/vmwareengine/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/google/vmwareengine/revisions/23816cc0f25a/schema)
