Spec-Zone.ru › Ansible 2.4

junos_command - Выполнение произвольных команд на устройстве Juniper JUNOS

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

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

Описание

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

Требования (к хосту, на котором выполняется модуль)

  • jxmlease
  • ncclient (>=v0.5.2)

Параметры

параметр обязательно по умолчанию выбор комментарии
commands
нет
Команды для отправки на удалённое устройство junos через настроенный поставщик. Результирующий вывод команды возвращается. Если задан аргумент wait_for, модуль не возвращается, пока условие не выполнится или не будет превышено количество повторных попыток.
display
(добавлен в 2.3)
нет зависит от входного аргумента I(rpcs) или I(commands)
  • text
  • json
  • xml
  • set
Схема кодирования для сериализации вывода с устройства. Это определяет, как правильно интерпретировать вывод и применять условные пути к набору результатов. Для аргумента rpcs значение по умолчанию для display — xml, а для аргумента commands — text. Значение set применимо только для извлечения конфигурации с устройства.
псевдонимы: формат, вывод
interval
нет 1
Настраивает интервал в секундах ожидания между повторными попытками выполнения команды. Если команда не удовлетворяет указанному условию, интервал определяет, как долго ждать перед повторной попыткой выполнения команды.
match
(добавлен в 2.2)
нет all
  • any
  • all
Аргумент match используется совместно с аргументом wait_for для указания политики сопоставления. Допустимые значения — all или any. Если значение установлено на all, должны быть выполнены все условия в wait_for. Если значение установлено на any, должно быть выполнено только одно из условий.
provider
нет
Объект типа dict, содержащий данные подключения.
Объект типа dict provider
параметр обязательно по умолчанию выбор комментарии
username
нет
Настраивает имя пользователя для аутентификации соединения с удалённым устройством. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_USERNAME.
host
да
Указывает имя хоста DNS или адрес для подключения к удалённому устройству через указанный транспорт. Значение host используется в качестве целевого адреса для транспорта.
ssh_keyfile
нет
Указывает SSH-ключ для аутентификации соединения с удалённым устройством. Это значение — путь к ключу, используемому для аутентификации сессии SSH. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_SSH_KEYFILE.
timeout
нет 10
Указывает таймаут в секундах для связи с сетевым устройством при подключении или отправке команд. Если таймаут превышен до завершения операции, модуль вернёт ошибку.
password
нет
Указывает пароль для аутентификации соединения с удалённым устройством. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_PASSWORD.
port
нет 22
Указывает порт для подключения к удалённому устройству. Значение порта по умолчанию — 22 (для transport=cli) или 830 (для transport=netconf) устройства.
retries
нет 10
Указывает количество попыток выполнения команды перед её признанием неудачной. Команда выполняется на целевом устройстве при каждой попытке и оценивается по условиям wait_for.
rpcs
(добавлен в 2.3)
нет
Аргумент rpcs принимает список RPC для выполнения в рамках сессии netconf, а результаты выполнения RPC возвращаются в словарь результатов модуля в playbook.
wait_for
(добавлен в 2.2)
нет
Определяет, что оценивать из вывода команды и какие условия применять. Этот аргумент заставляет задачу ожидать выполнения определённого условия перед продолжением. Если условие не выполняется в течение заданного количества попыток, задача завершается с ошибкой. См. примеры.
псевдонимы: waitfor

Примеры

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

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

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

- name: run multiple commands and evaluate the output
  junos_command:
    commands:
      - show version
      - show interfaces
    wait_for:
      - result[0] contains Juniper
      - result[1] contains Loopback0

- name: run commands and specify the output format
  junos_command:
    commands: show version
    display: json

- name: run rpc on the remote device
  junos_command:
    commands: show configuration
    display: set

- name: run rpc on the remote device
  junos_command:
    rpcs: get-software-information

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

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

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

Примечания

Примечание

  • Для работы этого модуля на управляемом удалённом устройстве необходимо включить системную службу netconf.
  • Тестировалось на vSRX JUNOS версии 15.1X49-D15.4, vqfx-10000 JUNOS Версия 15.1X53-D60.4.

Статус

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

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

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

Spec-Zone.ru

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