Clean up files for identity v2.0 reference

Change-Id: I2c7539d889a8186c957b0bc7a695b32429b138bc
author: diane fleming
This commit is contained in:
Diane Fleming 2014-05-19 08:32:56 -05:00
parent 4efd367b88
commit d5a3839b47
152 changed files with 811 additions and 2928 deletions

View File

@ -1,4 +0,0 @@
.DS_Store
.DS_Store?
target/
*.bak

View File

@ -1,167 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book [
<!-- Some useful entities borrowed from HTML -->
<!ENTITY ndash "&#x2013;">
<!ENTITY mdash "&#x2014;">
<!ENTITY hellip "&#x2026;">
<!-- Useful for describing APIs -->
<!ENTITY GET '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
<!ENTITY PUT '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
<!ENTITY POST '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
<!-- Information about the extension -->
<!ENTITY PUB_DATE "2011-12-21">
<!ENTITY ALIAS "HP-IDM">
<!ENTITY NAMESPACE "http://docs.openstack.org/identity/api/ext/HP-IDM/v1.0">
]>
<book xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:m="http://www.w3.org/1998/Math/MathML"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:acme="http://docs.acme.org/servers/api/ext/template/v1.0"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1"
version="5.0" xml:id="hp-idm" status="DRAFT">
<title>OpenStack Identity HP-IDM Extension</title>
<titleabbrev>&ALIAS;</titleabbrev>
<info>
<author>
<personname>
<firstname/>
<surname/>
</personname>
<affiliation>
<orgname>HP</orgname>
</affiliation>
</author>
<copyright>
<year>2011</year>
<holder>Hewlett-Packard Development Company L.P.</holder>
</copyright>
<productname>OpenStack Identity</productname>
<pubdate>&PUB_DATE;</pubdate>
<legalnotice role="apache2">
<annotation>
<remark>Copyright details are filled in by the template.</remark>
</annotation>
</legalnotice>
<othercredit>
<personname>
<firstname>Guang</firstname>
<surname>Yee</surname>
</personname>
<email>guang.yee@hp.com</email>
</othercredit>
<extension
xmlns="http://docs.openstack.org/common/api/v1.0"
xmlns:atom="http://www.w3.org/2005/Atom"
name="HP Token Validation Extension"
namespace="http://docs.openstack.org/identity/api/ext/HP-IDM/v1.0"
alias="HP-IDM"
updated="2011-12-06T17:00:00-00:00">
<description>
Validates tokens with the optional HP-IDM-serviceId
parameter so that only the roles associated with the
given service IDs are returned. See
<link xlink:href="https://bugs.launchpad.net/keystone/+bug/890411">https://bugs.launchpad.net/keystone/+bug/890411</link> for more
details.
</description>
<atom:link rel="describedby"
type="application/pdf"
href="https://github.com/openstack/keystone/raw/master/keystone/content/admin/HP-IDM-admin-devguide.pdf"/>
<atom:link rel="describedby"
type="application/vnd.sun.wadl+xml"
href="https://raw.github.com/openstack/keystone/master/keystone/content/admin/HP-IDM-admin.wadl"/>
</extension>
<abstract>
<!--
Insert a short description of your template. This is used
in the copyright statement.
-->
<para>HP-IDM Extension For Token Validation.</para>
</abstract>
<!--
Revision history goes here. The docs system can turn this
into an atom feed.
-->
<revhistory>
<revision>
<date>2011-12-21</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>
Initial version.
</para>
</listitem>
</itemizedlist>
</revdescription>
</revision>
</revhistory>
</info>
<chapter xml:id="hp-idm_summary-of-changes">
<title>Summary of Changes</title>
<!--
Provide an overall summary of the extension. Give an
overview of how the extensions works and what capabilities it
adds.
-->
<section xml:id="hp-idm-overview"><title>HP-IDM Admin Extension</title><para>
The HP-IDM Admin extension adds capability to filter roles
with optional service IDs for token validation to mitigate security risks
with role name conflicts.
See
<link xlink:href="https://bugs.launchpad.net/keystone/+bug/890411">
https://bugs.launchpad.net/keystone/+bug/890411
</link>
for more details.
</para>
<!--
The following examples should illustrate the extension query
response.
-->
<example>
<title>Sample Valid Token Request</title>
<programlisting language="http"><xi:include href="samples/sample_request.txt" parse="text"/></programlisting>
</example>
<example>
<title>Sample Valid Token Request with Global Service ID Specified</title>
<programlisting language="xml"><xi:include href="samples/sample_request_with_global_sid.txt" parse="text"/></programlisting>
</example>
<section xml:id="hp-idm-new-headers">
<title>New Headers</title>
<!--
Describe any new headers, if any.
-->
<para>None.</para>
</section>
<section xml:id="hp-idm-new-faults">
<title>New Faults</title>
<!--
Describe any new faults, if any. Make sure you specify
if the fault can be expectid in all requests.
-->
<para>None.</para>
</section>
<section xml:id="hp-idm-new-resources" role="api-reference">
<title>New Resources</title>
<para>
No new resource. HP-IDM Extension merely introduced a new optional HP-IDM-serviceId parameter for the validate token operations. The following APIs are affected.
</para>
<section xml:id="hp-idm-validate-tokens">
<title>HP-IDM Admin Extension</title>
<para>
Use the HP-IDM extension to perform the following operations on templates:
</para>
<wadl:resources>
<wadl:resource href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/HP-IDM-admin.wadl#tokenById"/>
</wadl:resources>
</section>
</section>
</section>
</chapter>
</book>

View File

@ -1,206 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book [
<!-- Some useful entities borrowed from HTML -->
<!ENTITY ndash "&#x2013;">
<!ENTITY mdash "&#x2014;">
<!ENTITY hellip "&#x2026;">
<!-- Useful for describing APIs -->
<!ENTITY GET '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
<!ENTITY PUT '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
<!ENTITY POST '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
<!ENTITY ARROW '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
<imageobject>
<imagedata fileref="img/Arrow_east.svg"
format="SVG" scale="60"/>
</imageobject>
</inlinemediaobject>'>
<!ENTITY CODES 'Normal Response Code(s):'>
<!ENTITY ERROR_CODES 'Error Response Code(s):'>
<!-- Information about the extension -->
<!ENTITY VERSION "v1.0">
<!ENTITY PUB_DATE "2011-08-26">
<!ENTITY ALIAS "OS-KSS3">
<!ENTITY URI_REFHEAD '
<thead xmlns="http://docbook.org/ns/docbook">
<tr>
<td colspan="1">Verb</td>
<td colspan="1">URI</td>
<td colspan="4">Description</td>
</tr>
</thead>'>
<!ENTITY NAMESPACE "http://docs.rackspace.com/identity/api/ext/OS-KSS3/v1.0">
<!ENTITY CURRENTGUIDE "http://docs.openstack.org">
<!ENTITY S3CREDENTIALSREQUESTXML "http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/OS-KSS3/samples/s3Credentials.xml">
<!ENTITY S3CREDENTIALSREQUESTJSON "http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/OS-KSS3/samples/s3Credentials.json">
]>
<book xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:m="http://www.w3.org/1998/Math/MathML"
xmlns:html="http://www.w3.org/1999/xhtml" version="5.0"
status="draft" xml:id="book-0001">
<?rax subtitle.font.size="20px"?>
<title>OpenStack Identity OS-KSS3 Extension (Admin
Operations)</title>
<titleabbrev>OS-KSS3 (Admin)</titleabbrev>
<info>
<author>
<personname>
<firstname/>
<surname/>
</personname>
<affiliation>
<orgname>Rackspace Cloud</orgname>
</affiliation>
</author>
<copyright>
<year>2011</year>
<holder>Rackspace US, Inc.</holder>
</copyright>
<releaseinfo>EXT v1.0</releaseinfo>
<productname>OpenStack Identity</productname>
<pubdate>&PUB_DATE;</pubdate>
<legalnotice role="rs-api">
<annotation>
<remark>Copyright details are filled in by the
template.</remark>
</annotation>
</legalnotice>
<othercredit>
<personname>
<firstname>Joe</firstname>
<surname>Savak</surname>
</personname>
<email>joe.savak@RACKSPACE.COM</email>
</othercredit>
<extension xmlns="http://docs.openstack.org/common/api/v1.0"
xmlns:atom="http://www.w3.org/2005/Atom"
name="OS-KSS3 Extensions"
namespace="http://docs.rackspace.com/identity/api/ext/OS-KSS3/v1.0"
alias="OS-KSS3" updated="2011-08-14T13:25:27-06:00">
<description> Identity v2.0 API extension. </description>
<atom:link rel="describedby" type="application/pdf"
href="httaw.github.com/openstack/identity-api/master/openstack-identity-api/src/docbkx/extensions/OS-KSS3/OS-KSS3-admin-devguide.pdf"/>
<atom:link rel="describedby"
type="application/vnd.sun.wadl+xml"
href="https://raw.github.com/openstack/identity-api/master/openstack-identity-api/src/docbkx/extensions/OS-KSS3/OS-KSS3-admin.wadl"
/>
</extension>
<abstract>
<para>This document is intended for client developers
interested in using the OS-KSS3 Extension (Admin)
along with the OpenStack Identity
(<abbrev>API</abbrev>).</para>
</abstract>
<revhistory>
<revision>
<date>2011-09-13</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>Initial release.</para>
</listitem>
</itemizedlist>
</revdescription>
</revision>
</revhistory>
</info>
<chapter xml:id="chapter-0001">
<title>Summary of Changes</title>
<para>The OS-KSS3 Extension allows crud/listing operations on
<parameter>s3Credentials</parameter>.</para>
<section xml:id="NewHeaders-0001">
<title>New Headers</title>
<para>None.</para>
</section>
<section xml:id="NewFaults0001">
<title>New Faults</title>
<para>None.</para>
</section>
<section xml:id="NewResources-0001">
<title>New Resources</title>
<para>None.</para>
</section>
<section xml:id="NewActions0001">
<title>New Actions</title>
<para>None.</para>
</section>
<section xml:id="NewElement0001">
<title>New Element</title>
<section xml:id="NewElementDetail-0001">
<title>s3Credentials</title>
<para>This extension allows authentication calls to
accept new type of credentials
<parameter>s3Credentials</parameter>. These
are additional type of credentials defined to
support Amazon's S3 style Authentication. Examples
of <parameter>s3Credentials</parameter> are
illustrated below.</para>
<example>
<title>s3Credentials XML</title>
<programlisting language="xml"><xi:include href="&S3CREDENTIALSREQUESTXML;" parse="text"/></programlisting>
</example>
<example>
<title>s3Credentials JSON</title>
<programlisting language="json"><xi:include href="&S3CREDENTIALSREQUESTJSON;" parse="text"/></programlisting>
</example>
</section>
</section>
<section xml:id="RackExt-0001">
<title>OS-KSS3 Admin Extension</title>
<section xml:id="New-Elements-details-0002">
<title>New Elements</title>
<para>This extension allows token validation and
endpoint retrieval without sending tokens in the
URI.</para>
</section>
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="KSS3_OPERATIONS-token" version="5.0"
role="api-reference">
<title>OS-KSS3 Admin Extension</title>
<table rules="all">
<caption>Authentication Header</caption>
<thead>
<tr>
<td>Header Type</td>
<td>Name</td>
<td>Value</td>
</tr>
</thead>
<tbody>
<tr>
<td>HTTP/1.1 Request</td>
<td>X-Auth-Token</td>
<td>txfa8426a08eaf</td>
</tr>
</tbody>
</table>
<wadl:resources
xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/OS-KSS3-admin.wadl#userCredentials">
<wadl:method href="listCredentials"/>
<wadl:method href="addUserCredential"/>
</wadl:resource>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/OS-KSS3-admin.wadl#userCredentialsByType">
<wadl:method href="getUserCredential"/>
<wadl:method href="updateUserCredential"/>
<wadl:method href="deleteUserCredential"/>
</wadl:resource>
</wadl:resources>
</section>
</section>
</chapter>
</book>

View File

@ -1,186 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book [
<!-- Some useful entities borrowed from HTML -->
<!ENTITY ndash "&#x2013;">
<!ENTITY mdash "&#x2014;">
<!ENTITY hellip "&#x2026;">
<!-- Useful for describing APIs -->
<!ENTITY GET '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
<!ENTITY PUT '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
<!ENTITY POST '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
<!ENTITY ARROW '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
<imageobject>
<imagedata fileref="img/Arrow_east.svg"
format="SVG" scale="60"/>
</imageobject>
</inlinemediaobject>'>
<!ENTITY CODES 'Normal Response Code(s):'>
<!ENTITY ERROR_CODES 'Error Response Code(s):'>
<!-- Information about the extension -->
<!ENTITY VERSION "v1.0">
<!ENTITY PUB_DATE "2011-08-26">
<!ENTITY ALIAS "OS-KSVALIDATE">
<!ENTITY URI_REFHEAD '
<thead xmlns="http://docbook.org/ns/docbook">
<tr>
<td colspan="1">Verb</td>
<td colspan="1">URI</td>
<td colspan="4">Description</td>
</tr>
</thead>'>
<!ENTITY NAMESPACE "http://docs.rackspace.com/identity/api/ext/OS-KSVALIDATE/v1.0">
<!ENTITY CURRENTGUIDE "http://docs.openstack.org">
]>
<book xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:m="http://www.w3.org/1998/Math/MathML"
xmlns:html="http://www.w3.org/1999/xhtml" version="5.0"
status="draft" xml:id="book-0001">
<?rax subtitle.font.size="12px"?>
<title>OpenStack Identity OS-KSVALIDATE Extension (Service
Operations)</title>
<titleabbrev>OS-KSVALIDATE (Service)</titleabbrev>
<info>
<author>
<personname>
<firstname/>
<surname/>
</personname>
<affiliation>
<orgname>Rackspace Cloud</orgname>
</affiliation>
</author>
<copyright>
<year>2010</year>
<year>2011</year>
<holder>OpenStack</holder>
</copyright>
<releaseinfo>API v2.0</releaseinfo>
<productname>OpenStack Identity</productname>
<pubdate>2011-08-29</pubdate>
<legalnotice role="apache2">
<annotation>
<remark>Copyright details are filled in by the
template.</remark>
</annotation>
</legalnotice>
<othercredit>
<personname>
<firstname>Joe</firstname>
<surname>Savak</surname>
</personname>
<email>joe.savak@RACKSPACE.COM</email>
</othercredit>
<extension xmlns="http://docs.openstack.org/common/api/v1.0"
xmlns:atom="http://www.w3.org/2005/Atom"
name="OS-KSVALIDATE Extensions"
namespace="http://docs.rackspace.com/identity/api/ext/OS-KSVALIDATE/v1.0"
alias="OS-KSVALIDATE" updated="2011-08-14T13:25:27-06:00">
<description> Identity v2.0 API extension. </description>
<atom:link rel="describedby" type="application/pdf"
href="httaw.github.com/openstack/identity-api/master/openstack-identity-api/src/docbkx/extensions/OS-KSVALIDATE/OS-KSVALIDATE-service-devguide.pdf"/>
<atom:link rel="describedby"
type="application/vnd.sun.wadl+xml"
href="https://raw.github.com/openstack/identity-api/master/openstack-identity-api/src/docbkx/extensions/OS-KSVALIDATE/OS-KSVALIDATE-admin.wadl"
/>
</extension>
<abstract>
<para>This document is intended for client developers
interested in using the OS-KSVALIDATE Extension
(Service) along with the OpenStack Identity
(<abbrev>API</abbrev>).</para>
</abstract>
<revhistory>
<revision>
<date>2011-09-13</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>Initial release.</para>
</listitem>
</itemizedlist>
</revdescription>
</revision>
</revhistory>
</info>
<chapter xml:id="chapter-0001">
<title>Summary of Changes</title>
<para>OS-KSVALIDATE extension allows a Token to be optionally
encrypted and passed in the 'X-Subject-Token' header for
validation, rather than in the URI.</para>
<section xml:id="NewHeaders-0001">
<title>New Headers</title>
<para>None.</para>
</section>
<section xml:id="NewFaults0001">
<title>New Faults</title>
<para>None.</para>
</section>
<section xml:id="NewResources-0001">
<title>New Resources</title>
<para>None.</para>
</section>
<section xml:id="NewActions0001">
<title>New Actions</title>
<para>None.</para>
</section>
<section xml:id="NewElement0001">
<title>New Elements</title>
<section xml:id="RackExt-0001">
<title>OS-KSVALIDATE extension to Identity v2.0
API</title>
<section xml:id="New-Elements-details-0002">
<title>New Elements</title>
<para>This extension allows token validation and
endpoint retrieval without sending tokens in
the URI.</para>
</section>
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="KSVALIDATE_OPERATIONS-token" version="5.0"
role="api-reference">
<title>OS-KSVALIDATE Admin Extension</title>
<table rules="all">
<caption>Authentication Header</caption>
<thead>
<tr>
<td>Header Type</td>
<td>Name</td>
<td>Value</td>
</tr>
</thead>
<tbody>
<tr>
<td>HTTP/1.1 Request</td>
<td>X-Auth-Token</td>
<td>txfa8426a08eaf</td>
</tr>
</tbody>
</table>
<wadl:resources
xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/OS-KSVALIDATE-admin.wadl#validate">
<wadl:method href="validateToken"/>
<wadl:method href="checkToken"/>
</wadl:resource>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/OS-KSVALIDATE-admin.wadl#endpointsForToken">
<wadl:method href="listEndpointsForToken"
/>
</wadl:resource>
</wadl:resources>
</section>
</section>
</section>
</chapter>
</book>

