You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

WADL

URL

http://hostname:8888/opennaas/resources?_wadl

Description

ResourceManager.wadl
<?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

 

 ValueDescription 
URLhttp://hostname:8888/opennaas/resources/create  
Method

POST

  
ParameterResourceDescriptorResource descriptor containing the resource info (type, name, description) and its list of capabilities. 
ReturnStringResource id of the created resource. 

 

Body Example
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
584c96d5-2221-47d0-8c51-c5d4d45f3ff4
  • No labels