Spec-Zone.ru › Ansible 2.11

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

Примечание

Этот плагин входит в коллекцию junipernetworks.junos (версия 1.3.0).

Для его установки используйте: ansible-galaxy collection install junipernetworks.junos

Для использования в плейбуке укажите: junipernetworks.junos.junos_command

Добавлена в версии 1.0.0: модуля junipernetworks.junos

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Значения возврата

Обзор

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

Примечание

У этого модуля есть соответствующий плагин действий.

Требования

Ниже перечислены требования к хосту, на котором выполняется этот модуль.

  • jxmlease
  • ncclient (>=v0.5.2)

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
commands
список / элементы=строка
Команды, которые нужно отправить на удаленное устройство junos через настроенный поставщик. Результирующий вывод команды возвращается. Если предоставлен аргумент wait_for, модуль не возвращается, пока условие не будет выполнено или количество retries не будет превышено.
display
строка
    Варианты:
  • текст
  • json
  • xml
  • набор
Схема кодирования для сериализации вывода с устройства. Это обрабатывает, как правильно понимать вывод и применять условные пути к результатному набору. Для аргумента rpcs значение по умолчанию для параметра display — xml, а для аргумента commands — text. Значение set применимо только для извлечения конфигурации с устройства.

псевдонимы: формат, вывод
interval
целое число
По умолчанию:
1
Настраивает интервал в секундах ожидания между повторными попытками выполнения команды. Если команда не удовлетворяет указанному условному выражению, интервал указывает, как долго ждать перед повторной попыткой выполнения команды.
match
строка
    Варианты:
  • любой
  • все ←
Аргумент match используется совместно с аргументом wait_for для задания политики соответствия. Допустимые значения — all или any. Если значение установлено на all, то все условные выражения в wait_for должны быть выполнены. Если значение установлено на any, то достаточно выполнения только одного из них.
provider
словарь
Устарело
Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli или connection: netconf.
Дополнительную информацию можно найти в руководстве Junos OS Platform Options.
Объект словаря, содержащий данные подключения.
host
строка
Указывает имя хоста DNS или адрес для подключения к удаленному устройству через указанный транспорт. Значение host используется в качестве адреса назначения для транспорта.
password
строка
Указывает пароль для аутентификации подключения к удаленному устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_PASSWORD.
port
целое число
Указывает порт для подключения к удаленному устройству. Значение порта по умолчанию — 22 (для transport=cli) или 830 (для transport=netconf) устройства.
ssh_keyfile
путь
Указывает SSH-ключ для аутентификации подключения к удаленному устройству. Это значение — путь к ключу, используемому для аутентификации сеанса SSH. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_SSH_KEYFILE.
timeout
целое число
Указывает таймаут в секундах для связи с сетевым устройством при подключении или отправке команд. Если таймаут истечет до завершения операции, модуль выдаст ошибку.
transport
строка
    Варианты:
  • cli
  • netconf ←
Настраивает транспортное соединение для подключения к удаленному устройству.
username
строка
Настраивает имя пользователя для аутентификации подключения к удаленному устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_USERNAME.
retries
целое число
По умолчанию:
10
Указывает количество попыток выполнения команды до ее признания неудачной. Команда выполняется на целевом устройстве при каждой попытке и оценивается по условиям wait_for.
rpcs
список / элементы=строка
Аргумент rpcs принимает список RPC для выполнения в сеансе netconf, а результаты выполнения RPC возвращаются плейбуку в словаре результатов модуля.
wait_for
список / элементы=строка
Указывает, что нужно оценить из вывода команды и какие условия применять. Этот аргумент заставит задачу подождать, пока определенное условие не станет истинным, прежде чем продолжить. Если условие не станет истинным в течение настроенного количества попыток, задача завершится ошибкой. См. примеры.

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

Примечания

Примечание

  • Для работы этого модуля необходимо, чтобы служба netconf была включена на удаленном управляемом устройстве.
  • Проверено на vSRX JUNOS версии 15.1X49-D15.4, vqfx-10000 JUNOS версии 15.1X53-D60.4.
  • Рекомендуемое подключение — netconf. См. руководство Junos OS Platform Options.
  • Этот модуль также работает с подключениями network_cli и с подключениями local для плейбуков старого образца.
  • Сведения о работе с CLI и netconf см. в руководстве Junos OS Platform Options
  • Дополнительную информацию о работе с Ansible для управления сетевыми устройствами см. в руководстве Ansible Network Guide
  • Дополнительную информацию об использовании Ansible для управления сетевыми устройствами Juniper см. на https://www.ansible.com/ansible-juniper.

Примеры

- name: run show version on remote devices
  junipernetworks.junos.junos_command:
    commands: show version

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

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

- name: run multiple commands and evaluate the output
  junipernetworks.junos.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
  junipernetworks.junos.junos_command:
    commands: show version
    display: json

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

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

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

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

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

Пример:
['...', '...']
output
список / элементы=строка
Если display в формате xml
Набор преобразованных xml в json формат из ответов команд

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

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

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


Авторы

  • Peter Sprygada (@privateip)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/junipernetworks/junos/junos_command_module.html

Spec-Zone.ru

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