Spec-Zone.ru › Ansible

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

Примечание

Этот модуль является частью коллекции junipernetworks.junos (версия 8.0.0).

Эта коллекция может быть уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install junipernetworks.junos. Для использования этого модуля требуются дополнительные компоненты, см. Требования для получения подробной информации.

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

Новое в junipernetworks.junos 1.0.0

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

Краткое описание

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

Псевдонимы: command

Требования

Следующие требования необходимы на хосте, который выполняет этот модуль.

  • jxmlease
  • ncclient (>=v0.5.2)

Параметры

Параметр

Комментарии

commands

список / элементы=строка

Команды для отправки на удаленное устройство junos. Возвращается результирующий вывод команды. Если указан аргумент wait_for, модуль не возвращается до тех пор, пока условие не будет выполнено или не будет превышено количество попыток.

display

псевдонимы: format, output

строка

Схема кодирования, используемая при сериализации вывода с устройства. Это определяет, как правильно понимать вывод и применять условные пути к результирующему набору. Для аргумента rpcs значением по умолчанию для display является xml, а для аргумента commands значением по умолчанию для display является text. Значение set применимо только для получения конфигурации с устройства.

Варианты:

  • "text"
  • "json"
  • "xml"
  • "set"

interval

целое число

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

Значение по умолчанию: 1

match

строка

Аргумент match используется в сочетании с аргументом wait_for для указания политики сопоставления. Допустимые значения: all или any. Если значение установлено в all, то должны быть выполнены все условия в wait_for. Если значение установлено в any, то должно быть выполнено только одно из условий.

Варианты:

  • "any"
  • "all" ← (по умолчанию)

retries

целое число

Указывает количество попыток выполнения команды, прежде чем она будет считаться неудачной. Команда выполняется на целевом устройстве при каждой попытке и оценивается по условиям wait_for.

Значение по умолчанию: 10

rpcs

список / элементы=строка

Аргумент rpcs принимает список RPC, которые должны быть выполнены через сеанс netconf, и результаты выполнения RPC возвращаются в playbook через словарь результатов модулей.

wait_for

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

список / элементы=строка

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

Примечания

Примечание

  • Этот модуль требует, чтобы системная служба netconf была включена на удаленном управляемом устройстве.
  • Протестировано на vSRX JUNOS версии 15.1X49-D15.4, vqfx-10000 JUNOS версии 15.1X53-D60.4.
  • Рекомендуемое подключение — netconf. См. Параметры платформы Junos OS.
  • Этот модуль также работает с подключениями network_cli и с подключениями local для устаревших playbook.
  • Дополнительная информация об использовании CLI и netconf см. в руководстве :ref:`Параметры платформы Junos OS <junos_platform_options>`
  • Дополнительная информация об использовании Ansible для управления сетевыми устройствами см. в :ref:`Сетевом руководстве 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

список / элементы=строка

Набор преобразованных XML в JSON данных из ответов команд

Возвращается: Если отображение в формате xml.

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

stdout

список / элементы=строка

Набор ответов от команд

Возвращается: всегда, кроме ошибок низкого уровня (таких как плагин действия)

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

stdout_lines

список / элементы=строка

Значение stdout, разделенное на список

Возвращается: всегда, кроме ошибок низкого уровня (таких как плагин действия)

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

Авторы

  • Peter Sprygada (@privateip)

Ссылки на коллекции

  • Система отслеживания ошибок
  • Репозиторий (исходные коды)

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

Spec-Zone.ru

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