Spec-Zone.ru › Ansible 2.10

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

Примечание

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

Для его установки используйте: 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 указан, модуль не возвращает результат, пока условие не будет выполнено или не будет превышено количество повторов.
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
целое число
Указывает порт для подключения к удаленному устройству. Значение порта по умолчанию — общеизвестный порт SSH 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 по сетям
  • Дополнительную информацию об использовании 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/junipernetworks/junos/junos_command_module.html

Spec-Zone.ru

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