Connectivity Guide

Table Of Contents
RESTCONF API tasks
Using the RESTCONF API, you can provision OS10 switches using HTTPS requests. The examples in this section show how to access the
OS10 RES
TCONF API using curl commands. curl is a Linux shell command that generates HTTPS requests and is executed on an external
server.
curl Commands
curl command options include:
-X
specifies the HTTPS request type; for example, POST , PATCH, or GET.
-u specifies the user name and password to use for server authentication.
-k specifies a text file to read curl arguments from. The command line arguments found in the text file will be used as if they
were provided on the command line. Use the IP address or URL of the OS10 switch when you access the OS10 RESTCONF API from
a remote orchestration system.
-H specifies an extra header to include in the request when sending HTTPS to a server. You can enter multiple extra headers.
-d sends the specified data in an HTTPS request.
In curl commands, use %2F to represent a backslash (/); for example, enter ethernet1/2/3 as ethernet1%2F1%2F3.
View XML structure of CLI commands
To use the RESTCONF API to con
gure and monitor an OS10 switch, create an HTTPS request with data parameters in JSON format. The
JSON data parameters correspond to the same parameters in the XML structure of an OS10 command.
To display the parameter values in the XML code of an OS10 command as reference, use the debug cli netconf command in EXEC
mode. In CONFIGURATION mode, use the
do debug cli netconf command.
This command enables a CLI-to-XML display. At the prompt, enter the OS10 command of the XML request and the reply you need. To exit
the CLI-
to-XML display, use the no debug cli netconf command.
Locate the XML parameters values for the same JSON data arguments. For example, to con
gure VLAN 20 on an OS10 switch, enter the
RESTCONF endpoint and JSON contents in the curl command. Note how the JSON type and name parameters are displayed in the XML
structure of the interface vlan command.
RESTCONF endpoint:
/restconf/data/interfaces
JSON data content:
{
"interface": [{
"type": "iana-if-type:l2vlan",
"enabled": true,
“description”: “vlan20”,
"name": "vlan20"
}]
}
curl command:
curl -X POST –u admin:admin –k "https://10.11.86.113/restconf/data/interfaces"
-H "accept: application/json" -H "Content-Type: application/json"
-d '{ "interface": [{ "type": "iana-if-type:l2vlan", "enabled": true,
“description”:“vlan20”, "name
":"vlan20"}]}'
918 RESTCONF API