Описание
- Данный модуль отправляет произвольные команды на маршрутизатор ESR и возвращает результаты, полученные с устройства.
- Данный модуль не поддерживает запуск команд в конфигурационном режиме.
Параметры
Параметр | Варианты/По умолчанию | Комментарий |
---|---|---|
commands - / required | Список команд для отправки на удалённый маршрутизатор ESR. Возвращается вывод команд. Если отправляемая команда ожидает ответа на вопрос, то возможно отправить словарь, содержащий command, answer и prompt. Обычные ответы: 'y', 'n'. Смотрите примеры. | |
interval | По умолчанию: 1 | Данный параметр определяет интервал в секундах для ожидания между повторными попытками выполнения команды. Если вывод команды не удовлетворяет заданным условиям, интервал указывает время ожидания перед повторной отправкой команды. |
match | Варианты:
| Данный параметр используется вместе с параметром wait_for для указания политики соответствия. Допустимые значения - all или any. Если установлено значение all, то все условия в wait_for должны быть выполнены. Если установлено значение any, то выполнится должно только одно из условий. |
retries | По умолчанию: 10 | Количество попыток отправки команд, прежде чем она будет считаться неудачной. Команда запускается на удалённом устройстве при каждой попытке и её вывод сравнивается с условиями wait_for. |
wait_for | Список условий для сравнения с выводом команды. Задача будет ожидать выполнения каждого условия, прежде чем продолжить. Если вывод команды не соответствует условиям в течение настроенного числа попыток, то задача завершится с ошибкой. Смотрите примеры. |
Примечания
Примечание |
---|
|
Примеры
Блок кода | ||
---|---|---|
| ||
- name: run show version on remote devices
esr_command:
commands: show version
- name: run show version and check to see if output contains 1.4.0.110
esr_command:
commands: show version
wait_for: result[0] contains 1.4.0.110
- name: run multiple commands on remote devices
esr_command:
commands:
- show version
- show interfaces status
- name: run multiple commands and evaluate the output
esr_command:
commands:
- show version
- show interfaces status
wait_for:
- result[0] contains 1.4.0.110
- result[1] contains bridge1
- name: run commands that require answering a prompt
esr_command:
commands:
- command: 'copy system:default-config system:candidate-config'
prompt: 'Do you really want to continue?'
answer: 'y' |
Возвращаемые значения
В общем случае возвращаемые значения описаны здесь. Ниже перечислены уникальные для модуля значения:
Значение | Описание |
---|---|
stdout list | Набор ответов, полученных с устройства после выполнение команд Пример: ['...', '...'] |
stdout_lines list | Значение stdout в виде списка Пример: [['...', '...'], ['...'], ['...']] |
Установка
Для установки скачайте архив по ссылке выше, распакуйте и запустите скрипт install.py
Блок кода | ||
---|---|---|
| ||
tar xvzf esr-ansible.tar.gz
cd ./esr-ansible
python install.py |