VM_CreateSpec

VM_CreateSpec
VM_CreateSpec

Document-based creation spec.

JSON Example
{
    "guest_OS": "string",
    "name": "string",
    "placement": {
        "folder": "string",
        "resource_pool": "string",
        "host": "string",
        "cluster": "string",
        "datastore": "string"
    },
    "hardware_version": "string",
    "boot": {
        "type": "string",
        "efi_legacy_boot": false,
        "network_protocol": "string",
        "delay": 0,
        "retry": false,
        "retry_delay": 0,
        "enter_setup_mode": false
    },
    "boot_devices": [
        {
            "type": "string"
        }
    ],
    "cpu": {
        "count": 0,
        "cores_per_socket": 0,
        "hot_add_enabled": false,
        "hot_remove_enabled": false
    },
    "memory": {
        "size_MiB": 0,
        "hot_add_enabled": false
    },
    "disks": [
        {
            "type": "string",
            "ide": {
                "primary": false,
                "master": false
            },
            "scsi": {
                "bus": 0,
                "unit": 0
            },
            "sata": {
                "bus": 0,
                "unit": 0
            },
            "nvme": {
                "bus": 0,
                "unit": 0
            },
            "backing": {
                "type": "string",
                "vmdk_file": "string"
            },
            "new_vmdk": {
                "name": "string",
                "capacity": 0,
                "storage_policy": {
                    "policy": "string"
                }
            }
        }
    ],
    "nics": [
        {
            "type": "string",
            "upt_compatibility_enabled": false,
            "mac_type": "string",
            "mac_address": "string",
            "pci_slot_number": 0,
            "wake_on_lan_enabled": false,
            "backing": {
                "type": "string",
                "network": "string",
                "distributed_port": "string"
            },
            "start_connected": false,
            "allow_guest_control": false
        }
    ],
    "cdroms": [
        {
            "type": "string",
            "ide": "Vm_Hardware_IdeAddressSpec Object",
            "sata": "Vm_Hardware_SataAddressSpec Object",
            "backing": {
                "type": "string",
                "iso_file": "string",
                "host_device": "string",
                "device_access_type": "string"
            },
            "start_connected": false,
            "allow_guest_control": false
        }
    ],
    "floppies": [
        {
            "backing": {
                "type": "string",
                "image_file": "string",
                "host_device": "string"
            },
            "start_connected": false,
            "allow_guest_control": false
        }
    ],
    "parallel_ports": [
        {
            "backing": {
                "type": "string",
                "file": "string",
                "host_device": "string"
            },
            "start_connected": false,
            "allow_guest_control": false
        }
    ],
    "serial_ports": [
        {
            "yield_on_poll": false,
            "backing": {
                "type": "string",
                "file": "string",
                "host_device": "string",
                "pipe": "string",
                "no_rx_loss": false,
                "network_location": "string",
                "proxy": "string"
            },
            "start_connected": false,
            "allow_guest_control": false
        }
    ],
    "sata_adapters": [
        {
            "type": "string",
            "bus": 0,
            "pci_slot_number": 0
        }
    ],
    "scsi_adapters": [
        {
            "type": "string",
            "bus": 0,
            "pci_slot_number": 0,
            "sharing": "string"
        }
    ],
    "nvme_adapters": [
        {
            "bus": 0,
            "pci_slot_number": 0
        }
    ],
    "storage_policy": {
        "policy": "string"
    }
}
guest_OS
Required

The GuestOS enumerated type defines the valid guest operating system types used for configuring a virtual machine.
DOS : MS-DOS.
WIN_31 : Windows 3.1
WIN_95 : Windows 95
WIN_98 : Windows 98
WIN_ME : Windows Millennium Edition
WIN_NT : Windows NT 4
WIN_2000_PRO : Windows 2000 Professional
WIN_2000_SERV : Windows 2000 Server
WIN_2000_ADV_SERV : Windows 2000 Advanced Server
WIN_XP_HOME : Windows XP Home Edition
WIN_XP_PRO : Windows XP Professional
WIN_XP_PRO_64 : Windows XP Professional Edition (64 bit)
WIN_NET_WEB : Windows Server 2003, Web Edition
WIN_NET_STANDARD : Windows Server 2003, Standard Edition
WIN_NET_ENTERPRISE : Windows Server 2003, Enterprise Edition
WIN_NET_DATACENTER : Windows Server 2003, Datacenter Edition
WIN_NET_BUSINESS : Windows Small Business Server 2003
WIN_NET_STANDARD_64 : Windows Server 2003, Standard Edition (64 bit)
WIN_NET_ENTERPRISE_64 : Windows Server 2003, Enterprise Edition (64 bit)
WIN_LONGHORN : Windows Longhorn
WIN_LONGHORN_64 : Windows Longhorn (64 bit)
WIN_NET_DATACENTER_64 : Windows Server 2003, Datacenter Edition (64 bit)
WIN_VISTA : Windows Vista
WIN_VISTA_64 : Windows Vista (64 bit)
WINDOWS_7 : Windows 7
WINDOWS_7_64 : Windows 7 (64 bit)
WINDOWS_7_SERVER_64 : Windows Server 2008 R2 (64 bit)
WINDOWS_8 : Windows 8
WINDOWS_8_64 : Windows 8 (64 bit)
WINDOWS_8_SERVER_64 : Windows 8 Server (64 bit)
WINDOWS_9 : Windows 10
WINDOWS_9_64 : Windows 10 (64 bit)
WINDOWS_9_SERVER_64 : Windows 10 Server (64 bit)
WINDOWS_11_64 : Windows 11 (64 bit)
WINDOWS_12_64 : Windows 12 (64 bit)
WINDOWS_HYPERV : Windows Hyper-V
WINDOWS_SERVER_2019 : Windows Server 2019
WINDOWS_SERVER_2021 : Windows Server 2022
WINDOWS_SERVER_2025 : Windows Server 2025
FREEBSD : FreeBSD 10 or earlier
FREEBSD_64 : FreeBSD 10 x64 or earlier
FREEBSD_11 : FreeBSD 11
FREEBSD_12 : FreeBSD 12
FREEBSD_13 : FreeBSD 13
FREEBSD_14 : FreeBSD 14 or later
FREEBSD_11_64 : FreeBSD 11 x64
FREEBSD_12_64 : FreeBSD 12 x64
FREEBSD_13_64 : FreeBSD 13 x64
FREEBSD_14_64 : FreeBSD 14 x64 or later
REDHAT : Red Hat Linux 2.1
RHEL_2 : Red Hat Enterprise Linux 2
RHEL_3 : Red Hat Enterprise Linux 3
RHEL_3_64 : Red Hat Enterprise Linux 3 (64 bit)
RHEL_4 : Red Hat Enterprise Linux 4
RHEL_4_64 : Red Hat Enterprise Linux 4 (64 bit)
RHEL_5 : Red Hat Enterprise Linux 5
RHEL_5_64 : Red Hat Enterprise Linux 5 (64 bit)
RHEL_6 : Red Hat Enterprise Linux 6
RHEL_6_64 : Red Hat Enterprise Linux 6 (64 bit)
RHEL_7 : Red Hat Enterprise Linux 7
RHEL_7_64 : Red Hat Enterprise Linux 7 (64 bit)
RHEL_8_64 : Red Hat Enterprise Linux 8 (64 bit)
RHEL_9_64 : Red Hat Enterprise Linux 9 (64 bit)
CENTOS : CentOS 4/5
CENTOS_64 : CentOS 4/5 (64-bit)
CENTOS_6 : CentOS 6
CENTOS_6_64 : CentOS 6 (64-bit)
CENTOS_7 : CentOS 7
CENTOS_7_64 : CentOS 7 (64-bit)
CENTOS_8_64 : CentOS 8 (64-bit)
CENTOS_9_64 : CentOS 9 (64-bit)
ORACLE_LINUX : Oracle Linux 4/5
ORACLE_LINUX_64 : Oracle Linux 4/5 (64-bit)
ORACLE_LINUX_6 : Oracle Linux 6
ORACLE_LINUX_6_64 : Oracle Linux 6 (64-bit)
ORACLE_LINUX_7 : Oracle Linux 7
ORACLE_LINUX_7_64 : Oracle Linux 7 (64-bit)
ORACLE_LINUX_8_64 : Oracle Linux 8 (64-bit)
ORACLE_LINUX_9_64 : Oracle Linux 9 (64-bit)
SUSE : Suse Linux
SUSE_64 : Suse Linux (64 bit)
SLES : Suse Linux Enterprise Server 9
SLES_64 : Suse Linux Enterprise Server 9 (64 bit)
SLES_10 : Suse linux Enterprise Server 10
SLES_10_64 : Suse Linux Enterprise Server 10 (64 bit)
SLES_11 : Suse linux Enterprise Server 11
SLES_11_64 : Suse Linux Enterprise Server 11 (64 bit)
SLES_12 : Suse linux Enterprise Server 12
SLES_12_64 : Suse Linux Enterprise Server 12 (64 bit)
SLES_15_64 : Suse Linux Enterprise Server 15 (64 bit)
SLES_16_64 : Suse Linux Enterprise Server 16 (64 bit)
NLD_9 : Novell Linux Desktop 9
OES : Open Enterprise Server
SJDS : Sun Java Desktop System
MANDRAKE : Mandrake Linux
MANDRIVA : Mandriva Linux
MANDRIVA_64 : Mandriva Linux (64 bit)
TURBO_LINUX : Turbolinux
TURBO_LINUX_64 : Turbolinux (64 bit)
UBUNTU : Ubuntu Linux
UBUNTU_64 : Ubuntu Linux (64 bit)
DEBIAN_4 : Debian GNU/Linux 4
DEBIAN_4_64 : Debian GNU/Linux 4 (64 bit)
DEBIAN_5 : Debian GNU/Linux 5
DEBIAN_5_64 : Debian GNU/Linux 5 (64 bit)
DEBIAN_6 : Debian GNU/Linux 6
DEBIAN_6_64 : Debian GNU/Linux 6 (64 bit)
DEBIAN_7 : Debian GNU/Linux 7
DEBIAN_7_64 : Debian GNU/Linux 7 (64 bit)
DEBIAN_8 : Debian GNU/Linux 8
DEBIAN_8_64 : Debian GNU/Linux 8 (64 bit)
DEBIAN_9 : Debian GNU/Linux 9
DEBIAN_9_64 : Debian GNU/Linux 9 (64 bit)
DEBIAN_10 : Debian GNU/Linux 10
DEBIAN_10_64 : Debian GNU/Linux 10 (64 bit)
DEBIAN_11 : Debian GNU/Linux 11
DEBIAN_11_64 : Debian GNU/Linux 11 (64 bit)
DEBIAN_12 : Debian GNU/Linux 12
DEBIAN_12_64 : Debian GNU/Linux 12 (64 bit)
ASIANUX_3 : Asianux Server 3
ASIANUX_3_64 : Asianux Server 3 (64 bit)
ASIANUX_4 : Asianux Server 4
ASIANUX_4_64 : Asianux Server 4 (64 bit)
ASIANUX_5_64 : Asianux Server 5 (64 bit)
ASIANUX_7_64 : Asianux Server 7 (64 bit)
ASIANUX_8_64 : Asianux Server 8 (64 bit)
ASIANUX_9_64 : Asianux Server 9 (64 bit)
OPENSUSE : OpenSUSE Linux
OPENSUSE_64 : OpenSUSE Linux (64 bit)
FEDORA : Fedora Linux
FEDORA_64 : Fedora Linux (64 bit)
COREOS_64 : CoreOS Linux (64 bit)
VMWARE_PHOTON_64 : VMware Photon (64 bit)
OTHER_24X_LINUX : Linux 2.4x Kernel
OTHER_24X_LINUX_64 : Linux 2.4x Kernel (64 bit)
OTHER_26X_LINUX : Linux 2.6x Kernel
OTHER_26X_LINUX_64 : Linux 2.6x Kernel (64 bit)
OTHER_3X_LINUX : Linux 3.x Kernel
OTHER_3X_LINUX_64 : Linux 3.x Kernel (64 bit)
OTHER_4X_LINUX : Linux 4.x Kernel
OTHER_4X_LINUX_64 : Linux 4.x Kernel (64 bit)
OTHER_5X_LINUX : Linux 5.x Kernel
OTHER_5X_LINUX_64 : Linux 5.x Kernel (64 bit)
OTHER_6X_LINUX : Linux 6.x Kernel
OTHER_6X_LINUX_64 : Linux 6.x Kernel (64 bit)
OTHER_LINUX : Linux 2.2x Kernel
GENERIC_LINUX : Other Linux
OTHER_LINUX_64 : Linux (64 bit)
SOLARIS_6 : Solaris 6
SOLARIS_7 : Solaris 7
SOLARIS_8 : Solaris 8
SOLARIS_9 : Solaris 9
SOLARIS_10 : Solaris 10 (32 bit)
SOLARIS_10_64 : Solaris 10 (64 bit)
SOLARIS_11_64 : Solaris 11 (64 bit)
OS2 : OS/2
ECOMSTATION : eComStation 1.x
ECOMSTATION_2 : eComStation 2.0
NETWARE_4 : Novell NetWare 4
NETWARE_5 : Novell NetWare 5.1
NETWARE_6 : Novell NetWare 6.x
OPENSERVER_5 : SCO OpenServer 5
OPENSERVER_6 : SCO OpenServer 6
UNIXWARE_7 : SCO UnixWare 7
DARWIN : Mac OS 10.5
DARWIN_64 : Mac OS 10.5 (64 bit)
DARWIN_10 : Mac OS 10.6
DARWIN_10_64 : Mac OS 10.6 (64 bit)
DARWIN_11 : Mac OS 10.7
DARWIN_11_64 : Mac OS 10.7 (64 bit)
DARWIN_12_64 : Mac OS 10.8 (64 bit)
DARWIN_13_64 : Mac OS 10.9 (64 bit)
DARWIN_14_64 : Mac OS 10.10 (64 bit)
DARWIN_15_64 : Mac OS 10.11 (64 bit)
DARWIN_16_64 : Mac OS 10.12 (64 bit)
DARWIN_17_64 : Mac OS 10.13 (64 bit)
DARWIN_18_64 : Mac OS 10.14 (64 bit)
DARWIN_19_64 : Mac OS 10.15 (64 bit)
DARWIN_20_64 : Mac OS 11 (64 bit)
DARWIN_21_64 : Mac OS 12 (64 bit)
DARWIN_22_64 : Mac OS 13 (64 bit)
DARWIN_23_64 : Mac OS 14 (64 bit)
VMKERNEL : VMware ESX 4
VMKERNEL_5 : VMware ESX 5
VMKERNEL_6 : VMware ESX 6
VMKERNEL_65 : VMware ESXi 6.5 AND ESXi 6.7.
VMKERNEL_7 : VMware ESX 7
VMKERNEL_8 : VMware ESX 8
AMAZONLINUX2_64 : Amazon Linux 2 (64 bit)
AMAZONLINUX3_64 : Amazon Linux 3 (64 bit)
CRXPOD_1 : CRX Pod 1
ROCKYLINUX_64 : Rocky Linux (64-bit)
ALMALINUX_64 : AlmaLinux (64-bit)
OTHER : Other Operating System
OTHER_64 : Other Operating System (64 bit)

