Jump to: navigation, search


< Neutron
Revision as of 05:06, 12 December 2012 by Zyluo (talk | contribs)

Quantum API WADL Specification

blueprint link



Provide WADL documents for the Quantum APIs.

WADL document scope

  • Core APIs will have a WADL document
  • All extension APIs will have its own WADL document
  • Each WADL document will have one application component
  • An application component will have one resources component
  • A resources component will have resource components for each resource entity
    • eg) network, subnet, port, etc.
  • Each resource component will have method components for GET, POST, PUT, and DELETE.
  • Each method component will have a request component and WILL NOT HAVE a response component
  • A request component will have param components based on the API spec

Use Cases

These are some of the use cases borrowed from the W3 WADL specification.

  • Application Modelling and Visualization
    • Support for development of resource modelling tools for resource relationship and choreography analysis and manipulation.
  • Code Generation
    • Automated generation of stub and skeleton code and code for manipulation of resource representations.
  • Configuration
    • Configuration of client and server using a portable format.

Implementation Overview

Write a python script in quantum/tools/wadl/generate_wadl.py

  • Traverse modules in quantum.api and quantum.extension and finds RESOURCE_ATTRIBUTE_MAP definitions in each module.
  • Automatically generate WADL documents (core.wadl, [extention].wadl, etc.) files in quantum/doc/wadl/
    • All param components will be populated according to the RESOURCE_ATTRIBUTE_MAP dictionary

Data Model Changes


Configuration variables




Plugin Interface


Required Plugin support




CLI Requirements


Horizon Requirements


Usage Example

[How to run/use/interface with the new feature. (If applicable)]

Test Cases

[Description of various test cases. (If applicable)]