# Data Object - VirtualDeviceConfigSpec(vim.vm.device.VirtualDeviceSpec)

Property of
  VirtualMachineConfigSpec, VirtualMachineRelocateSpec
Extended by
  VirtualDiskConfigSpec
Extends
  DynamicData
See also
  VirtualDevice, VirtualDeviceConfigSpecBackingSpec, VirtualDeviceConfigSpecFileOperation, VirtualDeviceConfigSpecOperation, VirtualMachineProfileSpec

## Data Object Description

The VirtualDeviceSpec data object type encapsulates change specifications for an individual virtual device. The virtual device being added or modified must be fully specified.

Properties

Name | Type | Description
--- | --- | ---
backing* | VirtualDeviceConfigSpecBackingSpec | BackingInfo configuration options. Each BackingSpec corresponds to a BackingInfo object. The member backing refers to the device.backing. Since vSphere API 6.5
device | VirtualDevice | Device specification, with all necessary properties set.
fileOperation* | VirtualDeviceConfigSpecFileOperation | Type of operation being performed on the backing of the specified virtual device. If no file operation is specified in the VirtualDeviceSpec, then any backing filenames in the VirtualDevice must refer to files that already exist. The "replace" and "delete" values for this property are only applicable to virtual disk backing files.
operation* | VirtualDeviceConfigSpecOperation | Type of operation being performed on the specified virtual device. If no operation is specified, the spec. is ignored.
profile* | VirtualMachineProfileSpec[] | Virtual Device Profile requirement. Profiles are solution specifics. Storage Profile Based Management(SPBM) is a vSphere server extension. The API users who want to provision VMs using Storage Profiles, need to interact with SPBM service. This is an optional parameter and if user doesn't specify profile, the default behavior will apply. Since vSphere API 5.5
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="VirtualDeviceConfigSpec"> <complexContent> <extension base="vsan:DynamicData"> <sequence> <element name="operation" type="vsan:VirtualDeviceConfigSpecOperation" minOccurs="0"/> <element name="fileOperation" type="vsan:VirtualDeviceConfigSpecFileOperation" minOccurs="0"/> <element name="device" type="vsan:VirtualDevice"/> <element name="profile" type="vsan:VirtualMachineProfileSpec" minOccurs="0" maxOccurs="unbounded"/> <element name="backing" type="vsan:VirtualDeviceConfigSpecBackingSpec" minOccurs="0"/> </sequence> </extension> </complexContent> </complexType>