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

New in version 2.8.

- Synopsis

- Parameters

- Examples

- Return Values

- Status

## 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 - |  | The configuration data in format as specififed in `format` option. Required unless `method` is delete.

format
-

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
-

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 - / required |  | URI being used to execute API calls.

## Examples

    - name: create l3vpn services
      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" } ] }

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by the Ansible Network Team. [network]

### Red Hat Support

More information about Red Hat’s support of this module is available from this Red Hat Knowledge Base article.

### Authors

- Ganesh Nalawade (@ganeshrn)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.