用于与网络设备交互的异步多供应商库
netdev的Python项目详细描述
用于与网络设备交互的异步多供应商库
灵感来自netmiko
需要:
- 异步
- 异步ssh
- python>;=3.5
- 皮亚姆
支持:
- 思科IOS
- 思科iOS XE
- 思科IOS XR
- 思科ASA
- 思科NX-OS
- HP Comware(也类似于V1910)
- 富士通刀片式开关
- 米克罗蒂克·鲁特罗斯
- 阿里斯塔EOS
- 杜松子
- 阿鲁巴AOS 6.x
- 阿鲁巴AOS 8.x
- 终端
示例:
与Cisco IOS设备交互的示例:
importasyncioimportnetdevasyncdeftask(param):asyncwithnetdev.create(**param)asios:# Testing sending simple commandout=awaitios.send_command("show ver")print(out)# Testing sending configuration setcommands=["line console 0","exit"]out=awaitios.send_config_set(commands)print(out)# Testing sending simple command with long outputout=awaitios.send_command("show run")print(out)# Testing interactive dialogout=awaitios.send_command("conf",pattern=r'\[terminal\]\?',strip_command=False)out+=awaitios.send_command("term",strip_command=False)out+=awaitios.send_command("exit",strip_command=False,strip_prompt=False)print(out)asyncdefrun():dev1={'username':'user','password':'pass','device_type':'cisco_ios','host':'ip address',}dev2={'username':'user','password':'pass','device_type':'cisco_ios','host':'ip address',}devices=[dev1,dev2]tasks=[task(dev)fordevindevices]awaitasyncio.wait(tasks)loop=asyncio.get_event_loop()loop.run_until_complete(run())