View File

@ -1,220 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book [
<!-- Some useful entities borrowed from HTML -->
<!ENTITY ndash "&#x2013;">
<!ENTITY mdash "&#x2014;">
<!ENTITY hellip "&#x2026;">
<!-- Useful for describing APIs -->
<!ENTITY GET '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
<!ENTITY PUT '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
<!ENTITY POST '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
<!ENTITY ARROW '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
<imageobject>
<imagedata fileref="img/Arrow_east.svg"
format="SVG" scale="60"/>
</imageobject>
</inlinemediaobject>'>
<!ENTITY CODES 'Normal Response Code(s):'>
<!ENTITY ERROR_CODES 'Error Response Code(s):'>
<!-- Information about the extension -->
<!ENTITY PUB_DATE "2011-09-13">
<!ENTITY URI_REFHEAD '
<thead xmlns="http://docbook.org/ns/docbook">
<tr>
<td colspan="1">Verb</td>
<td colspan="1">URI</td>
<td colspan="4">Description</td>
</tr>
</thead>'>
<!ENTITY GROUPSREQUESTXML "http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/RAX-GRPADM/samples/groups.xml">
<!ENTITY GROUPSREQUESTJSON "http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/RAX-GRPADM/samples/groups.json">
<!ENTITY GROUPREQUESTXML "http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/RAX-GRPADM/samples/group.xml">
<!ENTITY GROUPREQUESTJSON "http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/RAX-GRPADM/samples/group.json">
<!ENTITY UPDATEDGROUPREQUESTXML "http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/RAX-GRPADM/samples/group-updated.xml">
<!ENTITY UPDATEDGROUPREQUESTJSON "http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/RAX-GRPADM/samples/group-updated.json">
<!-- Information about the extension -->
<!ENTITY PUB_DATE "2011-01-23">
<!ENTITY ALIAS "RAX-GRPADM">
<!ENTITY NAMESPACE "http://docs.rackspace.com/identity/api/ext/RAX-KSGRP/v1.0">
<!ENTITY CURRENTGUIDE "http://docs.openstack.org/api/openstack-identity/ext/admin/RAX-GRPADM.pdf">
<!ENTITY CURRENTWADL "http://docs.openstack.org/api/openstack-identity/ext/admin/RAX-GRPADM.wadl">
<!ENTITY EXTENSIONXSD "http://docs.openstack.org/api/openstack-identity/ext/admin/common/xsd/RAX-GRPADM.xsd">
]>
<book xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:m="http://www.w3.org/1998/Math/MathML"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:rax="http://docs.rackspace.com/api"
xmlns:wadl="http://wadl.dev.java.net/2009/02" version="5.0"
xml:id="book_rax_group_admin">
<?rax subtitle.font.size="20px"?>
<title>OpenStack Identity Rackspace Group Admin Extension</title>
<titleabbrev>&ALIAS;</titleabbrev>
<info>
<author>
<personname>
<firstname/>
<surname/>
</personname>
<affiliation>
<orgname>Rackspace Cloud</orgname>
</affiliation>
</author>
<copyright>
<year>2011</year>
<holder>Rackspace US, Inc.</holder>
</copyright>
<productname>OpenStack Identity</productname>
<pubdate>&PUB_DATE;</pubdate>
<legalnotice role="rs-api">
<annotation>
<remark>Copyright details are filled in by the
template.</remark>
</annotation>
</legalnotice>
<othercredit>
<personname>
<firstname>Joe</firstname>
<surname>Savak</surname>
</personname>
<email>joe.savak@RACKSPACE.COM</email>
</othercredit>
<extension xmlns="http://docs.openstack.org/common/api/v1.0"
xmlns:atom="http://www.w3.org/2005/Atom"
name="OpenStack Identity Rackspace Group Admin"
namespace="http://docs.rackspace.com/identity/api/ext/RAX-KSGRP/v1.0"
alias="RAX-GRPADM" updated="2011-08-14T13:25:27-06:00">
<description> Rackspace extensions to Identity v2.0 API
enabling Group Admin. </description>
<atom:link rel="describedby" type="application/pdf"
href="https://raw.github.com/openstack/identity-api/master/openstack-identity-api/src/docbkx/extensions/RAX-GRPADM/RAX-GRPADM-devguide.pdf"/>
<atom:link rel="describedby"
type="application/vnd.sun.wadl+xml"
href="https://raw.github.com/openstack/identity-api/master/openstack-identity-api/src/docbkx/extensions/RAX-GRPADM/RAX-GRPADM.wadl"
/>
</extension>
<abstract>
<para>This document is for software developers who want to
use the Group Admin Extension to the OpenStack
Identity Application Programming Interface
(<abbrev>API</abbrev>).</para>
</abstract>
<revhistory>
<revision>
<date>2012-01-23</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>Initial release.</para>
</listitem>
</itemizedlist>
</revdescription>
</revision>
</revhistory>
</info>
<chapter xml:id="chapter-0001">
<title>Summary of Changes</title>
<para>This extension adds capabilities to the RAX-KSGRP
extension. It allows for CRUD operations on
<parameter>groups</parameter> and gives the ability to
associate <parameter>groups</parameter> with
<parameter>users</parameter>.</para>
<section xml:id="NewHeaders-0001">
<title>New Headers</title>
<para>None.</para>
</section>
<section xml:id="NewFaults0001">
<title>New Faults</title>
<para>None.</para>
</section>
<section xml:id="NewResources-0001">
<title>New Resources</title>
<para>None.</para>
</section>
<section xml:id="NewActions0001">
<title>New Actions</title>
<para>None.</para>
</section>
<section xml:id="NewElement0001">
<title>New Element</title>
<section xml:id="RackExt-0001">
<title>groups</title>
<para>This extension adds capabilities to the
RAX-KSGRP extension. It allows for CRUD operations
on <parameter>groups</parameter> and gives the
ability to associate <parameter>groups</parameter>
with <parameter>users</parameter>.</para>
<example>
<title>group XML</title>
<programlisting language="xml"><xi:include href="&GROUPREQUESTXML;" parse="text"/></programlisting>
</example>
<example>
<title>groups JSON</title>
<programlisting language="json"><xi:include href="&GROUPREQUESTJSON;" parse="text"/></programlisting>
</example>
</section>
</section>
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="Admin_API_Service_Developer_Operations-RAX-GRPADM"
version="5.0" role="api-reference">
<title>RAX-GRPADM Admin Extension</title>
<table rules="all">
<caption>Authentication Header</caption>
<thead>
<tr>
<td>Header Type</td>
<td>Name</td>
<td>Value</td>
</tr>
</thead>
<tbody>
<tr>
<td>HTTP/1.1 Request</td>
<td>X-Auth-Token</td>
<td>txfa8426a08eaf</td>
</tr>
</tbody>
</table>
<para>A new resource is created at
<literal>/RAX-GRPADM/groups</literal> that enables
the management of groups.</para>
<section xml:id="Group_Operations_RAX_KSGRPADM">
<title>Group Operations</title>
<wadl:resources
xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/RAX-GRPADM.wadl#groups">
<wadl:method href="addGroup"/>
</wadl:resource>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/RAX-GRPADM.wadl#group">
<wadl:method href="getGroup"/>
<wadl:method href="updateGroup"/>
<wadl:method href="deleteGroup"/>
</wadl:resource>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/RAX-GRPADM.wadl#user">
<wadl:method href="addUserToGroup"/>
<wadl:method href="removeUserFromGroup"/>
</wadl:resource>
</wadl:resources>
</section>
</section>
</chapter>
</book>

View File

@ -1,206 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book [
<!-- Some useful entities borrowed from HTML -->
<!ENTITY ndash "&#x2013;">
<!ENTITY mdash "&#x2014;">
<!ENTITY hellip "&#x2026;">
<!-- Useful for describing APIs -->
<!ENTITY GET '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
<!ENTITY PUT '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
<!ENTITY POST '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
<!ENTITY ARROW '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
<imageobject>
<imagedata fileref="img/Arrow_east.svg"
format="SVG" scale="60"/>
</imageobject>
</inlinemediaobject>'>
<!ENTITY CODES 'Normal Response Code(s):'>
<!ENTITY ERROR_CODES 'Error Response Code(s):'>
<!-- Information about the extension -->
<!ENTITY VERSION "v1.0">
<!ENTITY PUB_DATE "2011-08-26">
<!ENTITY ALIAS "RAX-KSGRP">
<!ENTITY URI_REFHEAD '
<thead xmlns="http://docbook.org/ns/docbook">
<tr>
<td colspan="1">Verb</td>
<td colspan="1">URI</td>
<td colspan="4">Description</td>
</tr>
</thead>'>
<!ENTITY NAMESPACE "http://docs.rackspace.com/identity/api/ext/RAX-KSGRP/v1.0">
<!ENTITY CURRENTGUIDE "http://docs.rackspace.com/api">
<!ENTITY EXTENSIONXSD "xsd/RAX-KSGRP-groups.xsd">
<!ENTITY GROUPSXML "http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/RAX-KSGRP/samples/RAX-KSGRP-groups.xml">
<!ENTITY GROUPSJSON "http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/RAX-KSGRP/samples/RAX-KSGRP-groups.json">
<!ENTITY GROUPXML "http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/RAX-KSGRP/samples/RAX-KSGRP-group.xml">
<!ENTITY GROUPJSON "http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/RAX-KSGRP/samples/RAX-KSGRP-group.json">
<!ENTITY GROUPREQUESTXML "http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/RAX-KSGRP/samples/auth_credentials.xml">
<!ENTITY GROUPREQUESTJSON "http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/RAX-KSGRP/samples/auth_credentials.json">
<!ENTITY GROUPRESPONSEXML "http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/RAX-KSGRP/samples/authwithgroups.xml">
<!ENTITY GROUPRESPONSEJSON "http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/RAX-KSGRP/samples/authwithgroups.json">
]>
<book xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:m="http://www.w3.org/1998/Math/MathML"
xmlns:html="http://www.w3.org/1999/xhtml" version="5.0"
status="draft" xml:id="book-0001">
<?rax subtitle.font.size="12px"?>
<title>Rackspace Identity Group Extension (Service
Operations)</title>
<titleabbrev>RAX-KSGRP (Service)</titleabbrev>
<info>
<author>
<personname>
<firstname/>
<surname/>
</personname>
<affiliation>
<orgname>Rackspace Cloud</orgname>
</affiliation>
</author>
<copyright>
<year>2011</year>
<holder>Rackspace US, Inc.</holder>
</copyright>
<releaseinfo>EXT v1.0</releaseinfo>
<productname>OpenStack Identity</productname>
<pubdate>&PUB_DATE;</pubdate>
<legalnotice role="rs-api">
<annotation>
<remark>Copyright details are filled in by the
template.</remark>
</annotation>
</legalnotice>
<othercredit>
<personname>
<firstname>Joe</firstname>
<surname>Savak</surname>
</personname>
<email>joe.savak@RACKSPACE.COM</email>
</othercredit>
<extension xmlns="http://docs.openstack.org/common/api/v1.0"
xmlns:atom="http://www.w3.org/2005/Atom"
name="Rackspace Identity Service Group Extensions"
namespace="http://docs.rackspace.com/identity/api/ext/RAX-KSGRP/v1.0"
alias="RAX-KSGRP" updated="2011-08-14T13:25:27-06:00">
<description>Rackspace extensions to Identity v2.0 API
enabling groups.</description>
<atom:link rel="describedby" type="application/pdf"
href="httaw.github.com/openstack/identity-api/master/openstack-identity-api/src/docbkx/extensions/RAX-KSGRP/RAX-KSGRP-devguide.pdf"/>
<atom:link rel="describedby"
type="application/vnd.sun.wadl+xml"
href="https://raw.github.com/openstack/identity-api/master/openstack-identity-api/src/docbkx/extensions/RAX-KSGRP/RAX-KSGRP.wadl"
/>
</extension>
<abstract>
<para>This document is intended for client developers
interested in using the Rackspace Identity Service
Group Extension (Service) along with OpenStack
Identity (<abbrev>API</abbrev>).</para>
</abstract>
<revhistory>
<revision>
<date>2011-09-13</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>Initial release.</para>
</listitem>
</itemizedlist>
</revdescription>
</revision>
</revhistory>
</info>
<chapter xml:id="chapter-0001">
<title>Summary of Changes</title>
<para>Rackspace extensions to Identity v2.0 API allows
authenticate call to also return information about group
memberships of the user.</para>
<section xml:id="NewHeaders-0001">
<title>New Headers</title>
<para>None.</para>
</section>
<section xml:id="NewFaults0001">
<title>New Faults</title>
<para>None.</para>
</section>
<section xml:id="NewResources-0001">
<title>New Resources</title>
<para>None.</para>
</section>
<section xml:id="NewActions0001">
<title>New Actions</title>
<para>None.</para>
</section>
<section xml:id="NewElement0001">
<title>New Elements</title>
<section xml:id="RackExt-0001">
<title>Rackspace extensions to the Identity v2.0 API
enabling groups.</title>
<section xml:id="New-Elements-details-0002">
<title>New Elements</title>
<para>This extension starts returning groups as a
part of response when an authenticate call is
made. The samples of new elements that are
defined as a part of this extension are listed
below.</para>
<example>
<title>Groups Sample XML</title>
<programlisting language="xml"><xi:include href="&GROUPSXML;" parse="text"/></programlisting>
</example>
<example>
<title>Groups Sample JSON</title>
<programlisting language="json"><xi:include href="&GROUPSJSON;" parse="text"/></programlisting>
</example>
</section>
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="Admin_API_Service_Developer_Operations-RAX-KSGRP"
version="5.0" role="api-reference">
<title>RAX-KSGRP Admin Extension</title>
<table rules="all">
<caption>Authentication Header</caption>
<thead>
<tr>
<td>Header Type</td>
<td>Name</td>
<td>Value</td>
</tr>
</thead>
<tbody>
<tr>
<td>HTTP/1.1 Request</td>
<td>X-Auth-Token</td>
<td>txfa8426a08eaf</td>
</tr>
</tbody>
</table>
<para>The Rackspace API Groups Service Extension
adds the following calls:</para>
<section xml:id="User_Operations_RAX_KSGRP">
<title>Group Operations</title>
<wadl:resources
xmlns:wadl="http://wadl.dev.java.net/2009/02"
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/RAX-KSGRP-admin.wadl">
<!-- <wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/RAX-KSGRP-admin.wadl#user-groups-RAX-KSGRP">
<wadl:method href="listUserGroups"/>
</wadl:resource>-->
</wadl:resources>
</section>
</section>
</section>
</section>
</chapter>
</book>

