cli_command¶
Collection Note
This module is part of the ansible.netcommon collection. To install the collection, use:
Added in version1.0.0.
Synopsis¶
- Sends a command to a network device and returns the result read from the device.
Parameters¶
| Parameter | Defaults / Choices | Comments |
|---|---|---|
| answer list / elements=str |
The answer to reply with if I(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 bool |
By default if any one of the prompts mentioned in C(prompt) option is matched it won't check for other prompts. This boolean flag, that when set to I(True) will check for all the prompts mentioned in C(prompt) option in the given order. If the option is set to I(True) all the prompts should be received from remote host if not it will result in timeout. | |
| command str required |
The command to send to the remote network device. The resulting output from the command is returned, unless I(sendonly) is set. | |
| newline bool |
Default: True |
The boolean value, that when set to false will send I(answer) to the device without a trailing newline. |
| prompt list / elements=str |
A single regex pattern or a sequence of patterns to evaluate the expected prompt from I(command). | |
| sendonly bool |
The boolean value, that when set to true will send I(command) to the device but not wait for a result. |
Notes¶
Note
- This module is supported on C(ansible_network_os) network platforms. See the :ref:
Network Platform Options <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
- name: Simple regexp match for multiple prompt, multiple answer(mandatory check for all prompts)
ansible.netcommon.cli_command:
command: reload in 5
check_all: true
prompt:
- Save\?
- confirm
answer:
- n
- y
Return Values¶
| Key | Data Type | Description | Returned |
|---|---|---|---|
| json | dict | A dictionary representing a JSON-formatted response | when the device response is valid JSON |
| stdout | str | The response from the command | when sendonly is false |
Authors¶
- Katherine Case (@qalthos)