ansible.netcommon.restconf_config – Handles create, update, read and delete of configuration data on RESTCONF enabled devices.

Note

This plugin is part of the ansible.netcommon collection.

To install it use: ansible-galaxy collection install ansible.netcommon.

To use it in a playbook, specify: ansible.netcommon.restconf_config.

New in version 1.0.0: of ansible.netcommon

Synopsis

  • RESTCONF is a standard mechanisms to allow web applications to configure and manage data. RESTCONF is a IETF standard and documented on RFC 8040.

  • This module allows the user to configure data on RESTCONF enabled devices.

Parameters

Parameter Choices/Defaults Comments
content
string
The configuration data in format as specififed in format option. Required unless method is delete.
format
string
    Choices:
  • json ←
  • xml
The format of the configuration provided as value of content. Accepted values are xml and json and the given configuration format should be supported by remote RESTCONF server.
method
string
    Choices:
  • post ←
  • put
  • patch
  • delete
The RESTCONF method to manage the configuration change on device. The value post is used to create a data resource or invoke an operation resource, put is used to replace the target data resource, patch is used to modify the target resource, and delete is used to delete the target resource.
path
string / required
URI being used to execute API calls.

Examples

- name: create l3vpn services
  ansible.netcommon.restconf_config:
    path: /config/ietf-l3vpn-svc:l3vpn-svc/vpn-services
    content: |
      {
        "vpn-service":[
                        {
                          "vpn-id": "red_vpn2",
                          "customer-name": "blue",
                          "vpn-service-topology": "ietf-l3vpn-svc:any-to-any"
                        },
                        {
                          "vpn-id": "blue_vpn1",
                          "customer-name": "red",
                          "vpn-service-topology": "ietf-l3vpn-svc:any-to-any"
                        }
                      ]
       }

Return Values

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

Key Returned Description
candidate
dictionary
When the method is not delete
The configuration sent to the device.

Sample:
{ "vpn-service": [ { "customer-name": "red", "vpn-id": "blue_vpn1", "vpn-service-topology": "ietf-l3vpn-svc:any-to-any" } ] }
running
dictionary
When the method is not delete
The current running configuration on the device.

Sample:
{ "vpn-service": [ { "vpn-id": "red_vpn2", "customer-name": "blue", "vpn-service-topology": "ietf-l3vpn-svc:any-to-any" }, { "vpn-id": "blue_vpn1", "customer-name": "red", "vpn-service-topology": "ietf-l3vpn-svc:any-to-any" } ] }


Authors

  • Ganesh Nalawade (@ganeshrn)