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
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращенное значение | Описание | |
|---|---|---|---|
| output сложный | если формат отображения выбран как JSON, он возвращается как тип dict, если формат отображения xml или pretty, он возвращается как строка, за исключением ошибок низкого уровня (например, плагин действия). | В зависимости от значения параметра display, возвращается либо набор преобразованного XML в формат JSON (тип dict) из ответа RPC, либо красивый XML-строковый ответ (удобный для чтения), либо ответ с удаленными из XML-строки именами пространств. | |
| formatted_output - | | ||
| stdout строка | всегда, за исключением ошибок низкого уровня (например, плагин действия) | Необработанная XML-строка, содержащая данные конфигурации или состояния, полученные из базовой библиотеки ncclient. Пример: ... | |
| stdout_lines список | всегда, за исключением ошибок низкого уровня (например, плагин действия) | Значение stdout разделено на список. Пример: ['...', '...'] | |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [предварительная версия]
- Этот модуль поддерживается командой Ansible Network. [сетевой]
Поддержка Red Hat
Дополнительную информацию о поддержке 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.8/modules/netconf_rpc_module.html