diff options
| author | Yogeshwar Srikrishnan <yoga80@yahoo.com> | 2011-09-12 11:30:53 -0500 |
|---|---|---|
| committer | Yogeshwar Srikrishnan <yoga80@yahoo.com> | 2011-09-12 17:32:38 -0500 |
| commit | 06f37ccd1eb5b87986b3a2f399cbc749fde56822 (patch) | |
| tree | 337778b00453c612bc53be2492d8640bf427c64e | |
| parent | 92bb42934798b47879f42895cdcccb43ca84d7cc (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
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 Binary files differindex 38c78de9..dabd390c 100644 --- a/keystone/content/admin/OS-KSADM-admin-devguide.pdf +++ b/keystone/content/admin/OS-KSADM-admin-devguide.pdf 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 Binary files differindex 028ee63d..d2448e87 100644 --- a/keystone/content/admin/OS-KSCATALOG-admin-devguide.pdf +++ b/keystone/content/admin/OS-KSCATALOG-admin-devguide.pdf 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> |
