async def vif_set_qos_speed_by_uuid(cluster_id: str, vif_uuid: str, speed: str): """ Set VIF QoS Speed by UUID """ session = create_session(cluster_id) vif: VIF = VIF.get_by_uuid(session, vif_uuid) speedNum = speed try: speedNum = int(speed) except ValueError: return {"success": False} if speedNum <= 0: a = vif.set_qos_type("") b = vif.set_qos_info({}) ret = {"success": a and b} else: if vif is not None: if vif.get_qos_type() != "ratelimit": vif.set_qos_type("ratelimit") ret = {"success": vif.set_qos_info({"kbps": speed})} else: ret = {"success": False} session.xenapi.session.logout() return ret
async def vif_get_by_uuid(cluster_id: str, vif_uuid: str): """ Get VIF by UUID """ session = create_session(cluster_id) vif: VIF = VIF.get_by_uuid(session, vif_uuid) if vif is not None: ret = {"success": True, "data": vif.serialize()} else: ret = {"success": False} session.xenapi.session.logout() return ret
async def vif_get_qos_speed_by_uuid(cluster_id: str, vif_uuid: str): """ Set VIF QoS Type by UUID """ session = create_session(cluster_id) vif: VIF = VIF.get_by_uuid(session, vif_uuid) if vif is not None: ret = {"success": True, "data": vif.get_qos_info()['kbps']} else: ret = {"success": False} session.xenapi.session.logout() return ret
async def vif_list(cluster_id: str): """ Get All from Storage Repos """ session = create_session(cluster_id) vifs = VIF.get_all(session) santilized_vifs = [] for vif in vifs: santilized_vifs.append(vif.serialize()) ret = {"success": True, "data": santilized_vifs} session.xenapi.session.logout() return ret
def get_VIFs(self): from XenXenXenSe.VIF import VIF try: vifs = self.session.xenapi.VM.get_VIFs(self.vm) vif_list = [] for vif in vifs: thisVIF = VIF(self.session, vif) vif_list.append(thisVIF) return vif_list except Exception as e: print("VIF.get_VIFs Exception", e) return None