了解 Python 设备文件中的 Junos 快照管理员
Python 中的 Junos 快照管理员 (jsnapy) 设备文件是一个 YAML 文件,其中包含多个 Junos OS 设备的 IP 地址、组名和登录凭据。文件中的 IP 地址和登录凭据可以按用户定义的条件(如型号、设备类型或位置)进行分组。设备文件没有命名限制,因此可以创建多个设备文件,并且其中任何一个都可以由 jsnapy 配置文件引用。
Python 设备文件元素中的 Junos 快照管理员
Jsnapy 设备文件是使用与您的网络相关的关键字和值的组合构建的。与任何 YAML 文件一样,结构是通过缩进(一个或多个空格)派生的,序列项用短划线 (-) 表示,键值对用冒号 (:) 分隔。用于标识要联系的 Junos OS 主机的 IP 地址单独显示在行上,前面是短划线 (-),后跟冒号 (:);例如:
- 192.0.2.1:
如果要在设备文件中创建设备组,可以单独在行上输入组名,后跟冒号 (:);例如:
MX_Devices:
组名后列出的主机 IP 地址被视为此组的一部分,直到在设备文件中遇到下一个组名。这允许通过引用配置文件的 hosts 部分中的组名来联系较小的组。如果设备文件中未配置组名,则每当配置文件中引用该特定设备文件时,都会联系整个设备列表。
登录凭据会跟随每个 IP 地址,除非在 jsnapy 服务器和 Junos OS 主机之间建立了 SSH 信任关系。登录凭据分别使用关键字 username:
和 passwd:
指定该特定主机 IP 所需的用户名和密码。
只需以哈希 (#) 开头注释,即可将注释插入到任何位置的设备文件中;例如, #This is a comment
.
Jsnapy 设备文件应与命令一起使用 jsnapy
的配置文件存储在同一目录中。
以下注释示例显示了 jsnapy 设备文件的结构。
示例设备文件
user@host:~> cat devices_example.yml #Junos Snapshot Administrator in Python – Example Devices File MX_Devices: #This is a group name. - 192.0.2.33: #IP address of a Junos OS host username: username passwd: password - 192.0.2.65: username: yourname passwd: yourpassword QFX: #<-- Group name - 192.0.2.12: username: switchuser password: password1 - 198.51.100.10: username: switchuser passwd: password1 Finance: - 192.0.2.36: username: financeuser passwd: 1password - 192.0.2.11: username: financeuser passwd: 1password RandD: - 198.51.100.1 #No login credentials needed for these hosts because of existing SSH trust relationships. - 198.51.100.254