VMware · Schema
VMware vSphere Virtual Machine
Schema for a virtual machine managed by VMware vCenter Server via the vSphere Automation REST API. Represents the full configuration and runtime state of a VM including hardware, guest OS, power state, and placement within the vSphere inventory hierarchy.
Cloud ComputingContainer ManagementHybrid CloudInfrastructureVirtualization
Properties
| Name | Type | Description |
|---|---|---|
| vm | string | Unique identifier of the virtual machine assigned by vCenter Server (e.g., vm-123) |
| name | string | Display name of the virtual machine as shown in the vSphere inventory |
| power_state | string | Current power state of the virtual machine |
| guest_OS | string | Configured guest operating system identifier that determines default hardware settings and VMware Tools compatibility |
| identity | object | Unique identity attributes for the virtual machine |
| hardware | object | Virtual hardware configuration |
| cpu | object | Virtual CPU configuration |
| memory | object | Virtual memory configuration |
| boot | object | Boot configuration for the virtual machine |
| disks | object | Map of virtual disk identifiers to disk configurations |
| nics | object | Map of virtual network adapter identifiers to NIC configurations |
| cdroms | object | Map of CD-ROM identifiers to CD-ROM configurations |
| placement | object | Current placement of the virtual machine within the vSphere inventory |
| guest | object | Guest operating system information reported by VMware Tools |
| tags | array | Tags attached to this virtual machine for classification and organization |
| storage | object | Storage consumption information |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://vmware.com/schemas/vsphere/virtual-machine.json",
"title": "VMware vSphere Virtual Machine",
"description": "Schema for a virtual machine managed by VMware vCenter Server via the vSphere Automation REST API. Represents the full configuration and runtime state of a VM including hardware, guest OS, power state, and placement within the vSphere inventory hierarchy.",
"type": "object",
"required": [
"name",
"guest_OS"
],
"properties": {
"vm": {
"type": "string",
"description": "Unique identifier of the virtual machine assigned by vCenter Server (e.g., vm-123)",
"pattern": "^vm-[0-9]+$",
"examples": ["vm-123", "vm-456"]
},
"name": {
"type": "string",
"description": "Display name of the virtual machine as shown in the vSphere inventory",
"maxLength": 80,
"examples": ["web-server-01", "database-prod-02"]
},
"power_state": {
"type": "string",
"description": "Current power state of the virtual machine",
"enum": ["POWERED_ON", "POWERED_OFF", "SUSPENDED"]
},
"guest_OS": {
"type": "string",
"description": "Configured guest operating system identifier that determines default hardware settings and VMware Tools compatibility",
"enum": [
"RHEL_9_64",
"RHEL_8_64",
"CENTOS_9_64",
"CENTOS_8_64",
"UBUNTU_64",
"DEBIAN_11_64",
"DEBIAN_12_64",
"SLES_15_64",
"ORACLE_LINUX_9_64",
"ORACLE_LINUX_8_64",
"AMAZON_LINUX_3_64",
"PHOTON_64",
"ROCKY_LINUX_64",
"ALMA_LINUX_64",
"WINDOWS_SERVER_2022",
"WINDOWS_SERVER_2019",
"WINDOWS_SERVER_2016",
"WINDOWS_11_64",
"WINDOWS_10_64",
"FREEBSD_14_64",
"OTHER_LINUX_64",
"OTHER_64"
]
},
"identity": {
"type": "object",
"description": "Unique identity attributes for the virtual machine",
"properties": {
"name": {
"type": "string",
"description": "Name of the virtual machine"
},
"instance_uuid": {
"type": "string",
"format": "uuid",
"description": "vCenter-unique instance UUID for the virtual machine"
},
"bios_uuid": {
"type": "string",
"format": "uuid",
"description": "BIOS UUID of the virtual machine (SMBIOS UUID)"
}
}
},
"hardware": {
"type": "object",
"description": "Virtual hardware configuration",
"properties": {
"version": {
"type": "string",
"description": "Virtual hardware compatibility version",
"enum": [
"VMX_21",
"VMX_20",
"VMX_19",
"VMX_18",
"VMX_17",
"VMX_16",
"VMX_15",
"VMX_14",
"VMX_13"
]
},
"upgrade_policy": {
"type": "string",
"description": "Policy for automatic hardware version upgrades",
"enum": ["NEVER", "AFTER_CLEAN_SHUTDOWN", "ALWAYS"]
},
"upgrade_version": {
"type": "string",
"description": "Target hardware version for scheduled upgrade"
}
}
},
"cpu": {
"type": "object",
"description": "Virtual CPU configuration",
"properties": {
"count": {
"type": "integer",
"description": "Number of virtual CPU cores allocated to the VM",
"minimum": 1,
"maximum": 768,
"examples": [2, 4, 8]
},
"cores_per_socket": {
"type": "integer",
"description": "Number of CPU cores per virtual socket, determining the number of visible sockets in the guest OS",
"minimum": 1,
"examples": [1, 2, 4]
},
"hot_add_enabled": {
"type": "boolean",
"description": "Whether CPU hot-add is enabled, allowing CPUs to be added while the VM is powered on"
},
"hot_remove_enabled": {
"type": "boolean",
"description": "Whether CPU hot-remove is enabled, allowing CPUs to be removed while the VM is powered on"
}
}
},
"memory": {
"type": "object",
"description": "Virtual memory configuration",
"properties": {
"size_MiB": {
"type": "integer",
"description": "Memory allocation in mebibytes (MiB)",
"minimum": 4,
"examples": [4096, 8192, 16384, 32768]
},
"hot_add_enabled": {
"type": "boolean",
"description": "Whether memory hot-add is enabled, allowing memory to be added while the VM is powered on"
},
"hot_add_increment_size_MiB": {
"type": "integer",
"description": "Memory hot-add increment granularity in mebibytes"
},
"hot_add_limit_MiB": {
"type": "integer",
"description": "Maximum memory size for hot-add operations in mebibytes"
}
}
},
"boot": {
"type": "object",
"description": "Boot configuration for the virtual machine",
"properties": {
"type": {
"type": "string",
"description": "Boot firmware type",
"enum": ["BIOS", "EFI"]
},
"efi_legacy_boot": {
"type": "boolean",
"description": "Whether EFI legacy boot mode (CSM) is enabled"
},
"delay": {
"type": "integer",
"description": "Delay in milliseconds before boot begins",
"minimum": 0
},
"enter_setup_mode": {
"type": "boolean",
"description": "Whether to enter BIOS/EFI setup screen on next boot"
},
"network_protocol": {
"type": "string",
"description": "Network boot protocol",
"enum": ["IPV4", "IPV6"]
},
"retry_enabled": {
"type": "boolean",
"description": "Whether boot retry is enabled after failure"
},
"retry_delay": {
"type": "integer",
"description": "Delay in milliseconds between boot retries",
"minimum": 0
}
}
},
"disks": {
"type": "object",
"description": "Map of virtual disk identifiers to disk configurations",
"additionalProperties": {
"type": "object",
"description": "Virtual disk configuration",
"properties": {
"label": {
"type": "string",
"description": "Display label of the virtual disk (e.g., Hard disk 1)",
"examples": ["Hard disk 1", "Hard disk 2"]
},
"type": {
"type": "string",
"description": "Type of host bus adapter controller",
"enum": ["IDE", "SCSI", "SATA", "NVME"]
},
"capacity": {
"type": "integer",
"description": "Capacity of the virtual disk in bytes",
"format": "int64",
"minimum": 0
},
"backing": {
"type": "object",
"description": "Disk backing information",
"properties": {
"type": {
"type": "string",
"description": "Type of disk backing",
"enum": ["VMDK_FILE"]
},
"vmdk_file": {
"type": "string",
"description": "Datastore path to the VMDK file (e.g., [datastore1] vm/vm.vmdk)",
"examples": ["[datastore1] web-server-01/web-server-01.vmdk"]
}
}
}
}
}
},
"nics": {
"type": "object",
"description": "Map of virtual network adapter identifiers to NIC configurations",
"additionalProperties": {
"type": "object",
"description": "Virtual Ethernet adapter configuration",
"properties": {
"label": {
"type": "string",
"description": "Display label of the adapter",
"examples": ["Network adapter 1"]
},
"type": {
"type": "string",
"description": "Virtual network adapter emulation type",
"enum": ["E1000", "E1000E", "PCNET32", "VMXNET", "VMXNET2", "VMXNET3"]
},
"mac_type": {
"type": "string",
"description": "MAC address assignment type",
"enum": ["MANUAL", "GENERATED", "ASSIGNED"]
},
"mac_address": {
"type": "string",
"description": "MAC address in colon-delimited format",
"pattern": "^([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}$",
"examples": ["00:50:56:ab:cd:ef"]
},
"state": {
"type": "string",
"description": "Runtime connection state",
"enum": ["CONNECTED", "NOT_CONNECTED"]
},
"start_connected": {
"type": "boolean",
"description": "Whether the adapter connects at VM power on"
},
"backing": {
"type": "object",
"description": "Network backing for the adapter",
"properties": {
"type": {
"type": "string",
"enum": ["STANDARD_PORTGROUP", "DISTRIBUTED_PORTGROUP", "OPAQUE_NETWORK", "HOST_DEVICE"]
},
"network": {
"type": "string",
"description": "Identifier of the backing network"
}
}
},
"allow_guest_control": {
"type": "boolean",
"description": "Whether the guest OS can modify adapter settings"
},
"wake_on_lan_enabled": {
"type": "boolean",
"description": "Whether Wake-on-LAN is enabled"
}
}
}
},
"cdroms": {
"type": "object",
"description": "Map of CD-ROM identifiers to CD-ROM configurations",
"additionalProperties": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"type": {
"type": "string",
"enum": ["IDE", "SATA"]
},
"state": {
"type": "string",
"enum": ["CONNECTED", "NOT_CONNECTED"]
},
"start_connected": {
"type": "boolean"
},
"backing": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["ISO_FILE", "HOST_DEVICE", "CLIENT_DEVICE"]
},
"iso_file": {
"type": "string",
"description": "Datastore path to the ISO file"
}
}
},
"allow_guest_control": {
"type": "boolean"
}
}
}
},
"placement": {
"type": "object",
"description": "Current placement of the virtual machine within the vSphere inventory",
"properties": {
"folder": {
"type": "string",
"description": "Identifier of the VM folder containing this VM"
},
"host": {
"type": "string",
"description": "Identifier of the ESXi host running this VM"
},
"cluster": {
"type": "string",
"description": "Identifier of the cluster containing this VM"
},
"resource_pool": {
"type": "string",
"description": "Identifier of the resource pool for this VM"
},
"datastore": {
"type": "string",
"description": "Identifier of the primary datastore for VM files"
},
"datacenter": {
"type": "string",
"description": "Identifier of the datacenter containing this VM"
}
}
},
"guest": {
"type": "object",
"description": "Guest operating system information reported by VMware Tools",
"properties": {
"name": {
"type": "string",
"description": "Full name of the guest operating system",
"examples": ["Red Hat Enterprise Linux 9 (64-bit)", "Microsoft Windows Server 2022 (64-bit)"]
},
"family": {
"type": "string",
"description": "Guest OS family classification",
"enum": ["LINUX", "WINDOWS", "OTHER"]
},
"host_name": {
"type": "string",
"description": "Hostname of the guest operating system"
},
"ip_address": {
"type": "string",
"description": "Primary IP address of the guest",
"format": "ipv4"
},
"tools_status": {
"type": "string",
"description": "Status of VMware Tools in the guest",
"enum": [
"NOT_INSTALLED",
"NOT_RUNNING",
"OUT_OF_DATE",
"CURRENT"
]
},
"tools_version": {
"type": "string",
"description": "Version of VMware Tools installed",
"examples": ["12.3.5"]
}
}
},
"tags": {
"type": "array",
"description": "Tags attached to this virtual machine for classification and organization",
"items": {
"type": "object",
"properties": {
"tag_id": {
"type": "string",
"description": "Identifier of the attached tag"
},
"category_id": {
"type": "string",
"description": "Identifier of the tag category"
},
"name": {
"type": "string",
"description": "Display name of the tag"
}
}
}
},
"storage": {
"type": "object",
"description": "Storage consumption information",
"properties": {
"committed": {
"type": "integer",
"description": "Total storage space committed to this VM in bytes",
"format": "int64"
},
"uncommitted": {
"type": "integer",
"description": "Total storage space potentially used by this VM in bytes",
"format": "int64"
},
"unshared": {
"type": "integer",
"description": "Total storage space occupied by this VM that is not shared with any other VM in bytes",
"format": "int64"
}
}
}
}
}