summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZiad Sawalha <github@highbridgellc.com>2011-08-11 11:01:41 -0500
committerZiad Sawalha <github@highbridgellc.com>2011-08-11 11:01:41 -0500
commit07874f668fa9027a524498f20fd7abb35e5087f7 (patch)
treed74e86a238a553a1764559babe0bb3d8c254261a
parent616464af78d1a274a8fdf6fd15f76294105573f1 (diff)
Adding documentation to WADL
Change-Id: Icbfad5c13454cc458a60dd9e20792d3e5c2e8227
-rw-r--r--keystone/content/samples/auth.json37
-rw-r--r--keystone/content/samples/auth.xml29
-rw-r--r--keystone/content/samples/auth_credentials.json7
-rw-r--r--keystone/content/samples/auth_credentials.xml5
-rw-r--r--keystone/content/samples/choices.json72
-rw-r--r--keystone/content/samples/choices.xml41
-rw-r--r--keystone/content/samples/endpoint.json6
-rw-r--r--keystone/content/samples/endpoint.xml4
-rw-r--r--keystone/content/samples/endpointTemplate.json11
-rw-r--r--keystone/content/samples/endpointTemplate.xml12
-rw-r--r--keystone/content/samples/endpointTemplates.json43
-rw-r--r--keystone/content/samples/endpointTemplates.xml42
-rw-r--r--keystone/content/samples/endpoints.json24
-rw-r--r--keystone/content/samples/endpoints.xml20
-rw-r--r--keystone/content/samples/ext-getuser.json22
-rw-r--r--keystone/content/samples/ext-getuser.xml13
-rw-r--r--keystone/content/samples/extension.json21
-rw-r--r--keystone/content/samples/extension.xml23
-rw-r--r--keystone/content/samples/extensions.json44
-rw-r--r--keystone/content/samples/extensions.xml39
-rw-r--r--keystone/content/samples/getuser-1.json29
-rw-r--r--keystone/content/samples/getuser-1.xml14
-rw-r--r--keystone/content/samples/group.json6
-rw-r--r--keystone/content/samples/group.xml4
-rw-r--r--keystone/content/samples/groups.json13
-rw-r--r--keystone/content/samples/groups.xml5
-rw-r--r--keystone/content/samples/identity_fault.json7
-rw-r--r--keystone/content/samples/identity_fault.xml6
-rw-r--r--keystone/content/samples/item_not_found.json7
-rw-r--r--keystone/content/samples/item_not_found.xml6
-rw-r--r--keystone/content/samples/role.json6
-rw-r--r--keystone/content/samples/role.xml4
-rw-r--r--keystone/content/samples/roleRef.json7
-rw-r--r--keystone/content/samples/roleRef.xml4
-rw-r--r--keystone/content/samples/roleRefs.json14
-rw-r--r--keystone/content/samples/roleRefs.xml9
-rw-r--r--keystone/content/samples/roles.json12
-rw-r--r--keystone/content/samples/roles.xml6
-rw-r--r--keystone/content/samples/samplerequestheader.json4
-rw-r--r--keystone/content/samples/sampleresponseheader.json4
-rw-r--r--keystone/content/samples/service.json6
-rw-r--r--keystone/content/samples/service.xml4
-rw-r--r--keystone/content/samples/services.json12
-rw-r--r--keystone/content/samples/services.xml6
-rw-r--r--keystone/content/samples/tenant.json7
-rw-r--r--keystone/content/samples/tenant.xml5
-rw-r--r--keystone/content/samples/tenantlock.json5
-rw-r--r--keystone/content/samples/tenantlock.xml4
-rw-r--r--keystone/content/samples/tenants-1.json17
-rw-r--r--keystone/content/samples/tenants-1.xml10
-rw-r--r--keystone/content/samples/tenants-2.json21
-rw-r--r--keystone/content/samples/tenants-2.xml13
-rw-r--r--keystone/content/samples/tenants-3.json17
-rw-r--r--keystone/content/samples/tenants-3.xml10
-rw-r--r--keystone/content/samples/tenants-request.txt5
-rw-r--r--keystone/content/samples/tenants.json21
-rw-r--r--keystone/content/samples/tenants.xml14
-rw-r--r--keystone/content/samples/updatedtenant.json7
-rw-r--r--keystone/content/samples/updatedtenant.xml5
-rw-r--r--keystone/content/samples/validatetoken.json20
-rw-r--r--keystone/content/samples/validatetoken.xml12
-rw-r--r--keystone/content/samples/version-atom.xml19
-rw-r--r--keystone/content/samples/version.json33
-rw-r--r--keystone/content/samples/version.xml23
-rw-r--r--keystone/content/samples/versions-atom.xml29
-rw-r--r--keystone/content/samples/versions.json39
-rw-r--r--keystone/content/samples/versions.xml24
-rw-r--r--keystone/content/xsd/tenant.xsd15
68 files changed, 1085 insertions, 0 deletions
diff --git a/keystone/content/samples/auth.json b/keystone/content/samples/auth.json
new file mode 100644
index 00000000..c74dcb2b
--- /dev/null
+++ b/keystone/content/samples/auth.json
@@ -0,0 +1,37 @@
+{
+ "auth":{
+ "token":{
+ "id":"asdasdasd-adsasdads-asdasdasd-adsadsasd",
+ "expires":"2010-11-01T03:32:15-05:00"
+ },
+ "serviceCatalog":{
+ "service1":[
+ {
+ "region":"DFW",
+ "publicURL":"https://service1-public/v1/blah-blah",
+ "internalURL":"https://service1-internal/v1/blah-blah"
+ },
+ {
+ "region":"ORD",
+ "publicURL":"https://service1-public-ord/v1/blah-blah",
+ "internalURL":"https://service1-internal-ord/v1/blah-blah"
+ }
+ ],
+ "service2":[
+ {
+ "region":"DFW",
+ "publicURL":"https://service2-public-dfw/v1/blah-blah"
+ },
+ {
+ "region":"ORD",
+ "publicURL":"https://service2-public-orf/v1/blah-blah"
+ }
+ ],
+ "service3":[
+ {
+ "publicURL":"https://service3-public/v1/blah-blah"
+ }
+ ]
+ }
+ }
+}
diff --git a/keystone/content/samples/auth.xml b/keystone/content/samples/auth.xml
new file mode 100644
index 00000000..6d90c064
--- /dev/null
+++ b/keystone/content/samples/auth.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<auth xmlns="http://docs.openstack.org/identity/api/v2.0">
+ <token expires="2010-11-01T03:32:15-05:00"
+ id="ab48a9efdfedb23ty3494"/>
+ <serviceCatalog>
+ <service name="service1">
+ <endpoint
+ region="DFW"
+ publicURL="https://service1.public.com/v2.0/blah-blah"
+ internalURL="https://service1.internal.com/v2.0/blah-blah"/>
+ <endpoint
+ region="ORD"
+ publicURL="https://service1.public.com/v2.0/blah-blah"
+ internalURL="https://service1.internal.com/v2.0/blah-blah"/>
+ </service>
+ <service name="service2">
+ <endpoint
+ region="DFW"
+ publicURL="https://service2.public.com/v2.0/blah-blah"/>
+ <endpoint
+ region="ORD"
+ publicURL="https://service2.public.com/v2.0/blah-blah"/>
+ </service>
+ <service name="service3">
+ <endpoint
+ publicURL="https://service3.public.com/v2.0/blah-blah"/>
+ </service>
+ </serviceCatalog>
+</auth>
diff --git a/keystone/content/samples/auth_credentials.json b/keystone/content/samples/auth_credentials.json
new file mode 100644
index 00000000..a886351a
--- /dev/null
+++ b/keystone/content/samples/auth_credentials.json
@@ -0,0 +1,7 @@
+{
+ "passwordCredentials":{
+ "username":"test_user",
+ "password":"a86850deb2742ec3cb41518e26aa2d89",
+ "tenantId":"77654"
+ }
+}
diff --git a/keystone/content/samples/auth_credentials.xml b/keystone/content/samples/auth_credentials.xml
new file mode 100644
index 00000000..56bd91d6
--- /dev/null
+++ b/keystone/content/samples/auth_credentials.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<passwordCredentials
+ xmlns="http://docs.openstack.org/identity/api/v2.0"
+ password="P@ssword1" username="testuser"
+ tenantId="77654"/>
diff --git a/keystone/content/samples/choices.json b/keystone/content/samples/choices.json
new file mode 100644
index 00000000..9beecef0
--- /dev/null
+++ b/keystone/content/samples/choices.json
@@ -0,0 +1,72 @@
+{
+ "choices":{
+ "values":[
+ {
+ "id":"v1.0",
+ "status":"DEPRECATED",
+ "links":[
+ {
+ "rel":"self",
+ "href":"http://identity.api.openstack.org/v2.0"
+ }
+ ],
+ "media-types":{
+ "values":[
+ {
+ "base":"application/xml",
+ "type":"application/vnd.openstack.identity-v1.0+xml"
+ },
+ {
+ "base":"application/json",
+ "type":"application/vnd.openstack.identity-v1.0+json"
+ }
+ ]
+ }
+ },
+ {
+ "id":"v1.1",
+ "status":"CURRENT",
+ "links":[
+ {
+ "rel":"self",
+ "href":"http://identity.api.openstack.org/v1.1"
+ }
+ ],
+ "media-types":{
+ "values":[
+ {
+ "base":"application/xml",
+ "type":"application/vnd.openstack.identity-v1.1+xml"
+ },
+ {
+ "base":"application/json",
+ "type":"application/vnd.openstack.identity-v1.1+json"
+ }
+ ]
+ }
+ },
+ {
+ "id":"v2.0",
+ "status":"BETA",
+ "links":[
+ {
+ "rel":"self",
+ "href":"http://identity.api.openstack.org/v2.0"
+ }
+ ],
+ "media-types":{
+ "values":[
+ {
+ "base":"application/xml",
+ "type":"application/vnd.openstack.identity-v2.0+xml"
+ },
+ {
+ "base":"application/json",
+ "type":"application/vnd.openstack.identity-v2.0+json"
+ }
+ ]
+ }
+ }
+ ]
+ }
+}
diff --git a/keystone/content/samples/choices.xml b/keystone/content/samples/choices.xml
new file mode 100644
index 00000000..134c9d00
--- /dev/null
+++ b/keystone/content/samples/choices.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<choices xmlns="http://docs.openstack.org/common/api/v2.0"
+ xmlns:atom="http://www.w3.org/2005/Atom">
+
+ <version id="v1.0" status="DEPRECATED">
+ <media-types>
+ <media-type base="application/xml"
+ type="application/vnd.openstack.identity-v1.0+xml"/>
+ <media-type base="application/json"
+ type="application/vnd.openstack.identity-v1.0+json"/>
+ </media-types>
+
+ <atom:link rel="self"
+ href="http://identity.api.openstack.org/v1.0"/>
+ </version>
+
+ <version id="v1.1" status="CURRENT">
+ <media-types>
+ <media-type base="application/xml"
+ type="application/vnd.openstack.identity-v1.1+xml"/>
+ <media-type base="application/json"
+ type="application/vnd.openstack.identity-v1.1+json"/>
+ </media-types>
+
+ <atom:link rel="self"
+ href="http://identity.api.openstack.org/v1.1"/>
+ </version>
+
+ <version id="v2.0" status="BETA">
+ <media-types>
+ <media-type base="application/xml"
+ type="application/vnd.openstack.identity-v2.0+xml"/>
+ <media-type base="application/json"
+ type="application/vnd.openstack.identity-v2.0+json"/>
+ </media-types>
+
+ <atom:link rel="self"
+ href="http://identity.api.openstack.org/v2.0"/>
+ </version>
+</choices>
diff --git a/keystone/content/samples/endpoint.json b/keystone/content/samples/endpoint.json
new file mode 100644
index 00000000..8ca1f099
--- /dev/null
+++ b/keystone/content/samples/endpoint.json
@@ -0,0 +1,6 @@
+{
+ "endpoint":{
+ "id":3,
+ "href":"https://auth.keystone.com/v2.0/baseURLs/1"
+ }
+}
diff --git a/keystone/content/samples/endpoint.xml b/keystone/content/samples/endpoint.xml
new file mode 100644
index 00000000..8ff1e48c
--- /dev/null
+++ b/keystone/content/samples/endpoint.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<endpoint xmlns="http://docs.openstack.org/identity/api/v2.0"
+ id="3" />
diff --git a/keystone/content/samples/endpointTemplate.json b/keystone/content/samples/endpointTemplate.json
new file mode 100644
index 00000000..2ed4917f
--- /dev/null
+++ b/keystone/content/samples/endpointTemplate.json
@@ -0,0 +1,11 @@
+{
+ "endpointTemplate":{
+ "id":1,
+ "region":"DFW",
+ "global":true,
+ "serviceName":"service1",
+ "publicURL":"https://service-public.com/v1",
+ "internalURL":"https://service-internal.com/v1",
+ "enabled":true
+ }
+}
diff --git a/keystone/content/samples/endpointTemplate.xml b/keystone/content/samples/endpointTemplate.xml
new file mode 100644
index 00000000..31f4eaeb
--- /dev/null
+++ b/keystone/content/samples/endpointTemplate.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<endpointTemplate
+ xmlns="http://docs.openstack.org/identity/api/v2.0"
+ id="1"
+ region="DFW"
+ global="true"
+ serviceName="service1"
+ publicURL="https://service-public.com/v1"
+ internalURL="https://service-internal.com/v1"
+ enabled="true"
+ />
diff --git a/keystone/content/samples/endpointTemplates.json b/keystone/content/samples/endpointTemplates.json
new file mode 100644
index 00000000..488e8c5d
--- /dev/null
+++ b/keystone/content/samples/endpointTemplates.json
@@ -0,0 +1,43 @@
+{
+ "endpointsTemplates":[
+ {
+ "id":1,
+ "region":"DFW",
+ "global":true,
+ "serviceName":"service1",
+ "publicURL":"https://service1.public.com/v1",
+ "internalURL":"https://service1.internal.com/v1",
+ "enabled":true
+ },
+ {
+ "id":2,
+ "region":"ORD",
+ "serviceName":"service2",
+ "publicURL":"https://service2.public.com/v1",
+ "internalURL":"https://service2.internal.com/v1",
+ "enabled":false
+ },
+ {
+ "id":3,
+ "region":"DFW",
+ "global":true,
+ "serviceName":"service1",
+ "publicURL":"https://service.public.com/v1.0",
+ "enabled":true
+ },
+ {
+ "id":4,
+ "region":"ORD",
+ "serviceName":"service2",
+ "publicURL":"https://service2.public.com/v2",
+ "enabled":true
+ },
+ {
+ "id":5,
+ "global":true,
+ "serviceName":"service3",
+ "publicURL":"https://service3.public.com/v3.2",
+ "enabled":true
+ }
+ ]
+}
diff --git a/keystone/content/samples/endpointTemplates.xml b/keystone/content/samples/endpointTemplates.xml
new file mode 100644
index 00000000..60a9d2e4
--- /dev/null
+++ b/keystone/content/samples/endpointTemplates.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<endpointTemplates xmlns="http://docs.openstack.org/identity/api/v2.0">
+ <endpointTemplate
+ id="1"
+ region="DFW"
+ global="true"
+ serviceName="service1"
+ publicURL="https://service1.public.com/v1"
+ internalURL="https://service1.internal.clouddrive.com/v1"
+ enabled="true"
+ />
+ <endpointTemplate
+ id="2"
+ region="ORD"
+ serviceName="service2"
+ publicURL="https://service2.public.com/v1"
+ internalURL="https://service2.internal.public.com/v1"
+ enabled="false"
+ />
+ <endpointTemplate
+ id="3"
+ region="DFW"
+ global="true"
+ serviceName="service1"
+ publicURL="https://service1.public.com/v1"
+ enabled="true"
+ />
+ <endpointTemplate
+ id="4"
+ region="ORD"
+ serviceName="service2"
+ publicURL="https://service2.public.com/v1"
+ enabled="true"
+ />
+ <endpointTemplate
+ id="5"
+ global="true"
+ serviceName="service3"
+ publicURL="https://service3.public.com/v1"
+ />
+</endpointTemplates>
diff --git a/keystone/content/samples/endpoints.json b/keystone/content/samples/endpoints.json
new file mode 100644
index 00000000..f8c79aa2
--- /dev/null
+++ b/keystone/content/samples/endpoints.json
@@ -0,0 +1,24 @@
+{
+ "endpoints":[
+ {
+ "id":1,
+ "href":"https://auth.keystone.com/v2.0/baseURLs/1"
+ },
+ {
+ "id":2,
+ "href":"https://auth.keystone.com/v2.0/baseURLs/2"
+ },
+ {
+ "id":3,
+ "href":"https://auth.keystone.com/v2.0/baseURLs/3"
+ },
+ {
+ "id":4,
+ "href":"https://auth.keystone.com/v2.0/baseURLs/4"
+ },
+ {
+ "id":5,
+ "href":"https://auth.keystone.com/v2.0/baseURLs/5"
+ }
+ ]
+}
diff --git a/keystone/content/samples/endpoints.xml b/keystone/content/samples/endpoints.xml
new file mode 100644
index 00000000..3fa46c4c
--- /dev/null
+++ b/keystone/content/samples/endpoints.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<endpoints
+ xmlns="http://docs.openstack.org/identity/api/v2.0">
+ <endpoint
+ href="https://auth.keystone.com/v2.0/baseURLs/1"
+ id="1" />
+ <endpoint
+ href="https://auth.keystone.com/v2.0/baseURLs/2"
+ id="2" />
+ <endpoint
+ href="https://auth.keystone.com/v2.0/baseURLs/3"
+ id="3" />
+ <endpoint
+ href="https://auth.keystone.com/v2.0/baseURLs/4"
+ id="4" />
+ <endpoint
+ href="https://auth.keystone.com/v2.0/baseURLs/5"
+ id="5" />
+</endpoints>
diff --git a/keystone/content/samples/ext-getuser.json b/keystone/content/samples/ext-getuser.json
new file mode 100644
index 00000000..34068f54
--- /dev/null
+++ b/keystone/content/samples/ext-getuser.json
@@ -0,0 +1,22 @@
+{
+ "user":{
+ "groups":{
+ "values":[
+ {
+ "tenantId":"1234",
+ "id":"Admin"
+ }
+ ]
+ },
+ "id":"jqsmith",
+ "tenantId":"1234",
+ "email":"john.smith@example.org",
+ "enabled":true,
+ "RS-META:metadata":{
+ "values":{
+ "MetaKey1":"MetaValue1",
+ "MetaKey2":"MetaValue2"
+ }
+ }
+ }
+}
diff --git a/keystone/content/samples/ext-getuser.xml b/keystone/content/samples/ext-getuser.xml
new file mode 100644
index 00000000..bf0a9c6e
--- /dev/null
+++ b/keystone/content/samples/ext-getuser.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<user xmlns="http://docs.openstack.org/identity/api/v2.0"
+ enabled="true" email="john.smith@example.org"
+ tenantId="1234" id="jqsmith">
+ <groups>
+ <group tenantId="1234" id="Admin"/>
+ </groups>
+ <metadata
+ xmlns="http://docs.rackspacecloud.com/identity/api/ext/meta/v2.0">
+ <meta key="MetaKey1">MetaValue1</meta>
+ <meta key="MetaKey2">MetaValue2</meta>
+ </metadata>
+</user>
diff --git a/keystone/content/samples/extension.json b/keystone/content/samples/extension.json
new file mode 100644
index 00000000..74773915
--- /dev/null
+++ b/keystone/content/samples/extension.json
@@ -0,0 +1,21 @@
+{
+ "extension":{
+ "name":"User Metadata Extension",
+ "namespace":"http://docs.rackspacecloud.com/identity/api/ext/meta/v2.0",
+ "alias":"RS-META",
+ "updated":"2011-01-12T11:22:33-06:00",
+ "description":"Allows associating arbritrary metadata with a user.",
+ "links":[
+ {
+ "rel":"describedby",
+ "type":"application/pdf",
+ "href":"http://docs.rackspacecloud.com/identity/api/ext/identity-meta-20111201.pdf"
+ },
+ {
+ "rel":"describedby",
+ "type":"application/vnd.sun.wadl+xml",
+ "href":"http://docs.rackspacecloud.com/identity/api/ext/identity-cbs.wadl"
+ }
+ ]
+ }
+}
diff --git a/keystone/content/samples/extension.xml b/keystone/content/samples/extension.xml
new file mode 100644
index 00000000..056d7e96
--- /dev/null
+++ b/keystone/content/samples/extension.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<extension xmlns="http://docs.openstack.org/common/api/v1.0"
+ xmlns:atom="http://www.w3.org/2005/Atom"
+ name="User Metadata Extension"
+ namespace="http://docs.rackspacecloud.com/identity/api/ext/meta/v2.0"
+ alias="RS-META"
+ updated="2011-01-12T11:22:33-06:00">
+
+ <description>
+ Allows associating arbritrary metadata with a user.
+ </description>
+
+ <atom:link rel="describedby"
+ type="application/pdf"
+ href="http://docs.rackspacecloud.com/identity/api/ext/identity-meta-20111201.pdf"/>
+ <atom:link rel="describedby"
+ type="application/vnd.sun.wadl+xml"
+ href="http://docs.rackspacecloud.com/identity/api/ext/identity-meta.wadl"/>
+
+</extension>
+
+
diff --git a/keystone/content/samples/extensions.json b/keystone/content/samples/extensions.json
new file mode 100644
index 00000000..53d8d508
--- /dev/null
+++ b/keystone/content/samples/extensions.json
@@ -0,0 +1,44 @@
+{
+ "extensions":{
+ "values":[
+ {
+ "name":"Reset Password Extension",
+ "namespace":"http://docs.rackspacecloud.com/identity/api/ext/rpe/v2.0",
+ "alias":"RS-RPE",
+ "updated":"2011-01-22T13:25:27-06:00",
+ "description":"Adds the capability to reset a user's password. The user is emailed when the password has been reset.",
+ "links":[
+ {
+ "rel":"describedby",
+ "type":"application/pdf",
+ "href":"http://docs.rackspacecloud.com/identity/api/ext/identity-rpe-20111111.pdf"
+ },
+ {
+ "rel":"describedby",
+ "type":"application/vnd.sun.wadl+xml",
+ "href":"http://docs.rackspacecloud.com/identity/api/ext/identity-rpe.wadl"
+ }
+ ]
+ },
+ {
+ "name":"User Metadata Extension",
+ "namespace":"http://docs.rackspacecloud.com/identity/api/ext/meta/v2.0",
+ "alias":"RS-META",
+ "updated":"2011-01-12T11:22:33-06:00",
+ "description":"Allows associating arbritrary metadata with a user.",
+ "links":[
+ {
+ "rel":"describedby",
+ "type":"application/pdf",
+ "href":"http://docs.rackspacecloud.com/identity/api/ext/identity-meta-20111201.pdf"
+ },
+ {
+ "rel":"describedby",
+ "type":"application/vnd.sun.wadl+xml",
+ "href":"http://docs.rackspacecloud.com/identity/api/ext/identity-meta.wadl"
+ }
+ ]
+ }
+ ]
+ }
+}
diff --git a/keystone/content/samples/extensions.xml b/keystone/content/samples/extensions.xml
new file mode 100644
index 00000000..c11b06d7
--- /dev/null
+++ b/keystone/content/samples/extensions.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<extensions xmlns="http://docs.openstack.org/common/api/v1.0"
+ xmlns:atom="http://www.w3.org/2005/Atom">
+ <extension
+ name="Reset Password Extension"
+ namespace="http://docs.rackspacecloud.com/identity/api/ext/rpe/v1.0"
+ alias="RS-RPE"
+ updated="2011-01-22T13:25:27-06:00">
+
+ <description>
+ Adds the capability to reset a user's password. The user is
+ emailed when the password has been reset.
+ </description>
+
+ <atom:link rel="describedby"
+ type="application/pdf"
+ href="http://docs.rackspacecloud.com/identity/api/ext/identity-rpe-20111111.pdf"/>
+ <atom:link rel="describedby"
+ type="application/vnd.sun.wadl+xml"
+ href="http://docs.rackspacecloud.com/identity/api/ext/identity-rpe.wadl"/>
+ </extension>
+ <extension
+ name="User Metadata Extension"
+ namespace="http://docs.rackspacecloud.com/identity/api/ext/meta/v2.0"
+ alias="RS-META"
+ updated="2011-01-12T11:22:33-06:00">
+ <description>
+ Allows associating arbritrary metadata with a user.
+ </description>
+
+ <atom:link rel="describedby"
+ type="application/pdf"
+ href="http://docs.rackspacecloud.com/identity/api/ext/identity-meta-20111201.pdf"/>
+ <atom:link rel="describedby"
+ type="application/vnd.sun.wadl+xml"
+ href="http://docs.rackspacecloud.com/identity/api/ext/identity-meta.wadl"/>
+ </extension>
+</extensions>
diff --git a/keystone/content/samples/getuser-1.json b/keystone/content/samples/getuser-1.json
new file mode 100644
index 00000000..b0f6dc95
--- /dev/null
+++ b/keystone/content/samples/getuser-1.json
@@ -0,0 +1,29 @@
+{
+ "user":{
+ "groups":{
+ "values":[
+ {
+ "tenantId":"1234",
+ "id":"Admin"
+ },
+ {
+ "tenantId":"1234",
+ "id":"DBUser"
+ },
+ {
+ "id":"Super"
+ }
+ ],
+ "links":[
+ {
+ "rel":"next",
+ "href":"http://identity.api.openstack.org/v2.0/tenants/1234/users/jqsmith/groups?marker=Super"
+ }
+ ]
+ },
+ "id":"jqsmith",
+ "tenantId":"1234",
+ "email":"john.smith@example.org",
+ "enabled":true
+ }
+}
diff --git a/keystone/content/samples/getuser-1.xml b/keystone/content/samples/getuser-1.xml
new file mode 100644
index 00000000..cc0f5fc6
--- /dev/null
+++ b/keystone/content/samples/getuser-1.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<user xmlns="http://docs.openstack.org/identity/api/v2.0"
+ xmlns:atom="http://www.w3.org/2005/Atom"
+ enabled="true" email="john.smith@example.org"
+ tenantId="1234" id="jqsmith">
+ <groups>
+ <group tenantId="1234" id="Admin"/>
+ <group tenantId="1234" id="DBUser"/>
+ <group id="Super"/>
+ <atom:link
+ rel="next"
+ href="http://identity.api.openstack.org/v2.0/tenants/1234/users/jqsmith/groups?marker=Super"/>
+ </groups>
+</user>
diff --git a/keystone/content/samples/group.json b/keystone/content/samples/group.json
new file mode 100644
index 00000000..4e4fdc5e
--- /dev/null
+++ b/keystone/content/samples/group.json
@@ -0,0 +1,6 @@
+{
+ "group":{
+ "id":"test_global_group",
+ "description":"A description ..."
+ }
+}
diff --git a/keystone/content/samples/group.xml b/keystone/content/samples/group.xml
new file mode 100644
index 00000000..0f285307
--- /dev/null
+++ b/keystone/content/samples/group.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<group xmlns="http://docs.openstack.org/identity/api/v2.0" id="test group">
+ <description>A Description of the group</description>
+</group>
diff --git a/keystone/content/samples/groups.json b/keystone/content/samples/groups.json
new file mode 100644
index 00000000..6d565eb6
--- /dev/null
+++ b/keystone/content/samples/groups.json
@@ -0,0 +1,13 @@
+{
+ "groups":{
+ "values":[
+ {
+ "id":"test_global_group_add",
+ "description":"A description ..."
+ }
+ ],
+ "links":[
+
+ ]
+ }
+}
diff --git a/keystone/content/samples/groups.xml b/keystone/content/samples/groups.xml
new file mode 100644
index 00000000..a429fdb3
--- /dev/null
+++ b/keystone/content/samples/groups.xml
@@ -0,0 +1,5 @@
+<groups xmlns="http://docs.openstack.org/identity/api/v2.0">
+ <group xmlns="http://docs.openstack.org/identity/api/v2.0" id="test_global_group_add">
+ <description>A Description of the group</description>
+ </group>
+</groups>
diff --git a/keystone/content/samples/identity_fault.json b/keystone/content/samples/identity_fault.json
new file mode 100644
index 00000000..1aab06dc
--- /dev/null
+++ b/keystone/content/samples/identity_fault.json
@@ -0,0 +1,7 @@
+{
+ "identityFault":{
+ "message":"Fault",
+ "details":"Error Details...",
+ "code":500
+ }
+}
diff --git a/keystone/content/samples/identity_fault.xml b/keystone/content/samples/identity_fault.xml
new file mode 100644
index 00000000..6787af21
--- /dev/null
+++ b/keystone/content/samples/identity_fault.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<identityFault xmlns="http://docs.openstack.org/identity/api/v2.0"
+ code="500">
+ <message>Fault</message>
+ <details>Error Details...</details>
+</identityFault>
diff --git a/keystone/content/samples/item_not_found.json b/keystone/content/samples/item_not_found.json
new file mode 100644
index 00000000..248ed146
--- /dev/null
+++ b/keystone/content/samples/item_not_found.json
@@ -0,0 +1,7 @@
+{
+ "itemNotFound":{
+ "message":"Item not found.",
+ "details":"Error Details...",
+ "code":404
+ }
+}
diff --git a/keystone/content/samples/item_not_found.xml b/keystone/content/samples/item_not_found.xml
new file mode 100644
index 00000000..3f78b498
--- /dev/null
+++ b/keystone/content/samples/item_not_found.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<itemNotFound xmlns="http://docs.openstack.org/identity/api/v2.0"
+ code="404">
+ <message>Item not found.</message>
+ <details>Error Details...</details>
+</itemNotFound>
diff --git a/keystone/content/samples/role.json b/keystone/content/samples/role.json
new file mode 100644
index 00000000..21a87200
--- /dev/null
+++ b/keystone/content/samples/role.json
@@ -0,0 +1,6 @@
+{
+ "role":{
+ "id":"Guest",
+ "description":"Guest Access"
+ }
+ }
diff --git a/keystone/content/samples/role.xml b/keystone/content/samples/role.xml
new file mode 100644
index 00000000..48fe20d8
--- /dev/null
+++ b/keystone/content/samples/role.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<role xmlns="http://docs.openstack.org/identity/api/v2.0" id="Admin"
+ description="All Access" />
diff --git a/keystone/content/samples/roleRef.json b/keystone/content/samples/roleRef.json
new file mode 100644
index 00000000..faa74283
--- /dev/null
+++ b/keystone/content/samples/roleRef.json
@@ -0,0 +1,7 @@
+{
+ "roleRef":{
+ "id":1,
+ "roleId":"admin",
+ "tenantId":"one"
+ }
+}
diff --git a/keystone/content/samples/roleRef.xml b/keystone/content/samples/roleRef.xml
new file mode 100644
index 00000000..29115ee2
--- /dev/null
+++ b/keystone/content/samples/roleRef.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<roleRef xmlns="http://docs.openstack.org/identity/api/v2.0"
+ id="1" roleId="Admin" tenantId="tenantId"/>
diff --git a/keystone/content/samples/roleRefs.json b/keystone/content/samples/roleRefs.json
new file mode 100644
index 00000000..34e391f5
--- /dev/null
+++ b/keystone/content/samples/roleRefs.json
@@ -0,0 +1,14 @@
+{
+ "roleRefs":[
+ {
+ "id":1,
+ "roleId":"admin",
+ "tenantId":"one"
+ },
+ {
+ "id":2,
+ "roleId":"test",
+ "tenantId":"two"
+ }
+ ]
+}
diff --git a/keystone/content/samples/roleRefs.xml b/keystone/content/samples/roleRefs.xml
new file mode 100644
index 00000000..bd7ee983
--- /dev/null
+++ b/keystone/content/samples/roleRefs.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<roleRefs
+ xmlns="http://docs.openstack.org/identity/api/v2.0">
+ <roleRef xmlns="http://docs.openstack.org/identity/api/v2.0"
+ roleId="admin" id="3" tenantId="tenantId"/>
+ <roleRef xmlns="http://docs.openstack.org/identity/api/v2.0"
+ roleId="test" id="4" tenantId="tenantId"/>
+</roleRefs>
diff --git a/keystone/content/samples/roles.json b/keystone/content/samples/roles.json
new file mode 100644
index 00000000..4f1428e4
--- /dev/null
+++ b/keystone/content/samples/roles.json
@@ -0,0 +1,12 @@
+{
+ "roles":[
+ {
+ "id":"Admin",
+ "description":"All access"
+ },
+ {
+ "id":"Guest",
+ "description":"Guest Access"
+ }
+ ]
+}
diff --git a/keystone/content/samples/roles.xml b/keystone/content/samples/roles.xml
new file mode 100644
index 00000000..bf128ff4
--- /dev/null
+++ b/keystone/content/samples/roles.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<roles xmlns="http://docs.openstack.org/identity/api/v2.0">
+ <role id="Admin" description="All Access" />
+ <role id="Guest" description="Guest Access" />
+</roles> \ No newline at end of file
diff --git a/keystone/content/samples/samplerequestheader.json b/keystone/content/samples/samplerequestheader.json
new file mode 100644
index 00000000..5641d874
--- /dev/null
+++ b/keystone/content/samples/samplerequestheader.json
@@ -0,0 +1,4 @@
+POST /v2.0/tokens HTTP/1.1
+Host: identity.api.openstack.org
+Content-Type: application/json
+Accept: application/xml \ No newline at end of file
diff --git a/keystone/content/samples/sampleresponseheader.json b/keystone/content/samples/sampleresponseheader.json
new file mode 100644
index 00000000..aee1205a
--- /dev/null
+++ b/keystone/content/samples/sampleresponseheader.json
@@ -0,0 +1,4 @@
+HTTP/1.1 200 OKAY
+Date: Mon, 12 Nov 2010 15:55:01 GMT
+Content-Length:
+Content-Type: application/xml; charset=UTF-8 \ No newline at end of file
diff --git a/keystone/content/samples/service.json b/keystone/content/samples/service.json
new file mode 100644
index 00000000..b7bf0149
--- /dev/null
+++ b/keystone/content/samples/service.json
@@ -0,0 +1,6 @@
+{
+ "service":{
+ "id":"nova",
+ "description":"A description ..."
+ }
+}
diff --git a/keystone/content/samples/service.xml b/keystone/content/samples/service.xml
new file mode 100644
index 00000000..a534365d
--- /dev/null
+++ b/keystone/content/samples/service.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<service xmlns="http://docs.openstack.org/identity/api/v2.0" id="nova"
+ description="All Access" />
diff --git a/keystone/content/samples/services.json b/keystone/content/samples/services.json
new file mode 100644
index 00000000..93fd4434
--- /dev/null
+++ b/keystone/content/samples/services.json
@@ -0,0 +1,12 @@
+{
+ "services":[
+ {
+ "id":"nova",
+ "description":"All access"
+ },
+ {
+ "id":"glance",
+ "description":"Guest Access"
+ }
+ ]
+}
diff --git a/keystone/content/samples/services.xml b/keystone/content/samples/services.xml
new file mode 100644
index 00000000..04e85863
--- /dev/null
+++ b/keystone/content/samples/services.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<services xmlns="http://docs.openstack.org/identity/api/v2.0">
+ <service id="Nova" description="Openstack Service" />
+ <service id="Glance" description="Openstack Service" />
+</services> \ No newline at end of file
diff --git a/keystone/content/samples/tenant.json b/keystone/content/samples/tenant.json
new file mode 100644
index 00000000..cf6ca370
--- /dev/null
+++ b/keystone/content/samples/tenant.json
@@ -0,0 +1,7 @@
+{
+ "tenant":{
+ "id":"1234",
+ "description":"A description ...",
+ "enabled":true
+ }
+}
diff --git a/keystone/content/samples/tenant.xml b/keystone/content/samples/tenant.xml
new file mode 100644
index 00000000..83210f87
--- /dev/null
+++ b/keystone/content/samples/tenant.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tenant xmlns="http://docs.openstack.org/identity/api/v2.0"
+ enabled="true" id="1234">
+ <description>A description...</description>
+</tenant>
diff --git a/keystone/content/samples/tenantlock.json b/keystone/content/samples/tenantlock.json
new file mode 100644
index 00000000..a0f5b138
--- /dev/null
+++ b/keystone/content/samples/tenantlock.json
@@ -0,0 +1,5 @@
+{
+ "tenant":{
+ "description":"A NEW description..."
+ }
+}
diff --git a/keystone/content/samples/tenantlock.xml b/keystone/content/samples/tenantlock.xml
new file mode 100644
index 00000000..06a68a83
--- /dev/null
+++ b/keystone/content/samples/tenantlock.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tenant xmlns="http://docs.openstack.org/identity/api/v2.0">
+ <description>A NEW description...</description>
+</tenant>
diff --git a/keystone/content/samples/tenants-1.json b/keystone/content/samples/tenants-1.json
new file mode 100644
index 00000000..67f16deb
--- /dev/null
+++ b/keystone/content/samples/tenants-1.json
@@ -0,0 +1,17 @@
+{
+ "tenants":{
+ "values":[
+ {
+ "id":"1234",
+ "description":"A description ...",
+ "enabled":true
+ }
+ ],
+ "links":[
+ {
+ "rel":"next",
+ "href":"http://identity.api.openstack.org/v2.0/tenants?limit=1&marker=1234"
+ }
+ ]
+ }
+}
diff --git a/keystone/content/samples/tenants-1.xml b/keystone/content/samples/tenants-1.xml
new file mode 100644
index 00000000..18fcbfd3
--- /dev/null
+++ b/keystone/content/samples/tenants-1.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tenants xmlns="http://docs.openstack.org/identity/api/v2.0"
+ xmlns:atom="http://www.w3.org/2005/Atom">
+ <tenant enabled="true" id="1234">
+ <description>A description...</description>
+ </tenant>
+ <atom:link
+ rel="next"
+ href="http://identity.api.openstack.org/v2.0/tenants?limit=1&amp;marker=1234"/>
+</tenants>
diff --git a/keystone/content/samples/tenants-2.json b/keystone/content/samples/tenants-2.json
new file mode 100644
index 00000000..cc0e9f03
--- /dev/null
+++ b/keystone/content/samples/tenants-2.json
@@ -0,0 +1,21 @@
+{
+ "tenants":{
+ "values":[
+ {
+ "id":"3645",
+ "description":"A description ...",
+ "enabled":true
+ }
+ ],
+ "links":[
+ {
+ "rel":"next",
+ "href":"http://identity.api.openstack.org/v2.0/tenants?limit=1&marker=3645"
+ },
+ {
+ "rel":"previous",
+ "href":"http://identity.api.openstack.org/v2.0/tenants?limit=1"
+ }
+ ]
+ }
+}
diff --git a/keystone/content/samples/tenants-2.xml b/keystone/content/samples/tenants-2.xml
new file mode 100644
index 00000000..4ad53477
--- /dev/null
+++ b/keystone/content/samples/tenants-2.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tenants xmlns="http://docs.openstack.org/identity/api/v2.0"
+ xmlns:atom="http://www.w3.org/2005/Atom">
+ <tenant enabled="true" id="3645">
+ <description>A description...</description>
+ </tenant>
+ <atom:link
+ rel="previous"
+ href="http://identity.api.openstack.org/v2.0/tenants?limit=1"/>
+ <atom:link
+ rel="next"
+ href="http://identity.api.openstack.org/v2.0/tenants?limit=1&amp;marker=3645"/>
+</tenants>
diff --git a/keystone/content/samples/tenants-3.json b/keystone/content/samples/tenants-3.json
new file mode 100644
index 00000000..eb0ed803
--- /dev/null
+++ b/keystone/content/samples/tenants-3.json
@@ -0,0 +1,17 @@
+{
+ "tenants":{
+ "values":[
+ {
+ "id":"9999",
+ "description":"A description ...",
+ "enabled":true
+ }
+ ],
+ "links":[
+ {
+ "rel":"previous",
+ "href":"http://identity.api.openstack.org/v2.0/tenants?limit=1&marker=1234"
+ }
+ ]
+ }
+}
diff --git a/keystone/content/samples/tenants-3.xml b/keystone/content/samples/tenants-3.xml
new file mode 100644
index 00000000..7bbd88a7
--- /dev/null
+++ b/keystone/content/samples/tenants-3.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tenants xmlns="http://docs.openstack.org/identity/api/v2.0"
+ xmlns:atom="http://www.w3.org/2005/Atom">
+ <tenant enabled="true" id="9999">
+ <description>A description...</description>
+ </tenant>
+ <atom:link
+ rel="previous"
+ href="http://identity.api.openstack.org/v2.0/tenants?limit=1&amp;marker=1234"/>
+</tenants>
diff --git a/keystone/content/samples/tenants-request.txt b/keystone/content/samples/tenants-request.txt
new file mode 100644
index 00000000..9dbf85e5
--- /dev/null
+++ b/keystone/content/samples/tenants-request.txt
@@ -0,0 +1,5 @@
+GET /v2.0/tenants HTTP/1.1
+Host: identity.api.openstack.org
+Content-Type: application/json
+X-Auth-Token: fa8426a0-8eaf-4d22-8e13-7c1b16a9370c
+Accept: application/json \ No newline at end of file
diff --git a/keystone/content/samples/tenants.json b/keystone/content/samples/tenants.json
new file mode 100644
index 00000000..7077a2da
--- /dev/null
+++ b/keystone/content/samples/tenants.json
@@ -0,0 +1,21 @@
+HTTP/1.1 200 OK
+Content-Type: application/json; charset=UTF-8
+Content-Length: 100
+Date: Sun, 1 Jan 2011 9:00:00 GMT
+
+{
+ "tenants":{
+ "values":[
+ {
+ "id":"1234",
+ "description":"A description ...",
+ "enabled":true
+ },
+ {
+ "id":"3456",
+ "description":"A description ...",
+ "enabled":true
+ }
+ ]
+ }
+} \ No newline at end of file
diff --git a/keystone/content/samples/tenants.xml b/keystone/content/samples/tenants.xml
new file mode 100644
index 00000000..2a9e9c3b
--- /dev/null
+++ b/keystone/content/samples/tenants.xml
@@ -0,0 +1,14 @@
+HTTP/1.1 200 OK
+Content-Type: application/xml; charset=UTF-8
+Content-Length: 200
+Date: Sun, 1 Jan 2011 9:00:00 GMT
+
+<?xml version="1.0" encoding="UTF-8"?>
+<tenants xmlns="http://docs.openstack.org/identity/api/v2.0">
+ <tenant enabled="true" id="1234">
+ <description>A description...</description>
+ </tenant>
+ <tenant enabled="true" id="3645">
+ <description>A description...</description>
+ </tenant>
+</tenants>
diff --git a/keystone/content/samples/updatedtenant.json b/keystone/content/samples/updatedtenant.json
new file mode 100644
index 00000000..9349c90f
--- /dev/null
+++ b/keystone/content/samples/updatedtenant.json
@@ -0,0 +1,7 @@
+{
+ "tenant":{
+ "id":"1234",
+ "description":"A NEW description...",
+ "enabled":true
+ }
+}
diff --git a/keystone/content/samples/updatedtenant.xml b/keystone/content/samples/updatedtenant.xml
new file mode 100644
index 00000000..51999a4d
--- /dev/null
+++ b/keystone/content/samples/updatedtenant.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tenant xmlns="http://docs.openstack.org/identity/api/v2.0"
+ enabled="true" id="1234">
+ <description>A NEW description...</description>
+</tenant>
diff --git a/keystone/content/samples/validatetoken.json b/keystone/content/samples/validatetoken.json
new file mode 100644
index 00000000..989d28ff
--- /dev/null
+++ b/keystone/content/samples/validatetoken.json
@@ -0,0 +1,20 @@
+{
+ "auth":{
+ "token":{
+ "expires":"2010-11-01T03:32:15-05:00",
+ "id":"ab48a9efdfedb23ty3494",
+ "tenantId":"1234"
+ },
+ "user":{
+ "username":"jqsmith",
+ "roleRefs":[
+ {
+ "roleId":"Admin",
+ "id":1,
+ "tenantId":"one"
+ }
+ ],
+ "tenantId":"1234"
+ }
+ }
+}
diff --git a/keystone/content/samples/validatetoken.xml b/keystone/content/samples/validatetoken.xml
new file mode 100644
index 00000000..18f26802
--- /dev/null
+++ b/keystone/content/samples/validatetoken.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<auth xmlns="http://docs.openstack.org/identity/api/v2.0">
+ <token expires="2010-11-01T03:32:15-05:00"
+ id="ab48a9efdfedb23ty3494"
+ tenantId="1234"/>
+ <user username="jqsmith" tenantId="1234">
+ <roleRefs xmlns="http://docs.openstack.org/identity/api/v2.0">
+ <roleRef xmlns="http://docs.openstack.org/identity/api/v2.0"
+ id="4" roleId="Admin" tenantId="1234"/>
+ </roleRefs>
+ </user>
+</auth>
diff --git a/keystone/content/samples/version-atom.xml b/keystone/content/samples/version-atom.xml
new file mode 100644
index 00000000..004a5444
--- /dev/null
+++ b/keystone/content/samples/version-atom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <title type="text">About This Version</title>
+ <updated>2011-01-21T11:33:21-06:00</updated>
+ <id>http://identity.api.openstack.org/v2.0/</id>
+ <author><name>OpenStack</name><uri>http://www.openstack.org/</uri></author>
+ <link rel="self" href="http://identity.api.openstack.org/v2.0/"/>
+ <entry>
+ <id>http://identity.api.openstack.org/v2.0/</id>
+ <title type="text">Version v2.0</title>
+ <updated>2011-01-21T11:33:21-06:00</updated>
+ <link rel="self" href="http://identity.api.openstack.org/v2.0/"/>
+ <link rel="describedby" type="application/pdf"
+ href="http://docs.openstack.org/identity/api/v2.0/identity-devguide-20110125.pdf"/>
+ <link rel="describedby" type="application/vnd.sun.wadl+xml"
+ href="http://docs.openstack.org/identity/api/v2.0/application.wadl"/>
+ <content type="text">Version v2.0 CURRENT (2011-01-21T11:33:21-06:00)</content>
+ </entry>
+</feed>
diff --git a/keystone/content/samples/version.json b/keystone/content/samples/version.json
new file mode 100644
index 00000000..d204cabb
--- /dev/null
+++ b/keystone/content/samples/version.json
@@ -0,0 +1,33 @@
+{
+ "version":{
+ "id":"v2.0",
+ "status":"CURRENT",
+ "updated":"2011-01-21T11:33:21-06:00",
+ "links":[
+ {
+ "rel":"self",
+ "href":"http://identity.api.openstack.org/v2.0/"
+ },
+ {
+ "rel":"describedby",
+ "type":"application/pdf",
+ "href":"http://docs.rackspacecloud.com/identity/api/v2.0/identity-devguide-20110125.pdf"
+ },
+ {
+ "rel":"describedby",
+ "type":"application/vnd.sun.wadl+xml",
+ "href":"http://docs.rackspacecloud.com/identity/api/v2.0/application.wadl"
+ }
+ ],
+ "media-types":[
+ {
+ "base":"application/xml",
+ "type":"application/vnd.openstack.identity-v2.0+xml"
+ },
+ {
+ "base":"application/json",
+ "type":"application/vnd.openstack.identity-v2.0+json"
+ }
+ ]
+ }
+}
diff --git a/keystone/content/samples/version.xml b/keystone/content/samples/version.xml
new file mode 100644
index 00000000..0e884504
--- /dev/null
+++ b/keystone/content/samples/version.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<version xmlns="http://docs.openstack.org/common/api/v1.0"
+ xmlns:atom="http://www.w3.org/2005/Atom"
+ id="v2.0" status="CURRENT" updated="2011-01-21T11:33:21-06:00">
+
+ <media-types>
+ <media-type base="application/xml"
+ type="application/vnd.openstack.identity-v2.0+xml"/>
+ <media-type base="application/json"
+ type="application/vnd.openstack.identity-v2.0+json"/>
+ </media-types>
+
+ <atom:link rel="self"
+ href="http://identity.api.openstack.org/v2.0/"/>
+
+ <atom:link rel="describedby"
+ type="application/pdf"
+ href="http://docs.rackspacecloud.com/identity/api/v2.0/identity-devguide-20110125.pdf" />
+
+ <atom:link rel="describedby"
+ type="application/vnd.sun.wadl+xml"
+ href="http://docs.rackspacecloud.com/identity/api/v2.0/application.wadl" />
+</version>
diff --git a/keystone/content/samples/versions-atom.xml b/keystone/content/samples/versions-atom.xml
new file mode 100644
index 00000000..67783e8e
--- /dev/null
+++ b/keystone/content/samples/versions-atom.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <title type="text">Available API Versions</title>
+ <updated>2010-12-12T18:30:02.25Z</updated>
+ <id>http://identity.api.openstack.org/</id>
+ <author><name>Rackspace</name><uri>http://www.rackspace.com/</uri></author>
+ <link rel="self" href="http://identity.api.openstack.org/"/>
+ <entry>
+ <id>http://identity.api.openstack.org/v2.0/</id>
+ <title type="text">Version v2.0</title>
+ <updated>2011-05-27T20:22:02.25Z</updated>
+ <link rel="self" href="http://identity.api.openstack.org/v2.0/"/>
+ <content type="text">Version v2.1 CURRENT (2011-05-27T20:22:02.25Z)</content>
+ </entry>
+ <entry>
+ <id>http://identity.api.openstack.org/v1.1/</id>
+ <title type="text">Version v1.1</title>
+ <updated>2010-12-12T18:30:02.25Z</updated>
+ <link rel="self" href="http://identity.api.openstack.org/v1.1/"/>
+ <content type="text">Version v1.1 CURRENT (2010-12-12T18:30:02.25Z)</content>
+ </entry>
+ <entry>
+ <id>http://identity.api.openstack.org/v1.0/</id>
+ <title type="text">Version v1.0</title>
+ <updated>2009-10-09T11:30:00Z</updated>
+ <link rel="self" href="http://identity.api.openstack.org/v1.0/"/>
+ <content type="text">Version v1.0 DEPRECATED (2009-10-09T11:30:00Z)</content>
+ </entry>
+</feed>
diff --git a/keystone/content/samples/versions.json b/keystone/content/samples/versions.json
new file mode 100644
index 00000000..b7ac02dd
--- /dev/null
+++ b/keystone/content/samples/versions.json
@@ -0,0 +1,39 @@
+{
+ "versions":{
+ "values":[
+ {
+ "id":"v1.0",
+ "status":"DEPRECATED",
+ "updated":"2009-10-09T11:30:00Z",
+ "links":[
+ {
+ "rel":"self",
+ "href":"http://identity.api.openstack.org/v1.0/"
+ }
+ ]
+ },
+ {
+ "id":"v1.1",
+ "status":"CURRENT",
+ "updated":"2010-12-12T18:30:02.25Z",
+ "links":[
+ {
+ "rel":"self",
+ "href":"http://identity.api.openstack.org/v1.1/"
+ }
+ ]
+ },
+ {
+ "id":"v2.0",
+ "status":"BETA",
+ "updated":"2011-05-27T20:22:02.25Z",
+ "links":[
+ {
+ "rel":"self",
+ "href":"http://identity.api.openstack.org/v2.0/"
+ }
+ ]
+ }
+ ]
+ }
+}
diff --git a/keystone/content/samples/versions.xml b/keystone/content/samples/versions.xml
new file mode 100644
index 00000000..df55b106
--- /dev/null
+++ b/keystone/content/samples/versions.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<versions xmlns="http://docs.openstack.org/common/api/v1.0"
+ xmlns:atom="http://www.w3.org/2005/Atom">
+
+ <version id="v1.0" status="DEPRECATED"
+ updated="2009-10-09T11:30:00Z">
+ <atom:link rel="self"
+ href="http://identity.api.openstack.org/v1.0/"/>
+ </version>
+
+ <version id="v1.1" status="CURRENT"
+ updated="2010-12-12T18:30:02.25Z">
+ <atom:link rel="self"
+ href="http://identity.api.openstack.org/v1.1/"/>
+ </version>
+
+ <version id="v2.0" status="BETA"
+ updated="2011-05-27T20:22:02.25Z">
+ <atom:link rel="self"
+ href="http://identity.api.openstack.org/v2.0/"/>
+ </version>
+
+</versions>
diff --git a/keystone/content/xsd/tenant.xsd b/keystone/content/xsd/tenant.xsd
index 26ef15fe..8ac7099e 100644
--- a/keystone/content/xsd/tenant.xsd
+++ b/keystone/content/xsd/tenant.xsd
@@ -29,6 +29,21 @@
</complexType>
<complexType name="Tenant">
+ <annotation>
+ <documentation xml:lang="EN" xmlns="http://www.w3.org/1999/xhtml">
+ <p>This is ....</p>
+ </documentation>
+ <xsd:appinfo>
+ <xsdxt:samples>
+          <xsdxt:sample>
+            <xsdxt:code type="application/xml" href="../samples/tenant.xml" />
+          </xsdxt:sample>
+          <xsdxt:sample>
+            <xsdxt:code type="application/json" href="../samples/tenant.json" />
+          </xsdxt:sample>
+        </xsdxt:samples>
+ </xsd:appinfo>
+ </annotation>
<sequence>
<element name="description" type="xsd:string"/>
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />