junipernetworks.junos.junos_rpc – Выполняет произвольный RPC через NetConf на устройстве Juniper JUNOS
Примечание
Этот плагин входит в коллекцию junipernetworks.junos (версия 1.2.1).
Для его установки используйте: 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 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 Platform Options. - Этот модуль также работает с подключениями
localдля устаревших книг задач. - Дополнительная информация об использовании CLI и netconf доступна в руководстве Junos OS Platform Options.
- Дополнительная информация об использовании Ansible для управления сетевыми устройствами доступна в Руководстве по сетям Ansible.
- Для получения дополнительной информации об использовании 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/junipernetworks/junos/junos_rpc_module.html