ansible.netcommon.netconf_rpc – Выполнение операций на устройствах сети с поддержкой NETCONF.
Примечание
Этот плагин входит в коллекцию ansible.netcommon (версия 1.5.0).
Для его установки используйте: 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 возвращается как dict, если формат отображения xml или pretty, возвращается как строка, за исключением ошибок низкого уровня (например, плагин действий). | В зависимости от значения параметра display возвращается набор преобразованных XML в JSON в формате dict или отформатированный строковый ответ XML (удобный для чтения) или ответ с удалёнными XML-пространствами имён. | |
| formatted_output строка | успешно | Содержит отформатированный ответ, полученный от удалённого узла, в соответствии со значением в формате отображения. | |
| stdout строка | всегда, за исключением ошибок низкого уровня (например, плагин действия) | Необработанная XML-строка, содержащая данные конфигурации или состояния, полученные из базовой библиотеки ncclient. Пример: ... | |
| stdout_lines список / элементы=строка | всегда, за исключением ошибок низкого уровня (например, плагин действия) | Значение stdout разбито на список Пример: ['...', '...'] | |
Авторы
- Ganesh Nalawade (@ganeshrn)
- Sven Wisotzky (@wisotzky)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ansible/netcommon/netconf_rpc_module.html