Spec-Zone.ru › Ansible

Модуль 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

По умолчанию при совпадении с любым из запросов, указанных в параметре prompt, проверка остальных запросов не выполняется. Этот логический флаг при значении True проверяет все запросы, указанные в параметре prompt, в заданном порядке. Если параметр имеет значение True, удалённый узел должен отправить все запросы; в противном случае произойдёт тайм-аут.

Варианты:

  • false ← (по умолчанию)
  • true

command

string / обязательный

Команда для отправки удалённому сетевому устройству. Возвращается результат выполнения команды, если не задан параметр sendonly.

newline

boolean

Логическое значение, которое при значении false отправляет устройству answer без завершающего символа новой строки.

Варианты:

  • false
  • true ← (по умолчанию)

output

string

Формат данных ответа команды, возвращаемых удалённым устройством.

Варианты:

  • "text"
  • "json"

prompt

list / elements=string

Один шаблон регулярного выражения или последовательность шаблонов для определения ожидаемого запроса от command.

sendonly

boolean

Логическое значение, которое при значении true отправляет устройству command, но не ожидает результата.

Варианты:

  • false ← (по умолчанию)
  • true

version

string

Задаёт версию ответа JSON, возвращаемого при значении output=json.

Варианты:

  • "1"
  • "latest" ← (по умолчанию)

interval

integer

Задаёт интервал в секундах между повторными попытками выполнения команды. Если команда не соответствует заданному условию, интервал определяет, сколько времени нужно подождать перед повторным выполнением команды.

По умолчанию: 1

match

string

Аргумент match используется вместе с аргументом wait_for для задания политики сопоставления. Допустимые значения: all или any. Если задано значение all, должны быть выполнены все условия в wait_for. Если задано значение any, достаточно выполнения только одного из условий.

Варианты:

  • "any"
  • "all" ← (по умолчанию)

retries

integer

Задаёт количество попыток выполнения команды, после которого она считается завершившейся с ошибкой. При каждой попытке команда выполняется на целевом устройстве и проверяется на соответствие условиям wait_for.

По умолчанию: 10

wait_for

псевдонимы: waitfor

list / elements=string

Задаёт, какие данные из результата команды проверять и какие условия применять. Этот аргумент заставляет задачу ожидать выполнения определённого условия, прежде чем продолжить работу. Если условие не будет выполнено за указанное число попыток, задача завершится с ошибкой. Примечание. При использовании wait_for можно получить значение из result['stdout'] с помощью result; то есть, чтобы получить доступ к result['stdout'][0], используйте result[0]. См. примеры.

Примечания

Примечание

  • Проверено на 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, разбитое на список

Возвращается: всегда, за исключением ошибок низкого уровня (например, ошибок плагина действий)

Пример: [["...", "..."], ["..."], ["..."]]

Авторы

  • Peter Sprygada (@privateip)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API