junipernetworks.junos.junos_rpc – Выполняет произвольный RPC через NetConf на устройстве Juniper JUNOS
Примечание
Этот плагин входит в коллекцию junipernetworks.junos (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install junipernetworks.junos
Для использования в плейбуке укажите: junipernetworks.junos.junos_rpc
В версии 1.0.0: модуля junipernetworks.junos
Обзор
- Отправляет запрос удаленному устройству с JUNOS для выполнения указанного RPC с помощью транспорта NetConf. Затем ответ возвращается в плейбук в ключе
xml. Если запрошен другой формат вывода, ответ преобразуется в запрошенный формат.
Примечание
У этого модуля есть соответствующий плагин действий.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- ncclient (>=v0.5.2)
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| args словарь |
Аргумент args предоставляет набор аргументов для вызова RPC и кодируется в сообщении запроса. Этот аргумент принимает набор аргументов вида ключ=значение. |
||
| attrs словарь |
Аргументы attrs определяют список атрибутов и их значений для установки для вызова RPC. Принимает словарь ключ-значение. |
||
| output строка |
|
Аргумент output задает желаемый вывод данных ответа. Этот аргумент принимает одно из значений xml, text, или json. Для json, устройство JUNOS должно использовать версию программного обеспечения, поддерживающую вывод в формате JSON. |
|
| provider словарь |
Устарело
Начиная с Ansible 2.5, рекомендуем использовать
connection: network_cli или connection: netconf. Дополнительную информацию см. в руководстве по платформе Junos OS 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 строка |
|
Настройка транспорта для подключения к удаленному устройству. |
|
| username строка |
Указывает имя пользователя для аутентификации подключения к удаленному устройству. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_USERNAME. |
||
| rpc строка / обязательно |
Аргумент rpc указывает вызов RPC для выполнения на удаленных устройствах. Сообщение ответа RPC анализируется, и его содержимое возвращается в плейбук. |
||
Примечания
Примечание
- Для работы этого модуля на удаленном управляемом устройстве необходимо включить системную службу netconf.
- Проверено на vSRX JUNOS версии 15.1X49-D15.4, vqfx-10000 JUNOS версии 15.1X53-D60.4.
- Рекомендуемое подключение -
netconf. См. руководство по вариантам платформы Junos OS. - Этот модуль также работает с подключениями
localдля плейбуков старого образца. - Сведения об использовании CLI и netconf см. в руководстве Junos OS Platform Options
- Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в руководстве Ansible Network Guide
- Дополнительную информацию об использовании Ansible для управления устройствами Juniper см. на https://www.ansible.com/ansible-juniper.
Примеры
- name: collect interface information using rpc
junipernetworks.junos.junos_rpc:
rpc: get-interface-information
args:
interface-name: em0
media: true
- name: get system information
junipernetworks.junos.junos_rpc:
rpc: get-system-information
- name: load configuration
junipernetworks.junos.junos_rpc:
rpc: load-configuration
attrs:
action: override
url: /tmp/config.conf
Возвращаемые значения
Общие значения возврата описаны в здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| output строка |
всегда | Ответ rpc, преобразованный в указанный формат вывода. |
| output_lines список / элементы=строка |
всегда | Текст ответа, разделенный на строки для лучшей читаемости. |
| xml строка |
всегда | Строка xml ответа на запрос rpc. |
Авторы
- Peter Sprygada (@privateip)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/junipernetworks/junos/junos_rpc_module.html