View File

@ -1,188 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book [
<!-- Some useful entities borrowed from HTML -->
<!ENTITY ndash "&#x2013;">
<!ENTITY mdash "&#x2014;">
<!ENTITY hellip "&#x2026;">
<!-- Useful for describing APIs -->
<!ENTITY GET '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
<!ENTITY PUT '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
<!ENTITY POST '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
<!ENTITY ARROW '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
<imageobject>
<imagedata fileref="img/Arrow_east.svg"
format="SVG" scale="60"/>
</imageobject>
</inlinemediaobject>'>
<!ENTITY CODES 'Normal Response Code(s):'>
<!ENTITY ERROR_CODES 'Error Response Code(s):'>
<!-- Information about the extension -->
<!ENTITY PUB_DATE "2011-09-13">
<!ENTITY URI_REFHEAD '
<thead xmlns="http://docbook.org/ns/docbook">
<tr>
<td colspan="1">Verb</td>
<td colspan="1">URI</td>
<td colspan="4">Description</td>
</tr>
</thead>'>
<!ENTITY APIKEYCREDENTIALSREQUESTXML "http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/RAX-KSKEY/samples/apiKeyCredentials.xml">
<!ENTITY APIKEYCREDENTIALSREQUESTJSON "http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/RAX-KSKEY/samples/apiKeyCredentials.json">
]>
<book xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:m="http://www.w3.org/1998/Math/MathML"
xmlns:html="http://www.w3.org/1999/xhtml" version="5.0"
status="draft" xml:id="RAX-KSKEY-admin">
<?rax subtitle.font.size="12px"?>
<title>OpenStack Identity Rackspace API Key Authentication
Extension (Admin Operations)</title>
<titleabbrev>RAX-KSKEY (Admin)</titleabbrev>
<info>
<author>
<personname>
<firstname/>
<surname/>
</personname>
<affiliation>
<orgname>Rackspace Cloud</orgname>
</affiliation>
</author>
<copyright>
<year>2011</year>
<holder>Rackspace US, Inc.</holder>
</copyright>
<productname>OpenStack Identity</productname>
<pubdate>&PUB_DATE;</pubdate>
<legalnotice role="rs-api">
<annotation>
<remark>Copyright details are filled in by the
template.</remark>
</annotation>
</legalnotice>
<othercredit>
<personname>
<firstname>Joe</firstname>
<surname>Savak</surname>
</personname>
<email>joe.savak@RACKSPACE.COM</email>
</othercredit>
<extension xmlns="http://docs.openstack.org/common/api/v1.0"
xmlns:atom="http://www.w3.org/2005/Atom"
name="Rackspace API Key authentication"
namespace="http://docs.rackspace.com/identity/api/ext/RAX-KSKEY/v1.0"
alias="RAX-KSKEY" updated="2011-08-14T13:25:27-06:00">
<description> Rackspace extensions to Identity v2.0 API
enabling API Key authentication. </description>
<atom:link rel="describedby" type="application/pdf"
href="https://raw.github.com/openstack/identity-api/master/openstack-identity-api/src/docbkx/extensions/RAX-KSKEY/RAX-KSKEY-admin-devguide.pdf"/>
<atom:link rel="describedby"
type="application/vnd.sun.wadl+xml"
href="https://raw.github.com/openstack/identity-api/master/openstack-identity-api/src/docbkx/extensions/RAX-KSKEY/RAX-KSKEY-admin.wadl"
/>
</extension>
<abstract>
<para>This document is intended for service developers
interested in using the Rackspace API Key
Authentication Admin Extension along with OpenStack
Identity (<abbrev>API</abbrev>).</para>
</abstract>
<revhistory>
<revision>
<date>2011-09-13</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>Initial release.</para>
</listitem>
</itemizedlist>
</revdescription>
</revision>
</revhistory>
</info>
<chapter xml:id="chapter-0001">
<title>Summary of Changes</title>
<para>The Rackspace API Key Authentication Admin Extension
allows crud/listing operations on
<parameter>apikeyCredentials</parameter>.</para>
<section xml:id="NewHeaders-0001">
<title>New Headers</title>
<para>None.</para>
</section>
<section xml:id="NewFaults0001">
<title>New Faults</title>
<para>None.</para>
</section>
<section xml:id="NewResources-0001">
<title>New Resources</title>
<para>None.</para>
</section>
<section xml:id="NewActions0001">
<title>New Actions</title>
<para>None.</para>
</section>
<section xml:id="NewElement0001">
<title>New Element</title>
<section xml:id="RackExt-0001">
<title>RAX-KSKEY Admin Extension</title>
<para>This extension enables authentication calls to
accept the
<parameter>apikeyCredentials</parameter>
parameter. These credentials support
Rackspace-style authentication.</para>
<example>
<title>apikeyCredentials XML</title>
<programlisting language="xml"><xi:include href="&APIKEYCREDENTIALSREQUESTXML;" parse="text"/></programlisting>
</example>
<example>
<title>apikeyCredentials JSON</title>
<programlisting language="json"><xi:include href="&APIKEYCREDENTIALSREQUESTJSON;" parse="text"/></programlisting>
</example>
</section>
</section>
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="Admin_API_Service_Developer_Operations-RAX-KSKEY-admin"
version="5.0" role="api-reference">
<title>RAX-KSKEY Admin Extension</title>
<table rules="all">
<caption>Authentication Header</caption>
<thead>
<tr>
<td>Header Type</td>
<td>Name</td>
<td>Value</td>
</tr>
</thead>
<tbody>
<tr>
<td>HTTP/1.1 Request</td>
<td>X-Auth-Token</td>
<td>txfa8426a08eaf</td>
</tr>
</tbody>
</table>
<para>The Rackspace API Key Authentication Extension adds
the following calls:</para>
<section xml:id="User_Operations_RAX_KSKEY">
<title>User Operations</title>
<wadl:resources
xmlns:wadl="http://wadl.dev.java.net/2009/02"
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/RAX-KSKEY-admin.wadl">
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/RAX-KSKEY-admin.wadl#users"
> </wadl:resource>
</wadl:resources>
</section>
</section>
</chapter>
</book>

View File

@ -1,212 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book [
<!-- Some useful entities borrowed from HTML -->
<!ENTITY ndash "&#x2013;">
<!ENTITY mdash "&#x2014;">
<!ENTITY hellip "&#x2026;">
<!-- Useful for describing APIs -->
<!ENTITY GET '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
<!ENTITY PUT '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
<!ENTITY POST '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
<!ENTITY ARROW '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
<imageobject>
<imagedata fileref="img/Arrow_east.svg"
format="SVG" scale="60"/>
</imageobject>
</inlinemediaobject>'>
<!ENTITY CODES 'Normal Response Code(s):'>
<!ENTITY ERROR_CODES 'Error Response Code(s):'>
<!-- Information about the extension -->
<!ENTITY PUB_DATE "2011-08-26">
<!ENTITY URI_REFHEAD '
<thead xmlns="http://docbook.org/ns/docbook">
<tr>
<td colspan="1">Verb</td>
<td colspan="1">URI</td>
<td colspan="4">Description</td>
</tr>
</thead>'>
<!ENTITY NAMESPACE "http://docs.rackspace.com/identity/api/ext/RAX-KSKEY/v1.0">
<!ENTITY EXTENSIONXSD "xsd/RAX-KSKEY-credentials.xsd">
<!ENTITY APIKEYCREDENTIALSREQUESTXML "../samples/apiKeyCredentials.xml">
<!ENTITY APIKEYCREDENTIALSREQUESTJSON "../samples/apiKeyCredentials.json">
<!ENTITY APIKEYCREDENTIALSRESPONSEXML "../samples/auth.xml">
<!ENTITY APIKEYCREDENTIALSRESPONSEJSON "../samples/auth.json">
]>
<book xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:m="http://www.w3.org/1998/Math/MathML"
xmlns:html="http://www.w3.org/1999/xhtml" version="5.0"
status="draft" xml:id="RAX-KSKEY">
<?rax subtitle.font.size="12px"?>
<title>OpenStack Identity Rackspace API Key Authentication
Extension (Service Operations)</title>
<titleabbrev>RAX-KSKEY (Service)</titleabbrev>
<info>
<author>
<personname>
<firstname/>
<surname/>
</personname>
<affiliation>
<orgname>Rackspace Cloud</orgname>
</affiliation>
</author>
<copyright>
<year>2011</year>
<holder>Rackspace US, Inc.</holder>
</copyright>
<productname>OpenStack Identity</productname>
<pubdate>&PUB_DATE;</pubdate>
<legalnotice role="rs-api">
<annotation>
<remark>Copyright details are filled in by the
template.</remark>
</annotation>
</legalnotice>
<abstract>
<para>This document is intended for client developers
interested in using the Rackspace API Key
Authentication Service Extension along with OpenStack
Identity (<abbrev>API</abbrev>).</para>
</abstract>
<othercredit>
<personname>
<firstname>Joe</firstname>
<surname>Savak</surname>
</personname>
<email>joe.savak@RACKSPACE.COM</email>
</othercredit>
<extension xmlns="http://docs.openstack.org/common/api/v1.0"
xmlns:atom="http://www.w3.org/2005/Atom"
name="Rackspace API Key authentication"
namespace="http://docs.rackspace.com/identity/api/ext/RAX-KSKEY/v1.0"
alias="RAX-KSKEY" updated="2011-08-14T13:25:27-06:00">
<description> Rackspace extensions to Identity v2.0 API
enabling API Key authentication. </description>
<atom:link rel="describedby" type="application/pdf"
href="http://docs.rackspacecloud.com/auth/api/v2.0/RAX-KSKEY/RAX-KSKEY-service-devguide.pdf"/>
<atom:link rel="describedby" type="application/xml"
href="http://docs.rackspacecloud.com/auth/api/v2.0/RAX-KSKEY/xsd/RAX-KSKEY-credentials.xsd"
/>
</extension>
<revhistory>
<revision>
<date>2011-08-24</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>Initial release.</para>
</listitem>
</itemizedlist>
</revdescription>
</revision>
</revhistory>
</info>
<chapter xml:id="chapter-0001">
<title>Summary of Changes</title>
<para>The Rackspace API Key Authentication Service Extension
allows authenticate call to happen using
apikeyCredentials.</para>
<section xml:id="NewHeaders-0001">
<title>New Headers</title>
<para>None.</para>
</section>
<section xml:id="NewFaults0001">
<title>New Faults</title>
<para>None.</para>
</section>
<section xml:id="NewResources-0001">
<title>New Resources</title>
<para>None.</para>
</section>
<section xml:id="NewActions0001">
<title>New Actions</title>
<para>None.</para>
</section>
<section xml:id="NewElement0001">
<title>New Element</title>
<section xml:id="RackExt-0001">
<title>Rackspace Extensions to Identity v2.0
API</title>
<section xml:id="Authenticate-d1e1166">
<title>RAX-KSKEY apikeyCredentials Extended
Attribute</title>
<para>The <parameter>apikeyCredentials</parameter>
extended attribute supports Rackspace style
authentication.</para>
<informaltable rules="all">
<thead xmlns="http://docbook.org/ns/docbook">
<tr>
<th>Verb</th>
<th>URI</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td> &POST; </td>
<td>/tokens</td>
<td>Authenticates and generates a
token.</td>
</tr>
</tbody>
</informaltable>
<simpara>&CODES;<returnvalue>200</returnvalue>,
<returnvalue>203</returnvalue></simpara>
<simpara>&ERROR_CODES; unauthorized
(<errorcode>401</errorcode>), userDisabled
(<errorcode>403</errorcode>), badRequest
(<errorcode>400</errorcode>),
identityFault (<errorcode>500</errorcode>),
serviceUnavailable(<errorcode>503</errorcode>)</simpara>
<para>This call returns a token if successful.
Clients obtain this token, along with the URL
to other service APIs, by first authenticating
against OpenStack Identity and supplying valid
credentials. This extension provides support
for Rackspace style API Key
credentials.</para>
<para>Client authentication is provided through a
ReST interface using the POST method, with
v2.0/tokens supplied as the path. A payload of
credentials must be included in the body. See
<xref
linkend="Service_API_Client_Operations"
/>.</para>
<para>The Identity API is a ReSTful web service.
It is the entry point to all service APIs. To
access the Identity API, you must know its
URL.</para>
<example>
<title>Auth with apikeyCredentials: JSON
Request</title>
<programlisting language="json"><xi:include href="&APIKEYCREDENTIALSREQUESTJSON;" parse="text"/></programlisting>
</example>
<example>
<title>Auth with apikeyCredentials: XML
Request</title>
<programlisting language="xml"><xi:include href="&APIKEYCREDENTIALSREQUESTXML;" parse="text"/></programlisting>
</example>
<example>
<title>Auth with apikeyCredentials: JSON
Response</title>
<programlisting language="json"><xi:include href="&APIKEYCREDENTIALSRESPONSEJSON;" parse="text"/></programlisting>
</example>
<example>
<title>Auth with apikeyCredentials: XML
Response</title>
<programlisting language="xml"><xi:include href="&APIKEYCREDENTIALSRESPONSEXML;" parse="text"/></programlisting>
</example>
</section>
</section>
</section>
</chapter>
</book>

View File

