Virtual machines can be configured like physical computers.

You can change the guest operating system settings after installing VMware Tools. You can add and remove virtual machines from the vCenter Server inventory. You can also move virtual machines from one host or storage location to another.

Filtering Virtual Machines

You can retrieve commonly used information about virtual machines that match specific criteria. You can retrieve information for up to 4000 virtual machines in a single vCenter Server instance.

You can retrieve a list of virtual machines in a single vCenter Server instance by filtering the results based on a specific requirement. For example, you can use as filter criteria the power state of the virtual machines, or the host, cluster, data center, folder, or resource pool that must contain the virtual machines. In case you specify multiple filter criteria, only virtual machines that match all filter criteria are returned.

Installing VMware Tools

VMware Tools is a set of drivers and utilities that you install on the guest operating system of a virtual machine to enhance the performance of the guest OS. VMware Tools also improves the management of the virtual machine. For each guest OS, VMware provides a specific binary-compatible version of VMware Tools.

Before you install VMware tools, you must install and boot the guest operating system.

To mount and unmount the VMware Tools installer CD as a CD-ROM for the guest operating system, use the connect and disconnect operations of the tools/installer service.

To mount the VMware Tools, use the POST https://<api_host>/api/vcenter/vm/<vm>/tools/installer?action=connect HTTP request. On Windows guest operating systems with activated Autorun feature, this request automatically initiates the installation of the VMware Tools and requires a user input to complete. On other guest operating systems, this method only mounts the VMware Tools disk image on the virtual CD/DVD drive and the user is required to do some guest OS-specific actions. For example, for some Linux distributions, the user is required to extract the contents of the VMware Tools installation archive and run the installer.

To unmount the VMware Tools installer CD image from the virtual CD/DVD drive, use the POST https://<api_host>/api/vcenter/vm/<vm>/tools/installer?action=disconnect HTTP request.

To monitor the status of the VMware Tools installation, you can check the Tools.Info.version-status and Tools.Info.run-state from Tools.get.

To upgrade the VMware Tools, use the POST https://<api_host>/api/vcenter/vm/<vm>/tools?action=upgrade HTTP request. The request takes as arguments the ID of the virtual machine on which the VMware Tools is installed and running. Use the command_line_options string to specify the command-line options that you want to pass to the installer to modify the tools installation procedure. You can monitor the upgrade operation in the same way you monitor the installation operation.

To update the properties of the VMware Tools, use the PATCH https://<api_host>/api/vcenter/vm/<vm>/tools HTTP request. Pass as argument a VmToolsUpdateSpec data structure and define the tools upgrade policy settings for the virtual machine by using the VmToolsUpgradePolicy enumerated type.

Performing Virtual Machine Power Operations

You can start, stop, reboot, and suspend virtual machines by using the operations of the Power service.

A virtual machine can have one of the following power states:
  • POWERED_ON - Indicates that the virtual machine is running. If a guest operating system is not currently installed, you can perform the guest OS installation in the same way as for a physical machine.
  • POWERED_OFF - Indicates that the virtual machine is not running. You can still update the software on the physical disk of the virtual machine, which is impossible for physical machines.
  • SUSPENDED - Indicates that the virtual machine is paused and can be resumed. This state is the same as when a physical machine is in standby or hibernate state.

To perform a power operation on a virtual machine, you can use one of the operations of the Power service. Before you use one of the operations to change the power state of a virtual machine, you must first check the current state of the virtual machine by using the GET https://<api_host>/api/vcenter/vm/<vm>/power HTTP request. Pass as argument the virtual machine identifier.

Following is a list if the power operations, which you can use with a POST HTTP request:
  • power?action=start - Powers on a powered off or suspended virtual machine. The method takes as argument the virtual machine identifier.
  • power?action=stop - Powers off a powered on or suspended virtual machine. The method takes as argument the virtual machine identifier.
  • power?action=suspend - Pauses all virtual machine activity for a powered on virtual machine. The method takes as argument the virtual machine identifier.
  • power?action=reset - Shuts down and restarts the guest operating system without powering off the virtual machine. Although this method functions as a stop operation that is followed by a start operation, the two operations are atomic with respect to other clients, meaning that other power operations cannot be performed until the reset operation completes.

Registering and Unregistering Virtual Machines

When you create a virtual machine, it becomes part of the vCenter Server inventory and is registered to the host and vCenter Server. If you remove a virtual machine from the vCenter Server inventory, it becomes unusable. Virtual machine files remain in the same datastore but you cannot power on the virtual machine when it is not registered in the inventory.

You can temporarily remove a virtual machine from vCenter Server by unregistering it. Virtual machine files are not deleted from the datastore. Though all high-level information about the virtual machine such as statistics, resource pool association, permissions, and alarms, is removed from the host and the vCenter Server instance. To remove a virtual machine from the inventory, use the POST https://<api_host>/api/vcenter/vm/<vm>?action=unregister HTTP request and specify the ID of the virtual machine.

To restore a virtual machine to the vCenter Server inventory, and make it usable again, use the POST https://<api_host>/api/vcenter/vm/<vm>?action=register HTTP request. You pass as argument a VMRegisterSpec data structure that contains information about the current location of the virtual machine files on the datastore. You can also define the location within the vCenter Server inventory, for example, the cluster, folder, or the host, where you want to register the virtual machine. After registration, the virtual machine takes its resources (CPU, memory, and so on) from the resource pool or host to which it is registered.

If you no longer need a virtual machine and you want to free up datastore space, you can permanently delete a virtual machine from the inventory. Use the DELETE https://<api_host>/api/vcenter/vm/<vm> HTTP request and specify the ID of the virtual machine. Upon a successful completion of the operation, the virtual machine files are removed from the datastore, including the configuration file and the virtual disk files.