def get_CDs(self): from XenXenXenSe.VBD import VBD try: vbds = self.session.xenapi.VM.get_VBDs(self.vm) vbd_list = [] for vbd in vbds: thisVBD = VBD(self.session, vbd) if thisVBD.get_type() == "CD": vbd_list.append(thisVBD) return vbd_list except Exception as e: print("VM.get_CDs Exception", e) return None
async def vbd_delete(cluster_id: str, vbd_uuid: str): """ Destroy VBD by UUID """ session = create_session(cluster_id) vbd: VBD = VBD.get_by_uuid(session, vbd_uuid) if vbd is not None: ret = {"success": True, "data": vbd.destroy()} else: ret = {"success": False} session.xenapi.session.logout() return ret
async def vbd_eject_vdi(cluster_id: str, vbd_uuid: str): """ Eject VDI from VBD """ session = create_session(cluster_id) vbd: VBD = VBD.get_by_uuid(session, vbd_uuid) if vbd is not None: ret = {"success": vbd.eject()} else: ret = {"success": False} session.xenapi.session.logout() return ret
def get_VBDs(self): from XenXenXenSe.VBD import VBD try: vbds = self.session.xenapi.VM.get_VBDs(self.vm) vbd_list = [] for vbd in vbds: vbd_list.append(VBD(self.session, vbd)) return vbd_list except Exception as e: print("VM.get_VBDs Exception", e) return None
async def vbd_list(cluster_id: str): """ Get VBD by UUID """ session = create_session(cluster_id) vbds = VBD.get_all(session) vbd_list = [] for vbd in vbds: vbd_list.append(vbd.serialize()) if vbds is not None: ret = {"success": True, "data": vbd_list} else: ret = {"success": False} session.xenapi.session.logout() return ret
async def vbd_insert_vdi_by_uuid(cluster_id: str, vbd_uuid: str, vdi_uuid: str): """ Insert VDI into VBD by UUID """ session = create_session(cluster_id) vdi: VDI = VDI.get_by_uuid(session, vdi_uuid) if vdi is None: ret = {"success": False} session.xenapi.session.logout() return ret vbd: VBD = VBD.get_by_uuid(session, vbd_uuid) if vbd is not None: ret = {"success": vbd.insert(vdi)} else: ret = {"success": False} session.xenapi.session.logout() return ret