@ -1,182 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book [
<!-- Some useful entities borrowed from HTML -->
<!ENTITY ndash "&#x2013;">
<!ENTITY mdash "&#x2014;">
<!ENTITY hellip "&#x2026;">
<!-- Useful for describing APIs -->
<!ENTITY GET '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
<!ENTITY PUT '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
<!ENTITY POST '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
<!ENTITY ARROW '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
<imageobject>
<imagedata fileref="img/Arrow_east.svg"
format="SVG" scale="60"/>
</imageobject>
</inlinemediaobject>'>
<!ENTITY CODES 'Normal Response Code(s):'>
<!ENTITY ERROR_CODES 'Error Response Code(s):'>
<!-- Information about the extension -->
<!ENTITY PUB_DATE "2011-09-13">
<!ENTITY URI_REFHEAD '
<thead xmlns="http://docbook.org/ns/docbook">
<tr>
<td colspan="1">Verb</td>
<td colspan="1">URI</td>
<td colspan="4">Description</td>
</tr>
</thead>'>
<!ENTITY SECRETQAREQUESTXML "http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/RAX-KSQA/samples/RAX-KSQA-secretQA.xml">
<!ENTITY SECRETQAREQUESTJSON "http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/RAX-KSQA/samples/RAX-KSQA-secretQA.json">
]>
<book xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:m="http://www.w3.org/1998/Math/MathML"
xmlns:html="http://www.w3.org/1999/xhtml" version="5.0"
status="draft" xml:id="RAX-KSQA">
<?rax subtitle.font.size="12px"?>
<title>OpenStack Identity Rackspace API Secret Question and Answer
(Admin Operations)</title>
<titleabbrev>RAX-KSQA (Admin)</titleabbrev>
<info>
<author>
<personname>
<firstname/>
<surname/>
</personname>
<affiliation>
<orgname>Rackspace Cloud</orgname>
</affiliation>
</author>
<copyright>
<year>2011</year>
<holder>Rackspace US, Inc.</holder>
</copyright>
<productname>OpenStack Identity</productname>
<pubdate>2012-01-23</pubdate>
<legalnotice role="rs-api">
<annotation>
<remark>Copyright details are filled in by the
template.</remark>
</annotation>
</legalnotice>
<abstract>
<para>This document is intended for client developers
interested in using the Rackspace API Secret Question
and Answer Extension.</para>
</abstract>
<othercredit>
<personname>
<firstname>Joe</firstname>
<surname>Savak</surname>
</personname>
<email>joe.savak@RACKSPACE.COM</email>
</othercredit>
<extension xmlns="http://docs.openstack.org/common/api/v1.0"
xmlns:atom="http://www.w3.org/2005/Atom"
name="Rackspace QAstone Secret Question and Answer"
namespace="http://docs.rackspace.com/identity/api/ext/RAX-KSQA/v1.0"
alias="RAX-KSQA" updated="2012-01-23T10:40:00-04:00">
<description>Allows the management of a User's Secret
Question and Answer.</description>
<atom:link rel="describedby"
type="application/vnd.sun.wadl+xml"
href="http://docs.rackspacecloud.com/auth/api/v2.0/RAX-KSQA/RAX-KSQA-admin.wadl"
/>
</extension>
<revhistory>
<revision>
<date>2011-01-23</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>Initial release.</para>
</listitem>
</itemizedlist>
</revdescription>
</revision>
</revhistory>
</info>
<chapter xml:id="chapter-0001">
<title>Summary of Changes</title>
<para>The Rackspace API Secret Question and Answer Extension
allows the management of a User's Secret Question and
Answer.</para>
<section xml:id="NewHeaders-0001">
<title>New Headers</title>
<para>None.</para>
</section>
<section xml:id="NewFaults0001">
<title>New Faults</title>
<para>None.</para>
</section>
<section xml:id="NewResources-0001">
<title>New Resources</title>
<para>None.</para>
</section>
<section xml:id="NewActions0001">
<title>New Actions</title>
<para>None.</para>
</section>
<section xml:id="NewElement0001">
<title>New Element</title>
<section xml:id="RackExt-0001">
<title>secretQA</title>
<para>A <parameter>secretQA</parameter> element is
added that allows the management of a user's
secret question and answer.</para>
<example>
<title>secretQA XML</title>
<programlisting language="xml"><xi:include href="&SECRETQAREQUESTXML;" parse="text"/></programlisting>
</example>
<example>
<title>secretQA JSON</title>
<programlisting language="json"><xi:include href="&SECRETQAREQUESTJSON;" parse="text"/></programlisting>
</example>
</section>
</section>
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="Admin_API_Service_Developer_Operations-RAX-KSQA"
version="5.0" role="api-reference">
<title>RAX-KSQA Admin Extension</title>
<table rules="all">
<caption>Authentication Header</caption>
<thead>
<tr>
<td>Header Type</td>
<td>Name</td>
<td>Value</td>
</tr>
</thead>
<tbody>
<tr>
<td>HTTP/1.1 Request</td>
<td>X-Auth-Token</td>
<td>txfa8426a08eaf</td>
</tr>
</tbody>
</table>
<para>Following operations are the list of operations
supported by Rackspace Secret Question and Answer
Extension:</para>
<section xml:id="User_Operations_RAX_KSQA">
<title>User Operations</title>
<wadl:resources
xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/RAX-KSQA-admin.wadl#secretqa"
/>
</wadl:resources>
</section>
</section>
</chapter>
</book>

View File

@ -1,90 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter [
<!-- Some useful entities borrowed from HTML -->
<!ENTITY ndash "&#x2013;">
<!ENTITY mdash "&#x2014;">
<!ENTITY hellip "&#x2026;">
<!ENTITY plusmn "&#xB1;">
<!-- Useful for describing APIs -->
<!ENTITY GET '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
<!ENTITY PUT '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
<!ENTITY POST '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
]>
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="Admin_API_Service_Developer_Operations-d1e1356"
version="5.0" role="api-reference">
<title>Administrative API Operations</title>
<para>The OpenStack Identity administrative API operations
enable service developers to get and validate access tokens,
manage users, tenants, roles, and service endpoints.</para>
<para>Most administrative API calls require authentication. The
only calls available without authentication are the calls to
discover the service &ndash; getting version info, WADL
contract, dev guide, help, and so on &ndash; and the call to
authenticate and get a token.</para>
<para>Authentication is performed by passing in a valid token in
the <code>X-Auth-Token</code> header on the request from the
client. The Identity API will verify the token has (or
belongs to a user that has) the <code>Admin</code> role.</para>
<para>See the README file or administrator guides for how to
bootstrap the Identity API and create your first
administrator.</para>
<table rules="all">
<caption>Authentication Header</caption>
<thead>
<tr>
<td>Header Type</td>
<td>Name</td>
<td>Value</td>
</tr>
</thead>
<tbody>
<tr>
<td>HTTP/1.1 Request</td>
<td>X-Auth-Token</td>
<td>txfa8426a08eaf</td>
</tr>
</tbody>
</table>
<para>The OpenStack Identity administrative API v2.0 calls
are:</para>
<section xml:id="Token_Operations">
<title>Token Operations</title>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity-admin.wadl#tokens"/>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity-admin.wadl#tokenById"/>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity-admin.wadl#endpointsForToken"/>
</wadl:resources>
</section>
<section xml:id="User_Operations">
<title>User Operations</title>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity-admin.wadl#users"/>
<wadl:resource href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity-admin.wadl#name"/>
<wadl:resource href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity-admin.wadl#userid"/>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity-admin.wadl#userRoles"/>
</wadl:resources>
</section>
<section xml:id="Tenant_Operations">
<title>Tenant Operations</title>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity-admin.wadl#tenants"/>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity-admin.wadl#tenantById"/>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity-admin.wadl#usersForTenant"/>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity-admin.wadl#getTenantUser"/>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity-admin.wadl#userRolesForTenant"
/>
</wadl:resources>
</section>
</chapter>

View File

@ -1,15 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<chapter xmlns="http://docbook.org/ns/docbook"
xml:id="Service_API_Client_Operations" version="5.0">
<title>Client API Operations</title>
<para>These operations enable clients to get API version and
extension information, get authentication tokens, and list
tenants.</para>
<wadl:resources
xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity.wadl#extensions"
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
<wadl:resource href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity.wadl#tokens"
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
</wadl:resources>
</chapter>

View File

@ -1,10 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<chapter xmlns="http://docbook.org/ns/docbook"
xml:id="hp_identity_extensions" version="5.0"
xmlns:xi="http://www.w3.org/2001/XInclude"
role="api-reference">
<title>HP Identity Extensions</title>
<xi:include href="../HP-IDM/HP-IDM.xml"
xpointer="element(hp-idm-validate-tokens)"/>
</chapter>

View File

@ -1,17 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<chapter xmlns="http://docbook.org/ns/docbook"
xml:id="rax_identity_extensions" version="5.0"
xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Rackspace Extensions to OpenStack Identity</title>
<xi:include href="../RAX-GRPADM/RAX-GRPADM-devguide.xml"
xpointer="element(Admin_API_Service_Developer_Operations-RAX-GRPADM)"/>
<xi:include href="../RAX-KSGRP/RAX-KSGRP-service-devguide.xml"
xpointer="element(Admin_API_Service_Developer_Operations-RAX-KSGRP)"/>
<xi:include href="../RAX-KSKEY/RAX-KSKEY-admin-devguide.xml"
xpointer="element(Admin_API_Service_Developer_Operations-RAX-KSKEY-admin)"/>
<xi:include href="../RAX-KSKEY/RAX-KSKEY-service-devguide.xml"
xpointer="element(Authenticate-d1e1166)"/>
<xi:include href="../RAX-KSQA/RAX-KSQA-admin-devguide.xml"
xpointer="element(Admin_API_Service_Developer_Operations-RAX-KSQA)"/>
</chapter>

View File

@ -1,146 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
xml:id="Identity-Concepts-e1362">
<title>Identity Concepts</title>
<para>OpenStack Identity has the following key concepts:</para>
<table rules="all">
<caption>Identity Concepts</caption>
<thead>
<tr>
<th>Concept</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><para>User</para></td>
<td><para>A digital representation of a person,
system, or service that uses OpenStack cloud
services. OpenStack Identity authentication
services validate that an incoming request is
being made by the user who claims to be making
the call.</para>
<para>Users have a login and may be assigned
tokens to access resources. Users may be
directly assigned to a particular tenant and
behave as if they are contained in that
tenant.</para></td>
</tr>
<tr>
<td><para>Credentials</para></td>
<td>
<para>Data that belongs to, is owned by, and
generally only known by a user that the user
can present to prove their identity.</para>
<para>Examples include: <itemizedlist>
<listitem>
<para>A matching username and
password</para>
</listitem>
<listitem>
<para>A matching username and API
key</para>
</listitem>
<listitem>
<para>A token that was issued to you
</para>
</listitem>
</itemizedlist></para>
</td>
</tr>
<tr>
<td><para>Authentication</para></td>
<td>
<para>In the context OpenStack Identity, the act
of confirming the identity of a user or the
truth of a claim. OpenStack Identity confirms
that an incoming request is being made by the
user who claims to be making the call by
validating a set of claims that the user is
making.</para>
<para>These claims are initially in the form of a
set of credentials (username &amp; password,
or username and API key). After initial
confirmation, OpenStack Identity issues the
user a token, which the user can then provide
to demonstrate that their identity has been
authenticated when making subsequent
requests.</para>
</td>
</tr>
<tr>
<td>Token</td>
<td>
<para>An arbitrary bit of text that is used to
access resources. Each token has a scope that
describes which resources are accessible with
it. A token may be revoked at anytime and is
valid for a finite duration.</para>
<para>While OpenStack Identity supports
token-based authentication in this release,
the intention is for it to support additional
protocols in the future. The intent is for it
to be an integration service foremost, and not
aspire to be a full-fledged identity store and
management solution.</para>
</td>
</tr>
<tr>
<td>Tenant</td>
<td>
<para>A container used to group or isolate
resources and/or identity objects. Depending
on the service operator, a tenant can map to a
customer, account, organization, or project.
</para>
</td>
</tr>
<tr>
<td><para>Service</para></td>
<td>
<para>An OpenStack service, such as Compute
(Nova), Object Storage (Swift), or Image
Service (Glance). A service provides one or
more endpoints through which users can access
resources and perform operations.</para>
</td>
</tr>
<tr>
<td><para>Endpoint</para></td>
<td>
<para>A network-accessible address, usually
described by a URL, where a service may be
accessed. If using an extension for templates,
you can create an endpoint template, which
represents the templates of all the consumable
services that are available across the
regions.</para>
</td>
</tr>
<tr>
<td><para>Role</para></td>
<td>
<para>A personality that a user assumes when
performing a specific set of operations. A
role includes a set of rights and privileges.
A user assuming that role inherits those
rights and privileges.</para>
<para>In OpenStack Identity, a token that is
issued to a user includes the list of roles
that user can assume. Services that are being
called by that user determine how they
interpret the set of roles a user has and to
which operations or resources each role grants
access.</para>
<para>It is up to individual services such as the
Compute service and Image service to assign
meaning to these roles. As far as the Identity
service is concerned, a role is an arbitrary
name assigned by the user.</para>
</td>
</tr>
</tbody>
</table>
</section>

View File

@ -1,75 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:html="http://www.w3.org/1999/xhtml" version="5.0"
xml:id="api_operations" role="api-reference">
<title>API Operations</title>
<para>These operations enable service developers to get and
validate access tokens and manage users, tenants, roles, and
service endpoints.</para>
<para>Most calls on the Admin API require authentication. The only
calls available without authentication are the calls to
discover the service (getting version info, WADL contract, dev
guide, help, and so on) and the call to authenticate and get a
token.</para>
<para>You perform authentication by passing a valid token in the
<code>X-Auth-Token</code> header on the request from the
client. OpenStack Identity verifies the token belongs to a user with the
<code>Admin</code> role.</para>
<para>For how to bootstrap OpenStack Identity and create your first
administrator, see the readme file and administrator guides.</para>
<table rules="all">
<caption>Authentication Header</caption>
<thead>
<tr>
<td>Header Type</td>
<td>Name</td>
<td>Value</td>
</tr>
</thead>
<tbody>
<tr>
<td>HTTP/1.1 Request</td>
<td>X-Auth-Token</td>
<td>txfa8426a08eaf</td>
</tr>
</tbody>
</table>
<para>The following calls are core for the Identity Admin 2.0
APIs:</para>
<section xml:id="Token_Operations">
<title>Token Operations</title>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource href="identity-admin.wadl#tokens"/>
<wadl:resource href="identity-admin.wadl#tokenById"/>
<wadl:resource
href="identity-admin.wadl#endpointsForToken"/>
</wadl:resources>
</section>
<section xml:id="User_Operations">
<title>User Operations</title>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource
href="../extensions/OS-KSADM/OS-KSADM-admin.wadl#users"/>
<wadl:resource
href="../extensions/OS-KSADM/OS-KSADM-admin.wadl#userById"/>
<wadl:resource
href="../extensions/OS-KSADM/OS-KSADM-admin.wadl#userRoles"
/>
</wadl:resources>
</section>
<section xml:id="Tenant_Operations">
<title>Tenant Operations</title>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource
href="../extensions/OS-KSADM/OS-KSADM-admin.wadl#tenants"/>
<wadl:resource
href="../extensions/OS-KSADM/OS-KSADM-admin.wadl#tenantById"/>
<wadl:resource
href="../extensions/OS-KSADM/OS-KSADM-admin.wadl#userRolesForTenant"
/>
</wadl:resources>
</section>
</chapter>

