netconf_get — Получение данных конфигурации/состояния из сетевых устройств, поддерживающих NETCONF.
Новая версия в версии 2.6.
Обзор
- NETCONF — это сетевой протокол управления, разработанный и стандартизированный IETF. Он описан в RFC 6241.
- Этот модуль позволяет пользователю получать данные конфигурации и состояния из сетевых устройств, поддерживающих NETCONF.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- ncclient (>=v0.5.2)
- jxmlease
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| display |
| Схема кодирования, используемая при сериализации выходных данных устройства. Вариант json сериализует выходные данные как данные JSON. Если значение параметра равно json, требуется установка jxmlease на контрольном узле. Вариант pretty аналогичен полученному XML-ответу, но использует удобочитаемый формат (пробелы, новые строки). Вариант xml аналогичен полученному XML-ответу, но удаляет все XML-пространства имен. |
| filter | Этот аргумент задаёт строку XML, которая действует как фильтр для ограничения частей данных, извлекаемых с удалённого устройства. Если этот параметр не указан, в результате возвращаются все данные конфигурации или состояния в зависимости от значения параметра source. Значение filter может быть либо строкой XML, либо XPath, если фильтр представлен в формате XPath, сервер NETCONF, работающий на удалённом узле, должен поддерживать функцию XPath, иначе это приведёт к ошибке. | |
| lock |
| Инструктирует модуль явно заблокировать хранилище данных, указанное как source, перед извлечением данных конфигурации и/или состояния с удалённого узла. Если значение равно never, в этом случае хранилище данных source никогда не блокируется; если значение равно if-supported, хранилище данных source блокируется только в том случае, если сервер Netconf, работающий на удалённом узле, поддерживает блокировку этого хранилища данных; если блокировка хранилища данных source не поддерживается, модуль сообщит об соответствующей ошибке перед выполнением блокировки. Если значение равно always, операция блокировки хранилища данных source всегда будет выполнена независимо от того, поддерживает ли это удалённый узел, если нет, модуль завершится с сообщением об ошибке, полученным с удалённого узла, и может отличаться в зависимости от платформы. |
| source |
| Этот аргумент задаёт хранилище данных, из которого должны извлекаться данные конфигурации. Допустимые значения — running, candidate и startup. Если значение source не задано, в ответ возвращаются данные конфигурации и состояния из хранилища running. |
Примечания
Примечание
- Для работы этого модуля на управляемом удалённом устройстве должна быть включена служба NETCONF.
- Этот модуль поддерживает использование connection=netconf
Примеры
- name: Get running configuration and state data
netconf_get:
- name: Get configuration and state data from startup datastore
netconf_get:
source: startup
- name: Get system configuration data from running datastore state (junos)
netconf_get:
source: running
filter: <configuration><system></system></configuration>
- name: Get configuration and state data in JSON format
netconf_get:
display: json
- name: get schema list using subtree w/ namespaces
netconf_get:
format: json
filter: <netconf-state xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring"><schemas><schema/></schemas></netconf-state>
lock: False
- name: get schema list using xpath
netconf_get:
format: json
filter: /netconf-state/schemas/schema
- name: get interface confiugration with filter (iosxr)
netconf_get:
filter: <interface-configurations xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-ifmgr-cfg"></interface-configurations>
- name: Get system configuration data from running datastore state (sros)
netconf_get:
source: running
filter: <state xmlns="urn:nokia.com:sros:ns:yang:sr:conf"/>
lock: True
- name: Get state data (sros)
netconf_get:
filter: <state xmlns="urn:nokia.com:sros:ns:yang:sr:state"/>
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие — поля, уникальные для данного модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| output сложное | если формат отображения выбран как JSON, он возвращается как тип dict; если формат отображения xml или pretty, он возвращается как строка, за исключением ошибок низкого уровня (таких как плагин действия). | В зависимости от параметра display возвращается либо набор преобразованных данных XML в формате JSON типа dict, либо красивое XML-строковое представление (удобное для чтения) или ответ со удалёнными XML-пространствами имён. | |
| formatted_output | | ||
| stdout строка | всегда, за исключением ошибок низкого уровня (таких как плагин действия) | Необработанная XML-строка, содержащая данные конфигурации или состояния, полученные из библиотеки ncclient. Пример: ... | |
| stdout_lines список | всегда, за исключением ошибок низкого уровня (таких как плагин действия) | Значение stdout, разделенное на список Пример: ['...', '...'] | |
Статус
Этот модуль помечен как preview, что означает, что его интерфейс не гарантируется как обратная совместимость.
Техническое обслуживание
Этот модуль помечен как network, что означает, что его поддерживает команда Ansible Network Team. Подробнее см. Техническое обслуживание и поддержка модулей.
Список других модулей, также поддерживаемых Ansible Network Team, см. здесь.
Поддержка
Дополнительную информацию о поддержке этого модуля 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_get_module.html