Spec-Zone.ru › Ansible 2.9

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

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

Описание

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

Требования

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

  • jxmlease
  • ncclient (>=v0.5.2)

Параметры

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

Псевдонимы: format, output
interval
-
Значение по умолчанию:
1
Настройка интервала в секундах для ожидания между повторами команды. Если команда не удовлетворяет указанным условиям, интервал определяет, как долго ждать перед повторной попыткой.
match
-
    Варианты:
  • 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
-
Аргумент 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
  • Для получения дополнительной информации об использовании 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
список
Если display в формате xml
Набор преобразованных xml в json из ответов команд

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

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

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


Статус

  • Модуль не гарантирует обратной совместимости интерфейса. [preview]
  • Этот модуль поддерживается командой Ansible Network. [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.9/modules/junos_command_module.html

Spec-Zone.ru

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