了解 Junos PyEZ 表和视图
Junos PyEZ 表和视图是简单的 YAML 定义,使您能够:
从 Junos 设备提取操作信息
检索 Junos 设备的配置数据
配置 Junos 设备
表和视图提供了一种简单而高效的方法,可从复杂的操作命令输出或配置数据中提取信息,并将其映射到 Python 数据结构。表和视图使用 YAML 定义,因此无需复杂的编码来创建自己的代码。要提取信息,请使用预定义表或自定义表将命令输出或配置数据映射到由一组物品组成的表。每个表项目表示数据记录,并具有唯一密钥。表还会引用特定视图,该视图用于将数据中的标记名称或字段映射到 Python 数据结构中的可变名称。
表 1 概述了不同类型的表,并注明了首先支持每个类型的 Junos PyEZ 版本。Junos PyEZ 操作 (op) 表从操作命令输出中选择项目。Op 表可以执行 RPC 和解析结构化输出 (XML),或者可以执行命令和解析非结构化输出(CLI 格式的文本)。Junos PyEZ 配置表定义结构化配置资源,可在既定配置数据库的指定层次结构中选择或配置语句。
定义属性的 get
配置表只能检索配置数据。定义属性的 set
配置表既可以检索也可修改相应视图中定义的配置语句。将配置表添加至 Junos PyEZ 框架时,Junos PyEZ 会动态创建资源配置类,使您可以通过编程方式在设备上配置资源。
表类型 |
子集 |
描述 |
Junos PyEZ 版本 |
---|---|---|---|
操作表 |
具有结构化输出的 RPC |
在设备上执行 RPC 并返回结构化 XML 输出 |
1.0 |
具有非结构化输出的命令 |
在设备上执行 CLI 命令或在 FPC 上执行 vty 命令并返回非结构化 CLI 格式的输出 |
2.3 |
|
配置表 |
|
检索配置数据 |
1.2 |
|
检索配置数据或配置在相应视图中定义的语句 |
2.0 |
例如,以下操作表将检索带有 选项的 RPC no-resolve
输出get-arp-table-information
,该选项与 Junos OS CLI 中的命令对应show arp no-resolve
。此表从 XML 输出中arp-table-entry
提取元素。对应视图将用户定义的字段名称映射到 XPath 表达式,与 Junos XML 输出中的数据位置对应,从每个arp-table-entry
项目中选择三个字段。在这个案例中,mac-address
ip-address
,和interface-name
是儿童元素。arp-table-entry
--- ArpTable: rpc: get-arp-table-information args: no-resolve: True item: arp-table-entry key: mac-address view: ArpView ArpView: fields: mac_address: mac-address ip_address: ip-address interface_name: interface-name
有关创建和使用操作表和视图的信息,请参阅以下主题:
有关创建和使用配置表和视图的信息,请参阅以下主题:
有关在 Junos PyEZ 应用程序中加载或导入自定义表和视图的信息或将数据保存到文件中的信息,请参阅以下主题: