community.network.icx_command 模块 – 在远程 Ruckus ICX 7000 系列交换机上运行任意命令

注意

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

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

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

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

注意

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

已弃用

移除版本:

6.0.0 版

原因:

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

替代方案:

未知。

概要

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

别名:network.icx.icx_command

参数

参数

注释

commands

列表 / 元素=字符串 / 必需

要通过配置的提供程序发送到远程 ICX 设备的命令列表。返回命令的结果输出。如果提供了 wait_for 参数,则模块不会返回,直到满足条件或重试次数已过期。如果发送到设备的命令需要回答提示,请检查所有提示,并在多个提示时使用换行符,则可以传递包含 commandanswerpromptcheck_allnewline 的字典。常见的答案是“y”或“\r”(回车,必须使用双引号)。请参阅示例。

interval

整数

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

默认值: 1

match

字符串

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

选项

  • "any"

  • "all" ←(默认)

retries

整数

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

默认值: 10

wait_for

别名:waitfor

列表 / 元素=字符串

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

注释

注意

  • 针对 ICX 10.1 进行了测试

示例

tasks:
  - name: Run show version on remote devices
    community.network.icx_command:
      commands: show version

  - name: Run show version and check to see if output contains ICX
    community.network.icx_command:
      commands: show version
      wait_for: result[0] contains ICX

  - name: Run multiple commands on remote nodes
    community.network.icx_command:
      commands:
        - show version
        - show interfaces

  - name: Run multiple commands and evaluate the output
    community.network.icx_command:
      commands:
        - show version
        - show interfaces
      wait_for:
        - result[0] contains ICX
        - result[1] contains GigabitEthernet1/1/1
  - name: Run commands that require answering a prompt
    community.network.icx_command:
      commands:
        - command: 'service password-encryption sha1'
          prompt: 'Warning: Moving to higher password-encryption type,.*'
          answer: 'y'
  - name: Run commands that require answering multiple prompt
    community.network.icx_command:
      commands:
        - command: 'username qqq password qqq'
          prompt:
            - 'User already exists. Do you want to modify:.*'
            - 'To modify or remove user, enter current password:'
          answer:
            - 'y'
            - 'qqq\
'
          check_all: true
          newline: false

返回值

常见返回值记录在此处,以下是此模块特有的字段

描述

failed_conditions

列表 / 元素=字符串

失败的条件列表

返回:失败

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

stdout

列表 / 元素=字符串

来自命令的响应集

返回:始终返回,除了低级别错误

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

stdout_lines

列表 / 元素=字符串

stdout 的值拆分为列表

返回:始终返回,除了低级别错误

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

状态

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

  • 有关更多信息,请参阅已弃用

作者

  • Ruckus Wireless (@Commscope)