ansible.netcommon.cli_command – Выполнение командной строки на устройствах с командной строкой
Примечание
Этот плагин является частью коллекции ansible.netcommon (версия 1.4.1).
Для его установки используйте: ansible-galaxy collection install ansible.netcommon.
Для использования в книге задач укажите: ansible.netcommon.cli_command.
Добавлено в версии 1.0.0: из 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–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