def create_virtual_cdrom_spec(client_factory, datastore, controller_key, file_path, cdrom_unit_number):
 config_spec = client_factory.create('ns0:VirtualDeviceConfigSpec')
 config_spec.operation = 'add'
 cdrom = client_factory.create('ns0:VirtualCdrom')
 cdrom_device_backing = client_factory.create('ns0:VirtualCdromIsoBackingInfo')
 cdrom_device_backing.datastore = datastore
 cdrom_device_backing.fileName = file_path
 cdrom.backing = cdrom_device_backing
 cdrom.controllerKey = controller_key
 cdrom.unitNumber = cdrom_unit_number
 cdrom.key = (-1)
 connectable_spec = client_factory.create('ns0:VirtualDeviceConnectInfo')
 connectable_spec.startConnected = True
 connectable_spec.allowGuestControl = False
 connectable_spec.connected = True
 cdrom.connectable = connectable_spec
 config_spec.device = cdrom
 return config_spec

def create_virtual_cdrom_spec ( client_factory , datastore , controller_key , file_path , cdrom_unit_number ) : config_spec = client_factory . create ( 'ns0:VirtualDeviceConfigSpec' ) config_spec . operation = 'add' cdrom = client_factory . create ( 'ns0:VirtualCdrom' ) cdrom_device_backing = client_factory . create ( 'ns0:VirtualCdromIsoBackingInfo' ) cdrom_device_backing . datastore = datastore cdrom_device_backing . fileName = file_path cdrom . backing = cdrom_device_backing cdrom . controllerKey = controller_key cdrom . unitNumber = cdrom_unit_number cdrom . key = ( - 1 ) connectable_spec = client_factory . create ( 'ns0:VirtualDeviceConnectInfo' ) connectable_spec . startConnected = True connectable_spec . allowGuestControl = False connectable_spec . connected = True cdrom . connectable = connectable_spec config_spec . device = cdrom return config_spec
builds spec for the creation of a new virtual cdrom to the vm .