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
View JSON Schema on GitHub

JSON Schema

vmware-virtual-machine-schema.json Raw ↑
{
  "$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"
        }
      }
    }
  }
}