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
showcommands 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_LENGTHis not set, the default number of 10000 is used. - This is a network module and requires
connection: network_cliin 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 allwill 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 not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]
Authors
- Chad Norgan (@BeardyMcBeards)
- Sam Doran (@samdoran)
Hint
If you notice any issues in this documentation you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/edgeos_command_module.html