On this page
community.network.edgeos_command – Run one or more commands on EdgeOS devices
Note
This plugin is part of the community.network collection (version 3.0.0).
You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install community.network.
To use it in a playbook, specify: community.network.edgeos_command.
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
        
        string / 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
        
        string
         | 
      Default: 
        1
         | 
      
        
        The number of seconds to wait between  retries of the command.
        | 
     
| match
        
        string
         | 
      
       
  | 
      
        
        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
        
        string
         | 
      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
        
        string
         | 
      
        
        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
    community.network.edgeos_command:
      commands: reboot now
  - name: Show the configuration for eth0 and eth1
    community.network.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 / elements=string
         | 
      always apart from low level errors (such as action plugin) | 
        
        The set of responses from the commands
         Sample:
        
       
        ['...', '...']
         | 
     
| stdout_lines
        
        list / elements=string
         | 
      always | 
        
        The value of stdout split into a list
         Sample:
        
       
        [['...', '...'], ['...'], ['...']]
         | 
     
Authors
- Chad Norgan (@beardymcbeards)
 - Sam Doran (@samdoran)
 
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
 https://docs.ansible.com/ansible/latest/collections/community/network/edgeos_command_module.html