View File

@ -1,92 +0,0 @@
{
"access": {
"token": {
"id": "ab48a9efdfedb23ty3494",
"expires": "2010-11-01T03:32:15-05:00",
"tenant": {
"id": "t1000",
"name": "My Project"
}
},
"user": {
"id": "u123",
"name": "jqsmith",
"roles": [
{
"id": "100",
"name": "compute:admin"
},
{
"id": "101",
"name": "object-store:admin",
"tenantId": "t1000"
}
],
"roles_links": []
},
"serviceCatalog": [
{
"name": "Cloud Servers",
"type": "compute",
"endpoints": [
{
"tenantId": "t1000",
"publicURL": "https://compute.north.host.com/v1/t1000",
"internalURL": "https://compute.north.internal/v1/t1000",
"region": "North",
"versionId": "1",
"versionInfo": "https://compute.north.host.com/v1/",
"versionList": "https://compute.north.host.com/"
},
{
"tenantId": "t1000",
"publicURL": "https://compute.north.host.com/v1.1/t1000",
"internalURL": "https://compute.north.internal/v1.1/t1000",
"region": "North",
"versionId": "1.1",
"versionInfo": "https://compute.north.host.com/v1.1/",
"versionList": "https://compute.north.host.com/"
}
],
"endpoints_links": []
},
{
"name": "Cloud Files",
"type": "object-store",
"endpoints": [
{
"tenantId": "t1000",
"publicURL": "https://storage.north.host.com/v1/t1000",
"internalURL": "https://storage.north.internal/v1/t1000",
"region": "North",
"versionId": "1",
"versionInfo": "https://storage.north.host.com/v1/",
"versionList": "https://storage.north.host.com/"
},
{
"tenantId": "t1000",
"publicURL": "https://storage.south.host.com/v1/t1000",
"internalURL": "https://storage.south.internal/v1/t1000",
"region": "South",
"versionId": "1",
"versionInfo": "https://storage.south.host.com/v1/",
"versionList": "https://storage.south.host.com/"
}
]
},
{
"name": "DNS-as-a-Service",
"type": "dnsextension:dns",
"endpoints": [
{
"tenantId": "t1000",
"publicURL": "https://dns.host.com/v2.0/t1000",
"versionId": "2.0",
"versionInfo": "https://dns.host.com/v2.0/",
"versionList": "https://dns.host.com/"
}
]
}
]
}
}

View File

@ -1,70 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<access xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://docs.openstack.org/identity/api/v2.0">
<token id="ab48a9efdfedb23ty3494" expires="2010-11-01T03:32:15-05:00">
<tenant id="t1000" name="My Project" />
</token>
<user id="u123" name="jqsmith">
<roles>
<role id="100" name="compute:admin"/>
<role id="101" name="object-store:admin" tenantId="t1000"/>
</roles>
</user>
<serviceCatalog>
<service type="compute" name="Cloud Servers">
<endpoint
tenantId="t1000"
region="North"
publicURL="https://compute.north.host.com/v1/t1000"
internalURL="https://compute.north.host.internal/v1/t1000">
<version
id="1"
info="https://compute.north.host.com/v1/"
list="https://compute.north.host.com/"
/>
</endpoint>
<endpoint
tenantId="t1000"
region="North"
publicURL="https://compute.north.host.com/v1.1/t1000"
internalURL="https://compute.north.host.internal/v1.1/t1000">
<version
id="1.1"
info="https://compute.north.host.com/v1.1/"
list="https://compute.north.host.com/" />
</endpoint>
</service>
<service type="object-store" name="Cloud Files">
<endpoint
tenantId="t1000"
region="North"
publicURL="https://storage.north.host.com/v1/t1000"
internalURL="https://storage.north.host.internal/v1/t1000">
<version
id="1"
info="https://storage.north.host.com/v1/"
list="https://storage.north.host.com/" />
</endpoint>
<endpoint
tenantId="t1000"
region="South"
publicURL="https://storage.south.host.com/v1/t1000"
internalURL="https://storage.south.host.internal/v1/t1000">
<version
id="1"
info="https://storage.south.host.com/v1/"
list="https://storage.south.host.com/" />
</endpoint>
</service>
<service type="dnsextension:dns" name="DNS-as-a-Service">
<endpoint
tenantId="t1000"
publicURL="https://dns.host.com/v2.0/t1000">
<version
id="2.0"
info="https://dns.host.com/v2.0/"
list="https://dns.host.com/" />
</endpoint>
</service>
</serviceCatalog>
</access>

View File

@ -1,9 +0,0 @@
{
"auth": {
"RAX-KSKEY:apiKeyCredentials": {
"username": "test_user",
"apiKey": "aaaaa-bbbbb-ccccc-12345678"
},
"tenantId": "1234"
}
}

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<auth xmlns="http://docs.openstack.org/identity/api/v2.0">
<apiKeyCredentials
xmlns="http://docs.rackspace.com/identity/api/ext/RAX-KSKEY/v1.0"
username="testuser"
apiKey="aaaaa-bbbbb-ccccc-12345678"/>
</auth>

View File

@ -1,9 +0,0 @@
{
"auth": {
"passwordCredentials": {
"username": "test_user",
"password": "mypass"
},
"tenantName": "customer-x"
}
}

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<auth xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://docs.openstack.org/identity/api/v2.0"
tenantName="customer-x">
<passwordCredentials username="test_user" password="test"/>
</auth>

View File

@ -1,8 +0,0 @@
{
"auth": {
"tenantName": "customer-x",
"token": {
"id": "abcdefghijk"
}
}
}

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<auth xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://docs.openstack.org/identity/api/v2.0"
tenantName="customer-x">
<token id="abcdefghijk" />
</auth>

View File

@ -1,11 +0,0 @@
{
"credentials": [
{
"passwordCredentials": {
"username": "test_user",
"password": "mypass"
}
}
],
"credentials_links": []
}

View File

@ -1,17 +0,0 @@
{
"credentials": [
{
"passwordCredentials": {
"username": "test_user",
"password": "mypass"
}
},
{
"RAX-KSKEY:apiKeyCredentials": {
"username": "test_user",
"apiKey": "aaaaa-bbbbb-ccccc-12345678"
}
}
],
"credentials_links": []
}

View File

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<credentials xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://docs.openstack.org/identity/api/v2.0">
<passwordCredentials username="test_user" password="test"/>
<apiKeyCredentials
xmlns="http://docs.rackspace.com/identity/api/ext/RAX-KSKEY/v1.0"
username="testuser"
apiKey="aaaaa-bbbbb-ccccc-12345678"/>
</credentials>

View File

@ -1,14 +0,0 @@
{
"endpoints": [
{
"name": "Nova",
"adminURL": "http://admin.openstack/nova",
"region": "north",
"internalURL": "http://internal.openstack/nova",
"type": "compute",
"id": "8c3426bd730c48f5b59527df3a51b901",
"publicURL": "http://public.openstack/nova"
}
],
"endpoints_links": []
}

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<endpoints xmlns="http://docs.openstack.org/identity/api/v2.0">
<endpoint name="Nova" adminURL="http://admin.openstack/nova"
region="north" internalURL="http://internal.openstack/nova"
type="compute" id="8c3426bd730c48f5b59527df3a51b901"
publicURL="http://public.openstack/nova"/>
</endpoints>

View File

@ -1,21 +0,0 @@
{
"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 arbitrary 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"
}
]
}
}

View File

@ -1,21 +0,0 @@
<?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 arbitrary 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>

View File

@ -1,43 +0,0 @@
{
"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 arbitrary 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": []
}

View File

@ -1,39 +0,0 @@
<?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 arbitrary 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>

View File

@ -1,10 +0,0 @@
{
"roles": [
{
"id": "123",
"name": "compute:admin",
"description": "Nova Administrator"
}
],
"roles_links": []
}

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<roles xmlns="http://docs.openstack.org/identity/api/v2.0">
<role id="123" name="Admin" description="All Access" />
<role id="234" name="Guest" description="Guest Access" />
</roles>

View File

@ -1,8 +0,0 @@
{
"tenant": {
"id": "1234",
"name": "ACME corp",
"description": "A description ...",
"enabled": true
}
}

View File

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<tenant xmlns="http://docs.openstack.org/identity/api/v2.0"
enabled="true" id="1234" name="ACME Corp">
<description>A description...</description>
</tenant>

View File

@ -1,16 +0,0 @@
{
"tenants": [
{
"id": "1234",
"name": "ACME corp",
"description": "A description ...",
"enabled": true
}
],
"tenants_links": [
{
"rel": "next",
"href": "http://identity.api.openstack.org/v2.0/tenants?limit=1&marker=1234"
}
]
}

View File

@ -1,10 +0,0 @@
<?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" name="ACME Corp">
<description>A description...</description>
</tenant>
<atom:link
rel="next"
href="http://identity.api.openstack.org/v2.0/tenants?limit=1&amp;marker=1234"/>
</tenants>

View File

@ -1,20 +0,0 @@
{
"tenants": [
{
"id": "3645",
"name": "Iron Works",
"description": "A description ...",
"enabled": true
}
],
"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"
}
]
}

View File

@ -1,13 +0,0 @@
<?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" name="Iron Works">
<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>

View File

@ -1,16 +0,0 @@
{
"tenants": [
{
"id": "9999",
"name": "Bigz",
"description": "A description ...",
"enabled": true
}
],
"tenants_links": [
{
"rel": "previous",
"href": "http://identity.api.openstack.org/v2.0/tenants?limit=1&marker=1234"
}
]
}

View File

@ -1,10 +0,0 @@
<?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" name="Bigz">
<description>A description...</description>
</tenant>
<atom:link
rel="previous"
href="http://identity.api.openstack.org/v2.0/tenants?limit=1&amp;marker=1234"/>
</tenants>

View File

@ -1,5 +0,0 @@
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

View File

@ -1,5 +0,0 @@
GET /v2.0/tenants HTTP/1.1
Host: identity.api.openstack.org
Content-Type: application/xml
X-Auth-Token: fa8426a0-8eaf-4d22-8e13-7c1b16a9370c
Accept: application/xml

View File

@ -1,17 +0,0 @@
{
"tenants": [
{
"id": "1234",
"name": "ACME Corp",
"description": "A description ...",
"enabled": true
},
{
"id": "3456",
"name": "Iron Works",
"description": "A description ...",
"enabled": true
}
],
"tenants_links": []
}

View File

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<tenants xmlns="http://docs.openstack.org/identity/api/v2.0">
<tenant enabled="true" id="1234" name="ACME Corp">
<description>A description...</description>
</tenant>
<tenant enabled="true" id="3645" name="Iron Works">
<description>A description...</description>
</tenant>
</tenants>

View File

@ -1,8 +0,0 @@
{
"user": {
"id": "u1000",
"username": "jqsmith",
"email": "john.smith@example.org",
"enabled": true
}
}

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<user xmlns="http://docs.openstack.org/identity/api/v2.0"
enabled="true" email="john.smith@example.org"
username="jqsmith" id="u1000"/>

View File

@ -1,28 +0,0 @@
{
"access": {
"token": {
"id": "ab48a9efdfedb23ty3494",
"expires": "2010-11-01T03:32:15-05:00",
"tenant": {
"id": "345",
"name": "My Project"
}
},
"user": {
"id": "123",
"name": "jqsmith",
"roles": [
{
"id": "234",
"name": "compute:admin"
},
{
"id": "234",
"name": "object-store:admin",
"tenantId": "1"
}
],
"roles_links": []
}
}
}

View File

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<access xmlns="http://docs.openstack.org/identity/api/v2.0">
<token id="ab48a9efdfedb23ty3494" expires="2010-11-01T03:32:15-05:00">
<tenant id="456" name="My Project" />
</token>
<user id="123" username="jqsmith">
<roles>
<role id="123" name="Admin" tenantId="one" />
<role id="234" name="object-store:admin" tenantId="1" />
</roles>
</user>
</access>

View File

@ -1,19 +0,0 @@
<?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/api/identity/api/v2.0/identity-latest.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>

View File

@ -1,33 +0,0 @@
{
"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.openstack.org/api/identity/api/v2.0/identity-latest.pdf"
},
{
"rel": "describedby",
"type": "application/vnd.sun.wadl+xml",
"href": "http://docs.openstack.org/identity/api/v2.0/identity.wadl"
}
],
"media-types": [
{
"base": "application/xml",
"type": "application/vnd.openstack.identity+xml;version=2.0"
},
{
"base": "application/json",
"type": "application/vnd.openstack.identity+json;version=2.0"
}
]
}
}

View File

@ -1,23 +0,0 @@
<?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+xml;version=2.0"/>
<media-type base="application/json"
type="application/vnd.openstack.identity+json;version=2.0"/>
</media-types>
<atom:link rel="self"
href="http://identity.api.openstack.org/v2.0/"/>
<atom:link rel="describedby"
type="application/pdf"
href="http://docs.openstack.org/identity/api/v2.0/identity-latest.pdf" />
<atom:link rel="describedby"
type="application/vnd.sun.wadl+xml"
href="http://docs.openstack.org/identity/api/v2.0/identity.wadl" />
</version>

View File

@ -1,29 +0,0 @@
<?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>OpenStack</name><uri>http://www.openstack.org/</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>

View File

@ -1,38 +0,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": []
}

View File

@ -1,24 +0,0 @@
<?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>

51
pom.xml Normal file
View File

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.openstack.docs</groupId>
<artifactId>parent-pom</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>OpenStack Identity API Parent</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<modules>
<module>v3</module>
<module>v2.0</module>
</modules>
<profiles>
<profile>
<id>Rackspace Research Repositories</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>rackspace-research</id>
<name>Rackspace Research Repository</name>
<url>http://maven.research.rackspacecloud.com/content/groups/public/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>rackspace-research</id>
<name>Rackspace Research Repository</name>
<url>http://maven.research.rackspacecloud.com/content/groups/public/</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<build>
<plugins>
<plugin>
<groupId>com.rackspace.cloud.api</groupId>
<artifactId>clouddocs-maven-plugin</artifactId>
<version>1.15.0</version>
</plugin>
</plugins>
</build>
</project>

View File

