junipernetworks.junos.junos_command 模块 – 在 Juniper JUNOS 设备上运行任意命令
注意
此模块是 junipernetworks.junos 集合 (版本 9.1.0) 的一部分。
如果您使用的是 ansible
包,则可能已经安装了此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install junipernetworks.junos
。您需要其他需求才能使用此模块,有关详细信息,请参阅 需求。
要在剧本中使用它,请指定: junipernetworks.junos.junos_command
。
junipernetworks.junos 1.0.0 中的新增功能
概要
将一组任意命令发送到 JUNOS 节点并返回从设备读取的结果。此模块包含一个参数,该参数将导致模块在返回之前等待特定条件,或者如果未满足条件则超时。
需求
执行此模块的主机需要以下需求。
jxmlease
ncclient (>=v0.5.2)
参数
参数 |
注释 |
---|---|
要发送到远程 junos 设备的命令。返回命令的输出结果。如果提供了 wait_for 参数,则模块不会返回,直到满足条件或超过 retries 次数。 |
|
在序列化设备输出时使用的编码方案。这处理如何正确理解输出并将条件路径应用于结果集。对于 rpcs 参数,默认显示为 选项
|
|
配置以秒为单位的间隔,用于在命令重试之间等待。如果命令未通过指定的条件,则间隔指示在再次尝试命令之前等待多长时间。 默认值: |
|
match 参数与 wait_for 参数一起使用,用于指定匹配策略。有效值为 选项
|
|
指定在命令被认为失败之前应尝试的次数。该命令在每次重试时都在目标设备上运行,并根据 wait_for 条件进行评估。 默认值: |
|
|
|
指定要从命令输出中评估的内容以及要应用的条件。此参数将导致任务等待特定条件为真才能继续。如果在配置的重试次数内条件不为真,则任务失败。请参阅示例。 |
备注
注意
此模块要求在被管理的远程设备上启用 netconf 系统服务。
针对 vSRX JUNOS 版本 15.1X49-D15.4、vqfx-10000 JUNOS 版本 15.1X53-D60.4 进行了测试。
推荐连接方式为
netconf
。请参阅 Junos OS 平台选项。此模块也适用于
network_cli
连接和local
连接(适用于传统剧本)。有关使用 CLI 和 netconf 的信息,请参阅:ref:`Junos OS 平台选项指南 <junos_platform_options>`
有关使用 Ansible 管理网络设备的更多信息,请参阅:ref:`Ansible 网络指南 <network_guide>`
有关使用 Ansible 管理 Juniper 网络设备的更多信息,请访问 https://ansible.org.cn/ansible-juniper。
示例
- name: run show version on remote devices
junipernetworks.junos.junos_command:
commands: show version
- name: run show version and check to see if output contains Juniper
junipernetworks.junos.junos_command:
commands: show version
wait_for: result[0] contains Juniper
- name: run multiple commands on remote nodes
junipernetworks.junos.junos_command:
commands:
- show version
- show interfaces
- name: run multiple commands and evaluate the output
junipernetworks.junos.junos_command:
commands:
- show version
- show interfaces
wait_for:
- result[0] contains Juniper
- result[1] contains Loopback0
- name: run commands and specify the output format
junipernetworks.junos.junos_command:
commands: show version
display: json
- name: run rpc on the remote device
junipernetworks.junos.junos_command:
commands: show configuration
display: set
- name: run rpc on the remote device
junipernetworks.junos.junos_command:
rpcs: get-software-information
返回值
常见的返回值已记录在 此处,以下是此模块特有的字段
键 |
描述 |
---|---|
已失败的条件列表 返回:失败 示例: |
|
来自命令响应的已转换的 xml 到 json 格式的集合 返回:如果显示格式为 示例: |
|
命令的响应集 返回:始终返回,除了底层错误(例如动作插件) 示例: |
|
stdout值被分割成一个列表 返回:始终返回,除了底层错误(例如动作插件) 示例: |