diff --git a/doc-test.conf b/doc-test.conf index 03726c2..0b2a436 100644 --- a/doc-test.conf +++ b/doc-test.conf @@ -3,10 +3,10 @@ repo_name = compute-api api_site = True ignore_dir=incubation -ignore_dir=openstack-compute-api-1.0 +ignore_dir=v1.0 # These three options need to come together: -book = openstack-compute-api-2 +book = v2 target_dir = target/docbkx/webhelp/api/openstack-compute/2 # Published at http://docs.openstack.org/api/openstack-compute/2/ publish_dir = api/openstack-compute/2/ diff --git a/openstack-compute-api-2/src/figures/Arrow_east.png b/figures/Arrow_east.png similarity index 100% rename from openstack-compute-api-2/src/figures/Arrow_east.png rename to figures/Arrow_east.png diff --git a/openstack-compute-api-1.0/src/figures/Arrow_east.svg b/figures/Arrow_east.svg similarity index 100% rename from openstack-compute-api-1.0/src/figures/Arrow_east.svg rename to figures/Arrow_east.svg diff --git a/openstack-compute-api-2/src/figures/Check_mark_23x20_02.png b/figures/Check_mark_23x20_02.png similarity index 100% rename from openstack-compute-api-2/src/figures/Check_mark_23x20_02.png rename to figures/Check_mark_23x20_02.png diff --git a/openstack-compute-api-1.0/src/figures/Check_mark_23x20_02.svg b/figures/Check_mark_23x20_02.svg similarity index 100% rename from openstack-compute-api-1.0/src/figures/Check_mark_23x20_02.svg rename to figures/Check_mark_23x20_02.svg diff --git a/incubation/openstack-api-extensions/apix-intro-proposal.xml b/incubation/openstack-api-extensions/apix-intro-proposal.xml index 83620f0..9209234 100644 --- a/incubation/openstack-api-extensions/apix-intro-proposal.xml +++ b/incubation/openstack-api-extensions/apix-intro-proposal.xml @@ -1,4 +1,12 @@ - + + OpenStack API Extensions An Overview @@ -10,156 +18,164 @@ 2011-06-10 - Copyright details are filled in by the template. + Copyright details are filled in by the + template. - - This document provides an overview of the OpenStack API extension - mechanism. - + This document provides an overview of the OpenStack + API extension mechanism. - - Overview - - The OpenStack extension mechanism makes it possible to add - functionality to OpenStack APIs in a manner that ensures - compatibility with existing clients. This capability - allows OpenStack operators and vendors to provide - innovative functionality to their clients and provides a - means by which new features may be considered in upcoming - versions of OpenStack APIs. - - - This document describes the extension mechanism in detail. - It provides guidance to API implementors and clients on - developing and consuming API extensions, it describes the - rules by which extensions are governed, and it describes - the process used to promote API extensions to new features. - - - Please note that this document is a draft. It - is intended to give developers an opportunity to provide feedback. If you begin - implementing against this early access specification, please recognize that it is - still subject to change. Comments, feedback, and bug reports are always welcomed; - please submit these in the webhelp discussion forum at: http://docs.openstack.org/. - -
- Intended Audience - This document is intended for software developers who wish either to implement or - to consume an extendable OpenStack API. It assumes that the reader has a general - understanding of: - - - ReSTful web services - - - HTTP/1.1 - - - JSON and/or XML data serialization formats - - - At least one OpenStack API: Compute, - Object Storage, etc. - - -
-
- Organization of this Document - - - - + + Overview + The OpenStack extension mechanism makes it possible to + add functionality to OpenStack APIs in a manner that + ensures compatibility with existing clients. This + capability allows OpenStack operators and vendors to + provide innovative functionality to their clients and + provides a means by which new features may be considered + in upcoming versions of OpenStack APIs. + This document describes the extension mechanism in + detail. It provides guidance to API implementors and + clients on developing and consuming API extensions, it + describes the rules by which extensions are governed, and + it describes the process used to promote API extensions to + new features. + + Please note that this document is a draft. It is intended to + give developers an opportunity to provide feedback. If + you begin implementing against this early access + specification, please recognize that it is still + subject to change. Comments, feedback, and bug reports + are always welcomed; please submit these in the + webhelp discussion forum at: http://docs.openstack.org/. + +
+ Intended Audience + This document is intended for software developers + who wish either to implement or to consume an + extensible OpenStack API. It assumes that the reader + has a general understanding of: + - - Provides background information on - OpenStack extensions and the OpenStack - extension mechanism. - + ReSTful web services - - - Chapter 3, Extensions and ReST - - Describes the specifics of implementing - and consuming extensions in ReST APIs. - + HTTP/1.1 - - - Chapter 4, Extension Governance and Promotion - - Describes API governance and the process - by which extensions can be promoted to new - features in future revisions of an API. - + JSON and/or XML data serialization + formats - - - Chapter 5, Summary - Briefly summarizes the benefits of the extension mechanism and - provides a brief overview of how extensions are used. + At least one OpenStack API: Compute, Object + Storage, etc. - - -
-
- Document Change History - - - - Revision Date - Summary of Changes - - - - - June 10, 2011 - - - - Initial draft. - - - - - - -
-
- + +
+
+ Organization of this Document + + + + + + Provides background information on + OpenStack extensions and the OpenStack + extension mechanism. + + + + Chapter 3, + Extensions and + ReST + + Describes the specifics of implementing + and consuming extensions in ReST APIs. + + + + + Chapter 4, + Extension Governance and + Promotion + + Describes API governance and the process + by which extensions can be promoted to new + features in future revisions of an + API. + + + + Chapter 5, + Summary + + Briefly summarizes the benefits of the + extension mechanism and provides a brief + overview of how extensions are + used. + + + +
+
+ Document Change History + + + + Revision + Date + Summary of + Changes + + + + + June 10, + 2011 + + + + Initial draft. + + + + + + +
+
+ Background - - This chapter provides background information on OpenStack - extensions and the OpenStack extension mechanism. It - describes what extensions are, how the extension mechanism - in OpenStack is related to the OpenGL extension mechanism, - the differences between extensions and versions, the - concept of versioning extensions, and why extensions are - vital when defining a pluggable architecture. - -
+ This chapter provides background information on + OpenStack extensions and the OpenStack extension + mechanism. It describes what extensions are, how the + extension mechanism in OpenStack is related to the OpenGL + extension mechanism, the differences between extensions + and versions, the concept of versioning extensions, and + why extensions are vital when defining a pluggable + architecture. +
What are Extensions? - - OpenStack APIs are defined strictly in two forms: a + OpenStack APIs are defined strictly in two forms: a human-readable specification (usually in the form of a - developer's guide) and a machine-processable - WADL. These specifications define the core actions, + developer's guide) and a machine-processable WADL. + These specifications define the core actions, capabilities, and media-types of the API. A client can always depend on the availability of this - core API and implementers are - always required to support it in its entirety. Requiring strict adherence to the - core API allows clients to rely upon a minimal level - of functionality when interacting with multiple - implementations of the same API. - - - Note that it is quite possible that distinct + core API and implementers + are always required to support it in its entirety. + Requiring strict adherence to the core API allows + clients to rely upon a minimal level of functionality + when interacting with multiple implementations of the + same API. + Note that it is quite possible that distinct implementations of an OpenStack API exist. First because API specifications are released under a free license, so anyone may use them to implement a core @@ -171,296 +187,331 @@ implement new features or add new capabilities, but only if it made the changes in a manner that ensures that a client expecting a core API would continue to - function normally — this is where extensions - come in. - - An extension adds capabilities to an API beyond those - defined in the core. The introduction of new features, MIME types, actions, states, - headers, parameters, and resources can all be accomplished by means of extensions to - the core API. In order for extensions to work, the core API must be written in such - a manner that it allows for extensibility. Additionally, care should be taken to - ensure that extensions defined by different implementers don't clash with one - another, that clients can detect the presence of extensions via a standard method, - and that there is a clear promotion path at the end of which an extension may become - part of a future version of the core API. These actions, rules, and processes - together form the extension mechanism. It is important that - core APIs adhere to this mechanism in order to ensure compatibility as new - extensions are defined. Note also that while a core API may be written to allow for - extensibility, the extensions themselves are never part of the core. + function normally — this is where extensions come + in. + An extension adds + capabilities to an API beyond those defined in the + core. The introduction of new features, MIME types, + actions, states, headers, parameters, and resources + can all be accomplished by means of extensions to the + core API. In order for extensions to work, the core + API must be written in such a manner that it allows + for extensibility. Additionally, care should be taken + to ensure that extensions defined by different + implementers don't clash with one another, that + clients can detect the presence of extensions via a + standard method, and that there is a clear promotion + path at the end of which an extension may become part + of a future version of the core API. These actions, + rules, and processes together form the + extension mechanism. It is + important that core APIs adhere to this mechanism in + order to ensure compatibility as new extensions are + defined. Note also that while a core API may be + written to allow for extensibility, the extensions + themselves are never part of the core.
-
+
Relationship to OpenGL - - In the 1990s, OpenGL was developed as a portable open - graphics library standard. The goal was to provide a - cross-platform library that could enable developers to - produce 3D graphics at real time speeds (30-120 frames - per second). There were several major challenges to - meeting this goal. In order to be considered an open - standard, control needed to shift from Silicon - Graphics (SGI), who originally developed OpenGL, to an - independent Architecture Review Board (ARB) who would - be responsible for approving specification changes, - marking new releases, and ensuring conformance - testing. Additionally, the graphics library itself - would need to be designed in a manner that would allow - the establishment of a stable and portable platform - for developers. Finally, the library would need to - garner the support of graphics hardware vendors as - they would be providing the hardware acceleration - needed to meet the goal of performing at real-time - speeds. - - Gaining vendor support is challenging because vendors are often in direct - competition with one another. They differentiate themselves by creating innovative - new features and by providing niche functionality to their users. Thus, OpenGL was - faced with two competing requirements. On the one hand, it needed to abstract away - vendor differences in order to provide a stable cross-platform environment to - developers. On the other hand, in order to garner vendor support, it needed a method - by which vendors could differentiate themselves and provide innovative new features - and niche functionality to their users. - The OpenGL extension mechanism was developed to solve these problems. The - extension mechanism achieved balance between the two requirements by maintaining the - core specification under the direction of the Architecture Review Board while - allowing vendors to define extensions to the core OpenGL specification. The core - specification remained uncluttered and presented a unified view of common - functionality. Because extensions were detectable at run time, developers could - write portable applications that could adapt to the hardware on which they were - running. This method of allowing for an extensible API has proven to be a very - successful strategy. More than 500 extensions have been defined in OpenGL's lifetime - and many vendors, including NVidia, ATI, Apple, IBM, and Intel, have participated in - the process by developing their own custom extensions. Additionally, many key - innovations (such as vertex and fragment shaders) have been developed via the - extension process and are now part of the core OpenGL API. - OpenStack, while very different from OpenGL, shares many similar goals and faces - many of the same challenges. OpenStack APIs are designed to be open API standards. - An important goal is to provide developers with a ubiquitous, stable, any-scale - cloud development platform that abstracts away many of the differences between - hosting providers and their underlying infrastructure (hypervisors, load balancers, - etc.). A Policy Review Board, similar to OpenGL's Architecture Review Board, is - responsible for directing development of these APIs in a manner that ensures these - goals are met. As with OpenGL, OpenStack requires support from vendors (and cloud - providers) in order to be successful. As a result, OpenStack APIs also aim to - provide vendors with a platform which allows them to differentiate themselves by - providing innovative new features and niche functionality to their users. Because of - these similarities, the OpenStack extension mechanism described in this document is - modeled after the OpenGL extension mechanism. The methods by which extensions are - defined vary drastically, of course, since the nature of the APIs is very different - (C versus ReST); however, the manner in which extensions are documented, the way in - which vendors are attributed, and the promotion path that an extension follows, all - borrow heavily from OpenGL. + In the 1990s, OpenGL was developed as a portable + open graphics library standard. The goal was to + provide a cross-platform library that could enable + developers to produce 3D graphics at real time speeds + (30-120 frames per second). There were several major + challenges to meeting this goal. In order to be + considered an open standard, control needed to shift + from Silicon Graphics (SGI), who originally developed + OpenGL, to an independent Architecture Review Board + (ARB) who would be responsible for approving + specification changes, marking new releases, and + ensuring conformance testing. Additionally, the + graphics library itself would need to be designed in a + manner that would allow the establishment of a stable + and portable platform for developers. Finally, the + library would need to garner the support of graphics + hardware vendors as they would be providing the + hardware acceleration needed to meet the goal of + performing at real-time speeds. + Gaining vendor support is challenging because + vendors are often in direct competition with one + another. They differentiate themselves by creating + innovative new features and by providing niche + functionality to their users. Thus, OpenGL was faced + with two competing requirements. On the one hand, it + needed to abstract away vendor differences in order to + provide a stable cross-platform environment to + developers. On the other hand, in order to garner + vendor support, it needed a method by which vendors + could differentiate themselves and provide innovative + new features and niche functionality to their + users. + The OpenGL extension mechanism was developed to + solve these problems. The extension mechanism achieved + balance between the two requirements by maintaining + the core specification under the direction of the + Architecture Review Board while allowing vendors to + define extensions to the core OpenGL specification. + The core specification remained uncluttered and + presented a unified view of common functionality. + Because extensions were detectable at run time, + developers could write portable applications that + could adapt to the hardware on which they were + running. This method of allowing for an extensible API + has proven to be a very successful strategy. More than + 500 extensions have been defined in OpenGL's lifetime + and many vendors, including NVidia, ATI, Apple, IBM, + and Intel, have participated in the process by + developing their own custom extensions. Additionally, + many key innovations (such as vertex and fragment + shaders) have been developed via the extension process + and are now part of the core OpenGL API. + OpenStack, while very different from OpenGL, shares + many similar goals and faces many of the same + challenges. OpenStack APIs are designed to be open API + standards. An important goal is to provide developers + with a ubiquitous, stable, any-scale cloud development + platform that abstracts away many of the differences + between hosting providers and their underlying + infrastructure (hypervisors, load balancers, etc.). A + Policy Review Board, similar to OpenGL's Architecture + Review Board, is responsible for directing development + of these APIs in a manner that ensures these goals are + met. As with OpenGL, OpenStack requires support from + vendors (and cloud providers) in order to be + successful. As a result, OpenStack APIs also aim to + provide vendors with a platform which allows them to + differentiate themselves by providing innovative new + features and niche functionality to their users. + Because of these similarities, the OpenStack extension + mechanism described in this document is modeled after + the OpenGL extension mechanism. The methods by which + extensions are defined vary drastically, of course, + since the nature of the APIs is very different (C + versus ReST); however, the manner in which extensions + are documented, the way in which vendors are + attributed, and the promotion path that an extension + follows, all borrow heavily from OpenGL.
-
+
Extensions and Versions - Extensions are always interpreted in relation to a version of the core API. In - other words, from a client's perspective, an extension modifies a - particular version of the core API in some way. In reality, an - extension may be applicable to several versions of an API at once. For example, a - particular extension may continue to be available as a core API moves from one - version to another. In fact, different implementations may decide to include support - for an extension at different versions. As explained in - the chapter on "Extension Governance and Promotion", - when an extension is defined, the minimal version of the core API that is required - to run the extension is specified; implementers are free to support the extension in - that version or in a later version of the core. Note, however, that because the - extension mechanism allows for promotion, an extension in one version of a core API - may become a standard feature in a later version. + Extensions are always interpreted in relation to a + version of the core API. In other words, from a + client's perspective, an extension modifies + a particular version of the + core API in some way. In reality, an extension may be + applicable to several versions of an API at once. For + example, a particular extension may continue to be + available as a core API moves from one version to + another. In fact, different implementations may decide + to include support for an extension at different + versions. As explained in the + chapter on "Extension Governance and + Promotion", when an extension is defined, + the minimal version of the core API that is required + to run the extension is specified; implementers are + free to support the extension in that version or in a + later version of the core. Note, however, that because + the extension mechanism allows for promotion, an + extension in one version of a core API may become a + standard feature in a later version. - - As always, implementers are not required to + As always, implementers are not required to support an extension unless it is promoted to the - core. - + core. - Because several versions of the core API may be supported simultaneously, and - because each version may offer support for a different set of extensions, clients - must be able to detect what versions and extensions are available in a particular - deployment. Thus, both extensions and versions are queryable. Issuing a GET on the - base URL (/) of the API endpoint returns information about what - versions are available. Similarly, issuing a GET on the API's extensions resource - (/v1.1/extensions) returns information about what extensions are - available. (See - the chapter on "Extensions and ReST" - for details of such requests.) Note that, - since extensions modify a particular version of the API, the extensions - resource itself is always accessed at a particular version. - Backward-compatible changes in an API usually require a minor version bump. In an - extensible API, however, these changes can be brought in as extensions. The net - effect is that versions change infrequently and thus provide a stable platform on - which to develop. The Policy Review Board (PRB), with the help of project team - leaders, is responsible for ensuring that this stability is maintained by closely - guarding core API versions. Extensions, however, can be developed without the - consent or approval of the PRB. They can be developed in a completely decentralized - manner both by individual OpenStack developers and by commercial vendors. Because - extensions can be promoted to standard features, the development of new versions can - be influenced significantly by individual developers and the OpenStack client - community and is therefore not strictly defined by the PRB. In other words, new - features of a core API may be developed in a bottom-up fashion. - - That said, not all extensions are destined to be + Because several versions of the core API may be + supported simultaneously, and because each version may + offer support for a different set of extensions, + clients must be able to detect what versions and + extensions are available in a particular deployment. + Thus, both extensions and versions are query-able. + Issuing a GET on the base URL + (/) of the API endpoint returns + information about what versions are available. + Similarly, issuing a GET on the + API's extensions resource + (/v1.1/extensions) returns + information about what extensions are available. (See + the chapter on + "Extensions and ReST" for details of such + requests.) Note that, since extensions modify a + particular version of the API, the + extensions resource itself is always + accessed at a particular version. + Backward-compatible changes in an API usually + require a minor version bump. In an extensible API, + however, these changes can be brought in as + extensions. The net effect is that versions change + infrequently and thus provide a stable platform on + which to develop. The Policy Review Board (PRB), with + the help of project team leaders, is responsible for + ensuring that this stability is maintained by closely + guarding core API versions. Extensions, however, can + be developed without the consent or approval of the + PRB. They can be developed in a completely + decentralized manner both by individual OpenStack + developers and by commercial vendors. Because + extensions can be promoted to standard features, the + development of new versions can be influenced + significantly by individual developers and the + OpenStack client community and is therefore not + strictly defined by the PRB. In other words, new + features of a core API may be developed in a bottom-up + fashion. + That said, not all extensions are destined to be promoted to the next API version. Core APIs always - deals with core functionality — functionality - that is supported by all implementations and is - applicable in common cases. Extensions that deal with - niche functionality should always remain extensions. - - - The table below summarizes the differences between - versions and extensions. - - - Versions versus Extensions - - - - - - Versions - Extensions - - - - - - - Rare - - Versions provide a stable - platform on which to develop. - - - - - - Frequent - - Extensions bring new features - to the market quickly and in a - compatible manner. - - - - - - - - Centralized - - Versions are maintained by the - entity that controls the API - Spec: the OpenStack Policy - Review Board. Only the PRB can - create a new version; only the - PRB defines what "OpenStack - Compute 1.1" means. - - - - - - Decentralized - - Extensions are maintained by - third parties, including - individual OpenStack - developers and software - vendors. Anyone can create an - extension. - - - - - - - - Core - - Versions support core - functionality. - - - - - - Niche - - Extensions provide specialized - functionality. - - - - - - - - Queryable - - Issuing a GET on the base - URL (/) of the - API endpoint returns - information about what - versions are available. - - - - - - Queryable - - Issuing a GET on the API's - extensions resource - (/v1.1/extensions) - returns information about what - extensions are available. - - - - - - + deals with core functionality — functionality that is + supported by all implementations and is applicable in + common cases. Extensions that deal with niche + functionality should always remain extensions. + The table below summarizes the differences between + versions and extensions. +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Versions versus Extensions
VersionsExtensions
+ Rare + Versions provide a stable + platform on which to + develop. + + Frequent + Extensions bring new features to + the market quickly and in a + compatible manner. +
+ + Centralized + Versions are maintained by the + entity that controls the API Spec: + the OpenStack Policy Review Board. + Only the PRB can create a new + version; only the PRB defines what + "OpenStack Compute 1.1" + means. + + Decentralized + Extensions are maintained by + third parties, including individual + OpenStack developers and software + vendors. Anyone can create an + extension. +
+ + Niche + Extensions provide specialized + functionality. + + Core + Versions support core + functionality. +
+ + Query-able + Issuing a GET + on the base URL (/) of + the API endpoint returns + information about what versions are + available. + + + + Query-able + Issuing a GET + on the API's extensions resource + (/v1.1/extensions) + returns information about what + extensions are available. +
-
+
Versioning Extensions - There is no explicit versioning mechanism for extensions. Nonetheless, there may - be cases in which a developer decides to update an extension after the extension has - been released and client support for the extension has been established. In these - cases, it is recommended that a new extension be created. The extension may have a - name that signifies its relationship to the previous version. For example, a - developer may append an integer to the extension name to signify that one extension - updates another: RAX-PIE2 updates RAX-PIE. - Extensions may have dependencies on other extensions. For example, - RAX-PIE2 may depend on RAX-PIE and may simply add - additional capabilities to it. In general, dependencies of this kind are discouraged - and implementers should strive to keep extensions independent. That said, extension - dependencies allow for the possibility of providing updates to existing extensions - even if the original extension is under the control of a different vendor. This is - particularly useful in cases where an existing extension has good client support. + There is no explicit versioning mechanism for + extensions. Nonetheless, there may be cases in which a + developer decides to update an extension after the + extension has been released and client support for the + extension has been established. In these cases, it is + recommended that a new extension be created. The + extension may have a name that signifies its + relationship to the previous version. For example, a + developer may append an integer to the extension name + to signify that one extension updates another: + RAX-PIE2 updates + RAX-PIE. + Extensions may have dependencies on other + extensions. For example, RAX-PIE2 may + depend on RAX-PIE and may simply add + additional capabilities to it. In general, + dependencies of this kind are discouraged and + implementers should strive to keep extensions + independent. That said, extension dependencies allow + for the possibility of providing updates to existing + extensions even if the original extension is under the + control of a different vendor. This is particularly + useful in cases where an existing extension has good + client support.
-
- Extensions and Pluggability - Core APIs abstract away vendor differences in order to provide a cross-platform - environment to their clients. For example, a client should be able to interact with - an OpenStack load balancing service without worrying about whether the deployment - utilizes Zeus, Pound, or HAProxy on the backend. OpenStack implementations strive to - support multiple backends out of the box. They do so by employing software drivers. - Each driver is responsible for communicating to a specific backend and is in charge - of translating core API requests to it. - The core API contains only those capabilities which are applicable to all - backends; however, not all backends are created equal, with each backend offering a - distinct set of capabilities. Extensions play a critical role in exposing these - capabilities to clients. This is illustrated below. Here, extensions fill in the gap - between the common capabilities that the core API provides and the unique - capabilities of the Zeus load balancer. In a sense, one can think of extensions as - providing frontends to OpenStack plug-ins. +
+ Extensions and Plug-ability + Core APIs abstract away vendor differences in order + to provide a cross-platform environment to their + clients. For example, a client should be able to + interact with an OpenStack load balancing service + without worrying about whether the deployment utilizes + Zeus, Pound, or HAProxy on the backend. OpenStack + implementations strive to support multiple backends + out of the box. They do so by employing software + drivers. Each driver is responsible for communicating + to a specific backend and is in charge of translating + core API requests to it. + The core API contains only those capabilities which + are applicable to all backends; however, not all + backends are created equal, with each backend offering + a distinct set of capabilities. Extensions play a + critical role in exposing these capabilities to + clients. This is illustrated below. Here, extensions + fill in the gap between the common capabilities that + the core API provides and the unique capabilities of + the Zeus load balancer. In a sense, one can think of + extensions as providing front ends to OpenStack + plug-ins.
- Extensions and Pluggability + Extensions and Plug-ability - + - +
diff --git a/incubation/openstack-api-extensions/pom.xml b/incubation/openstack-api-extensions/pom.xml index f487c81..f32d658 100644 --- a/incubation/openstack-api-extensions/pom.xml +++ b/incubation/openstack-api-extensions/pom.xml @@ -64,7 +64,7 @@ com.rackspace.cloud.api clouddocs-maven-plugin - 1.15.0 + 2.0.2 diff --git a/openstack-compute-api-1.0/src/figures/Arrow_east.png b/openstack-compute-api-1.0/src/figures/Arrow_east.png deleted file mode 100644 index 42d4f94..0000000 Binary files a/openstack-compute-api-1.0/src/figures/Arrow_east.png and /dev/null differ diff --git a/openstack-compute-api-1.0/src/figures/Check_mark_23x20_02.png b/openstack-compute-api-1.0/src/figures/Check_mark_23x20_02.png deleted file mode 100644 index 2200f84..0000000 Binary files a/openstack-compute-api-1.0/src/figures/Check_mark_23x20_02.png and /dev/null differ diff --git a/openstack-compute-api-2/src/figures/Arrow_east.svg b/openstack-compute-api-2/src/figures/Arrow_east.svg deleted file mode 100644 index 8e0b5e1..0000000 --- a/openstack-compute-api-2/src/figures/Arrow_east.svg +++ /dev/null @@ -1,70 +0,0 @@ - - - -image/svg+xml - - - - - - - - \ No newline at end of file diff --git a/openstack-compute-api-2/src/figures/Check_mark_23x20_02.svg b/openstack-compute-api-2/src/figures/Check_mark_23x20_02.svg deleted file mode 100644 index 3051a2f..0000000 --- a/openstack-compute-api-2/src/figures/Check_mark_23x20_02.svg +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - image/svg+xml - - - - - - - - diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..b24309b --- /dev/null +++ b/pom.xml @@ -0,0 +1,46 @@ + + 4.0.0 + + org.openstack.docs + parent-pom + 1.0.0-SNAPSHOT + pom + + + + v2 + + + + Rackspace Research Repositories + + true + + + + rackspace-research + Rackspace Research Repository + http://maven.research.rackspacecloud.com/content/groups/public/ + + + + + rackspace-research + Rackspace Research Repository + http://maven.research.rackspacecloud.com/content/groups/public/ + + + + + + + + com.rackspace.cloud.api + clouddocs-maven-plugin + 2.0.2 + + + + diff --git a/openstack-compute-api-1.0/pom.xml b/v1.0/pom.xml similarity index 82% rename from openstack-compute-api-1.0/pom.xml rename to v1.0/pom.xml index 31cfb7a..33b41f4 100644 --- a/openstack-compute-api-1.0/pom.xml +++ b/v1.0/pom.xml @@ -2,40 +2,24 @@ - + + org.openstack.docs + parent-pom + 1.0.0-SNAPSHOT + ../pom.xml + 4.0.0 - - org.openstack.docs - openstack-guide - 1.0.0-SNAPSHOT + openstack-compute-api-v1 jar - OpenStack Compute Developer Guide API 1.0 + OpenStack Compute API v1.0 Reference + + + local + 1 + - - - Rackspace Research Repositories - - true - - - - rackspace-research - Rackspace Research Repository - http://maven.research.rackspacecloud.com/content/groups/public/ - - - - - rackspace-research - Rackspace Research Repository - http://maven.research.rackspacecloud.com/content/groups/public/ - - - - - src @@ -47,11 +31,10 @@ - com.rackspace.cloud.api clouddocs-maven-plugin - 1.15.0 + goal1 @@ -93,7 +76,6 @@ 0 - - - diff --git a/openstack-compute-api-1.0/src/cs-devguide.xml b/v1.0/src/cs-devguide.xml similarity index 51% rename from openstack-compute-api-1.0/src/cs-devguide.xml rename to v1.0/src/cs-devguide.xml index a808a71..9592c39 100644 --- a/openstack-compute-api-1.0/src/cs-devguide.xml +++ b/v1.0/src/cs-devguide.xml @@ -13,35 +13,35 @@ - - + '> - - '> ]> - OpenStack Compute Developer Guide API 1.0 - OpenStack Compute Dev Guide API 1.0 + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:m="http://www.w3.org/1998/Math/MathML" + xmlns:html="http://www.w3.org/1999/xhtml" + xmlns:db="http://docbook.org/ns/docbook" version="5.0" + xml:id="compute-v1.0"> + OpenStack Compute API 1.0 Reference + Compute API Reference @@ -59,27 +59,28 @@ Rackspace US, Inc. API v1.0 - OpenStack™ Compute - 2011-01-21 + OpenStack Compute + - Copyright details are filled in by the template. + Copyright details are filled in by the + template. - This document is intended for software developers interested in developing - applications using the OpenStack Compute Application Programming Interface + This document is intended for software developers + interested in developing applications using the + OpenStack Compute Application Programming Interface (API). - - this is a placeholder for the front cover - - - this is a placeholder for the back cover - OpenStack Compute API Operations Reference Summary - - Servers - + + this is a placeholder for the front cover + + + this is a placeholder for the back cover + OpenStack Compute API Operations Reference + Summary + Servers @@ -106,236 +107,246 @@ &GET; - /servers/id + /servers/id List server details &PUT; - /servers/id - Update server name/password + /servers/id + Update server + name/password &DELETE; - /servers/id + /servers/id Delete server - - Server Addresses - - - - - Verb - URI - Description - - - - - &GET; - /servers/id/ips - List addresses - - - &GET; - /servers/id/ips/public - List public addresses - - - &GET; - /servers/id/ips/private - List private addresses - - - &PUT; - /servers/id/ips/public/address - Share an IP address - - - &DELETE; - /servers/id/ips/public/address - Unshare an IP address - - - - - Server Actions - - - - - Verb - URI - Description - - - - - &POST; - /servers/id/action - Initiate or confirm server action - - - - - Flavors - - - - - Verb - URI - Description - - - - - &GET; - /flavors - List flavors - - - &GET; - /flavors/detail - List flavors details - - - &GET; - /flavors/id - List flavor detail - - - - - Images - - - - - Verb - URI - Description - - - - - &GET; - /images - List images - - - &GET; - /images/detail - Get images details - - - &POST; - /images - Create image - - - &GET; - /images/id - List image details - - - &DELETE; - /images/id - Delete image - - - - - Backup Schedules - - - - - Verb - URI - Description - - - - - &GET; - /servers/id/backup_schedule - List backup schedules - - - &POST; - /servers/id/backup_schedule - Create/update backup schedule - - - &DELETE; - /servers/id/backup_schedule - Disable backup schedule - - - - - Shared IP Groups - - - - - Verb - URI - Description - - - - - &GET; - /shared_ip_groups - List shared IP groups - - - &GET; - /shared_ip_groups/detail - Get shared IP groups details - - - &POST; - /shared_ip_groups - Create shared IP group - - - &GET; - /shared_ip_groups/id - Get shared IP group details - - - &DELETE; - /shared_ip_groups/id - Delete shared IP group - - - - + Server Addresses + + + + Verb + URI + Description + + + + + &GET; + /servers/id/ips + List addresses + + + &GET; + /servers/id/ips/public + List public addresses + + + &GET; + /servers/id/ips/private + List private addresses + + + &PUT; + /servers/id/ips/public/address + Share an IP address + + + &DELETE; + /servers/id/ips/public/address + Unshare an IP address + + + + Server Actions + + + + Verb + URI + Description + + + + + &POST; + /servers/id/action + Initiate or confirm server + action + + + + Flavors + + + + Verb + URI + Description + + + + + &GET; + /flavors + List flavors + + + &GET; + /flavors/detail + List flavors details + + + &GET; + /flavors/id + List flavor detail + + + + Images + + + + Verb + URI + Description + + + + + &GET; + /images + List images + + + &GET; + /images/detail + Get images details + + + &POST; + /images + Create image + + + &GET; + /images/id + List image details + + + &DELETE; + /images/id + Delete image + + + + Backup Schedules + + + + Verb + URI + Description + + + + + &GET; + /servers/id/backup_schedule + List backup schedules + + + &POST; + /servers/id/backup_schedule + Create/update backup + schedule + + + &DELETE; + /servers/id/backup_schedule + Disable backup schedule + + + + Shared IP Groups + + + + Verb + URI + Description + + + + + &GET; + /shared_ip_groups + List shared IP groups + + + &GET; + /shared_ip_groups/detail + Get shared IP groups + details + + + &POST; + /shared_ip_groups + Create shared IP group + + + &GET; + /shared_ip_groups/id + Get shared IP group + details + + + &DELETE; + /shared_ip_groups/id + Delete shared IP group + + + + - + Overview - - OpenStack Compute is a compute service that provides + OpenStack Compute is a compute service that provides server capacity in the cloud. Compute Servers come in different flavors of memory, disk space, and CPU, and can be provisioned in minutes. Interactions with Compute Servers can occur programmatically via the OpenStack - Compute API. - + Compute API. We welcome feedback, comments, and bug reports at bugs.launchpad.net/nova. - -
+ xlink:href="http://bugs.launchpad.net/nova" + >bugs.launchpad.net/nova. +
Intended Audience - This Guide is intended to assist software developers who want to develop - applications using the Rackspace Cloud Servers API. To use the information provided - here, you should first have a general understanding of the Rackspace Cloud Servers - service and have access to an active Rackspace Cloud Servers account. You should + This Guide is intended to assist software developers + who want to develop applications using the Rackspace + Cloud Servers API. To use the information provided + here, you should first have a general understanding of + the Rackspace Cloud Servers service and have access to + an active Rackspace Cloud Servers account. You should also be familiar with: @@ -345,99 +356,98 @@ HTTP/1.1 - JSON and/or XML data serialization formats + JSON and/or XML data serialization + formats
-
+
Document Change History This version of the Developer Guide replaces and - obsoletes all previous versions. The most recent changes - are described in the table below: - - - - Revision Date - Summary of Changes - - - - - Apr. 14, 2011 - - - - - Initial release. - - - - - - + obsoletes all previous versions. The most recent + changes are described in the table below: + + + + Revision + Date + Summary of + Changes + + + + + Apr. 14, + 2011 + + + + Initial release. + + + + +
-
+
+ Additional Resources - You can download the most current version of this document from the OpenStack Docs - website at You can download the most current version of this + document from the OpenStack Docs website at http://docs.openstack.org. - For more details about the Cloud Servers service that this API is based upon, please refer to http://www.rackspacecloud.com/cloud_hosting_products/servers. Related - documents, including an For more details about the Cloud Servers service + that this API is based upon, please refer to http://www.rackspacecloud.com/cloud_hosting_products/servers. + Related documents, including an API Language Binding Guide, are available at the same site, as are links - to Rackspace's official support channels, including knowledge base articles, forums, - phone, chat, and email. + >API Language Binding Guide, are available + at the same site, as are links to Rackspace's official + support channels, including knowledge base articles, + forums, phone, chat, and email.
- + Concepts - To use the Cloud Servers API effectively, you should understand several key concepts: -
+ To use the Cloud Servers API effectively, you should + understand several key concepts: +
Server - - A server is a virtual machine instance in the Cloud + A server is a virtual machine instance in the Cloud Servers system. Flavor and image are requisite - elements when creating a server. - + elements when creating a server.
-
+
Flavor - - A flavor is an available hardware configuration for a - server. Each flavor has a unique combination of disk + A flavor is an available hardware configuration for + a server. Each flavor has a unique combination of disk space, memory capacity and priority for CPU time.
-
+
Image - - An image is a collection of files used to create or + An image is a collection of files used to create or rebuild a server. Rackspace provides a number of - pre-built OS images by default. You may also create + pre-built OS images by default. You may also create custom images from cloud servers you have launched. These custom images are useful for backup purposes or for producing “gold” server images if you plan to deploy a particular server configuration frequently.
-
+
Backup Schedule - - A backup schedule can be defined to create server + A backup schedule can be defined to create server images at regular intervals (daily and weekly). Backup - schedules are configurable per server. - + schedules are configurable per server.
-
+
Reboot - - The reboot function allows for either a soft or hard + The reboot function allows for either a soft or hard reboot of a server. With a soft reboot, the operating system is signaled to restart, which allows for a graceful shutdown of all processes. A hard reboot is @@ -445,144 +455,132 @@ virtualization platform should ensure that the reboot action has completed successfully even in cases in which the underlying domain/vm is paused or - halted/stopped. - + halted/stopped.
-
+
Rebuild - - The rebuild function removes all data on the server + The rebuild function removes all data on the server and replaces it with the specified image. Server ID - and IP addresses remain the same. - + and IP addresses remain the same.
-
+
Resize - - The resize function converts an existing server to a + The resize function converts an existing server to a different flavor, in essence, scaling the server up or down. The original server is saved for a period of time to allow rollback if there is a problem. All resizes should be tested and explicitly confirmed, at which time the original server is removed. All resizes are automatically confirmed after 24 hours if they are - not confirmed or reverted. - + not confirmed or reverted.
-
+
Shared IP Address - - Public IP addresses can be shared across multiple + Public IP addresses can be shared across multiple servers for use in various high availability scenarios. When an IP address is shared to another server, the cloud network restrictions are modified to allow each server to listen to and respond on that IP address (you may optionally specify that the target - server network configuration be modified). Shared IP + server network configuration be modified). Shared IP addresses can be used with many standard heartbeat facilities (e.g. keepalived) that monitor for failure - and manage IP failover. - + and manage IP failover.
-
+
Shared IP Group - - A shared IP group is a collection of servers that can - share IPs with other members of the group. Any server - in a group can share one or more public IPs with any - other server in the group. With the exception of the - first server in a shared IP group, servers must be - launched into shared IP groups. A server may only be a - member of one shared IP group. - + A shared IP group is a collection of servers that + can share IPs with other members of the group. Any + server in a group can share one or more public IPs + with any other server in the group. With the exception + of the first server in a shared IP group, servers must + be launched into shared IP groups. A server may only + be a member of one shared IP group.
- + General API Information - The Cloud Servers API is implemented using a ReSTful web service interface. Like - other products in the Rackspace Cloud suite, Cloud Servers shares a common token - authentication system that allows seamless access between products and services. + The Cloud Servers API is implemented using a ReSTful web + service interface. Like other products in the Rackspace + Cloud suite, Cloud Servers shares a common token + authentication system that allows seamless access between + products and services. - - All requests to authenticate and operate against Cloud - Servers are performed using SSL over HTTP (HTTPS) on - TCP port 443. - + All requests to authenticate and operate against + Cloud Servers are performed using SSL over HTTP + (HTTPS) on TCP port 443. -
+
Authentication - Each ReST request against the Cloud Servers system requires the inclusion of a - specific authorization token HTTP x-header, defined as X-Auth-Token. - Clients obtain this token, along with the Cloud Servers API URL, by first using the - Rackspace Cloud Authentication Service and supplying a valid username and API access - key. - The Rackspace Cloud Authentication Service is a ReSTful web service. It is - the entry point to all Rackspace Cloud APIs. - To access the Authentication Service, you must know whether your account is - US-based or UK-based: - + Each ReST request against the Cloud Servers system + requires the inclusion of a specific authorization + token HTTP x-header, defined as + X-Auth-Token. Clients obtain this + token, along with the Cloud Servers API URL, by first + using the Rackspace Cloud Authentication Service and + supplying a valid username and API access key. + The Rackspace Cloud Authentication Service is a + ReSTful web service. It is the entry point to all + Rackspace Cloud APIs. + To access the Authentication Service, you must know + whether your account is US-based or UK-based: - - US-based accounts authenticate through https://auth.api.rackspacecloud.com/v1.0. + US-based accounts authenticate through https://auth.api.rackspacecloud.com/v1.0. - - UK-based accounts authenticate through https://lon.auth.api.rackspacecloud.com/v1.0. + UK-based accounts authenticate through https://lon.auth.api.rackspacecloud.com/v1.0. - - Your account may be based in either the US or the UK; this is not determined - by your physical location but by the location of the Rackspace retail site which - was used to create your account: - + Your account may be based in either the US or the + UK; this is not determined by your physical location + but by the location of the Rackspace retail site which + was used to create your account: - - If your account was - created via http://www.rackspacecloud.com, it is a US-based account. - + If your account was created via http://www.rackspacecloud.com, it + is a US-based account. - - If your account was - created via http:/www.rackspace.co.uk, it is a UK-based account. - + If your account was created via http:/www.rackspace.co.uk, it is a + UK-based account. - - If you are unsure how your account was created, use the Rackspace contact - information at either site to ask for help. - + If you are unsure how your account was created, use + the Rackspace contact information at either site to + ask for help. Request - - To authenticate, you must supply your username and API access key in x-headers: - - - - - - Use your Rackspace Cloud - username as the username for the API. Place it in the - X-Auth-User x-header. - - - - - Obtain your API access - key from the Rackspace Cloud Control Panel in the Your Account | - API Access section. Place it in the X-Auth-User - x-header. - - - - - + To authenticate, you must supply your username + and API access key in x-headers: + + + Use your Rackspace Cloud username as the + username for the API. Place it in the + X-Auth-User + x-header. + + + Obtain your API access key from the + Rackspace Cloud Control Panel in the Your + Account | API Access section. Place it in + the X-Auth-User + x-header. + + - Authentication Request (US-Based Account) + Authentication Request (US-Based + Account) GET /v1.0 HTTP/1.1 Host: auth.api.rackspacecloud.com @@ -593,20 +591,29 @@ X-Auth-Key: a86850deb2742ec3cb41518e26aa2d89 Response - The Cloud Servers API may return any of the HTTP/1.1 response codes defined - by - RFC-2616 Section 10. If authentication is successful, an HTTP status - 204 (No Content) is returned with three cloud - service headers, X-Server-Management-Url, - X-Storage-Url, X-CDN-Management-Url, as well as - X-Auth-Token. An HTTP status of 401 - (Unauthorized) is returned if authentication fails. All - operations against Cloud Servers should be performed against the URL specified - in X-Server-Management-Url (which is dynamic and subject to change) - and must include the X-Auth-Token header as noted above. The URLs - specified in X-Storage-Url and X-CDN-Management-Url - are specific to the Cloud Files product and may be ignored for purposes of - interacting with Cloud Servers. + The Cloud Servers API may return any of the + HTTP/1.1 response codes defined by RFC-2616 Section 10. If + authentication is successful, an HTTP status + 204 (No Content) is + returned with three cloud service headers, + X-Server-Management-Url, + X-Storage-Url, + X-CDN-Management-Url, as well as + X-Auth-Token. An HTTP status of + 401 (Unauthorized) is + returned if authentication fails. All operations + against Cloud Servers should be performed against + the URL specified in + X-Server-Management-Url (which is + dynamic and subject to change) and must include + the X-Auth-Token header as noted + above. The URLs specified in + X-Storage-Url and + X-CDN-Management-Url are specific + to the Cloud Files product and may be ignored for + purposes of interacting with Cloud Servers. Authentication Response @@ -621,41 +628,39 @@ Content-Length: 0 Content-Type: text/plain; charset=UTF-8 - - Authentication tokens are typically valid for 24 - hours. Applications should be designed to - re-authenticate after receiving a 401 - (Unauthorized) response. - - - Note that API operation URIs specified throughout this - document are relative, this is, they should be - appended to the end of the X-Server-Management-Url - that is returned from the authentication system. For - example, in the sample response above, you would list - servers by performing a &GET; against https://servers.api.rackspacecloud.com/v1.0/35428/servers. + Authentication tokens are typically valid for 24 + hours. Applications should be designed to + re-authenticate after receiving a 401 + (Unauthorized) response. + Note that API operation URIs specified + throughout this document are relative, this is, + they should be appended to the end of the + X-Server-Management-Url that is + returned from the authentication system. For + example, in the sample response above, you would + list servers by performing a &GET; against https://servers.api.rackspacecloud.com/v1.0/35428/servers.
-
+
Request/Response Types - - The Cloud Servers API supports both the JSON and XML - data serialization formats. The request format is + The Cloud Servers API supports both the JSON and XML + data serialization formats. The request format is specified using the Content-Type header and is required for operations that have a request - body. The response format can be specified in - requests using either the Accept header - or adding an .xml or .json extension to the request - URI. Note that it is possible for a response to be - serialized using a format different from the request - (see example below). If no response format is - specified, JSON is the default. If conflicting - formats are specified using both an - Accept header and a query extension, the - query extension takes precedence. - + body. The response format can be specified in requests + using either the Accept header or adding + an .xml or .json extension to the request URI. Note + that it is possible for a response to be serialized + using a format different from the request (see example + below). If no response format is specified, JSON is + the default. If conflicting formats are specified + using both an Accept header and a query + extension, the query extension takes + precedence. @@ -714,14 +719,13 @@ Content-Type: application/xml; charset=UTF-8 status="SAVING" progress="0" /> - - Notice, in the above example, that the content type is - set to application/json but application/xml is - requested via the Accept header. An alternative - method of achieving the same result is illustrated - below – this time we utilize a URI extension instead - of an Accept header. - + Notice, in the above example, that the content type + is set to application/json but application/xml is + requested via the Accept header. An + alternative method of achieving the same result is + illustrated below – this time we utilize a URI + extension instead of an Accept + header. Request with Extension: JSON @@ -740,18 +744,16 @@ X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb -
+
Content Compression - - Request and response body data may be encoded with + Request and response body data may be encoded with gzip compression in order to accelerate interactive performance of API calls and responses. This is controlled using the Accept-Encoding header on the request from the client and indicated by the Content-Encoding header in the server response. Unless the header is explicitly set, - encoding defaults to disabled. - + encoding defaults to disabled.
JSON and XML Response Formats
@@ -775,52 +777,45 @@ X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb
Encoding Headers
-
+
Persistent Connections - - By default, the API supports persistent connections - via HTTP/1.1 keepalives. All connections will be kept - alive unless the connection header is set to close. - - - To prevent abuse, HTTP sessions have a timeout of 20 - seconds before being closed. - + By default, the API supports persistent connections + via HTTP/1.1 keepalives. All connections will be kept + alive unless the connection header is set to + close. + To prevent abuse, HTTP sessions have a timeout of 20 + seconds before being closed. - - The server may close the connection at any time + The server may close the connection at any time and clients should not rely on this behavior.
-
+
Paginated Collections - - To reduce load on the service, list operations will - return a maximum of 1,000 items at a time. To - navigate the collection, the parameters - limit and - offset can be set in the URI - (e.g.?limit=0&offset=0). + To reduce load on the service, list operations will + return a maximum of 1,000 items at a time. To navigate + the collection, the parameters + limit and + offset can be set in the + URI + (e.g.?limit=0&offset=0). If an offset is given beyond the end of a list an empty list will be returned. Note that list operations never return itemNotFound (404) - faults. - + faults.
-
+
Caching - - The Cloud Servers API makes extensive use of caching + The Cloud Servers API makes extensive use of caching layers at various tiers of the system. Purging mechanisms exist to ensure that objects served out of cache are accurate and up to date. &GET;s returning a cached entity return a 203 - (Cached) to signal users that the value - is being served out of cache. Additionally, cached - entities have the following header set: - + (Cached) to signal users that the + value is being served out of cache. Additionally, + cached entities have the following header set: @@ -831,61 +826,69 @@ X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb - - + +
Last Modified Header
Last-ModifiedDate and time when the entity was last updated in cache.Last-ModifiedDate and time when the entity + was last updated in cache.
-
+
Efficient Polling with the - <parameter>Changes-Since</parameter> Parameter - The ReST API allows you to poll for the status of certain operations by - performing a &GET; on various elements. Rather than re-downloading and re-parsing - the full status at each polling interval, your ReST client may use the - changes-since parameter to check for changes since a - previous request. The changes-since time is specified as - Unix time (the - number of seconds since January 1, 1970, 00:00:00 UTC, not counting leap seconds). - If nothing has changed since the changes-since time, a - 304 (Not Modified) response will be returned. If data - has changed, only the items changed since the specified time will be returned in the - response. For example, performing a &GET; against + Changes-Since + Parameter + The ReST API allows you to poll for the status of + certain operations by performing a &GET; on various + elements. Rather than re-downloading and re-parsing + the full status at each polling interval, your ReST + client may use the + changes-since parameter to + check for changes since a previous request. The + changes-since time is + specified as Unix time (the number of seconds since + January 1, 1970, 00:00:00 UTC, not counting leap + seconds). If nothing has changed since the + changes-since time, a + 304 (Not Modified) + response will be returned. If data has changed, only + the items changed since the specified time will be + returned in the response. For example, performing a + &GET; against https://api.servers.rackspacecloud.com/v1.0/224532/servers?changes-since=1244012982 - would list all servers that have changed since Wed, 03 Jun 2009 07:09:42 UTC. + would list all servers that have changed since Wed, 03 + Jun 2009 07:09:42 UTC.
-
+
Limits - - All accounts, by default, have a preconfigured set of - thresholds (or limits) to manage capacity and prevent - abuse of the system. The system recognizes two kinds - of limits: rate limits and - absolute limits. Rate limits - are thresholds that are reset after a certain amount - of time passes. Absolute limits are fixed. - + All accounts, by default, have a preconfigured set + of thresholds (or limits) to manage capacity and + prevent abuse of the system. The system recognizes two + kinds of limits: rate limits + and absolute limits. Rate + limits are thresholds that are reset after a certain + amount of time passes. Absolute limits are + fixed. - - If the default limits are too low for your + If the default limits are too low for your particular application, please contact Rackspace - Cloud support to request an increase. All - requests require reasonable justification. - + Cloud support to request an increase. All requests + require reasonable justification. -
+
Rate Limits - - We specify rate limits in terms of - both a human-readable wild-card URI and a machine-processable regular expression. - The regular expression boundary matcher '^' takes effect after - the root URI path. For example, the regular - expression ^/servers would match the bolded - portion of the following URI: - https://servers.api.rackspacecloud.com/v1.0/3542812/servers. - + We specify rate limits in terms of both a + human-readable wild-card URI and a + machine-processable regular expression. The + regular expression boundary matcher '^' takes + effect after the root URI path. For example, the + regular expression ^/servers would match the + bolded portion of the following URI: + https://servers.api.rackspacecloud.com/v1.0/3542812/servers. @@ -929,37 +932,31 @@ X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb
Default Rate Limits
- - Rate limits are applied in order relative to the - verb, going from least to most specific. For + Rate limits are applied in order relative to the + verb, going from least to most specific. For example, although the threshold for &POST; to */servers is 50 per day, one cannot &POST; to */servers more than 10 times within a single minute because the rate limits for any &POST; is - 10/min. - - - In the event you exceed the thresholds established - for your account, a 413 (Rate - Control) HTTP response will be - returned with a Reply-After header to - notify the client when they can attempt to try - again. - + 10/min. + In the event you exceed the thresholds + established for your account, a 413 + (Rate Control) HTTP response will + be returned with a Reply-After header + to notify the client when they can attempt to try + again.
-
+
Absolute Limits - - “Maximum total amount of RAM (GB)” limits the - number of instances you can run based on the total aggregate - RAM size. For example, with the default limit of - 50GB, you may launch a maximum of 200 256MB cloud - servers, or 100 512MB cloud servers, or 50 1GB - cloud servers, or 20 2GB + 40 256MB cloud servers, - etc. These limits apply to creating as well as - resizing servers. - + “Maximum total amount of RAM (GB)” limits the + number of instances you can run based on the total + aggregate RAM size. For example, with the default + limit of 50GB, you may launch a maximum of 200 + 256MB cloud servers, or 100 512MB cloud servers, + or 50 1GB cloud servers, or 20 2GB + 40 256MB + cloud servers, etc. These limits apply to creating + as well as resizing servers. @@ -971,29 +968,27 @@ X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb + RAM (GB) + IP groups + per shared IP group
Default Absolute Limits
Maximum total amount of - RAM (GB) 50
Maximum number of shared - IP groups 25
Maximum number of members - per shared IP group 25
-
+
Determining Limits Programmatically - - Applications can programmatically determine + Applications can programmatically determine current account limits using the /limits URI as - follows: - + follows: @@ -1006,65 +1001,60 @@ X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb &GET; /limits - Returns the current limits for your account + Returns the current limits + for your account - - Normal Response Code(s): - 200, - 203 + Normal Response Code(s): + 200, + 203 - - Error Response Code(s): - cloudServersFault (400, 500), - serviceUnavailable (503), unauthorized (401), - badRequest (400), - overLimit (413) - - This operation does not require a request body. + Error Response Code(s): cloudServersFault + (400, + 500), + serviceUnavailable (503), + unauthorized (401), + badRequest (400), overLimit + (413) + This operation does not require a request + body. Limit Response: XML - - + Limit Response: JSON - +
-
+
API Version - - The Cloud Servers API uses a URI versioning - scheme. The first element of the path contains the - target version identifier - (e.g. https://servers.api.rackspacecloud.com/ - v1.0/… ) All requests (except to query for - version — see below) must contain a target - version. New features and functionality that do not - break API-compatibility will be introduced in the - current version of the API and the URI will remain - unchanged. Any features or functionality changes that - would necessitate a break in API-compatibility will - require a new version, which will result in the URI - version being updated accordingly. When new API - versions are released, older versions will be marked - as DEPRECATED. Rackspace will work with - developers and partners to ensure there is adequate - time to migrate to the new version before deprecated - versions are discontinued. - - - Your application can programmatically determine + The Cloud Servers API uses a URI versioning scheme. + The first element of the path contains the target + version identifier (e.g. + https://servers.api.rackspacecloud.com/ v1.0/… + ) All requests (except to query for version — + see below) must contain a target version. New features + and functionality that do not break API-compatibility + will be introduced in the current version of the API + and the URI will remain unchanged. Any features or + functionality changes that would necessitate a break + in API-compatibility will require a new version, which + will result in the URI version being updated + accordingly. When new API versions are released, older + versions will be marked as DEPRECATED. + Rackspace will work with developers and partners to + ensure there is adequate time to migrate to the new + version before deprecated versions are + discontinued. + Your application can programmatically determine available API versions by performing a &GET; on the root URL (i.e. with the version and everything to the - right of it truncated) returned from the authentication - system. - + right of it truncated) returned from the + authentication system. Versions List Request @@ -1072,19 +1062,18 @@ GET HTTP/1.1 Host: servers.api.rackspacecloud.com - - Normal Response Code(s): - 200, - 203 + Normal Response Code(s): + 200, + 203 - - Error Response Code(s): - 400, - 413, - 500, - 503 + Error Response Code(s): + 400, + 413, + 500, + 503 - This operation does not require a request body. + This operation does not require a request + body. Versions List Response: XML @@ -1106,22 +1095,20 @@ Host: servers.api.rackspacecloud.com }]} - - You can also obtain additional information about a + You can also obtain additional information about a specific version by performing a &GET; on the base - version URL - (e.g. https://servers.api.rackspacecloud.com/v1.0/). - Version request URLs should always end with a trailing - slash (/). If the slash is omitted, the server may - respond with a 302 - redirection request. Format extensions may be placed - after the slash - (e.g. https://servers.api.rackspacecloud.com/v1.0/.xml). Note - that this is a special case that does not hold true - for other API requests. In general, requests such as - /servers.xml and /servers/.xml are handled - equivalently. - + version URL (e.g. + https://servers.api.rackspacecloud.com/v1.0/). Version + request URLs should always end with a trailing slash + (/). If the slash is omitted, the server may respond + with a 302 redirection + request. Format extensions may be placed after the + slash (e.g. + https://servers.api.rackspacecloud.com/v1.0/.xml). + Note that this is a special case that does not hold + true for other API requests. In general, requests such + as /servers.xml and /servers/.xml are handled + equivalently. Version Details Request @@ -1129,72 +1116,69 @@ GET HTTP/1.1 Host: servers.api.rackspacecloud.com/v1.0/ - - Normal Response Code(s): - 200, - 203 + Normal Response Code(s): + 200, + 203 - - Error Response Code(s): - cloudServersFault (400, 500), - serviceUnavailable (503), - unauthorized (401), - badRequest (400), - overLimit(413) - - This operation does not require a request body + Error Response Code(s): cloudServersFault + (400, + 500), serviceUnavailable + (503), unauthorized + (401), badRequest + (400), + overLimit(413) + This operation does not require a request + body Version Details Response: XML - - + Version Details Response: JSON - - + - - The detailed version response contains pointers to + The detailed version response contains pointers to both a human-readable and a machine-processable - description of the API service. The machine-processable description is written in the Web - Application Description Language (WADL). - + description of the API service. The + machine-processable description is written in the Web + Application Description Language (WADL). - If there is a discrepancy between the two specifications, the WADL is - authoritative as it contains the most accurate and up-to-date description of the - API service. + If there is a discrepancy between the two + specifications, the WADL is authoritative as it + contains the most accurate and up-to-date + description of the API service.
-
+
Faults - When an error occurs, the system will return an HTTP error response code denoting - the type of error. The system will also return additional information about the - fault in the body of the response. + When an error occurs, the system will return an HTTP + error response code denoting the type of error. The + system will also return additional information about + the fault in the body of the response. Fault Response: XML - - + Fault Response: JSON - - + - The error code is returned in the body of the response for convenience. The - message section returns a human-readable message that is appropriate for display to - the end user. The details section is optional and may contain information—for example, a stack trace—to - assist in tracking down an error. The detail section may or may not be + The error code is returned in the body of the + response for convenience. The message section returns + a human-readable message that is appropriate for + display to the end user. The details section is + optional and may contain information—for + example, a stack trace—to assist in tracking + down an error. The detail section may or may not be appropriate for display to an end user. - - The root element of the fault (e.g. cloudServersFault) - may change depending on the type of error. The - following is a list of possible elements along with - their associated error codes. - + The root element of the fault (e.g. + cloudServersFault) may change depending on the type of + error. The following is a list of possible elements + along with their associated error codes. @@ -1275,51 +1259,41 @@ Host: servers.api.rackspacecloud.com/v1.0/
Fault Elements and Error Codes
Fault Response, Item Not Found: XML - - - + Fault Response, Item Not Found: JSON - - - + - - From an XML schema perspective, all API faults are + From an XML schema perspective, all API faults are extensions of the base fault type - CloudServersAPIFault. When working with a system that + CloudServersAPIFault. When working with a system that binds XML to actual classes (such as JAXB), one should be capable of using CloudServersAPIFault as a “catch-all” if there's no interest in distinguishing - between individual fault types. - - - The OverLimit fault is generated when a rate limit - threshold is exceeded. For convenience, the fault - adds a replyAfter attribute that contains the content - of the Reply-After header in XML Schema 1.0 date/time - format. - + between individual fault types. + The OverLimit fault is generated when a rate limit + threshold is exceeded. For convenience, the fault adds + a replyAfter attribute that contains the content of + the Reply-After header in XML Schema 1.0 date/time + format. Fault Response, Over Limit: XML - - + Fault Response, Over Limit: JSON - - +
- + API Operations -
+
Servers -
+
List Servers @@ -1333,102 +1307,97 @@ Host: servers.api.rackspacecloud.com/v1.0/ &GET; /servers - List all servers (IDs and names only) + List all servers (IDs and + names only) &GET; /servers/detail - List all servers (all details) + List all servers (all + details) - - Normal Response Code(s): - 200, - 203 + Normal Response Code(s): + 200, + 203 - - Error Response Code(s): - cloudServersFault (400, 500), + Error Response Code(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), - badRequest (400), - overLimit (413) - + badRequest (400), overLimit + (413) Office Annotation - Jorge Williams + Jorge + Williams 2009-06-26T14:30:46 - - Well need to revisit. List all status even + Well need to revisit. List all status even the ones that don't enter into our state transitions along with descriptions of each. - - This operation provides a list of servers - associated with your account. Servers that have - been deleted are not included in this list. - Servers contain a status attribute that can be - used as an indication of the current server state. - Servers with an ACTIVE status are - available for use. Other possible values for the - status attribute include: BUILD, - REBUILD, SUSPENDED, - QUEUE_RESIZE, - PREP_RESIZE, RESIZE, - VERIFY_RESIZE, PASSWORD, - RESCUE, REBOOT, - HARD_REBOOT, SHARE_IP, - SHARE_IP_NO_CONFIG, - DELETE_IP, and UNKNOWN. - - - When retrieving a list of servers via the + This operation provides a + list of servers associated with your account. + Servers that have been deleted are not included in + this list. Servers contain a status attribute that + can be used as an indication of the current server + state. Servers with an ACTIVE status + are available for use. Other possible values for + the status attribute include: BUILD, + REBUILD, SUSPENDED, + QUEUE_RESIZE, + PREP_RESIZE, RESIZE, + VERIFY_RESIZE, + PASSWORD, RESCUE, + REBOOT, HARD_REBOOT, + SHARE_IP, + SHARE_IP_NO_CONFIG, + DELETE_IP, and + UNKNOWN. + When retrieving a list of servers via the changes-since parameter (see Efficient Polling with the Changes-Since Parameter), the list will contain servers that have been deleted since the - changes-since time. - - - The Cloud Servers provisioning algorithm has an + changes-since time. + The Cloud Servers provisioning algorithm has an anti-affinity property that attempts to spread out - customer VMs across hosts. Under certain + customer VMs across hosts. Under certain situations, VMs from the same customer may be placed on the same host. - hostId represents the host - your cloud server runs on and can be used to + hostId represents the + host your cloud server runs on and can be used to determine this scenario if it's relevant to your - application. - + application. HostId is unique - per account and is not - globally unique. - + per account and is + not globally unique. - This operation does not require a request body. + This operation does not require a request + body. Servers List Response: XML (detail) - - + - Servers List Response: JSON (detail) - - + Servers List Response: JSON + (detail) +
-
+
Create Server @@ -1446,84 +1415,75 @@ Host: servers.api.rackspacecloud.com/v1.0/ - - Normal Response Code(s): - 202 + Normal Response Code(s): + 202 - - Error Response Code(s): - cloudServersFault (400, 500), + Error Response Code(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), - badMediaType(415), + badMediaType(415), itemNotFound (404), badRequest (400), - serverCapacityUnavailable (503), - overLimit (413) - + serverCapacityUnavailable + (503), overLimit + (413) - - - Status Transition: - - BUILD &ARROW; ACTIVE - - - - - - BUILD &ARROW; ERROR (on error) - - - + + + Status Transition: + + BUILD &ARROW; + ACTIVE + + + + + + BUILD &ARROW; + ERROR (on error) + + - - This operation asynchronously provisions a new + This operation asynchronously provisions a new server. The progress of this operation depends on several factors including location of the requested image, network i/o, host load, and the selected flavor. The progress of the request can be checked by performing a &GET; on /server/ id , which will return a progress attribute (0-100% - completion). - + completion). Office Annotation - Jorge Williams + Jorge + Williams 2009-06-26T14:36:04 Removed... - - If the adminPass element is not specified in - the request... - - - Because adding a password on a request is - currently not supported. - + If the adminPass element is not specified in + the request... + Because adding a password on a request is + currently not supported. - - A password will be randomly generated for you and - returned in the response object. For security - reasons, it will not be returned in subsequent &GET; - calls against a given server ID. - - - Custom cloud server metadata can also be supplied - at launch time. This metadata is stored in the API - system where it is retrievable by querying the API - for server status. The maximum size of the - metadata key and value is each 255 bytes and the - maximum number of key-value pairs that can be - supplied per server is 5. - - - You may further customize a cloud server by + A password will be randomly + generated for you and returned in the response + object. For security reasons, it will not be + returned in subsequent &GET; calls against a given + server ID. + Custom cloud server metadata can also be + supplied at launch time. This metadata is stored + in the API system where it is retrievable by + querying the API for server status. The maximum + size of the metadata key and value is each 255 + bytes and the maximum number of key-value pairs + that can be supplied per server is 5. + You may further customize a cloud server by injecting data into the file system of the cloud server itself. This is useful, for example, for inserting ssh keys, setting configuration files, @@ -1533,31 +1493,28 @@ Host: servers.api.rackspacecloud.com/v1.0/ personalization. If significant customization is required, a custom image should be created. The max size of the file p ath data is 255 bytes while - the max size of the file contents is 10KB. Note + the max size of the file contents is 10KB. Note that the file contents should be encoded as a Base64 string and the 10KB limit refers to the number of bytes in the decoded data not the number - of characters in the encoded data. The maximum + of characters in the encoded data. The maximum number of file path/content pairs that can be - supplied is 5. Any existing files that match the + supplied is 5. Any existing files that match the specified file will be renamed to include the - extension bak followed by a time stamp. For + extension bak followed by a time stamp. For example, the file /etc/passwd will be backed up as - /etc/passwd.bak.1246036261.5785 . All files will + /etc/passwd.bak.1246036261.5785 . All files will have root and the root group as owner and group owner, respectively and will allow user and group - read access only ( -r--r----- ). - - - Servers in the same shared IP group can share + read access only ( -r--r----- + ). + Servers in the same shared IP group can share public IPs for various high availability and load balancing configurations. To launch an HA server, include the optional sharedIpGroupId element and the server will be launched into that shared IP - group. - - - If you intend to use a shared IP on the server + group. + If you intend to use a shared IP on the server being created and have no need for a separate public IP address, you may launch the server into a shared IP group and specify an IP address from @@ -1565,15 +1522,12 @@ Host: servers.api.rackspacecloud.com/v1.0/ You can accomplish this by specifying the public shared IP address in your request. This is optional and is only valid if sharedIpGroupId is - also supplied. - + also supplied. - - sharedIpGroupId is an optional parameter and + sharedIpGroupId is an optional parameter and for optimal performance, should ONLY be specified when intending to share IPs between - servers. - + servers. Server Create Request: XML @@ -1592,7 +1546,7 @@ Host: servers.api.rackspacecloud.com/v1.0/
-
+
Get Server Details @@ -1605,30 +1559,29 @@ Host: servers.api.rackspacecloud.com/v1.0/ &GET; - /servers/id - List details of the specified server + /servers/id + List details of the + specified server - - Normal Response Code(s): - 200, - 203 + Normal Response Code(s): + 200, + 203 - - Error Response Code(s): - cloudServersFault (400, 500), + Error Response Code(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), badRequest (400), itemNotFound (404), - overLimit (413) - - - This operation returns the details of a specific - server by its ID. - - This operation does not require a request body. + overLimit (413) + This operation returns the details of a specific + server by its ID. + This operation does not require a request + body. Server Details Response: XML @@ -1638,8 +1591,9 @@ Host: servers.api.rackspacecloud.com/v1.0/
-
- Update Server Name / Administrative Password +
+ Update Server Name / Administrative + Password @@ -1651,61 +1605,59 @@ Host: servers.api.rackspacecloud.com/v1.0/ &PUT; - /servers/id - Update the specified server's name and/or administrative password + /servers/id + Update the specified + server's name and/or administrative + password - - Normal Response Code(s): - 204 + Normal Response Code(s): + 204 - - Error Response Code(s): - cloudServersFault (400, 500), + Error Response Code(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), badRequest (400), - badMediaType(415), + badMediaType(415), itemNotFound (404), buildInProgress (409), - overLimit (413) - + overLimit (413) Status Transition: ACTIVE &ARROW; - PASSWORD &ARROW; - ACTIVE + PASSWORD &ARROW; + ACTIVE - - This operation allows you to update the name of + This operation allows you to update the name of the server and/or change the administrative password. This operation changes the name of the server in the Cloud Servers system and does not - change the server host name itself. - + change the server host name itself. Server Update Request: XML - - + Server Update Request: JSON - - + - This operation does not contain a response body. + This operation does not contain a response + body.
-
+
Delete Server @@ -1718,56 +1670,57 @@ Host: servers.api.rackspacecloud.com/v1.0/ &DELETE; - /servers/id - Terminate the specified server + /servers/id + Terminate the specified + server - - Normal Response Code(s): - 204 + Normal Response Code(s): + 204 - - Error Response Code(s): - cloudServersFault (400, 500), - serviceUnavailable (503), unauthorized (401), + Error Response Code(s): cloudServersFault + (400, + 500), + serviceUnavailable (503), + unauthorized (401), itemNotFound (404), unauthorized (401), buildInProgress (409), - overLimit (413) - + overLimit (413) Status Transition: ACTIVE &ARROW; - DELETED + DELETED - + SUSPENDED &ARROW; - DELETED + DELETED - This operation deletes a cloud server instance from the system. + This operation deletes a cloud server instance + from the system. - - When a server is deleted, all images created - from that server are also removed. - + When a server is deleted, all images created + from that server are also removed. - This operation does not require a request or a response body. + This operation does not require a request or a + response body.
-
+
Server Addresses -
+
List Addresses @@ -1780,39 +1733,38 @@ Host: servers.api.rackspacecloud.com/v1.0/ &GET; - /servers/id/ips - List all server addresses + /servers/id/ips + List all server + addresses - - Normal Response Code(s): - 200, - 203 + Normal Response Code(s): + 200, + 203 - - Error Response Code(s): - cloudServersFault (400, 500), + Error Response Code(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), - badRequest (400), - overLimit (413) - - This operation does not require a request body. + badRequest (400), overLimit + (413) + This operation does not require a request + body. Addresses List Response: XML - - + Addresses List Response: JSON - - +
-
+
List Public Addresses @@ -1825,39 +1777,39 @@ Host: servers.api.rackspacecloud.com/v1.0/ &GET; - /servers/id/ips/public - List all public server addresses + /servers/id/ips/public + List all public server + addresses - - Normal Response Code(s): - 200, - 203 + Normal Response Code(s): + 200, + 203 - - Error Response Code(s): - cloudServersFault (400, 500), + Error Response Code(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), - badRequest (400), - overLimit (413) - - This operation does not require a request body. + badRequest (400), overLimit + (413) + This operation does not require a request + body. Public Addresses List Response: XML - - + - Public Addresses List Response: JSON - - + Public Addresses List Response: + JSON +
-
+
List Private Addresses @@ -1870,39 +1822,40 @@ Host: servers.api.rackspacecloud.com/v1.0/ &GET; - /servers/id/ips/private - List all private server addresses + /servers/id/ips/private + List all private server + addresses - - Normal Response Code(s): - 200, - 203 + Normal Response Code(s): + 200, + 203 - - Error Response Code(s): - cloudServersFault (400, 500), + Error Response Code(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), - badRequest (400), - overLimit (413) - - This operation does not require a request body. + badRequest (400), overLimit + (413) + This operation does not require a request + body. - Private Addresses List Response: XML - - + Private Addresses List Response: + XML + - Private Addresses List Response: JSON - - + Private Addresses List Response: + JSON +
-
+
Share an IP Address @@ -1915,77 +1868,73 @@ Host: servers.api.rackspacecloud.com/v1.0/ &PUT; - /servers/id/ips/public/address - Share an IP address to the specified server + /servers/id/ips/public/address + Share an IP address to the + specified server - - Normal Response Code(s): - 202 + Normal Response Code(s): + 202 - - Error Response Code(s): - cloudServersFault (400, 500), + Error Response Code(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), badRequest (400), - badMediaType(415), + badMediaType(415), itemNotFound (404), - overLimit (413) - + overLimit (413) Status Transition: ACTIVE &ARROW; - SHARE_IP &ARROW; - ACTIVE (if - configureServer - is true) - + SHARE_IP &ARROW; + ACTIVE (if + configureServer + is true) - + ACTIVE &ARROW; - SHARE_IP_NO_CONFIG &ARROW; - ACTIVE + SHARE_IP_NO_CONFIG + &ARROW; ACTIVE - - This operation shares an IP from an existing + This operation shares an IP from an existing server in the specified shared IP group to another specified server in the same group. By default, the operation modifies cloud network restrictions to allow IP traffic for the given IP to/from the server specified, but does not bind the IP to the - server itself. A heartbeat facility - (e.g. keepalived) can then be used within the - servers to perform health checks and manage IP - failover. If the configureServer attribute is set - to true, the server is configured with the new - address, though the address is not enabled. Note - that configuring the server does require a reboot. - + server itself. A heartbeat facility (e.g. + keepalived) can then be used within the servers to + perform health checks and manage IP failover. If + the configureServer attribute is set to true, the + server is configured with the new address, though + the address is not enabled. Note that configuring + the server does require a reboot. Share IP Request: XML - - + Share IP Response: JSON - - + - This operation does not return a response body. + This operation does not return a response + body.
-
+
Unshare an IP Address @@ -1998,45 +1947,47 @@ Host: servers.api.rackspacecloud.com/v1.0/ &DELETE; - /servers/id/ips/public/address - Remove a shared IP address from the specified server + /servers/id/ips/public/address + Remove a shared IP address + from the specified server - - Normal Response Code(s): - 202 + Normal Response Code(s): + 202 - - Error Response Code(s): - cloudServersFault (400, 500), + Error Response Code(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), badRequest (400), - badMediaType(415), + badMediaType(415), itemNotFound (404), - overLimit (413) - + overLimit (413) Status Transition: ACTIVE &ARROW; - DELETE_IP &ARROW; - ACTIVE + DELETE_IP &ARROW; + ACTIVE - This operation removes a shared IP address from the specified server. - This operation does not contain a request or response body. + This operation removes a shared IP address from + the specified server. + This operation does not contain a request or + response body.
-
+
Server Actions -
+
Reboot Server @@ -2049,70 +2000,68 @@ Host: servers.api.rackspacecloud.com/v1.0/ &POST; - /servers/id/action - Reboot the specified server + /servers/id/action + Reboot the specified + server - - Normal Response Code(s): - 202 + Normal Response Code(s): + 202 - - Error Response Code(s): - cloudServersFault (400, 500), + Error Response Code(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), badRequest (400), - badMediaType(415), + badMediaType(415), itemNotFound (404), buildInProgress (409), - overLimit (413) - + overLimit (413) Status Transition: ACTIVE &ARROW; - REBOOT &ARROW; - ACTIVE (soft reboot) - + REBOOT &ARROW; + ACTIVE (soft + reboot) - + ACTIVE &ARROW; - HARD_REBOOT &ARROW; - ACTIVE (hard reboot) - + HARD_REBOOT &ARROW; + ACTIVE (hard + reboot) - - The reboot function allows for either a soft or + The reboot function allows for either a soft or hard reboot of a server. With a soft reboot - (SOFT), the operating system is signaled to - restart, which allows for a graceful shutdown of - all processes. A hard reboot (HARD) is the - equivalent of power cycling the server. - + (SOFT), the operating system is + signaled to restart, which allows for a graceful + shutdown of all processes. A hard reboot + (HARD) is the equivalent of power + cycling the server. Action Reboot: XML - - + Action Reboot: JSON - - + - This operation does not return a response body. + This operation does not return a response + body.
-
+
Rebuild Server @@ -2125,69 +2074,66 @@ Host: servers.api.rackspacecloud.com/v1.0/ &POST; - /servers/id/action - Rebuild the specified server + /servers/id/action + Rebuild the specified + server - - Normal Response Code(s): - 202 + Normal Response Code(s): + 202 - - Error Response Code(s): - cloudServersFault (400, 500), + Error Response Code(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), badRequest (400), - badMediaType(415), + badMediaType(415), itemNotFound (404), buildInProgress (409), - serverCapacityUnavailable (503), - overLimit (413) - + serverCapacityUnavailable + (503), overLimit + (413) Status Transition: ACTIVE &ARROW; - REBUILD &ARROW; - ACTIVE + REBUILD &ARROW; + ACTIVE - + ACTIVE &ARROW; - REBUILD &ARROW; - ERROR (on error) - + REBUILD &ARROW; + ERROR (on error) - - The rebuild function removes all data on the - server and replaces it with the specified - image. serverId and IP - addresses will remain the same. - + The rebuild function removes all data on the + server and replaces it with the specified image. + serverId and IP addresses + will remain the same. Action Rebuild: XML - - + Action Rebuild: JSON - - + - This operation does not return a response body. + This operation does not return a response + body.
-
+
Resize Server @@ -2200,77 +2146,75 @@ Host: servers.api.rackspacecloud.com/v1.0/ &POST; - /servers/id/action - Resize the specified server + /servers/id/action + Resize the specified + server - - Normal Response Code(s): - 202 + Normal Response Code(s): + 202 - - Error Response Code(s): - cloudServersFault (400, 500), + Error Response Code(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), badRequest (400), - badMediaType(415), + badMediaType(415), itemNotFound (404), buildInProgress (409), - serverCapacityUnavailable (503), - overLimit (413), - resizeNotAllowed (403) - + serverCapacityUnavailable + (503), overLimit + (413), resizeNotAllowed + (403) Status Transition: ACTIVE &ARROW; - QUEUE_RESIZE &ARROW; - PREP_RESIZE &ARROW; - RESIZE &ARROW; - VERIFY_RESIZE + QUEUE_RESIZE &ARROW; + PREP_RESIZE &ARROW; + RESIZE &ARROW; + VERIFY_RESIZE - + ACTIVE &ARROW; - QUEUE_RESIZE &ARROW; - ACTIVE (on error) + QUEUE_RESIZE &ARROW; + ACTIVE (on error) - - The resize function converts an existing server to - a different flavor, in essence, scaling the server - up or down. The original server is saved for a - period of time to allow rollback if there is a - problem. All resizes should be tested and + The resize function converts an existing server + to a different flavor, in essence, scaling the + server up or down. The original server is saved + for a period of time to allow rollback if there is + a problem. All resizes should be tested and explicitly confirmed, at which time the original server is removed. All resizes are automatically confirmed after 24 hours if they are not - explicitly confirmed or reverted. - + explicitly confirmed or reverted. Action Resize: XML - - + Action Resize: JSON - - + - This operation does not return a response body. + This operation does not return a response + body.
-
+
Confirm Resized Server @@ -2283,66 +2227,65 @@ Host: servers.api.rackspacecloud.com/v1.0/ &POST; - /servers/id/action - Confirm a pending resize action + /servers/id/action + Confirm a pending resize + action - - Normal Response Code(s): - 204 + Normal Response Code(s): + 204 - - Error ResponseCode(s): - cloudServersFault (400, 500), + Error ResponseCode(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), badRequest (400), - badMediaType(415), + badMediaType(415), itemNotFound (404), buildInProgress (409), - serverCapacityUnavailable (503), - overLimit (413), - resizeNotAllowed (403) - + serverCapacityUnavailable + (503), overLimit + (413), resizeNotAllowed + (403) Status Transition: VERIFY_RESIZE &ARROW; - ACTIVE + ACTIVE - - During a resize operation, the original server is - saved for a period of time to allow roll back if - there is a problem. Once the newly resized server - is tested and has been confirmed to be functioning - properly, use this operation to confirm the - resize. After confirmation, the original server - is removed and cannot be rolled back to. All - resizes are automatically confirmed after 24 hours - if they are not explicitly confirmed or reverted. - + During a resize operation, the original server + is saved for a period of time to allow roll back + if there is a problem. Once the newly resized + server is tested and has been confirmed to be + functioning properly, use this operation to + confirm the resize. After confirmation, the + original server is removed and cannot be rolled + back to. All resizes are automatically confirmed + after 24 hours if they are not explicitly + confirmed or reverted. Action Confirm Resize: XML - - + Action Confirm Resize: JSON - - + - This operation does not return a response body. + This operation does not return a response + body.
-
+
Revert Resized Server @@ -2355,73 +2298,69 @@ Host: servers.api.rackspacecloud.com/v1.0/ &POST; - /servers/id/action - Cancel and revert a pending resize action + /servers/id/action + Cancel and revert a + pending resize action - - Normal Response Code(s): - 202 + Normal Response Code(s): + 202 - - Error ResponseCode(s): - cloudServersFault (400, 500), + Error ResponseCode(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), badRequest (400), - badMediaType(415), + badMediaType(415), itemNotFound (404), buildInProgress (409), - serverCapacityUnavailable (503), - overLimit (413), - resizeNotAllowed (403) - + serverCapacityUnavailable + (503), overLimit + (413), resizeNotAllowed + (403) Status Transition: VERIFY_RESIZE &ARROW; - ACTIVE + ACTIVE - - During a resize operation, the original server is - saved for a period of time to allow for roll back - if there is a problem. If you determine there is a - problem with a newly resized server, use this + During a resize operation, the original server + is saved for a period of time to allow for roll + back if there is a problem. If you determine there + is a problem with a newly resized server, use this operation to revert the resize and roll back to the original server. All resizes are automatically confirmed after 24 hours if they have not already - been confirmed explicitly or reverted. - + been confirmed explicitly or reverted. Action Revert Resize: XML - - + Action Revert Resize: JSON - - + - This operation does not return a response body. + This operation does not return a response + body.
-
+
Flavors - - A flavor is an available hardware configuration for a - server. Each flavor has a unique combination of disk - space and memory capacity. - -
+ A flavor is an available hardware configuration for + a server. Each flavor has a unique combination of disk + space and memory capacity. +
List Flavors @@ -2435,50 +2374,46 @@ Host: servers.api.rackspacecloud.com/v1.0/ &GET; /flavors - List available flavors (IDs and names only) + List available flavors + (IDs and names only) &GET; /flavors/detail - List available flavors (all details) + List available flavors + (all details) - - Normal Response Code(s): - 200, - 203 + Normal Response Code(s): + 200, + 203 - - Error ResponseCode(s): - cloudServersFault (400, 500), + Error ResponseCode(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), - badRequest (400), - overLimit (413) - - - This operation will list all available flavors - with details. - - - This operation does not require a request body. - + badRequest (400), overLimit + (413) + This operation will list all available flavors + with details. + This operation does not require a request + body. Flavors List Response: XML (detail) - - + - Flavors List Response: JSON (detail) - - + Flavors List Response: JSON + (detail) +
-
+
Get Flavor Details @@ -2491,50 +2426,49 @@ Host: servers.api.rackspacecloud.com/v1.0/ &GET; - /flavors/id - List details of the specified flavor + /flavors/id + List details of the + specified flavor - - Normal Response Code(s): - 200, - 203 + Normal Response Code(s): + 200, + 203 - - Error ResponseCode(s): - cloudServersFault (400, 500), + Error ResponseCode(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), badRequest (400), itemNotFound (404), - overLimit (413) - - This operation returns details of the specified flavor. - This operation does not require a request body. + overLimit (413) + This operation returns details of the specified + flavor. + This operation does not require a request + body. Flavor Details Response: XML - - + Flavor Details Response: JSON - - +
-
+
Images - - An image is a collection of files you use to create or - rebuild a server. Rackspace provides pre-built OS - images by default. You may also create custom images. - -
+ An image is a collection of files you use to create + or rebuild a server. Rackspace provides pre-built OS + images by default. You may also create custom + images. +
List Images @@ -2548,58 +2482,53 @@ Host: servers.api.rackspacecloud.com/v1.0/ &GET; /images - List available images (IDs and names only) + List available images (IDs + and names only) &GET; /images/detail - List available images (all details) + List available images (all + details) - - Normal Response Code(s): - 200, - 203 + Normal Response Code(s): + 200, + 203 - - Error ResponseCode(s): - cloudServersFault (400, 500), + Error ResponseCode(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), - badRequest (400), - overLimit (413) - - - This operation will list all images visible by the - account. - - - In-flight images will have the status attribute + badRequest (400), overLimit + (413) + This operation will list all images visible by + the account. + In-flight images will have the status attribute set to SAVING and the conditional progress element (0-100% completion) will also be - returned. Other possible values for the status + returned. Other possible values for the status attribute include: UNKNOWN, - PREPARING, ACTIVE, - QUEUED, FAILED. Images - with an ACTIVE status are available - for install. - - This operation does not require a request body. + PREPARING, ACTIVE, + QUEUED, FAILED. + Images with an ACTIVE status are + available for install. + This operation does not require a request + body. Images List Response: XML (detail) - - + Images List Response: JSON (detail) - - +
-
+
Create Image @@ -2617,58 +2546,59 @@ Host: servers.api.rackspacecloud.com/v1.0/ - - Normal Response Code(s): - 202 + Normal Response Code(s): + 202 - - Error Response Code(s): - cloudServersFault (400, 500), + Error Response Code(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), - badMediaType(415), + badMediaType(415), itemNotFound (404), badRequest (400), - serverCapacityUnavailable (503), - buildInProgress (409), - resizeNotAllowed (403), - backupOrResizeInProgress (409), - overLimit (413) - + serverCapacityUnavailable + (503), buildInProgress + (409), resizeNotAllowed + (403), + backupOrResizeInProgress + (409), overLimit + (413) - - - Status Transition: - - QUEUED &ARROW; PREPARING &ARROW; - SAVING &ARROW; ACTIVE - - - - - - QUEUED &ARROW; PREPARING &ARROW; - SAVING &ARROW; FAILED (on error) - - - + + + Status Transition: + + QUEUED &ARROW; + PREPARING &ARROW; + SAVING &ARROW; + ACTIVE + + + + + + QUEUED &ARROW; + PREPARING &ARROW; + SAVING &ARROW; + FAILED (on error) + + + - - This operation creates a new image for the given + This operation creates a new image for the given server ID. Once complete, a new image will be available that can be used to rebuild or create servers. The image creation status can be queried by performing a &GET; on - /images/id and examining - the status and progress attributes. - + /images/id and + examining the status and progress + attributes. - - At present, image creation is an asynchronous - operation, so coordinating the creation with - data quiescence, etc. is currently not - possible. - + At present, image creation is an + asynchronous operation, so coordinating the + creation with data quiescence, etc. is + currently not possible. Image Create Request: XML @@ -2714,7 +2644,7 @@ Host: servers.api.rackspacecloud.com/v1.0/
-
+
Get Image Details @@ -2727,42 +2657,42 @@ Host: servers.api.rackspacecloud.com/v1.0/ &GET; - /images/id - List details of the specified image + /images/id + List details of the + specified image - - Normal Response Code(s): - 200, - 203 + Normal Response Code(s): + 200, + 203 - - Error Response Code(s): - cloudServersFault (400, 500), + Error Response Code(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), badRequest (400), itemNotFound (404), - overLimit (413) - - This operation returns details of the specified image. - This operation does not require a request body. + overLimit (413) + This operation returns details of the specified + image. + This operation does not require a request + body. Image Details Response: XML - - + Image Details Response: JSON - - +
-
+
Delete Image @@ -2775,46 +2705,45 @@ Host: servers.api.rackspacecloud.com/v1.0/ &DELETE; - /images/id - Deletes the specified image. + /images/id + Deletes the specified + image. - - Normal Response Code(s): - 204 + Normal Response Code(s): + 204 - - Error Response Code(s): - cloudServersFault (400, 500), + Error Response Code(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), itemNotFound (404), - overLimit (413) - - This operation deletes an image from the system. - - Images are immediately removed. Currently, there + overLimit (413) + This operation deletes an image from the + system. + Images are immediately removed. Currently, there are no state transitions to track the delete - operation. - - This operation does not require a request body. - This operation does not contain a response body. + operation. + This operation does not require a request + body. + This operation does not contain a response + body.
-
+
Backup Schedules - - In addition to creating images on demand, you may also - schedule periodic (daily and weekly) images via a - backup schedule. The daily and weekly images are + In addition to creating images on demand, you may + also schedule periodic (daily and weekly) images via a + backup schedule. The daily and weekly images are triggered automatically based on the backup schedule - established. The days/times specified for the backup + established. The days/times specified for the backup schedule are targets and actual start and completion - times may vary based on other activity in the - system. All backup times are in GMT. - + times may vary based on other activity in the system. + All backup times are in GMT. @@ -2922,7 +2851,7 @@ Host: servers.api.rackspacecloud.com/v1.0/
Weekly Backup Schedule
-
+
List Backup Schedules @@ -2935,42 +2864,42 @@ Host: servers.api.rackspacecloud.com/v1.0/ &GET; - /servers/id/backup_schedule - List the backup schedule for the specified server + /servers/id/backup_schedule + List the backup schedule + for the specified server - - Normal Response Code(s): - 200, - 203 + Normal Response Code(s): + 200, + 203 - - Error Response Code(s): - cloudServersFault (400, 500), + Error Response Code(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), badRequest (400), itemNotFound (404), - overLimit (413) - - This operation lists the backup schedule for the specified server. - This operation does not require a request body. + overLimit (413) + This operation lists the backup schedule for the + specified server. + This operation does not require a request + body. Backup Schedule List Response: XML - - + Backup Schedule List Response: JSON - - +
-
+
Create / Update Backup Schedule @@ -2983,52 +2912,51 @@ Host: servers.api.rackspacecloud.com/v1.0/ &POST; - /servers/id/backup_schedule - Enable/update the backup schedule for the specified server + /servers/id/backup_schedule + Enable/update the backup + schedule for the specified server - - Normal Response Code(s): - 204 + Normal Response Code(s): + 204 - - Error Response Code(s): - cloudServersFault (400, 500), + Error Response Code(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), badRequest (400), - badMediaType(415), + badMediaType(415), itemNotFound (404), buildInProgress (409), - serverCapacityUnavailable (503), - backupOrResizeInProgress(409), - overLimit (413) - - - This operation creates a new backup schedule or + serverCapacityUnavailable + (503), + backupOrResizeInProgress(409), + overLimit (413) + This operation creates a new backup schedule or updates an existing backup schedule for the - specified server. Backup schedules will occur - only when the enabled attribute is set to true. - The weekly and daily attributes can be used to set - or to disable individual backup schedules. - + specified server. Backup schedules will occur only + when the enabled attribute is set to true. The + weekly and daily attributes can be used to set or + to disable individual backup schedules. Backup Schedule Update Request: XML - - + - Backup Schedule Update Request: JSON - - + Backup Schedule Update Request: + JSON + - This operation does not return a response body. + This operation does not return a response + body.
-
+
Disable Backup Schedule @@ -3041,44 +2969,46 @@ Host: servers.api.rackspacecloud.com/v1.0/ &DELETE; - /servers/id/backup_schedule - Disables the backup schedule for the specified server + /servers/id/backup_schedule + Disables the backup + schedule for the specified server - - Normal Response Code(s): - 204 + Normal Response Code(s): + 204 - - Error Response Code(s): - cloudServersFault (400, 500), + Error Response Code(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), itemNotFound (404), buildInProgress (409), - serverCapacityUnavailable (503), - backupOrResizeInProgress(409), - overLimit (413) - - This operation disables the backup schedule for the specified server. - This operation does not require a request body. - This operation does not return a response body. + serverCapacityUnavailable + (503), + backupOrResizeInProgress(409), + overLimit (413) + This operation disables the backup schedule for + the specified server. + This operation does not require a request + body. + This operation does not return a response + body.
-
+
Shared IP Groups - - A shared IP group is a collection of servers that can - share IPs with other members of the group. Any server - in a group can share one or more public IPs with any - other server in the group. With the exception of the - first server in a shared IP group, servers must be - launched into shared IP groups. A server may only be a - member of one shared IP group. - -
+ A shared IP group is a collection of servers that + can share IPs with other members of the group. Any + server in a group can share one or more public IPs + with any other server in the group. With the exception + of the first server in a shared IP group, servers must + be launched into shared IP groups. A server may only + be a member of one shared IP group. +
List Shared IP Groups @@ -3092,46 +3022,47 @@ Host: servers.api.rackspacecloud.com/v1.0/ &GET; /shared_ip_groups - List shared ip groups (IDs and names only) + List shared ip groups (IDs + and names only) &GET; - /shared_ip_groups/detail - List shared ip groups (all details) + /shared_ip_groups/detail + List shared ip groups (all + details) - - Normal Response Code(s): - 200, - 203 + Normal Response Code(s): + 200, + 203 - - Error ResponseCode(s): - cloudServersFault (400, 500), + Error ResponseCode(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), - badRequest (400), - overLimit (413) - - - This operation provides a list of shared IP groups associated with your account. - - This operation does not require a request body. + badRequest (400), overLimit + (413) + This operation provides a list of shared IP + groups associated with your account. + This operation does not require a request + body. - Shared IP Groups List Response: XML (detail) - - + Shared IP Groups List Response: XML + (detail) + - Shared IP Groups List Response: JSON (detail) - - + Shared IP Groups List Response: JSON + (detail) +
-
+
Create Shared IP Group @@ -3145,53 +3076,53 @@ Host: servers.api.rackspacecloud.com/v1.0/ &POST; /shared_ip_groups - Create a new shared ip group + Create a new shared ip + group - - Normal Response Code(s): - 201 + Normal Response Code(s): + 201 - - Error Response Code(s): - cloudServersFault (400, 500), + Error Response Code(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), - badMediaType(415), - badRequest (400), - overLimit (413) - - - This operation creates a new shared IP - group. Please note, all responses to requests for - shared_ip_groups return an array of - servers. However, on a create request, the shared - IP group can be created empty or can be initially - populated with a single server. Submitting a - create request with a sharedIpGroup that contains - an array of servers will generate a badRequest - (400) fault. - + badMediaType(415), + badRequest (400), overLimit + (413) + This operation creates a new shared IP group. + Please note, all responses to requests for + shared_ip_groups return an array of servers. + However, on a create request, the shared IP group + can be created empty or can be initially populated + with a single server. Submitting a create request + with a sharedIpGroup that contains an array of + servers will generate a badRequest + (400) fault. Shared IP Group Create Request: XML - Shared IP Group Create Request: JSON + Shared IP Group Create Request: + JSON - Shared IP Group Create Response: XML + Shared IP Group Create Response: + XML - Shared IP Group Create Response: JSON + Shared IP Group Create Response: + JSON
-
+
Get Shared IP Group Details @@ -3204,38 +3135,42 @@ Host: servers.api.rackspacecloud.com/v1.0/ &GET; - /shared_ip_groups/id - List details of the specified shared IP group + /shared_ip_groups/id + List details of the + specified shared IP group - - Normal Response Code(s): - 200, - 203 + Normal Response Code(s): + 200, + 203 - - Error Response Code(s): - cloudServersFault (400, 500), + Error Response Code(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), badRequest (400), itemNotFound (404), - overLimit (413) - - This operation returns details of the specified shared IP group. + overLimit (413) + This operation returns details of the specified + shared IP group. - Shared IP Group Details Response: XML + Shared IP Group Details Response: + XML - Shared IP Group Details Response: JSON + Shared IP Group Details Response: + JSON - This operation does not require a request body. + This operation does not require a request + body.
-
+
Delete Shared IP Group @@ -3248,44 +3183,41 @@ Host: servers.api.rackspacecloud.com/v1.0/ &DELETE; - /shared_ip_groups/id - Delete the specified shared IP group + /shared_ip_groups/id + Delete the specified + shared IP group - - Normal Response Code(s): - 204 + Normal Response Code(s): + 204 - - Error Response Code(s): - cloudServersFault (400, 500), + Error Response Code(s): cloudServersFault + (400, + 500), serviceUnavailable (503), unauthorized (401), itemNotFound (404), - overLimit (413) - - - This operation deletes the specified shared IP - group. This operation will only succeed if: - + overLimit (413) + This operation deletes the specified shared IP + group. This operation will only succeed if: - - There are no active servers in the group - (i.e. they have all been terminated) or - + There are no active servers in the group + (i.e. they have all been terminated) + or - - No servers in the group are actively - sharing IPs. - + No servers in the group are actively + sharing IPs. - This operation does not require a request body. - This operation does not contain a response body. + This operation does not require a request + body. + This operation does not contain a response + body.
diff --git a/openstack-compute-api-1.0/src/js/shjs/sh_java.js b/v1.0/src/js/shjs/sh_java.js similarity index 100% rename from openstack-compute-api-1.0/src/js/shjs/sh_java.js rename to v1.0/src/js/shjs/sh_java.js diff --git a/openstack-compute-api-1.0/src/js/shjs/sh_javascript.js b/v1.0/src/js/shjs/sh_javascript.js similarity index 100% rename from openstack-compute-api-1.0/src/js/shjs/sh_javascript.js rename to v1.0/src/js/shjs/sh_javascript.js diff --git a/openstack-compute-api-1.0/src/js/shjs/sh_main.js b/v1.0/src/js/shjs/sh_main.js similarity index 100% rename from openstack-compute-api-1.0/src/js/shjs/sh_main.js rename to v1.0/src/js/shjs/sh_main.js diff --git a/openstack-compute-api-1.0/src/js/shjs/sh_xml.js b/v1.0/src/js/shjs/sh_xml.js similarity index 100% rename from openstack-compute-api-1.0/src/js/shjs/sh_xml.js rename to v1.0/src/js/shjs/sh_xml.js diff --git a/openstack-compute-api-1.0/src/js/trc/schema/controller.js b/v1.0/src/js/trc/schema/controller.js similarity index 100% rename from openstack-compute-api-1.0/src/js/trc/schema/controller.js rename to v1.0/src/js/trc/schema/controller.js diff --git a/openstack-compute-api-1.0/src/js/trc/schema/layoutManager.js b/v1.0/src/js/trc/schema/layoutManager.js similarity index 100% rename from openstack-compute-api-1.0/src/js/trc/schema/layoutManager.js rename to v1.0/src/js/trc/schema/layoutManager.js diff --git a/openstack-compute-api-1.0/src/js/trc/schema/sampleManager.js b/v1.0/src/js/trc/schema/sampleManager.js similarity index 100% rename from openstack-compute-api-1.0/src/js/trc/schema/sampleManager.js rename to v1.0/src/js/trc/schema/sampleManager.js diff --git a/openstack-compute-api-1.0/src/js/trc/util.js b/v1.0/src/js/trc/util.js similarity index 100% rename from openstack-compute-api-1.0/src/js/trc/util.js rename to v1.0/src/js/trc/util.js diff --git a/openstack-compute-api-1.0/src/samples/addip.json b/v1.0/src/samples/addip.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/addip.json rename to v1.0/src/samples/addip.json diff --git a/openstack-compute-api-1.0/src/samples/addip.xml b/v1.0/src/samples/addip.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/addip.xml rename to v1.0/src/samples/addip.xml diff --git a/openstack-compute-api-1.0/src/samples/address.json b/v1.0/src/samples/address.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/address.json rename to v1.0/src/samples/address.json diff --git a/openstack-compute-api-1.0/src/samples/address.xml b/v1.0/src/samples/address.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/address.xml rename to v1.0/src/samples/address.xml diff --git a/openstack-compute-api-1.0/src/samples/addresses.json b/v1.0/src/samples/addresses.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/addresses.json rename to v1.0/src/samples/addresses.json diff --git a/openstack-compute-api-1.0/src/samples/addresses.xml b/v1.0/src/samples/addresses.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/addresses.xml rename to v1.0/src/samples/addresses.xml diff --git a/openstack-compute-api-1.0/src/samples/backup.json b/v1.0/src/samples/backup.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/backup.json rename to v1.0/src/samples/backup.json diff --git a/openstack-compute-api-1.0/src/samples/backup.xml b/v1.0/src/samples/backup.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/backup.xml rename to v1.0/src/samples/backup.xml diff --git a/openstack-compute-api-1.0/src/samples/backupInProgress.json b/v1.0/src/samples/backupInProgress.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/backupInProgress.json rename to v1.0/src/samples/backupInProgress.json diff --git a/openstack-compute-api-1.0/src/samples/backupInProgress.xml b/v1.0/src/samples/backupInProgress.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/backupInProgress.xml rename to v1.0/src/samples/backupInProgress.xml diff --git a/openstack-compute-api-1.0/src/samples/badmediatype.json b/v1.0/src/samples/badmediatype.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/badmediatype.json rename to v1.0/src/samples/badmediatype.json diff --git a/openstack-compute-api-1.0/src/samples/badmediatype.xml b/v1.0/src/samples/badmediatype.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/badmediatype.xml rename to v1.0/src/samples/badmediatype.xml diff --git a/openstack-compute-api-1.0/src/samples/badmethod.json b/v1.0/src/samples/badmethod.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/badmethod.json rename to v1.0/src/samples/badmethod.json diff --git a/openstack-compute-api-1.0/src/samples/badmethod.xml b/v1.0/src/samples/badmethod.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/badmethod.xml rename to v1.0/src/samples/badmethod.xml diff --git a/openstack-compute-api-1.0/src/samples/badrequest.json b/v1.0/src/samples/badrequest.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/badrequest.json rename to v1.0/src/samples/badrequest.json diff --git a/openstack-compute-api-1.0/src/samples/badrequest.xml b/v1.0/src/samples/badrequest.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/badrequest.xml rename to v1.0/src/samples/badrequest.xml diff --git a/openstack-compute-api-1.0/src/samples/build.json b/v1.0/src/samples/build.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/build.json rename to v1.0/src/samples/build.json diff --git a/openstack-compute-api-1.0/src/samples/build.xml b/v1.0/src/samples/build.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/build.xml rename to v1.0/src/samples/build.xml diff --git a/openstack-compute-api-1.0/src/samples/confirmresize.json b/v1.0/src/samples/confirmresize.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/confirmresize.json rename to v1.0/src/samples/confirmresize.json diff --git a/openstack-compute-api-1.0/src/samples/confirmresize.xml b/v1.0/src/samples/confirmresize.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/confirmresize.xml rename to v1.0/src/samples/confirmresize.xml diff --git a/openstack-compute-api-1.0/src/samples/fault.json b/v1.0/src/samples/fault.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/fault.json rename to v1.0/src/samples/fault.json diff --git a/openstack-compute-api-1.0/src/samples/fault.xml b/v1.0/src/samples/fault.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/fault.xml rename to v1.0/src/samples/fault.xml diff --git a/openstack-compute-api-1.0/src/samples/flavor.json b/v1.0/src/samples/flavor.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/flavor.json rename to v1.0/src/samples/flavor.json diff --git a/openstack-compute-api-1.0/src/samples/flavor.xml b/v1.0/src/samples/flavor.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/flavor.xml rename to v1.0/src/samples/flavor.xml diff --git a/openstack-compute-api-1.0/src/samples/flavors.json b/v1.0/src/samples/flavors.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/flavors.json rename to v1.0/src/samples/flavors.json diff --git a/openstack-compute-api-1.0/src/samples/flavors.xml b/v1.0/src/samples/flavors.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/flavors.xml rename to v1.0/src/samples/flavors.xml diff --git a/openstack-compute-api-1.0/src/samples/image.json b/v1.0/src/samples/image.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/image.json rename to v1.0/src/samples/image.json diff --git a/openstack-compute-api-1.0/src/samples/image.xml b/v1.0/src/samples/image.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/image.xml rename to v1.0/src/samples/image.xml diff --git a/openstack-compute-api-1.0/src/samples/images.json b/v1.0/src/samples/images.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/images.json rename to v1.0/src/samples/images.json diff --git a/openstack-compute-api-1.0/src/samples/images.xml b/v1.0/src/samples/images.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/images.xml rename to v1.0/src/samples/images.xml diff --git a/openstack-compute-api-1.0/src/samples/ipgroup.json b/v1.0/src/samples/ipgroup.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/ipgroup.json rename to v1.0/src/samples/ipgroup.json diff --git a/openstack-compute-api-1.0/src/samples/ipgroup.xml b/v1.0/src/samples/ipgroup.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/ipgroup.xml rename to v1.0/src/samples/ipgroup.xml diff --git a/openstack-compute-api-1.0/src/samples/ipgroup2.json b/v1.0/src/samples/ipgroup2.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/ipgroup2.json rename to v1.0/src/samples/ipgroup2.json diff --git a/openstack-compute-api-1.0/src/samples/ipgroup2.xml b/v1.0/src/samples/ipgroup2.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/ipgroup2.xml rename to v1.0/src/samples/ipgroup2.xml diff --git a/openstack-compute-api-1.0/src/samples/ipgroups.json b/v1.0/src/samples/ipgroups.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/ipgroups.json rename to v1.0/src/samples/ipgroups.json diff --git a/openstack-compute-api-1.0/src/samples/ipgroups.xml b/v1.0/src/samples/ipgroups.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/ipgroups.xml rename to v1.0/src/samples/ipgroups.xml diff --git a/openstack-compute-api-1.0/src/samples/limits.json b/v1.0/src/samples/limits.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/limits.json rename to v1.0/src/samples/limits.json diff --git a/openstack-compute-api-1.0/src/samples/limits.xml b/v1.0/src/samples/limits.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/limits.xml rename to v1.0/src/samples/limits.xml diff --git a/openstack-compute-api-1.0/src/samples/notfound.json b/v1.0/src/samples/notfound.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/notfound.json rename to v1.0/src/samples/notfound.json diff --git a/openstack-compute-api-1.0/src/samples/notfound.xml b/v1.0/src/samples/notfound.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/notfound.xml rename to v1.0/src/samples/notfound.xml diff --git a/openstack-compute-api-1.0/src/samples/notimplemented.json b/v1.0/src/samples/notimplemented.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/notimplemented.json rename to v1.0/src/samples/notimplemented.json diff --git a/openstack-compute-api-1.0/src/samples/notimplemented.xml b/v1.0/src/samples/notimplemented.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/notimplemented.xml rename to v1.0/src/samples/notimplemented.xml diff --git a/openstack-compute-api-1.0/src/samples/overlimit.json b/v1.0/src/samples/overlimit.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/overlimit.json rename to v1.0/src/samples/overlimit.json diff --git a/openstack-compute-api-1.0/src/samples/overlimit.xml b/v1.0/src/samples/overlimit.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/overlimit.xml rename to v1.0/src/samples/overlimit.xml diff --git a/openstack-compute-api-1.0/src/samples/private.json b/v1.0/src/samples/private.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/private.json rename to v1.0/src/samples/private.json diff --git a/openstack-compute-api-1.0/src/samples/private.xml b/v1.0/src/samples/private.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/private.xml rename to v1.0/src/samples/private.xml diff --git a/openstack-compute-api-1.0/src/samples/public.json b/v1.0/src/samples/public.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/public.json rename to v1.0/src/samples/public.json diff --git a/openstack-compute-api-1.0/src/samples/public.xml b/v1.0/src/samples/public.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/public.xml rename to v1.0/src/samples/public.xml diff --git a/openstack-compute-api-1.0/src/samples/rateLimits.xml b/v1.0/src/samples/rateLimits.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/rateLimits.xml rename to v1.0/src/samples/rateLimits.xml diff --git a/openstack-compute-api-1.0/src/samples/reboot.json b/v1.0/src/samples/reboot.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/reboot.json rename to v1.0/src/samples/reboot.json diff --git a/openstack-compute-api-1.0/src/samples/reboot.xml b/v1.0/src/samples/reboot.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/reboot.xml rename to v1.0/src/samples/reboot.xml diff --git a/openstack-compute-api-1.0/src/samples/rebuild.json b/v1.0/src/samples/rebuild.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/rebuild.json rename to v1.0/src/samples/rebuild.json diff --git a/openstack-compute-api-1.0/src/samples/rebuild.xml b/v1.0/src/samples/rebuild.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/rebuild.xml rename to v1.0/src/samples/rebuild.xml diff --git a/openstack-compute-api-1.0/src/samples/resize.json b/v1.0/src/samples/resize.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/resize.json rename to v1.0/src/samples/resize.json diff --git a/openstack-compute-api-1.0/src/samples/resize.xml b/v1.0/src/samples/resize.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/resize.xml rename to v1.0/src/samples/resize.xml diff --git a/openstack-compute-api-1.0/src/samples/resizeNotAllowed.json b/v1.0/src/samples/resizeNotAllowed.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/resizeNotAllowed.json rename to v1.0/src/samples/resizeNotAllowed.json diff --git a/openstack-compute-api-1.0/src/samples/resizeNotAllowed.xml b/v1.0/src/samples/resizeNotAllowed.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/resizeNotAllowed.xml rename to v1.0/src/samples/resizeNotAllowed.xml diff --git a/openstack-compute-api-1.0/src/samples/revertresize.json b/v1.0/src/samples/revertresize.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/revertresize.json rename to v1.0/src/samples/revertresize.json diff --git a/openstack-compute-api-1.0/src/samples/revertresize.xml b/v1.0/src/samples/revertresize.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/revertresize.xml rename to v1.0/src/samples/revertresize.xml diff --git a/openstack-compute-api-1.0/src/samples/server-post-req-bad-file-encoding.json b/v1.0/src/samples/server-post-req-bad-file-encoding.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/server-post-req-bad-file-encoding.json rename to v1.0/src/samples/server-post-req-bad-file-encoding.json diff --git a/openstack-compute-api-1.0/src/samples/server-post-req-bad-file-encoding.xml b/v1.0/src/samples/server-post-req-bad-file-encoding.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/server-post-req-bad-file-encoding.xml rename to v1.0/src/samples/server-post-req-bad-file-encoding.xml diff --git a/openstack-compute-api-1.0/src/samples/server-post-req-bad-file-length.json b/v1.0/src/samples/server-post-req-bad-file-length.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/server-post-req-bad-file-length.json rename to v1.0/src/samples/server-post-req-bad-file-length.json diff --git a/openstack-compute-api-1.0/src/samples/server-post-req-bad-file-length.xml b/v1.0/src/samples/server-post-req-bad-file-length.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/server-post-req-bad-file-length.xml rename to v1.0/src/samples/server-post-req-bad-file-length.xml diff --git a/openstack-compute-api-1.0/src/samples/server-post-req-bad-file-path.json b/v1.0/src/samples/server-post-req-bad-file-path.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/server-post-req-bad-file-path.json rename to v1.0/src/samples/server-post-req-bad-file-path.json diff --git a/openstack-compute-api-1.0/src/samples/server-post-req-bad-file-path.xml b/v1.0/src/samples/server-post-req-bad-file-path.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/server-post-req-bad-file-path.xml rename to v1.0/src/samples/server-post-req-bad-file-path.xml diff --git a/openstack-compute-api-1.0/src/samples/server-post-req-bad-files.json b/v1.0/src/samples/server-post-req-bad-files.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/server-post-req-bad-files.json rename to v1.0/src/samples/server-post-req-bad-files.json diff --git a/openstack-compute-api-1.0/src/samples/server-post-req-bad-files.xml b/v1.0/src/samples/server-post-req-bad-files.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/server-post-req-bad-files.xml rename to v1.0/src/samples/server-post-req-bad-files.xml diff --git a/openstack-compute-api-1.0/src/samples/server-post-req-bad-meta-key.json b/v1.0/src/samples/server-post-req-bad-meta-key.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/server-post-req-bad-meta-key.json rename to v1.0/src/samples/server-post-req-bad-meta-key.json diff --git a/openstack-compute-api-1.0/src/samples/server-post-req-bad-meta-key.xml b/v1.0/src/samples/server-post-req-bad-meta-key.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/server-post-req-bad-meta-key.xml rename to v1.0/src/samples/server-post-req-bad-meta-key.xml diff --git a/openstack-compute-api-1.0/src/samples/server-post-req-bad-meta-value.json b/v1.0/src/samples/server-post-req-bad-meta-value.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/server-post-req-bad-meta-value.json rename to v1.0/src/samples/server-post-req-bad-meta-value.json diff --git a/openstack-compute-api-1.0/src/samples/server-post-req-bad-meta-value.xml b/v1.0/src/samples/server-post-req-bad-meta-value.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/server-post-req-bad-meta-value.xml rename to v1.0/src/samples/server-post-req-bad-meta-value.xml diff --git a/openstack-compute-api-1.0/src/samples/server-post-req-bad-meta.json b/v1.0/src/samples/server-post-req-bad-meta.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/server-post-req-bad-meta.json rename to v1.0/src/samples/server-post-req-bad-meta.json diff --git a/openstack-compute-api-1.0/src/samples/server-post-req-bad-meta.xml b/v1.0/src/samples/server-post-req-bad-meta.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/server-post-req-bad-meta.xml rename to v1.0/src/samples/server-post-req-bad-meta.xml diff --git a/openstack-compute-api-1.0/src/samples/server-post-req.json b/v1.0/src/samples/server-post-req.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/server-post-req.json rename to v1.0/src/samples/server-post-req.json diff --git a/openstack-compute-api-1.0/src/samples/server-post-req.xml b/v1.0/src/samples/server-post-req.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/server-post-req.xml rename to v1.0/src/samples/server-post-req.xml diff --git a/openstack-compute-api-1.0/src/samples/server-post-resp.json b/v1.0/src/samples/server-post-resp.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/server-post-resp.json rename to v1.0/src/samples/server-post-resp.json diff --git a/openstack-compute-api-1.0/src/samples/server-post-resp.xml b/v1.0/src/samples/server-post-resp.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/server-post-resp.xml rename to v1.0/src/samples/server-post-resp.xml diff --git a/openstack-compute-api-1.0/src/samples/server-put-req.json b/v1.0/src/samples/server-put-req.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/server-put-req.json rename to v1.0/src/samples/server-put-req.json diff --git a/openstack-compute-api-1.0/src/samples/server-put-req.xml b/v1.0/src/samples/server-put-req.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/server-put-req.xml rename to v1.0/src/samples/server-put-req.xml diff --git a/openstack-compute-api-1.0/src/samples/server.json b/v1.0/src/samples/server.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/server.json rename to v1.0/src/samples/server.json diff --git a/openstack-compute-api-1.0/src/samples/server.xml b/v1.0/src/samples/server.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/server.xml rename to v1.0/src/samples/server.xml diff --git a/openstack-compute-api-1.0/src/samples/serverCap.json b/v1.0/src/samples/serverCap.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/serverCap.json rename to v1.0/src/samples/serverCap.json diff --git a/openstack-compute-api-1.0/src/samples/serverCap.xml b/v1.0/src/samples/serverCap.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/serverCap.xml rename to v1.0/src/samples/serverCap.xml diff --git a/openstack-compute-api-1.0/src/samples/servers.json b/v1.0/src/samples/servers.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/servers.json rename to v1.0/src/samples/servers.json diff --git a/openstack-compute-api-1.0/src/samples/servers.xml b/v1.0/src/samples/servers.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/servers.xml rename to v1.0/src/samples/servers.xml diff --git a/openstack-compute-api-1.0/src/samples/serviceNotAvailable.json b/v1.0/src/samples/serviceNotAvailable.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/serviceNotAvailable.json rename to v1.0/src/samples/serviceNotAvailable.json diff --git a/openstack-compute-api-1.0/src/samples/serviceNotAvailable.xml b/v1.0/src/samples/serviceNotAvailable.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/serviceNotAvailable.xml rename to v1.0/src/samples/serviceNotAvailable.xml diff --git a/openstack-compute-api-1.0/src/samples/shareip.json b/v1.0/src/samples/shareip.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/shareip.json rename to v1.0/src/samples/shareip.json diff --git a/openstack-compute-api-1.0/src/samples/shareip.xml b/v1.0/src/samples/shareip.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/shareip.xml rename to v1.0/src/samples/shareip.xml diff --git a/openstack-compute-api-1.0/src/samples/snapshot.json b/v1.0/src/samples/snapshot.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/snapshot.json rename to v1.0/src/samples/snapshot.json diff --git a/openstack-compute-api-1.0/src/samples/snapshot.xml b/v1.0/src/samples/snapshot.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/snapshot.xml rename to v1.0/src/samples/snapshot.xml diff --git a/openstack-compute-api-1.0/src/samples/unauth.json b/v1.0/src/samples/unauth.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/unauth.json rename to v1.0/src/samples/unauth.json diff --git a/openstack-compute-api-1.0/src/samples/unauth.xml b/v1.0/src/samples/unauth.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/unauth.xml rename to v1.0/src/samples/unauth.xml diff --git a/openstack-compute-api-1.0/src/samples/version.json b/v1.0/src/samples/version.json similarity index 100% rename from openstack-compute-api-1.0/src/samples/version.json rename to v1.0/src/samples/version.json diff --git a/openstack-compute-api-1.0/src/samples/version.xml b/v1.0/src/samples/version.xml similarity index 100% rename from openstack-compute-api-1.0/src/samples/version.xml rename to v1.0/src/samples/version.xml diff --git a/openstack-compute-api-1.0/src/style/schema.css b/v1.0/src/style/schema.css similarity index 100% rename from openstack-compute-api-1.0/src/style/schema.css rename to v1.0/src/style/schema.css diff --git a/openstack-compute-api-1.0/src/style/shjs/sh_acid.css b/v1.0/src/style/shjs/sh_acid.css similarity index 100% rename from openstack-compute-api-1.0/src/style/shjs/sh_acid.css rename to v1.0/src/style/shjs/sh_acid.css diff --git a/openstack-compute-api-1.0/src/style/shjs/sh_darkblue.css b/v1.0/src/style/shjs/sh_darkblue.css similarity index 100% rename from openstack-compute-api-1.0/src/style/shjs/sh_darkblue.css rename to v1.0/src/style/shjs/sh_darkblue.css diff --git a/openstack-compute-api-1.0/src/style/shjs/sh_emacs.css b/v1.0/src/style/shjs/sh_emacs.css similarity index 100% rename from openstack-compute-api-1.0/src/style/shjs/sh_emacs.css rename to v1.0/src/style/shjs/sh_emacs.css diff --git a/openstack-compute-api-1.0/src/style/shjs/sh_night.css b/v1.0/src/style/shjs/sh_night.css similarity index 100% rename from openstack-compute-api-1.0/src/style/shjs/sh_night.css rename to v1.0/src/style/shjs/sh_night.css diff --git a/openstack-compute-api-1.0/src/style/shjs/sh_pablo.css b/v1.0/src/style/shjs/sh_pablo.css similarity index 100% rename from openstack-compute-api-1.0/src/style/shjs/sh_pablo.css rename to v1.0/src/style/shjs/sh_pablo.css diff --git a/openstack-compute-api-1.0/src/style/shjs/sh_print.css b/v1.0/src/style/shjs/sh_print.css similarity index 100% rename from openstack-compute-api-1.0/src/style/shjs/sh_print.css rename to v1.0/src/style/shjs/sh_print.css diff --git a/openstack-compute-api-1.0/src/style/shjs/sh_style.css b/v1.0/src/style/shjs/sh_style.css similarity index 100% rename from openstack-compute-api-1.0/src/style/shjs/sh_style.css rename to v1.0/src/style/shjs/sh_style.css diff --git a/openstack-compute-api-1.0/src/style/shjs/sh_whitengrey.css b/v1.0/src/style/shjs/sh_whitengrey.css similarity index 100% rename from openstack-compute-api-1.0/src/style/shjs/sh_whitengrey.css rename to v1.0/src/style/shjs/sh_whitengrey.css diff --git a/openstack-compute-api-1.0/src/xsd/actions.xsd b/v1.0/src/xsd/actions.xsd similarity index 100% rename from openstack-compute-api-1.0/src/xsd/actions.xsd rename to v1.0/src/xsd/actions.xsd diff --git a/openstack-compute-api-1.0/src/xsd/annot.xsd b/v1.0/src/xsd/annot.xsd similarity index 100% rename from openstack-compute-api-1.0/src/xsd/annot.xsd rename to v1.0/src/xsd/annot.xsd diff --git a/openstack-compute-api-1.0/src/xsd/api.xjb b/v1.0/src/xsd/api.xjb similarity index 100% rename from openstack-compute-api-1.0/src/xsd/api.xjb rename to v1.0/src/xsd/api.xjb diff --git a/openstack-compute-api-1.0/src/xsd/api.xsd b/v1.0/src/xsd/api.xsd similarity index 100% rename from openstack-compute-api-1.0/src/xsd/api.xsd rename to v1.0/src/xsd/api.xsd diff --git a/openstack-compute-api-1.0/src/xsd/backup.xsd b/v1.0/src/xsd/backup.xsd similarity index 100% rename from openstack-compute-api-1.0/src/xsd/backup.xsd rename to v1.0/src/xsd/backup.xsd diff --git a/openstack-compute-api-1.0/src/xsd/common.xsd b/v1.0/src/xsd/common.xsd similarity index 100% rename from openstack-compute-api-1.0/src/xsd/common.xsd rename to v1.0/src/xsd/common.xsd diff --git a/openstack-compute-api-1.0/src/xsd/faults.xsd b/v1.0/src/xsd/faults.xsd similarity index 100% rename from openstack-compute-api-1.0/src/xsd/faults.xsd rename to v1.0/src/xsd/faults.xsd diff --git a/openstack-compute-api-1.0/src/xsd/flavor.xsd b/v1.0/src/xsd/flavor.xsd similarity index 100% rename from openstack-compute-api-1.0/src/xsd/flavor.xsd rename to v1.0/src/xsd/flavor.xsd diff --git a/openstack-compute-api-1.0/src/xsd/image.xsd b/v1.0/src/xsd/image.xsd similarity index 100% rename from openstack-compute-api-1.0/src/xsd/image.xsd rename to v1.0/src/xsd/image.xsd diff --git a/openstack-compute-api-1.0/src/xsd/ipgroup.xsd b/v1.0/src/xsd/ipgroup.xsd similarity index 100% rename from openstack-compute-api-1.0/src/xsd/ipgroup.xsd rename to v1.0/src/xsd/ipgroup.xsd diff --git a/openstack-compute-api-1.0/src/xsd/limits.xsd b/v1.0/src/xsd/limits.xsd similarity index 100% rename from openstack-compute-api-1.0/src/xsd/limits.xsd rename to v1.0/src/xsd/limits.xsd diff --git a/openstack-compute-api-1.0/src/xsd/server.xsd b/v1.0/src/xsd/server.xsd similarity index 100% rename from openstack-compute-api-1.0/src/xsd/server.xsd rename to v1.0/src/xsd/server.xsd diff --git a/openstack-compute-api-1.0/src/xsd/version.xsd b/v1.0/src/xsd/version.xsd similarity index 100% rename from openstack-compute-api-1.0/src/xsd/version.xsd rename to v1.0/src/xsd/version.xsd diff --git a/openstack-compute-api-1.0/src/xslt/schema.xslt b/v1.0/src/xslt/schema.xslt similarity index 100% rename from openstack-compute-api-1.0/src/xslt/schema.xslt rename to v1.0/src/xslt/schema.xslt diff --git a/openstack-compute-api-2/.gitignore b/v2/.gitignore similarity index 100% rename from openstack-compute-api-2/.gitignore rename to v2/.gitignore diff --git a/openstack-compute-api-2/pom.xml b/v2/pom.xml similarity index 85% rename from openstack-compute-api-2/pom.xml rename to v2/pom.xml index 94acf44..f4bd4cf 100644 --- a/openstack-compute-api-2/pom.xml +++ b/v2/pom.xml @@ -1,37 +1,24 @@ + + org.openstack.docs + parent-pom + 1.0.0-SNAPSHOT + ../pom.xml + 4.0.0 - org.openstack.docs - openstack-guide - 1.0.0 + openstack-compute-api-v2 jar - OpenStack Compute API v2 and Extensions Reference + OpenStack Compute API v2 Reference + + + local + 1 + - - - Rackspace Research Repositories - - true - - - - rackspace-research - Rackspace Research Repository - http://maven.research.rackspacecloud.com/content/groups/public/ - - - - - rackspace-research - Rackspace Research Repository - http://maven.research.rackspacecloud.com/content/groups/public/ - - - - src @@ -46,7 +33,7 @@ com.rackspace.cloud.api clouddocs-maven-plugin - 1.15.0 + goal2 diff --git a/openstack-compute-api-2/src/common.ent b/v2/src/common.ent similarity index 100% rename from openstack-compute-api-2/src/common.ent rename to v2/src/common.ent diff --git a/openstack-compute-api-2/src/js/shjs/sh_java.js b/v2/src/js/shjs/sh_java.js similarity index 100% rename from openstack-compute-api-2/src/js/shjs/sh_java.js rename to v2/src/js/shjs/sh_java.js diff --git a/openstack-compute-api-2/src/js/shjs/sh_javascript.js b/v2/src/js/shjs/sh_javascript.js similarity index 100% rename from openstack-compute-api-2/src/js/shjs/sh_javascript.js rename to v2/src/js/shjs/sh_javascript.js diff --git a/openstack-compute-api-2/src/js/shjs/sh_main.js b/v2/src/js/shjs/sh_main.js similarity index 100% rename from openstack-compute-api-2/src/js/shjs/sh_main.js rename to v2/src/js/shjs/sh_main.js diff --git a/openstack-compute-api-2/src/js/shjs/sh_xml.js b/v2/src/js/shjs/sh_xml.js similarity index 100% rename from openstack-compute-api-2/src/js/shjs/sh_xml.js rename to v2/src/js/shjs/sh_xml.js diff --git a/openstack-compute-api-2/src/js/trc/schema/controller.js b/v2/src/js/trc/schema/controller.js similarity index 100% rename from openstack-compute-api-2/src/js/trc/schema/controller.js rename to v2/src/js/trc/schema/controller.js diff --git a/openstack-compute-api-2/src/js/trc/schema/layoutManager.js b/v2/src/js/trc/schema/layoutManager.js similarity index 100% rename from openstack-compute-api-2/src/js/trc/schema/layoutManager.js rename to v2/src/js/trc/schema/layoutManager.js diff --git a/openstack-compute-api-2/src/js/trc/schema/sampleManager.js b/v2/src/js/trc/schema/sampleManager.js similarity index 100% rename from openstack-compute-api-2/src/js/trc/schema/sampleManager.js rename to v2/src/js/trc/schema/sampleManager.js diff --git a/openstack-compute-api-2/src/js/trc/util.js b/v2/src/js/trc/util.js similarity index 100% rename from openstack-compute-api-2/src/js/trc/util.js rename to v2/src/js/trc/util.js diff --git a/openstack-compute-api-2/src/os-compute-devguide.xml b/v2/src/os-compute-devguide.xml similarity index 99% rename from openstack-compute-api-2/src/os-compute-devguide.xml rename to v2/src/os-compute-devguide.xml index 6cc2e37..9b8b790 100755 --- a/openstack-compute-api-2/src/os-compute-devguide.xml +++ b/v2/src/os-compute-devguide.xml @@ -1,26 +1,26 @@ - - - - + + + + + - - GET'> - PUT'> - POST'> - DELETE'> + +GET'> +PUT'> +POST'> +DELETE'> - '> - + - '> diff --git a/openstack-compute-api-2/src/samples/choices.json b/v2/src/samples/choices.json similarity index 100% rename from openstack-compute-api-2/src/samples/choices.json rename to v2/src/samples/choices.json diff --git a/openstack-compute-api-2/src/samples/choices.xml b/v2/src/samples/choices.xml similarity index 100% rename from openstack-compute-api-2/src/samples/choices.xml rename to v2/src/samples/choices.xml diff --git a/openstack-compute-api-2/src/samples/ext-action.json b/v2/src/samples/ext-action.json similarity index 100% rename from openstack-compute-api-2/src/samples/ext-action.json rename to v2/src/samples/ext-action.json diff --git a/openstack-compute-api-2/src/samples/ext-action.xml b/v2/src/samples/ext-action.xml similarity index 100% rename from openstack-compute-api-2/src/samples/ext-action.xml rename to v2/src/samples/ext-action.xml diff --git a/openstack-compute-api-2/src/samples/ext-server.json b/v2/src/samples/ext-server.json similarity index 100% rename from openstack-compute-api-2/src/samples/ext-server.json rename to v2/src/samples/ext-server.json diff --git a/openstack-compute-api-2/src/samples/ext-server.xml b/v2/src/samples/ext-server.xml similarity index 100% rename from openstack-compute-api-2/src/samples/ext-server.xml rename to v2/src/samples/ext-server.xml diff --git a/openstack-compute-api-2/src/samples/ext-servers.json b/v2/src/samples/ext-servers.json similarity index 100% rename from openstack-compute-api-2/src/samples/ext-servers.json rename to v2/src/samples/ext-servers.json diff --git a/openstack-compute-api-2/src/samples/ext-servers.xml b/v2/src/samples/ext-servers.xml similarity index 100% rename from openstack-compute-api-2/src/samples/ext-servers.xml rename to v2/src/samples/ext-servers.xml diff --git a/openstack-compute-api-2/src/samples/fault.json b/v2/src/samples/fault.json similarity index 100% rename from openstack-compute-api-2/src/samples/fault.json rename to v2/src/samples/fault.json diff --git a/openstack-compute-api-2/src/samples/fault.xml b/v2/src/samples/fault.xml similarity index 100% rename from openstack-compute-api-2/src/samples/fault.xml rename to v2/src/samples/fault.xml diff --git a/openstack-compute-api-2/src/samples/image-fault.json b/v2/src/samples/image-fault.json similarity index 100% rename from openstack-compute-api-2/src/samples/image-fault.json rename to v2/src/samples/image-fault.json diff --git a/openstack-compute-api-2/src/samples/image-fault.xml b/v2/src/samples/image-fault.xml similarity index 100% rename from openstack-compute-api-2/src/samples/image-fault.xml rename to v2/src/samples/image-fault.xml diff --git a/openstack-compute-api-2/src/samples/image-meta-page1.json b/v2/src/samples/image-meta-page1.json similarity index 100% rename from openstack-compute-api-2/src/samples/image-meta-page1.json rename to v2/src/samples/image-meta-page1.json diff --git a/openstack-compute-api-2/src/samples/image-meta-page1.xml b/v2/src/samples/image-meta-page1.xml similarity index 100% rename from openstack-compute-api-2/src/samples/image-meta-page1.xml rename to v2/src/samples/image-meta-page1.xml diff --git a/openstack-compute-api-2/src/samples/image-simple.json b/v2/src/samples/image-simple.json similarity index 100% rename from openstack-compute-api-2/src/samples/image-simple.json rename to v2/src/samples/image-simple.json diff --git a/openstack-compute-api-2/src/samples/image-simple.xml b/v2/src/samples/image-simple.xml similarity index 100% rename from openstack-compute-api-2/src/samples/image-simple.xml rename to v2/src/samples/image-simple.xml diff --git a/openstack-compute-api-2/src/samples/images-page1-sp.xml b/v2/src/samples/images-page1-sp.xml similarity index 100% rename from openstack-compute-api-2/src/samples/images-page1-sp.xml rename to v2/src/samples/images-page1-sp.xml diff --git a/openstack-compute-api-2/src/samples/images-page1.json b/v2/src/samples/images-page1.json similarity index 100% rename from openstack-compute-api-2/src/samples/images-page1.json rename to v2/src/samples/images-page1.json diff --git a/openstack-compute-api-2/src/samples/images-page1.xml b/v2/src/samples/images-page1.xml similarity index 100% rename from openstack-compute-api-2/src/samples/images-page1.xml rename to v2/src/samples/images-page1.xml diff --git a/openstack-compute-api-2/src/samples/images-page2.json b/v2/src/samples/images-page2.json similarity index 100% rename from openstack-compute-api-2/src/samples/images-page2.json rename to v2/src/samples/images-page2.json diff --git a/openstack-compute-api-2/src/samples/images-page2.xml b/v2/src/samples/images-page2.xml similarity index 100% rename from openstack-compute-api-2/src/samples/images-page2.xml rename to v2/src/samples/images-page2.xml diff --git a/openstack-compute-api-2/src/samples/images-page3.json b/v2/src/samples/images-page3.json similarity index 100% rename from openstack-compute-api-2/src/samples/images-page3.json rename to v2/src/samples/images-page3.json diff --git a/openstack-compute-api-2/src/samples/images-page3.xml b/v2/src/samples/images-page3.xml similarity index 100% rename from openstack-compute-api-2/src/samples/images-page3.xml rename to v2/src/samples/images-page3.xml diff --git a/openstack-compute-api-2/src/samples/notfound.json b/v2/src/samples/notfound.json similarity index 100% rename from openstack-compute-api-2/src/samples/notfound.json rename to v2/src/samples/notfound.json diff --git a/openstack-compute-api-2/src/samples/notfound.xml b/v2/src/samples/notfound.xml similarity index 100% rename from openstack-compute-api-2/src/samples/notfound.xml rename to v2/src/samples/notfound.xml diff --git a/openstack-compute-api-2/src/samples/overlimit.json b/v2/src/samples/overlimit.json similarity index 100% rename from openstack-compute-api-2/src/samples/overlimit.json rename to v2/src/samples/overlimit.json diff --git a/openstack-compute-api-2/src/samples/overlimit.xml b/v2/src/samples/overlimit.xml similarity index 100% rename from openstack-compute-api-2/src/samples/overlimit.xml rename to v2/src/samples/overlimit.xml diff --git a/openstack-compute-api-2/src/samples/server-fault.json b/v2/src/samples/server-fault.json similarity index 100% rename from openstack-compute-api-2/src/samples/server-fault.json rename to v2/src/samples/server-fault.json diff --git a/openstack-compute-api-2/src/samples/server-fault.xml b/v2/src/samples/server-fault.xml similarity index 100% rename from openstack-compute-api-2/src/samples/server-fault.xml rename to v2/src/samples/server-fault.xml diff --git a/openstack-compute-api-2/src/samples/server-post-req-pip.json b/v2/src/samples/server-post-req-pip.json similarity index 100% rename from openstack-compute-api-2/src/samples/server-post-req-pip.json rename to v2/src/samples/server-post-req-pip.json diff --git a/openstack-compute-api-2/src/samples/server-post-req-pip.xml b/v2/src/samples/server-post-req-pip.xml similarity index 100% rename from openstack-compute-api-2/src/samples/server-post-req-pip.xml rename to v2/src/samples/server-post-req-pip.xml diff --git a/openstack-compute-api-2/src/samples/server-post-req-pip2.json b/v2/src/samples/server-post-req-pip2.json similarity index 100% rename from openstack-compute-api-2/src/samples/server-post-req-pip2.json rename to v2/src/samples/server-post-req-pip2.json diff --git a/openstack-compute-api-2/src/samples/server-post-req-pip2.xml b/v2/src/samples/server-post-req-pip2.xml similarity index 100% rename from openstack-compute-api-2/src/samples/server-post-req-pip2.xml rename to v2/src/samples/server-post-req-pip2.xml diff --git a/openstack-compute-api-2/src/samples/server-post-req-short.json b/v2/src/samples/server-post-req-short.json similarity index 100% rename from openstack-compute-api-2/src/samples/server-post-req-short.json rename to v2/src/samples/server-post-req-short.json diff --git a/openstack-compute-api-2/src/samples/server-post-req-short.xml b/v2/src/samples/server-post-req-short.xml similarity index 100% rename from openstack-compute-api-2/src/samples/server-post-req-short.xml rename to v2/src/samples/server-post-req-short.xml diff --git a/openstack-compute-api-2/src/samples/server-post-req.json b/v2/src/samples/server-post-req.json similarity index 100% rename from openstack-compute-api-2/src/samples/server-post-req.json rename to v2/src/samples/server-post-req.json diff --git a/openstack-compute-api-2/src/samples/server-post-req.xml b/v2/src/samples/server-post-req.xml similarity index 100% rename from openstack-compute-api-2/src/samples/server-post-req.xml rename to v2/src/samples/server-post-req.xml diff --git a/openstack-compute-api-2/src/samples/server-simple.json b/v2/src/samples/server-simple.json similarity index 100% rename from openstack-compute-api-2/src/samples/server-simple.json rename to v2/src/samples/server-simple.json diff --git a/openstack-compute-api-2/src/samples/server-simple.xml b/v2/src/samples/server-simple.xml similarity index 100% rename from openstack-compute-api-2/src/samples/server-simple.xml rename to v2/src/samples/server-simple.xml diff --git a/openstack-compute-api-2/src/samples/version-atom.xml b/v2/src/samples/version-atom.xml similarity index 100% rename from openstack-compute-api-2/src/samples/version-atom.xml rename to v2/src/samples/version-atom.xml diff --git a/openstack-compute-api-2/src/samples/versions-atom.xml b/v2/src/samples/versions-atom.xml similarity index 100% rename from openstack-compute-api-2/src/samples/versions-atom.xml rename to v2/src/samples/versions-atom.xml diff --git a/openstack-compute-api-2/src/section_concepts.xml b/v2/src/section_concepts.xml similarity index 100% rename from openstack-compute-api-2/src/section_concepts.xml rename to v2/src/section_concepts.xml diff --git a/openstack-compute-api-2/src/style/schema.css b/v2/src/style/schema.css similarity index 100% rename from openstack-compute-api-2/src/style/schema.css rename to v2/src/style/schema.css diff --git a/openstack-compute-api-2/src/style/shjs/sh_acid.css b/v2/src/style/shjs/sh_acid.css similarity index 100% rename from openstack-compute-api-2/src/style/shjs/sh_acid.css rename to v2/src/style/shjs/sh_acid.css diff --git a/openstack-compute-api-2/src/style/shjs/sh_darkblue.css b/v2/src/style/shjs/sh_darkblue.css similarity index 100% rename from openstack-compute-api-2/src/style/shjs/sh_darkblue.css rename to v2/src/style/shjs/sh_darkblue.css diff --git a/openstack-compute-api-2/src/style/shjs/sh_emacs.css b/v2/src/style/shjs/sh_emacs.css similarity index 100% rename from openstack-compute-api-2/src/style/shjs/sh_emacs.css rename to v2/src/style/shjs/sh_emacs.css diff --git a/openstack-compute-api-2/src/style/shjs/sh_night.css b/v2/src/style/shjs/sh_night.css similarity index 100% rename from openstack-compute-api-2/src/style/shjs/sh_night.css rename to v2/src/style/shjs/sh_night.css diff --git a/openstack-compute-api-2/src/style/shjs/sh_pablo.css b/v2/src/style/shjs/sh_pablo.css similarity index 100% rename from openstack-compute-api-2/src/style/shjs/sh_pablo.css rename to v2/src/style/shjs/sh_pablo.css diff --git a/openstack-compute-api-2/src/style/shjs/sh_print.css b/v2/src/style/shjs/sh_print.css similarity index 100% rename from openstack-compute-api-2/src/style/shjs/sh_print.css rename to v2/src/style/shjs/sh_print.css diff --git a/openstack-compute-api-2/src/style/shjs/sh_style.css b/v2/src/style/shjs/sh_style.css similarity index 100% rename from openstack-compute-api-2/src/style/shjs/sh_style.css rename to v2/src/style/shjs/sh_style.css diff --git a/openstack-compute-api-2/src/style/shjs/sh_whitengrey.css b/v2/src/style/shjs/sh_whitengrey.css similarity index 100% rename from openstack-compute-api-2/src/style/shjs/sh_whitengrey.css rename to v2/src/style/shjs/sh_whitengrey.css diff --git a/openstack-compute-api-2/src/xsd/.htaccess b/v2/src/xsd/.htaccess similarity index 100% rename from openstack-compute-api-2/src/xsd/.htaccess rename to v2/src/xsd/.htaccess diff --git a/openstack-compute-api-2/src/xsd/actions.xsd b/v2/src/xsd/actions.xsd similarity index 100% rename from openstack-compute-api-2/src/xsd/actions.xsd rename to v2/src/xsd/actions.xsd diff --git a/openstack-compute-api-2/src/xsd/affinity-id.xjb b/v2/src/xsd/affinity-id.xjb similarity index 100% rename from openstack-compute-api-2/src/xsd/affinity-id.xjb rename to v2/src/xsd/affinity-id.xjb diff --git a/openstack-compute-api-2/src/xsd/affinity-id.xsd b/v2/src/xsd/affinity-id.xsd similarity index 100% rename from openstack-compute-api-2/src/xsd/affinity-id.xsd rename to v2/src/xsd/affinity-id.xsd diff --git a/openstack-compute-api-2/src/xsd/api-common.xjb b/v2/src/xsd/api-common.xjb similarity index 100% rename from openstack-compute-api-2/src/xsd/api-common.xjb rename to v2/src/xsd/api-common.xjb diff --git a/openstack-compute-api-2/src/xsd/api-common.xsd b/v2/src/xsd/api-common.xsd similarity index 100% rename from openstack-compute-api-2/src/xsd/api-common.xsd rename to v2/src/xsd/api-common.xsd diff --git a/openstack-compute-api-2/src/xsd/api.xjb b/v2/src/xsd/api.xjb similarity index 100% rename from openstack-compute-api-2/src/xsd/api.xjb rename to v2/src/xsd/api.xjb diff --git a/openstack-compute-api-2/src/xsd/api.xsd b/v2/src/xsd/api.xsd similarity index 100% rename from openstack-compute-api-2/src/xsd/api.xsd rename to v2/src/xsd/api.xsd diff --git a/openstack-compute-api-2/src/xsd/atom.xjb b/v2/src/xsd/atom.xjb similarity index 100% rename from openstack-compute-api-2/src/xsd/atom.xjb rename to v2/src/xsd/atom.xjb diff --git a/openstack-compute-api-2/src/xsd/atom/atom.xsd b/v2/src/xsd/atom/atom.xsd similarity index 100% rename from openstack-compute-api-2/src/xsd/atom/atom.xsd rename to v2/src/xsd/atom/atom.xsd diff --git a/openstack-compute-api-2/src/xsd/atom/xml.xsd b/v2/src/xsd/atom/xml.xsd similarity index 100% rename from openstack-compute-api-2/src/xsd/atom/xml.xsd rename to v2/src/xsd/atom/xml.xsd diff --git a/openstack-compute-api-2/src/xsd/backup.xsd b/v2/src/xsd/backup.xsd similarity index 100% rename from openstack-compute-api-2/src/xsd/backup.xsd rename to v2/src/xsd/backup.xsd diff --git a/openstack-compute-api-2/src/xsd/common.xsd b/v2/src/xsd/common.xsd similarity index 100% rename from openstack-compute-api-2/src/xsd/common.xsd rename to v2/src/xsd/common.xsd diff --git a/openstack-compute-api-2/src/xsd/ext/rax-dme/api.xsd b/v2/src/xsd/ext/rax-dme/api.xsd similarity index 100% rename from openstack-compute-api-2/src/xsd/ext/rax-dme/api.xsd rename to v2/src/xsd/ext/rax-dme/api.xsd diff --git a/openstack-compute-api-2/src/xsd/ext/rax-dme/rax-dme.xsd b/v2/src/xsd/ext/rax-dme/rax-dme.xsd similarity index 100% rename from openstack-compute-api-2/src/xsd/ext/rax-dme/rax-dme.xsd rename to v2/src/xsd/ext/rax-dme/rax-dme.xsd diff --git a/openstack-compute-api-2/src/xsd/extensions.xsd b/v2/src/xsd/extensions.xsd similarity index 100% rename from openstack-compute-api-2/src/xsd/extensions.xsd rename to v2/src/xsd/extensions.xsd diff --git a/openstack-compute-api-2/src/xsd/faults.xsd b/v2/src/xsd/faults.xsd similarity index 100% rename from openstack-compute-api-2/src/xsd/faults.xsd rename to v2/src/xsd/faults.xsd diff --git a/openstack-compute-api-2/src/xsd/flavor.xsd b/v2/src/xsd/flavor.xsd similarity index 100% rename from openstack-compute-api-2/src/xsd/flavor.xsd rename to v2/src/xsd/flavor.xsd diff --git a/openstack-compute-api-2/src/xsd/image.xsd b/v2/src/xsd/image.xsd similarity index 100% rename from openstack-compute-api-2/src/xsd/image.xsd rename to v2/src/xsd/image.xsd diff --git a/openstack-compute-api-2/src/xsd/ipgroup.xsd b/v2/src/xsd/ipgroup.xsd similarity index 100% rename from openstack-compute-api-2/src/xsd/ipgroup.xsd rename to v2/src/xsd/ipgroup.xsd diff --git a/openstack-compute-api-2/src/xsd/limits.xsd b/v2/src/xsd/limits.xsd similarity index 100% rename from openstack-compute-api-2/src/xsd/limits.xsd rename to v2/src/xsd/limits.xsd diff --git a/openstack-compute-api-2/src/xsd/metadata.xsd b/v2/src/xsd/metadata.xsd similarity index 100% rename from openstack-compute-api-2/src/xsd/metadata.xsd rename to v2/src/xsd/metadata.xsd diff --git a/openstack-compute-api-2/src/xsd/server.xsd b/v2/src/xsd/server.xsd similarity index 100% rename from openstack-compute-api-2/src/xsd/server.xsd rename to v2/src/xsd/server.xsd diff --git a/openstack-compute-api-2/src/xsd/shareip.xjb b/v2/src/xsd/shareip.xjb similarity index 100% rename from openstack-compute-api-2/src/xsd/shareip.xjb rename to v2/src/xsd/shareip.xjb diff --git a/openstack-compute-api-2/src/xsd/shareip.xsd b/v2/src/xsd/shareip.xsd similarity index 100% rename from openstack-compute-api-2/src/xsd/shareip.xsd rename to v2/src/xsd/shareip.xsd diff --git a/openstack-compute-api-2/src/xsd/txt.htaccess b/v2/src/xsd/txt.htaccess similarity index 100% rename from openstack-compute-api-2/src/xsd/txt.htaccess rename to v2/src/xsd/txt.htaccess diff --git a/openstack-compute-api-2/src/xsd/version.xsd b/v2/src/xsd/version.xsd similarity index 100% rename from openstack-compute-api-2/src/xsd/version.xsd rename to v2/src/xsd/version.xsd diff --git a/openstack-compute-api-2/src/xslt/schema.xsl b/v2/src/xslt/schema.xsl similarity index 100% rename from openstack-compute-api-2/src/xslt/schema.xsl rename to v2/src/xslt/schema.xsl