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

# POST /v1/{+parent}/clusters

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

Creates a new cluster in a given private cloud. Creating a new cluster provides additional nodes for use in the parent private cloud and requires sufficient [node quota](https://cloud.google.com/vmware-engine/quotas).

## Path parameters

- `parent` string, required

## Query parameters

- `clusterId` string
- `requestId` string
- `validateOnly` boolean

## Request body

- Cluster — A cluster in a private cloud.
  - `createTime` string, google-datetime — Output only. Creation time of this resource.
  - `autoscalingSettings` AutoscalingSettings — Autoscaling settings define the rules used by VMware Engine to automatically scale-out and scale-in the clusters in a private cloud.
    - `autoscalingPolicies` object — Required. The map with autoscaling policies applied to the cluster. The key is the identifier of the policy. It 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) Currently there map must contain only one element that describes the autoscaling policy for compute nodes.
    - `maxClusterNodeCount` integer — Optional. Maximum number of nodes of any type in a cluster. If not specified the default limits apply.
    - `coolDownPeriod` string, google-duration — Optional. The minimum duration between consecutive autoscale operations. It starts once addition or removal of nodes is fully completed. Defaults to 30 minutes if not specified. Cool down period must be in whole minutes (for example, 30, 31, 50, 180 minutes).
    - `minClusterNodeCount` integer — Optional. Minimum number of nodes of any type in a cluster. If not specified the default limits apply.
  - `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`).
  - `uid` string — Output only. System-generated unique identifier for the resource.
  - `updateTime` string, google-datetime — Output only. Last update time of this resource.
  - `state` 'STATE_UNSPECIFIED' | 'ACTIVE' | 'CREATING' | 'UPDATING' | 'DELETING' | 'REPAIRING' — Output only. State of the resource.
  - `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.
  - `management` boolean — Output only. True if the cluster is a management cluster; false otherwise. There can only be one management cluster in a private cloud and it has to be the first one.
  - `datastoreMountConfig` DatastoreMountConfig[] — Output only. Configuration of a mounted datastore.
    - `fileShare` string — Output only. File share name.
    - `servers` string[] — Output only. Server IP addresses of the NFS volume. For NFS 3, you can only provide a single server IP address or DNS names.
    - `accessMode` 'ACCESS_MODE_UNSPECIFIED' | 'READ_ONLY' | 'READ_WRITE' — Optional. The access mode of the NFS volume. Optional. Default value used will be READ_WRITE
    - `datastore` string — Required. The resource name of the datastore to mount. 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/datastores/my-datastore`
    - `nfsVersion` 'NFS_VERSION_UNSPECIFIED' | 'NFS_V3' — Optional. The NFS protocol supported by the NFS volume. Default value used will be NFS_V3
    - `datastoreNetwork` DatastoreNetwork — The network configuration for the datastore.
      - `mtu` integer — Optional. MTU value is set on the VMKernel adapter for the NFS traffic. By default standard 1500 MTU size is set in MountDatastore API which is good for typical setups. However google VPC networks supports jumbo MTU 8896. We recommend to tune this value based on the NFS traffic performance. Performance can be determined using benchmarking I/O tools like fio (Flexible I/O Tester) utility.
      - `networkPeering` string — Output only. The resource name of the network peering, used to access the file share by clients on private cloud. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. e.g. projects/my-project/locations/us-central1/networkPeerings/my-network-peering
      - `connectionCount` integer — Optional. connection_count is used to set multiple connections from NFS client on ESXi host to NFS server. A higher number of connections results in better performance on datastores. In MountDatastore API by default max 4 connections are configured. User can set value of connection_count between 1 to 4. Connection_count is supported from vsphere 8.0u1 for earlier version 1 connection count is set on the ESXi hosts.
      - `subnet` string — Required. The resource name of the subnet Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. e.g. projects/my-project/locations/us-central1/subnets/my-subnet
  - `name` string — Output only. Identifier. The resource name of this cluster. 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/clusters/my-cluster`

## 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)
