Spec-Zone.ru › Ansible 2.7

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 значение по умолчанию для отображения равно 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, стандартный SSH-порт (для 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 возвращаются в словарь результатов модуля в плейбуке.
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 для плейбуков старого формата.
  • Дополнительную информацию об использовании CLI и netconf см. в руководстве Junos OS Platform Options
  • Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в руководстве Ansible по сетям
  • Дополнительную информацию об использовании 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.

Авторы

  • Питер Спрыгада (@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.7/modules/junos_command_module.html

Spec-Zone.ru

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