Nornir Netmiko 查看支持的设备类型

在NetDevOps开发写Nornir脚本时,会碰到多种多样的设备类型,需要经常查找Nornir支持的设备类型。每次使用时都需要在网络上搜索,太浪费时间了。

后来发现Nornir使用Netmiko,所以只需要查看netmiko支持的设备类型即可。

记录下查看方法:

请确保已经安装netmiko后,再查找 ssh_dispatcher.py 文件:

    Centos路径:
        /opt/rh/rh-python38/root/usr/local/lib/python3.8/site-packages/netmiko/ssh_dispatcher.py

     Ubuntu路径:
        /usr/local/lib/python3.8/dist-packages/netmiko/ssh_dispatcher.py

    Windows路径:
        C:\Users\Admin\AppData\Local\Programs\Python\Python38\Lib\site-packages\netmiko\ssh_dispatcher.py

不同的系统路径不同,Linux可查找文件名 :sudo find / -name ssh_dispatcher.py 



查看 CLASS_MAPPER_BASE 下面的内容:
# The keys of this dictionary are the supported device_types
CLASS_MAPPER_BASE = {
    "a10": A10SSH,
    "accedian": AccedianSSH,
    "adtran_os": AdtranOSSSH,
    "alcatel_aos": AlcatelAosSSH,
    "alcatel_sros": NokiaSrosSSH,
    "allied_telesis_awplus": AlliedTelesisAwplusSSH,
    "apresia_aeos": ApresiaAeosSSH,
    "arista_eos": AristaSSH,
    "aruba_os": ArubaSSH,
    "aruba_osswitch": HPProcurveSSH,
    "aruba_procurve": HPProcurveSSH,
    "avaya_ers": ExtremeErsSSH,
    "avaya_vsp": ExtremeVspSSH,

其中 "aruba_os"之类的, 就是Nornir支持的设备类型啦。

使用以下脚本也可以:

from netmiko import platforms

for i in platforms:
    print(i)

ssh_platforms = [i for i in platforms if 'telnet' not in i and 'serial' not in i and 'ssh' not in i]
ssh_platforms.remove('abc')
ssh_platforms.remove('autodetect')
ssh_platforms.remove('terminal_server')

telnet_platforms = [i for i in platforms if 'telnet' in i]
serial_platforms = [i for i in platforms if 'serial' in i]

print(ssh_platforms)
print(len(ssh_platforms))
print(telnet_platforms)
print(len(telnet_platforms))
print(serial_platforms)

引用:

Netmiko官方文档

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值