Модуль arista.eos.eos_command — Выполнение произвольных команд на устройстве Arista EOS
Примечание
Этот модуль входит в коллекцию arista.eos (версия 9.0.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install arista.eos.
Чтобы использовать её в плейбуке, укажите: arista.eos.eos_command.
Новое в arista.eos 1.0.0
Описание
- Отправляет произвольный набор команд на узел EOS и возвращает результаты, считанные с устройства. В этом модуле есть аргумент, который заставит модуль дождаться выполнения определённого условия перед возвратом или истечения времени ожидания, если условие не выполнено.
Псевдонимы: command
Параметры
Параметр | Комментарии |
|---|---|
commands список / элементы=любой / обязательный | Команды, которые нужно отправить на удалённое устройство EOS. Результирующий вывод команды возвращается. Если задан аргумент wait_for, модуль не возвращается, пока условие не будет выполнено или не будет превышено количество повторов. Команды могут быть представлены как простыми строками, так и словарями, как описано ниже. См. раздел Примеры для некоторых распространённых вариантов использования. |
|
answer список / элементы=строка |
Ответ, который нужно отправить в ответ, если совпало prompt. Значение может быть одним ответом или списком ответов для нескольких приглашений. Если выполнение команды приводит к нескольким приглашениям, последовательность приглашения и ожидаемого ответа должна быть в том же порядке. |
|
check_all логическое |
По умолчанию, если совпало любое из приглашений, указанных в опции Варианты:
|
|
command строка / обязательный |
Команда, которую нужно отправить на удалённое сетевое устройство. Результирующий вывод команды возвращается, если не установлен sendonly. |
|
newline логическое |
Логическое значение, которое, при установке в false, отправит answer на устройство без заключительной новой строки. Варианты:
|
|
output строка |
Как удалённое устройство должно отформатировать данные ответа команды. Варианты:
|
|
prompt список / элементы=строка |
Единственный шаблон регулярного выражения или последовательность шаблонов для оценки ожидаемого приглашения от command. |
|
sendonly логическое |
Логическое значение, которое, при установке в true, отправит command на устройство, но не будет ждать результата. Варианты:
|
|
version строка |
Указывает версию JSON-ответа, возвращаемого при output=json. Варианты:
|
interval целое число | Настройка интервала в секундах для ожидания между повторами команды. Если команда не удовлетворяет указанному условию, интервал указывает, как долго ждать перед повторной попыткой. По умолчанию: |
match строка | Аргумент match используется совместно с аргументом wait_for для указания политики сопоставления. Допустимые значения — Варианты:
|
retries целое число | Указывает количество попыток выполнения команды, после которых она считается неудачной. Команда выполняется на целевом устройстве при каждом повторе и оценивается по условиям wait_for. По умолчанию: |
wait_for псевдонимы: waitfor список / элементы=строка | Указывает, что нужно оценить из вывода команды и какие условия применить. Этот аргумент заставит задачу подождать, пока определённое условие не станет истинным, прежде чем продолжить. Если условие не станет истинным за заданное количество повторов, задача завершается неудачно. Примечание - со wait_for значение в |
Примечания
Примечание
- Тестировалось на Arista EOS 4.24.6F
Примеры
- name: run show version on remote devices
arista.eos.eos_command:
commands: show version
- name: run show version and check to see if output contains Arista
arista.eos.eos_command:
commands: show version
wait_for: result[0] contains Arista
- name: run multiple commands on remote nodes
arista.eos.eos_command:
commands:
- show version
- show interfaces
- name: run multiple commands and evaluate the output
arista.eos.eos_command:
commands:
- show version
- show interfaces
wait_for:
- result[0] contains Arista
- result[1] contains Loopback0
- name: run commands and specify the output format
arista.eos.eos_command:
commands:
- command: show version
output: json
- name: check whether the switch is in maintenance mode
arista.eos.eos_command:
commands: show maintenance
wait_for: result[0] contains 'Under Maintenance'
- name: check whether the switch is in maintenance mode using json output
arista.eos.eos_command:
commands:
- command: show maintenance
output: json
wait_for: result[0].units.System.state eq 'underMaintenance'
- name: check whether the switch is in maintenance, with 8 retries
and 2 second interval between retries
arista.eos.eos_command:
commands: show maintenance
wait_for: result[0]['units']['System']['state'] eq 'underMaintenance'
interval: 2
retries: 8
- name: run a command that requires a confirmation. Note that prompt
takes regexes, and so strings containing characters like brackets
need to be escaped.
arista.eos.eos_command:
commands:
- command: reload power
prompt: \[confirm\]
answer: y
newline: false
Значения возврата
Общие значения возврата документированы здесь, следующие поля уникальны для данного модуля:
Ключ | Описание |
|---|---|
failed_conditions список / элементы=строка | Список условных выражений, которые завершились неудачно Возвращено: неудачно Пример: |
stdout список / элементы=строка | Набор ответов от команд Возвращено: всегда, за исключением ошибок низкого уровня (таких как плагин действий) Пример: |
stdout_lines список / элементы=строка | Значение stdout, разделенное на список Возвращено: всегда, за исключением ошибок низкого уровня (таких как плагин действий) Пример: |
Ссылки на коллекции
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/arista/eos/eos_command_module.html