Spec-Zone.ru › Ansible 2.5

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

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

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

Описание

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

Параметры

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

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

Примечания

Примечание

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

Примеры

- 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
список
failed
Список условных выражений, которые завершились неудачей

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

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

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


Статус

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

Поддержка

Для получения дополнительной информации о поддержке данного модуля 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.5/modules/eos_command_module.html

Spec-Zone.ru

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