Documentation

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

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

Maintenance

This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.

For a list of other modules that are also maintained by the Ansible Community, see here.

Author

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

Hint

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