Stay organized with collections
Save and categorize content based on your preferences.
Create a VMware Engine single node private cloud
This document describes how to create a single node private cloud. Single node
private clouds help you get started with your Google Cloud VMware Engine experience with
non-production usage such as pilots and proof-of-concept evaluations. Single
node private clouds contain only one node and one cluster. You can expand your single node private
cloud to three nodes at any time to convert it to a standard private cloud.
API examples in this documentation set use the cURL command-line tool to
query the API. A valid access token is required as part of the cURL
request. There are many ways to get a valid access token; the following
steps use the gcloud tool to generate a access token:
Login to Google Cloud:
gcloud auth login
Generate access token and export to TOKEN:
export TOKEN=`gcloud auth print-access-token`
Verify that TOKEN is set properly:
echo $TOKEN
Now, use the authorization token in your requests to the API. For example:
Python code samples in this documentation use the VMware Engine library to communicate with the API. To be able to use this approach, the library needs to be installed and the Application Default Credentials should be configured.
Download and install the Python library:
pip install google-cloud-vmwareengine
Configure the ADC information by executing those command in your shell:
Click Select a project and then select the organization, folder, or project
where you want to create the single node private cloud.
Click Create.
Select Standard private cloud.
Select a location where you want the private cloud deployed.
Select the node type for your primary cluster.
Select Single node to create a single node private cloud.
Fill out the rest of the details of your private cloud and click Save.
gcloud
To create a single node private cloud using the gcloud CLI:
Optional: If you don't know the names of available regions and zones for
your project, you can list them by running the gcloud vmware locations list command:
PRIVATE_CLOUD_ID: the private cloud name for
this request
REGION: the region for this private cloud
CLUSTER_ID: the cluster ID for this request
Optional: Check the status of the private cloud creation (may take up
to two hours) by making a POST request to the operation:
POST "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/operations/OPERATION_ID
List the private clouds in a zone by making a POST request:
POST "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds
Replace the following:
PROJECT_ID: the ID for this request
ZONE: the zone for this private cloud
OPERATION_ID: the operation ID for this
private cloud
Optional: Get details of the private cloud by making a GET request:
GET https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID
PROJECT_ID: the ID for this project
PRIVATE_CLOUD_ID: the ID for this private
cloud
ZONE: the zone for this private cloud
Get the vCenter and NSX credentials, respectively, by making separate
GET requests:
GET https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID:showVcenterCredentials
GET https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID:showNsxCredentials
It takes approximately 30 minutes to 2 hours for VMware Engine to
create your private cloud and make it available for access from the
Google Cloud console.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Create a VMware Engine single node private cloud\n================================================\n\nThis document describes how to create a single node private cloud. Single node\nprivate clouds help you get started with your Google Cloud VMware Engine experience with\nnon-production usage such as pilots and proof-of-concept evaluations. Single\nnode private clouds contain only one node and one cluster. You can expand your single node private\ncloud to three nodes at any time to convert it to a standard private cloud.\n\nSee [Single node private clouds](/vmware-engine/docs/concepts-private-cloud#single-node)\nfor conceptual information about single node private clouds.\n\n### Google Cloud CLI and API requirements\n\nTo use the `gcloud` command line tool or the API to manage your VMware Engine\nresources, we recommend configuring the tools as described below. \n\n### gcloud\n\n1. Set your default project ID:\n\n ```\n gcloud config set project PROJECT_ID\n ```\n2. Set a default region and zone:\n\n ```\n gcloud config set compute/region REGION\n ``` \n\n ```\n gcloud config set compute/zone ZONE\n ```\n\nFor more information on the `gcloud vmware` tool,\n[see the Cloud SDK reference docs](/sdk/gcloud/reference/vmware).\n\n### API\n\nAPI examples in this documentation set use the `cURL` command-line tool to\nquery the API. A valid access token is required as part of the `cURL`\nrequest. There are many ways to get a valid access token; the following\nsteps use the `gcloud` tool to generate a access token:\n\n1. Login to Google Cloud:\n\n ```\n gcloud auth login\n ```\n2. Generate access token and export to TOKEN:\n\n ```\n export TOKEN=`gcloud auth print-access-token`\n ```\n3. Verify that TOKEN is set properly:\n\n ```\n echo $TOKEN\n ```\n\nNow, use the authorization token in your requests to the API. For example: \n\n```\ncurl -X GET -H \"Authorization: Bearer \\\"$TOKEN\\\"\" -H \"Content-Type: application/json; charset=utf-8\" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations\n```\n\n### Python\n\nPython code samples in this documentation use the [VMware Engine library](https://cloud.google.com/python/docs/reference/vmwareengine/latest) to communicate with the API. To be able to use this approach, the library needs to be installed and the [Application Default Credentials](https://cloud.google.com/docs/authentication/application-default-credentials) should be configured.\n\n1. Download and install the Python library:\n\n ```\n pip install google-cloud-vmwareengine\n ```\n2. Configure the ADC information by executing those command in your shell:\n\n ```\n gcloud auth application-default login\n ```\n\n Or, use a Service Account key file: \n\n ```\n export GOOGLE_APPLICATION_CREDENTIALS=\"FILE_PATH\"\n ```\n\nFor more information about the library, visit the [reference page](/python/docs/reference/vmwareengine/latest) or view [code samples on GitHub](https://github.com/GoogleCloudPlatform/python-docs-samples/tree/main/vmwareengine/cloud-client).\n\nBefore you begin\n----------------\n\n- [Create a VMware Engine network](/vmware-engine/docs/networking/howto-create-vmware-engine-network) if you haven't done so already.\n\nCreate a single node private cloud\n----------------------------------\n\nCreate a single node private cloud with the following instructions. \n\n### Console\n\n1. In the Google Cloud console, go to the **Private clouds** page.\n\n [Go to Private clouds](https://console.cloud.google.com/vmwareengine/privateclouds)\n2. Click **Select a project** and then select the organization, folder, or project \n\n where you want to create the single node private cloud.\n\n3. Click **Create**.\n\n4. Select **Standard private cloud**.\n\n5. Select a location where you want the private cloud deployed.\n\n6. Select the node type for your primary cluster.\n\n7. Select **Single node** to create a single node private cloud.\n\n8. Fill out the rest of the details of your private cloud and click **Save**.\n\n### gcloud\n\nTo create a single node private cloud using the gcloud CLI:\n\n1. Optional: If you don't know the names of available regions and zones for\n your project, you can list them by running the [`gcloud vmware locations list` command](/sdk/gcloud/reference/vmware/locations/list):\n\n ```\n gcloud vmware locations list\n ```\n2. To create a single node private cloud, which expires after 60 days, use\n the [`gcloud vmware private-clouds create` command](/sdk/gcloud/reference/vmware/private-clouds/create):\n\n ```\n gcloud vmware private-clouds create PRIVATE_CLOUD_ID \\\n --description= \"\" \\\n --location=ZONE \\\n --cluster=\"CLUSTER_ID\" \\\n --node-type-config=type=standard-72, count=1 \\\n --management-range=IP_ADDRESS \\\n --vmware-engine-network=\"REGION\" \\\n --type=TIME_LIMITED\n ```\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003ePRIVATE_CLOUD_ID\u003c/var\u003e: the name for this private cloud.\n - \u003cvar translate=\"no\"\u003eCLUSTER_ID\u003c/var\u003e: the cluster ID for this request\n - \u003cvar translate=\"no\"\u003eZONE\u003c/var\u003e: the zone for this private cloud\n - \u003cvar translate=\"no\"\u003eIP_ADDRESS\u003c/var\u003e: the IP address and range for this private cloud, for example `192.168.1.0/24`\n - \u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e: the region for this private cloud\n\n Output example: \n\n ```\n Create in progress for private cloud [projects/PROJECT_ID/locations/ZONE/operations/OPERATION_ID].\n ```\n3. Optional: If you want to check the status of the private cloud creation,\n use the [`gcloud vmware operations describe`](/sdk/gcloud/reference/vmware/operations/describe)\n and [`gcloud vmware private-clouds list`](/sdk/gcloud/reference/vmware/private-clouds/list)\n commands.\n\n ```\n gcloud vmware operations describe OPERATION_ID \\\n --location=ZONE\n ``` \n\n ```\n gcloud vmware private-clouds list \\\n --location=ZONE\n ```\n\n The output is similar to the following: \n\n ```\n NAME PROJECT LOCATION CREATE_TIME STATE VCENTER_FQDN\n PRIVATE_CLOUD_ID PROJECT_ID ZONE 2023-03-01T13:08:21.507Z CREATING VCENTER_FQDN\n ```\n4. Optional: If you want to check the details of the private cloud, run the\n [`gcloud vmware private-clouds describe` command](/sdk/gcloud/reference/vmware/private-clouds/describe):\n\n ```\n gcloud vmware private-clouds describe PRIVATE_CLOUD_ID \\\n --location=ZONE\n ```\n5. Get the vCenter and NSX credentials, respectively, by running\n [`gcloud vmware private-clouds credentials describe` command](/sdk/gcloud/reference/vmware/private-clouds/describe):\n\n ```\n gcloud vmware private-clouds vcenter credentials describe PRIVATE_CLOUD_ID \\\n --location=ZONE\n ``` \n\n ```\n gcloud vmware private-clouds nsx credentials describe PRIVATE_CLOUD_ID \\\n --location=ZONE\n ```\n\n### REST\n\nTo create a single node private cloud using the VMware Engine API, do the following:\n\n1. Create a single node private cloud (expires after 60 days) by making a `POST` request:\n\n ```\n POST https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds?private_cloud_id=PRIVATE_CLOUD_ID\n\n {\n \"description\": \"my private cloud\",\n \"network_config\": {\n \"vmware_engine_network\": \"projects/PROJECT_ID/locations/REGION/vmwareEngineNetworks/REGION-default\",\n \"management_cidr\": \"192.168.0.0/24\"\n },\n \"management_cluster\": {\n \"cluster_id\": \"CLUSTER_ID\",\n \"node_type_configs\": {\n \"standard-72\": {\n \"node_count\": 1\n }\n }\n },\n \"type\": \"TIME_LIMITED\"\n }\n ```\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e: the project for this request\n - \u003cvar translate=\"no\"\u003eZONE\u003c/var\u003e: the zone for this private cloud\n - \u003cvar translate=\"no\"\u003ePRIVATE_CLOUD_ID\u003c/var\u003e: the private cloud name for this request\n - \u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e: the region for this private cloud\n - \u003cvar translate=\"no\"\u003eCLUSTER_ID\u003c/var\u003e: the cluster ID for this request\n2. Optional: Check the status of the private cloud creation (may take up\n to two hours) by making a `POST` request to the operation:\n\n ```\n POST \"https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/operations/OPERATION_ID\n ```\n\n List the private clouds in a zone by making a `POST` request: \n\n ```\n POST \"https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds\n ```\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e: the ID for this request\n - \u003cvar translate=\"no\"\u003eZONE\u003c/var\u003e: the zone for this private cloud\n - \u003cvar translate=\"no\"\u003eOPERATION_ID\u003c/var\u003e: the operation ID for this private cloud\n3. Optional: Get details of the private cloud by making a `GET` request:\n\n ```\n GET https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID\n ```\n - \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e: the ID for this project\n - \u003cvar translate=\"no\"\u003ePRIVATE_CLOUD_ID\u003c/var\u003e: the ID for this private cloud\n - \u003cvar translate=\"no\"\u003eZONE\u003c/var\u003e: the zone for this private cloud\n4. Get the vCenter and NSX credentials, respectively, by making separate\n `GET` requests:\n\n ```\n GET https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID:showVcenterCredentials\n ``` \n\n ```\n GET https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID:showNsxCredentials\n ```\n\nIt takes approximately 30 minutes to 2 hours for VMware Engine to\ncreate your private cloud and make it available for access from the\nGoogle Cloud console.\n\nWhat's next\n-----------\n\n- [Get sign-in credentials for management appliances](/vmware-engine/docs/vmware-platform/howto-access-vsphere-client).\n- [Manage your private cloud resources and activity](/vmware-engine/docs/private-clouds/howto-manage-private-cloud)."]]