Spec-Zone.ru › Ansible

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

логическое

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

Варианты:

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

command

строка / обязательный

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

newline

логическое

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

Варианты:

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

output

строка

Как удалённое устройство должно отформатировать данные ответа команды.

Варианты:

  • "text"
  • "json"

prompt

список / элементы=строка

Единственный шаблон регулярного выражения или последовательность шаблонов для оценки ожидаемого приглашения от command.

sendonly

логическое

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

Варианты:

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

version

строка

Указывает версию JSON-ответа, возвращаемого при output=json.

Варианты:

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

interval

целое число

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

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

match

строка

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

Варианты:

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

retries

целое число

Указывает количество попыток выполнения команды, после которых она считается неудачной. Команда выполняется на целевом устройстве при каждом повторе и оценивается по условиям wait_for.

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

wait_for

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

список / элементы=строка

Указывает, что нужно оценить из вывода команды и какие условия применить. Этот аргумент заставит задачу подождать, пока определённое условие не станет истинным, прежде чем продолжить. Если условие не станет истинным за заданное количество повторов, задача завершается неудачно. Примечание - со 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

список / элементы=строка

Список условных выражений, которые завершились неудачно

Возвращено: неудачно

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

stdout

список / элементы=строка

Набор ответов от команд

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

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

stdout_lines

список / элементы=строка

Значение stdout, разделенное на список

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

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

Авторы

  • Peter Sprygada (@privateip)

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

  • Отслеживание ошибок
  • Репозиторий (источники)

© 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

Spec-Zone.ru

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