@ -2,11 +2,15 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- POM Build file for the Keystone Developer Guide -->
<!-- POM Build file for the Identity API v2.0 Reference -->
<parent>
<groupId>org.openstack.docs</groupId>
<artifactId>parent-pom</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.openstack.identity</groupId>
<artifactId>docs</artifactId>
<version>1.0.0</version>
<artifactId>openstack-v2.0</artifactId>
<packaging>jar</packaging>
<name>OpenStack Identity API v2.0 Reference</name>
<build>
@ -15,10 +19,11 @@
<plugin>
<groupId>com.rackspace.cloud.api</groupId>
<artifactId>clouddocs-maven-plugin</artifactId>
<version>1.15.0</version>
<!-- <version>1.15.0</version>-->
<!-- version is in parent ../pom.xml file -->
<executions>
<execution>
<id>identity-dev-guide</id>
<id>identity-dev-ref</id>
<goals>
<goal>generate-webhelp</goal>
</goals>
@ -27,7 +32,7 @@
<disqusShortname>os-identitydevguide</disqusShortname>
<enableGoogleAnalytics>1</enableGoogleAnalytics>
<googleAnalyticsId>UA-17511903-1</googleAnalyticsId>
<sourceDirectory>src/docbkx/common</sourceDirectory>
<sourceDirectory>src</sourceDirectory>
<includes>identity-dev-guide.xml</includes>
<tocSectionDepth>1</tocSectionDepth>
<targetDirectory>target/docbkx/webhelp/api/openstack-identity-service</targetDirectory>
@ -56,7 +61,7 @@
<!-- Copies schema to a folder and styling for the schemas so a browser can display them -->
<copy
todir="${basedir}/target/docbkx/webhelp/api/openstack-identity-service/2.0/xsd">
<fileset dir="${basedir}/src/docbkx/common">
<fileset dir="${basedir}/src">
<include name="**/*.*"/>
<exclude name="*.xml"/>
</fileset>
@ -68,7 +73,7 @@
<configuration>
<!-- These parameters apply to all executions -->
<xincludeSupported>true</xincludeSupported>
<sourceDirectory>src/docbkx/common/</sourceDirectory>
<sourceDirectory>src</sourceDirectory>
<includes>identity-dev-guide.xml</includes>
<profileSecurity>reviewer</profileSecurity>
<branding>openstack</branding>
@ -76,29 +81,4 @@
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>Rackspace Research Repositories</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>rackspace-research</id>
<name>Rackspace Research Repository</name>
<url>http://maven.research.rackspacecloud.com/content/groups/public/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>rackspace-research</id>
<name>Rackspace Research Repository</name>
<url>http://maven.research.rackspacecloud.com/content/groups/public/</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>

View File

@ -0,0 +1,22 @@
<?xml version='1.0' encoding='UTF-8'?>
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:m="http://www.w3.org/1998/Math/MathML"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:acme="http://docs.acme.org/servers/api/ext/template/v1.0"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1"
version="5.0" xml:id="hp-idm" role="api-reference">
<title>HP extensions to OpenStack Identity</title>
<para>Use the HP-IDM extension to perform operations on
templates.</para>
<wadl:resources>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/HP-IDM-admin.wadl#tokenById">
<wadl:method href="#validateToken"/>
<wadl:method href="#checkToken"/>
</wadl:resource>
</wadl:resources>
</chapter>

View File

@ -0,0 +1,49 @@
<?xml version='1.0' encoding='UTF-8'?>
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xml:id="Service_API_Client_Operations" version="5.0"
role="api-reference">
<title>Client operations</title>
<para>These operations enable clients to get API version and
extension information, and get authentication tokens.</para>
<section xml:id="identity-v2-versions">
<title>API versions</title>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity.wadl#versions">
<wadl:method href="#getVersions-v2"/>
</wadl:resource>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity.wadl#version">
<wadl:method href="#getVersionInfo-v2.0"/>
</wadl:resource>
</wadl:resources>
</section>
<section xml:id="identity-api-extensions">
<title>Extensions</title>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity.wadl#extensions">
<wadl:method href="#listExtensions-v2.0"/>
</wadl:resource>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity.wadl#extension">
<wadl:method href="#getExtension-v2.0"/>
</wadl:resource>
</wadl:resources>
</section>
<section xml:id="identity-auth-v2">
<title>Tokens</title>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity.wadl#tokens">
<wadl:method href="#authenticate-v2.0"/>
</wadl:resource>
<!-- <wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity.wadl#tenants">
<wadl:method href="#listTenants"/>
</wadl:resource>-->
</wadl:resources>
</section>
</chapter>

View File

