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 variableANSIBLE_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 |
|
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.