# Data Object - VirtualController(vim.vm.device.VirtualController)

Extended by
  VirtualIDEController, VirtualNVDIMMController, VirtualNVMEController, VirtualPCIController, VirtualPS2Controller, VirtualSATAController, VirtualSCSIController, VirtualSIOController, VirtualUSBController, VirtualUSBXHCIController
Extends
  VirtualDevice
Since
  2.0

## Data Object Description

VirtualController is the base data object type for a device controller in a virtual machine. VirtualController extends VirtualDevice to inherit general information about a controller (such as name and description), and to allow controllers to appear in a generic list of virtual devices.

Properties

Name | Type | Description
--- | --- | ---
busNumber | xsd:int | Bus number associated with this controller.
device* | xsd:int[] | List of devices currently controlled by this controller. Each entry contains the key property of the corresponding device object.
Properties inherited from VirtualDevice
backing, connectable, controllerKey, deviceInfo, key, slotInfo, unitNumber
Properties inherited from DynamicData
None

*Need not be set
Show WSDL type definition
<complexType xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VirtualController"> <complexContent> <extension base="vsan:VirtualDevice"> <sequence> <element name="busNumber" type="xsd:int"/> <element name="device" type="xsd:int" minOccurs="0" maxOccurs="unbounded"/> </sequence> </extension> </complexContent> </complexType>