Spec-Zone.ru › Ansible 2.8

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

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

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

Описание

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

Требования

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

  • jxmlease
  • ncclient (>=v0.5.2)

Параметры

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

псевдонимы: формат, вывод
interval
-
Значение по умолчанию:
1
Настраивает интервал в секундах ожидания между повторами выполнения команды. Если команда не удовлетворяет указанному условию, интервал указывает, как долго ждать перед повторной попыткой выполнения команды.
match
-
добавлено в 2.2
    Варианты:
  • any
  • all ←
Аргумент 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
Указывает порт для подключения к удаленному устройству. Значение порта по умолчанию — 22 (для transport=cli) или 830 (для transport=netconf) устройства.
ssh_keyfile
путь
Указывает SSH-ключ для аутентификации подключения к удаленному устройству. Это значение — путь к ключу, используемому для аутентификации сессии SSH. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_SSH_KEYFILE.
timeout
целое число
Значение по умолчанию:
10
Указывает таймаут в секундах для связи с сетевым устройством при подключении или отправке команд. Если таймаут превышен до завершения операции, модуль выдаст ошибку.
username
строка
Настраивает имя пользователя для аутентификации подключения к удаленному устройству. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_USERNAME.
retries
-
Значение по умолчанию:
10
Указывает количество попыток выполнения команды перед ее признанием неудачной. Команда выполняется на целевом устройстве при каждой повторной попытке и оценивается по условиям wait_for.
rpcs
-
добавлено в 2.3
Аргумент rpcs принимает список RPC, которые необходимо выполнить в сессии netconf, а результаты выполнения RPC возвращаются в словарь результатов модуля в playbook.
wait_for
-
добавлено в 2.2
Указывает, что нужно оценить по результатам выполнения команды и какие условия применить. Этот аргумент заставит задачу подождать выполнения определенного условия до перехода к следующему этапу. Если условие не выполняется в течение заданного количества попыток, задача завершится ошибкой. Смотрите примеры.

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

Примечания

Примечание

  • Для работы этого модуля требуется включенная служба netconf на удаленном управляемом устройстве.
  • Тестировано на vSRX JUNOS версии 15.1X49-D15.4, vqfx-10000 JUNOS версии 15.1X53-D60.4.
  • Рекомендуется использовать подключение netconf. Смотрите руководство Junos OS Platform Options.
  • Этот модуль также работает с подключениями network_cli и подключениями local для устаревших playbook.
  • Дополнительная информация об использовании 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
  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.
Набор преобразованных xml в json из ответов команд

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

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

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


Статус

  • Для этого модуля не гарантируется обратная совместимость. [превью]
  • Этот модуль поддерживается командой Ansible Network. [сетевой]

Поддержка Red Hat

Дополнительную информацию о поддержке этого модуля Red Hat можно найти в этой статье базы знаний 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.8/modules/junos_command_module.html

Spec-Zone.ru

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