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

返回值

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

描述

标准输出

列表 / 元素=字符串

来自命令的一组响应

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

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

stdout_lines

列表 / 元素=字符串

拆分为列表的标准输出值

返回:始终

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

状态

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

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

作者

  • Chad Norgan (@beardymcbeards)

  • Sam Doran (@samdoran)