# edgeos_command – Run one or more commands on EdgeOS devices

New in version 2.5.

- Synopsis

- Parameters

- Notes

- Examples

- Return Values

- Status

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