string
name
Optional

Virtual machine name. If unset, a default name will be generated by the server.

placement
Required

The VM.PlacementSpec structure contains information used to place a virtual machine onto resources within the vCenter inventory.

hardware_version
Optional

The Hardware.Version enumerated type defines the valid virtual hardware versions for a virtual machine. See https://kb.vmware.com/s/article/1003746 (Virtual machine hardware versions (1003746)).
VMX_03 : Hardware version 3, first supported in ESXi 2.5.
VMX_04 : Hardware version 4, first supported in ESXi 3.0.
VMX_06 : Hardware version 6, first supported in WS 6.0.
VMX_07 : Hardware version 7, first supported in ESXi 4.0.
VMX_08 : Hardware version 8, first supported in ESXi 5.0.
VMX_09 : Hardware version 9, first supported in ESXi 5.1.
VMX_10 : Hardware version 10, first supported in ESXi 5.5.
VMX_11 : Hardware version 11, first supported in ESXi 6.0.
VMX_12 : Hardware version 12, first supported in Workstation 12.0.
VMX_13 : Hardware version 13, first supported in ESXi 6.5.
VMX_14 : Hardware version 14, first supported in ESXi 6.7.
VMX_15 : Hardware version 15, first supported in ESXi 6.7 Update 2.
VMX_16 : Hardware version 16, first supported in Workstation 15.0.
VMX_17 : Hardware version 17, first supported in ESXi 7.0.0-0.
VMX_18 : Hardware version 18, first supported in ESXi 7.0 U1.
VMX_19 : Hardware version 19, first supported in ESXi 7.0 U2.
VMX_20 : Hardware version 20, first supported in ESXi 8.0.0.1.

