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-строковое представление с удаленными 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.7/modules/netconf_rpc_module.html