netconf_rpc – Выполнение операций на устройствах сети с поддержкой NETCONF
Новая версия 2.6.
Обзор
- NETCONF — это протокол управления сетью, разработанный и стандартизированный IETF. Он документирован в RFC 6241.
- Этот модуль позволяет пользователю выполнять запросы NETCONF RPC, определенные стандартами IETF RFC, а также запросы, являющиеся собственностью.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- ncclient (>=v0.5.2)
- jxmlease
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| content - | Этот аргумент указывает необязательное содержимое запроса (все атрибуты RPC). Значение content может быть предоставлено как строка в формате XML или как словарь. | |
| display - |
| Схема кодирования, используемая при сериализации выходных данных из устройства. Вариант json сериализует вывод как данные JSON. Если значение параметра равно json, требуется установка jxmlease на контрольном узле. Вариант pretty похож на полученный XML-ответ, но использует удобочитаемый формат (пробелы, новые строки). Вариант xml похож на полученный XML-ответ, но удаляет все XML-пространства имен. |
| rpc - | Этот аргумент указывает запрос (имя операции), который необходимо выполнить на удаленном устройстве с поддержкой NETCONF. | |
| xmlns - | Операции NETCONF, не определенные в rfc6241, обычно требуют установки соответствующего XML-пространства имен. В случае, если параметр request еще не предоставлен в формате XML, пространство имен можно определить с помощью параметра xmlns. |
Примечания
Примечание
- Для работы этого модуля необходимо включить системную службу NETCONF на удаленном управляемом устройстве.
- Этот модуль поддерживает использование connection=netconf
- Для выполнения запросов
get-config,getилиedit-configрекомендуется использовать модули Ansible netconf_get и netconf_config. - Этот модуль поддерживается на
ansible_network_osсетевых платформах. Подробности см. в Параметрах сетевой платформы.
Примеры
- name: lock candidate
netconf_rpc:
rpc: lock
content:
target:
candidate:
- name: unlock candidate
netconf_rpc:
rpc: unlock
xmlns: "urn:ietf:params:xml:ns:netconf:base:1.0"
content: "{'target': {'candidate': None}}"
- name: discard changes
netconf_rpc:
rpc: discard-changes
- name: get-schema
netconf_rpc:
rpc: get-schema
xmlns: urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring
content:
identifier: ietf-netconf
version: "2011-06-01"
- name: copy running to startup
netconf_rpc:
rpc: copy-config
content:
source:
running:
target:
startup:
- name: get schema list with JSON output
netconf_rpc:
rpc: get
content: |
<filter>
<netconf-state xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring">
<schemas/>
</netconf-state>
</filter>
display: json
- name: get schema using XML request
netconf_rpc:
rpc: "get-schema"
xmlns: "urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring"
content: |
<identifier>ietf-netconf-monitoring</identifier>
<version>2010-10-04</version>
display: json
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается командой Ansible по работе с сетями. [сетевой]
Поддержка Red Hat
Дополнительную информацию о поддержке этого модуля компанией Red Hat можно найти в этой статье базы знаний Red Hat.
Авторы
- Ganesh Nalawade (@ganeshrn)
- Sven Wisotzky (@wisotzky)
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 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/netconf_rpc_module.html