community.network.edgeos_command 模块 – 在 EdgeOS 设备上运行一个或多个命令

注意

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

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

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

要在 playbook 中使用它,请指定:community.network.edgeos_command

注意

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

已弃用

:中移除

版本 6.0.0

原因:

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

替代方案:

未知。

概要

  • 此命令模块允许在运行 EdgeOS 的远程设备(例如 Ubiquiti EdgeRouter)上运行一个或多个命令。

  • 此模块不支持在配置模式下运行命令。

  • EdgeOS 中的某些 show 命令会产生许多输出行,并使用一个自定义的分页器,这可能导致此模块挂起。如果未设置环境变量 ANSIBLE_EDGEOS_TERMINAL_LENGTH 的值,则使用默认值 10000。

  • 这是一个网络模块,需要 connection: network_cli 才能正常工作。

  • 有关更多信息,请参阅网络指南

别名:network.edgeos.edgeos_command

参数

参数

注释

命令

字符串 / 必需

应在远程设备上运行的命令或有序命令集。命令的输出将返回到 playbook。如果提供了 wait_for 参数,则模块在满足条件或超出重试次数之前不会返回。

间隔

字符串

在命令的 retries 之间等待的秒数。

默认值: 1

匹配

字符串

wait_for 结合使用以创建匹配策略。如果设置为 all,则必须满足 wait_for 中的所有条件。如果设置为 any,则只需匹配一个条件。

选择

  • "any"

  • "all" ← (默认值)

重试

字符串

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

默认值: 10

等待

字符串

导致任务在满足特定条件后才继续执行。如果在超出指定重试次数之前未满足条件,则任务将失败。

注释

注意

  • 已针对 EdgeOS 1.9.7 进行测试

  • 运行 show system boot-messages all 将导致模块挂起,因为 EdgeOS 使用自定义的分页器设置来显示该命令的输出。

示例

tasks:
  - name: Reboot the device
    community.network.edgeos_command:
      commands: reboot now

  - name: Show the configuration for eth0 and eth1
    community.network.edgeos_command:
      commands: show interfaces ethernet {{ item }}
    loop:
      - eth0
      - eth1

返回值

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

描述

标准输出

列表 / 元素=字符串

来自命令的一组响应

返回: 始终返回,除了低级错误(例如操作插件)

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

标准输出行

列表 / 元素=字符串

标准输出的值拆分为列表

返回: 始终返回

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

状态

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

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

作者

  • Chad Norgan (@beardymcbeards)

  • Sam Doran (@samdoran)