Spec-Zone.ru › Ansible 2.4

eos_command - Выполнение произвольных команд на устройстве Arista EOS

Новое в версии 2.1.

  • Описание
  • Параметры
  • Примеры
  • Возвращаемые значения
  • Примечания
    • Статус
    • Информация о техническом обслуживании

Описание

  • Отправляет произвольный набор команд на узел EOS и возвращает результаты, считанные с устройства. Этот модуль включает аргумент, который заставит модуль ожидать выполнения определенного условия перед возвратом или вызовет таймаут, если условие не будет выполнено.

Параметры

параметр обязательный значение по умолчанию возможные значения комментарии
auth_pass
нет нет
Указывает пароль для использования, если требуется для входа в привилегированный режим на удаленном устройстве. Если authorize ложно, то этот аргумент ничего не делает. Если значение не указано в задаче, вместо него используется значение переменной окружения ANSIBLE_NET_AUTH_PASS.
authorize
нет
  • да
  • нет
Инструктирует модуль войти в привилегированный режим на удаленном устройстве перед отправкой каких-либо команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, вместо него используется значение переменной окружения ANSIBLE_NET_AUTHORIZE.
commands
да
Команды для отправки на удаленное устройство EOS через настроенный поставщик. Результирующий вывод команды возвращается. Если аргумент wait_for предоставлен, модуль не возвращается до тех пор, пока условие не будет выполнено или не будет превышено количество попыток.
interval
нет 1
Настраивает интервал в секундах ожидания между повторными попытками выполнения команды. Если команда не удовлетворяет заданному условию, интервал указывает, как долго ожидать перед повторной попыткой.
match
(добавлен в 2.2)
нет все
  • любой
  • все
Аргумент match используется совместно с аргументом wait_for для указания политики сопоставления. Допустимые значения — all или any. Если значение установлено в all, все условия в wait_for должны быть выполнены. Если значение установлено в any, должно быть выполнено только одно из условий.
provider
нет
Объект типа dict, содержащий детали подключения.
Объект типа dict provider
параметр обязательный значение по умолчанию возможные значения комментарии
username
нет
Настраивает имя пользователя для аутентификации подключения к удаленному устройству. Это значение используется для аутентификации входа в командную строку или аутентификации eAPI в зависимости от используемого транспорта. Если значение не указано в задаче, вместо него используется значение переменной окружения ANSIBLE_NET_USERNAME.
authorize
нет
  • да
  • нет
Инструктирует модуль войти в привилегированный режим на удаленном устройстве перед отправкой каких-либо команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, вместо него используется значение переменной окружения ANSIBLE_NET_AUTHORIZE.
ssh_keyfile
нет
Указывает файл SSH-ключа для аутентификации подключения к удаленному устройству. Этот аргумент используется только для транспортов cli. Если значение не указано в задаче, вместо него используется значение переменной окружения ANSIBLE_NET_SSH_KEYFILE.
auth_pass
нет нет
Указывает пароль для использования, если требуется для входа в привилегированный режим на удаленном устройстве. Если authorize ложно, то этот аргумент ничего не делает. Если значение не указано в задаче, вместо него используется значение переменной окружения ANSIBLE_NET_AUTH_PASS.
host
да
Указывает имя хоста DNS или адрес для подключения к удаленному устройству через указанный транспорт. Значение хоста используется в качестве адреса назначения для транспорта.
timeout
нет 10
Указывает время ожидания в секундах для связи с сетевым устройством для подключения или отправки команд. Если время ожидания истечет до завершения операции, модуль вернет ошибку.
use_ssl
нет True
  • да
  • нет
Настраивает транспорт для использования SSL, если установлено в true, только когда transport=eapi. Если аргумент transport не eapi, это значение игнорируется.
password
нет
Указывает пароль для аутентификации подключения к удаленному устройству. Это общий аргумент, используемый для транспортов cli или eapi. Если значение не указано в задаче, вместо него используется значение переменной окружения ANSIBLE_NET_PASSWORD.
validate_certs
нет
  • да
  • нет
Если no, сертификаты SSL не будут проверены. Это следует использовать только на контролируемых сайтах, использующих самозаверенные сертификаты. Если аргумент transport не eapi, это значение игнорируется.
port
нет 0 (использовать общий порт)
Указывает порт для использования при построении подключения к удаленному устройству. Это значение относится к cli или eapi. Значение порта будет по умолчанию соответствовать общему порту для соответствующего транспорта, если не указано в задаче (cli=22, http=80, https=443).
transport
да cli
  • eapi
  • cli
Настраивает транспортное соединение для использования при подключении к удаленному устройству.
retries
нет 10
Указывает количество попыток выполнения команды перед тем, как она будет считаться неудачной. Команда выполняется на целевом устройстве на каждой попытке и оценивается по условиям wait_for.
wait_for
(добавлен в 2.2)
нет
Указывает, что следует оценить из вывода команды и какие условия применить. Этот аргумент заставит задачу ждать выполнения определенного условия до продвижения вперед. Если условие не выполняется в течение заданного количества попыток, задача завершается ошибкой. См. примеры.
псевдонимы: waitfor

Примеры

- name: run show version on remote devices
  eos_command:
    commands: show version

- name: run show version and check to see if output contains Arista
  eos_command:
    commands: show version
    wait_for: result[0] contains Arista

- name: run multiple commands on remote nodes
  eos_command:
    commands:
      - show version
      - show interfaces

- name: run multiple commands and evaluate the output
  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
  eos_command:
    commands:
      - command: show version
        output: json

Возвращаемые значения

Общие значения возврата документированы здесь Возвращаемые значения, следующие — поля, уникальные для данного модуля:

имя описание возвращается тип пример
failed_conditions
Список условий, которые не выполнены
неудачно список ['...', '...']
stdout
Набор ответов от команд
всегда, кроме ошибок низкого уровня (например, плагин действия) список ['...', '...']
stdout_lines
Значение stdout, разделенное на список
всегда, кроме ошибок низкого уровня (например, плагин действия) список [['...', '...'], ['...'], ['...']]

Примечания

Примечание

  • Тестировано на EOS 4.15

Статус

Этот модуль помечен как бета-версия, что означает, что его интерфейс не гарантируется как обратной совместимости.

Информация о техническом обслуживании

Для получения дополнительной информации о поддержке этого модуля компанией Red Hat, пожалуйста, обратитесь к knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>

Для получения помощи в разработке модулей, если вам это интересно, пожалуйста, прочитайте Информацию о сообществе и о вкладе, Тестирование Ansible и Разработка модулей.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/eos_command_module.html

Spec-Zone.ru

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