Jump to: navigation, search

Difference between revisions of "Neutron/API/WADL"

(Resources)
(20 intermediate revisions by 2 users not shown)
Line 2: Line 2:
 
= Quantum API WADL Specification =
 
= Quantum API WADL Specification =
 
[https://blueprints.launchpad.net/quantum/+spec/quantum-api-wadl blueprint link]
 
[https://blueprints.launchpad.net/quantum/+spec/quantum-api-wadl blueprint link]
 
== Resources ==
 
* http://www.w3.org/Submission/wadl/
 
* http://code.w3.org/unicorn/attachment/wiki/how_to_write_new_contract/css-validator.wadl
 
* https://github.com/mnot/wadl_stylesheets
 
  
 
== Scope ==
 
== Scope ==
Provide WADL documents for the Quantum APIs.
+
: [Short overview and high level description of what the blueprint is trying to achieve.]
 
 
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 ==
 
== Use Cases ==
These are some of the use cases borrowed from the W3 WADL specification.
+
: [Short overview and high level description of what the blueprint is trying to achieve.]
 
 
* 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 ==
 
== Implementation Overview ==
Write a python script ''quantum/tools/wadl/generate_wadl.py''
+
: [Provide an overview of the implementation and any algorithms that will be used]
 
 
* 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 ==
 
== Data Model Changes ==
N/A
+
: [Are you introducing new model classes, or extending existing ones?]
  
 
== Configuration variables ==
 
== Configuration variables ==
N/A
+
: [List and explanation of the new configuration variables (if they exist)]
  
 
== API's ==
 
== API's ==
N/A
+
: [List and explanation of the new API's (if they exist)]
  
 
== Plugin Interface ==
 
== Plugin Interface ==
N/A
+
: [Does this feature introduce any change?]
  
 
== Required Plugin support ==
 
== Required Plugin support ==
N/A
+
: [What should the plugins do to support this new feature? (If applicable)]
  
 
== Dependencies ==
 
== Dependencies ==
None
+
: [List of python packages and/or OpenStack components? (If applicable)]
  
 
== CLI Requirements ==
 
== CLI Requirements ==
N/A
+
: [List of CLI requirements (If applicable)]
  
 
== Horizon Requirements ==
 
== Horizon Requirements ==
N/A
+
: [List of Horizon requirements (If applicable)]
  
 
== Usage Example ==
 
== Usage Example ==
After changing an API or API Extension specification in the source code, the developer will run ''python quantum/tools/wadl/generate_wadl.py'' to update the WADL documents in ''quantum/doc/wadl/''
+
: [How to run/use/interface with the new feature. (If applicable)]
  
 
== Test Cases ==
 
== Test Cases ==
No plans of test cases. However need to check if RESOURCE_ATTRIBUTE_MAP is used consistently across extentions beforehand.
+
: [Description of various test cases. (If applicable)]

Revision as of 07:17, 23 November 2012

Quantum API WADL Specification

blueprint link

Scope

[Short overview and high level description of what the blueprint is trying to achieve.]

Use Cases

[Short overview and high level description of what the blueprint is trying to achieve.]

Implementation Overview

[Provide an overview of the implementation and any algorithms that will be used]

Data Model Changes

[Are you introducing new model classes, or extending existing ones?]

Configuration variables

[List and explanation of the new configuration variables (if they exist)]

API's

[List and explanation of the new API's (if they exist)]

Plugin Interface

[Does this feature introduce any change?]

Required Plugin support

[What should the plugins do to support this new feature? (If applicable)]

Dependencies

[List of python packages and/or OpenStack components? (If applicable)]

CLI Requirements

[List of CLI requirements (If applicable)]

Horizon Requirements

[List of Horizon requirements (If applicable)]

Usage Example

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

Test Cases

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