The complete IP Capability API (methods and types) is defined in following WADL file:
Methods
Remember to execute the queue in order to apply setter methods to the physical device.
GetInterfaces
Returns the list of interfaces (names).
Value | Description | |
---|---|---|
URL | http://hostname:8888/opennaas/router | |
Method | GET | |
Body Parameter | - | |
Return | InterfacesNamesList | A list containing the name of all available interfaces. |
Return example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ns2:interfaces xmlns:ns2="opennaas.api"> <interface>fe-2/0/1.0</interface> <interface>fe-2/0/1.1</interface> <interface>fe-2/0/1.2</interface> <interface>ge-1/0/0.0</interface> </ns2:interfaces>
GetDescription
Value | Description | |
---|---|---|
URL | http://hostname:8888/opennaas/router | |
Method | GET | |
Body Parameter | - | |
Query Parameter | interface={interfaceName} | The name of the interface this operation applies to |
Return | Given interface description |
Return example:
An interface to nowhere
SetDescription
Value | Description | |
---|---|---|
URL | http://hostname:8888/opennaas/router | |
Method | POST | |
Body Parameter | Description | The description to set |
Query Parameter | interface={interfaceName} | The name of the interface this operation applies to |
Return | - |
Body sample:
An interface to nowhere
GetIPs
Value | Description | |
---|---|---|
URL | http://hostname:8888/opennaas/router | |
Method | GET | |
Body Parameter | - | - |
Query Parameter | interface={interfaceName} | The name of the interface this operation applies to |
Return | IPAddresses | List of IP addresses (ipv4 and ipv6) given interface has |
Return example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ns2:ipAddresses xmlns:ns2="opennaas.api"> <ipAddress>192.168.10.10/24</ipAddress> </ns2:ipAddresses>
SetIP
The SetIP method inserts the given IP in the specific interface, replacing the existing ones (if any) in the same family (either ipv4 or ipv6). It means, old IP addresses of the interface will be removed and it will contain only the new one. It accepts both ipv4 and ipv6 addresses.
Value | Description | |
---|---|---|
URL | http://hostname:8888/opennaas/router/{resourceName}/ip/interfaces/addresses/ip?interface={interfaceName} | |
Method | POST | |
Body Parameter | IPAddress | IP address to set with netmask prefix. (ipv4 and ipv6 supported). e.g. 192.168.50.10/24 |
Query Parameter | interface={interfaceName} | The name of the interface this operation applies to |
Return | - |
Body Example
Following example would set 192.168.50.10/24 address to interface specified in the query parameter.
192.168.50.10/24
SetIPv4 and SetIPv6
These methods have the same logic than SetIP but for a specific IP version. Their usage is exactly the same that SetIP but they have different URLs
SetIPv4 URL: http://hostname:8888/opennaas/router/{resourceName}/ip/interfaces/addresses/ipv4?interface={interfaceName}
SetIPv6 URL: http://hostname:8888/opennaas/router/{resourceName}/ip/interfaces/addresses/ipv6?interface={interfaceName}
AddIP
The AddIP method aggregates a new IP to the list of existing addresses of the specific interface. It accepts both ipv4 and ipv6 addresses.
This method has same syntax than SetIP but differs in the HTTP method, which has to be set to PUT.
Value | Description | |
---|---|---|
URL | http://hostname:8888/opennaas/router/{resourceName}/ip/interfaces/addresses/ip?interface={interfaceName} | |
Method | PUT | |
Body Parameter | IPAddress | IP address to set with netmask prefix. (ipv4 and ipv6 supported). e.g. 192.168.50.10/24 |
Query Parameter | interface={interfaceName} | The name of the interface this operation applies to |
Return | - |
Body Example
Following example would add 192.168.50.10/24 address to interface specified in the query parameter.
192.168.50.10/24
AddIPv4 and AddIPv6
These methods have the same logic than AddIP but for a specific IP version. Their usage is exactly the same that AddIP but they have different URLs
AddIPv4 URL: http://hostname:8888/opennaas/router/{resourceName}/ip/interfaces/addresses/ipv4?interface={interfaceName}
AddIPv6 URL: http://hostname:8888/opennaas/router/{resourceName}/ip/interfaces/addresses/ipv6?interface={interfaceName}
RemoveIP
The RemoveIP method deletes an existing IP of the list of addresses of the specific interface. It accepts both ipv4 and ipv6 addresses.
Value | Description | |
---|---|---|
URL | http://hostname:8888/opennaas/router/{resourceName}/ip/interfaces/addresses/ip?interface={interfaceName}&ip={ipAddress} | |
Method | DELETE | |
Body Parameter | - | |
Query Parameter | interface={interfaceName} | The name of the interface this operation applies to |
Query Parameter | ip={ipAddress} | IP address to delete with netmask prefix. (ipv4 and ipv6 supported). e.g. 192.168.50.10/24 |
Return | - |
RemoveIPv4 and RemoveIPv6
These methods have the same logic than RemoveIP but for a specific IP version. Their usage is exactly the same that RemoveIP but they have different URLs
RemoveIPv4 URL: http://hostname:8888/opennaas/router/{resourceName}/ip/interfaces/addresses/ipv4?interface={interfaceName}
RemoveIPv6 URL: http://hostname:8888/opennaas/router/{resourceName}/ip/interfaces/addresses/ipv6?interface={interfaceName}