exos_command - Выполнение команд на удаленных устройствах с EXOS Extreme
Новое в версии 2.6.
Описание
- Отправляет произвольные команды устройству Extreme EXOS и возвращает результаты, считанные с устройства. Этот модуль включает аргумент, который заставит модуль ждать определенного условия перед возвратом или таймаутом, если условие не выполнено.
- Этот модуль не поддерживает выполнение команд конфигурации. Вскоре мы планируем выпустить модуль exos_config для конфигурации устройств EXOS.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| commands обязательно |
Список команд, которые нужно отправить удаленному устройству EXOS через настроенный провайдер. Результирующий вывод команды возвращается. Если предоставлен аргумент wait_for, модуль возвращает результат только после того, как условие будет выполнено или истечёт время ожидания. |
|
| interval | Значение по умолчанию: 1 |
Настраивает интервал в секундах ожидания между повторными попытками выполнения команды. Если команда не удовлетворяет заданным условиям, интервал указывает время ожидания перед повторной попыткой выполнения команды. |
| match |
|
Аргумент match используется совместно с аргументом wait_for для определения политики соответствия. Допустимые значения — all или any. Если значение установлено на all, все условия в wait_for должны быть выполнены. Если значение установлено на any, должно быть выполнено только одно из условий. |
| retries | Значение по умолчанию: 10 |
Указывает количество попыток выполнения команды перед тем, как она будет считаться неудачной. Команда выполняется на целевом устройстве при каждой попытке и оценивается по условиям wait_for. |
| wait_for | Значение по умолчанию: null |
Список условий, которые нужно оценить по отношению к результату выполнения команды. Задача будет ждать, пока каждое условие не станет истинным, прежде чем перейти к следующему шагу. Если условие не выполняется в течение заданного количества попыток, задача завершается ошибкой. См. примеры. |
Примечания
Примечание
- Если команда, отправленная на устройство, требует ответа на запрос, можно передать словарь, содержащий команду, ответ и запрос. См. примеры.
Примеры
tasks:
- name: run show version on remote devices
exos_command:
commands: show version
- name: run show version and check to see if output contains ExtremeXOS
exos_command:
commands: show version
wait_for: result[0] contains ExtremeXOS
- name: run multiple commands on remote nodes
exos_command:
commands:
- show version
- show ports no-refresh
- name: run multiple commands and evaluate the output
exos_command:
commands:
- show version
- show ports no-refresh
wait_for:
- result[0] contains ExtremeXOS
- result[1] contains 20
- name: run command that requires answering a prompt
exos_command:
commands:
- command: 'clear license-info'
prompt: 'Are you sure.*'
answer: 'Yes'
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| failed_conditions список |
неудача | Список условий, которые не были выполнены
Пример:
['...', '...'] |
| stdout список |
всегда, кроме ошибок низкого уровня (таких как плагин действия) | Набор ответов от команд
Пример:
['...', '...'] |
| stdout_lines список |
всегда, кроме ошибок низкого уровня (таких как плагин действия) | Значение stdout разбито на список
Пример:
[['...', '...'], ['...'], ['...']] |
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость.
Техническое обслуживание
Этот модуль помечен как сообщество, что означает, что он поддерживается сообществом Ansible. Подробнее см. Техническое обслуживание и поддержка модулей.
Список других модулей, также поддерживаемых сообществом Ansible, см. здесь.
Автор
- Rafael D. Vencioneck (@rdvencioneck)
Подсказка
Если вы заметите какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ для улучшения.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/exos_command_module.html