WADL
URL
http://hostname:8888/opennaas/resources?_wadl
...
Code Block |
---|
theme | Eclipse |
---|
language | html/xml |
---|
title | ResourceManager.wadl |
---|
collapse | true |
---|
|
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://wadl.dev.java.net/2009/02" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<grammars>
<xs:schema xmlns="http://www.science.uva.nl/research/sne/ndl#" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://www.science.uva.nl/research/sne/ndl#">
<xs:import namespace="" />
<xs:element name="Device" type="device" />
<xs:element name="Interface" type="interface" />
<xs:element name="Layer" type="layer" />
<xs:element name="atLayer" type="layerId" />
<xs:element name="capacity" type="xs:string" />
<xs:element name="hasInterface" type="interfaceId" />
<xs:element name="linkTo" type="link" />
<xs:element name="name" type="xs:string" />
</xs:schema>
<xs:schema xmlns:ns1="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ns2="http://www.science.uva.nl/research/sne/ndl/domain#ndl#" attributeFormDefaultxmlns:ns3="unqualified" elementFormDefault="unqualified" targetNamespace="http://www.science.uva.nl/research/sne/ndl/domain#">
<xs:import namespace="" />
<xs:element name="NetworkDomain" type="networkDomain" / xmlns:ns4="org.opennaas.core.resources.descriptor.vcpe" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="org.opennaas.core.resources.descriptor.vcpe">
<xs:element name="hasDevice" type="deviceId" />
</xs:schema>
<xs:schema xmlns:ns1="import namespace="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ns2 />
<xs:import namespace="http://www.science.uva.nl/research/sne/ndl#" xmlns:ns3/>
<xs:import namespace="http://www.science.uva.nl/research/sne/ndl/domain#" xmlns:ns4="org.opennaas.core.resources.descriptor.vcpe" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace />
<xs:import namespace="org.opennaas.core.resources.descriptor.vcpe" />
<xs:import namespace="http://www.w3.org/1999/02/22-rdf-syntax-ns#element name="resourceDescriptor" type="resourceDescriptor" />
<xs:importelement namespacename="http://www.science.uva.nl/research/sne/ndl#" />
<xs:import namespace="http://www.science.uva.nl/research/sne/ndl/domain#resourceInfo" type="resourceInfo" />
<xs:importelement namespacename="org.opennaas.core.resources.descriptor.vcperesources" type="resourceListWrapper" />
<xs:element name="resourceDescriptorresourcesTypes" type="resourceDescriptorresourceTypeListWrapper" />
<xs:element name="vcpeNetworkDescriptor" type="vcpeNetworkDescriptor" />
<xs:complexType name="resourceDescriptorresourceInfo">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityDescriptorsresourceId" type="capabilityDescriptorxs:string" />
<xs:element minOccurs="0" name="fileTopologyname" type="xs:string" />
<xs:element minOccurs="0" name="idtype" type="xs:string" />
<xs:element minOccurs="0" name="informationstate" type="informationstate" />
<xs:element minOccurs="0" name="networkTopology" type="networkTopology" />
capabilities">
<xs:element minOccurs="0" name="profileId" type="xs:string" />
<xs:element name="properties">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="entrycapability">
nillable="true" type="xs:string" />
<xs:complexType></xs:sequence>
</xs:complexType>
<xs:sequence>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element minOccurs="0"complexType name="key" type="xs:string" /resourceTypeListWrapper">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="valueresourceType" type="xs:string" />
</xs:sequence>
<</xs:sequence>complexType>
<xs:complexType name="resourceListWrapper">
</xs:complexType><xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" </xs:element>name="resource" type="xs:string" />
</xs:sequence>
</xs:sequence>complexType>
<xs:complexType name="resourceDescriptor">
</xs:complexType> <xs:sequence>
</xs:element><xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityDescriptors" type="capabilityDescriptor" />
<xs:element minOccurs="0" name="fileTopology" type="resourceReferencesxs:string" />
<xs:complexType>
element minOccurs="0" name="id" type="xs:string" />
<xs:sequence>
element minOccurs="0" name="information" type="information" />
<xs:element maxOccursminOccurs="unbounded0" minOccursname="0networkTopology" nametype="entrynetworkTopology" />
<xs:element minOccurs="0" name="profileId" type="xs:string" />
<xs:complexType>element name="properties">
<xs:complexType>
<xs:sequence>
<xs:sequence>
<xs:element minOccursmaxOccurs="0unbounded" nameminOccurs="key0" typename="xs:stringentry" />
<xs:complexType>
<xs:element minOccurs="0" name="value" type="xs:string" />
<xs:sequence>
</xs:sequence>
<xs:element minOccurs="0" </xs:complexType>name="key" type="xs:string" />
</xs:element>
<xs:element minOccurs="0" name="value" type="xs:string" />
</xs:sequence>
</xs:complexType>
sequence>
</xs:element>
complexType>
</xs:sequence>
element>
</xs:complexType>sequence>
<xs:complexType name="capabilityDescriptor">
</xs:complexType>
<xs</xs:sequence>element>
<xs:element minOccurs="0" name="information" type="information" /resourceReferences">
<xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityProperty" type="capabilityProperty" />
complexType>
<xs:element minOccurs="0" name="enabled" type="xs:boolean" />
sequence>
<xs:element namemaxOccurs="idunbounded" typeminOccurs="xs:long0" /name="entry">
</xs:sequence>
</xs<xs:complexType>
<xs:complexType name="information">
<xs:sequence>
<xs:element minOccurs="0" name="description" type="xs:string" />
<xs:element minOccurs="0" name="namekey" type="xs:string" />
<xs:element minOccurs="0" name="type" type="xs:string" />
<xs:element minOccurs="0" name="versionvalue" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="capabilityProperty"></xs:sequence>
<xs:sequence>
<xs:element name="id" type="xs:long" />
</xs:complexType>
</xs:sequence>element>
<xs:attribute name="name" type="xs:string" />
</xs:sequence>
<xs:attribute name="value" type="xs:string" />
</xs:complexType>
<xs:complexType name="networkTopology">
</xs:element>
<xs:sequence>
</xs:sequence>
</xs:complexType>
<xs:elementcomplexType maxOccursname="unbounded" minOccurs="0" ref="ns2:Device" />capabilityDescriptor">
<xs:sequence>
<xs:element maxOccursminOccurs="unbounded0" minOccursname="0information" reftype="ns2:Interfaceinformation" />
<xs:element maxOccurs="unbounded" minOccurs="0" refname="capabilityProperty" type="ns2:LayercapabilityProperty" />
<xs:element minOccurs="0" name="locationenabled" type="xs:stringboolean" />
<xs:element maxOccursname="unboundedid" minOccurstype="0xs:long" ref="ns3:NetworkDomain" //>
</xs:sequence>
</xs:complexType>
<xs:complexType name="deviceinformation">
<xs:sequence>
<xs:element maxOccursminOccurs="unbounded0" minOccursname="0description" reftype="ns2xs:hasInterfacestring" />
<xs:element minOccurs="0" name="name" reftype="ns2xs:namestring" />
</xs:sequence>
<xs:element minOccurs="0" name="type" type="xs:string" />
</xs:complexType>
<xs:complexTypeelement minOccurs="0" name="interfaceId"version" type="xs:string" />
<xs:sequence />
<xs:attribute ref="ns1:resource" /></xs:sequence>
</xs:complexType>
<xs:complexType name="interfacecapabilityProperty">
<xs:sequence>
<xs:element minOccursname="0id" reftype="ns2xs:atLayerlong" />
</xs:sequence>
<xs:elementattribute minOccursname="0name" reftype="ns2xs:capacitystring" />
<xs:elementattribute minOccursname="0value" reftype="ns2xs:linkTostring" />
</xs:complexType>
<xs:element minOccurs="0" ref="ns2:name" / <xs:complexType name="networkTopology">
</xs<xs:sequence>
</xs:complexType>
<xs:complexTypeelement namemaxOccurs="layerIdunbounded">
<xs:sequenceminOccurs="0" ref="ns2:Device" />
<xs:attributeelement maxOccurs="unbounded" minOccurs="0" ref="ns1ns2:resourceInterface" />
</xs:complexType>
<xs:complexType name="link">
element maxOccurs="unbounded" minOccurs="0" ref="ns2:Layer" />
<xs:sequence:element minOccurs="0" name="location" type="xs:string" />
<xs:attributeelement maxOccurs="unbounded" minOccurs="0" ref="ns1ns3:resourceNetworkDomain" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="layerdevice">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="ns2:namehasInterface" />
<xs:element minOccurs="0" ref="ns2:name" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="networkDomaininterfaceId">
<xs:sequence>
sequence />
<xs:element maxOccurs="unbounded" minOccurs="0" attribute ref="ns3ns1:hasDeviceresource" />
</xs:complexType>
<xs:elementcomplexType minOccursname="0" ref="ns2:name" /interface">
</xs<xs:sequence>
</xs:complexType>
<xs:complexType name="deviceId">
element minOccurs="0" ref="ns2:atLayer" />
<xs:sequence:element minOccurs="0" ref="ns2:capacity" />
<xs:attributeelement minOccurs="0" ref="ns1ns2:resourcelinkTo" />
</xs:complexType>
<xs:complexType name="vcpeNetworkDescriptor"element minOccurs="0" ref="ns2:name" />
<xs</xs:complexContent>sequence>
</xs:complexType>
<xs:extensioncomplexType basename="resourceDescriptorlayerId">
<xs:sequence>
sequence />
<xs:element minOccurs="0"attribute ref="ns4ns1:vCPEModelresource" />
</xs:complexType>
</xs:sequence><xs:complexType name="link">
<xs:sequence />
</xs:extension>
<xs:attribute ref="ns1:resource" </xs:complexContent>>
</xs:complexType>
</xs:schema>
<xs:schemacomplexType xmlnsname="http://www.w3.org/1999/02/22-rdf-syntax-ns#" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
layer">
<xs:import namespace="" />
sequence>
<xs:element nameminOccurs="RDF0" typeref="networkTopologyns2:name" />
<xs:attribute name="resource" type="xs:string" />
</xs:sequence>
</xs:schema>complexType>
<xs:schemacomplexType xmlnsname="org.opennaas.core.resources.descriptor.vcpe" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="org.opennaas.core.resources.descriptor.vcpe">
networkDomain">
<xs:element name="vCPEModel" type="xs:string" />
sequence>
</xs:schema>
</grammars>
<resources base="http://localhost:8888/opennaas/resources/" <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns3:hasDevice" />
<resource path="/">
<resource path="create"<xs:element minOccurs="0" ref="ns2:name" />
<method name="POST"></xs:sequence>
<request></xs:complexType>
<representation mediaType="application/xml" /<xs:complexType name="deviceId">
<xs:sequence </request>>
<xs:attribute <response>ref="ns1:resource" />
</xs:complexType>
<representation<xs:complexType mediaTypename="application/xmlvcpeNetworkDescriptor">
<xs:complexContent>
<param name="result" style="plain" type="xs:string" / <xs:extension base="resourceDescriptor">
</representation><xs:sequence>
</response>
<xs:element minOccurs="0" ref="ns4:vCPEModel" />
</method>
</resource>
xs:sequence>
<resource path="getDescriptor/{resourceId}">
</xs:extension>
</xs:complexContent>
<param name="resourceId" style="template" type="xs:string" />
</xs:complexType>
<method<xs:simpleType name="GETstate">
<request /<xs:restriction base="xs:string">
<response>
<xs:enumeration value="INSTANTIATED" />
<representation mediaType<xs:enumeration value="application/xmlINITIALIZED" />
<xs:enumeration value="ACTIVE" </response>>
</method>
<xs:enumeration value="INACTIVE" />
</resource>
<resource<xs:enumeration pathvalue="SHUTDOWN"getName /{resourceId}/">
<param name="resourceId" style="template" type="xs:string <xs:enumeration value="ERROR" />
<method name="GET"></xs:restriction>
<request /></xs:simpleType>
<response></xs:schema>
<representation mediaType="application/octet-stream">
<xs:schema xmlns="http://www.science.uva.nl/research/sne/ndl/domain#" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://www.science.uva.nl/research/sne/ndl/domain#">
<xs:import namespace="" />
<param<xs:element name="result" style="plainNetworkDomain" type="xs:stringnetworkDomain" />
<xs:element name="hasDevice" type="deviceId" />
</representation>xs:schema>
<xs:schema xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
</response><xs:import namespace="" />
<xs:element name="RDF" type="networkTopology" </method>>
</resource>
<xs:attribute name="resource" type="xs:string" />
</xs:schema>
<resource<xs:schema pathxmlns="getResourceTypes">
org.opennaas.core.resources.descriptor.vcpe" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="org.opennaas.core.resources.descriptor.vcpe">
<method<xs:element name="GET""vCPEModel" type="xs:string" />
</xs:schema>
</grammars>
<response><resources base="http://localhost:8888/opennaas/resources/">
<resource path="/">
<method <representation mediaTypename="application/xmlDELETE" />
<response status="204" </response>>
</method>
</resource><method name="GET">
<resource path="modify/{resourceId}">
<response>
<param<representation namemediaType="resourceId" style="template" type="xs:string" />
application/xml" />
</response>
</method>
<method name="POST">
<request>
<representation mediaType="application/xml" />
</request>
<response>
<representation mediaType="application/xml">
<param name="result" style="plain" type="xs:string" />
</representation>
</response>
</method>
</resource>
<resource path="removeforceStop/{resourceId}">
<param name="resourceId" style="template" type="xs:string" />
<method name="POSTPUT">
<request />
<response status="204" />
</method>
</resource>
<resource path="start/{resourceId}type">
<param<method name="resourceIdGET" style="template" type="xs:string" />
>
<response>
<method name="POST">
<request<representation mediaType="application/xml" />
<response status="204" /></response>
</method>
</resource>
<resource path="stoptype/{resourceIdtype}">
<param name="resourceIdtype" style="template" type="xs:string" />
<method name="POSTGET">
<request />
<response>
<response status="204 <representation mediaType="application/xml" />
</method>response>
</resource>method>
</resource>
<resource path="type/{type}/name">
<param name="type" style="template" type="xs:string" />
<method name="GET">
<request />
<response>
<representation mediaType="application/xml" />
</response>
</method>
</resource>
<resource path="type/{type}/name/{name}">
<param name="type" style="template" type="xs:string" />
<param name="name" style="template" type="xs:string" />
<method name="GET">
<request />
<response>
<representation mediaType="application/octet-stream">
<param name="result" style="plain" type="xs:string" />
</representation>
</response>
</method>
</resource>
<resource path="{resourceId}">
<param name="resourceId" style="template" type="xs:string" />
<method name="DELETE">
<request />
<response status="204" />
</method>
<method name="GET">
<request />
<response>
<representation mediaType="application/xml" />
</response>
</method>
<method name="PUT">
<request>
<representation mediaType="application/xml" />
</request>
<response>
<representation mediaType="application/xml">
<param name="result" style="plain" type="xs:string" />
</representation>
</response>
</method>
</resource>
<resource path="{resourceId}/descriptor">
<param name="resourceId" style="template" type="xs:string" />
<method name="GET">
<request />
<response>
<representation mediaType="application/xml" />
</response>
</method>
</resource>
<resource path="{resourceId}/name">
<param name="resourceId" style="template" type="xs:string" />
<method name="GET">
<request />
<response>
<representation mediaType="application/octet-stream">
<param name="result" style="plain" type="xs:string" />
</representation>
</response>
</method>
</resource>
<resource path="{resourceId}/status">
<param name="resourceId" style="template" type="xs:string" />
<method name="GET">
<request />
<response>
<representation mediaType="application/octet-stream">
<param name="result" style="plain" type="xs:string" />
</representation>
</response>
</method>
</resource>
<resource path="{resourceId}/status/start">
<param name="resourceId" style="template" type="xs:string" />
<method name="PUT">
<request />
<response status="204" />
</method>
</resource>
<resource path="{resourceId}/status/stop">
<param name="resourceId" style="template" type="xs:string" />
<method name="PUT">
<request />
<response status="204" />
</method>
</resource>
</resource>
</resources>
</application> |
Methods
ListResources
Returns the ids of all existing resources, no matter the state they have.
Response Example
Code Block |
---|
theme | Eclipse |
---|
language | html/xml |
---|
|
<resources>
<resource>b6c3a6c9-9a2e-4bc4-9604-13d014bd508f</resource>
<resource>584c96d5-2221-47d0-8c51-c5d4d45f3ff4</resource>
<resource>c65gfr15-22er-74j0-87gh-hg78nnlo0aqe</resource>
</resources> |
CreateResource
The CreateResource method creates a new resource in OpenNaaS from the resource descriptor given by the user. If the method ends successfully, the id of the new resource is returned to he user.
| Value | Description |
---|
URL | http://hostname:8888/opennaas/resources/ | |
Method | POST | |
Body Parameter | ResourceDescriptor | Resource descriptor containing the resource info (type, name, description) and its list of capabilities. |
Return | String | Resource id of the created resource. |
The following example creates a router resource called "myre" with BGP and Chassis capabilities, both of them using the "Junos 10.10" driver.
Body Example
Code Block |
---|
theme | Eclipse |
---|
language | html/xml |
---|
title | CreateResource Body |
---|
|
<?xml version="1.0" encoding="UTF-8"?>
<resourceDescriptor xmlns:ns2="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ns3="http://www.science.uva.nl/research/sne/ndl#" xmlns:ns4="http://www.science.uva.nl/research/sne/ndl/domain#" xmlns:ns5="org.opennaas.core.resources.descriptor.vcpe">
<capabilityDescriptors>
<information>
<name>bgp capability</name>
<type>bgp</type>
</information>
<capabilityProperty name="actionset.name" value="junos">
</capabilityProperty>
<capabilityProperty name="actionset.version" value="10.10">
</capabilityProperty>
</capabilityDescriptors>
<capabilityDescriptors>
<information>
<name>chassis capability</name>
<type>chassis</type>
</information>
<capabilityProperty name="actionset.name" value="junos">
</capabilityProperty>
<capabilityProperty name="actionset.version" value="10.10">
</capabilityProperty>
</capabilityDescriptors>
<information>
<name>myre</name>
<type>router</type>
</information>
<properties />
</resourceDescriptor> |
Response Example
No Format |
---|
584c96d5-2221-47d0-8c51-c5d4d45f3ff4 |
ModifyResource
The ModifyResource method updated the information of an existing resource of OpenNaaS. The resourceDescriptor will be replaced by the new one, but the resourceId will be manteined.
| Value | Description |
---|
URL | http://hostname:8888/opennaas/resources/{resourceId} | |
Method | PUT | |
Path Parameter | resourceId | Id of the resource to be modified. |
Body Parameter | ResourceDescriptor | Resource descriptor containing the new resource information. |
Return | String | Resource id of the modified resource. It matches the path parameter "resourceId" |
The following example modifies the previous created router by adding a new capability: the IP capability using the "Junos 10.10" router.
Body Example
Code Block |
---|
theme | Eclipse |
---|
language | html/xml |
---|
title | CreateResource Body |
---|
|
<?xml version="1.0" encoding="UTF-8"?>
<resourceDescriptor xmlns:ns2="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ns3="http://www.science.uva.nl/research/sne/ndl#" xmlns:ns4="http://www.science.uva.nl/research/sne/ndl/domain#" xmlns:ns5="org.opennaas.core.resources.descriptor.vcpe">
<capabilityDescriptors>
<information>
<name>bgp capability</name>
<type>bgp</type>
</information>
<capabilityProperty name="actionset.name" value="junos">
</capabilityProperty>
<capabilityProperty name="actionset.version" value="10.10">
</capabilityProperty>
</capabilityDescriptors>
<capabilityDescriptors>
<information>
<name>chassis capability</name>
<type>chassis</type>
</information>
<capabilityProperty name="actionset.name" value="junos">
</capabilityProperty>
<capabilityProperty name="actionset.version" value="10.10">
</capabilityProperty>
<id>0</id>
</capabilityDescriptors>
<capabilityDescriptors>
<information>
<name>ip capability</name>
<type>ip</type>
</information>
<capabilityProperty name="actionset.name" value="junos">
</capabilityProperty>
<capabilityProperty name="actionset.version" value="10.10">
</capabilityProperty>
</capabilityDescriptors>
<information>
<name>myre</name>
<type>router</type>
</information>
<properties />
</resourceDescriptor> |
Response Example
No Format |
---|
584c96d5-2221-47d0-8c51-c5d4d45f3ff4 |
RemoveResource
The RemoveResource method removes a resource from OpenNaaS, only if it's in INITIALIZED state. It the resource is in STARTED state, it must be stopped before calling this method.
DestroyAllResources
Stops and removes all existing resource of the OpenNaaS instance.
GetResourceInfoById
Returns the main information from a specific resource: id, name, type, state and the list of capabilities it contains.
Response Example
Code Block |
---|
theme | Eclipse |
---|
language | html/xml |
---|
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<resourceInfo>
<resourceId>584c96d5-2221-47d0-8c51-c5d4d45f3ff4</resourceId>
<name>myre</name>
<type>router</type>
<state>ACTIVE</state>
<capabilities>
<capability>ip</capability>
<capability>chassis</capability>
<capability>bgp</capability>
</capabilities>
</resourceInfo> |
GetNameFromResourceID
Given the resourceId of an existing resource, this method return its name.
Response Example
GetResourceDescriptor
Given the resourceId of an existing resource, this method returns its whole resource descriptor.
Response Example
Code Block |
---|
theme | Eclipse |
---|
language | html/xml |
---|
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<resourceDescriptor xmlns:ns2="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ns3="http://www.science.uva.nl/research/sne/ndl#" xmlns:ns4="http://www.science.uva.nl/research/sne/ndl/domain#" xmlns:ns5="org.opennaas.core.resources.descriptor.vcpe">
<capabilityDescriptors>
<information>
<name>bgp capability</name>
<type>bgp</type>
</information>
<capabilityProperty name="actionset.name" value="junos">
</capabilityProperty>
<capabilityProperty name="actionset.version" value="10.10">
</capabilityProperty>
</capabilityDescriptors>
<capabilityDescriptors>
<information>
<name>chassis capability</name>
<type>chassis</type>
</information>
<capabilityProperty name="actionset.name" value="junos">
</capabilityProperty>
<capabilityProperty name="actionset.version" value="10.10">
</capabilityProperty>
<id>0</id>
</capabilityDescriptors>
<capabilityDescriptors>
<information>
<name>ip capability</name>
<type>ip</type>
</information>
<capabilityProperty name="actionset.name" value="junos">
</capabilityProperty>
<capabilityProperty name="actionset.version" value="10.10">
</capabilityProperty>
</capabilityDescriptors>
<id>584c96d5-2221-47d0-8c51-c5d4d45f3ff4</id>
<information>
<description>Junos v10 Router</description>
<name>myre</name>
<type>router</type>
</information>
<properties/>
</resourceDescriptor> |
GetStatus
Returns the current lifecycle state of the resource.
Response Example
StartResource
The StartResource method starts a resource, only if it's in INITIALIZED state.
StopResource
The StopResource method stops a resource, only if it's in STARTED state.
ForceStopResource
Forces a resource to get into INITIALIZED state.
GetResourceTypes
List all the types of resources supported by the OpenNaaS instance.
Response Example
Code Block |
---|
|
<?xml version="1.0" encoding="UTF-8"?>
<resourcesTypes>
<resourceType>bod</resourceType>
<resourceType>roadm</resourceType>
<resourceType>MACBridgeIOS</resourceType>
<resourceType>pdu</resourceType>
<resourceType>sampleresource</resourceType>
<resourceType>quantumresource</resourceType>
<resourceType>network</resourceType>
<resourceType>powernet</resourceType>
<resourceType>vnmapper</resourceType>
<resourceType>router</resourceType>
<resourceType>openflowswitch</resourceType>
<resourceType>vcpenet</resourceType>
<resourceType>ofnetwork</resourceType>
</resourcesTypes> |
ListResourcesByType
Returns the ids of all existing resources of a specific type.
Response Example
Code Block |
---|
theme | Eclipse |
---|
language | html/xml |
---|
|
<resources>
<resource>b6c3a6c9-9a2e-4bc4-9604-13d014bd508f</resource>
<resource>584c96d5-2221-47d0-8c51-c5d4d45f3ff4</resource>
</resources>
|
ListResourcesNameByType
Returns the list of all existing resources of a specific type.
Response Example
Code Block |
---|
theme | Eclipse |
---|
language | html/xml |
---|
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<resources>
<resource>dub_1_log</resource>
<resource>myre</resource>
<<resource>logicalrouter1</resources>resource>
</application>resources> |
Methods
CreateResource
GetIdentifierFromResourceTypeName
Given the name and the type of an existing resource, this method returns its id.
| Value | Description |
---|
URL | http://hostname:8888/opennaas/resources/create /type/{type}/name/{name} | |
Method | POSTGET | | |
Path Parameter | type | Type of the resource which id we want to retrieve. |
Path Parameter | name | Name of the resource which id we want to retrieve. | ResourceDescriptor | Resource descriptor containing the resource info (type, name, description) and its list of capabilities. | |
Return | String | Resource id Id of the created resource of type and name set in url. |
Response Example
No Format |
---|
584c96d5-2221-47d0-8c51-c5d4d45f3ff4 |