Merge lp:~justin-fathomdb/nova/add-xsd into lp:~hudson-openstack/nova/trunk

Proposed by justinsb
Status: Work in progress
Proposed branch: lp:~justin-fathomdb/nova/add-xsd
Merge into: lp:~hudson-openstack/nova/trunk
Diff against target: 3420 lines (+3363/-0)
11 files modified
nova/api/openstack/schemas/v1.0/xsd/actions.xsd (+256/-0)
nova/api/openstack/schemas/v1.0/xsd/backup.xsd (+374/-0)
nova/api/openstack/schemas/v1.0/xsd/common.xsd (+51/-0)
nova/api/openstack/schemas/v1.0/xsd/faults.xsd (+480/-0)
nova/api/openstack/schemas/v1.0/xsd/flavor.xsd (+144/-0)
nova/api/openstack/schemas/v1.0/xsd/image.xsd (+263/-0)
nova/api/openstack/schemas/v1.0/xsd/ipgroup.xsd (+215/-0)
nova/api/openstack/schemas/v1.0/xsd/limits.xsd (+354/-0)
nova/api/openstack/schemas/v1.0/xsd/rackspace.xsd (+141/-0)
nova/api/openstack/schemas/v1.0/xsd/server.xsd (+913/-0)
nova/api/openstack/schemas/v1.0/xsd/version.xsd (+172/-0)
To merge this branch: bzr merge lp:~justin-fathomdb/nova/add-xsd
Reviewer Review Type Date Requested Status
Jay Pipes (community) Approve
Soren Hansen (community) Abstain
Brian Lamar (community) Disapprove
Devin Carlen (community) Approve
termie (community) Approve
Thierry Carrez (community) ffe Approve
Vish Ishaya ptl Pending
Review via email: mp+54418@code.launchpad.net

Description of the change

Import of Rackspace CloudServers API v1.0 XSD files.

This is needed so that we can test against them.

To post a comment you must log in.
Revision history for this message
Jay Pipes (jaypipes) wrote :

Now *this* is what metadata is.

Revision history for this message
justinsb (justin-fathomdb) wrote :

I hope you've reviewed it in detail Jay, knowing how much you love XML :-)

We've had a couple of issues with typing of data and some questions over XML
support, so I think importing the existing XML schema is the right first
step. We'll probably have to create a second XML schema for OpenStack v1.1
to the extent that it's different. I'm going to bring this up in the "any
other business" at the end of our weekly meeting.

Revision history for this message
justinsb (justin-fathomdb) wrote :

I was able to generate a JAXB Java binding to this schema, so I think it's complete now...

Revision history for this message
Jesse Andrews (anotherjesse) wrote :

We shouldn't use rackspace product names in the XSD...

 * Cloud Servers -> OpenStack Compute or Nova?
 * cloudServersFault -> computeFault

...

Revision history for this message
justinsb (justin-fathomdb) wrote :

True, but this is for compatibility with v1.0.

I am on the lookout for an OpenStack-ified v1.1 XSD, if anyone sees one
hanging around...

Revision history for this message
Thierry Carrez (ttx) wrote :

If you want this into Cactus rather than wait for Diablo, could you provide a quick benefit vs. risk of regression rationale, then request a specific FFe review from me ? This looks rather self-contained so I think it should be able to get in.

Revision history for this message
Thierry Carrez (ttx) :
review: Needs Information (ffe)
Revision history for this message
justinsb (justin-fathomdb) wrote :

Sure! Technically though, this one isn't subject to FF, because this is not a Feature, this is to support a bugfix for Bug #740576. It was linked, but 'someone' unlinked it ;-) The bug is that our XML API isn't to spec. This is the spec :-)

Risks:
I do believe there's as close to zero risk as is possible - these files aren't even referenced. If they are referenced in future, they'll likely initially be referenced only by tests (validating our XML against the schema). If they are referenced by non-tests, it will be because it's the most efficient way to deliver a correct XML API.

Benefits:
By having the spec in the codebase, we're able to validate against it.

I was planning on writing tests using the Java bindings.

Revision history for this message
termie (termie) wrote :

I don't like the idea of adding another root dir, can we dump these under the nova/api/openstack dir?

review: Needs Information
Revision history for this message
justinsb (justin-fathomdb) wrote :

Fine with me, except we might want to have schemas for other APIs (EC2?), or
even schema for internal protocols (e.g. the glance protocol, or maybe our
message format in the multi-zones case).

How about nova/api/schema or nova/schema?

The downside of putting them under nova is that they're not code (well, not
Python code).

Revision history for this message
termie (termie) wrote :

my thoughts on this are that I am trying to move for better encapsulation of the concerns of the sections of the project, with some hope of being able to physically separate them in the future, so if there are schemas specific to the implementation of this API I think they should live under it.

Revision history for this message
Thierry Carrez (ttx) wrote :

Agreed this is part of the bugfix and doesn't require FFe. For clarity I'll set an approve here.

review: Approve (ffe)
Revision history for this message
termie (termie) wrote :

i'll take your word for it that all this gibberish makes sense ;) I'm happy enough with the location of it.

review: Approve
Revision history for this message
Devin Carlen (devcamcar) wrote :

i admit. i didn't read every piece of this. :)

review: Approve
Revision history for this message
Soren Hansen (soren) wrote :

Now, if this was accompanied by some tests that actually used it, I could see its value. As is, it's an XML Schema that *something else* (the existing Rackspace Cloud Servers) validates against. I think having this in the tree while we're not even sure we validate against it is confusing, and I don't think I understand its value.

If you can add some tests that actually use it, I'd be happy to accept it even much later in the cycle. Alternativaly, (much less idealy) if you could document that you've used some external tool to validate our stuff against this schema and it actually passes, I think it'll make much mose sense to have this in the tree as some kind of documentation.

review: Disapprove
Revision history for this message
justinsb (justin-fathomdb) wrote :

Hi Soren - it's a fair concern. I was trying to keep my patches fairly
self-contained; I originally proposed in a separate patch incorporating a
Java binding which actually uses this schema, but it looks like that doesn't
belong in core. I don't really have experience of using schemas in Python.

The fact is, we are supposed to be supporting this API. This is the spec
for our "v1.0" endpoint. While XML can be fugly, it does have the benefit
of being an excellent spec for the wire format, which it's easy to test
against. Most of the specs carry across to our JSON output. If we want our
API to be compatible with the many existing tools out there that talk to the
CS API, this is the spec we have to validate against.

I'm also trying to track down the v1.1 bindings, for exactly the same
reason. However, apparently they might still be in flux...?

I did originally have tests, but it looks like someone that knows Python +
XML better is going to have to do it for language reasons. My tests did
find that we're not even putting in a namespace declaration, so everything
failed immediately. I'm working on the fix for that in the parallel branch.
 Once the namespace declaration is included, basic functionality works, but
that's as far as my testing got so far. The discussion on the namespace
branch also showed up additional problems with our output (JSON & XML) when
it comes to limits. So we're drawing benefits from this work even now, and
I think in core we'll derive even more.

I think the right thing to do is to merge these specs, on the ground that
they are the best specs we've got for what we're supposed to be targeting.
 Even if we don't have tests immediately, it's helpful to have this in our
source tree, rather than on some website. Other languages can use this to
test our API, and hopefully someone that knows Python can e.g. add an output
filter to validate the XML as it is returned or add it to our unit
tests. The first step is to add these schemas though - otherwise we'll
never break the chicken & egg stalemate.

Revision history for this message
Soren Hansen (soren) wrote :

2011/3/31 justinsb <email address hidden>:
> The fact is, we are supposed to be supporting this API.

Right. So this should be referenced from a blueprint or something.

Documentation should document how things *are*, not how we wish they were.

> This is the spec
> for our "v1.0" endpoint.  While XML can be fugly, it does have the benefit
> of being an excellent spec for the wire format, which it's easy to test
> against.  Most of the specs carry across to our JSON output.  If we want our
> API to be compatible with the many existing tools out there that talk to the
> CS API, this is the spec we have to validate against.

I completely agree, so if these schemas were used for this validation,
I'd be perfectly happy with it.

> I think the right thing to do is to merge these specs, on the ground that
> they are the best specs we've got for what we're supposed to be targeting

Revision history for this message
Soren Hansen (soren) wrote :

Hmm... I got cut off, somehow..

> I think the right thing to do is to merge these specs, on the ground that
> they are the best specs we've got for what we're supposed to be targeting.

"supposed to be" are the operative words for me here.

If you would stick the files in a directory named
"schemas_that_we_ought_to_be_following_but_are_not",
"wishful_thinking" or even "somebody_elses_schema" that would help
immensely. :)

Revision history for this message
Brian Lamar (blamar) wrote :

> Now, if this was accompanied by some tests that actually used it, I could see
> its value. As is, it's an XML Schema that *something else* (the existing
> Rackspace Cloud Servers) validates against. I think having this in the tree
> while we're not even sure we validate against it is confusing, and I don't
> think I understand its value.
>
> If you can add some tests that actually use it, I'd be happy to accept it even
> much later in the cycle. Alternativaly, (much less idealy) if you could
> document that you've used some external tool to validate our stuff against
> this schema and it actually passes, I think it'll make much mose sense to have
> this in the tree as some kind of documentation.

Absolutely agree. Adding this right now is just bloat IMO and doesn't address the issue/bug. I'd rather see it added a little a time with corresponding tests rather than get added all at once with no tests.

review: Disapprove
Revision history for this message
justinsb (justin-fathomdb) wrote :

I totally agree that we should have been validating against this since day 1, and that we should have tests that pass.

We didn't do that, and everything is broken. Let's move forwards.

This is the best schema we've got for the OpenStack API (JSON or XML). There's a parallel branch that makes validation not fail completely. There was a test branch that wasn't wanted in core because it used Java, so was rejected. If I write a test, it'll fail, which will mean it can't be merged, because I tried proposing tests that "fail due to known bugs" and that was rejected. If I sit down for two hours and fix the XML output in one big patch that fixes everything, then the patch will be too big and will be rejected. So I have to do it one step at a time, over the course of two releases instead of two hours. Fine. But let's at least take the first step.

Vish: as PTL, can you please make the call here.

Revision history for this message
Brian Lamar (blamar) wrote :

Wouldn't it be possible to merge just the "flavors" XSD and tests for flavor XML responses? Then move to images, servers, and so on? I agree that it won't get merged if you do one big patch which tests everything, but piecemeal is way to go here IMO.

Revision history for this message
Vish Ishaya (vishvananda) wrote :

Now that the blocking branch is going in I think we can take the step-by-step approach. Btw, validation in python is pretty simple:

    schema = etree.XMLSchema(file=os.path.join(os.path.dirname(__file__),
                                               '../../schema/nrml.xsd'))
    parser = etree.parse(StringIO(str(xml)))
    if not schema.validate(parser):
        raise exceptions.ValidationError("Invalid NRML document.")

I have a feeling that as we will be running into bugs in each section, so this will keep it manageable.

On Apr 6, 2011, at 10:45 AM, Brian Lamar wrote:

> Wouldn't it be possible to merge just the "flavors" XSD and tests for flavor XML responses? Then move to images, servers, and so on? I agree that it won't get merged if you do one big patch which tests everything, but piecemeal is way to go here IMO.
> --
> https://code.launchpad.net/~justin-fathomdb/nova/add-xsd/+merge/54418
> You are requested to review the proposed merge of lp:~justin-fathomdb/nova/add-xsd into lp:nova.

Revision history for this message
justinsb (justin-fathomdb) wrote :

My preferred option is one mega-patch which just adds the XML schema and
fixes all the output to be schema-compliant; that's probably about 2 hours
work. The way we're doing it, as a sequence of atomic patches and debating
over each one, we can stretch that out over 2 releases. But I think
breaking this up further into even smaller patches is a bad idea if we want
well-formed output this year.

Schemas are allowed to cross-reference each other, so it's not clear a
priori that we can do so. I don't really see the upside in doing so.

Revision history for this message
justinsb (justin-fathomdb) wrote :

Vish - messages "crossed in the mail"! Thanks for that example; I'll take
that code and add warnings whenever we output non-compliant XML. I'll do
that in a derived branch from this one.

Revision history for this message
Vish Ishaya (vishvananda) wrote :

Warnings on non-compliance are a great idea, and might even be enough to convince Soren and Brian that this should go in!

On Apr 6, 2011, at 11:03 AM, justinsb wrote:

> Vish - messages "crossed in the mail"! Thanks for that example; I'll take
> that code and add warnings whenever we output non-compliant XML. I'll do
> that in a derived branch from this one.
>
> --
> https://code.launchpad.net/~justin-fathomdb/nova/add-xsd/+merge/54418
> You are requested to review the proposed merge of lp:~justin-fathomdb/nova/add-xsd into lp:nova.

Revision history for this message
justinsb (justin-fathomdb) wrote :

Validation of XML output against this schema is now available in the derived branch:
https://code.launchpad.net/~justin-fathomdb/nova/check-xsd/+merge/56658

Revision history for this message
Thierry Carrez (ttx) wrote :

Small governance note:

Though the Nova PTL can make a final call on difficult decisions, he is not there to bypass the normal nova-core branch review process, and should be called as a last measure only. He shouldn't overrule the nova-core decision, but only have a casting vote in the case nova-core members can't reach an agreement. Otherwise let's just say Vish reviews branches and give other nova-core members some vacation.

Revision history for this message
Vish Ishaya (vishvananda) wrote :

Sorem, Brian:

Do you still feel this is a disapprove now that we have a branch with tests? I'm leaning toward getting this in so we can start fixing the issues that the tests expose. I'm not concerned about this making it into cactus specifically, but it seems like there is a reason for this to be there now.

Revision history for this message
Brian Lamar (blamar) wrote :

Vish, I agree this could help us expose and squash a good number of API-formatting-related bugs but in my opinion it's a feature branch and thus needs to wait until Diablo opens up. Also I believe that Justin and Brian Waldon have agreed we should talk a lot of this out at the dev conference.

I'm a disapprove for Cactus still, but I'm more than ready to get better testing frameworks/methods in place for future releases.

Revision history for this message
justinsb (justin-fathomdb) wrote :

I think we should discuss all of this at the design conference, but
the schema that we're supporting should have been part of our test
suite on day 1. Let's fix that in Cactus, not in D/E/F.

Right now, we only have one usable API, and it's EC2. I think getting
a working CloudServers / OS v1.0 API is worth delaying Cactus over
alone, never mind the many other issues.

Revision history for this message
Soren Hansen (soren) wrote :

As long as we keep this as an internal checking thing, then it's fine. If it ends up being something people might consider documentation, it's not so fine. I'm very, very tired right now, so can't really judge either way. I'll look at it tomorrow when I'm capable of more coherent thought.

review: Abstain
Revision history for this message
Jay Pipes (jaypipes) wrote :

I'm cool with this. And yes, Justin, even though I'm not a huge fan of XML, I do see the value of this ;)

review: Approve
Revision history for this message
Sandy Walsh (sandy-walsh) wrote :

Who is the owner of the schema? Is it Rackspace or OpenStack?

For 1.0 it seems it's Rackspace. Since it's a Rackspace resource I think we should just point the documentation to the Rackspace site with a note "You can get the XSD here [URL]". Just like the the RS API docs live on the RAX site.

Later, when it's an OpenStack API, under our control, it could get brought under our source control (with tests).

$0.02

Unmerged revisions

847. By justinsb

Moved CloudServers v1.0 under nova/api/openstack/schemas

846. By justinsb

Moved rackspace.xsd so that the relative URLs work

845. By justinsb

Added common.xsd that I had missed

844. By justinsb

