Spec-Zone.ru › Ansible 2.6

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

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

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

Описание

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

Параметры

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

(добавлен в 2.5)
    Варианты:
  • нет
  • да ←
Если no, переменные среды http_proxy и https_proxy будут игнорироваться.
retries Значение по умолчанию:
10
Указывает количество повторных попыток выполнения команды, прежде чем она считается неудачной. Команда выполняется на целевом устройстве при каждой повторной попытке и оценивается по условиям wait_for.
wait_for
(добавлен в 2.2)
Указывает, что следует оценивать из вывода команды и какие условия применять. Этот аргумент заставит задачу подождать, пока определенное условие не станет истинным, прежде чем продолжить. Если условие не станет истинным до истечения установленного количества повторных попыток, задача завершится ошибкой. Примечание — с wait_for значение в result['stdout'] можно получить с помощью result, то есть для доступа к result['stdout'][0] используйте result[0]. См. примеры.

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

Примечания

Примечание

  • Проверено на EOS 4.15
  • Сведения об использовании CLI, eAPI и привилегированного режима см. в руководстве EOS Platform Options
  • Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в руководстве Ansible Network Guide
  • Дополнительную информацию об использовании Ansible для управления устройствами Arista EOS см. на странице интеграции Arista.

Примеры

- 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

- name: using cli transport, check whether the switch is in maintenance mode
  eos_command:
    commands: show maintenance
    wait_for: result[0] contains 'Under Maintenance'

- name: using cli transport, check whether the switch is in maintenance mode using json output
  eos_command:
    commands: show maintenance | json
    wait_for: result[0].units.System.state eq 'underMaintenance'

- name: "using eapi transport check whether the switch is in maintenance,
         with 8 retries and 2 second interval between retries"
  eos_command:
    commands: show maintenance
    wait_for: result[0]['units']['System']['state'] eq 'underMaintenance'
    interval: 2
    retries: 8
    provider:
      transport: eapi

Значения возврата

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

Ключ Возвращаемое значение Описание
failed_conditions
список
неудачные
Список условных выражений, которые завершились неудачей

Пример:
['...', '...']
stdout
список
всегда, кроме ошибок низкого уровня (таких как плагин действий)
Набор ответов от команд

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

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


Статус

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

Техническое обслуживание

Этот модуль помечен как сетевой, что означает, что его поддерживает команда Ansible по сетевым технологиям. Дополнительная информация приведена в разделе Техническое обслуживание и поддержка модулей.

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

Поддержка

Дополнительную информацию о поддержке этого модуля компанией Red Hat см. в этой статье базы знаний

Автор

  • Peter Sprygada (@privateip)

Подсказка

Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.

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

Spec-Zone.ru

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