netconf_config - netconf device configuration

New in version 2.2.

Synopsis

  • Netconf is a network management protocol developed and standardized by the IETF. It is documented in RFC 6241.
  • This module allows the user to send a configuration XML file to a netconf device, and detects if there was a configuration change.

Requirements (on host that executes module)

  • python >= 2.6
  • ncclient

Options

parameter required default choices comments
allow_agent
(added in 2.4)
no True
if true, enables querying SSH agent (if found) for keys
if false, disables querying the SSH agent for ssh keys
datastore
(added in 2.4)
no auto
auto, uses candidate and fallback to running
candidate, edit <candidate/> datastore and then commit
running, edit <running/> datastore directly
host
yes
the hostname or ip address of the netconf device
hostkey_verify
no True
if true, the ssh host key of the device must match a ssh key present on the host
if false, the ssh host key of the device is not checked
look_for_keys
(added in 2.4)
no True
if true, enables looking in the usual locations for ssh keys (e.g. ~/.ssh/id_*)
if false, disables looking for ssh keys
password
yes
password of the user to authenticate with
port
no 830
the netconf port
save
(added in 2.4)
no
The save argument instructs the module to save the running- config to the startup-config if changed.
src
(added in 2.4)
no
Specifies the source path to the xml file that contains the configuration or configuration template to load. The path to the source file can either be the full path on the Ansible control host or a relative path from the playbook or role root directory. This argument is mutually exclusive with xml.
username
yes
the username to authenticate with
xml
no
the XML content to send to the device

Examples

- name: set ntp server in the device
  netconf_config:
    host: 10.0.0.1
    username: admin
    password: admin
    xml: |
        <config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">
            <system xmlns="urn:ietf:params:xml:ns:yang:ietf-system">
                <ntp>
                    <enabled>true</enabled>
                    <server>
                        <name>ntp1</name>
                        <udp><address>127.0.0.1</address></udp>
                    </server>
                </ntp>
            </system>
        </config>

- name: wipe ntp configuration
  netconf_config:
    host: 10.0.0.1
    username: admin
    password: admin
    xml: |
        <config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">
            <system xmlns="urn:ietf:params:xml:ns:yang:ietf-system">
                <ntp>
                    <enabled>false</enabled>
                    <server operation="remove">
                        <name>ntp1</name>
                    </server>
                </ntp>
            </system>
        </config>

Return Values

Common return values are documented here Return Values, the following are the fields unique to this module:

name description returned type sample
server_capabilities
list of capabilities of the server
success list ['urn:ietf:params:netconf:base:1.1', 'urn:ietf:params:netconf:capability:confirmed-commit:1.0', 'urn:ietf:params:netconf:capability:candidate:1.0']

Notes

Note

  • This module supports devices with and without the candidate and confirmed-commit capabilities. It always use the safer feature.

Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/netconf_config_module.html