cli_command – Выполнение команды командной строки на устройствах сети с интерфейсом командной строки
Новая версия 2.7.
Описание
- Отправляет команду на сетевое устройство и возвращает результат, считанный с устройства.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| answer список | Ответ, который следует отправить, если сопоставлен параметр prompt. Значение может быть одним ответом или списком ответов для нескольких запросов. В случае, если выполнение команды приводит к нескольким запросам, последовательность запроса и ожидаемого ответа должна быть в том же порядке. | |
| check_all логическое |
| По умолчанию, если сопоставлен любой из запросов, указанных в параметре prompt, он не будет проверять другие запросы. Этот логический флаг, установленный в True, будет проверять все запросы, указанные в prompt параметре в заданном порядке. Если параметр установлен в True, все запросы должны быть получены от удаленного хоста; в противном случае это приведет к таймауту. |
| command - / обязательно | Команда, которая должна быть отправлена удалённому сетевому устройству. Результирующий вывод команды возвращается, если параметр sendonly не установлен. | |
| newline логическое добавлен в 2.9 |
| Логическое значение, которое, если установлено в false, отправляет answer на устройство без заключительного символа новой строки. |
| prompt список | Один регулярный шаблон или последовательность шаблонов для оценки ожидаемого запроса от command. | |
| sendonly логическое |
| Логическое значение, которое, если установлено в true, отправляет command на устройство, но не ждёт результата. |
Примечания
Примечание
- Этот модуль поддерживается на платформах сети
ansible_network_os. Подробную информацию см. в разделе Параметры платформ сети.
Примеры
- 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 command expecting user confirmation
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
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'
Возвращаемые значения
Общие возвращаемые значения описаны в разделе здесь. Ниже приведены поля, уникальные для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| json словарь | если ответ устройства является допустимым JSON | Словарь, представляющий ответ в формате JSON Пример: { "architecture": "i386", "bootupTimestamp": 1532649700.56, "modelName": "vEOS", "version": "4.15.9M" [...] } |
| stdout строка | если sendonly равно false | Ответ на команду Пример: Версия: VyOS 1.1.7[...] |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается командой Ansible Network. [сеть]
Поддержка Red Hat
Дополнительную информацию о поддержке этого модуля Red Hat см. в этой статье базы знаний Red Hat.
Авторы
- 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.9/modules/cli_command_module.html