community.network.enos_command 模块 – 在 Lenovo ENOS 设备上运行任意命令

注意

此模块是 community.network 集合 (版本 5.1.0) 的一部分。

如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install community.network

要在剧本中使用它,请指定: community.network.enos_command

注意

community.network 集合已被弃用,并将从 Ansible 12 中移除。有关更多信息,请参阅 讨论主题

已弃用

在以下版本中移除:

版本 6.0.0

原因:

此集合及其中的所有内容均未维护且已弃用。

替代方案:

未知。

概要

  • 将任意命令发送到 ENOS 节点并返回从设备读取的结果。 enos_command 模块包含一个参数,该参数将导致模块在返回之前等待特定条件,或者如果未满足条件则超时。

别名:network.enos.enos_command

参数

参数

注释

auth_pass

字符串

指定如果需要在远程设备上进入特权模式时要使用的密码。如果 *authorize* 为 false,则此参数无效。如果在任务中未指定该值,则将改为使用环境变量 ANSIBLE_NET_AUTH_PASS 的值。

authorize

布尔值

指示模块在发送任何命令之前进入远程设备的特权模式。如果未指定,则设备将尝试在非特权模式下执行所有命令。如果在任务中未指定该值,则将改为使用环境变量 ANSIBLE_NET_AUTHORIZE 的值。

选项

  • false ← (默认)

  • true

commands

字符串 / 必填

要通过已配置的提供程序发送到远程设备的命令列表。返回命令的输出结果。如果提供了 *wait_for* 参数,则在满足条件或重试次数已过期之前,模块不会返回。

interval

字符串

配置命令重试之间等待的间隔(秒)。如果命令未通过指定的条件,则间隔表示在再次尝试命令之前要等待多长时间。

默认值: 1

match

字符串

*match* 参数与 *wait_for* 参数一起使用,用于指定匹配策略。有效值为 allany。如果该值设置为 all,则必须满足 *wait_for* 中的所有条件。如果该值设置为 any,则只需要满足其中一个条件即可。

选项

  • "any"

  • "all" ← (默认)

retries

字符串

指定在命令被认为失败之前应尝试的重试次数。该命令在每次重试时都在目标设备上运行,并根据 *wait_for* 条件进行评估。

默认值: 10

wait_for

字符串

要根据命令的输出来评估的条件列表。任务将等待每个条件都为真才能继续执行。如果在配置的重试次数内条件不为真,则任务失败。请参阅示例。

示例

---
- name: Test contains operator
  community.network.enos_command:
    commands:
      - show version
      - show system memory
    wait_for:
      - "result[0] contains 'Lenovo'"
      - "result[1] contains 'MemFree'"
  register: result

- ansible.builtin.assert:
    that:
      - "result.changed == false"
      - "result.stdout is defined"

- name: Get output for single command
  community.network.enos_command:
    commands: ['show version']
  register: result

- ansible.builtin.assert:
    that:
      - "result.changed == false"
      - "result.stdout is defined"

- name: Get output for multiple commands
  community.network.enos_command:
    commands:
      - show version
      - show interface information
  register: result

- ansible.builtin.assert:
    that:
      - "result.changed == false"
      - "result.stdout is defined"
      - "result.stdout | length == 2"

返回值

公共返回值已在 此处 记录,以下是此模块特有的字段

描述

failed_conditions

列表 / 元素=字符串

失败的条件

返回:失败

示例: ["...", "..."]

标准输出

列表 / 元素=字符串

命令的响应集

返回值: 始终返回

示例: ["...", "..."]

stdout_lines

列表 / 元素=字符串

将标准输出值拆分成列表

返回值: 始终返回

示例: [["...", "..."], ["..."], ["..."]]

状态

  • 此模块将在 6.0.0 版本中移除。[已弃用]

  • 更多信息请参见 已弃用

作者

  • Anil Kumar Muraleedharan (@amuraleedhar)