ansible.netcommon.cli_command – Выполнение командной строки на устройствах с интерфейсом командной строки
Примечание
Этот плагин входит в коллекцию ansible.netcommon (версия 1.5.0).
Для его установки используйте: ansible-galaxy collection install ansible.netcommon.
Для использования в плейбуке укажите: ansible.netcommon.cli_command.
Новое в версии 1.0.0: of ansible.netcommon
Описание
- Отправляет команду на сетевое устройство и возвращает результат, считанный с устройства.
Примечание
У данного модуля есть соответствующий плагин действий.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| answer список / элементы=строка | Ответ, который следует отправить, если совпадает prompt. Значение может быть одним ответом или списком ответов для нескольких запросов. В случае, если выполнение команды приводит к нескольким запросам, последовательность запроса и ожидаемого ответа должна быть в том же порядке. | |
| check_all логическое значение |
| По умолчанию, если один из запросов, указанных в опции prompt, совпадает, проверка других запросов не производится. Этот флаг логического типа, который, при установке в True, проверит все запросы, указанные в опции prompt, в заданном порядке. Если опция установлена в True, все запросы должны быть получены от удаленного хоста, в противном случае это приведет к тайм-ауту. |
| command строка / обязательный | Команда, которая будет отправлена на удалённое сетевое устройство. Результирующий вывод команды возвращается, если не установлено значение sendonly. | |
| newline логическое значение |
| Логическое значение, которое, при установке в false, отправит answer на устройство без заключительного символа новой строки. |
| prompt список / элементы=строка | Один регулярный шаблон или последовательность шаблонов для оценки ожидаемого запроса из command. | |
| sendonly логическое значение |
| Логическое значение, которое, при установке в true, отправит command на устройство, но не будет ожидать результата. |
Примечания
Примечание
- Этот модуль поддерживается на сетевых платформах
ansible_network_os. Подробности см. в разделе Параметры сетевых платформ.
Примеры
- 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
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| json словарь | если ответ устройства — допустимый JSON | Словарь, представляющий ответ в формате JSON Пример: { "architecture": "i386", "bootupTimestamp": 1532649700.56, "modelName": "vEOS", "version": "4.15.9M" [...] } |
| stdout строка | если sendonly = false | Ответ на команду Пример: Версия: VyOS 1.1.7[...] |
Авторы
- Nathaniel Case (@Qalthos)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ansible/netcommon/cli_command_module.html