Import of Rackspace CloudServers API v1.0 XSD

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added directory 'nova/api/openstack/schemas'
2=== added directory 'nova/api/openstack/schemas/v1.0'
3=== added directory 'nova/api/openstack/schemas/v1.0/xsd'
4=== added file 'nova/api/openstack/schemas/v1.0/xsd/actions.xsd'
5--- nova/api/openstack/schemas/v1.0/xsd/actions.xsd 1970-01-01 00:00:00 +0000
6+++ nova/api/openstack/schemas/v1.0/xsd/actions.xsd 2011-03-29 17:39:12 +0000
7@@ -0,0 +1,256 @@
8+<?xml version="1.0" encoding="UTF-8"?>
9+<?xml-stylesheet type="text/xsl" href="../xslt/schema.xslt"?>
10+
11+<!-- (C) 2009 Rackspace Hosting, All Rights Reserved -->
12+
13+
14+<schema
15+ elementFormDefault="qualified"
16+ attributeFormDefault="unqualified"
17+ xmlns="http://www.w3.org/2001/XMLSchema"
18+ xmlns:csapi="http://docs.rackspacecloud.com/servers/api/v1.0"
19+ xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
20+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
21+ targetNamespace="http://docs.rackspacecloud.com/servers/api/v1.0"
22+>
23+ <annotation>
24+ <xsd:appinfo
25+ xml:lang="EN"
26+ xmlns="http://www.w3.org/1999/xhtml">
27+ <xsdxt:title>Server Actions</xsdxt:title>
28+ <xsdxt:link rel="index" href="api.xsd" />
29+ </xsd:appinfo>
30+ <xsd:documentation
31+ xml:lang="EN"
32+ xmlns="http://www.w3.org/1999/xhtml">
33+ <p>
34+ This schema file defines actions that can be performed on a
35+ cloud server. All cloud server actions are derived from the <a
36+ href="#type_Action" title="See definition of
37+ Action">Action</a> type.
38+ </p>
39+ </xsd:documentation>
40+ </annotation>
41+
42+ <element name="reboot" type="csapi:Reboot">
43+ <annotation>
44+ <xsd:documentation
45+ xml:lang="EN"
46+ xmlns="http://www.w3.org/1999/xhtml">
47+ <p>
48+ Performs a HARD or SOFT reboot.
49+ </p>
50+ </xsd:documentation>
51+ <xsd:appinfo>
52+ <xsdxt:samples>
53+ <xsdxt:sample>
54+ <xsdxt:code type="application/xml" href="../samples/reboot.xml" />
55+ </xsdxt:sample>
56+ <xsdxt:sample>
57+ <xsdxt:code type="application/json" href="../samples/reboot.json" />
58+ </xsdxt:sample>
59+ </xsdxt:samples>
60+ </xsd:appinfo>
61+ </annotation>
62+ </element>
63+ <element name="rebuild" type="csapi:Rebuild">
64+ <annotation>
65+ <xsd:documentation
66+ xml:lang="EN"
67+ xmlns="http://www.w3.org/1999/xhtml">
68+ <p>
69+ Rebuilds a server.
70+ </p>
71+ </xsd:documentation>
72+ <xsd:appinfo>
73+ <xsdxt:samples>
74+ <xsdxt:sample>
75+ <xsdxt:code type="application/xml" href="../samples/rebuild.xml" />
76+ </xsdxt:sample>
77+ <xsdxt:sample>
78+ <xsdxt:code type="application/json" href="../samples/rebuild.json" />
79+ </xsdxt:sample>
80+ </xsdxt:samples>
81+ </xsd:appinfo>
82+ </annotation>
83+ </element>
84+ <element name="resize" type="csapi:Resize">
85+ <annotation>
86+ <xsd:documentation
87+ xml:lang="EN"
88+ xmlns="http://www.w3.org/1999/xhtml">
89+ <p>
90+ Resizes a server.
91+ </p>
92+ </xsd:documentation>
93+ <xsd:appinfo>
94+ <xsdxt:samples>
95+ <xsdxt:sample>
96+ <xsdxt:code type="application/xml" href="../samples/resize.xml" />
97+ </xsdxt:sample>
98+ <xsdxt:sample>
99+ <xsdxt:code type="application/json" href="../samples/resize.json" />
100+ </xsdxt:sample>
101+ </xsdxt:samples>
102+ </xsd:appinfo>
103+ </annotation>
104+ </element>
105+ <element name="confirmResize" type="csapi:ConfirmResize">
106+ <annotation>
107+ <xsd:documentation
108+ xml:lang="EN"
109+ xmlns="http://www.w3.org/1999/xhtml">
110+ <p>
111+ Confirms a resize action.
112+ </p>
113+ </xsd:documentation>
114+ <xsd:appinfo>
115+ <xsdxt:samples>
116+ <xsdxt:sample>
117+ <xsdxt:code type="application/xml" href="../samples/confirmresize.xml" />
118+ </xsdxt:sample>
119+ <xsdxt:sample>
120+ <xsdxt:code type="application/json" href="../samples/confirmresize.json" />
121+ </xsdxt:sample>
122+ </xsdxt:samples>
123+ </xsd:appinfo>
124+ </annotation>
125+ </element>
126+ <element name="revertResize" type="csapi:RevertResize">
127+ <annotation>
128+ <xsd:documentation
129+ xml:lang="EN"
130+ xmlns="http://www.w3.org/1999/xhtml">
131+ <p>
132+ Reverts a resize action.
133+ </p>
134+ </xsd:documentation>
135+ <xsd:appinfo>
136+ <xsdxt:samples>
137+ <xsdxt:sample>
138+ <xsdxt:code type="application/xml" href="../samples/revertresize.xml" />
139+ </xsdxt:sample>
140+ <xsdxt:sample>
141+ <xsdxt:code type="application/json" href="../samples/revertresize.json" />
142+ </xsdxt:sample>
143+ </xsdxt:samples>
144+ </xsd:appinfo>
145+ </annotation>
146+ </element>
147+
148+ <!-- Complex Types -->
149+
150+ <complexType abstract="true" name="Action">
151+ <annotation>
152+ <xsd:documentation
153+ xml:lang="EN"
154+ xmlns="http://www.w3.org/1999/xhtml">
155+ <p>
156+ This is the base type for all server actions. It is simply
157+ a marker abstract type used to differentiate an Action
158+ element from other elements.
159+ </p>
160+ </xsd:documentation>
161+ </annotation>
162+ </complexType>
163+
164+ <complexType name="Reboot">
165+ <complexContent>
166+ <extension base="csapi:Action">
167+ <attribute name="type" type="csapi:RebootType" use="required">
168+ <annotation>
169+ <xsd:documentation
170+ xml:lang="EN"
171+ xmlns="http://www.w3.org/1999/xhtml">
172+ <p>
173+ The <a href="#type_RebootType" title="See definition
174+ of RebootType">type</a> of reboot to perform.
175+ </p>
176+ </xsd:documentation>
177+ </annotation>
178+ </attribute>
179+ </extension>
180+ </complexContent>
181+ </complexType>
182+
183+ <complexType name="Rebuild">
184+ <complexContent>
185+ <extension base="csapi:Action">
186+ <attribute name="imageId" type="xsd:int" use="required">
187+ <annotation>
188+ <xsd:documentation
189+ xml:lang="EN"
190+ xmlns="http://www.w3.org/1999/xhtml">
191+ <p>
192+ The id of an image to use for the rebuild.
193+ </p>
194+ </xsd:documentation>
195+ </annotation>
196+ </attribute>
197+ </extension>
198+ </complexContent>
199+ </complexType>
200+
201+ <complexType name="Resize">
202+ <complexContent>
203+ <extension base="csapi:Action">
204+ <attribute name="flavorId" type="xsd:int" use="required">
205+ <annotation>
206+ <xsd:documentation
207+ xml:lang="EN"
208+ xmlns="http://www.w3.org/1999/xhtml">
209+ <p>
210+ The id of the flavor to convert to.
211+ </p>
212+ </xsd:documentation>
213+ </annotation>
214+ </attribute>
215+ </extension>
216+ </complexContent>
217+ </complexType>
218+
219+ <complexType name="ConfirmResize">
220+ <complexContent>
221+ <extension base="csapi:Action" />
222+ </complexContent>
223+ </complexType>
224+
225+ <complexType name="RevertResize">
226+ <complexContent>
227+ <extension base="csapi:Action" />
228+ </complexContent>
229+ </complexType>
230+
231+ <!-- Simple Types -->
232+ <simpleType name="RebootType">
233+ <restriction base="xsd:string">
234+ <enumeration value="HARD">
235+ <annotation>
236+ <xsd:documentation
237+ xml:lang="EN"
238+ xmlns="http://www.w3.org/1999/xhtml">
239+ <p>
240+ A HARD reboot is equivalent to power cycling the server.
241+ The operating system is not allowed to gracefully
242+ shutdown.
243+ </p>
244+ </xsd:documentation>
245+ </annotation>
246+ </enumeration>
247+ <enumeration value="SOFT">
248+ <annotation>
249+ <xsd:documentation
250+ xml:lang="EN"
251+ xmlns="http://www.w3.org/1999/xhtml">
252+ <p>
253+ With a SOFT reboot, the operating system is signaled to
254+ restart. This allows for a graceful shutdown of all
255+ processes.
256+ </p>
257+ </xsd:documentation>
258+ </annotation>
259+ </enumeration>
260+ </restriction>
261+ </simpleType>
262+</schema>
263+
264
265=== added file 'nova/api/openstack/schemas/v1.0/xsd/backup.xsd'
266--- nova/api/openstack/schemas/v1.0/xsd/backup.xsd 1970-01-01 00:00:00 +0000
267+++ nova/api/openstack/schemas/v1.0/xsd/backup.xsd 2011-03-29 17:39:12 +0000
268@@ -0,0 +1,374 @@
269+<?xml version="1.0" encoding="UTF-8"?>
270+<?xml-stylesheet type="text/xsl" href="../xslt/schema.xslt"?>
271+
272+<!-- (C) 2009 Rackspace Hosting, All Rights Reserved -->
273+
274+<schema
275+ elementFormDefault="qualified"
276+ attributeFormDefault="unqualified"
277+ xmlns="http://www.w3.org/2001/XMLSchema"
278+ xmlns:csapi="http://docs.rackspacecloud.com/servers/api/v1.0"
279+ xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
280+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
281+ targetNamespace="http://docs.rackspacecloud.com/servers/api/v1.0"
282+>
283+
284+ <annotation>
285+ <xsd:appinfo
286+ xml:lang="EN"
287+ xmlns="http://www.w3.org/1999/xhtml">
288+ <xsdxt:title>Backup Schedule</xsdxt:title>
289+ <xsdxt:link rel="index" href="api.xsd" />
290+ </xsd:appinfo>
291+ <xsd:documentation
292+ xml:lang="EN"
293+ xmlns="http://www.w3.org/1999/xhtml">
294+ <p>
295+ This schema file defines all entities related to <a
296+ href="#type_BackupSchedule" title="See definition of
297+ BackupSchedule">Backup Schedules</a>.
298+ </p>
299+ </xsd:documentation>
300+ </annotation>
301+
302+ <element name="backupSchedule" type="csapi:BackupSchedule">
303+ <annotation>
304+ <xsd:documentation
305+ xml:lang="EN"
306+ xmlns="http://www.w3.org/1999/xhtml">
307+ <p>
308+ This element is used to create periodic daily and weekly
309+ images automatically.
310+ </p>
311+ </xsd:documentation>
312+ <xsd:appinfo>
313+ <xsdxt:samples>
314+ <xsdxt:sample>
315+ <xsdxt:code type="application/xml" href="../samples/backup.xml" />
316+ </xsdxt:sample>
317+ <xsdxt:sample>
318+ <xsdxt:code type="application/json" href="../samples/backup.json" />
319+ </xsdxt:sample>
320+ </xsdxt:samples>
321+ </xsd:appinfo>
322+ </annotation>
323+ </element>
324+
325+ <!-- Complex Types -->
326+ <complexType name="BackupSchedule">
327+ <attribute type="xsd:boolean" name="enabled" use="required">
328+ <annotation>
329+ <xsd:documentation
330+ xml:lang="EN"
331+ xmlns="http://www.w3.org/1999/xhtml">
332+ <p>
333+ If true, both daily and weekly backup schedules are
334+ disabled.
335+ </p>
336+ </xsd:documentation>
337+ </annotation>
338+ </attribute>
339+ <attribute type="csapi:WeeklyBackup" name="weekly" use="required">
340+ <annotation>
341+ <xsd:documentation
342+ xml:lang="EN"
343+ xmlns="http://www.w3.org/1999/xhtml">
344+ <p>
345+ A <a href="#type_WeeklyBackup" title="See definition of
346+ WeeklyBackup">WeeklyBackup</a> type that describes the day
347+ of the week in which to perform a weekly backup or
348+ DISABLED if weekly backups are disabled.
349+ </p>
350+ </xsd:documentation>
351+ </annotation>
352+ </attribute>
353+ <attribute type="csapi:DailyBackup" name="daily" use="required">
354+ <annotation>
355+ <xsd:documentation
356+ xml:lang="EN"
357+ xmlns="http://www.w3.org/1999/xhtml">
358+ <p>
359+ A <a href="#type_DailyBackup" title="See definition of
360+ DailyBackup">DailyBackup</a> type that describes an hour
361+ range in which to perform a daily backup or DISABLED if
362+ daily backups are disabled.
363+ </p>
364+ </xsd:documentation>
365+ </annotation>
366+ </attribute>
367+ </complexType>
368+
369+ <!-- Simple Types -->
370+ <simpleType name="DailyBackup">
371+ <annotation>
372+ <xsd:documentation
373+ xml:lang="EN"
374+ xmlns="http://www.w3.org/1999/xhtml">
375+ <p>
376+ A target GMT hour range in which to perform a daily backup
377+ or DISABLED if daily backups are disabled.
378+ </p>
379+ </xsd:documentation>
380+ </annotation>
381+ <restriction base="xsd:string">
382+ <enumeration value="DISABLED">
383+ <annotation>
384+ <xsd:documentation
385+ xml:lang="EN"
386+ xmlns="http://www.w3.org/1999/xhtml">
387+ <p>
388+ Daily backups are disabled.
389+ </p>
390+ </xsd:documentation>
391+ </annotation>
392+ </enumeration>
393+ <enumeration value="H_0000_0200">
394+ <annotation>
395+ <xsd:documentation
396+ xml:lang="EN"
397+ xmlns="http://www.w3.org/1999/xhtml">
398+ <p>
399+ Daily backup target of 00:00&#x2013;02:00 GMT.
400+ </p>
401+ </xsd:documentation>
402+ </annotation>
403+ </enumeration>
404+ <enumeration value="H_0200_0400">
405+ <annotation>
406+ <xsd:documentation
407+ xml:lang="EN"
408+ xmlns="http://www.w3.org/1999/xhtml">
409+ <p>
410+ Daily backup target of 02:00&#x2013;04:00 GMT.
411+ </p>
412+ </xsd:documentation>
413+ </annotation>
414+ </enumeration>
415+ <enumeration value="H_0400_0600">
416+ <annotation>
417+ <xsd:documentation
418+ xml:lang="EN"
419+ xmlns="http://www.w3.org/1999/xhtml">
420+ <p>
421+ Daily backup target of 04:00&#x2013;06:00 GMT.
422+ </p>
423+ </xsd:documentation>
424+ </annotation>
425+ </enumeration>
426+ <enumeration value="H_0600_0800">
427+ <annotation>
428+ <xsd:documentation
429+ xml:lang="EN"
430+ xmlns="http://www.w3.org/1999/xhtml">
431+ <p>
432+ Daily backup target of 06:00&#x2013;08:00 GMT.
433+ </p>
434+ </xsd:documentation>
435+ </annotation>
436+ </enumeration>
437+ <enumeration value="H_0800_1000">
438+ <annotation>
439+ <xsd:documentation
440+ xml:lang="EN"
441+ xmlns="http://www.w3.org/1999/xhtml">
442+ <p>
443+ Daily backup target of 08:00&#x2013;10:00 GMT.
444+ </p>
445+ </xsd:documentation>
446+ </annotation>
447+ </enumeration>
448+ <enumeration value="H_1000_1200">
449+ <annotation>
450+ <xsd:documentation
451+ xml:lang="EN"
452+ xmlns="http://www.w3.org/1999/xhtml">
453+ <p>
454+ Daily backup target of 10:00&#x2013;12:00 GMT.
455+ </p>
456+ </xsd:documentation>
457+ </annotation>
458+ </enumeration>
459+ <enumeration value="H_1200_1400">
460+ <annotation>
461+ <xsd:documentation
462+ xml:lang="EN"
463+ xmlns="http://www.w3.org/1999/xhtml">
464+ <p>
465+ Daily backup target of 12:00&#x2013;14:00 GMT.
466+ </p>
467+ </xsd:documentation>
468+ </annotation>
469+ </enumeration>
470+ <enumeration value="H_1400_1600">
471+ <annotation>
472+ <xsd:documentation
473+ xml:lang="EN"
474+ xmlns="http://www.w3.org/1999/xhtml">
475+ <p>
476+ Daily backup target of 14:00&#x2013;16:00 GMT.
477+ </p>
478+ </xsd:documentation>
479+ </annotation>
480+ </enumeration>
481+ <enumeration value="H_1600_1800">
482+ <annotation>
483+ <xsd:documentation
484+ xml:lang="EN"
485+ xmlns="http://www.w3.org/1999/xhtml">
486+ <p>
487+ Daily backup target of 16:00&#x2013;18:00 GMT.
488+ </p>
489+ </xsd:documentation>
490+ </annotation>
491+ </enumeration>
492+ <enumeration value="H_1800_2000">
493+ <annotation>
494+ <xsd:documentation
495+ xml:lang="EN"
496+ xmlns="http://www.w3.org/1999/xhtml">
497+ <p>
498+ Daily backup target of 18:00&#x2013;20:00 GMT.
499+ </p>
500+ </xsd:documentation>
501+ </annotation>
502+ </enumeration>
503+ <enumeration value="H_2000_2200">
504+ <annotation>
505+ <xsd:documentation
506+ xml:lang="EN"
507+ xmlns="http://www.w3.org/1999/xhtml">
508+ <p>
509+ Daily backup target of 20:00&#x2013;22:00 GMT.
510+ </p>
511+ </xsd:documentation>
512+ </annotation>
513+ </enumeration>
514+ <enumeration value="H_2200_0000">
515+ <annotation>
516+ <xsd:documentation
517+ xml:lang="EN"
518+ xmlns="http://www.w3.org/1999/xhtml">
519+ <p>
520+ Daily backup target of 22:00&#x2013;00:00 GMT.
521+ </p>
522+ </xsd:documentation>
523+ </annotation>
524+ </enumeration>
525+ </restriction>
526+ </simpleType>
527+
528+ <simpleType name="WeeklyBackup">
529+ <annotation>
530+ <xsd:documentation
531+ xml:lang="EN"
532+ xmlns="http://www.w3.org/1999/xhtml">
533+ <p>
534+ A target day of the week in which to perform a weekly backup
535+ or DISABLED if daily backups are disabled.
536+ </p>
537+ </xsd:documentation>
538+ </annotation>
539+ <restriction base="xsd:string">
540+ <enumeration value="DISABLED">
541+ <annotation>
542+ <xsd:documentation
543+ xml:lang="EN"
544+ xmlns="http://www.w3.org/1999/xhtml">
545+ <p>
546+ Weekly backups are disabled.
547+ </p>
548+ </xsd:documentation>
549+ </annotation>
550+ </enumeration>
551+ <enumeration value="SUNDAY">
552+ <annotation>
553+ <xsd:documentation
554+ xml:lang="EN"
555+ xmlns="http://www.w3.org/1999/xhtml">
556+ <p>
557+ A weekly backup target of Sunday.
558+ </p>
559+ </xsd:documentation>
560+ </annotation>
561+ </enumeration>
562+ <enumeration value="MONDAY">
563+ <annotation>
564+ <xsd:documentation
565+ xml:lang="EN"
566+ xmlns="http://www.w3.org/1999/xhtml">
567+ <p>
568+ A weekly backup target of Monday.
569+ </p>
570+ </xsd:documentation>
571+ </annotation>
572+ </enumeration>
573+ <enumeration value="TUESDAY">
574+ <annotation>
575+ <xsd:documentation
576+ xml:lang="EN"
577+ xmlns="http://www.w3.org/1999/xhtml">
578+ <p>
579+ A weekly backup target of Tuesday.
580+ </p>
581+ </xsd:documentation>
582+ </annotation>
583+ </enumeration>
584+ <enumeration value="WEDNESDAY">
585+ <annotation>
586+ <xsd:documentation
587+ xml:lang="EN"
588+ xmlns="http://www.w3.org/1999/xhtml">
589+ <p>
590+ A weekly backup target of Wednesday.
591+ </p>
592+ </xsd:documentation>
593+ </annotation>
594+ </enumeration>
595+ <enumeration value="THURSDAY">
596+ <annotation>
597+ <xsd:documentation
598+ xml:lang="EN"
599+ xmlns="http://www.w3.org/1999/xhtml">
600+ <p>
601+ A weekly backup target of Thursday.
602+ </p>
603+ </xsd:documentation>
604+ </annotation>
605+ </enumeration>
606+ <enumeration value="FRIDAY">
607+ <annotation>
608+ <xsd:documentation
609+ xml:lang="EN"
610+ xmlns="http://www.w3.org/1999/xhtml">
611+ <p>
612+ A weekly backup target of Friday.
613+ </p>
614+ </xsd:documentation>
615+ </annotation>
616+ </enumeration>
617+ <enumeration value="SATURDAY">
618+ <annotation>
619+ <xsd:documentation
620+ xml:lang="EN"
621+ xmlns="http://www.w3.org/1999/xhtml">
622+ <p>
623+ A weekly backup target of Saturday.
624+ </p>
625+ </xsd:documentation>
626+ </annotation>
627+ </enumeration>
628+ <enumeration value="SUNDAY">
629+ <annotation>
630+ <xsd:documentation
631+ xml:lang="EN"
632+ xmlns="http://www.w3.org/1999/xhtml">
633+ <p>
634+ A weekly backup target of Sunday.
635+ </p>
636+ </xsd:documentation>
637+ </annotation>
638+ </enumeration>
639+ </restriction>
640+ </simpleType>
641+</schema>
642+
643
644=== added file 'nova/api/openstack/schemas/v1.0/xsd/common.xsd'
645--- nova/api/openstack/schemas/v1.0/xsd/common.xsd 1970-01-01 00:00:00 +0000
646+++ nova/api/openstack/schemas/v1.0/xsd/common.xsd 2011-03-29 17:39:12 +0000
647@@ -0,0 +1,51 @@
648+<?xml version="1.0" encoding="UTF-8"?>
649+<?xml-stylesheet type="text/xsl" href="../xslt/schema.xslt"?>
650+
651+<!-- (C) 2009 Rackspace Hosting, All Rights Reserved -->
652+
653+<schema
654+ elementFormDefault="qualified"
655+ attributeFormDefault="unqualified"
656+ xmlns="http://www.w3.org/2001/XMLSchema"
657+ xmlns:csapi="http://docs.rackspacecloud.com/servers/api/v1.0"
658+ xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
659+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
660+ targetNamespace="http://docs.rackspacecloud.com/servers/api/v1.0"
661+>
662+
663+ <annotation>
664+ <xsd:appinfo
665+ xml:lang="EN"
666+ xmlns="http://www.w3.org/1999/xhtml">
667+ <xsdxt:title>Common Types</xsdxt:title>
668+ <xsdxt:link rel="index" href="api.xsd" />
669+ </xsd:appinfo>
670+ <xsd:documentation
671+ xml:lang="EN"
672+ xmlns="http://www.w3.org/1999/xhtml">
673+ <p>
674+ This schema file defines common types used by multiple
675+ entities and possibly spanning several types of requests.
676+ </p>
677+ </xsd:documentation>
678+ </annotation>
679+
680+ <!-- Simple types that span multiple requests -->
681+ <simpleType name="Progress">
682+ <annotation>
683+ <xsd:documentation
684+ xml:lang="EN"
685+ xmlns="http://www.w3.org/1999/xhtml">
686+ <p>
687+ An integer between 0 and 100 that denotes the progress of an
688+ operation.
689+ </p>
690+ </xsd:documentation>
691+ </annotation>
692+ <restriction base="xsd:int">
693+ <minInclusive value="0"/>
694+ <maxInclusive value="100" />
695+ </restriction>
696+ </simpleType>
697+</schema>
698+
699
700=== added file 'nova/api/openstack/schemas/v1.0/xsd/faults.xsd'
701--- nova/api/openstack/schemas/v1.0/xsd/faults.xsd 1970-01-01 00:00:00 +0000
702+++ nova/api/openstack/schemas/v1.0/xsd/faults.xsd 2011-03-29 17:39:12 +0000
703@@ -0,0 +1,480 @@
704+<?xml version="1.0" encoding="UTF-8"?>
705+<?xml-stylesheet type="text/xsl" href="../xslt/schema.xslt"?>
706+
707+<!-- (C) 2009 Rackspace Hosting, All Rights Reserved -->
708+
709+
710+<schema
711+ elementFormDefault="qualified"
712+ attributeFormDefault="unqualified"
713+ xmlns="http://www.w3.org/2001/XMLSchema"
714+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
715+ xmlns:csapi="http://docs.rackspacecloud.com/servers/api/v1.0"
716+ xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
717+ targetNamespace="http://docs.rackspacecloud.com/servers/api/v1.0">
718+
719+ <annotation>
720+ <xsd:appinfo
721+ xml:lang="EN"
722+ xmlns="http://www.w3.org/1999/xhtml">
723+ <xsdxt:title>Faults</xsdxt:title>
724+ <xsdxt:link rel="index" href="api.xsd" />
725+ </xsd:appinfo>
726+ <xsd:documentation
727+ xml:lang="EN"
728+ xmlns="http://www.w3.org/1999/xhtml">
729+ <p>
730+ This schema file defines faults that may be raised by the
731+ Cloud Servers API. These faults are derived from the <a
732+ href="#type_CloudServersAPIFault" title="See definition of
733+ CloudServersAPIFault">CloudServersAPIFault</a>. Most faults
734+ extend this type without adding any additional attributes or
735+ elements. The only exception is the <a
736+ href="#type_OverLimitAPIFault" title="See definition of
737+ OverLimitAPIFault">OverLimitAPIFault</a> which adds a
738+ <strong>retryAfter</strong> attribute. Because all faults
739+ extend a standard base type, it should be possible to capture
740+ all API faults with a single <code>catch</code> statement.
741+ </p>
742+ <p>
743+ Faults are associated with a default HTTP status code that
744+ corresponds to the particular fault type. For example an <a
745+ href="#element_itemNotFound" title="see definition of
746+ itemNotFound">&lt;itemNotFound&gt;</a> element is associated
747+ with the HTTP status code 404. Some elements, the <a
748+ href="#element_cloudServersFault" title="see definition of
749+ cloudServersFault">&lt;cloudServersFault&gt;</a> element for
750+ example, may be associated with multiple status codes. It is
751+ also possible for multiple fault elements to be associated
752+ with the same default code. The examples below showcase the
753+ default status codes for each element type. Note that these
754+ default codes are not part of the formal schema. In practice,
755+ however, an element type will likely be associated with its
756+ corresponding default status code.
757+ </p>
758+ </xsd:documentation>
759+ </annotation>
760+
761+ <!-- Faults -->
762+ <element name="cloudServersFault" type="csapi:CloudServersAPIFault">
763+ <annotation>
764+ <xsd:documentation
765+ xml:lang="EN"
766+ xmlns="http://www.w3.org/1999/xhtml">
767+ <p>
768+ A generic Cloud Servers API fault.
769+ </p>
770+ </xsd:documentation>
771+ <xsd:appinfo>
772+ <xsdxt:samples>
773+ <xsdxt:sample>
774+ <xsdxt:code type="application/xml" href="../samples/fault.xml" />
775+ </xsdxt:sample>
776+ <xsdxt:sample>
777+ <xsdxt:code type="application/json" href="../samples/fault.json" />
778+ </xsdxt:sample>
779+ </xsdxt:samples>
780+ </xsd:appinfo>
781+ </annotation>
782+ </element>
783+ <element name="itemNotFound" type="csapi:ItemNotFoundAPIFault">
784+ <annotation>
785+ <xsd:documentation
786+ xml:lang="EN"
787+ xmlns="http://www.w3.org/1999/xhtml">
788+ <p>
789+ The item or resource could not be found.
790+ </p>
791+ </xsd:documentation>
792+ <xsd:appinfo>
793+ <xsdxt:samples>
794+ <xsdxt:sample>
795+ <xsdxt:code type="application/xml" href="../samples/notfound.xml" />
796+ </xsdxt:sample>
797+ <xsdxt:sample>
798+ <xsdxt:code type="application/json" href="../samples/notfound.json" />
799+ </xsdxt:sample>
800+ </xsdxt:samples>
801+ </xsd:appinfo>
802+ </annotation>
803+ </element>
804+ <element name="buildInProgress" type="csapi:BuildInProgressAPIFault">
805+ <annotation>
806+ <xsd:documentation
807+ xml:lang="EN"
808+ xmlns="http://www.w3.org/1999/xhtml">
809+ <p>
810+ The operation is not allowed because the corresponding
811+ server is in a build state.
812+ </p>
813+ </xsd:documentation>
814+ <xsd:appinfo>
815+ <xsdxt:samples>
816+ <xsdxt:sample>
817+ <xsdxt:code type="application/xml" href="../samples/build.xml" />
818+ </xsdxt:sample>
819+ <xsdxt:sample>
820+ <xsdxt:code type="application/json" href="../samples/build.json" />
821+ </xsdxt:sample>
822+ </xsdxt:samples>
823+ </xsd:appinfo>
824+ </annotation>
825+ </element>
826+ <element name="serverCapacityUnavailable" type="csapi:ServerCapacityUnavailableAPIFault">
827+ <annotation>
828+ <xsd:documentation
829+ xml:lang="EN"
830+ xmlns="http://www.w3.org/1999/xhtml">
831+ <p>
832+ There is not enough capacity to honor the request.
833+ </p>
834+ </xsd:documentation>
835+ <xsd:appinfo>
836+ <xsdxt:samples>
837+ <xsdxt:sample>
838+ <xsdxt:code type="application/xml" href="../samples/serverCap.xml" />
839+ </xsdxt:sample>
840+ <xsdxt:sample>
841+ <xsdxt:code type="application/json" href="../samples/serverCap.json" />
842+ </xsdxt:sample>
843+ </xsdxt:samples>
844+ </xsd:appinfo>
845+ </annotation>
846+ </element>
847+ <element name="backupOrResizeInProgress" type="csapi:BackupOrResizeInProgressAPIFault">
848+ <annotation>
849+ <xsd:documentation
850+ xml:lang="EN"
851+ xmlns="http://www.w3.org/1999/xhtml">
852+ <p>
853+ The operation is not allowed because the corresponding
854+ server is being re-sized or backed up.
855+ </p>
856+ </xsd:documentation>
857+ <xsd:appinfo>
858+ <xsdxt:samples>
859+ <xsdxt:sample>
860+ <xsdxt:code type="application/xml" href="../samples/backupInProgress.xml" />
861+ </xsdxt:sample>
862+ <xsdxt:sample>
863+ <xsdxt:code type="application/json" href="../samples/backupInProgress.json" />
864+ </xsdxt:sample>
865+ </xsdxt:samples>
866+ </xsd:appinfo>
867+ </annotation>
868+ </element>
869+ <element name="resizeNotAllowed" type="csapi:ResizeNotAllowedAPIFault">
870+ <annotation>
871+ <xsd:documentation
872+ xml:lang="EN"
873+ xmlns="http://www.w3.org/1999/xhtml">
874+ <p>
875+ The re-size operation is not permitted.
876+ </p>
877+ </xsd:documentation>
878+ <xsd:appinfo>
879+ <xsdxt:samples>
880+ <xsdxt:sample>
881+ <xsdxt:code type="application/xml" href="../samples/resizeNotAllowed.xml" />
882+ </xsdxt:sample>
883+ <xsdxt:sample>
884+ <xsdxt:code type="application/json" href="../samples/resizeNotAllowed.json" />
885+ </xsdxt:sample>
886+ </xsdxt:samples>
887+ </xsd:appinfo>
888+ </annotation>
889+ </element>
890+ <element name="serviceUnavailable" type="csapi:ServiceUnavailableAPIFault">
891+ <annotation>
892+ <xsd:documentation
893+ xml:lang="EN"
894+ xmlns="http://www.w3.org/1999/xhtml">
895+ <p>
896+ The API service is currently unavailable.
897+ </p>
898+ </xsd:documentation>
899+ <xsd:appinfo>
900+ <xsdxt:samples>
901+ <xsdxt:sample>
902+ <xsdxt:code type="application/xml" href="../samples/serviceNotAvailable.xml" />
903+ </xsdxt:sample>
904+ <xsdxt:sample>
905+ <xsdxt:code type="application/json" href="../samples/serviceNotAvailable.json" />
906+ </xsdxt:sample>
907+ </xsdxt:samples>
908+ </xsd:appinfo>
909+ </annotation>
910+ </element>
911+ <element name="unauthorized" type="csapi:UnauthorizedAPIFault">
912+ <annotation>
913+ <xsd:documentation
914+ xml:lang="EN"
915+ xmlns="http://www.w3.org/1999/xhtml">
916+ <p>
917+ Insufficient privileges to honor the request, perhaps an
918+ authentication token needs to be obtained or renewed.
919+ </p>
920+ </xsd:documentation>
921+ <xsd:appinfo>
922+ <xsdxt:samples>
923+ <xsdxt:sample>
924+ <xsdxt:code type="application/xml" href="../samples/unauth.xml" />
925+ </xsdxt:sample>
926+ <xsdxt:sample>
927+ <xsdxt:code type="application/json" href="../samples/unauth.json" />
928+ </xsdxt:sample>
929+ </xsdxt:samples>
930+ </xsd:appinfo>
931+ </annotation>
932+ </element>
933+ <element name="overLimit" type="csapi:OverLimitAPIFault">
934+ <annotation>
935+ <xsd:documentation
936+ xml:lang="EN"
937+ xmlns="http://www.w3.org/1999/xhtml">
938+ <p>
939+ An <a href="limits.xsd#type_AbsoluteLimit" title="See
940+ definition of AbsoluteLimit">absolute</a> or <a
941+ href="limits.xsd#type_RateLimit" title="See definition of
942+ RateLimit">rate</a> limit has been exceeded.
943+ </p>
944+ </xsd:documentation>
945+ <xsd:appinfo>
946+ <xsdxt:samples>
947+ <xsdxt:sample>
948+ <xsdxt:code type="application/xml" href="../samples/overlimit.xml" />
949+ </xsdxt:sample>
950+ <xsdxt:sample>
951+ <xsdxt:code type="application/json" href="../samples/overlimit.json" />
952+ </xsdxt:sample>
953+ </xsdxt:samples>
954+ </xsd:appinfo>
955+ </annotation>
956+ </element>
957+ <element name="badRequest" type="csapi:BadRequestAPIFault">
958+ <annotation>
959+ <xsd:documentation
960+ xml:lang="EN"
961+ xmlns="http://www.w3.org/1999/xhtml">
962+ <p>
963+ The request is malformed.
964+ </p>
965+ </xsd:documentation>
966+ <xsd:appinfo>
967+ <xsdxt:samples>
968+ <xsdxt:sample>
969+ <xsdxt:code type="application/xml" href="../samples/badrequest.xml" />
970+ </xsdxt:sample>
971+ <xsdxt:sample>
972+ <xsdxt:code type="application/json" href="../samples/badrequest.json" />
973+ </xsdxt:sample>
974+ </xsdxt:samples>
975+ </xsd:appinfo>
976+ </annotation>
977+ </element>
978+ <element name="badMediaType" type="csapi:BadMediaTypeAPIFault">
979+ <annotation>
980+ <xsd:documentation
981+ xml:lang="EN"
982+ xmlns="http://www.w3.org/1999/xhtml">
983+ <p>
984+ The Content Type of the request is not supported.
985+ </p>
986+ </xsd:documentation>
987+ <xsd:appinfo>
988+ <xsdxt:samples>
989+ <xsdxt:sample>
990+ <xsdxt:code type="application/xml" href="../samples/badmediatype.xml" />
991+ </xsdxt:sample>
992+ <xsdxt:sample>
993+ <xsdxt:code type="application/json" href="../samples/badmediatype.json" />
994+ </xsdxt:sample>
995+ </xsdxt:samples>
996+ </xsd:appinfo>
997+ </annotation>
998+ </element>
999+ <element name="badMethod" type="csapi:BadMethodAPIFault">
1000+ <annotation>
1001+ <xsd:documentation
1002+ xml:lang="EN"
1003+ xmlns="http://www.w3.org/1999/xhtml">
1004+ <p>
1005+ The HTTP method (or <a href="limits.xsd#type_HTTPVerb"
1006+ title="See definition of HTTPVerb">verb</a>) is not
1007+ supported by the corresponding resource.
1008+ </p>
1009+ </xsd:documentation>
1010+ <xsd:appinfo>
1011+ <xsdxt:samples>
1012+ <xsdxt:sample>
1013+ <xsdxt:code type="application/xml" href="../samples/badmethod.xml" />
1014+ </xsdxt:sample>
1015+ <xsdxt:sample>
1016+ <xsdxt:code type="application/json" href="../samples/badmethod.json" />
1017+ </xsdxt:sample>
1018+ </xsdxt:samples>
1019+ </xsd:appinfo>
1020+ </annotation>
1021+ </element>
1022+ <element name="notImplemented" type="csapi:NotImplementedAPIFault">
1023+ <annotation>
1024+ <xsd:documentation
1025+ xml:lang="EN"
1026+ xmlns="http://www.w3.org/1999/xhtml">
1027+ <p>
1028+ The operation is currently not implemented.
1029+ </p>
1030+ </xsd:documentation>
1031+ <xsd:appinfo>
1032+ <xsdxt:samples>
1033+ <xsdxt:sample>
1034+ <xsdxt:code type="application/xml" href="../samples/notimplemented.xml" />
1035+ </xsdxt:sample>
1036+ <xsdxt:sample>
1037+ <xsdxt:code type="application/json" href="../samples/notimplemented.json" />
1038+ </xsdxt:sample>
1039+ </xsdxt:samples>
1040+ </xsd:appinfo>
1041+ </annotation>
1042+ </element>
1043+
1044+ <!-- Complex Types -->
1045+ <complexType name="CloudServersAPIFault">
1046+ <sequence>
1047+ <element name="message" type="xsd:string">
1048+ <annotation>
1049+ <xsd:documentation
1050+ xml:lang="EN"
1051+ xmlns="http://www.w3.org/1999/xhtml">
1052+ <p>
1053+ A human readable message that is appropriate for display
1054+ to the end user.
1055+ </p>
1056+ </xsd:documentation>
1057+ </annotation>
1058+ </element>
1059+ <element name="details" type="xsd:string" minOccurs="0">
1060+ <annotation>
1061+ <xsd:documentation
1062+ xml:lang="EN"
1063+ xmlns="http://www.w3.org/1999/xhtml">
1064+ <p>
1065+ The optional &lt;details&gt; element may contain useful
1066+ information for tracking down errors (e.g a stack
1067+ trace). This information may or may not be appropriate
1068+ for display to an end user.
1069+ </p>
1070+ </xsd:documentation>
1071+ </annotation>
1072+ </element>
1073+ </sequence>
1074+ <attribute name="code" type="xsd:int" use="required">
1075+ <annotation>
1076+ <xsd:documentation
1077+ xml:lang="EN"
1078+ xmlns="http://www.w3.org/1999/xhtml">
1079+ <p>
1080+ The HTTP status code associated with the current fault.
1081+ </p>
1082+ </xsd:documentation>
1083+ </annotation>
1084+ </attribute>
1085+ </complexType>
1086+
1087+ <complexType name="ItemNotFoundAPIFault">
1088+ <complexContent>
1089+ <extension base="csapi:CloudServersAPIFault">
1090+ </extension>
1091+ </complexContent>
1092+ </complexType>
1093+
1094+ <complexType name="BuildInProgressAPIFault">
1095+ <complexContent>
1096+ <extension base="csapi:CloudServersAPIFault">
1097+ </extension>
1098+ </complexContent>
1099+ </complexType>
1100+
1101+ <complexType name="ServerCapacityUnavailableAPIFault">
1102+ <complexContent>
1103+ <extension base="csapi:CloudServersAPIFault">
1104+ </extension>
1105+ </complexContent>
1106+ </complexType>
1107+
1108+ <complexType name="BackupOrResizeInProgressAPIFault">
1109+ <complexContent>
1110+ <extension base="csapi:CloudServersAPIFault">
1111+ </extension>
1112+ </complexContent>
1113+ </complexType>
1114+
1115+ <complexType name="ResizeNotAllowedAPIFault">
1116+ <complexContent>
1117+ <extension base="csapi:CloudServersAPIFault">
1118+ </extension>
1119+ </complexContent>
1120+ </complexType>
1121+
1122+ <complexType name="ServiceUnavailableAPIFault">
1123+ <complexContent>
1124+ <extension base="csapi:CloudServersAPIFault">
1125+ </extension>
1126+ </complexContent>
1127+ </complexType>
1128+
1129+ <complexType name="UnauthorizedAPIFault">
1130+ <complexContent>
1131+ <extension base="csapi:CloudServersAPIFault">
1132+ </extension>
1133+ </complexContent>
1134+ </complexType>
1135+
1136+ <complexType name="OverLimitAPIFault">
1137+ <complexContent>
1138+ <extension base="csapi:CloudServersAPIFault">
1139+ <attribute name="retryAfter" type="xsd:dateTime" use="optional">
1140+ <annotation>
1141+ <xsd:documentation
1142+ xml:lang="EN"
1143+ xmlns="http://www.w3.org/1999/xhtml">
1144+ <p>
1145+ An optional dateTime denoting when an operation should
1146+ be retried.
1147+ </p>
1148+ </xsd:documentation>
1149+ </annotation>
1150+ </attribute>
1151+ </extension>
1152+ </complexContent>
1153+ </complexType>
1154+
1155+ <complexType name="BadRequestAPIFault">
1156+ <complexContent>
1157+ <extension base="csapi:CloudServersAPIFault">
1158+ </extension>
1159+ </complexContent>
1160+ </complexType>
1161+
1162+ <complexType name="BadMediaTypeAPIFault">
1163+ <complexContent>
1164+ <extension base="csapi:CloudServersAPIFault">
1165+ </extension>
1166+ </complexContent>
1167+ </complexType>
1168+
1169+ <complexType name="BadMethodAPIFault">
1170+ <complexContent>
1171+ <extension base="csapi:CloudServersAPIFault">
1172+ </extension>
1173+ </complexContent>
1174+ </complexType>
1175+
1176+ <complexType name="NotImplementedAPIFault">
1177+ <complexContent>
1178+ <extension base="csapi:CloudServersAPIFault">
1179+ </extension>
1180+ </complexContent>
1181+ </complexType>
1182+
1183+</schema>
1184
1185=== added file 'nova/api/openstack/schemas/v1.0/xsd/flavor.xsd'
1186--- nova/api/openstack/schemas/v1.0/xsd/flavor.xsd 1970-01-01 00:00:00 +0000
1187+++ nova/api/openstack/schemas/v1.0/xsd/flavor.xsd 2011-03-29 17:39:12 +0000
1188@@ -0,0 +1,144 @@
1189+<?xml version="1.0" encoding="UTF-8"?>
1190+<?xml-stylesheet type="text/xsl" href="../xslt/schema.xslt"?>
1191+
1192+<!-- (C) 2009 Rackspace Hosting, All Rights Reserved -->
1193+
1194+
1195+<schema
1196+ elementFormDefault="qualified"
1197+ attributeFormDefault="unqualified"
1198+ xmlns="http://www.w3.org/2001/XMLSchema"
1199+ xmlns:csapi="http://docs.rackspacecloud.com/servers/api/v1.0"
1200+ xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
1201+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
1202+ targetNamespace="http://docs.rackspacecloud.com/servers/api/v1.0"
1203+>
1204+ <annotation>
1205+ <xsd:appinfo
1206+ xml:lang="EN"
1207+ xmlns="http://www.w3.org/1999/xhtml">
1208+ <xsdxt:title>Flavors</xsdxt:title>
1209+ <xsdxt:link rel="index" href="api.xsd" />
1210+ </xsd:appinfo>
1211+ <xsd:documentation
1212+ xml:lang="EN"
1213+ xmlns="http://www.w3.org/1999/xhtml">
1214+ <p>
1215+ This schema file defines all entities related to <a
1216+ href="#type_Flavor" title="See definition of
1217+ Flavor">Flavors</a>.
1218+ </p>
1219+ </xsd:documentation>
1220+ </annotation>
1221+
1222+ <element name="flavor" type="csapi:Flavor">
1223+ <annotation>
1224+ <xsd:documentation
1225+ xml:lang="EN"
1226+ xmlns="http://www.w3.org/1999/xhtml">
1227+ <p>
1228+ The element defines an available hardware configuration for
1229+ a server.
1230+ </p>
1231+ </xsd:documentation>
1232+ <xsd:appinfo>
1233+ <xsdxt:samples>
1234+ <xsdxt:sample>
1235+ <xsdxt:code type="application/xml" href="../samples/flavor.xml" />
1236+ </xsdxt:sample>
1237+ <xsdxt:sample>
1238+ <xsdxt:code type="application/json" href="../samples/flavor.json" />
1239+ </xsdxt:sample>
1240+ </xsdxt:samples>
1241+ </xsd:appinfo>
1242+ </annotation>
1243+ </element>
1244+
1245+ <element name="flavors" type="csapi:Flavors">
1246+ <annotation>
1247+ <xsd:documentation
1248+ xml:lang="EN"
1249+ xmlns="http://www.w3.org/1999/xhtml">
1250+ <p>
1251+ A collection of flavors.
1252+ </p>
1253+ </xsd:documentation>
1254+ <xsd:appinfo>
1255+ <xsdxt:samples>
1256+ <xsdxt:sample>
1257+ <xsdxt:code type="application/xml" href="../samples/flavors.xml" />
1258+ </xsdxt:sample>
1259+ <xsdxt:sample>
1260+ <xsdxt:code type="application/json" href="../samples/flavors.json" />
1261+ </xsdxt:sample>
1262+ </xsdxt:samples>
1263+ </xsd:appinfo>
1264+ </annotation>
1265+ </element>
1266+
1267+ <!-- Complex Types -->
1268+ <complexType name="Flavor">
1269+ <attribute type="xsd:int" name="id" use="required">
1270+ <annotation>
1271+ <xsd:documentation
1272+ xml:lang="EN"
1273+ xmlns="http://www.w3.org/1999/xhtml">
1274+ <p>
1275+ The ID of the flavor.
1276+ </p>
1277+ </xsd:documentation>
1278+ </annotation>
1279+ </attribute>
1280+ <attribute type="xsd:string" name="name" use="required">
1281+ <annotation>
1282+ <xsd:documentation
1283+ xml:lang="EN"
1284+ xmlns="http://www.w3.org/1999/xhtml">
1285+ <p>
1286+ The name of the flavor.
1287+ </p>
1288+ </xsd:documentation>
1289+ </annotation>
1290+ </attribute>
1291+ <attribute type="xsd:int" name="ram" use="optional">
1292+ <annotation>
1293+ <xsd:documentation
1294+ xml:lang="EN"
1295+ xmlns="http://www.w3.org/1999/xhtml">
1296+ <p>
1297+ The amount of RAM in the flavor in megabytes.
1298+ </p>
1299+ </xsd:documentation>
1300+ </annotation>
1301+ </attribute>
1302+ <attribute type="xsd:int" name="disk" use="optional">
1303+ <annotation>
1304+ <xsd:documentation
1305+ xml:lang="EN"
1306+ xmlns="http://www.w3.org/1999/xhtml">
1307+ <p>
1308+ The amount of disk space in the flavor in gigabytes.
1309+ </p>
1310+ </xsd:documentation>
1311+ </annotation>
1312+ </attribute>
1313+ </complexType>
1314+
1315+ <complexType name="Flavors">
1316+ <sequence>
1317+ <element name="flavor" type="csapi:Flavor" minOccurs="0" maxOccurs="1000">
1318+ <annotation>
1319+ <xsd:documentation
1320+ xml:lang="EN"
1321+ xmlns="http://www.w3.org/1999/xhtml">
1322+ <p>
1323+ A collection of flavors.
1324+ </p>
1325+ </xsd:documentation>
1326+ </annotation>
1327+ </element>
1328+ </sequence>
1329+ </complexType>
1330+
1331+</schema>
1332+
1333
1334=== added file 'nova/api/openstack/schemas/v1.0/xsd/image.xsd'
1335--- nova/api/openstack/schemas/v1.0/xsd/image.xsd 1970-01-01 00:00:00 +0000
1336+++ nova/api/openstack/schemas/v1.0/xsd/image.xsd 2011-03-29 17:39:12 +0000
1337@@ -0,0 +1,263 @@
1338+<?xml version="1.0" encoding="UTF-8"?>
1339+<?xml-stylesheet type="text/xsl" href="../xslt/schema.xslt"?>
1340+
1341+<!-- (C) 2009 Rackspace Hosting, All Rights Reserved -->
1342+
1343+<schema
1344+ elementFormDefault="qualified"
1345+ attributeFormDefault="unqualified"
1346+ xmlns="http://www.w3.org/2001/XMLSchema"
1347+ xmlns:csapi="http://docs.rackspacecloud.com/servers/api/v1.0"
1348+ xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
1349+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
1350+ targetNamespace="http://docs.rackspacecloud.com/servers/api/v1.0"
1351+>
1352+ <annotation>
1353+ <xsd:appinfo
1354+ xml:lang="EN"
1355+ xmlns="http://www.w3.org/1999/xhtml">
1356+ <xsdxt:title>Images</xsdxt:title>
1357+ <xsdxt:link rel="index" href="api.xsd" />
1358+ </xsd:appinfo>
1359+ <xsd:documentation
1360+ xml:lang="EN"
1361+ xmlns="http://www.w3.org/1999/xhtml">
1362+ <p>
1363+ This schema file defines all entity related to <a
1364+ href="#type_Image" title="See definition of Image">Images</a>.
1365+ </p>
1366+ </xsd:documentation>
1367+ </annotation>
1368+
1369+ <include schemaLocation="common.xsd">
1370+ <annotation>
1371+ <xsd:documentation
1372+ xml:lang="EN"
1373+ xmlns="http://www.w3.org/1999/xhtml">
1374+ <p>
1375+ Common types used by multiple entities and possibly spanning
1376+ several types of requests.
1377+ </p>
1378+ </xsd:documentation>
1379+ </annotation>
1380+ </include>
1381+
1382+ <element name="image" type="csapi:Image">
1383+ <annotation>
1384+ <xsd:documentation
1385+ xml:lang="EN"
1386+ xmlns="http://www.w3.org/1999/xhtml">
1387+ <p>
1388+ The element defines a collection of files used to create or
1389+ rebuild a server.
1390+ </p>
1391+ </xsd:documentation>
1392+ <xsd:appinfo>
1393+ <xsdxt:samples>
1394+ <xsdxt:sample>
1395+ <xsdxt:code type="application/xml" href="../samples/image.xml" />
1396+ </xsdxt:sample>
1397+ <xsdxt:sample>
1398+ <xsdxt:code type="application/json" href="../samples/image.json" />
1399+ </xsdxt:sample>
1400+ </xsdxt:samples>
1401+ </xsd:appinfo>
1402+ </annotation>
1403+ </element>
1404+ <element name="images" type="csapi:Images">
1405+ <annotation>
1406+ <xsd:documentation
1407+ xml:lang="EN"
1408+ xmlns="http://www.w3.org/1999/xhtml">
1409+ <p>
1410+ A collection of images.
1411+ </p>
1412+ </xsd:documentation>
1413+ <xsd:appinfo>
1414+ <xsdxt:samples>
1415+ <xsdxt:sample>
1416+ <xsdxt:code type="application/xml" href="../samples/images.xml" />
1417+ </xsdxt:sample>
1418+ <xsdxt:sample>
1419+ <xsdxt:code type="application/json" href="../samples/images.json" />
1420+ </xsdxt:sample>
1421+ </xsdxt:samples>
1422+ </xsd:appinfo>
1423+ </annotation>
1424+ </element>
1425+
1426+ <!-- Complex Types -->
1427+ <complexType name="Image">
1428+ <attribute type="xsd:int" name="id" use="optional">
1429+ <annotation>
1430+ <xsd:documentation
1431+ xml:lang="EN"
1432+ xmlns="http://www.w3.org/1999/xhtml">
1433+ <p>
1434+ The ID of the image.
1435+ </p>
1436+ </xsd:documentation>
1437+ </annotation>
1438+ </attribute>
1439+ <attribute type="xsd:string" name="name" use="required">
1440+ <annotation>
1441+ <xsd:documentation
1442+ xml:lang="EN"
1443+ xmlns="http://www.w3.org/1999/xhtml">
1444+ <p>
1445+ The name of the image.
1446+ </p>
1447+ </xsd:documentation>
1448+ </annotation>
1449+ </attribute>
1450+ <attribute type="xsd:int" name="serverId" use="optional">
1451+ <annotation>
1452+ <xsd:documentation
1453+ xml:lang="EN"
1454+ xmlns="http://www.w3.org/1999/xhtml">
1455+ <p>
1456+ An optional ID of the server associated with the image.
1457+ </p>
1458+ </xsd:documentation>
1459+ </annotation>
1460+ </attribute>
1461+ <attribute type="xsd:dateTime" name="updated" use="optional">
1462+ <annotation>
1463+ <xsd:documentation
1464+ xml:lang="EN"
1465+ xmlns="http://www.w3.org/1999/xhtml">
1466+ <p>
1467+ A time-stamp identifying the modification time of the
1468+ image.
1469+ </p>
1470+ </xsd:documentation>
1471+ </annotation>
1472+ </attribute>
1473+ <attribute type="xsd:dateTime" name="created" use="optional">
1474+ <annotation>
1475+ <xsd:documentation
1476+ xml:lang="EN"
1477+ xmlns="http://www.w3.org/1999/xhtml">
1478+ <p>
1479+ A creation time-stamp for the image.
1480+ </p>
1481+ </xsd:documentation>
1482+ </annotation>
1483+ </attribute>
1484+ <attribute type="csapi:Progress" name="progress" use="optional">
1485+ <annotation>
1486+ <xsd:documentation
1487+ xml:lang="EN"
1488+ xmlns="http://www.w3.org/1999/xhtml">
1489+ <p>
1490+ The progress of the current image operation.
1491+ </p>
1492+ </xsd:documentation>
1493+ </annotation>
1494+ </attribute>
1495+ <attribute type="csapi:ImageStatus" name="status" use="optional">
1496+ <annotation>
1497+ <xsd:documentation
1498+ xml:lang="EN"
1499+ xmlns="http://www.w3.org/1999/xhtml">
1500+ <p>
1501+ The current state (or <a href="#type_ImageStatus"
1502+ title="See definition of ImageStatus">status</a>) of the
1503+ image.
1504+ </p>
1505+ </xsd:documentation>
1506+ </annotation>
1507+ </attribute>
1508+ </complexType>
1509+
1510+ <complexType name="Images">
1511+ <sequence>
1512+ <element name="image" type="csapi:Image" minOccurs="0" maxOccurs="1000">
1513+ <annotation>
1514+ <xsd:documentation
1515+ xml:lang="EN"
1516+ xmlns="http://www.w3.org/1999/xhtml">
1517+ <p>
1518+ A collection of images.
1519+ </p>
1520+ </xsd:documentation>
1521+ </annotation>
1522+ </element>
1523+ </sequence>
1524+ </complexType>
1525+
1526+ <!-- Simple Types -->
1527+ <simpleType name="ImageStatus">
1528+ <restriction base="xsd:string">
1529+ <enumeration value="UNKNOWN">
1530+ <annotation>
1531+ <xsd:documentation
1532+ xml:lang="EN"
1533+ xmlns="http://www.w3.org/1999/xhtml">
1534+ <p>
1535+ The image is in an unknown state.
1536+ </p>
1537+ </xsd:documentation>
1538+ </annotation>
1539+ </enumeration>
1540+ <enumeration value="ACTIVE">
1541+ <annotation>
1542+ <xsd:documentation
1543+ xml:lang="EN"
1544+ xmlns="http://www.w3.org/1999/xhtml">
1545+ <p>
1546+ All operations have completed successfully, the image is
1547+ available for install.
1548+ </p>
1549+ </xsd:documentation>
1550+ </annotation>
1551+ </enumeration>
1552+ <enumeration value="SAVING">
1553+ <annotation>
1554+ <xsd:documentation
1555+ xml:lang="EN"
1556+ xmlns="http://www.w3.org/1999/xhtml">
1557+ <p>
1558+ The image is being created (or saved).
1559+ </p>
1560+ </xsd:documentation>
1561+ </annotation>
1562+ </enumeration>
1563+ <enumeration value="PREPARING">
1564+ <annotation>
1565+ <xsd:documentation
1566+ xml:lang="EN"
1567+ xmlns="http://www.w3.org/1999/xhtml">
1568+ <p>
1569+ The image is being prepared to perform an operation.
1570+ </p>
1571+ </xsd:documentation>
1572+ </annotation>
1573+ </enumeration>
1574+ <enumeration value="QUEUED">
1575+ <annotation>
1576+ <xsd:documentation
1577+ xml:lang="EN"
1578+ xmlns="http://www.w3.org/1999/xhtml">
1579+ <p>
1580+ A request to perform an operation on the specified image
1581+ has been received. The operation is pending.
1582+ </p>
1583+ </xsd:documentation>
1584+ </annotation>
1585+ </enumeration>
1586+ <enumeration value="FAILED">
1587+ <annotation>
1588+ <xsd:documentation
1589+ xml:lang="EN"
1590+ xmlns="http://www.w3.org/1999/xhtml">
1591+ <p>
1592+ The requested operation has failed.
1593+ </p>
1594+ </xsd:documentation>
1595+ </annotation>
1596+ </enumeration>
1597+ </restriction>
1598+ </simpleType>
1599+</schema>
1600+
1601
1602=== added file 'nova/api/openstack/schemas/v1.0/xsd/ipgroup.xsd'
1603--- nova/api/openstack/schemas/v1.0/xsd/ipgroup.xsd 1970-01-01 00:00:00 +0000
1604+++ nova/api/openstack/schemas/v1.0/xsd/ipgroup.xsd 2011-03-29 17:39:12 +0000
1605@@ -0,0 +1,215 @@
1606+<?xml version="1.0" encoding="UTF-8"?>
1607+<?xml-stylesheet type="text/xsl" href="../xslt/schema.xslt"?>
1608+
1609+<!-- (C) 2009 Rackspace Hosting, All Rights Reserved -->
1610+
1611+<schema
1612+ elementFormDefault="qualified"
1613+ attributeFormDefault="unqualified"
1614+ xmlns="http://www.w3.org/2001/XMLSchema"
1615+ xmlns:csapi="http://docs.rackspacecloud.com/servers/api/v1.0"
1616+ xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
1617+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
1618+ targetNamespace="http://docs.rackspacecloud.com/servers/api/v1.0"
1619+>
1620+ <annotation>
1621+ <xsd:appinfo
1622+ xml:lang="EN"
1623+ xmlns="http://www.w3.org/1999/xhtml">
1624+ <xsdxt:title>Shared IP Groups</xsdxt:title>
1625+ <xsdxt:link rel="index" href="api.xsd" />
1626+ </xsd:appinfo>
1627+ <xsd:documentation
1628+ xml:lang="EN"
1629+ xmlns="http://www.w3.org/1999/xhtml">
1630+ <p>
1631+ This schema file defines all entities related to <a
1632+ href="#type_SharedIpGroup" title="See definition of
1633+ SharedIPGroup">Shared IP Groups</a>.
1634+ </p>
1635+ </xsd:documentation>
1636+ </annotation>
1637+
1638+ <element name="sharedIpGroup" type="csapi:SharedIpGroup">
1639+ <annotation>
1640+ <xsd:documentation
1641+ xml:lang="EN"
1642+ xmlns="http://www.w3.org/1999/xhtml">
1643+ <p>
1644+ The element defines a group of servers that can share one or
1645+ more public IPs with each other.
1646+ </p>
1647+ </xsd:documentation>
1648+ <xsd:appinfo>
1649+ <xsdxt:samples>
1650+ <xsdxt:sample>
1651+ <xsdxt:code type="application/xml" href="../samples/ipgroup.xml" />
1652+ </xsdxt:sample>
1653+ <xsdxt:sample>
1654+ <xsdxt:code type="application/json" href="../samples/ipgroup.json" />
1655+ </xsdxt:sample>
1656+ </xsdxt:samples>
1657+ </xsd:appinfo>
1658+ </annotation>
1659+ </element>
1660+ <element name="sharedIpGroups" type="csapi:SharedIpGroups">
1661+ <annotation>
1662+ <xsd:documentation
1663+ xml:lang="EN"
1664+ xmlns="http://www.w3.org/1999/xhtml">
1665+ <p>
1666+ A collection of shared IP groups.
1667+ </p>
1668+ </xsd:documentation>
1669+ <xsd:appinfo>
1670+ <xsdxt:samples>
1671+ <xsdxt:sample>
1672+ <xsdxt:code type="application/xml" href="../samples/ipgroups.xml" />
1673+ </xsdxt:sample>
1674+ <xsdxt:sample>
1675+ <xsdxt:code type="application/json" href="../samples/ipgroups.json" />
1676+ </xsdxt:sample>
1677+ </xsdxt:samples>
1678+ </xsd:appinfo>
1679+ </annotation>
1680+ </element>
1681+
1682+ <!-- Complex Types -->
1683+ <complexType name="SharedIpGroup">
1684+ <sequence>
1685+ <choice>
1686+ <annotation>
1687+ <xsd:documentation
1688+ xml:lang="EN"
1689+ xmlns="http://www.w3.org/1999/xhtml">
1690+ <p>
1691+ An IP group type can take two basic forms. On a request
1692+ a single, optional, server ID may be specified&#x2026;
1693+ </p>
1694+ <xsdxt:samples>
1695+ <xsdxt:sample>
1696+ <xsdxt:code type="application/xml" href="../samples/ipgroup2.xml" />
1697+ </xsdxt:sample>
1698+ <xsdxt:sample>
1699+ <xsdxt:code type="application/json" href="../samples/ipgroup2.json" />
1700+ </xsdxt:sample>
1701+ </xsdxt:samples>
1702+ <p>
1703+ &#x2026;on a response a server ID list is always returned. This
1704+ server list may be empty&#x2026;
1705+ </p>
1706+ <xsdxt:samples>
1707+ <xsdxt:sample>
1708+ <xsdxt:code type="application/xml" href="../samples/ipgroup.xml" />
1709+ </xsdxt:sample>
1710+ <xsdxt:sample>
1711+ <xsdxt:code type="application/json" href="../samples/ipgroup.json" />
1712+ </xsdxt:sample>
1713+ </xsdxt:samples>
1714+ <p>
1715+ &#x2026;note that is a mutually exclusive choice: either
1716+ a &lt;server&gt; or &lt;servers&gt; element must be
1717+ specified, but not both.
1718+ </p>
1719+ </xsd:documentation>
1720+ </annotation>
1721+ <element name="server" type="csapi:ServerID" minOccurs="0" maxOccurs="1">
1722+ <annotation>
1723+ <xsd:documentation
1724+ xml:lang="EN"
1725+ xmlns="http://www.w3.org/1999/xhtml">
1726+ <p>
1727+ A single, optional, server ID. This form is used when
1728+ creating an IP group.
1729+ </p>
1730+ </xsd:documentation>
1731+ </annotation>
1732+ </element>
1733+ <element name="servers" type="csapi:ServerIDList">
1734+ <annotation>
1735+ <xsd:documentation
1736+ xml:lang="EN"
1737+ xmlns="http://www.w3.org/1999/xhtml">
1738+ <p>
1739+ A collection of server IDs. This form is used when
1740+ querying an IP group.
1741+ </p>
1742+ </xsd:documentation>
1743+ </annotation>
1744+ </element>
1745+ </choice>
1746+ </sequence>
1747+ <attribute type="xsd:int" name="id" use="optional">
1748+ <annotation>
1749+ <xsd:documentation
1750+ xml:lang="EN"
1751+ xmlns="http://www.w3.org/1999/xhtml">
1752+ <p>
1753+ The ID of the shared IP group. The attribute should not
1754+ be specified when creating a new shared IP group.
1755+ </p>
1756+ </xsd:documentation>
1757+ </annotation>
1758+ </attribute>
1759+ <attribute type="xsd:string" name="name" use="required">
1760+ <annotation>
1761+ <xsd:documentation
1762+ xml:lang="EN"
1763+ xmlns="http://www.w3.org/1999/xhtml">
1764+ <p>
1765+ The name of the shared IP group.
1766+ </p>
1767+ </xsd:documentation>
1768+ </annotation>
1769+ </attribute>
1770+ </complexType>
1771+
1772+ <complexType name="SharedIpGroups">
1773+ <sequence>
1774+ <element name="sharedIpGroup" type="csapi:SharedIpGroup" minOccurs="0" maxOccurs="1000">
1775+ <annotation>
1776+ <xsd:documentation
1777+ xml:lang="EN"
1778+ xmlns="http://www.w3.org/1999/xhtml">
1779+ <p>
1780+ A collection of shared IP groups.
1781+ </p>
1782+ </xsd:documentation>
1783+ </annotation>
1784+ </element>
1785+ </sequence>
1786+ </complexType>
1787+
1788+ <complexType name="ServerIDList">
1789+ <sequence>
1790+ <element name="server" type="csapi:ServerID" minOccurs="0" maxOccurs="25">
1791+ <annotation>
1792+ <xsd:documentation
1793+ xml:lang="EN"
1794+ xmlns="http://www.w3.org/1999/xhtml">
1795+ <p>
1796+ A collection of servers within a shared IP group.
1797+ </p>
1798+ </xsd:documentation>
1799+ </annotation>
1800+ </element>
1801+ </sequence>
1802+ </complexType>
1803+
1804+ <complexType name="ServerID">
1805+ <attribute name="id" type="xsd:int" use="required">
1806+ <annotation>
1807+ <xsd:documentation
1808+ xml:lang="EN"
1809+ xmlns="http://www.w3.org/1999/xhtml">
1810+ <p>
1811+ The ID of a server within a shared IP group.
1812+ </p>
1813+ </xsd:documentation>
1814+ </annotation>
1815+ </attribute>
1816+ </complexType>
1817+</schema>
1818+
1819+
1820+
1821
1822=== added file 'nova/api/openstack/schemas/v1.0/xsd/limits.xsd'
1823--- nova/api/openstack/schemas/v1.0/xsd/limits.xsd 1970-01-01 00:00:00 +0000
1824+++ nova/api/openstack/schemas/v1.0/xsd/limits.xsd 2011-03-29 17:39:12 +0000
1825@@ -0,0 +1,354 @@
1826+<?xml version="1.0" encoding="UTF-8"?>
1827+<?xml-stylesheet type="text/xsl" href="../xslt/schema.xslt"?>
1828+
1829+<!-- (C) 2009 Rackspace Hosting, All Rights Reserved -->
1830+
1831+<schema
1832+ elementFormDefault="qualified"
1833+ attributeFormDefault="unqualified"
1834+ xmlns="http://www.w3.org/2001/XMLSchema"
1835+ xmlns:csapi="http://docs.rackspacecloud.com/servers/api/v1.0"
1836+ xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
1837+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
1838+ targetNamespace="http://docs.rackspacecloud.com/servers/api/v1.0"
1839+>
1840+ <annotation>
1841+ <xsd:appinfo
1842+ xml:lang="EN"
1843+ xmlns="http://www.w3.org/1999/xhtml">
1844+ <xsdxt:title>Limits</xsdxt:title>
1845+ <xsdxt:link rel="index" href="api.xsd" />
1846+ </xsd:appinfo>
1847+ <xsd:documentation
1848+ xml:lang="EN"
1849+ xmlns="http://www.w3.org/1999/xhtml">
1850+ <p>
1851+ This schema file defines types related to preconfigured
1852+ limits. Limits are used to manage the capacity of the API and
1853+ to prevent abuse. The API defines two kinds of limits <a
1854+ href="#type_RateLimit" title="See definition of a
1855+ RateLimit">RateLimits</a> and <a href="#type_AbsoluteLimit"
1856+ title="See definition of an
1857+ AbsoluteLimit">AbsoluteLimits</a>. RateLimits are thresholds
1858+ that are reset after a certain amount of time passes.
1859+ Absolute limits are fixed.
1860+ </p>
1861+ </xsd:documentation>
1862+ </annotation>
1863+
1864+ <element name="limits" type="csapi:Limits">
1865+ <annotation>
1866+ <xsd:documentation
1867+ xml:lang="EN"
1868+ xmlns="http://www.w3.org/1999/xhtml">
1869+ <p>
1870+ The limits element contains information on both rate and
1871+ absolute limits.
1872+ </p>
1873+ </xsd:documentation>
1874+ <xsd:appinfo>
1875+ <xsdxt:samples>
1876+ <xsdxt:sample>
1877+ <xsdxt:code type="application/xml" href="../samples/limits.xml" />
1878+ </xsdxt:sample>
1879+ <xsdxt:sample>
1880+ <xsdxt:code type="application/json" href="../samples/limits.json" />
1881+ </xsdxt:sample>
1882+ </xsdxt:samples>
1883+ </xsd:appinfo>
1884+ </annotation>
1885+ </element>
1886+
1887+ <!-- Complex Types -->
1888+ <complexType name="Limits">
1889+ <annotation>
1890+ <xsd:documentation
1891+ xml:lang="EN"
1892+ xmlns="http://www.w3.org/1999/xhtml">
1893+ <p>
1894+ A container that holds a list of rate limits, followed by a
1895+ list of absolute limits.
1896+ </p>
1897+ </xsd:documentation>
1898+ </annotation>
1899+ <sequence>
1900+ <element name="rate" type="csapi:RateLimits">
1901+ <annotation>
1902+ <xsd:documentation
1903+ xml:lang="EN"
1904+ xmlns="http://www.w3.org/1999/xhtml">
1905+ <p>
1906+ The element hold a list of RateLimits.
1907+ </p>
1908+ </xsd:documentation>
1909+ </annotation>
1910+ </element>
1911+ <element name="absolute" type="csapi:AbsoluteLimits">
1912+ <annotation>
1913+ <xsd:documentation
1914+ xml:lang="EN"
1915+ xmlns="http://www.w3.org/1999/xhtml">
1916+ <p>
1917+ The element hold a list of AbsoluteLimits.
1918+ </p>
1919+ </xsd:documentation>
1920+ </annotation>
1921+ </element>
1922+ </sequence>
1923+ </complexType>
1924+
1925+ <complexType name="RateLimits">
1926+ <sequence>
1927+ <element name="limit" type="csapi:RateLimit" minOccurs="1" maxOccurs="unbounded">
1928+ <annotation>
1929+ <xsd:documentation
1930+ xml:lang="EN"
1931+ xmlns="http://www.w3.org/1999/xhtml">
1932+ <p>
1933+ A sequence of RateLimit elements.
1934+ </p>
1935+ </xsd:documentation>
1936+ </annotation>
1937+ </element>
1938+ </sequence>
1939+ </complexType>
1940+
1941+ <complexType name="AbsoluteLimits">
1942+ <sequence>
1943+ <element name="limit" type="csapi:AbsoluteLimit" minOccurs="1" maxOccurs="unbounded">
1944+ <annotation>
1945+ <xsd:documentation
1946+ xml:lang="EN"
1947+ xmlns="http://www.w3.org/1999/xhtml">
1948+ <p>
1949+ A sequence of AbsoluteLimit elements.
1950+ </p>
1951+ </xsd:documentation>
1952+ </annotation>
1953+ </element>
1954+ </sequence>
1955+ </complexType>
1956+
1957+ <complexType name="RateLimit">
1958+ <annotation>
1959+ <xsd:documentation
1960+ xml:lang="EN"
1961+ xmlns="http://www.w3.org/1999/xhtml">
1962+ <p>
1963+ A rate limit is a threshold that is reset after a certain
1964+ amount of time. Rate limits are imposed on the HTTP protocol
1965+ and they are based on an <a href="#type_HTTPVerb" title="See
1966+ definition of HTTPVerb">HTTPVerb</a> and a regular expression
1967+ applied to a URI. For example, the rate limit below&#x2026;
1968+ </p>
1969+ <xsdxt:code type="application/xml">
1970+ <![CDATA[
1971+ <limit xmlns="http://docs.rackspacecloud.com/servers/api/v1.0"
1972+ verb="POST"
1973+ URI="*/servers" regex="^/servers"
1974+ value="25" remaining="24"
1975+ unit="DAY" resetTime="1244511839" />
1976+ ]]>
1977+ </xsdxt:code>
1978+ <p>
1979+ &#x2026;indicates that only 25 posts per day are allowed on
1980+ any API URI ending in /servers. The 26 post will raise an <a
1981+ href="faults.xsd#element_overLimit" title="See OverLimit
1982+ Fault">OverLimitFault</a> until the resetTime arrives.
1983+ </p>
1984+ <p>
1985+ It is important to note that rate limits should be applied in
1986+ order relative to the verb, going from least to most specific.
1987+ Thus, although the threshold for POST to */servers, below, is
1988+ 25 per day, one cannot POST to */servers more than 10 times
1989+ withing a single minute because the rate limits for any POST
1990+ is 10/min.
1991+ </p>
1992+ <xsdxt:code type="application/xml" href="../samples/rateLimits.xml"/>
1993+ </xsd:documentation>
1994+ </annotation>
1995+ <attribute name="verb" type="csapi:HTTPVerb" use="required">
1996+ <annotation>
1997+ <xsd:documentation
1998+ xml:lang="EN"
1999+ xmlns="http://www.w3.org/1999/xhtml">
2000+ <p>
2001+ The <a href="#type_HTTPVerb" title="See definition of
2002+ HTTPVerb">HTTPVerb</a> the limit applies to.
2003+ </p>
2004+ </xsd:documentation>
2005+ </annotation>
2006+ </attribute>
2007+ <attribute name="URI" type="xsd:string" use="required">
2008+ <annotation>
2009+ <xsd:documentation
2010+ xml:lang="EN"
2011+ xmlns="http://www.w3.org/1999/xhtml">
2012+ <p>
2013+ A human readable wild-card URI. Here "*" matches any
2014+ character.
2015+ </p>
2016+ </xsd:documentation>
2017+ </annotation>
2018+ </attribute>
2019+ <attribute name="regex" type="xsd:string" use="required">
2020+ <annotation>
2021+ <xsd:documentation
2022+ xml:lang="EN"
2023+ xmlns="http://www.w3.org/1999/xhtml">
2024+ <p>
2025+ A machine processable regular expression URI. The regular
2026+ expression boundary matcher "^" takes affect after the root
2027+ URI path. For example, the regular expression ^/servers would
2028+ match the bold portion of the following URI: <br />
2029+ https://servers.api.rackspacecloud.com/v1.0/3542812<strong>/servers</strong>
2030+ </p>
2031+ </xsd:documentation>
2032+ </annotation>
2033+ </attribute>
2034+ <attribute name="unit" type="csapi:RateLimitUnit" use="required">
2035+ <annotation>
2036+ <xsd:documentation
2037+ xml:lang="EN"
2038+ xmlns="http://www.w3.org/1999/xhtml">
2039+ <p>
2040+ The unit of time (<a href="#type_RateLimitUnit" title="See
2041+ definition of RateLimitUnit">RateLimitUnit</a>) associated
2042+ with the rate value.
2043+ </p>
2044+ </xsd:documentation>
2045+ </annotation>
2046+ </attribute>
2047+ <attribute name="value" type="xsd:int" use="required">
2048+ <annotation>
2049+ <xsd:documentation
2050+ xml:lang="EN"
2051+ xmlns="http://www.w3.org/1999/xhtml">
2052+ <p>
2053+ The rate limit in <a href="#type_RateLimitUnit" title="See
2054+ definition of RateLimitUnit">RateLimitUnits</a>.
2055+ </p>
2056+ </xsd:documentation>
2057+ </annotation>
2058+ </attribute>
2059+ <attribute name="remaining" type="xsd:int" use="required">
2060+ <annotation>
2061+ <xsd:documentation
2062+ xml:lang="EN"
2063+ xmlns="http://www.w3.org/1999/xhtml">
2064+ <p>
2065+ The number of units remaining before an <a
2066+ href="faults.xsd#element_overLimit" title="See OverLimit
2067+ Fault">OverLimitFault</a> is raised.
2068+ </p>
2069+ </xsd:documentation>
2070+ </annotation>
2071+ </attribute>
2072+ <attribute name="resetTime" type="xsd:long" use="required">
2073+ <annotation>
2074+ <xsd:documentation
2075+ xml:lang="EN"
2076+ xmlns="http://www.w3.org/1999/xhtml">
2077+ <p>
2078+ The time in Unix time (the number of seconds since January
2079+ 1, 1970 00:00:00 UTC) when the rate limit will reset.
2080+ </p>
2081+ </xsd:documentation>
2082+ </annotation>
2083+ </attribute>
2084+ </complexType>
2085+
2086+ <complexType name="AbsoluteLimit">
2087+ <annotation>
2088+ <xsd:documentation
2089+ xml:lang="EN"
2090+ xmlns="http://www.w3.org/1999/xhtml">
2091+ <p>
2092+ Absolute limits are predefined fixed limits. We define each
2093+ of these limits as a key/value pair. Please consult the <a
2094+ href="http://docs.rackspacecloud.com/servers/api/cs-devguide-latest.pdf"
2095+ title="CS API Spec">API Specification</a> for a list of
2096+ absolute limits used by the system.
2097+ </p>
2098+ </xsd:documentation>
2099+ </annotation>
2100+ <attribute name="name" type="xsd:string" use="required">
2101+ <annotation>
2102+ <xsd:documentation
2103+ xml:lang="EN"
2104+ xmlns="http://www.w3.org/1999/xhtml">
2105+ <p>
2106+ The name (or key) of the absolute limit. Currently,
2107+ the following names are available:
2108+ </p>
2109+ <ul>
2110+ <li>maxTotalRAMSize</li>
2111+ <li>maxIPGroups</li>
2112+ <li>maxIPGroupMemebers</li>
2113+ </ul>
2114+ <p>
2115+ This may not be an exhaustive list. Please consult the API
2116+ Specification. We do not define absolute limit names as an
2117+ enumeration in this schema because we may need to impose new
2118+ limits quickly without the need to modifying the schema
2119+ document.
2120+ </p>
2121+ </xsd:documentation>
2122+ </annotation>
2123+ </attribute>
2124+ <attribute name="value" type="xsd:int" use="required">
2125+ <annotation>
2126+ <xsd:documentation
2127+ xml:lang="EN"
2128+ xmlns="http://www.w3.org/1999/xhtml">
2129+ <p>
2130+ A value specifying the absolute limit.The name of the
2131+ absolute limit determines the unit type. For example, the
2132+ key maxIPGroups implies that the value is in terms of
2133+ IPGroups.
2134+ </p>
2135+ </xsd:documentation>
2136+ </annotation>
2137+ </attribute>
2138+ </complexType>
2139+
2140+ <!-- Simple Types -->
2141+ <simpleType name="HTTPVerb">
2142+ <annotation>
2143+ <xsd:documentation
2144+ xml:lang="EN"
2145+ xmlns="http://www.w3.org/1999/xhtml">
2146+ <p>
2147+ The HTTP verbs (or methods) on which rate-limits may be
2148+ enforced.
2149+ </p>
2150+ </xsd:documentation>
2151+ </annotation>
2152+ <restriction base="xsd:string">
2153+ <enumeration value="POST" />
2154+ <enumeration value="PUT" />
2155+ <enumeration value="GET" />
2156+ <enumeration value="DELETE" />
2157+ <enumeration value="HEAD" />
2158+ </restriction>
2159+ </simpleType>
2160+
2161+ <simpleType name="RateLimitUnit">
2162+ <annotation>
2163+ <xsd:documentation
2164+ xml:lang="EN"
2165+ xmlns="http://www.w3.org/1999/xhtml">
2166+ <p>
2167+ Units of time supported by rate limits.
2168+ </p>
2169+ </xsd:documentation>
2170+ </annotation>
2171+ <restriction base="xsd:string">
2172+ <enumeration value="MINUTE"/>
2173+ <enumeration value="HOUR"/>
2174+ <enumeration value="DAY"/>
2175+ </restriction>
2176+ </simpleType>
2177+
2178+</schema>
2179+
2180
2181=== added file 'nova/api/openstack/schemas/v1.0/xsd/rackspace.xsd'
2182--- nova/api/openstack/schemas/v1.0/xsd/rackspace.xsd 1970-01-01 00:00:00 +0000
2183+++ nova/api/openstack/schemas/v1.0/xsd/rackspace.xsd 2011-03-29 17:39:12 +0000
2184@@ -0,0 +1,141 @@
2185+<?xml version="1.0" encoding="UTF-8"?>
2186+<?xml-stylesheet type="text/xsl" href="../xslt/schema.xslt"?>
2187+
2188+<!-- (C) 2009 Rackspace Hosting, All Rights Reserved -->
2189+
2190+
2191+<schema
2192+ elementFormDefault="qualified"
2193+ attributeFormDefault="unqualified"
2194+ xmlns="http://www.w3.org/2001/XMLSchema"
2195+ xmlns:csapi="http://docs.rackspacecloud.com/servers/api/v1.0"
2196+ xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
2197+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
2198+ targetNamespace="http://docs.rackspacecloud.com/servers/api/v1.0"
2199+>
2200+ <annotation>
2201+ <xsd:appinfo
2202+ xml:lang="EN"
2203+ xmlns="http://www.w3.org/1999/xhtml">
2204+ <xsdxt:title>Cloud Servers&#x2122; API Schema Types</xsdxt:title>
2205+ <xsdxt:link rev="index" href="actions.xsd" />
2206+ <xsdxt:link rev="index" href="backup.xsd" />
2207+ <xsdxt:link rev="index" href="common.xsd" />
2208+ <xsdxt:link rev="index" href="faults.xsd" />
2209+ <xsdxt:link rev="index" href="flavor.xsd" />
2210+ <xsdxt:link rev="index" href="image.xsd" />
2211+ <xsdxt:link rev="index" href="ipgroup.xsd" />
2212+ <xsdxt:link rev="index" href="limits.xsd" />
2213+ <xsdxt:link rev="index" href="server.xsd" />
2214+ <xsdxt:link rev="index" href="version.xsd" />
2215+ </xsd:appinfo>
2216+ <xsd:documentation
2217+ xml:lang="EN"
2218+ xmlns="http://www.w3.org/1999/xhtml">
2219+ <p>
2220+ This is the main index XML Schema document
2221+ for the Cloud Servers API.
2222+ </p>
2223+ </xsd:documentation>
2224+ </annotation>
2225+ <include schemaLocation="server.xsd">
2226+ <annotation>
2227+ <xsd:documentation
2228+ xml:lang="EN"
2229+ xmlns="http://www.w3.org/1999/xhtml">
2230+ <p>
2231+ Servers and all internal Entities including: Addresses,
2232+ Files, and MetaData.
2233+ </p>
2234+ </xsd:documentation>
2235+ </annotation>
2236+ </include>
2237+ <include schemaLocation="image.xsd">
2238+ <annotation>
2239+ <xsd:documentation
2240+ xml:lang="EN"
2241+ xmlns="http://www.w3.org/1999/xhtml">
2242+ <p>
2243+ Types related to images.
2244+ </p>
2245+ </xsd:documentation>
2246+ </annotation>
2247+ </include>
2248+ <include schemaLocation="flavor.xsd">
2249+ <annotation>
2250+ <xsd:documentation
2251+ xml:lang="EN"
2252+ xmlns="http://www.w3.org/1999/xhtml">
2253+ <p>
2254+ Types related to flavors.
2255+ </p>
2256+ </xsd:documentation>
2257+ </annotation>
2258+ </include>
2259+ <include schemaLocation="ipgroup.xsd">
2260+ <annotation>
2261+ <xsd:documentation
2262+ xml:lang="EN"
2263+ xmlns="http://www.w3.org/1999/xhtml">
2264+ <p>
2265+ Types related to shared IP groups.
2266+ </p>
2267+ </xsd:documentation>
2268+ </annotation>
2269+ </include>
2270+ <include schemaLocation="backup.xsd">
2271+ <annotation>
2272+ <xsd:documentation
2273+ xml:lang="EN"
2274+ xmlns="http://www.w3.org/1999/xhtml">
2275+ <p>
2276+ Types related to backup schedules.
2277+ </p>
2278+ </xsd:documentation>
2279+ </annotation>
2280+ </include>
2281+ <include schemaLocation="actions.xsd">
2282+ <annotation>
2283+ <xsd:documentation
2284+ xml:lang="EN"
2285+ xmlns="http://www.w3.org/1999/xhtml">
2286+ <p>
2287+ Defines server actions: reboot, rebuild, resize...
2288+ </p>
2289+ </xsd:documentation>
2290+ </annotation>
2291+ </include>
2292+ <include schemaLocation="faults.xsd">
2293+ <annotation>
2294+ <xsd:documentation
2295+ xml:lang="EN"
2296+ xmlns="http://www.w3.org/1999/xhtml">
2297+ <p>
2298+ All fault types.
2299+ </p>
2300+ </xsd:documentation>
2301+ </annotation>
2302+ </include>
2303+ <include schemaLocation="limits.xsd">
2304+ <annotation>
2305+ <xsd:documentation
2306+ xml:lang="EN"
2307+ xmlns="http://www.w3.org/1999/xhtml">
2308+ <p>
2309+ Types related to rate and absolute limits.
2310+ </p>
2311+ </xsd:documentation>
2312+ </annotation>
2313+ </include>
2314+ <include schemaLocation="version.xsd">
2315+ <annotation>
2316+ <xsd:documentation
2317+ xml:lang="EN"
2318+ xmlns="http://www.w3.org/1999/xhtml">
2319+ <p>
2320+ Types related to API version details.
2321+ </p>
2322+ </xsd:documentation>
2323+ </annotation>
2324+ </include>
2325+</schema>
2326
2327=== added file 'nova/api/openstack/schemas/v1.0/xsd/server.xsd'
2328--- nova/api/openstack/schemas/v1.0/xsd/server.xsd 1970-01-01 00:00:00 +0000
2329+++ nova/api/openstack/schemas/v1.0/xsd/server.xsd 2011-03-29 17:39:12 +0000
2330@@ -0,0 +1,913 @@
2331+<?xml version="1.0" encoding="UTF-8"?>
2332+<?xml-stylesheet type="text/xsl" href="../xslt/schema.xslt"?>
2333+
2334+<!-- (C) 2009 Rackspace Hosting, All Rights Reserved -->
2335+
2336+<schema
2337+ elementFormDefault="qualified"
2338+ attributeFormDefault="unqualified"
2339+ xmlns="http://www.w3.org/2001/XMLSchema"
2340+ xmlns:csapi="http://docs.rackspacecloud.com/servers/api/v1.0"
2341+ xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
2342+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
2343+ targetNamespace="http://docs.rackspacecloud.com/servers/api/v1.0"
2344+>
2345+ <annotation>
2346+ <xsd:appinfo
2347+ xml:lang="EN"
2348+ xmlns="http://www.w3.org/1999/xhtml">
2349+ <xsdxt:title>Servers and Related Types</xsdxt:title>
2350+ <xsdxt:link rel="index" href="api.xsd" />
2351+ </xsd:appinfo>
2352+ <xsd:documentation
2353+ xml:lang="EN"
2354+ xmlns="http://www.w3.org/1999/xhtml">
2355+ <p>
2356+ This schema file defines a <a href="#type_Server" title="Server Type Definition">
2357+ Server</a> and all internal entities
2358+ related to servers including:
2359+ <a href="#type_Addresses" title="Addresses type definition">Addresses</a>,
2360+ <a href="#type_ShareIp" title="ShareIp type definition">ShareIPs</a>,
2361+ <a href="#type_File" title="File type definition">Files</a>, and
2362+ <a href="#type_Metadata" title="Metadata type definition">MetaData</a>.
2363+ </p>
2364+ </xsd:documentation>
2365+ </annotation>
2366+
2367+ <include schemaLocation="common.xsd">
2368+ <annotation>
2369+ <xsd:documentation
2370+ xml:lang="EN"
2371+ xmlns="http://www.w3.org/1999/xhtml">
2372+ <p>
2373+ Common types used by multiple entities and possibly spanning
2374+ several types of requests.
2375+ </p>
2376+ </xsd:documentation>
2377+ </annotation>
2378+ </include>
2379+
2380+ <element name="server" type="csapi:Server">
2381+ <annotation>
2382+ <xsd:documentation
2383+ xml:lang="EN"
2384+ xmlns="http://www.w3.org/1999/xhtml">
2385+ <p>
2386+ The element defines a server.
2387+ </p>
2388+ </xsd:documentation>
2389+ <xsd:appinfo>
2390+ <xsdxt:samples>
2391+ <xsdxt:sample>
2392+ <xsdxt:code type="application/xml" href="../samples/server.xml" />
2393+ </xsdxt:sample>
2394+ <xsdxt:sample>
2395+ <xsdxt:code type="application/json" href="../samples/server.json" />
2396+ </xsdxt:sample>
2397+ </xsdxt:samples>
2398+ </xsd:appinfo>
2399+ </annotation>
2400+ </element>
2401+
2402+ <element name="servers" type="csapi:Servers">
2403+ <annotation>
2404+ <xsd:documentation
2405+ xml:lang="EN"
2406+ xmlns="http://www.w3.org/1999/xhtml">
2407+ <p>
2408+ A collection of servers.
2409+ </p>
2410+ </xsd:documentation>
2411+ <xsd:appinfo>
2412+ <xsdxt:samples>
2413+ <xsdxt:sample>
2414+ <xsdxt:code type="application/xml" href="../samples/servers.xml" />
2415+ </xsdxt:sample>
2416+ <xsdxt:sample>
2417+ <xsdxt:code type="application/json" href="../samples/servers.json" />
2418+ </xsdxt:sample>
2419+ </xsdxt:samples>
2420+ </xsd:appinfo>
2421+ </annotation>
2422+ </element>
2423+
2424+ <element name="addresses" type="csapi:Addresses">
2425+ <annotation>
2426+ <xsd:documentation
2427+ xml:lang="EN"
2428+ xmlns="http://www.w3.org/1999/xhtml">
2429+ <p>
2430+ The element defines list of addresses (public and private).
2431+ </p>
2432+ </xsd:documentation>
2433+ <xsd:appinfo>
2434+ <xsdxt:samples>
2435+ <xsdxt:sample>
2436+ <xsdxt:code type="application/xml" href="../samples/addresses.xml" />
2437+ </xsdxt:sample>
2438+ <xsdxt:sample>
2439+ <xsdxt:code type="application/json" href="../samples/addresses.json" />
2440+ </xsdxt:sample>
2441+ </xsdxt:samples>
2442+ </xsd:appinfo>
2443+ </annotation>
2444+ </element>
2445+
2446+ <element name="public" type="csapi:AddressList">
2447+ <annotation>
2448+ <xsd:documentation
2449+ xml:lang="EN"
2450+ xmlns="http://www.w3.org/1999/xhtml">
2451+ <p>
2452+ The element defines a list of public addresses.
2453+ </p>
2454+ </xsd:documentation>
2455+ <xsd:appinfo>
2456+ <xsdxt:samples>
2457+ <xsdxt:sample>
2458+ <xsdxt:code type="application/xml" href="../samples/public.xml" />
2459+ </xsdxt:sample>
2460+ <xsdxt:sample>
2461+ <xsdxt:code type="application/json" href="../samples/public.json" />
2462+ </xsdxt:sample>
2463+ </xsdxt:samples>
2464+ </xsd:appinfo>
2465+ </annotation>
2466+ </element>
2467+
2468+ <element name="private" type="csapi:AddressList">
2469+ <annotation>
2470+ <xsd:documentation
2471+ xml:lang="EN"
2472+ xmlns="http://www.w3.org/1999/xhtml">
2473+ <p>
2474+ The element defines list of private addresses.
2475+ </p>
2476+ </xsd:documentation>
2477+ <xsd:appinfo>
2478+ <xsdxt:samples>
2479+ <xsdxt:sample>
2480+ <xsdxt:code type="application/xml" href="../samples/private.xml" />
2481+ </xsdxt:sample>
2482+ <xsdxt:sample>
2483+ <xsdxt:code type="application/json" href="../samples/private.json" />
2484+ </xsdxt:sample>
2485+ </xsdxt:samples>
2486+ </xsd:appinfo>
2487+ </annotation>
2488+ </element>
2489+
2490+ <element name="shareIp" type="csapi:ShareIp">
2491+ <annotation>
2492+ <xsd:documentation
2493+ xml:lang="EN"
2494+ xmlns="http://www.w3.org/1999/xhtml">
2495+ <p>
2496+ The element defines request to share a public IP address.
2497+ </p>
2498+ </xsd:documentation>
2499+ <xsd:appinfo>
2500+ <xsdxt:samples>
2501+ <xsdxt:sample>
2502+ <xsdxt:code type="application/xml" href="../samples/shareip.xml" />
2503+ </xsdxt:sample>
2504+ <xsdxt:sample>
2505+ <xsdxt:code type="application/json" href="../samples/shareip.json" />
2506+ </xsdxt:sample>
2507+ </xsdxt:samples>
2508+ </xsd:appinfo>
2509+ </annotation>
2510+ </element>
2511+
2512+ <!-- Complex Types -->
2513+ <complexType name="Server">
2514+ <annotation>
2515+ <xsd:documentation
2516+ xml:lang="EN"
2517+ xmlns="http://www.w3.org/1999/xhtml">
2518+ <p>
2519+ A server is a virtual machine instance in the Cloud Servers
2520+ system. Note that this complex type defines all elements
2521+ and attributes as optional because a server instance may
2522+ take many different forms depending on the operation. When
2523+ creating a server, for example, the name, imageId, and
2524+ flavorId attributes are required. In addition, optional
2525+ metadata and personality file elements may be specified:
2526+ </p>
2527+ <xsdxt:samples>
2528+ <xsdxt:sample>
2529+ <xsdxt:code type="application/xml" href="../samples/server-post-req.xml" />
2530+ </xsdxt:sample>
2531+ <xsdxt:sample>
2532+ <xsdxt:code type="application/json" href="../samples/server-post-req.json" />
2533+ </xsdxt:sample>
2534+ </xsdxt:samples>
2535+ <p>
2536+ The response to such a crate operation will include the
2537+ administration password, host ID, and addresses associated
2538+ with the server:
2539+ </p>
2540+ <xsdxt:samples>
2541+ <xsdxt:sample>
2542+ <xsdxt:code type="application/xml" href="../samples/server-post-resp.xml" />
2543+ </xsdxt:sample>
2544+ <xsdxt:sample>
2545+ <xsdxt:code type="application/json" href="../samples/server-post-resp.json" />
2546+ </xsdxt:sample>
2547+ </xsdxt:samples>
2548+ <p>
2549+ When modifying a server only the name and administration
2550+ password should be specified as these are the only
2551+ attributes that are modifiable.
2552+ </p>
2553+ <xsdxt:samples>
2554+ <xsdxt:sample>
2555+ <xsdxt:code type="application/xml" href="../samples/server-put-req.xml" />
2556+ </xsdxt:sample>
2557+ <xsdxt:sample>
2558+ <xsdxt:code type="application/json" href="../samples/server-put-req.json" />
2559+ </xsdxt:sample>
2560+ </xsdxt:samples>
2561+ </xsd:documentation>
2562+ </annotation>
2563+ <sequence>
2564+ <element name="metadata" type="csapi:Metadata" minOccurs="0">
2565+ <annotation>
2566+ <xsd:documentation
2567+ xml:lang="EN"
2568+ xmlns="http://www.w3.org/1999/xhtml">
2569+ <p>
2570+ A collection of meta data items associated with the server.
2571+ </p>
2572+ </xsd:documentation>
2573+ </annotation>
2574+ </element>
2575+ <element ref="csapi:addresses" minOccurs="0">
2576+ <annotation>
2577+ <xsd:documentation
2578+ xml:lang="EN"
2579+ xmlns="http://www.w3.org/1999/xhtml">
2580+ <p>
2581+ A server's public and private address.
2582+ </p>
2583+ </xsd:documentation>
2584+ </annotation>
2585+ </element>
2586+ <element name="personality" type="csapi:Personality" minOccurs="0">
2587+ <annotation>
2588+ <xsd:documentation
2589+ xml:lang="EN"
2590+ xmlns="http://www.w3.org/1999/xhtml">
2591+ <p>
2592+ A collection of small <a href="#type_File" title="See
2593+ definition of file">files</a> used to personalize a new
2594+ server instance.
2595+ </p>
2596+ </xsd:documentation>
2597+ </annotation>
2598+ </element>
2599+ </sequence>
2600+ <attribute type="xsd:string" name="name" use="optional">
2601+ <annotation>
2602+ <xsd:documentation
2603+ xml:lang="EN"
2604+ xmlns="http://www.w3.org/1999/xhtml">
2605+ <p>
2606+ The name of the server.
2607+ </p>
2608+ </xsd:documentation>
2609+ </annotation>
2610+ </attribute>
2611+ <attribute type="xsd:int" name="id" use="optional">
2612+ <annotation>
2613+ <xsd:documentation
2614+ xml:lang="EN"
2615+ xmlns="http://www.w3.org/1999/xhtml">
2616+ <p>
2617+ The ID of the server.
2618+ </p>
2619+ </xsd:documentation>
2620+ </annotation>
2621+ </attribute>
2622+ <attribute type="xsd:string" name="adminPass" use="optional">
2623+ <annotation>
2624+ <xsd:documentation
2625+ xml:lang="EN"
2626+ xmlns="http://www.w3.org/1999/xhtml">
2627+ <p>
2628+ The server's administration password.
2629+ </p>
2630+ </xsd:documentation>
2631+ </annotation>
2632+ </attribute>
2633+ <attribute type="xsd:int" name="imageId" use="optional">
2634+ <annotation>
2635+ <xsd:documentation
2636+ xml:lang="EN"
2637+ xmlns="http://www.w3.org/1999/xhtml">
2638+ <p>
2639+ The ID of the image used to create the server.
2640+ </p>
2641+ </xsd:documentation>
2642+ </annotation>
2643+ </attribute>
2644+ <attribute type="xsd:int" name="flavorId" use="optional">
2645+ <annotation>
2646+ <xsd:documentation
2647+ xml:lang="EN"
2648+ xmlns="http://www.w3.org/1999/xhtml">
2649+ <p>
2650+ The current server flavor ID.
2651+ </p>
2652+ </xsd:documentation>
2653+ </annotation>
2654+ </attribute>
2655+ <attribute type="xsd:string" name="hostId" use="optional">
2656+ <annotation>
2657+ <xsd:documentation
2658+ xml:lang="EN"
2659+ xmlns="http://www.w3.org/1999/xhtml">
2660+ <p>
2661+ A unique ID that identifies the physical host that the VM
2662+ is running on. This ID is unique <strong>per
2663+ account</strong> and not globally unique.
2664+ </p>
2665+ </xsd:documentation>
2666+ </annotation>
2667+ </attribute>
2668+ <attribute type="csapi:Progress" name="progress" use="optional">
2669+ <annotation>
2670+ <xsd:documentation
2671+ xml:lang="EN"
2672+ xmlns="http://www.w3.org/1999/xhtml">
2673+ <p>
2674+ The progress of the current server operation.
2675+ </p>
2676+ </xsd:documentation>
2677+ </annotation>
2678+ </attribute>
2679+ <attribute type="csapi:ServerStatus" name="status" use="optional">
2680+ <annotation>
2681+ <xsd:documentation
2682+ xml:lang="EN"
2683+ xmlns="http://www.w3.org/1999/xhtml">
2684+ <p>
2685+ The current state (or <a href="#type_ServerStatus"
2686+ title="See definition of ServerStatus">status</a>) of the
2687+ server.
2688+ </p>
2689+ </xsd:documentation>
2690+ </annotation>
2691+ </attribute>
2692+ <attribute type="xsd:int" name="sharedIpGroupId" use="optional">
2693+ <annotation>
2694+ <xsd:documentation
2695+ xml:lang="EN"
2696+ xmlns="http://www.w3.org/1999/xhtml">
2697+ <p>
2698+ An ID of the <a href="ipgroup.xsd#type_SharedIpGroup"
2699+ title="See definition of SharedIPGroup">shared IP
2700+ group</a> that the server belongs to.
2701+ </p>
2702+ </xsd:documentation>
2703+ </annotation>
2704+ </attribute>
2705+ </complexType>
2706+
2707+ <complexType name="Servers">
2708+ <sequence>
2709+ <element name="server" type="csapi:Server" minOccurs="0" maxOccurs="1000">
2710+ <annotation>
2711+ <xsd:documentation
2712+ xml:lang="EN"
2713+ xmlns="http://www.w3.org/1999/xhtml">
2714+ <p>
2715+ A collection of servers.
2716+ </p>
2717+ </xsd:documentation>
2718+ </annotation>
2719+ </element>
2720+ </sequence>
2721+ </complexType>
2722+
2723+ <complexType name="Metadata">
2724+ <sequence>
2725+ <element name="meta" type="csapi:MetadataItem" minOccurs="0" maxOccurs="5">
2726+ <annotation>
2727+ <xsd:documentation
2728+ xml:lang="EN"
2729+ xmlns="http://www.w3.org/1999/xhtml">
2730+ <p>
2731+ A collection of metadata items.
2732+ </p>
2733+ </xsd:documentation>
2734+ </annotation>
2735+ </element>
2736+ </sequence>
2737+ </complexType>
2738+
2739+ <complexType name="MetadataItem">
2740+ <annotation>
2741+ <xsd:documentation
2742+ xml:lang="EN"
2743+ xmlns="http://www.w3.org/1999/xhtml">
2744+ <p>
2745+ A MetadataItem is simply a name-value pair. The name is
2746+ specified in the key attribute and the <a
2747+ href="#type_MetadataValue" title="See definition of
2748+ MetadataValue">value</a> is included inline.
2749+ </p>
2750+ <xsdxt:code type="application/xml">
2751+ <![CDATA[
2752+ <meta xmlns="http://docs.rackspacecloud.com/servers/api/v1.0"
2753+ key="Server Label">Web Head 1</meta>
2754+ ]]>
2755+ </xsdxt:code>
2756+ </xsd:documentation>
2757+ </annotation>
2758+ <simpleContent>
2759+ <extension base="csapi:MetadataValue">
2760+ <attribute name="key" type="csapi:MetadataKey" use="required">
2761+ <annotation>
2762+ <xsd:documentation
2763+ xml:lang="EN"
2764+ xmlns="http://www.w3.org/1999/xhtml">
2765+ <p>
2766+ A meta data name-value pair.
2767+ </p>
2768+ </xsd:documentation>
2769+ </annotation>
2770+ </attribute>
2771+ </extension>
2772+ </simpleContent>
2773+ </complexType>
2774+
2775+ <complexType name="Personality">
2776+ <annotation>
2777+ <xsd:documentation
2778+ xml:lang="EN"
2779+ xmlns="http://www.w3.org/1999/xhtml">
2780+ A collection of small <a href="#type_File" title="See
2781+ definition of file">files</a> used to personalize a server
2782+ instance.
2783+ </xsd:documentation>
2784+ </annotation>
2785+ <sequence>
2786+ <element name="file" type="csapi:File" minOccurs="0" maxOccurs="5">
2787+ <annotation>
2788+ <xsd:documentation
2789+ xml:lang="EN"
2790+ xmlns="http://www.w3.org/1999/xhtml">
2791+ <p>
2792+ A collection of files.
2793+ </p>
2794+ </xsd:documentation>
2795+ </annotation>
2796+ </element>
2797+ </sequence>
2798+ </complexType>
2799+
2800+ <complexType name="File">
2801+ <annotation>
2802+ <xsd:documentation
2803+ xml:lang="EN"
2804+ xmlns="http://www.w3.org/1999/xhtml">
2805+ <p>
2806+ A file is simply a full path along with base64 file
2807+ content. The name of the file is specified in the path
2808+ attribute and the <a href="#type_FileContent" title="See
2809+ definition of FileContent">file content</a> is included
2810+ inline.
2811+ </p>
2812+ <xsdxt:code type="application/xml">
2813+ <![CDATA[
2814+ <file xmlns="http://docs.rackspacecloud.com/servers/api/v1.0"
2815+ path="/etc/banner.txt">
2816+ ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBpdCBtb3ZlcyBpbiBqdXN0IHN1Y2gg
2817+ YSBkaXJlY3Rpb24gYW5kIGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVsc2lvbi4u
2818+ LnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4gQnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNv
2819+ bnMgYW5kIHRoZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlvdSB3aWxsIGtub3cs
2820+ IHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vyc2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhv
2821+ cml6b25zLiINCg0KLVJpY2hhcmQgQmFjaA==
2822+ </file>
2823+ ]]>
2824+ </xsdxt:code>
2825+ </xsd:documentation>
2826+ </annotation>
2827+ <simpleContent>
2828+ <extension base="csapi:FileContent">
2829+ <attribute name="path" type="csapi:FileName" use="required">
2830+ <annotation>
2831+ <xsd:documentation
2832+ xml:lang="EN"
2833+ xmlns="http://www.w3.org/1999/xhtml">
2834+ <p>
2835+ Full file path.
2836+ </p>
2837+ </xsd:documentation>
2838+ </annotation>
2839+ </attribute>
2840+ </extension>
2841+ </simpleContent>
2842+ </complexType>
2843+
2844+ <complexType name="Addresses">
2845+ <sequence>
2846+ <element ref="csapi:public" minOccurs="0">
2847+ <annotation>
2848+ <xsd:documentation
2849+ xml:lang="EN"
2850+ xmlns="http://www.w3.org/1999/xhtml">
2851+ <p>
2852+ Public server addresses.
2853+ </p>
2854+ </xsd:documentation>
2855+ </annotation>
2856+ </element>
2857+ <element ref="csapi:private" minOccurs="0">
2858+ <annotation>
2859+ <xsd:documentation
2860+ xml:lang="EN"
2861+ xmlns="http://www.w3.org/1999/xhtml">
2862+ <p>
2863+ Private server addresses.
2864+ </p>
2865+ </xsd:documentation>
2866+ </annotation>
2867+ </element>
2868+ </sequence>
2869+ </complexType>
2870+
2871+ <complexType name="AddressList">
2872+ <sequence>
2873+ <element name="ip" type="csapi:Address" minOccurs="0" maxOccurs="unbounded">
2874+ <annotation>
2875+ <xsd:documentation
2876+ xml:lang="EN"
2877+ xmlns="http://www.w3.org/1999/xhtml">
2878+ <p>
2879+ A collection of addresses.
2880+ </p>
2881+ </xsd:documentation>
2882+ </annotation>
2883+ </element>
2884+ </sequence>
2885+ </complexType>
2886+
2887+ <complexType name="Address">
2888+ <attribute name="addr" type="xsd:string" use="required">
2889+ <annotation>
2890+ <xsd:documentation
2891+ xml:lang="EN"
2892+ xmlns="http://www.w3.org/1999/xhtml">
2893+ <p>
2894+ An IP address.
2895+ </p>
2896+ </xsd:documentation>
2897+ </annotation>
2898+ </attribute>
2899+ </complexType>
2900+
2901+ <complexType name="ShareIp">
2902+ <annotation>
2903+ <xsd:documentation
2904+ xml:lang="EN"
2905+ xmlns="http://www.w3.org/1999/xhtml">
2906+ <p>
2907+ This type is used to represent a request to share an IP
2908+ address.
2909+ </p>
2910+ </xsd:documentation>
2911+ </annotation>
2912+ <attribute name="sharedIpGroupId" type="xsd:int" use="required">
2913+ <annotation>
2914+ <xsd:documentation
2915+ xml:lang="EN"
2916+ xmlns="http://www.w3.org/1999/xhtml">
2917+ <p>
2918+ The <a href="ipgroup.xsd#type_SharedIpGroup" title="See
2919+ definition of SharedIPGroup">shared IP group</a> use to
2920+ share the address.
2921+ </p>
2922+ </xsd:documentation>
2923+ </annotation>
2924+ </attribute>
2925+ <attribute name="configureServer" type="xsd:boolean" default="false">
2926+ <annotation>
2927+ <xsd:documentation
2928+ xml:lang="EN"
2929+ xmlns="http://www.w3.org/1999/xhtml">
2930+ <p>
2931+ If true, the server is configured with the new address
2932+ though the address may not be enabled.
2933+ </p>
2934+ </xsd:documentation>
2935+ </annotation>
2936+ </attribute>
2937+ </complexType>
2938+
2939+ <!-- Simple Types -->
2940+ <simpleType name="ServerStatus">
2941+ <restriction base="xsd:string">
2942+ <enumeration value="ACTIVE">
2943+ <annotation>
2944+ <xsd:documentation
2945+ xml:lang="EN"
2946+ xmlns="http://www.w3.org/1999/xhtml">
2947+ <p>
2948+ The server is ready to use.
2949+ </p>
2950+ </xsd:documentation>
2951+ </annotation>
2952+ </enumeration>
2953+ <enumeration value="SUSPENDED">
2954+ <annotation>
2955+ <xsd:documentation
2956+ xml:lang="EN"
2957+ xmlns="http://www.w3.org/1999/xhtml">
2958+ <p>
2959+ The server is in an inactive (suspended) state.
2960+ </p>
2961+ </xsd:documentation>
2962+ </annotation>
2963+ </enumeration>
2964+ <enumeration value="DELETED">
2965+ <annotation>
2966+ <xsd:documentation
2967+ xml:lang="EN"
2968+ xmlns="http://www.w3.org/1999/xhtml">
2969+ <p>
2970+ The server has been deleted.
2971+ </p>
2972+ </xsd:documentation>
2973+ </annotation>
2974+ </enumeration>
2975+ <enumeration value="QUEUE_RESIZE">
2976+ <annotation>
2977+ <xsd:documentation
2978+ xml:lang="EN"
2979+ xmlns="http://www.w3.org/1999/xhtml">
2980+ <p>
2981+ A request to perform a <a
2982+ href="actions.xsd#element_resize" title="See definition
2983+ of resize">resize action</a> has been received. The
2984+ operation is pending.
2985+ </p>
2986+ </xsd:documentation>
2987+ </annotation>
2988+ </enumeration>
2989+ <enumeration value="PREP_RESIZE">
2990+ <annotation>
2991+ <xsd:documentation
2992+ xml:lang="EN"
2993+ xmlns="http://www.w3.org/1999/xhtml">
2994+ <p>
2995+ The server is being prepared to perform the resize
2996+ operation.
2997+ </p>
2998+ </xsd:documentation>
2999+ </annotation>
3000+ </enumeration>
3001+ <enumeration value="RESIZE">
3002+ <annotation>
3003+ <xsd:documentation
3004+ xml:lang="EN"
3005+ xmlns="http://www.w3.org/1999/xhtml">
3006+ <p>
3007+ The server is being resized.
3008+ </p>
3009+ </xsd:documentation>
3010+ </annotation>
3011+ </enumeration>
3012+ <enumeration value="VERIFY_RESIZE">
3013+ <annotation>
3014+ <xsd:documentation
3015+ xml:lang="EN"
3016+ xmlns="http://www.w3.org/1999/xhtml">
3017+ <p>
3018+ The server is waiting for the resize operation to be
3019+ confirmed so that the original server may be removed.
3020+ </p>
3021+ </xsd:documentation>
3022+ </annotation>
3023+ </enumeration>
3024+ <enumeration value="RESCUE">
3025+ <annotation>
3026+ <xsd:documentation
3027+ xml:lang="EN"
3028+ xmlns="http://www.w3.org/1999/xhtml">
3029+ <p>
3030+ The server is in rescue mode.
3031+ </p>
3032+ </xsd:documentation>
3033+ </annotation>
3034+ </enumeration>
3035+ <enumeration value="ERROR">
3036+ <annotation>
3037+ <xsd:documentation
3038+ xml:lang="EN"
3039+ xmlns="http://www.w3.org/1999/xhtml">
3040+ <p>
3041+ The requested operation failed, the server is in an
3042+ error state.
3043+ </p>
3044+ </xsd:documentation>
3045+ </annotation>
3046+ </enumeration>
3047+ <enumeration value="BUILD">
3048+ <annotation>
3049+ <xsd:documentation
3050+ xml:lang="EN"
3051+ xmlns="http://www.w3.org/1999/xhtml">
3052+ <p>
3053+ The server is being built.
3054+ </p>
3055+ </xsd:documentation>
3056+ </annotation>
3057+ </enumeration>
3058+ <enumeration value="RESTORING">
3059+ <annotation>
3060+ <xsd:documentation
3061+ xml:lang="EN"
3062+ xmlns="http://www.w3.org/1999/xhtml">
3063+ <p>
3064+ The server is being restored.
3065+ </p>
3066+ </xsd:documentation>
3067+ </annotation>
3068+ </enumeration>
3069+ <enumeration value="PASSWORD">
3070+ <annotation>
3071+ <xsd:documentation
3072+ xml:lang="EN"
3073+ xmlns="http://www.w3.org/1999/xhtml">
3074+ <p>
3075+ The server password is being changed.
3076+ </p>
3077+ </xsd:documentation>
3078+ </annotation>
3079+ </enumeration>
3080+ <enumeration value="REBUILD">
3081+ <annotation>
3082+ <xsd:documentation
3083+ xml:lang="EN"
3084+ xmlns="http://www.w3.org/1999/xhtml">
3085+ <p>
3086+ The server is being rebuilt.
3087+ </p>
3088+ </xsd:documentation>
3089+ </annotation>
3090+ </enumeration>
3091+ <enumeration value="DELETE_IP">
3092+ <annotation>
3093+ <xsd:documentation
3094+ xml:lang="EN"
3095+ xmlns="http://www.w3.org/1999/xhtml">
3096+ <p>
3097+ A shared IP address is being removed.
3098+ </p>
3099+ </xsd:documentation>
3100+ </annotation>
3101+ </enumeration>
3102+ <enumeration value="SHARE_IP_NO_CONFIG">
3103+ <annotation>
3104+ <xsd:documentation
3105+ xml:lang="EN"
3106+ xmlns="http://www.w3.org/1999/xhtml">
3107+ <p>
3108+ An IP address is being shared, but not configured.
3109+ </p>
3110+ </xsd:documentation>
3111+ </annotation>
3112+ </enumeration>
3113+ <enumeration value="SHARE_IP">
3114+ <annotation>
3115+ <xsd:documentation
3116+ xml:lang="EN"
3117+ xmlns="http://www.w3.org/1999/xhtml">
3118+ <p>
3119+ An IP address is being shared, and the server is being
3120+ configured with the new address.
3121+ </p>
3122+ </xsd:documentation>
3123+ </annotation>
3124+ </enumeration>
3125+ <enumeration value="REBOOT">
3126+ <annotation>
3127+ <xsd:documentation
3128+ xml:lang="EN"
3129+ xmlns="http://www.w3.org/1999/xhtml">
3130+ <p>
3131+ The server is going through a <a
3132+ href="actions.xsd#type_RebootType" title="See definition
3133+ of RebootType">SOFT</a> reboot.
3134+ </p>
3135+ </xsd:documentation>
3136+ </annotation>
3137+ </enumeration>
3138+ <enumeration value="HARD_REBOOT">
3139+ <annotation>
3140+ <xsd:documentation
3141+ xml:lang="EN"
3142+ xmlns="http://www.w3.org/1999/xhtml">
3143+ <p>
3144+ The server is going through a <a
3145+ href="actions.xsd#type_RebootType" title="See definition
3146+ of RebootType">HARD</a> reboot.
3147+ </p>
3148+ </xsd:documentation>
3149+ </annotation>
3150+ </enumeration>
3151+ <enumeration value="UNKNOWN">
3152+ <annotation>
3153+ <xsd:documentation
3154+ xml:lang="EN"
3155+ xmlns="http://www.w3.org/1999/xhtml">
3156+ <p>
3157+ The server is in an unknown state.
3158+ </p>
3159+ </xsd:documentation>
3160+ </annotation>
3161+ </enumeration>
3162+ <enumeration value="QUEUE_MOVE">
3163+ <annotation>
3164+ <xsd:documentation
3165+ xml:lang="EN"
3166+ xmlns="http://www.w3.org/1999/xhtml">
3167+ <p>
3168+ Reserved for future use.
3169+ </p>
3170+ </xsd:documentation>
3171+ </annotation>
3172+ </enumeration>
3173+ <enumeration value="PREP_MOVE">
3174+ <annotation>
3175+ <xsd:documentation
3176+ xml:lang="EN"
3177+ xmlns="http://www.w3.org/1999/xhtml">
3178+ <p>
3179+ Reserved for future use.
3180+ </p>
3181+ </xsd:documentation>
3182+ </annotation>
3183+ </enumeration>
3184+ <enumeration value="MOVE">
3185+ <annotation>
3186+ <xsd:documentation
3187+ xml:lang="EN"
3188+ xmlns="http://www.w3.org/1999/xhtml">
3189+ <p>
3190+ Reserved for future use.
3191+ </p>
3192+ </xsd:documentation>
3193+ </annotation>
3194+ </enumeration>
3195+ <enumeration value="VERIFY_MOVE">
3196+ <annotation>
3197+ <xsd:documentation
3198+ xml:lang="EN"
3199+ xmlns="http://www.w3.org/1999/xhtml">
3200+ <p>
3201+ Reserved for future use.
3202+ </p>
3203+ </xsd:documentation>
3204+ </annotation>
3205+ </enumeration>
3206+ <enumeration value="PENDING">
3207+ <annotation>
3208+ <xsd:documentation
3209+ xml:lang="EN"
3210+ xmlns="http://www.w3.org/1999/xhtml">
3211+ <p>
3212+ Reserved for future use.
3213+ </p>
3214+ </xsd:documentation>
3215+ </annotation>
3216+ </enumeration>
3217+ </restriction>
3218+ </simpleType>
3219+
3220+ <simpleType name="FileName">
3221+ <restriction base="xsd:string">
3222+ <maxLength value="255" />
3223+ </restriction>
3224+ </simpleType>
3225+
3226+ <simpleType name="FileContent">
3227+ <restriction base="xsd:base64Binary">
3228+ <maxLength value="10240" />
3229+ </restriction>
3230+ </simpleType>
3231+
3232+ <simpleType name="MetadataKey">
3233+ <restriction base="xsd:string">
3234+ <maxLength value="255" />
3235+ </restriction>
3236+ </simpleType>
3237+
3238+ <simpleType name="MetadataValue">
3239+ <restriction base="xsd:string">
3240+ <maxLength value="255" />
3241+ </restriction>
3242+ </simpleType>
3243+</schema>
3244
3245=== added file 'nova/api/openstack/schemas/v1.0/xsd/version.xsd'
3246--- nova/api/openstack/schemas/v1.0/xsd/version.xsd 1970-01-01 00:00:00 +0000
3247+++ nova/api/openstack/schemas/v1.0/xsd/version.xsd 2011-03-29 17:39:12 +0000
3248@@ -0,0 +1,172 @@
3249+<?xml version="1.0" encoding="UTF-8"?>
3250+<?xml-stylesheet type="text/xsl" href="../xslt/schema.xslt"?>
3251+
3252+<!-- (C) 2009 Rackspace Hosting, All Rights Reserved -->
3253+
3254+<schema
3255+ elementFormDefault="qualified"
3256+ attributeFormDefault="unqualified"
3257+ xmlns="http://www.w3.org/2001/XMLSchema"
3258+ xmlns:csapi="http://docs.rackspacecloud.com/servers/api/v1.0"
3259+ xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
3260+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
3261+ targetNamespace="http://docs.rackspacecloud.com/servers/api/v1.0"
3262+>
3263+ <annotation>
3264+ <xsd:appinfo
3265+ xml:lang="EN"
3266+ xmlns="http://www.w3.org/1999/xhtml">
3267+ <xsdxt:title>API Version Details</xsdxt:title>
3268+ <xsdxt:link rel="index" href="api.xsd" />
3269+ </xsd:appinfo>
3270+ <xsd:documentation
3271+ xml:lang="EN"
3272+ xmlns="http://www.w3.org/1999/xhtml">
3273+ <p>
3274+ This schema file defines a version element which provides
3275+ meta information about the current version of the API Service.
3276+ </p>
3277+ </xsd:documentation>
3278+ </annotation>
3279+
3280+ <element name="version" type="csapi:Version">
3281+ <annotation>
3282+ <xsd:documentation
3283+ xml:lang="EN"
3284+ xmlns="http://www.w3.org/1999/xhtml">
3285+ <p>
3286+ This element provides detailed meta information regarding the
3287+ status of the API version. Included is a pointer to both a
3288+ human readable and a machine processable description of the
3289+ API service. The machine processable description is written
3290+ in the Web Application Description Language (WADL). If a
3291+ discrepancy exists between the two specifications, the WADL is
3292+ authoritative as it contains the most accurate and up-to-date
3293+ description of the API service.
3294+ </p>
3295+ </xsd:documentation>
3296+ <xsd:appinfo>
3297+ <xsdxt:samples>
3298+ <xsdxt:sample>
3299+ <xsdxt:code type="application/xml" href="../samples/version.xml"/>
3300+ </xsdxt:sample>
3301+ <xsdxt:sample>
3302+ <xsdxt:code type="application/json" href="../samples/version.json"/>
3303+ </xsdxt:sample>
3304+ </xsdxt:samples>
3305+ </xsd:appinfo>
3306+ </annotation>
3307+ </element>
3308+
3309+ <!-- Complex Types -->
3310+ <complexType name="Version">
3311+ <attribute type="xsd:string" name="id" use="required" fixed="v1.0">
3312+ <annotation>
3313+ <xsd:documentation
3314+ xml:lang="EN"
3315+ xmlns="http://www.w3.org/1999/xhtml">
3316+ <p>
3317+ A unique ID which identifies the API version. Currently
3318+ this is fixed as <strong>v1.0</strong>. The first element
3319+ of the path to the API endpoints always contains the
3320+ target version ID.
3321+ </p>
3322+ </xsd:documentation>
3323+ </annotation>
3324+ </attribute>
3325+ <attribute type="csapi:VersionStatus" name="status" use="required">
3326+ <annotation>
3327+ <xsd:documentation
3328+ xml:lang="EN"
3329+ xmlns="http://www.w3.org/1999/xhtml">
3330+ <p>
3331+ The status of the API version. A stable version will
3332+ always have the value <strong>CURRENT</strong>. See <a
3333+ href="#type_VersionStatus"
3334+ title="VersionStatus">VersionStatus</a>.
3335+ </p>
3336+ </xsd:documentation>
3337+ </annotation>
3338+ </attribute>
3339+ <attribute type="xsd:anyURI" name="docURL" use="required">
3340+ <annotation>
3341+ <xsd:documentation
3342+ xml:lang="EN"
3343+ xmlns="http://www.w3.org/1999/xhtml">
3344+ <p>
3345+ A URL to a human readable API specification in PDF
3346+ format. This URL will always point to the latest version
3347+ of the specification applicable to the requested
3348+ implementation.
3349+ </p>
3350+ </xsd:documentation>
3351+ </annotation>
3352+ </attribute>
3353+ <attribute type="xsd:anyURI" name="wadl" use="required">
3354+ <annotation>
3355+ <xsd:documentation
3356+ xml:lang="EN"
3357+ xmlns="http://www.w3.org/1999/xhtml">
3358+ <p>
3359+ A URL to a machine readable API specification in WADL
3360+ format. This URL will always point to the latest version
3361+ of the specification applicable to the requested
3362+ implementation.
3363+ </p>
3364+ </xsd:documentation>
3365+ </annotation>
3366+ </attribute>
3367+ </complexType>
3368+
3369+ <!-- Simple Types -->
3370+ <simpleType name="VersionStatus">
3371+ <restriction base="xsd:string">
3372+ <enumeration value="BETA">
3373+ <annotation>
3374+ <xsd:documentation
3375+ xml:lang="EN"
3376+ xmlns="http://www.w3.org/1999/xhtml">
3377+ <p>
3378+ A status of BETA indicates that this version is a
3379+ candidate for the next major release and may feature
3380+ functionality not available in the current version.
3381+ Developers are encouraged to test and begin the migration
3382+ processes to a BETA version. Note that a BETA version is
3383+ undergoing testing, it has not been officially released,
3384+ and my not be stable.
3385+ </p>
3386+ </xsd:documentation>
3387+ </annotation>
3388+ </enumeration>
3389+ <enumeration value="CURRENT">
3390+ <annotation>
3391+ <xsd:documentation
3392+ xml:lang="EN"
3393+ xmlns="http://www.w3.org/1999/xhtml">
3394+ <p>
3395+ The API version is stable and has been tested. Developers
3396+ are encouraged to develop against this API version. The
3397+ current released version of the API will always be marked
3398+ as CURRENT.
3399+ </p>
3400+ </xsd:documentation>
3401+ </annotation>
3402+ </enumeration>
3403+ <enumeration value="DEPRECATED">
3404+ <annotation>
3405+ <xsd:documentation
3406+ xml:lang="EN"
3407+ xmlns="http://www.w3.org/1999/xhtml">
3408+ <p>
3409+ A status of DEPRECATED indicates that a newer version of
3410+ the API is available. Application developers are
3411+ discouraged from using this version and should instead
3412+ develop against the latest current version of the API.
3413+ </p>
3414+ </xsd:documentation>
3415+ </annotation>
3416+ </enumeration>
3417+ </restriction>
3418+ </simpleType>
3419+</schema>
3420+