edgeos_command – Run one or more commands on EdgeOS devices

New in version 2.5.

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
- / 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
-
Default:
1
The number of seconds to wait between retries of the command.
match
-
    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
-
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
-
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
    edgeos_command:
      commands: reboot now

  - name: Show the configuration for eth0 and eth1
    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
always apart from low level errors (such as action plugin)
The set of responses from the commands

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

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


Status

Authors

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

Hint

If you notice any issues in this documentation you can edit this document to improve it.