async def terminate_uhost_instance(ns={}): db = DBPools() async with db.sqlorContext('kboss') as sor: ucloud_user_li = await sor.R('ucloud_users', {'orgid': 'main_user', 'del_flg': '0'}) if ucloud_user_li: uc_client = U_Client({ "project_id": ucloud_user_li[0]['projectid'], "public_key": ucloud_user_li[0]['accesskey'], "private_key": ucloud_user_li[0]['accesskeysecret'], }) else: return { 'status': False, 'msg': 'can not find u cloud user' } try: resp = uc_client.uhost().terminate_uhost_instance({ "Region": ns.get('region'), "Zone": ns.get('Zone'), "UHostId": ns.get('UHostId'), "ReleaseEIP": False if ns.get('ReleaseEIP') == 'false' else True, "ReleaseUDisk": False if ns.get('ReleaseUDisk') == 'false' else True }) return { 'status': True, 'msg': 'delete uhost success', 'data': resp } except exc.UCloudException as e: msg = e if 'Make sure your UHost is SHUTOFF' in str(e): msg = '请关机后再删除' return { 'status': False, 'msg': '%s' % str(msg) } ret = await terminate_uhost_instance(params_kw) return ret