ansible.netcommon.netconf_rpc – Выполнение операций на устройствах сети с поддержкой NETCONF.
Примечание
Этот плагин является частью коллекции ansible.netcommon (версия 1.4.1).
Для его установки используйте: ansible-galaxy collection install ansible.netcommon.
Для использования в плейбуке укажите: ansible.netcommon.netconf_rpc.
Новое в версии 1.0.0: модуля ansible.netcommon
Обзор
- 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
ansible.netcommon.netconf_rpc:
rpc: lock
content:
target:
candidate:
- name: unlock candidate
ansible.netcommon.netconf_rpc:
rpc: unlock
xmlns: urn:ietf:params:xml:ns:netconf:base:1.0
content: "{'target': {'candidate': None}}"
- name: discard changes
ansible.netcommon.netconf_rpc:
rpc: discard-changes
- name: get-schema
ansible.netcommon.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
ansible.netcommon.netconf_rpc:
rpc: copy-config
content:
source:
running:
target:
startup:
- name: get schema list with JSON output
ansible.netcommon.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
ansible.netcommon.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 в качестве отображения он возвращается как словарь, если отображением является xml или pretty, он возвращается как строка, кроме случаев низкоуровневых ошибок (например, плагин действий) | В зависимости от параметра отображения возвращается либо набор преобразованных XML-данных в формате JSON (тип dict) либо удобочитаемый (human-readable) XML-строковый ответ (pretty XML), либо ответ с удалёнными XML-пространствами имён. | |
| formatted_output строка | успешно | Содержит отформатированный ответ, полученный от удалённого хоста в соответствии с выбранным форматом отображения. | |
| stdout строка | всегда, кроме низкоуровневых ошибок (таких как плагин действий) | Необработанная XML-строка, содержащая данные конфигурации или состояния, полученные из подлежащей библиотеки ncclient. Пример: ... | |
| stdout_lines список / элементы=строки | всегда, кроме низкоуровневых ошибок (таких как плагин действий) | Значение stdout, разделенное на список Пример: ['...', '...'] | |
Авторы
- 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.10/collections/ansible/netcommon/netconf_rpc_module.html