junos_rpc - Выполняет произвольный RPC через NetConf на устройстве Juniper JUNOS
Новое в версии 2.3.
Описание
- Отправляет запрос удаленному устройству с JUNOS для выполнения указанного RPC с использованием транспорта NetConf. Затем ответ возвращается в плейбук в ключе
xml. Если запрошен альтернативный формат вывода, ответ преобразуется в запрошенный формат.
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- ncclient (>=v0.5.2)
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| args | Аргумент args предоставляет набор аргументов для вызова RPC и кодируется в сообщении запроса. Этот аргумент принимает набор аргументов вида ключ=значение. |
||
| attrs (добавлено в 2.5) |
Аргументы attrs определяют список атрибутов и их значений для установки для вызова RPC. Принимает словарь пар ключ-значение. |
||
| output | Значение по умолчанию: "xml" |
Аргумент output задает желаемый формат выходных данных возвращаемых данных. Этот аргумент принимает одно из значений xml, text, или json. Для json, устройство JUNOS должно работать с версией программного обеспечения, поддерживающей собственный вывод JSON. |
|
| provider | Устарело
Начиная с Ansible 2.5, рекомендуется использовать
connection: network_cli или connection: netconf.
Для получения дополнительной информации, см. руководство Junos OS Platform Options.
Объект словаря, содержащий данные подключения. |
||
| host обязательно |
Указывает имя хоста DNS или адрес для подключения к удаленному устройству через указанный транспорт. Значение host используется в качестве адреса назначения для транспорта. |
||
| port | Значение по умолчанию: 22 |
Указывает порт для использования при создании соединения с удалённым устройством. Значение порта по умолчанию – общеизвестный порт SSH 22 (для transport=cli) или порт 830 (для transport=netconf) устройства. |
|
| username | Настраивает имя пользователя для аутентификации соединения с удалённым устройством. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, будет использоваться значение переменной среды ANSIBLE_NET_USERNAME. |
||
| password | Указывает пароль для аутентификации соединения с удаленным устройством. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, будет использоваться значение переменной среды ANSIBLE_NET_PASSWORD. |
||
| timeout | Значение по умолчанию: 10 |
Указывает таймаут в секундах для связи с сетевым устройством при подключении или отправке команд. Если таймаут истечет до завершения операции, модуль выдаст ошибку. |
|
| ssh_keyfile | Указывает SSH-ключ для аутентификации соединения с удаленным устройством. Это значение – путь к ключу, используемому для аутентификации сеанса SSH. Если значение не указано в задаче, будет использоваться значение переменной среды ANSIBLE_NET_SSH_KEYFILE. |
||
| 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 Network Guide
- Дополнительную информацию по использованию Ansible для управления сетевыми устройствами Juniper см. на https://www.ansible.com/ansible-juniper.
Примеры
- name: collect interface information using rpc
junos_rpc:
rpc: get-interface-information
args:
interface-name: em0
media: True
- name: get system information
junos_rpc:
rpc: get-system-information
- name: load configuration
junos_rpc:
rpc: load-configuration
attrs:
action: override
url: /tmp/config.conf
Возвращаемые значения
Общие возвращаемые значения описаны в здесь, следующие – поля, уникальные для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| output строка |
всегда | Ответ rpc, преобразованный в формат вывода. |
| output_lines список |
всегда | Текст вывода, разделенный на строки для лучшей читаемости. |
| xml строка |
всегда | Строка xml ответа от запроса rpc. |
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантированно будет обратной совместимостью.
Техническое обслуживание
Этот модуль помечен как сетевой, что означает, что его техническое обслуживание выполняется Командой по поддержке Ansible Network. См. Техническое обслуживание и поддержка модулей для получения дополнительной информации.
Список других модулей, которые также обслуживаются Командой по поддержке Ansible Network, см. здесь.
Поддержка
Дополнительную информацию о поддержке этого модуля компанией 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.6/modules/junos_rpc_module.html