@ -13,12 +13,12 @@
<!ENTITY CHECK '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
<imageobject>
<imagedata fileref="../img/Check_mark_23x20_02.svg"
<imagedata fileref="images/Check_mark_23x20_02.svg"
format="SVG" scale="60"/>
</imageobject>
</inlinemediaobject>'>
<!ENTITY CODES 'Normal Response Code(s):'>
<!ENTITY ERROR_CODES 'Error Response Code(s):'>
<!ENTITY CODES 'Normal response code(s):'>
<!ENTITY ERROR_CODES 'Error response code(s):'>
<!ENTITY NO_REQUEST '<para xmlns="http://docbook.org/ns/docbook">
This operation does not require a request body.</para>'>
<!ENTITY LONG_URI_REFHEAD '
@ -42,23 +42,20 @@ This operation does not require a request body.</para>'>
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
xml:id="Overview-Identity-API-d1e62">
<title>General API Information</title>
<para>The OpenStack Identity API is implemented using a
RESTful web service interface. All requests to authenticate
and operate against the OpenStack Identity API should
be performed using SSL over HTTP (HTTPS) on TCP port
443.</para>
<xi:include href="identity-concepts.xml"/>
<title>General API information</title>
<para>The OpenStack Identity API is implemented using a RESTful
web service interface. All requests to authenticate and
operate against the OpenStack Identity API should be performed
using SSL over HTTP (HTTPS) on TCP port 443.</para>
<xi:include href="section_identity-concepts.xml"/>
<section xml:id="Request_Response_Types-d1e149">
<title>Request/Response Types</title>
<para>The OpenStack Identity API supports both the
JSON and XML data serialization formats. The request
format is specified using the <code>Content-Type</code>
header and is required for operations that have a request
body. The response format can be specified in requests
using either the <code>Accept</code> header or adding an
<title>Request and response types</title>
<para>The OpenStack Identity API supports both the JSON and
XML data serialization formats. The request format is
specified using the <code>Content-Type</code> header and
is required for operations that have a request body. The
response format can be specified in requests using either
the <code>Accept</code> header or adding an
<code>.xml</code> or <code>.json</code> extension to
the request URI. Note that it is possible for a response
to be serialized using a format different from the request
@ -67,7 +64,7 @@ This operation does not require a request body.</para>'>
using both an <code>Accept</code> header and a query
extension, the query extension takes precedence.</para>
<table rules="all">
<caption>Response Types</caption>
<caption>Response types</caption>
<thead>
<tr>
<td>Format</td>
@ -92,18 +89,18 @@ This operation does not require a request body.</para>'>
</tbody>
</table>
<example>
<title>JSON Request with Headers</title>
<programlisting language="http"><xi:include href="../samples/samplerequestheader.txt" parse="text"/></programlisting>
<programlisting language="json"><xi:include href="../samples/auth_credentials.json" parse="text"/></programlisting>
<title>JSON request with headers</title>
<programlisting language="http"><xi:include href="samples/samplerequestheader.txt" parse="text"/></programlisting>
<programlisting language="json"><xi:include href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/samples/auth_credentials.json" parse="text"/></programlisting>
</example>
<example>
<title>XML Response with Headers</title>
<programlisting language="http"><xi:include href="../samples/sampleresponseheader.txt" parse="text"/></programlisting>
<programlisting language="xml"><xi:include href="../samples/auth.xml" parse="text"/></programlisting>
<title>XML response with headers</title>
<programlisting language="http"><xi:include href="samples/sampleresponseheader.txt" parse="text"/></programlisting>
<programlisting language="xml"><xi:include href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/samples/auth.xml" parse="text"/></programlisting>
</example>
</section>
<section xml:id="Content_Compression-d1e262">
<title>Content Compression</title>
<title>Content compression</title>
<para>Request and response body data my be encoded with gzip
compression in order to accelerate interactive performance
of API calls and responses. This is controlled using the
@ -113,7 +110,7 @@ This operation does not require a request body.</para>'>
response. Unless the header is explicitly set, encoding
defaults to disabled.</para>
<table rules="all">
<caption>Compression Headers</caption>
<caption>Compression headers</caption>
<thead>
<tr>
<td>Header Type</td>
@ -136,15 +133,15 @@ This operation does not require a request body.</para>'>
</table>
</section>
<section xml:id="Paginated_Collections-d1e325">
<title>Paginated Collections</title>
<para>To reduce load on the service, list operations will
return a maximum number of items at a time. The maximum
number of items returned is determined by the Identity
provider. To navigate the collection, the parameters
<title>Paginated collections</title>
<para>To reduce load on the service, list operations return a
maximum number of items at a time. The maximum number of
items returned is determined by the Identity provider. To
navigate the collection, you can set the
<parameter>limit</parameter> and
<parameter>marker</parameter> can be set in the URI
(for example,
?<parameter>limit</parameter>=100&amp;<parameter>marker</parameter>=1234).
<parameter>marker</parameter> parameters in the URI.
For example,
?<parameter>limit</parameter>=100&amp;<parameter>marker</parameter>=1234.
The <parameter>marker</parameter> parameter is the ID of
the last item in the previous list. Items are sorted by
update time. When an update time is not available they are
@ -152,7 +149,7 @@ This operation does not require a request body.</para>'>
sets the page size. Both parameters are optional. If the
client requests a <parameter>limit</parameter> beyond that
which is supported by the deployment an overLimit
(<errorcode>413</errorcode>) fault may be thrown. A
(<errorcode>413</errorcode>) fault might be thrown. A
marker with an invalid ID will return an itemNotFound
(<errorcode>404</errorcode>) fault.</para>
<note>
@ -171,32 +168,35 @@ This operation does not require a request body.</para>'>
In these examples, the <parameter>limit</parameter>
parameter sets the page size to a single item. Subsequent
"next" and "previous" links will honor the initial page
size. Thus, a client may follow links to traverse a
size. Thus, a client might follow links to traverse a
paginated collection without having to input the
<parameter>marker</parameter> parameter.</para>
<example>
<title>Tenant Collection, First Page: XML</title>
<programlisting language="xml"><xi:include href="../samples/tenants-1.xml" parse="text"/></programlisting>
<title>Tenant collection, first page: XML response</title>
<programlisting language="xml"><xi:include href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/samples/tenants-1.xml" parse="text"/></programlisting>
</example>
<example>
<title>Tenant Collection, First Page: JSON</title>
<programlisting language="json"><xi:include href="../samples/tenants-1.json" parse="text"/></programlisting>
<title>Tenant collection, first page: JSON
response</title>
<programlisting language="json"><xi:include href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/samples/tenants-1.xml" parse="text"/></programlisting>
</example>
<example>
<title>Tenant Collection, Second Page: XML</title>
<programlisting language="xml"><xi:include href="../samples/tenants-2.xml" parse="text"/></programlisting>
<title>Tenant collection, second page: XML
response</title>
<programlisting language="xml"><xi:include href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/samples/tenants-2.xml" parse="text"/></programlisting>
</example>
<example>
<title>Tenant Collection, Second Page: JSON</title>
<programlisting language="json"><xi:include href="../samples/tenants-2.json" parse="text"/></programlisting>
<title>Tenant collection, second page: JSON
response</title>
<programlisting language="json"><xi:include href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/samples/tenants-2.json" parse="text"/></programlisting>
</example>
<example>
<title>Tenant Collection, Last Page: XML</title>
<programlisting language="xml"><xi:include href="../samples/tenants-3.xml" parse="text"/></programlisting>
<title>Tenant collection, last page: XML response</title>
<programlisting language="xml"><xi:include href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/samples/tenants-3.xml" parse="text"/></programlisting>
</example>
<example>
<title>Tenant Collection, Last Page: JSON</title>
<programlisting language="json"><xi:include href="../samples/tenants-3.json" parse="text"/></programlisting>
<title>Tenant collection, last page: JSON response</title>
<programlisting language="json"><xi:include href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/samples/tenants-3.json" parse="text"/></programlisting>
</example>
<para>In the JSON representation, paginated collections
contain a <property>values</property> property that
@ -209,12 +209,12 @@ This operation does not require a request body.</para>'>
user. Clients must follow the "next" link to continue to
retrieve additional groups belonging to a user.</para>
<example>
<title>Paginated Roles in a User: XML</title>
<programlisting language="xml"><xi:include href="../samples/getuser-1.xml" parse="text"/></programlisting>
<title>Paginated roles in user: XML response</title>
<programlisting language="xml"><xi:include href="samples/getuser-1.xml" parse="text"/></programlisting>
</example>
<example>
<title>Paginated Roles in an User: JSON</title>
<programlisting language="json"><xi:include href="../samples/getuser-1.json" parse="text"/></programlisting>
<title>Paginated roles in user: JSON response</title>
<programlisting language="json"><xi:include href="samples/getuser-1.json" parse="text"/></programlisting>
</example>
</section>
<section xml:id="Versions-d1e472">
@ -222,9 +222,9 @@ This operation does not require a request body.</para>'>
<para>The OpenStack Identity API uses both a URI and a MIME
type versioning scheme. In the URI scheme, the first
element of the path contains the target version identifier
(for example, https://identity.api.openstack.org/ v2.0/&hellip;).
The MIME type versioning scheme uses HTTP content
negotiation where the <code>Accept</code> or
(for example, https://identity.api.openstack.org/
v2.0/&hellip;). The MIME type versioning scheme uses HTTP
content negotiation where the <code>Accept</code> or
<code>Content-Type</code> headers contains a MIME type
that includes the version ID as a parameter
(application/vnd.openstack.identity+xml;version=1.1). A
@ -234,40 +234,36 @@ This operation does not require a request body.</para>'>
URI, the URI takes precedence.</para>
<example>
<title>Request with MIME type versioning</title>
<literallayout class="monospaced">
GET /tenants HTTP/1.1
<literallayout class="monospaced">GET /tenants HTTP/1.1
Host: identity.api.openstack.org
Accept: application/vnd.openstack.identity+xml;version=1.1
X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb
</literallayout>
X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb</literallayout>
</example>
<example>
<title>Request with URI versioning</title>
<literallayout class="monospaced">
GET /v1.1/tenants HTTP/1.1
<literallayout class="monospaced">GET /v1.1/tenants HTTP/1.1
Host: identity.api.openstack.org
Accept: application/xml
X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb
</literallayout>
X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb </literallayout>
</example>
<note>
<para>The MIME type versioning approach allows for the
creation of permanent links, because the version
scheme is not specified in the URI path:
https://api.identity.openstack.org/tenants/12234.
</para>
</para>
</note>
<para>If a request is made without a version specified in the
URI or via HTTP headers, then a multiple-choices response
(<returnvalue>300</returnvalue>) will follow providing
links and MIME types to available versions.</para>
<example>
<title>Multiple Choices Response: XML</title>
<programlisting language="xml"><xi:include href="../samples/choices.xml" parse="text"/></programlisting>
<title>Multiple choices response: XML</title>
<programlisting language="xml"><xi:include href="samples/choices.xml" parse="text"/></programlisting>
</example>
<example>
<title>Multiple Choices Response: JSON</title>
<programlisting language="json"><xi:include href="../samples/choices.json" parse="text"/></programlisting>
<title>Multiple choices response: JSON</title>
<programlisting language="json"><xi:include href="samples/choices.json" parse="text"/></programlisting>
</example>
<para>New features and functionality that do not break
API-compatibility will be introduced in the current
@ -280,7 +276,8 @@ X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb
versions will be marked as <code>DEPRECATED</code>.
Providers should work with developers and partners to
ensure there is adequate time to migrate to the new
version before deprecated versions are discontinued.</para>
version before deprecated versions are
discontinued.</para>
<para>Your application can programmatically determine
available API versions by performing a &GET; on the root
URL (such as, with the version and everything to the right
@ -292,11 +289,9 @@ X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb
URI. This allows standard Atom clients to track version
changes.</para>
<example>
<title>Versions List Request</title>
<literallayout class="monospaced">
GET HTTP/1.1
Host: identity.api.openstack.org
</literallayout>
<title>List versions: HTTP request</title>
<literallayout class="monospaced">GET HTTP/1.1
Host: identity.api.openstack.org</literallayout>
</example>
<simpara>&CODES;<returnvalue>200</returnvalue>,
<returnvalue>203</returnvalue></simpara>
@ -305,30 +300,32 @@ Host: identity.api.openstack.org
(<errorcode>500</errorcode>),
serviceUnavailable(<errorcode>503</errorcode>)</simpara>
&NO_REQUEST; <example>
<title>Versions List Response: XML</title>
<programlisting language="xml"><xi:include href="../samples/versions.xml" parse="text"/></programlisting>
<title>List versions: XML response</title>
<programlisting language="xml"><xi:include href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/samples/versions.xml" parse="text"/></programlisting>
</example>
<example>
<title>Versions List Response: Atom</title>
<programlisting language="xml"><xi:include href="../samples/versions-atom.xml" parse="text"/></programlisting>
<title>List versions: Atom response</title>
<programlisting language="xml"><xi:include href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/samples/versions-atom.xml" parse="text"/></programlisting>
</example>
<example>
<title>Versions List Response: JSON</title>
<programlisting language="json"><xi:include href="../samples/versions.json" parse="text"/></programlisting>
<title>List versions: JSON response</title>
<programlisting language="json"><xi:include href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/samples/versions.json" parse="text"/></programlisting>
</example>
<para>You can also obtain additional information about a
specific version by performing a &GET; on the base version
URL (for example, https://identity.api.openstack.org/v1.1/).
Version request URLs should always end with a trailing
slash (/). If the slash is omitted, the server may respond
with a <returnvalue>302</returnvalue> redirection request.
Format extensions may be placed after the slash (for example,
https://identity.api.openstack.org/v1.1/.xml). Note that
this is a special case that does not hold true for other
API requests. In general, requests such as /tenants.xml
and /tenants/.xml are handled equivalently.</para>
URL (for example,
https://identity.api.openstack.org/v1.1/). Version request
URLs should always end with a trailing slash (/). If the
slash is omitted, the server might respond with a
<returnvalue>302</returnvalue> redirection request.
Format extensions might be placed after the slash (for
example, https://identity.api.openstack.org/v1.1/.xml).
Note that this is a special case that does not hold true
for other API requests. In general, requests such as
/tenants.xml and /tenants/.xml are handled
equivalently.</para>
<example>
<title>Version Details Request</title>
<title>Get version details: HTTP request</title>
<literallayout class="monospaced">
GET HTTP/1.1
Host: identity.api.openstack.org/v1.1/
@ -341,16 +338,16 @@ Host: identity.api.openstack.org/v1.1/
(<errorcode>500</errorcode>),
serviceUnavailable(<errorcode>503</errorcode>)</simpara>
&NO_REQUEST; <example>
<title>Version Details Response: XML</title>
<programlisting language="xml"><xi:include href="../samples/version.xml" parse="text"/></programlisting>
<title>Get version details: XML response</title>
<programlisting language="xml"><xi:include href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/samples/version.xml" parse="text"/></programlisting>
</example>
<example>
<title>Version Details Response: Atom</title>
<programlisting language="xml"><xi:include href="../samples/version-atom.xml" parse="text"/></programlisting>
<title>Get version details: Atom response</title>
<programlisting language="xml"><xi:include href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/samples/version-atom.xml" parse="text"/></programlisting>
</example>
<example>
<title>Version Details Response: JSON</title>
<programlisting language="json"><xi:include href="../samples/version.json" parse="text"/></programlisting>
<title>Get version details: JSON response</title>
<programlisting language="json"><xi:include href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/samples/version.json" parse="text"/></programlisting>
</example>
<para>The detailed version response contains pointers to both
a human-readable and a machine-processable description of
@ -374,7 +371,7 @@ Host: identity.api.openstack.org/v1.1/
what extensions are available by performing a &GET; on the
/extensions URI. Note that this is a versioned request
&mdash; that is, an extension available in one API version
may not be available in another.</para>
might not be available in another.</para>
<informaltable rules="all">
<thead>
<tr>
@ -403,14 +400,14 @@ Host: identity.api.openstack.org/v1.1/
<property>alias</property>. Additionally an extension
contains documentation links in various formats.</para>
<example>
<title>Extensions Response: XML</title>
<programlisting language="xml"><xi:include href="../samples/extensions.xml" parse="text"/></programlisting>
<title>List extensions: XML</title>
<programlisting language="xml"><xi:include href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/samples/extensions.xml" parse="text"/></programlisting>
</example>
<example>
<title>Extensions Response: JSON</title>
<programlisting language="json"><xi:include href="../samples/extensions.json" parse="text"/></programlisting>
<title>List extensions: JSON</title>
<programlisting language="json"><xi:include href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/samples/extensions.json" parse="text"/></programlisting>
</example>
<para>Extensions may also be queried individually by their
<para>Extensions might also be queried individually by their
unique alias. This provides the simplest method of
checking if an extension is available as an unavailable
extension will issue an itemNotFound
@ -441,16 +438,16 @@ Host: identity.api.openstack.org/v1.1/
(<errorcode>500</errorcode>),
serviceUnavailable(<errorcode>503</errorcode>)</simpara>
&NO_REQUEST; <example>
<title>Extension Response: xml</title>
<programlisting language="xml"><xi:include href="../samples/extension.xml" parse="text"/></programlisting>
<title>List extensions: XML response</title>
<programlisting language="xml"><xi:include href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/samples/extension.xml" parse="text"/></programlisting>
</example>
<example>
<title>Extensions Response: JSON</title>
<programlisting language="json"><xi:include href="../samples/extension.json" parse="text"/></programlisting>
<title>List extensions: JSON response</title>
<programlisting language="json"><xi:include href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/samples/extension.json" parse="text"/></programlisting>
</example>
<para>Extensions can define new data types, parameters,
actions, headers, states, and resources. In XML,
additional elements and attributes may be defined. These
additional elements and attributes might be defined. These
elements must be defined in the extension's namespace. In
JSON, the alias must be used. The volumes element in the
<xref linkend="UserEXT"
@ -465,56 +462,58 @@ Host: identity.api.openstack.org/v1.1/
<para>Applications should be prepared to ignore response
data that contains extension elements. Also,
applications should also verify that an extension is
available before submitting an extended request.</para>
available before submitting an extended
request.</para>
</important>
<example xml:id="UserEXT">
<title>Extended User Response: XML</title>
<programlisting language="xml"><xi:include href="../samples/ext-getuser.xml" parse="text"/></programlisting>
<programlisting language="xml"><xi:include href="samples/ext-getuser.xml" parse="text"/></programlisting>
</example>
<example xml:id="UserEXTJ">
<title>Extended User Response: JSON</title>
<programlisting language="json"><xi:include href="../samples/ext-getuser.json" parse="text"/></programlisting>
<programlisting language="json"><xi:include href="samples/ext-getuser.json" parse="text"/></programlisting>
</example>
</section>
<section xml:id="Faults-d1e908">
<title>Faults</title>
<para>When an error occurs, the system returns an HTTP
error response code denoting the type of error. The system
also returns additional information about the fault in
the body of the response.</para>
<para>When an error occurs, the system returns an HTTP error
response code denoting the type of error. The system also
returns additional information about the fault in the body
of the response.</para>
<example>
<title>XML Fault Response</title>
<programlisting language="xml"><xi:include href="../samples/identity_fault.xml" parse="text"/></programlisting>
<programlisting language="xml"><xi:include href="samples/identity_fault.xml" parse="text"/></programlisting>
</example>
<example>
<title>JSON Fault Response</title>
<programlisting language="json"><xi:include href="../samples/identity_fault.json" parse="text"/></programlisting>
<programlisting language="json"><xi:include href="samples/identity_fault.json" parse="text"/></programlisting>
</example>
<para>The error code is returned in the body of the response
for convenience. The message section returns a human
readable message. The details section is optional and may
contain useful information for tracking down an error (such as,
a stack trace).</para>
<para>The root element of the fault (for example, identityFault) may
change depending on the type of error. The following is an
example of an itemNotFound error.</para>
readable message. The details section is optional and
might contain useful information for tracking down an
error (such as, a stack trace).</para>
<para>The root element of the fault (for example,
identityFault) might change depending on the type of
error. The following is an example of an itemNotFound
error.</para>
<example>
<title>XML Not Found Fault</title>
<programlisting language="xml"><xi:include href="../samples/item_not_found.xml" parse="text"/></programlisting>
<programlisting language="xml"><xi:include href="samples/item_not_found.xml" parse="text"/></programlisting>
</example>
<example>
<title>JSON Not Found Fault</title>
<programlisting language="json"><xi:include href="../samples/item_not_found.json" parse="text"/></programlisting>
<programlisting language="json"><xi:include href="samples/item_not_found.json" parse="text"/></programlisting>
</example>
<para>The following list shows the possible fault types
with associated error codes.</para>
<para>The following list shows the possible fault types with
associated error codes.</para>
<table rules="all">
<caption>Fault Types</caption>
<caption>Fault types</caption>
<thead>
<tr>
<td>Fault Element</td>
<td>Associated Error Code</td>
<td>Expected in All Requests</td>
<th>Fault element</th>
<th>Associated error code</th>
<th>Expected in all requests</th>
</tr>
</thead>
<tbody>

View File

@ -0,0 +1,134 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter [
<!-- Some useful entities borrowed from HTML -->
<!ENTITY ndash "&#x2013;">
<!ENTITY mdash "&#x2014;">
<!ENTITY hellip "&#x2026;">
<!ENTITY plusmn "&#xB1;">
<!-- Useful for describing APIs -->
<!ENTITY GET '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
<!ENTITY PUT '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
<!ENTITY POST '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
]>
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xmlns:html="http://www.w3.org/1999/xhtml"
xml:id="Service_API_Admin_Operations" version="5.0"
role="api-reference">
<title>Administrative operations</title>
<para>The OpenStack Identity API administrative operations enable
service developers to get and validate access tokens, manage
users, tenants, roles, and service endpoints.</para>
<para>Most administrative API calls require authentication. The
only calls available without authentication are the calls to
discover the service &ndash; getting version info, WADL
contract, dev guide, help, and so on &ndash; and the call to
authenticate and get a token.</para>
<para>Authentication is performed by passing in a valid token in
the <code>X-Auth-Token</code> header on the request from the
client. The Identity API verifies that the token has, or
belongs to a user that has, the <code>Admin</code>
role.</para>
<para>For information about how to create your first
administrator, see the <link
xlink:href="http://docs.openstack.org/admin-guide-cloud/content/"
><citetitle>OpenStack Cloud Administrator
Guide</citetitle></link>.</para>
<table rules="all">
<caption>Authentication header</caption>
<thead>
<tr>
<td>Header type</td>
<td>Name</td>
<td>Value</td>
</tr>
</thead>
<tbody>
<tr>
<td>HTTP/1.1 Request</td>
<td>X-Auth-Token</td>
<td>txfa8426a08eaf</td>
</tr>
</tbody>
</table>
<section xml:id="versions">
<title>Versions</title>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity-admin.wadl#version">
<wadl:method href="#getVersionInfo"/>
</wadl:resource>
</wadl:resources>
</section>
<section xml:id="extensions">
<title>Extensions</title>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity-admin.wadl#extensions">
<wadl:method href="#listExtensions"/>
</wadl:resource>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity-admin.wadl#extension">
<wadl:method href="#getExtension"/>
</wadl:resource>
</wadl:resources>
</section>
<section xml:id="tokens">
<title>Tokens</title>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity-admin.wadl#tokens">
<wadl:method href="#authenticate"/>
</wadl:resource>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity-admin.wadl#tokenById">
<wadl:method href="#validateToken-admin"/>
<wadl:method href="#checkToken-admin"/>
</wadl:resource>
</wadl:resources>
</section>
<section xml:id="users">
<title>Users</title>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity-admin.wadl#name">
<wadl:method href="#getUserByName"/>
</wadl:resource>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity-admin.wadl#userid">
<wadl:method href="#getUserById"/>
</wadl:resource>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity-admin.wadl#userRoles">
<wadl:method href="#listUserGlobalRoles"/>
</wadl:resource>
</wadl:resources>
</section>
<section xml:id="tenants">
<title>Tenants</title>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity-admin.wadl#tenants">
<wadl:method href="#listTenants"/>
<wadl:method href="#getTenantByName"/>
</wadl:resource>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity-admin.wadl#tenantById">
<wadl:method href="#getTenantById"/>
</wadl:resource>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity-admin.wadl#userRolesForTenant">
<wadl:method href="#listRolesForUserOnTenant"/>
</wadl:resource>
</wadl:resources>
</section>
</chapter>

View File

@ -2,9 +2,9 @@
<chapter xmlns="http://docbook.org/ns/docbook"
xml:id="openstack_identity_extensions" version="5.0"
xmlns:xi="http://www.w3.org/2001/XInclude" role="api-reference">
<title>OpenStack Identity Extensions</title>
<title>OpenStack extensions to OpenStack Identity</title>
<section xml:id="os-ksadm-admin-ext">
<title>OS-KSADM admin extension</title>
<title>OS-KSADM extension</title>
<section xml:id="ksadm-users">
<title>Users</title>
<wadl:resources
@ -100,68 +100,83 @@
</section>
<section
xml:id="Admin_API_Service_Developer_Operations-OS-KSCATALOG">
<title>OS-KSCATALOG admin extension</title>
<title>OS-KSCATALOG extension</title>
<section xml:id="Endpoint_Operations_OS-KSCATALOG">
<title>Endpoints</title>
<wadl:resources
xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/OS-KSCATALOG-admin.wadl#endpoints">
<wadl:method href="#listEndpoints"/>
<wadl:method href="#addEndpoint"/>
</wadl:resource>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/OS-KSCATALOG-admin.wadl#endpoint">
<wadl:method href="#getEndpoint"/>
<wadl:method href="#deleteEndpoint"/>
</wadl:resource>
</wadl:resources>
</section>
<section xml:id="Endpoint_Template_Operations_OS-KSCATALOG">
<title>Endpoint templates</title>
<wadl:resources
xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/OS-KSCATALOG-admin.wadl#endpointTemplates">
<wadl:method href="listEndpointTemplates"/>
<wadl:method href="addEndpointTemplate"/>
<wadl:method href="#listEndpointTemplates"/>
<wadl:method href="#addEndpointTemplate"/>
</wadl:resource>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/OS-KSCATALOG-admin.wadl#endpointTemplateId">
<wadl:method href="getEndpointTemplate"/>
<wadl:method href="deleteEndpointTemplate"/>
</wadl:resource>
</wadl:resources>
</section>
<section xml:id="Tenant_Operations_OS-KSCATALOG">
<title>Endpoints</title>
<wadl:resources
xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/OS-KSCATALOG-admin.wadl#endpoints">
<wadl:method href="listEndpoints"/>
<wadl:method href="addEndpoint"/>
</wadl:resource>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/OS-KSCATALOG-admin.wadl#endpoint">
<wadl:method href="getEndpoint"/>
<wadl:method href="deleteEndpoint"/>
<wadl:method href="#getEndpointTemplate"/>
<wadl:method href="#updateEndpointTemplate"/>
<wadl:method href="#deleteEndpointTemplate"/>
</wadl:resource>
</wadl:resources>
</section>
</section>
<section xml:id="Admin_API_Service_Developer_Operations-OS-KSEC2">
<title>OS-KSEC2 admin extension</title>
<title>OS-KSEC2 extension</title>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/OS-KSEC2-admin.wadl#userCredentials"/>
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/OS-KSEC2-admin.wadl#userCredentials">
<wadl:method href="#listCredentials"/>
<wadl:method href="#addUserCredential"/>
</wadl:resource>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/OS-KSEC2-admin.wadl#userCredentialsByType"
/>
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/OS-KSEC2-admin.wadl#userCredentialsByType">
<wadl:method href="#getUserCredential"/>
<wadl:method href="#updateUserCredential"/>
<wadl:method href="#deleteUserCredential"/>
</wadl:resource>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/OS-KSEC2-admin.wadl#type">
<wadl:method href="#listCredentialsByType"/>
</wadl:resource>
</wadl:resources>
</section>
<section xml:id="RackExt-0001">
<title>OS-KSS3 admin extension</title>
<title>OS-KSS3 extension</title>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/OS-KSS3-admin.wadl#userCredentials">
<wadl:method href="listCredentials"/>
<wadl:method href="addUserCredential"/>
<wadl:method href="#listCredentials"/>
<wadl:method href="#addUserCredential"/>
</wadl:resource>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/OS-KSS3-admin.wadl#userCredentialsByType">
<wadl:method href="getUserCredential"/>
<wadl:method href="updateUserCredential"/>
<wadl:method href="deleteUserCredential"/>
<wadl:method href="#getUserCredential"/>
<wadl:method href="#updateUserCredential"/>
<wadl:method href="#deleteUserCredential"/>
</wadl:resource>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/OS-KSS3-admin.wadl#type">
<wadl:method href="#listCredentialsByType"/>
</wadl:resource>
</wadl:resources>
</section>
<section xml:id="KSVALIDATE_OPERATIONS-token" version="5.0">
<title>OS-KSVALIDATE admin extension</title>
<title>OS-KSVALIDATE extension</title>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/OS-KSVALIDATE-admin.wadl#validate">

View File

@ -0,0 +1,205 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE chapter [
<!-- Useful for describing APIs -->
<!ENTITY GET '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
<!ENTITY PUT '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
<!ENTITY POST '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
<!ENTITY CODES 'Normal response codes:'>
<!ENTITY ERROR_CODES 'Error response codes:'>
<!-- Information about the extension -->
<!ENTITY APIKEYCREDENTIALSREQUESTXML "samples/apiKeyCredentials.xml">
<!ENTITY APIKEYCREDENTIALSREQUESTJSON "samples/apiKeyCredentials.json">
<!ENTITY APIKEYCREDENTIALSRESPONSEXML "http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/samples/auth.xml">
<!ENTITY APIKEYCREDENTIALSRESPONSEJSON "http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/samples/auth.json">
]>
<chapter xmlns="http://docbook.org/ns/docbook"
xml:id="rax_identity_extensions" version="5.0"
xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Rackspace extensions to OpenStack Identity</title>
<para>The following Rackspace extensions enable administrators to
complete these tasks:</para>
<itemizedlist>
<listitem>
<para>Rackspace group administration (RAX-GRPADM)
extension. Manage groups.</para>
</listitem>
<listitem>
<para>Rackspace groups service (RAX-KSGRP) extension. List
groups for a user.</para>
</listitem>
<listitem>
<para>Rackspace key authentication (RAX-KSKEY) extension.
Manage user credentials. Also, adds the
<parameter>apikeyCredentials</parameter> extended
attribute, which supports Rackspace-style
authentication.</para>
</listitem>
<listitem>
<para>Rackspace secret question and answer (RAX-KSQA)
extension. Get and update a secret question and answer
for a specified user.</para>
</listitem>
</itemizedlist>
<table rules="all">
<caption>Authentication header</caption>
<thead>
<tr>
<td>Header Type</td>
<td>Name</td>
<td>Value</td>
</tr>
</thead>
<tbody>
<tr>
<td>HTTP/1.1 Request</td>
<td>X-Auth-Token</td>
<td>txfa8426a08eaf</td>
</tr>
</tbody>
</table>
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="Admin_API_Service_Developer_Operations-RAX-GRPADM"
version="5.0" role="api-reference">
<title>Rackspace group administration (RAX-GRPADM)
extension</title>
<para>The Rackspace group administration (RAX-GRPADM)
extension adds the <literal>/RAX-GRPADM/groups</literal>
resource that enables administrators to manage
groups.</para>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/RAX-GRPADM.wadl#groups">
<wadl:method href="addGroup"/>
</wadl:resource>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/RAX-GRPADM.wadl#group">
<wadl:method href="getGroup"/>
<wadl:method href="updateGroup"/>
<wadl:method href="deleteGroup"/>
</wadl:resource>
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/RAX-GRPADM.wadl#user">
<wadl:method href="addUserToGroup"/>
<wadl:method href="removeUserFromGroup"/>
</wadl:resource>
</wadl:resources>
</section>
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="Admin_API_Service_Developer_Operations-RAX-KSGRP"
version="5.0" role="api-reference">
<title>Rackspace groups service (RAX-KSGRP) extension</title>
<para>The Rackspace groups service (RAX-KSGRP) extension
enables administrators to list groups for a user.</para>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02"
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/RAX-KSGRP-admin.wadl"
> </wadl:resources>
</section>
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="Admin_API_Service_Developer_Operations-RAX-KSKEY-admin"
version="5.0" role="api-reference">
<title>Rackspace key authentication (RAX-KSKEY)
extension</title>
<para>The Rackspace key authentication (RAX-KSKEY) extension
enables administrators to manage user credentials. Also,
adds the <parameter>apikeyCredentials</parameter> extended
attribute, which supports Rackspace-style
authentication.</para>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02"
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/RAX-KSKEY-admin.wadl">
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/RAX-KSKEY-admin.wadl#users"
> </wadl:resource>
</wadl:resources>
<section xml:id="apikeycredentials">
<title>RAX-KSKEY apikeyCredentials extended
attribute</title>
<para>The Rackspace key authentication (RAX-KSKEY)
extension adds the
<parameter>apikeyCredentials</parameter> extended
attribute, which supports Rackspace-style
authentication.</para>
<informaltable rules="all">
<thead xmlns="http://docbook.org/ns/docbook">
<tr>
<th>Verb</th>
<th>URI</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>&POST;</td>
<td>/tokens</td>
<td>Authenticates and generates a token.</td>
</tr>
</tbody>
</informaltable>
<simpara>&CODES;<returnvalue>200</returnvalue>,
<returnvalue>203</returnvalue></simpara>
<simpara>&ERROR_CODES; unauthorized
(<errorcode>401</errorcode>), userDisabled
(<errorcode>403</errorcode>), badrequest
(<errorcode>400</errorcode>), identityFault
(<errorcode>500</errorcode>),
serviceUnavailable(<errorcode>503</errorcode>)</simpara>
<para>This call returns a token if successful. Clients
obtain this token, along with the URL to other service
APIs, by first authenticating against OpenStack
Identity and supplying valid credentials. This
extension provides support for Rackspace style API Key
credentials.</para>
<para>Client authentication is provided through a ReST
interface using the POST method, with v2.0/tokens
supplied as the path. A payload of credentials must be
included in the body.</para>
<para>The Identity API is a ReSTful web service. It is the
entry point to all service APIs. To access the
Identity API, you must know its URL.</para>
<example>
<title>Authentication with apikeyCredentials: JSON
request</title>
<programlisting language="json"><xi:include href="&APIKEYCREDENTIALSREQUESTJSON;" parse="text"/></programlisting>
</example>
<example>
<title>Authentication with apikeyCredentials: XML
request</title>
<programlisting language="xml"><xi:include href="&APIKEYCREDENTIALSREQUESTXML;" parse="text"/></programlisting>
</example>
<example>
<title>Authentication with apikeyCredentials: JSON
response</title>
<programlisting language="json"><xi:include href="&APIKEYCREDENTIALSRESPONSEJSON;" parse="text"/></programlisting>
</example>
<example>
<title>Authentication with apikeyCredentials: XML
response</title>
<programlisting language="xml"><xi:include href="&APIKEYCREDENTIALSRESPONSEXML;" parse="text"/></programlisting>
</example>
</section>
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="Admin_API_Service_Developer_Operations-RAX-KSQA"
version="5.0" role="api-reference">
<title>Rackspace secret question and answer (RAX-KSQA)
extension</title>
<para>The Rackspace secret question and answer (RAX-KSQA)
extension enables administrators to get and update a
secret question and answer for a specified
user.</para>
<wadl:resources
xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/identity-api/src/v2.0/wadl/RAX-KSQA-admin.wadl#secretqa"
/>
</wadl:resources>
</section>
</section>
</chapter>

View File

@ -23,9 +23,10 @@
<year>2011</year>
<year>2012</year>
<year>2013</year>
<year>2014</year>
<holder>OpenStack Foundation</holder>
</copyright>
<releaseinfo>API v2.0</releaseinfo>
<releaseinfo>API v2.0 and extensions</releaseinfo>
<productname>OpenStack Identity</productname>
<pubdate/>
<legalnotice role="apache2">
@ -38,8 +39,8 @@
<para>This document describes how to develop applications
that use the OpenStack Identity API v2.0 for
authentication. This document also describes how to
integrate services with the OpenStack Identity
API v2.0.</para>
integrate services with the OpenStack Identity API
v2.0.</para>
</abstract>
<revhistory>
<revision>
@ -78,9 +79,9 @@
</info>
<!-- Chapters are referred from the book file through these include statements. You can add additional chapters using these types of statements. -->
<xi:include href="preface.xml"/>
<xi:include href="identity-general-api-info.xml"/>
<xi:include href="../client/identity-client-api.xml"/>
<xi:include href="../admin/identity-service-api.xml"/>
<xi:include href="ch_identity-general-api-info.xml"/>
<xi:include href="ch_identity-client-api.xml"/>
<xi:include href="ch_identity-service-api.xml"/>
<xi:include href="ch_os_extensions.xml"/>
<xi:include href="ch_hp_extensions.xml"/>
<xi:include href="ch_rax_extensions.xml"/>

View File

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -6,20 +6,20 @@
xmlns:html="http://www.w3.org/1999/xhtml" version="5.0"
xml:id="preface">
<title>Preface</title>
<?dbhtml stop-chunking?>
<para>OpenStack Identity allows clients to obtain
tokens that can be used to access OpenStack cloud services.</para>
<?dbhtml stop-chunking?>
<para>OpenStack Identity enables clients to obtain tokens that
permit access OpenStack cloud services.</para>
<section xml:id="audience">
<title>Intended Audience</title>
<title>Audience</title>
<para>This reference is for software developers who develop
applications that use the Identity API for
authentication.</para>
<para>This reference assumes that the reader is familiar with
RESTful web services, HTTP/1.1, and JSON and/or XML
RESTful web services, HTTP/1.1, and JSON or XML
serialization formats.</para>
</section>
<section xml:id="Document_Change_History-d1e118">
<title>Document Change History</title>
<title>Document change history</title>
<para>This version of the reference replaces and obsoletes all
previous versions. The following table describes recent
changes:</para>

View File

@ -0,0 +1,132 @@
<?xml version="1.0" encoding="UTF-8"?>
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
xml:id="Identity-Concepts-e1362">
<title>Identity concepts</title>
<para>To use OpenStack Identity, you must be familiar with these
key concepts:</para>
<variablelist wordsize="10">
<varlistentry>
<term><emphasis role="bold">User</emphasis></term>
<listitem>
<para>A digital representation of a person, system, or
service that uses OpenStack cloud services.
OpenStack Identity authentication services
validate that an incoming request is being made by
the user who claims to be making the call.</para>
<para>Users have a login and may be assigned tokens to
access resources. Users may be directly assigned
to a particular tenant and behave as if they are
contained in that tenant.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis role="bold">Credentials</emphasis></term>
<listitem>
<para>Data that belongs to, is owned by, and generally
only known by a user that the user can present to
prove their identity.</para>
<para>Examples include:</para>
<itemizedlist>
<listitem>
<para>A matching username and password</para>
</listitem>
<listitem>
<para>A matching username and API key</para>
</listitem>
<listitem>
<para>A token that was issued to you</para>
</listitem>
</itemizedlist>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis role="bold"
>Authentication</emphasis></term>
<listitem>
<para>In the context OpenStack Identity, the act of
confirming the identity of a user or the truth of
a claim. OpenStack Identity confirms that an
incoming request is being made by the user who
claims to be making the call by validating a set
of claims that the user is making.</para>
<para>These claims are initially in the form of a set
of credentials (username &amp; password, or
username and API key). After initial confirmation,
OpenStack Identity issues the user a token, which
the user can then provide to demonstrate that
their identity has been authenticated when making
subsequent requests.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis role="bold">Token</emphasis></term>
<listitem>
<para>An arbitrary bit of text that is used to access
resources. Each token has a scope that describes
which resources are accessible with it. A token
may be revoked at anytime and is valid for a
finite duration.</para>
<para>While OpenStack Identity supports token-based
authentication in this release, the intention is
for it to support additional protocols in the
future. The intent is for it to be an integration
service foremost, and not aspire to be a
full-fledged identity store and management
solution.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis role="bold">Tenant</emphasis></term>
<listitem>
<para>A container used to group or isolate resources
and/or identity objects. Depending on the service
operator, a tenant can map to a customer, account,
organization, or project.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis role="bold">Service</emphasis></term>
<listitem>
<para>An OpenStack service, such as Compute (Nova),
Object Storage (Swift), or Image Service (Glance).
A service provides one or more endpoints through
which users can access resources and perform
operations.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis role="bold">Endpoint</emphasis></term>
<listitem>
<para>A network-accessible address, usually described
by a URL, where a service may be accessed. If
using an extension for templates, you can create
an endpoint template, which represents the
templates of all the consumable services that are
available across the regions.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis role="bold">Role</emphasis></term>
<listitem>
<para>A personality that a user assumes when
performing a specific set of operations. A role
includes a set of rights and privileges. A user
assuming that role inherits those rights and
privileges.</para>
<para>In OpenStack Identity, a token that is issued to
a user includes the list of roles that user can
assume. Services that are being called by that
user determine how they interpret the set of roles
a user has and to which operations or resources
each role grants access.</para>
<para>It is up to individual services such as the
Compute service and Image service to assign
meaning to these roles. As far as the Identity
service is concerned, a role is an arbitrary name
assigned by the user.</para>
</listitem>
</varlistentry>
</variablelist>
</section>

Some files were not shown because too many files have changed in this diff Show More