summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYogeshwar Srikrishnan <yoga80@yahoo.com>2011-09-12 11:30:53 -0500
committerYogeshwar Srikrishnan <yoga80@yahoo.com>2011-09-12 17:32:38 -0500
commit06f37ccd1eb5b87986b3a2f399cbc749fde56822 (patch)
tree337778b00453c612bc53be2492d8640bf427c64e
parent92bb42934798b47879f42895cdcccb43ca84d7cc (diff)
1.Changed all Json paginated collection structure.
2.Introduced a type for credential type (path param) and change wadls and xsds. 3.Added List Users call. 4.Changed Endpoint creation example. Change-Id: I1f107bcee60f96c0b67126379fec51cecc7cbcd8
-rw-r--r--keystone/content/admin/OS-KSADM-admin-devguide.pdfbin252678 -> 247508 bytes
-rw-r--r--keystone/content/admin/OS-KSADM-admin.wadl33
-rw-r--r--keystone/content/admin/OS-KSCATALOG-admin-devguide.pdfbin136286 -> 132729 bytes
-rw-r--r--keystone/content/admin/OS-KSCATALOG-admin.wadl8
-rw-r--r--keystone/content/common/samples/RAX-KSGRP-groups.json15
-rw-r--r--keystone/content/common/samples/auth.json129
-rw-r--r--keystone/content/common/samples/auth_credentials-RAX-KSKEY.json11
-rw-r--r--keystone/content/common/samples/auth_credentials.json14
-rw-r--r--keystone/content/common/samples/authwithgroups.json141
-rw-r--r--keystone/content/common/samples/choices.json121
-rw-r--r--keystone/content/common/samples/credentials.json19
-rw-r--r--keystone/content/common/samples/endpointTemplateWithOnlyId.json5
-rw-r--r--keystone/content/common/samples/endpointTemplateWithOnlyId.xml6
-rw-r--r--keystone/content/common/samples/endpointTemplates.json6
-rw-r--r--keystone/content/common/samples/endpoints.json6
-rw-r--r--keystone/content/common/samples/ext-getuser.json7
-rw-r--r--keystone/content/common/samples/extensions.json79
-rw-r--r--keystone/content/common/samples/getuser-1.json45
-rw-r--r--keystone/content/common/samples/roles.json12
-rw-r--r--keystone/content/common/samples/services.json26
-rw-r--r--keystone/content/common/samples/tenants-1.json26
-rw-r--r--keystone/content/common/samples/tenants-2.json33
-rw-r--r--keystone/content/common/samples/tenants-3.json26
-rw-r--r--keystone/content/common/samples/tenants.json29
-rw-r--r--keystone/content/common/samples/users.json28
-rw-r--r--keystone/content/common/samples/users.xml2
-rw-r--r--keystone/content/common/samples/userwithenabledonly.xml6
-rw-r--r--keystone/content/common/samples/validatetoken.json12
-rw-r--r--keystone/content/common/samples/versions.json69
-rw-r--r--keystone/content/common/xsd/OS-KSADM.xsd40
-rw-r--r--keystone/content/common/xsd/OS-KSCATALOG.xsd22
-rw-r--r--keystone/content/common/xsd/RAX-KSADM-users.xsd13
-rw-r--r--keystone/content/common/xsd/user.xsd3
33 files changed, 502 insertions, 490 deletions
diff --git a/keystone/content/admin/OS-KSADM-admin-devguide.pdf b/keystone/content/admin/OS-KSADM-admin-devguide.pdf
index 38c78de9..dabd390c 100644
--- a/keystone/content/admin/OS-KSADM-admin-devguide.pdf
+++ b/keystone/content/admin/OS-KSADM-admin-devguide.pdf
Binary files differ
diff --git a/keystone/content/admin/OS-KSADM-admin.wadl b/keystone/content/admin/OS-KSADM-admin.wadl
index f7833579..d82ad2eb 100644
--- a/keystone/content/admin/OS-KSADM-admin.wadl
+++ b/keystone/content/admin/OS-KSADM-admin.wadl
@@ -40,6 +40,7 @@
<doc>You need a valid admin token for access.</doc>
</param>
<resource id="users" path="users">
+ <method href="#listUsers"/>
<method href="#addUser"/>
<resource id="userById" path="{userId}">
<method href="#updateUser"/>
@@ -63,10 +64,7 @@
<method href="#addUserCredential"/>
<method href="#listCredentials"/>
<resource id="userCredentialsByType" path="{credential-type}">
- <method href="#listCredentialsByType"/>
- </resource>
- <resource id="userCredentialByTypeAndId" path="{credential-type-and-optional-id}">
- <param name="credentialTypeAndId" style="template" type="xsd:string"/>
+ <param name="credentialType" style="template" type="OS-KSADM:extensibleCredentialsType"/>
<method href="#updateUserCredential"/>
<method href="#deleteUserCredential"/>
<method href="#getUserCredential"/>
@@ -269,7 +267,7 @@
<method name="PUT" id="addRolesToUserOnTenant">
<doc xml:lang="EN" title="Add roles on a tenant.">
<p xmlns="http://www.w3.org/1999/xhtml">Adds a specific role to a user for a tenant.</p>
- <examples xmlns="http://docs.rackspace.com/api">
+ <examples xmlns="http://docs.rackspace.com/api" title="Add role to a user for a Tenant Request ">
<example href="../common/samples/norequestbody.txt"/>
</examples>
</doc>
@@ -292,6 +290,23 @@
</method>
<!--User Operations-->
+ <method name="GET" id="listUsers">
+ <doc xml:lang="EN" title="List users">
+ <p xmlns="http://www.w3.org/1999/xhtml">List users.</p>
+ <examples xmlns="http://docs.rackspace.com/api" title="List Users Response">
+ <example href="../common/samples/users.xml" language="xml"/>
+ <example href="../common/samples/users.json" language="javascript"/>
+ </examples>
+ </doc>
+ <response status="200 203">
+ <representation mediaType="application/xml" element="identity:userss"/>
+ <representation mediaType="application/json"/>
+ </response>
+ &commonFaults;
+ &getFaults;
+ </method>
+
+
<method name="POST" id="addUser">
<doc xml:lang="EN" title="Add user">
<p xmlns="http://www.w3.org/1999/xhtml">Adds a user.</p>
@@ -370,7 +385,7 @@
</doc>
<request>
<representation mediaType="application/xml" element="identity:user">
- <param name="user" style="plain" path="/" type="identity:UserWithOnlyEnabled"/>
+ <param name="user" style="plain" path="/" type="OS-KSADM:UserWithOnlyEnabled"/>
</representation>
<representation mediaType="application/json"/>
</request>
@@ -406,7 +421,7 @@
<method name="PUT" id="addUserRole">
<doc xml:lang="EN" title="Add Global roles to a user.">
<p xmlns="http://www.w3.org/1999/xhtml">Adds a specific global role to a user.</p>
- <examples xmlns="http://docs.rackspace.com/api">
+ <examples xmlns="http://docs.rackspace.com/api" title="Adds global role to a user request">
<example href="../common/samples/norequestbody.txt"/>
</examples>
</doc>
@@ -436,7 +451,7 @@
<method name="DELETE" id="deleteUserRole">
<doc xml:lang="EN" title="Delete Global Roles on User.">
<p xmlns="http://www.w3.org/1999/xhtml">Deletes a specific global role from a user.</p>
- <examples xmlns="http://docs.rackspace.com/api">
+ <examples xmlns="http://docs.rackspace.com/api" title="Deletes global role from a user">
<example href="../common/samples/norequestbody.txt"/>
</examples>
</doc>
@@ -540,7 +555,7 @@
</method>
<method name="POST" id="deleteUserCredential">
- <doc xml:lang="EN" title="Update user credential">
+ <doc xml:lang="EN" title="Delete user credential">
<p xmlns="http://www.w3.org/1999/xhtml">Delete User credentials.</p>
<examples xmlns="http://docs.rackspace.com/api" title="Delete User Credentials">
<example href="../common/samples/norequestbody.txt"/>
diff --git a/keystone/content/admin/OS-KSCATALOG-admin-devguide.pdf b/keystone/content/admin/OS-KSCATALOG-admin-devguide.pdf
index 028ee63d..d2448e87 100644
--- a/keystone/content/admin/OS-KSCATALOG-admin-devguide.pdf
+++ b/keystone/content/admin/OS-KSCATALOG-admin-devguide.pdf
Binary files differ
diff --git a/keystone/content/admin/OS-KSCATALOG-admin.wadl b/keystone/content/admin/OS-KSCATALOG-admin.wadl
index 8ec4c136..8d1c1b53 100644
--- a/keystone/content/admin/OS-KSCATALOG-admin.wadl
+++ b/keystone/content/admin/OS-KSCATALOG-admin.wadl
@@ -157,8 +157,8 @@
<doc xml:lang="EN" title="Add Endpoint">
<p xmlns="http://www.w3.org/1999/xhtml">Add Endpoint to a tenant.</p>
<examples xmlns="http://docs.rackspace.com/api" title="Add Endpoint Request">
- <example href="../common/samples/endpoint.xml" language="xml"/>
- <example href="../common/samples/endpoint.json" language="javascript"/>
+ <example href="../common/samples/endpointTemplateWithOnlyId.xml" language="xml"/>
+ <example href="../common/samples/endpointTemplateWithOnlyId.json" language="javascript"/>
</examples>
<examples xmlns="http://docs.rackspace.com/api" title="Add Endpoint Response">
<example href="../common/samples/endpoint.xml" language="xml"/>
@@ -166,7 +166,9 @@
</examples>
</doc>
<request>
- <representation mediaType="application/xml" element="identity:endpoint"/>
+ <representation mediaType="application/xml" element="OS-KSCATALOG:endpointTemplate">
+ <param name="endpoint" style="plain" path="/" type="OS-KSCATALOG:EndpointTemplateWithOnlyId"/>
+ </representation>
<representation mediaType="application/json"/>
</request>
<response status="201">
diff --git a/keystone/content/common/samples/RAX-KSGRP-groups.json b/keystone/content/common/samples/RAX-KSGRP-groups.json
index 3cf4be23..bd3c5104 100644
--- a/keystone/content/common/samples/RAX-KSGRP-groups.json
+++ b/keystone/content/common/samples/RAX-KSGRP-groups.json
@@ -1,11 +1,8 @@
{
- "RAX-KSGRP:groups": {
- "values": [
- {
- "id": "test_global_group_add",
- "description": "A description ..."
- }
+ "RAX-KSGRP:groups":[{
+ "id":"test_global_group_add",
+ "description":"A description ..."
+ }
],
- "links": []
- }
-}
+ "RAX-KSGRP:groups_links":[]
+} \ No newline at end of file
diff --git a/keystone/content/common/samples/auth.json b/keystone/content/common/samples/auth.json
index df289f69..f63e7b5d 100644
--- a/keystone/content/common/samples/auth.json
+++ b/keystone/content/common/samples/auth.json
@@ -7,78 +7,69 @@
"user":{
"id":"testId",
"name":"testName",
- "roles":{
- "values":[{
- "id":"compute:admin"
+ "roles":[{
+ "id":"compute:admin"
+ }
+ ],
+ "roles_links":[]
+ },
+ "serviceCatalog":[{
+ "name":"Cloud Servers",
+ "type":"compute",
+ "endpoints":[{
+ "publicURL":"https://compute.north.host/v1/1234",
+ "internalURL":"https://compute.north.host/v1/1234",
+ "region":"North",
+ "tenantId":"1234",
+ "versionId":"1.0",
+ "versionInfo":"https://compute.north.host/v1.0/",
+ "versionList":"https://compute.north.host/"
+ },
+ {
+ "publicURL":"https://compute.north.host/v1.1/3456",
+ "internalURL":"https://compute.north.host/v1.1/3456",
+ "region":"North",
+ "tenantId":"3456",
+ "versionId":"1.1",
+ "versionInfo":"https://compute.north.host/v1.1/",
+ "versionList":"https://compute.north.host/"
}
],
- "links": []
- }
- },
- "serviceCatalog":{
- "values":[{
- "name":"Cloud Servers",
- "type":"compute",
- "endpoints":{
- "values":[{
- "publicURL":"https://compute.north.host/v1/1234",
- "internalURL":"https://compute.north.host/v1/1234",
- "region":"North",
- "tenantId":"1234",
- "versionId":"1.0",
- "versionInfo":"https://compute.north.host/v1.0/",
- "versionList":"https://compute.north.host/"
- },
- {
- "publicURL":"https://compute.north.host/v1.1/3456",
- "internalURL":"https://compute.north.host/v1.1/3456",
- "region":"North",
- "tenantId":"3456",
- "versionId":"1.1",
- "versionInfo":"https://compute.north.host/v1.1/",
- "versionList":"https://compute.north.host/"
- }
-
- ],
- "links": []
+ "endpoints_links":[]
+ },
+ {
+ "name":"Cloud Files",
+ "type":"object-store",
+ "endpoints":[{
+ "publicURL":"https://compute.north.host/v1/blah-blah",
+ "internalURL":"https://compute.north.host/v1/blah-blah",
+ "region":"South",
+ "tenantId":"1234",
+ "versionId":"1.0",
+ "versionInfo":"uri",
+ "versionList":"uri"
+ },
+ {
+ "publicURL":"https://compute.north.host/v1.1/blah-blah",
+ "internalURL":"https://compute.north.host/v1.1/blah-blah",
+ "region":"South",
+ "tenantId":"1234",
+ "versionId":"1.1",
+ "versionInfo":"https://compute.north.host/v1.1/",
+ "versionList":"https://compute.north.host/"
}
- },
- {
- "name":"Cloud Files",
- "type":"object-store",
- "endpoints":{
- "values":[{
- "publicURL":"https://compute.north.host/v1/blah-blah",
- "internalURL":"https://compute.north.host/v1/blah-blah",
- "region":"South",
- "tenantId":"1234",
- "versionId":"1.0",
- "versionInfo":"uri",
- "versionList":"uri"
- },
- {
- "publicURL":"https://compute.north.host/v1.1/blah-blah",
- "internalURL":"https://compute.north.host/v1.1/blah-blah",
- "region":"South",
- "tenantId":"1234",
- "versionId":"1.1",
- "versionInfo":"https://compute.north.host/v1.1/",
- "versionList":"https://compute.north.host/"
- }
- ],
- "links":[{
- "rel":"next",
- "href":"https://identity.north.host/v2.0/endpoints?marker=2"
- }
- ]
+ ],
+ "endpoints_links":[{
+ "rel":"next",
+ "href":"https://identity.north.host/v2.0/endpoints?marker=2"
}
- }
- ],
- "links":[{
- "rel":"next",
- "href":"https://identity.host/v2.0/endpoints?session=2hfh8Ar&marker=2"
- }
- ]
- }
+ ]
+ }
+ ],
+ "serviceCatalog_links":[{
+ "rel":"next",
+ "href":"https://identity.host/v2.0/endpoints?session=2hfh8Ar&marker=2"
+ }
+ ]
}
} \ No newline at end of file
diff --git a/keystone/content/common/samples/auth_credentials-RAX-KSKEY.json b/keystone/content/common/samples/auth_credentials-RAX-KSKEY.json
index 9dcbd240..e07c6bf8 100644
--- a/keystone/content/common/samples/auth_credentials-RAX-KSKEY.json
+++ b/keystone/content/common/samples/auth_credentials-RAX-KSKEY.json
@@ -1,8 +1,9 @@
{
- "auth": {
- "RAX-KSKEY:apikeyCredentials": {
- "username": "test_user",
- "apikey": "aaaaa-bbbbb-ccccc-12345678"
- }"tenantId": "1234"
+ "auth":{
+ "RAX-KSKEY:apikeyCredentials":{
+ "username":"test_user",
+ "apikey":"aaaaa-bbbbb-ccccc-12345678"
+ },
+ "tenantId":"1234"
}
} \ No newline at end of file
diff --git a/keystone/content/common/samples/auth_credentials.json b/keystone/content/common/samples/auth_credentials.json
index 282f321d..1f477ddf 100644
--- a/keystone/content/common/samples/auth_credentials.json
+++ b/keystone/content/common/samples/auth_credentials.json
@@ -1,9 +1,9 @@
{
- "auth": {
- "passwordCredentials": {
- "username": "test_user",
- "password": "mypass"
- },
- "tenantId": "1234"
- }
+ "auth":{
+ "passwordCredentials":{
+ "username":"test_user",
+ "password":"mypass"
+ },
+ "tenantId":"1234"
+ }
} \ No newline at end of file
diff --git a/keystone/content/common/samples/authwithgroups.json b/keystone/content/common/samples/authwithgroups.json
index 0acc5e2d..1c87d1d1 100644
--- a/keystone/content/common/samples/authwithgroups.json
+++ b/keystone/content/common/samples/authwithgroups.json
@@ -7,86 +7,75 @@
"user":{
"id":"testId",
"name":"testName",
- "roles":{
- "values":[{
- "id":"compute:admin"
+ "roles":[{
+ "id":"compute:admin"
+ }
+ ],
+ "roles_links":[],
+ "RAX-KSGRP:groups":[{
+ "id":"test_global_group_add",
+ "description":"A description ..."
+ }
+ ],
+ "RAX-KSGRP:groups_links":[]
+ },
+ "serviceCatalog":[{
+ "name":"Cloud Servers",
+ "type":"compute",
+ "endpoints":[{
+ "publicURL":"https://compute.north.host/v1/1234",
+ "internalURL":"https://compute.north.host/v1/1234",
+ "region":"North",
+ "tenantId":"1234",
+ "versionId":"1.0",
+ "versionInfo":"https://compute.north.host/v1.0/",
+ "versionList":"https://compute.north.host/"
+ },
+ {
+ "publicURL":"https://compute.north.host/v1.1/3456",
+ "internalURL":"https://compute.north.host/v1.1/3456",
+ "region":"North",
+ "tenantId":"3456",
+ "versionId":"1.1",
+ "versionInfo":"https://compute.north.host/v1.1/",
+ "versionList":"https://compute.north.host/"
}
],
- "links": []
+ "endpoints_links":[]
},
- "RAX-KSGRP:groups": {
- "values": [
- {
- "id": "test_global_group_add",
- "description": "A description ..."
- }
- ],
- "links": []
- }
- },
- "serviceCatalog":{
- "values":[{
- "name":"Cloud Servers",
- "type":"compute",
- "endpoints":{
- "values":[{
- "publicURL":"https://compute.north.host/v1/1234",
- "internalURL":"https://compute.north.host/v1/1234",
- "region":"North",
- "tenantId":"1234",
- "versionId":"1.0",
- "versionInfo":"https://compute.north.host/v1.0/",
- "versionList":"https://compute.north.host/"
- },
- {
- "publicURL":"https://compute.north.host/v1.1/3456",
- "internalURL":"https://compute.north.host/v1.1/3456",
- "region":"North",
- "tenantId":"3456",
- "versionId":"1.1",
- "versionInfo":"https://compute.north.host/v1.1/",
- "versionList":"https://compute.north.host/"
- }
- ],
- "links": []
+ {
+ "name":"Cloud Files",
+ "type":"object-store",
+ "endpoints":[{
+ "publicURL":"https://compute.north.host/v1/blah-blah",
+ "internalURL":"https://compute.north.host/v1/blah-blah",
+ "region":"South",
+ "tenantId":"1234",
+ "versionId":"1.0",
+ "versionInfo":"uri",
+ "versionList":"uri"
+ },
+ {
+ "publicURL":"https://compute.north.host/v1.1/blah-blah",
+ "internalURL":"https://compute.north.host/v1.1/blah-blah",
+ "region":"South",
+ "tenantId":"1234",
+ "versionId":"1.1",
+ "versionInfo":"https://compute.north.host/v1.1/",
+ "versionList":"https://compute.north.host/"
}
- },
- {
- "name":"Cloud Files",
- "type":"object-store",
- "endpoints":{
- "values":[{
- "publicURL":"https://compute.north.host/v1/blah-blah",
- "internalURL":"https://compute.north.host/v1/blah-blah",
- "region":"South",
- "tenantId":"1234",
- "versionId":"1.0",
- "versionInfo":"uri",
- "versionList":"uri"
- },
- {
- "publicURL":"https://compute.north.host/v1.1/blah-blah",
- "internalURL":"https://compute.north.host/v1.1/blah-blah",
- "region":"South",
- "tenantId":"1234",
- "versionId":"1.1",
- "versionInfo":"https://compute.north.host/v1.1/",
- "versionList":"https://compute.north.host/"
- }
- ],
- "links":[{
- "rel":"next",
- "href":"https://identity.north.host/v2.0/endpoints?marker=2"
- }
- ]
+ ],
+ "endpoints_links":[{
+ "rel":"next",
+ "href":"https://identity.north.host/v2.0/endpoints?marker=2"
}
- }
- ],
- "links":[{
- "rel":"next",
- "href":"https://identity.host/v2.0/endpoints?session=2hfh8Ar&marker=2"
- }
- ]
- }
+ ]
+ }
+ ],
+ "serviceCatalog_links":[{
+ "rel":"next",
+ "href":"https://identity.host/v2.0/endpoints?session=2hfh8Ar&marker=2"
+ }
+ ]
}
} \ No newline at end of file
diff --git a/keystone/content/common/samples/choices.json b/keystone/content/common/samples/choices.json
index 9f1783c1..71c8b77b 100644
--- a/keystone/content/common/samples/choices.json
+++ b/keystone/content/common/samples/choices.json
@@ -1,67 +1,64 @@
{
- "choices": {
- "values": [
- {
- "id": "v1.0",
- "status": "DEPRECATED",
- "links": [
- {
- "rel": "self",
- "href": "http://identity.api.openstack.org/v1.0"
- }
- ],
- "media-types": {
- "values": [
- {
- "base": "application/xml",
- "type": "application/vnd.openstack.identity+xml;version=1.0"
- }, {
- "base": "application/json",
- "type": "application/vnd.openstack.identity+json;version=1.0"
+ "choices":[{
+ "id":"v1.0",
+ "status":"DEPRECATED",
+ "links":[{
+ "rel":"self",
+ "href":"http://identity.api.openstack.org/v1.0"
+ }
+ ],
+ "media-types":{
+ "values":[{
+ "base":"application/xml",
+ "type":"application/vnd.openstack.identity+xml;version=1.0"
+ },
+ {
+ "base":"application/json",
+ "type":"application/vnd.openstack.identity+json;version=1.0"
+ }
+ ]
}
- ]
- }
- }, {
- "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+xml;version=1.1"
- }, {
- "base": "application/json",
- "type": "application/vnd.openstack.identity+json;version=1.1"
+ },
+ {
+ "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+xml;version=1.1"
+ },
+ {
+ "base":"application/json",
+ "type":"application/vnd.openstack.identity+json;version=1.1"
+ }
+ ]
}
- ]
- }
- }, {
- "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+xml;version=2.0"
- }, {
- "base": "application/json",
- "type": "application/vnd.openstack.identity+json;version=2.0"
+ },
+ {
+ "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+xml;version=2.0"
+ },
+ {
+ "base":"application/json",
+ "type":"application/vnd.openstack.identity+json;version=2.0"
+ }
+ ]
}
- ]
}
- }
- ]
- }
-}
+ ],
+ "choices_links":""
+} \ No newline at end of file
diff --git a/keystone/content/common/samples/credentials.json b/keystone/content/common/samples/credentials.json
index 66f77cfa..9a6028c0 100644
--- a/keystone/content/common/samples/credentials.json
+++ b/keystone/content/common/samples/credentials.json
@@ -1,13 +1,10 @@
{
- "credentials": {
- "values": [
- {
- "passwordCredentials": {
- "username": "test_user",
- "password": "mypass"
- }
+ "credentials":[{
+ "passwordCredentials":{
+ "username":"test_user",
+ "password":"mypass"
}
- ],
- "links": []
- }
-}
+ }
+ ],
+ "credentials_links":[]
+} \ No newline at end of file
diff --git a/keystone/content/common/samples/endpointTemplateWithOnlyId.json b/keystone/content/common/samples/endpointTemplateWithOnlyId.json
new file mode 100644
index 00000000..0f2da91f
--- /dev/null
+++ b/keystone/content/common/samples/endpointTemplateWithOnlyId.json
@@ -0,0 +1,5 @@
+{
+ "OS-KSCATALOG:endpointTemplate":{
+ "id":1,
+ }
+} \ No newline at end of file
diff --git a/keystone/content/common/samples/endpointTemplateWithOnlyId.xml b/keystone/content/common/samples/endpointTemplateWithOnlyId.xml
new file mode 100644
index 00000000..6379b3ae
--- /dev/null
+++ b/keystone/content/common/samples/endpointTemplateWithOnlyId.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<endpointTemplate
+ xmlns="http://docs.openstack.org/identity/api/ext/OS-KSCATALOG/v1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:type="EndpointTemplateWithOnlyId"
+ id="1"/>
diff --git a/keystone/content/common/samples/endpointTemplates.json b/keystone/content/common/samples/endpointTemplates.json
index f7638570..51ec8b3c 100644
--- a/keystone/content/common/samples/endpointTemplates.json
+++ b/keystone/content/common/samples/endpointTemplates.json
@@ -1,6 +1,5 @@
{
- "OS-KSCATALOG:endpointsTemplates": {
- "values": [
+ "OS-KSCATALOG:endpointsTemplates": [
{
"id": 1,
"region": "North",
@@ -56,6 +55,5 @@
"enabled": true
}
],
- "links": []
- }
+ "OS-KSCATALOG:endpointsTemplates_links": []
}
diff --git a/keystone/content/common/samples/endpoints.json b/keystone/content/common/samples/endpoints.json
index dd37717e..ef407b27 100644
--- a/keystone/content/common/samples/endpoints.json
+++ b/keystone/content/common/samples/endpoints.json
@@ -1,6 +1,5 @@
{
- "endpoints":{
- "values":[{
+ "endpoints":[{
"id":1,
"region":"North",
"type":"compute",
@@ -51,6 +50,5 @@
"versionList":"https://compute.north.public.com/"
}
],
- "links":[]
- }
+ "endpoints_links":[]
} \ No newline at end of file
diff --git a/keystone/content/common/samples/ext-getuser.json b/keystone/content/common/samples/ext-getuser.json
index b1c80306..f6e7a30e 100644
--- a/keystone/content/common/samples/ext-getuser.json
+++ b/keystone/content/common/samples/ext-getuser.json
@@ -1,13 +1,12 @@
{
"user": {
- "roles": {
- "values": [
+ "roles": [
{
"tenantId": "1234",
"id": "Admin"
}
- ]
- },
+ ],
+ "roles_links": [],
"id": "u1000",
"username": "jqsmith",
"email": "john.smith@example.org",
diff --git a/keystone/content/common/samples/extensions.json b/keystone/content/common/samples/extensions.json
index 18803f07..304576f1 100644
--- a/keystone/content/common/samples/extensions.json
+++ b/keystone/content/common/samples/extensions.json
@@ -1,41 +1,40 @@
{
- "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"
- }
- ]
- }
- ]
- }
-}
+ "extensions":[{
+ "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"
+ }
+ ]
+ }
+ ],
+ "extensions_links":[]
+} \ No newline at end of file
diff --git a/keystone/content/common/samples/getuser-1.json b/keystone/content/common/samples/getuser-1.json
index 1439651d..5354744b 100644
--- a/keystone/content/common/samples/getuser-1.json
+++ b/keystone/content/common/samples/getuser-1.json
@@ -1,25 +1,22 @@
{
- "user": {
- "roles": {
- "values": [
- {
- "tenantId": "1234",
- "id": "Admin"
- }, {
- "tenantId": "1234",
- "id": "DBUser"
- }
- ],
- "links": [
- {
- "rel": "next",
- "href": "http://identity.api.openstack.org/v2.0/tenants/1234/users/u1000/roles?marker=Super"
- }
- ]
- },
- "id": "u1000",
- "username": "jqsmith",
- "email": "john.smith@example.org",
- "enabled": true
- }
-}
+ "user":{
+ "roles":[{
+ "tenantId":"1234",
+ "id":"Admin"
+ },
+ {
+ "tenantId":"1234",
+ "id":"DBUser"
+ }
+ ],
+ "roles_links":[{
+ "rel":"next",
+ "href":"http://identity.api.openstack.org/v2.0/tenants/1234/users/u1000/roles?marker=Super"
+ }
+ ],
+ "id":"u1000",
+ "username":"jqsmith",
+ "email":"john.smith@example.org",
+ "enabled":true
+ }
+} \ No newline at end of file
diff --git a/keystone/content/common/samples/roles.json b/keystone/content/common/samples/roles.json
index 7385cc8e..6ff4d531 100644
--- a/keystone/content/common/samples/roles.json
+++ b/keystone/content/common/samples/roles.json
@@ -1,9 +1,7 @@
{
- "roles":{
- "values":[{
- "id":"compute:admin"
- }
- ],
- "links":[]
- }
+ "roles":[{
+ "id":"compute:admin"
+ }
+ ],
+ "roles_links":[]
} \ No newline at end of file
diff --git a/keystone/content/common/samples/services.json b/keystone/content/common/samples/services.json
index 9ef7cb69..824b328e 100644
--- a/keystone/content/common/samples/services.json
+++ b/keystone/content/common/samples/services.json
@@ -1,16 +1,14 @@
{
- "OS-KSADM:services":{
- "values":[{
- "id":"nova",
- "type":"compute",
- "description":"Computers in the Cloud"
- },
- {
- "id":"glance",
- "type":"image-service",
- "description":"Server Images"
- }
- ]
- },
- "links":[]
+ "OS-KSADM:services":[{
+ "id":"nova",
+ "type":"compute",
+ "description":"Computers in the Cloud"
+ },
+ {
+ "id":"glance",
+ "type":"image-service",
+ "description":"Server Images"
+ }
+ ],
+ "OS-KSADM:services_links":[]
} \ No newline at end of file
diff --git a/keystone/content/common/samples/tenants-1.json b/keystone/content/common/samples/tenants-1.json
index 4f845760..d9766ae8 100644
--- a/keystone/content/common/samples/tenants-1.json
+++ b/keystone/content/common/samples/tenants-1.json
@@ -1,18 +1,14 @@
{
- "tenants": {
- "values": [
- {
- "id": "1234",
- "name": "ACME corp",
- "description": "A description ...",
- "enabled": true
- }
+ "tenants":[{
+ "id":"1234",
+ "name":"ACME corp",
+ "description":"A description ...",
+ "enabled":true
+ }
],
- "links": [
- {
- "rel": "next",
- "href": "http://identity.api.openstack.org/v2.0/tenants?limit=1&marker=1234"
- }
+ "tenants_links":[{
+ "rel":"next",
+ "href":"http://identity.api.openstack.org/v2.0/tenants?limit=1&marker=1234"
+ }
]
- }
-}
+} \ No newline at end of file
diff --git a/keystone/content/common/samples/tenants-2.json b/keystone/content/common/samples/tenants-2.json
index c966c505..003fe952 100644
--- a/keystone/content/common/samples/tenants-2.json
+++ b/keystone/content/common/samples/tenants-2.json
@@ -1,21 +1,18 @@
{
- "tenants": {
- "values": [
- {
- "id": "3645",
- "name": "Iron Works",
- "description": "A description ...",
- "enabled": true
- }
+ "tenants":[{
+ "id":"3645",
+ "name":"Iron Works",
+ "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"
- }
+ "tenants_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"
+ }
]
- }
-}
+} \ No newline at end of file
diff --git a/keystone/content/common/samples/tenants-3.json b/keystone/content/common/samples/tenants-3.json
index 8546234f..1f2538ff 100644
--- a/keystone/content/common/samples/tenants-3.json
+++ b/keystone/content/common/samples/tenants-3.json
@@ -1,18 +1,14 @@
{
- "tenants": {
- "values": [
- {
- "id": "9999",
- "name": "Bigz",
- "description": "A description ...",
- "enabled": true
- }
+ "tenants":[{
+ "id":"9999",
+ "name":"Bigz",
+ "description":"A description ...",
+ "enabled":true
+ }
],
- "links": [
- {
- "rel": "previous",
- "href": "http://identity.api.openstack.org/v2.0/tenants?limit=1&marker=1234"
- }
+ "tenants_links":[{
+ "rel":"previous",
+ "href":"http://identity.api.openstack.org/v2.0/tenants?limit=1&marker=1234"
+ }
]
- }
-}
+} \ No newline at end of file
diff --git a/keystone/content/common/samples/tenants.json b/keystone/content/common/samples/tenants.json
index c0f2b5d6..aec27935 100644
--- a/keystone/content/common/samples/tenants.json
+++ b/keystone/content/common/samples/tenants.json
@@ -1,17 +1,16 @@
{
- "tenants": {
- "values": [
- {
- "id": "1234",
- "name": "ACME Corp",
- "description": "A description ...",
- "enabled": true
- }, {
- "id": "3456",
- "name": "Iron Works",
- "description": "A description ...",
- "enabled": true
- }
- ]
- }
+ "tenants":[{
+ "id":"1234",
+ "name":"ACME Corp",
+ "description":"A description ...",
+ "enabled":true
+ },
+ {
+ "id":"3456",
+ "name":"Iron Works",
+ "description":"A description ...",
+ "enabled":true
+ }
+ ],
+ "tenants_links":[]
} \ No newline at end of file
diff --git a/keystone/content/common/samples/users.json b/keystone/content/common/samples/users.json
index 134d1972..08db72b5 100644
--- a/keystone/content/common/samples/users.json
+++ b/keystone/content/common/samples/users.json
@@ -1,18 +1,16 @@
{
- "users": {
- "values": [
- {
- "id": "u1000",
- "username": "jqsmith",
- "email": "john.smith@example.org",
- "enabled": true
- }, {
- "id": "u1001",
- "username": "jqsmith",
- "email": "john.smith@example.org",
- "enabled": true
- }
+ "users":[{
+ "id":"u1000",
+ "username":"jqsmith",
+ "email":"john.smith@example.org",
+ "enabled":true
+ },
+ {
+ "id":"u1001",
+ "username":"jqsmith",
+ "email":"john.smith@example.org",
+ "enabled":true
+ }
],
- "links":[]
- }
+ "users_links":[]
} \ No newline at end of file
diff --git a/keystone/content/common/samples/users.xml b/keystone/content/common/samples/users.xml
index 28e5aa38..01b321da 100644
--- a/keystone/content/common/samples/users.xml
+++ b/keystone/content/common/samples/users.xml
@@ -5,5 +5,5 @@
username="jqsmith" id="u1000"/>
<user xmlns="http://docs.openstack.org/identity/api/v2.0"
enabled="true" email="john.smith@example.org"
- username="jqsmith" id="u1000"/>
+ username="jqsmith" id="u1001"/>
</users>
diff --git a/keystone/content/common/samples/userwithenabledonly.xml b/keystone/content/common/samples/userwithenabledonly.xml
index 3a0af74b..0176b9eb 100644
--- a/keystone/content/common/samples/userwithenabledonly.xml
+++ b/keystone/content/common/samples/userwithenabledonly.xml
@@ -1,3 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<user xmlns="http://docs.openstack.org/identity/api/v2.0"
- enabled="true"/>
+<user xmlns="http://docs.openstack.org/identity/api/ext/OS-KSADM/v1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:type="UserWithOnlyEnabled"
+ enabled="true"/>
diff --git a/keystone/content/common/samples/validatetoken.json b/keystone/content/common/samples/validatetoken.json
index b97e8e36..dfca7525 100644
--- a/keystone/content/common/samples/validatetoken.json
+++ b/keystone/content/common/samples/validatetoken.json
@@ -7,13 +7,11 @@
"user":{
"id":"testId",
"name":"testName",
- "roles":{
- "values":[{
- "id":"compute:admin"
- }
- ],
- "links":[]
- }
+ "roles":[{
+ "id":"compute:admin"
+ }
+ ],
+ "roles_links":[]
}
}
} \ No newline at end of file
diff --git a/keystone/content/common/samples/versions.json b/keystone/content/common/samples/versions.json
index 4c90ea05..21bacffd 100644
--- a/keystone/content/common/samples/versions.json
+++ b/keystone/content/common/samples/versions.json
@@ -1,37 +1,34 @@
{
- "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/"
- }
- ]
- }
- ]
- }
-}
+ "versions":[{
+ "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/"
+ }
+ ]
+ }
+ ],
+ "versions_links":[]
+} \ No newline at end of file
diff --git a/keystone/content/common/xsd/OS-KSADM.xsd b/keystone/content/common/xsd/OS-KSADM.xsd
index 6f4d05d3..c6efd3d5 100644
--- a/keystone/content/common/xsd/OS-KSADM.xsd
+++ b/keystone/content/common/xsd/OS-KSADM.xsd
@@ -47,6 +47,18 @@
</xsd:documentation>
</annotation>
</element>
+
+ <element name="extensibleCredentialsType" type="OS-KSADM:ExtensibleCredentialsType">
+ <annotation>
+ <xsd:documentation
+ xml:lang="EN"
+ xmlns="http://www.w3.org/1999/xhtml">
+ <p>
+ An extensible credentials type.
+ </p>
+ </xsd:documentation>
+ </annotation>
+ </element>
<!-- Complex Types -->
<complexType name="Service">
@@ -64,4 +76,32 @@
</sequence>
<anyAttribute namespace="##other" processContents="lax"/>
</complexType>
+
+ <simpleType name="PasswordCredentialsType">
+ <restriction base="xsd:string">
+ <enumeration value="password"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ExtensionCredentialsType">
+ <restriction base="xsd:string">
+ <pattern value="(\w|-)+-\w+"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ExtensibleCredentialsType">
+ <union memberTypes="OS-KSADM:PasswordCredentialsType OS-KSADM:ExtensionCredentialsType"/>
+ </simpleType>
+
+ <!-- Complex Types -->
+ <complexType name="UserWithOnlyEnabled">
+ <complexContent>
+ <restriction base="identity:User">
+ <attribute name="id" type="xsd:ID" use="prohibited"/>
+ <attribute name="email" type="xsd:string" use="prohibited"/>
+ <attribute name="username" type="xsd:ID" use="prohibited"/>
+ <attribute name="enabled" type="xsd:boolean" use="required"/>
+ </restriction>
+ </complexContent>
+ </complexType>
</schema> \ No newline at end of file
diff --git a/keystone/content/common/xsd/OS-KSCATALOG.xsd b/keystone/content/common/xsd/OS-KSCATALOG.xsd
index eb25ac1d..86de52d1 100644
--- a/keystone/content/common/xsd/OS-KSCATALOG.xsd
+++ b/keystone/content/common/xsd/OS-KSCATALOG.xsd
@@ -63,7 +63,7 @@
<element vc:minVersion="1.1" ref="atom:link" minOccurs="0" maxOccurs="unbounded" />
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</sequence>
- <attribute name="id" type="xsd:int" use="required">
+ <attribute name="id" type="xsd:string" use="required">
<annotation>
<xsd:documentation
xml:lang="EN"
@@ -74,7 +74,7 @@
</xsd:documentation>
</annotation>
</attribute>
- <attribute name="type" type="identity:ExtensibleServiceType" use="required">
+ <attribute name="type" type="identity:ExtensibleServiceType" use="optional">
<annotation>
<xsd:documentation
xml:lang="EN"
@@ -107,7 +107,7 @@
</xsd:documentation>
</annotation>
</attribute>
- <attribute name="publicURL" type="xsd:anyURI" use="required">
+ <attribute name="publicURL" type="xsd:anyURI" use="optional">
<annotation>
<xsd:documentation
xml:lang="EN"
@@ -174,4 +174,20 @@
</sequence>
<anyAttribute namespace="##other" processContents="lax"/>
</complexType>
+
+ <complexType name="EndpointTemplateWithOnlyId">
+ <complexContent>
+ <restriction base="OS-KSCATALOG:EndpointTemplate">
+ <attribute name="id" type="xsd:string" use="required"/>
+ <attribute name="type" type="identity:ExtensibleServiceType" use="prohibited"/>
+ <attribute name="name" type="xsd:string" use="prohibited"/>
+ <attribute name="region" type="xsd:string" use="prohibited"/>
+ <attribute name="publicURL" type="xsd:anyURI" use="prohibited"/>
+ <attribute name="internalURL" type="xsd:anyURI" use="prohibited"/>
+ <attribute name="adminURL" type="xsd:anyURI" use="prohibited"/>
+ <attribute name="global" type="xsd:boolean" use="prohibited"/>
+ <attribute name="enabled" type="xsd:boolean" use="prohibited"/>
+ </restriction>
+ </complexContent>
+ </complexType>
</schema>
diff --git a/keystone/content/common/xsd/RAX-KSADM-users.xsd b/keystone/content/common/xsd/RAX-KSADM-users.xsd
index bd8ad2ec..c8b9d16e 100644
--- a/keystone/content/common/xsd/RAX-KSADM-users.xsd
+++ b/keystone/content/common/xsd/RAX-KSADM-users.xsd
@@ -18,19 +18,6 @@
schemaLocation="user.xsd"/>
<!-- Elements -->
-
- <!-- Complex Types -->
- <complexType name="UserWithOnlyEnabled">
- <complexContent>
- <restriction base="identity:User">
- <attribute name="id" type="xsd:ID" use="prohibited"/>
- <attribute name="defaultTenantId" type="xsd:string" use="prohibited"/>
- <attribute name="email" type="xsd:string" use="prohibited"/>
- <attribute name="enabled" type="xsd:boolean" use="required"/>
- </restriction>
- </complexContent>
- </complexType>
-
<complexType name="UserWithOnlyPassword">
<complexContent>
<restriction base="identity:User">
diff --git a/keystone/content/common/xsd/user.xsd b/keystone/content/common/xsd/user.xsd
index cae6a546..66ae728d 100644
--- a/keystone/content/common/xsd/user.xsd
+++ b/keystone/content/common/xsd/user.xsd
@@ -57,7 +57,7 @@
</xsd:documentation>
</annotation>
</attribute>
- <attribute name="username" type="xsd:string" use="required">
+ <attribute name="username" type="xsd:string" use="optional">
<annotation>
<xsd:documentation
xml:lang="EN"
@@ -128,5 +128,4 @@
</sequence>
<anyAttribute namespace="##other" processContents="lax"/>
</complexType>
-
</schema>