def query_staticroute(serial): cli = "show ip static-route" query = cli_base(serial, cli) response = json.loads(query.send().text) temp = response['ins_api']['outputs']['output']['body']['TABLE_vrf_all']['ROW_vrf_all']['TABLE_each_vrf']['ROW_each_vrf'] # print(temp) if isinstance(temp,dict): temp = [temp] static = response['ins_api']['outputs']['output']['body']['TABLE_vrf_all']['ROW_vrf_all'] # print(static) # print(type(static)) del static["TABLE_each_vrf"] # print(static) a = [static] # print(a) a.extend(temp) # print(a) else: static = response['ins_api']['outputs']['output']['body']['TABLE_vrf_all']['ROW_vrf_all'] del static["TABLE_each_vrf"] # print(static) a = [static] # print(a) a.extend(temp) # print(a) return a
def query_allip(serial): cli = "show ip interface brief" # 命令 query = cli_base(serial, cli) # cli_base()形成查询环境 response = json.loads(query.send().text) # 发送请求 request data = response['ins_api']['outputs']['output']['body']['TABLE_intf'][ 'ROW_intf'] return data
def query_route(serial): cli = "show ip route" query = cli_base(serial, cli) response = json.loads(query.send().text) data = response['ins_api']['outputs']['output']['body']['TABLE_vrf'][ 'ROW_vrf']['TABLE_addrf']['ROW_addrf'] return data
def query_onevlan(serial, id): cli = "show vlan id " + id b = cli_base(serial, cli) response = json.loads(b.send().text) onevlan = response['ins_api']['outputs']['output']['body'][ 'TABLE_vlanbriefid']['ROW_vlanbriefid'] return onevlan
def query_vlan(serial): cli = "show vlan b" a = cli_base(serial, cli) response = json.loads(a.send().text) vlanbri = response['ins_api']['outputs']['output']['body'][ 'TABLE_vlanbriefxbrief']['ROW_vlanbriefxbrief'] return vlanbri
def query_interface_all(serial): cli = "show interface brief" query = cli_base(serial, cli) response = json.loads(query.send().text) data = response['ins_api']['outputs']['output']['body']['TABLE_interface'][ 'ROW_interface'] return data
def query_oneip(serial, eth): # e1/5 cli = "show run interface " + eth # 命令 query = cli_base(serial, cli) # cli_base()形成查询环境 response = json.loads(query.send().text) # 发送请求 request data = response['ins_api']['outputs']['output']['body']['nf:filter'][ 'm:configure']['m:terminal']['interface']['__XML__PARAM__interface'] return data
def query_allintru(serial): cli = "show int trunk" query = cli_base(serial, cli) response = json.loads(query.send().text) allint1 = response['ins_api']['outputs']['output']['body'][ 'TABLE_allowed_vlans']['ROW_allowed_vlans'] allint2 = response['ins_api']['outputs']['output']['body'][ 'TABLE_vtp_pruning']['ROW_vtp_pruning'] allint3 = response['ins_api']['outputs']['output']['body'][ 'TABLE_stp_forward']['ROW_stp_forward'] allint4 = response['ins_api']['outputs']['output']['body'][ 'TABLE_interface']['ROW_interface'] for i in range(0, len(allint1)): allint1[i].update(allint2[i]) allint1[i].update(allint3[i]) allint1[i].update(allint4[i]) return allint1
def query_oneintru(serial, eth): cli = "show int " + eth + " trunk" query = cli_base(serial, cli) response = json.loads(query.send().text) print(response) one1 = response['ins_api']['outputs']['output']['body'][ 'TABLE_allowed_vlans']['ROW_allowed_vlans'] print(one1) one2 = response['ins_api']['outputs']['output']['body'][ 'TABLE_vtp_pruning']['ROW_vtp_pruning'] one3 = response['ins_api']['outputs']['output']['body'][ 'TABLE_stp_forward']['ROW_stp_forward'] one4 = response['ins_api']['outputs']['output']['body']['TABLE_interface'][ 'ROW_interface'] one = {} one.update(one1) one.update(one2) one.update(one3) one.update(one4) print(one) return one
def query_onemac(serial, *eth): if len(eth) == 0: cli = "show int mac" else: cli = "show int " + eth[0] + " mac" query = cli_base(serial, cli) response = json.loads(query.send().text) onemac = response['ins_api']['outputs']['output']['body']['TABLE_interface']['ROW_interface'] if len(eth) != 0: li = [] li.append(onemac) return li EthernetLi = [] VlanLi = [] for s in onemac: str = s['interface'] if str[0] == 'E' and str[1] == 't' and str[2] == 'h': EthernetLi.append(s) elif str[0] == 'V' and str[1] == 'l' and str[2] == 'a': VlanLi.append(s) li = [] li.append(EthernetLi) li.append(VlanLi) return li