cisco.asa.asa_command 模块 – 在 Cisco ASA 设备上运行任意命令

注意

此模块是 cisco.asa 集合 (版本 6.0.0) 的一部分。

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

要安装它,请使用: ansible-galaxy collection install cisco.asa

要在 playbook 中使用它,请指定: cisco.asa.asa_command

cisco.asa 1.0.0 中的新增功能

概要

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

参数

参数

注释

commands

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

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

context

字符串

如果您在多上下文模式下在 ASA 中运行,则指定要定位的上下文。默认为您登录到的当前上下文。

interval

整数

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

默认值: 1

match

字符串

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

选项

  • "any"

  • "all" ← (默认)

passwords

布尔值

设置为 True 时,保存运行配置密码的明文。默认为 False

选项

  • false

  • true

retries

整数

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

默认值: 10

wait_for

别名:waitfor

列表 / 元素=字符串

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

备注

注意

  • 处理 wait_for 时,每个命令的输出都存储为 result 数组的元素。允许用于条件评估的操作符有 eq==neqne!=gt>ge>=lt<le<=containsmatches。操作符可以加前缀 not 来否定其含义。contains 操作符搜索子字符串匹配(类似于 Python 的 in 操作符)。matches 操作符使用正则表达式搜索操作进行搜索。

  • 有关使用 Ansible 管理网络设备的更多信息,请参阅:ref:`Ansible 网络指南 <network_guide>`

示例

- name: Show the ASA version
  cisco.asa.asa_command:
    commands:
      - show version

- name: Show ASA drops and memory
  cisco.asa.asa_command:
    commands:
      - show asp drop
      - show memory

- name: Send repeat pings and wait for the result to pass 100%
  cisco.asa.asa_command:
    commands:
      - ping 8.8.8.8 repeat 20 size 350
    wait_for:
      - result[0] contains 100
    retries: 2

返回值

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

描述

failed_conditions

列表 / 元素=字符串

失败的条件

返回:失败

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

stdout

列表 / 元素=字符串

命令的响应集

返回:始终

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

stdout_lines

列表 / 元素=字符串

stdout 的值拆分为列表

返回:始终

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

作者

  • Peter Sprygada (@privateip), Patrick Ogenstad (@ogenstad)