了解 Junos PyEZ 表和视图
总结 使用 Junos PyEZ 表和视图从 Junos 设备提取操作或配置数据,或者以编程方式配置 Junos 设备上的特定资源。
Junos PyEZ 表和视图是简单的 YAML 定义,使您能够:
从 Junos 设备提取操作信息
从 Junos 设备检索配置数据
配置 Junos 设备
表和视图提供了一种简单有效的方法,可以从复杂的操作命令输出或配置数据中提取信息,并将其映射到 Python 数据结构。表和视图是使用 YAML 定义的,因此创建自己的表和视图不需要复杂的编码。若要提取信息,请使用预定义或自定义表将命令输出或配置数据映射到由项集合组成的表。每个表项表示一条数据记录,并具有唯一的键。表还引用特定视图,该视图用于将数据中的标记名称或字段映射到 Python 数据结构中的变量名称。
表 1 概述了不同类型的表,并指出了首次支持每种类型的 Junos PyEZ 版本。Junos PyEZ 操作 (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 |
例如,以下操作表使用选项no-resolve
检索 RPC 的get-arp-table-information
输出,该选项对应于 show arp no-resolve
Junos OS CLI 中的命令。该表从 XML 输出中提取arp-table-entry
元素。相应的视图通过将用户定义的字段名称映射到与该数据在 Junos XML 输出中的位置相对应的 XPath 表达式,从每个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 应用程序中加载或导入自定义表和视图的信息,或者有关将数据保存到文件的信息,请参阅以下主题: