async def describe_firewall(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.unet().describe_firewall({ 'Region': ns.get('region'), 'ResourceType': ns.get('ResourceType'), 'ResourceId': ns.get('ResourceId'), 'Limit': int(ns.get('limit')) if ns.get('limit') else 50, 'Offset': int(ns.get('offset')) if ns.get('offset') else 0 }) if resp['TotalCount'] > 0: new_firewall_li = [] for firewall in resp['DataSet']: if firewall['GroupId'] in ['98696', '98697']: new_firewall_li.append(firewall) if ns.get('orgid') in firewall['Name']: firewall['Name'] = firewall['Name'].split('0_____0')[-1] new_firewall_li.append(firewall) resp['DataSet'] = new_firewall_li resp['TotalCount'] = len(new_firewall_li) return { 'status': True, 'msg': 'get firewall success', 'data': resp.get('DataSet') } except exc.UCloudException as e: return { 'status': False, 'msg': 'get firewall failed, %s' % str(e) } ret = await describe_firewall(params_kw) return ret