# Create VM

> `UiPath.VMware.Activities.CrossPlatform.VirtualMachine.CreateVM`

`UiPath.VMware.Activities.CrossPlatform.VirtualMachine.CreateVM`

## Description

Creates a new virtual machine.

## Project compatibility

**Windows** | **Cross-platform**

## Configuration

* **Virtual Machine Name** - The full path of the virtual machine, including datacenter and folders.
* **Guest OS** - Guest OS type for the virtual machine. Choose one of the available options from the dropdown menu. Default value is DOS.
* **Datastore** - The storage for the configuration and disk files associated with the host.
* **Host** - The host where the virtual machine will run.

### Input

* **No of CPUs** - The number of CPUs for the new virtual machine. Default value is 2.
* **Memory in MBs** - The memory for the new virtual machine, in MBs. Default value is 4096.
* **Wait For Completion** - If set to **On**, the activity waits to complete before moving to the next activity, but no longer than the value specified in the **Timeout** field. Default value is **On**.
* **Timeout** - Specifies how long to wait (in seconds) for the activity to run before an error is thrown. The default value is 1800 seconds (30 minutes).

### Output

* **VirtualMachine** - Provides details about the newly created virtual machine.
  :::note
  The **VirtualMachine** parameter provides the following information:
  * **ID** - Specifies the ID of the virtual machine.
  * **Name** - Specifies the name Virtual machine.
  * **Host** - Specifies the host on which the virtual machine is running.
  * **FullPath** - Specifies the full path to the virtual machine, including datacenter and folder hierarchy.
  * **IPAddress** - Specifies the primary IP address assigned to the guest operating system, if known.
  * **DNSName** - Specifies the hostname of the guest operating system, if known.
  * **GuestOS** - Specifies the guest's operating system full name, if known.
  * **GuestOSState** - Specifies the guest's operating system state. Possible values are `Running`, `ShuttingDown`, `Resetting`, `Standby`, `NotRunning`, `Unknown`.
  * **PowerState** - Specifies the virtual machine power state. Possible values are `PoweredOn`, `PoweredOff`, `Suspended`.
  * **VMwareToolsState** - Specifies the current running status of VMware Tools in the guest operating system, if known. Possible values are `NotRunning`, `Running`, `ExecutingScripts`.
  * **VMwareToolsVersionStatus** - Specifies the current version status of VMware Tools. The possible values are **Blacklisted**, **Current**, **NeedUpgrade**, **NotInstalled**, **SupportedNew**, **SupportedOld**, **TooNew**, **TooOld**, **Unmanaged**.
  * **IsTemplate** - Indicates if the input represents a virtual machine template.
  * **Tags** - Specifies the list of tags assigned to the virtual machine or template.
  :::
