Модуль arista.eos.eos_command — выполнение произвольных команд на устройстве Arista EOS
Примечание
Этот модуль входит в коллекцию arista.eos (версия 12.1.2).
Возможно, эта коллекция уже установлена, если вы используете пакет 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 list / elements=any / обязательный | Команды для отправки удалённому устройству EOS. Возвращается результат выполнения команды. Если указан аргумент wait_for, модуль не возвращает результат, пока условие не будет выполнено или не будет превышено число retries. Команды можно задавать в виде простых строк или словарей, как описано ниже. Некоторые распространённые варианты использования приведены в разделе примеров. |
|
answer list / elements=string |
Ответ, отправляемый при совпадении с prompt. Значением может быть один ответ или список ответов для нескольких запросов. Если при выполнении команды появляется несколько запросов, последовательность запросов и ожидаемых ответов должна совпадать. |
|
check_all boolean |
По умолчанию при совпадении с любым из запросов, указанных в параметре Варианты:
|
|
command string / обязательный |
Команда для отправки удалённому сетевому устройству. Возвращается результат выполнения команды, если не задан параметр sendonly. |
|
newline boolean |
Логическое значение, которое при значении false отправляет устройству answer без завершающего символа новой строки. Варианты:
|
|
output string |
Формат данных ответа команды, возвращаемых удалённым устройством. Варианты:
|
|
prompt list / elements=string |
Один шаблон регулярного выражения или последовательность шаблонов для определения ожидаемого запроса от command. |
|
sendonly boolean |
Логическое значение, которое при значении true отправляет устройству command, но не ожидает результата. Варианты:
|
|
version string |
Задаёт версию ответа JSON, возвращаемого при значении output=json. Варианты:
|
interval integer | Задаёт интервал в секундах между повторными попытками выполнения команды. Если команда не соответствует заданному условию, интервал определяет, сколько времени нужно подождать перед повторным выполнением команды. По умолчанию: |
match string | Аргумент match используется вместе с аргументом wait_for для задания политики сопоставления. Допустимые значения: Варианты:
|
retries integer | Задаёт количество попыток выполнения команды, после которого она считается завершившейся с ошибкой. При каждой попытке команда выполняется на целевом устройстве и проверяется на соответствие условиям wait_for. По умолчанию: |
wait_for псевдонимы: waitfor list / elements=string | Задаёт, какие данные из результата команды проверять и какие условия применять. Этот аргумент заставляет задачу ожидать выполнения определённого условия, прежде чем продолжить работу. Если условие не будет выполнено за указанное число попыток, задача завершится с ошибкой. Примечание. При использовании 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 list / elements=string | Список условий, которые не были выполнены Возвращается: при ошибке Пример: |
stdout list / elements=string | Набор ответов на команды Возвращается: всегда, за исключением ошибок низкого уровня (например, ошибок плагина действий) Пример: |
stdout_lines list / elements=string | Значение stdout, разбитое на список Возвращается: всегда, за исключением ошибок низкого уровня (например, ошибок плагина действий) Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/arista/eos/eos_command_module.html