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.
Примеры
- 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, либо красивый строковый ответ XML (удобный для чтения) или ответ со снятым XML-пространством имён. |
|
| formatted_output |
|||
| stdout строка |
всегда за исключением ошибок низкого уровня (таких как плагин действия) | Необработанная строка XML, содержащая данные конфигурации или состояния, полученные из подлежащей библиотеки ncclient. Пример: ... |
|
| stdout_lines список |
всегда за исключением ошибок низкого уровня (таких как плагин действия) | Значение stdout разбито на список. Пример: ['...', '...'] |
|
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется обратной совместимостью.
Техническое обслуживание
Этот модуль помечен как сетевой, что означает, что его поддерживает команда Ansible по работе с сетями. Дополнительную информацию см. в разделе Техническое обслуживание и поддержка модулей.
Список других модулей, также поддерживаемых командой Ansible по работе с сетями, см. здесь.
Поддержка
Дополнительную информацию о поддержке этого модуля компанией 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.6/modules/netconf_rpc_module.html