community.network.edgeos_command – Run one or more commands on EdgeOS devices

Note

This plugin is part of the community.network collection (version 3.0.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install community.network.

To use it in a playbook, specify: community.network.edgeos_command.

Synopsis

  • This command module allows running one or more commands on a remote device running EdgeOS, such as the Ubiquiti EdgeRouter.
  • This module does not support running commands in configuration mode.
  • Certain show commands in EdgeOS produce many lines of output and use a custom pager that can cause this module to hang. If the value of the environment variable ANSIBLE_EDGEOS_TERMINAL_LENGTH is not set, the default number of 10000 is used.
  • This is a network module and requires connection: network_cli in order to work properly.
  • For more information please see the Network Guide.

Parameters

Parameter Choices/Defaults Comments
commands
string / required
The commands or ordered set of commands that should be run against the remote device. The output of the command is returned to the playbook. If the wait_for argument is provided, the module is not returned until the condition is met or the number of retries is exceeded.
interval
string
Default:
1
The number of seconds to wait between retries of the command.
match
string
    Choices:
  • any
  • all
Used in conjunction with wait_for to create match policy. If set to all, then all conditions in wait_for must be met. If set to any, then only one condition must match.
retries
string
Default:
10
Number of times a command should be tried before it is considered failed. The command is run on the target device and evaluated against the wait_for conditionals.
wait_for
string
Causes the task to wait for a specific condition to be met before moving forward. If the condition is not met before the specified number of retries is exceeded, the task will fail.

Notes

Note

  • Tested against EdgeOS 1.9.7
  • Running show system boot-messages all will cause the module to hang since EdgeOS is using a custom pager setting to display the output of that command.

Examples

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

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
stdout
list / elements=string
always apart from low level errors (such as action plugin)
The set of responses from the commands

Sample:
['...', '...']
stdout_lines
list / elements=string
always
The value of stdout split into a list

Sample:
[['...', '...'], ['...'], ['...']]


Authors

  • Chad Norgan (@beardymcbeards)
  • Sam Doran (@samdoran)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/network/edgeos_command_module.html