ansible.netcommon.cli_command – Run a cli command on cli-based network devices
ansible.netcommon.cli_command – Run a cli command on cli-based network devices
Note
This plugin is part of the ansible.netcommon collection (version 1.4.1).
To install it use: ansible-galaxy collection install ansible.netcommon
.
To use it in a playbook, specify: ansible.netcommon.cli_command
.
New in version 1.0.0: of ansible.netcommon
Synopsis
- Sends a command to a network device and returns the result read from the device.
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
answer list / elements=string |
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 string / required |
The command to send to the remote network device. The resulting output from the command is returned, unless sendonly is set. | |
newline boolean |
|
The boolean value, that when set to false will send answer to the device without a trailing newline. |
prompt list / elements=string |
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. |
Notes
Note
- This module is supported on
ansible_network_os
network platforms. See the Network Platform Options for details.
Examples
- name: run show version on remote devices
ansible.netcommon.cli_command:
command: show version
- name: run command with json formatted output
ansible.netcommon.cli_command:
command: show version | json
- name: run command expecting user confirmation
ansible.netcommon.cli_command:
command: commit replace
prompt: This commit will replace or remove the entire running configuration
answer: yes
- name: run command expecting user confirmation
ansible.netcommon.cli_command:
command: show interface summary
prompt: Press any key to continue
answer: y
newline: false
- name: run config mode command and handle prompt/answer
ansible.netcommon.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)
ansible.netcommon.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[...] |
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.10/collections/ansible/netcommon/cli_command_module.html