boot
Optional

The Boot.CreateSpec structure describes settings used when booting a virtual machine.

boot_devices
Optional

Boot device configuration. If unset, a server-specific boot sequence will be used.

cpu
Optional

The Cpu.UpdateSpec structure describes the updates to be made to the CPU-related settings of a virtual machine.

memory
Optional

The Memory.UpdateSpec structure describes the updates to be made to the memory-related settings of a virtual machine.

disks
Optional

List of disks. If unset, a single blank virtual disk of a guest-specific size will be created on the same storage as the virtual machine configuration, and will use a guest-specific host bus adapter type. If the guest-specific size is 0, no virtual disk will be created.

nics
Optional

List of Ethernet adapters. If unset, no Ethernet adapters will be created.

cdroms
Optional

List of CD-ROMs. If unset, no CD-ROM devices will be created.

floppies
Optional

List of floppy drives. If unset, no floppy drives will be created.

parallel_ports
Optional

List of parallel ports. If unset, no parallel ports will be created.

serial_ports
Optional

List of serial ports. If unset, no serial ports will be created.

sata_adapters
Optional

List of SATA adapters. If unset, any adapters necessary to connect the virtual machine's storage devices will be created; this includes any devices that explicitly specify a SATA host bus adapter, as well as any devices that do not specify a host bus adapter if the guest's preferred adapter type is SATA.

scsi_adapters
Optional

List of SCSI adapters. If unset, any adapters necessary to connect the virtual machine's storage devices will be created; this includes any devices that explicitly specify a SCSI host bus adapter, as well as any devices that do not specify a host bus adapter if the guest's preferred adapter type is SCSI. The type of the SCSI adapter will be a guest-specific default type.

nvme_adapters
Optional

List of NVMe adapters. If unset, any adapters necessary to connect the virtual machine's storage devices will be created; this includes any devices that explicitly specify a NVMe host bus adapter, as well as any devices that do not specify a host bus adapter if the guest's preferred adapter type is NVMe.

storage_policy
Optional

The VM.StoragePolicySpec structure contains information about the storage policy to be associated with a virtual machine object.