如何使用Junos PyEZ配置表来提取所有接口单元?

时间:2016-11-13 11:42:25

标签: python pyez

我试图使用PyEZ InterfaceTable来提取接口配置。我的问题是,每个接口只能看到一个单元,而实际上在某些接口上配置了多个单元。

脚本

from jnpr.junos import Device
from jnpr.junos.resources.interface import InterfaceTable

with Device(host=HOST_TEST, user='lab', passwd='lab123') as dev:
    tabl = InterfaceTable(dev)
    tabl.get()

    print(tabl.keys())
    print(tabl['ge-0/0/4'].unit_name)

在我的情况下,我在ge-0/0/4界面上有2个单位

lab@srx# show interfaces ge-0/0/4  
vlan-tagging;
unit 108 {
    vlan-id 108;
    family inet {
        address 172.20.108.1/24;
    }
}
unit 109 {
    vlan-id 109;
    family inet {
        address 172.20.109.1/24;
    }
}

但结果只给了我一个单位(在这个输出的第二行):

['ge-0/0/0', 'ge-0/0/1', 'ge-0/0/2', 'ge-0/0/3', 'ge-0/0/4', 'lo0']
108

理想情况下,我希望与所有单位合作,并在每个单位下使用一些配置选项(例如家庭和地址)。

1 个答案:

答案 0 :(得分:0)

请参阅https://github.com/vnitinv/pyez-examples/blob/master/9_user_defined_table.py

上的“用户自定义表格”示例