cli_command – Run a cli command on cli-based network devices
cli_command – Run a cli command on cli-based network devices
New in version 2.7.
Synopsis
- Sends a command to a network device and returns the result read from the device.
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
answer list |
The answer to reply with if prompt is matched. The value can be a single answer or a list of answer for multiple prompts. In case the command execution results in multiple prompts the sequence of the prompt and excepted answer should be in same order. | |
check_all boolean |
|
By default if any one of the prompts mentioned in |
command - / required |
The command to send to the remote network device. The resulting output from the command is returned, unless sendonly is set. | |
prompt list |
A single regex pattern or a sequence of patterns to evaluate the expected prompt from command. | |
sendonly boolean |
|
The boolean value, that when set to true will send command to the device but not wait for a result. |
Examples
- name: run show version on remote devices
cli_command:
command: show version
- name: run command with json formatted output
cli_command:
command: show version | json
- name: run command expecting user confirmation
cli_command:
command: commit replace
prompt: This commit will replace or remove the entire running configuration
answer: yes
- name: run config mode command and handle prompt/answer
cli_command:
command: "{{ item }}"
prompt:
- "Exit with uncommitted changes"
answer: 'y'
loop:
- configure
- set system syslog file test any any
- exit
- name: multiple prompt, multiple answer (mandatory check for all prompts)
cli_command:
command: "copy sftp sftp://user@host//user/test.img"
check_all: True
prompt:
- "Confirm download operation"
- "Password"
- "Do you want to change that to the standby image"
answer:
- 'y'
- <password>
- 'y'
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
json dictionary |
when the device response is valid JSON |
A dictionary representing a JSON-formatted response
Sample: { "architecture": "i386", "bootupTimestamp": 1532649700.56, "modelName": "vEOS", "version": "4.15.9M" [...] } |
stdout string |
when sendonly is false |
The response from the command
Sample: Version: VyOS 1.1.7[...] |
Status
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Network Team. [network]
Red Hat Support
More information about Red Hat’s support of this module is available from this Red Hat Knowledge Base article.
Authors
- Nathaniel Case (@qalthos)
© 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/cli_command_module.html