Neutron/API/WADL
Quantum API WADL Specification
Resources
- http://www.w3.org/Submission/wadl/
- http://code.w3.org/unicorn/attachment/wiki/how_to_write_new_contract/css-validator.wadl
Scope
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 reads RESOURCE_ATTRIBUTE_MAP definitions
- Automatically generate WADL documents (core.wadl, [extention].wadl, etc.) files in quantum/doc/wadl/
Data Model Changes
N/A
Configuration variables
N/A
API's
N/A
Plugin Interface
N/A
Required Plugin support
N/A
Dependencies
None
CLI Requirements
N/A
Horizon Requirements
N/A
Usage Example
- [How to run/use/interface with the new feature. (If applicable)]
Test Cases
- [Description of various test cases. (If applicable)]