junos_rpc – Выполняет произвольный RPC через NetConf на устройстве Juniper JUNOS
Описание
- Отправляет запрос на удаленное устройство, работающее под управлением JUNOS, для выполнения указанного RPC с использованием транспорта NetConf. Затем ответ возвращается в playbook в ключе
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 или адрес для подключения к удаленному устройству через указанный транспорт. Значение хоста используется в качестве адреса назначения для транспорта. | ||
| password строка | Указывает пароль для аутентификации подключения к удаленному устройству. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_PASSWORD. | ||
| port целое число | По умолчанию: 22 | Указывает порт для создания соединения с удаленным устройством. Значение порта по умолчанию равно общеизвестному порту SSH 22 (для transport=cli) или порту 830 (для устройства transport=netconf). | |
| ssh_keyfile путь | Указывает SSH-ключ для аутентификации подключения к удаленному устройству. Это значение — путь к ключу, используемому для аутентификации сессии SSH. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_SSH_KEYFILE. | ||
| timeout целое число | По умолчанию: 10 | Указывает таймаут в секундах для связи с сетевым устройством для подключения или отправки команд. Если таймаут истечет до завершения операции, модуль выдаст ошибку. | |
| username строка | Настраивает имя пользователя для аутентификации подключения к удаленному устройству. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_USERNAME. | ||
| rpc - / обязательно | Аргумент rpc указывает вызов RPC, который нужно отправить удаленным устройствам для выполнения. Сообщение ответа RPC анализируется, и его содержимое возвращается в playbook. | ||
Примечания
Примечание
- Для работы этого модуля необходимо включить системную службу netconf на удаленном управляемом устройстве.
- Тестировалось на vSRX JUNOS версии 15.1X49-D15.4, vqfx-10000 JUNOS Версии 15.1X53-D60.4.
- Рекомендуемое подключение —
netconf. См. Руководство по вариантам платформы Junos OS. - Этот модуль также работает с подключениями
localдля устаревших playbooks. - Для получения информации об использовании CLI и netconf см. Руководство по вариантам платформы Junos OS
- Для получения дополнительной информации об использовании Ansible для управления сетевыми устройствами см. Руководство по сети Ansible
- Для получения дополнительной информации об использовании 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. [сеть]
Поддержка Red Hat
Дополнительная информация о поддержке этого модуля Red Hat доступна в этой статье базы знаний 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.9/modules/junos_rpc_module.html