-
Created by Unknown User (adrian_rosello), last modified on 16 Jan, 2014
You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 4
Next »
WADL
URL
http://hostname:8888/opennaas/resources?_wadl
Description
<?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="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="" />
<xs:element name="NetworkDomain" type="networkDomain" />
<xs:element name="hasDevice" type="deviceId" />
</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#" xmlns:ns3="http://www.science.uva.nl/research/sne/ndl/domain#" xmlns:ns4="org.opennaas.core.resources.descriptor.vcpe" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="org.opennaas.core.resources.descriptor.vcpe">
<xs:import namespace="http://www.w3.org/1999/02/22-rdf-syntax-ns#" />
<xs:import namespace="http://www.science.uva.nl/research/sne/ndl#" />
<xs:import namespace="http://www.science.uva.nl/research/sne/ndl/domain#" />
<xs:import namespace="org.opennaas.core.resources.descriptor.vcpe" />
<xs:element name="resourceDescriptor" type="resourceDescriptor" />
<xs:element name="vcpeNetworkDescriptor" type="vcpeNetworkDescriptor" />
<xs:complexType name="resourceDescriptor">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityDescriptors" type="capabilityDescriptor" />
<xs:element minOccurs="0" name="fileTopology" type="xs:string" />
<xs:element minOccurs="0" name="id" type="xs:string" />
<xs:element minOccurs="0" name="information" type="information" />
<xs:element minOccurs="0" name="networkTopology" type="networkTopology" />
<xs:element minOccurs="0" name="profileId" type="xs:string" />
<xs:element name="properties">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="entry">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="key" type="xs:string" />
<xs:element minOccurs="0" name="value" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="resourceReferences">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="entry">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="key" type="xs:string" />
<xs:element minOccurs="0" name="value" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="capabilityDescriptor">
<xs:sequence>
<xs:element minOccurs="0" name="information" type="information" />
<xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityProperty" type="capabilityProperty" />
<xs:element minOccurs="0" name="enabled" type="xs:boolean" />
<xs:element name="id" type="xs:long" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="information">
<xs:sequence>
<xs:element minOccurs="0" name="description" type="xs:string" />
<xs:element minOccurs="0" name="name" type="xs:string" />
<xs:element minOccurs="0" name="type" type="xs:string" />
<xs:element minOccurs="0" name="version" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="capabilityProperty">
<xs:sequence>
<xs:element name="id" type="xs:long" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" />
<xs:attribute name="value" type="xs:string" />
</xs:complexType>
<xs:complexType name="networkTopology">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="ns2:Device" />
<xs:element maxOccurs="unbounded" minOccurs="0" ref="ns2:Interface" />
<xs:element maxOccurs="unbounded" minOccurs="0" ref="ns2:Layer" />
<xs:element minOccurs="0" name="location" type="xs:string" />
<xs:element maxOccurs="unbounded" minOccurs="0" ref="ns3:NetworkDomain" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="device">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="ns2:hasInterface" />
<xs:element minOccurs="0" ref="ns2:name" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="interfaceId">
<xs:sequence />
<xs:attribute ref="ns1:resource" />
</xs:complexType>
<xs:complexType name="interface">
<xs:sequence>
<xs:element minOccurs="0" ref="ns2:atLayer" />
<xs:element minOccurs="0" ref="ns2:capacity" />
<xs:element minOccurs="0" ref="ns2:linkTo" />
<xs:element minOccurs="0" ref="ns2:name" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="layerId">
<xs:sequence />
<xs:attribute ref="ns1:resource" />
</xs:complexType>
<xs:complexType name="link">
<xs:sequence />
<xs:attribute ref="ns1:resource" />
</xs:complexType>
<xs:complexType name="layer">
<xs:sequence>
<xs:element minOccurs="0" ref="ns2:name" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="networkDomain">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="ns3:hasDevice" />
<xs:element minOccurs="0" ref="ns2:name" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="deviceId">
<xs:sequence />
<xs:attribute ref="ns1:resource" />
</xs:complexType>
<xs:complexType name="vcpeNetworkDescriptor">
<xs:complexContent>
<xs:extension base="resourceDescriptor">
<xs:sequence>
<xs:element minOccurs="0" ref="ns4:vCPEModel" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</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#">
<xs:import namespace="" />
<xs:element name="RDF" type="networkTopology" />
<xs:attribute name="resource" type="xs:string" />
</xs:schema>
<xs:schema xmlns="org.opennaas.core.resources.descriptor.vcpe" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="org.opennaas.core.resources.descriptor.vcpe">
<xs:element name="vCPEModel" type="xs:string" />
</xs:schema>
</grammars>
<resources base="http://localhost:8888/opennaas/resources/">
<resource path="/">
<resource path="create">
<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="getDescriptor/{resourceId}">
<param name="resourceId" style="template" type="xs:string" />
<method name="GET">
<request />
<response>
<representation mediaType="application/xml" />
</response>
</method>
</resource>
<resource path="getName/{resourceId}/">
<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="getResourceTypes">
<method name="GET">
<response>
<representation mediaType="application/xml" />
</response>
</method>
</resource>
<resource path="modify/{resourceId}">
<param name="resourceId" style="template" type="xs:string" />
<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="remove/{resourceId}">
<param name="resourceId" style="template" type="xs:string" />
<method name="POST">
<request />
<response status="204" />
</method>
</resource>
<resource path="start/{resourceId}">
<param name="resourceId" style="template" type="xs:string" />
<method name="POST">
<request />
<response status="204" />
</method>
</resource>
<resource path="stop/{resourceId}">
<param name="resourceId" style="template" type="xs:string" />
<method name="POST">
<request />
<response status="204" />
</method>
</resource>
</resource>
</resources>
</application>
Methods
CreateResource
| Value | Description | |
---|
URL | http://hostname:8888/opennaas/resources/create | | |
Method | POST | | |
Parameter | ResourceDescriptor | Resource descriptor containing the resource info (type, name, description) and its list of capabilities. | |
Return | String | Resource id of the created resource. | |
Body Example
<?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">
<id>0</id>
</capabilityProperty>
<capabilityProperty name="actionset.version" value="10.10">
<id>0</id>
</capabilityProperty>
<id>0</id>
</capabilityDescriptors>
<capabilityDescriptors>
<information>
<name>chassis capability</name>
<type>chassis</type>
</information>
<capabilityProperty name="actionset.name" value="junos">
<id>0</id>
</capabilityProperty>
<capabilityProperty name="actionset.version" value="10.10">
<id>0</id>
</capabilityProperty>
<id>0</id>
</capabilityDescriptors>
<information>
<name>myre</name>
<type>router</type>
</information>
<properties />
</resourceDescriptor>
Response Example