async def get_cd_insert_inurl(cluster_id: str, vm_uuid: str, vdi_uuid: str): session = create_session(cluster_id) vm: VM = VM.get_by_uuid(session, vm_uuid) if vm is not None: newVBD = vm.get_CD() if newVBD is not None: from XenXenXenSe.VDI import VDI vdi: VDI = VDI.get_by_uuid(session, vdi_uuid) if vdi is not None: success = newVBD.insert(vdi) if success: ret = {"success": success, "data": vdi.serialize()} else: ret = {"success": success} else: ret = {"success": False} else: ret = {"success": False} else: ret = {"success": False} session.xenapi.session.logout() return ret
async def vdi_get_by_uuid(cluster_id: str, vdi_uuid: str): """ Get VDI by UUID """ session = create_session(cluster_id) vdi: VDI = VDI.get_by_uuid(session, vdi_uuid) if vdi is not None: ret = {"success": True, "data": vdi.serialize()} else: ret = {"success": False} session.xenapi.session.logout() return ret
def get_VDI(self) -> VDI: """ get VDI attached to the specified VBD """ try: vdi = self.session.xenapi.VBD.get_VDI(self.vbd) if vdi is not None: return VDI(self.session, vdi) else: return None except Exception as e: print("VBD.get_VDI Exception", e) return None
async def vdi_get_by_uuid(cluster_id: str, vdi_uuid: str): """ Delete SR by UUID """ session = create_session(cluster_id) vdi: VDI = VDI.get_by_uuid(session, vdi_uuid) if vdi is not None: ret = {"success": vdi.destroy()} else: ret = {"success": False} session.xenapi.session.logout() return ret
def get_VDIs(self): try: vdis = self.session.xenapi.SR.get_VDIs(self.sr) vdi_list = [] for vdi in vdis: vdi_list.append(VDI(self.session, vdi)) return vdi_list except Exception as e: print("SR.get_VDIs Exception", e) return
async def vdi_list(cluster_id: str): """ Get VDI by UUID """ session = create_session(cluster_id) vdis = VDI.get_all(session) vdi_list = [] for vdi in vdis: vdi_list.append(vdi.serialize()) if vdis is not None: ret = {"success": True, "data": vdi_list} else: ret = {"success": False} session.xenapi.session.logout() return ret
async def insert_cd_inurl_name(cluster_id: str, iso_name: str): """ Find VDI by Name """ session = create_session(cluster_id) vdis = VDI.get_by_name(session, iso_name) print(vdis) if vdis is not None: vdis_list = [] for vdi in vdis: vdis_list.append(vdi.serialize()) ret = {"success": True, "data": vdis_list} else: ret = {"success": False} session.xenapi.session.logout() return ret
async def find_VDI_by_name(cluster_id: str, args: NameArgs): """ Find VDI by Name """ session = create_session(cluster_id) name = args.name vdis = VDI.get_by_name(session, name) if vdis is not None: vdis_list = [] for vdi in vdis: vdis_list.append(vdi.serialize()) ret = {"success": True, "data": vdis_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