update docs for 7/18 EAP release, including auth 2.0 support

This commit is contained in:
Mike Asthalter 2012-07-18 12:19:58 -05:00
parent 19da9a53b7
commit 0cedbe5178
11 changed files with 542 additions and 719 deletions

View File

@ -62,7 +62,7 @@
</copyright>
<releaseinfo>API v1.0 EAP</releaseinfo>
<productname>Rackspace Cloud Databases</productname>
<pubdate>2012-07-02</pubdate>
<pubdate>2012-07-18</pubdate>
<legalnotice role="rs-api">
<annotation>
<remark>Copyright details are filled in by the template.</remark>
@ -76,6 +76,24 @@
</abstract>
<revhistory>
<revision>
<date>2012-07-18</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>Updated for Auth 2.0 (refer to <xref
linkend="Authentication-d1e647"
/>).</para>
</listitem>
<listitem>
<para>Updated absolute limits (refer to
<xref
linkend="Absolute_Limits-d1e1397"
/>).</para>
</listitem>
</itemizedlist>
</revdescription>
</revision>
<revision>
<date>2012-07-02</date>
<revdescription>
@ -408,51 +426,6 @@
Rackspace Cloud Authentication Service and supplying a
valid username and API access key. </para>
<section xml:id="Geographic_Endpoints">
<title>Geographic Endpoints</title>
<para> The Rackspace Cloud Authentication Service
serves as the entry point to all Rackspace Cloud
APIs and is itself a ReSTful web service. </para>
<para> To access the Authentication Service, you must
know whether your account is US-based or UK-based: </para>
<itemizedlist spacing="compact">
<listitem>
<para> US-based accounts authenticate through
<link
xlink:href="&ENDPOINT-US;"
>&ENDPOINT-US;</link>.
</para>
</listitem>
<listitem>
<para> UK-based accounts authenticate through
<link
xlink:href="&ENDPOINT-UK;"
>&ENDPOINT-UK;</link>.
</para>
</listitem>
</itemizedlist>
<para> Your account may be based in either the US or
the UK; this is not determined by your physical
location but by the location of the Rackspace
retail site which was used to create your account: </para>
<itemizedlist spacing="compact">
<listitem>
<para> If your account was created via <link
xlink:href="http://www.rackspacecloud.com"
>http://www.rackspacecloud.com</link>,
it is a US-based account. </para>
</listitem>
<listitem>
<para> If your account was created via <link
xlink:href="http://www.rackspace.co.uk"
>http://www.rackspace.co.uk</link>, it
is a UK-based account. </para>
</listitem>
</itemizedlist>
<para> If you are unsure how your account was created,
use the Rackspace contact information at either
site to ask for help. </para>
</section>
<section xml:id="Geographic_Endpoints" security="writeronly">
<title>Geographic Endpoints</title>
<para> The Rackspace Cloud Authentication Service
serves as the entry point to all Rackspace Cloud
@ -494,242 +467,6 @@
site to ask for help. </para>
</section>
<section xml:id="Retrieving_Auth_Token">
<title>Retrieving the Authentication Token</title>
<informaltable rules="all">
<tbody>
<tr>
<td colspan="1">&POST; </td>
<td colspan="1">/auth</td>
<td colspan="4"> Authenticate to receive a
token and a service catalog. </td>
</tr>
</tbody>
</informaltable>
<simpara> Normal Response Code(s):
<returnvalue>200</returnvalue>,
<returnvalue>203</returnvalue>
</simpara>
<simpara> Error Response Code(s): unauthorized
(<errorcode>401</errorcode>), userDisabled
(<errorcode>403</errorcode>), badRequest
(<errorcode>400</errorcode>), authFault
(<errorcode>500</errorcode>),
serviceUnavailable (<errorcode>503</errorcode>) </simpara>
<para> The authenticate operation provides clients
with an authentication token and a list of
regional cloud endpoints. </para>
<example>
<title>Auth Request: XML</title>
<programlistingco>
<areaspec>
<area xml:id="credentials.xml.user"
units="linecolumn" coords="11 23"/>
<area xml:id="credentials.xml.key"
units="linecolumn" coords="12 18"/>
</areaspec>
<programlisting language="xml">
<xi:include href="samples/db-credentials.xml" parse="text"/>
</programlisting>
</programlistingco>
</example>
<example>
<title>Auth Request: JSON</title>
<programlistingco>
<areaspec>
<area xml:id="credentials.json.user"
units="linecolumn" coords="11 22"/>
<area xml:id="credentials.json.key"
units="linecolumn" coords="12 18"/>
</areaspec>
<programlisting language="json">
<xi:include href="samples/db-credentials.json" parse="text"/>
</programlisting>
</programlistingco>
</example>
<calloutlist>
<callout arearefs="credentials.xml.user">
<para> The username supplied here is your
common Rackspace Cloud username. </para>
</callout>
<callout arearefs="credentials.xml.key">
<para> The key is your API access key. The key
can be obtained from the Rackspace Cloud
Control Panel in the <guimenu>Your
Account</guimenu>/<guimenuitem>API
Access</guimenuitem> section. </para>
</callout>
</calloutlist>
<example>
<title>Auth Response: XML</title>
<?dbfo keep-together="always"?>
<programlistingco>
<areaspec>
<area xml:id="auth.xml.token.expires"
units="linecolumn" coords="9 13"/>
<area xml:id="auth.xml.service.catalog"
units="linecolumn" coords="10 18"/>
<area xml:id="auth.xml.service.name"
units="linecolumn" coords="11 19"/>
<area xml:id="auth.xml.sc.s.e.region"
units="linecolumn" coords="12 24"/>
<area xml:id="auth.xml.sc.s.e.v1d"
units="linecolumn" coords="12 40"/>
<area xml:id="auth.xml.sc.s.e.pu"
units="linecolumn" coords="13 19"/>
<area xml:id="auth.xml.sc.s.e.iu"
units="linecolumn" coords="41 21"/>
</areaspec>
<programlisting language="xml"><xi:include href="samples/db-auth.xml" parse="text"/></programlisting>
</programlistingco>
</example>
<example xml:id="auth-response-example-json">
<title>Auth Response: JSON</title>
<programlistingco>
<areaspec>
<area xml:id="auth.json.token.expires"
units="linecolumn" coords="69 24"/>
<area xml:id="auth.json.service.catalog"
units="linecolumn" coords="9 25"/>
<area xml:id="auth.json.service.name"
units="linecolumn" coords="15 29"/>
<area xml:id="auth.json.sc.s.e.region"
units="linecolumn" coords="18 31"/>
<area xml:id="auth.json.sc.s.e.v1d"
units="linecolumn" coords="30 34"/>
<area xml:id="auth.json.sc.s.e.pu"
units="linecolumn" coords="17 34"/>
<area xml:id="auth.json.sc.s.e.iu"
units="linecolumn" coords="27 36"/>
</areaspec>
<programlisting language="json">
<xi:include href="samples/db-auth.json" parse="text"/>
</programlisting>
</programlistingco>
</example>
<note>
<para>The information shown in the Auth Response
examples is for US-based accounts. If you
authenticate against the UK-endpoint for auth,
you will see the service catalog information
for UK-based accounts.</para>
</note>
<calloutlist>
<callout arearefs="auth.xml.token.expires">
<para>This token can be presented to a service
as evidence of authentication. Tokens are
valid for a finite duration.</para>
<para>The <code>expires</code> attribute
denotes the time after which the token
will automatically become invalid. A token
may be manually revoked before the time
identified by the <code>expires</code>
attribute; <code>expires</code> predicts a
token's maximum possible lifespan but does
not guarantee that it will reach that
lifespan. Clients are encouraged to cache
a token until it expires. </para>
</callout>
<callout arearefs="auth.xml.service.catalog">
<para>The service catalog lists the services
this user can access. In this example, the
user can access two compute services
(Cloud Servers OpenStack and Cloud
Servers) and two object storage services
(Cloud Files Content Distribution Network
(CDN), and Cloud Files). The catalog
listing for each service provides at least
one endpoint URL for that service. Other
information, such as regions and versions
and tenants, is provided if it's relevant
to this user's access to this service.
</para>
</callout>
<callout arearefs="auth.xml.service.name">
<para>The service name attribute identifies
each unique service in the catalog. Once a
service is created, its name does not
change. </para>
</callout>
<callout arearefs="auth.xml.sc.s.e.region">
<para>A service may expose endpoints in
different regions. Regional endpoints
allow clients to provision resources in a
manner that provides high
availability.</para>
<para>Some services are not region-specific.
These services supply a single
non-regional endpoint and do not provide
access to internal URLs. </para>
</callout>
<callout arearefs="auth.xml.sc.s.e.v1d">
<para>The <code>v1Default</code> attribute
denotes that an endpoint is being returned
in version 1.0 of the Cloud Authentication
Service. The default value of
<code>v1Default</code> is
<code>false</code>; clients should
assume the value is <code>false</code>
when the attribute is missing. Auth 1.0
does not offer support for regional
endpoints and therefore only returns one
endpoint per service. Resources stored in
endpoints where <code>v1Default</code> is
<code>false</code> will not be seen by
Auth 1.0 clients. </para>
</callout>
<callout
arearefs="auth.xml.sc.s.e.pu auth.xml.sc.s.e.iu">
<para>An endpoint can be assigned public and
internal URLs. A public URL is accessible
from anywhere. Access to a public URL
usually incurs traffic charges. Internal
URLs are only accessible to services
within the same region. Access to an
internal URL is free of charge. </para>
</callout>
</calloutlist>
<para>Authentication tokens are typically valid for 24
hours. Applications should be designed to
re-authenticate after receiving a 401
(Unauthorized) response from a service endpoint. </para>
<important>
<para>If you are programmatically parsing an
authentication response, please be aware that
service names are stable for the life of the
particular service and can be used as keys.
You should also be aware that a user's service
catalog can include multiple uniquely-named
services which perform similar functions. For
example, cloudServersOpenStack is the
OpenStack version of compute whereas
cloudServers is the legacy version of compute;
the same user can have access to both
services. In Auth 2.0, the service type
attribute can be used as a key by which to
recognize similar services; see the tip
below.</para>
</important>
<tip>
<para>Beginning with Auth 2.0, the service catalog
includes a service type attribute to identify
services that perform similar functions but
have different names; for example,
<code>type="compute"</code> identifies
compute services such as cloudServers and
cloudServersOpenStack. Some developers have
found the service type attribute to be useful
in parsing the service catalog. For Auth 2.0
(also known as the Cloud Identity Service),
you can see the service type attribute in the
"Service Catalog in Authentication Response"
samples in the <citetitle>Cloud Identity
Client Developer Guide</citetitle> at
<link
xlink:href="http://docs.rackspace.com/auth/api/v2.0/auth-client-devguide/content/Sample_Request_Response-d1e64.html"
>http://docs.rackspace.com/auth/api/v2.0/auth-client-devguide/content/Sample_Request_Response-d1e64.html</link>.</para>
</tip>
</section>
<section xml:id="Retrieving_Auth_Token" security="writeronly">
<title>Retrieving the Authentication Token</title>
<informaltable rules="all">
<tbody>
@ -753,7 +490,16 @@
serviceUnavailable (<errorcode>503</errorcode>) </simpara>
<para> The authenticate operation provides clients
with an authentication token and a list of
regional cloud endpoints. </para>
regional cloud endpoints. The sample requests and
responses in this section illustrate a general
case. In your authentication request, use your own
credentials rather than the sample values shown
here for <code>username</code> and
<code>apiKey</code>. When you authenticate
successfully, the response to your authentication
request will include a catalog of the services to
which you have subscribed rather than the sample
values shown here.</para>
<example>
<title>Auth Request: XML</title>
<programlistingco>
@ -790,32 +536,30 @@
<callout arearefs="credentials.xml.key">
<para> The key is your API access key. The key
can be obtained from the Rackspace Cloud
Control Panel in the <guimenu>Your
Account</guimenu>/<guimenuitem>API
Access</guimenuitem> section. </para>
Control Panel in the <guimenu>&lt;Your
Account></guimenu>/<guimenuitem>API
Access</guimenuitem> section (login
here: <link
xlink:href="http://mycloud.rackspace.com/"
>Control Panel Login</link>). </para>
</callout>
</calloutlist>
<example>
<title>Auth Response: XML</title>
<?dbfo keep-together="always"?>
<programlistingco>
<areaspec>
<area xml:id="auth.xml.token.expires"
units="linecolumn" coords="9 13"/>
<area xml:id="auth.xml.service.catalog"
units="linecolumn" coords="10 18"/>
<area xml:id="auth.xml.service.name"
units="linecolumn" coords="11 19"/>
<area xml:id="auth.xml.sc.s.e.region"
units="linecolumn" coords="12 24"/>
<area xml:id="auth.xml.sc.s.e.v1d"
units="linecolumn" coords="12 40"/>
<area xml:id="auth.xml.sc.s.e.pu"
units="linecolumn" coords="13 19"/>
<area xml:id="auth.xml.sc.s.e.iu"
units="linecolumn" coords="41 21"/>
<area xml:id="response.xml.namespaces" units="linecolumn" coords="7 9"/>
<area xml:id="response.xml.token" units="linecolumn" coords="12 10"/>
<area xml:id="response.xml.role" units="linecolumn" coords="14 12"/>
<area xml:id="response.xml.catalog" units="linecolumn" coords="19 21"/>
<area xml:id="response.xml.servicetype" units="linecolumn" coords="43 34"/>
<area xml:id="response.xml.servicename" units="linecolumn" coords="43 54"/>
<area xml:id="response.xml.region" units="linecolumn" coords="44 30"/>
<area xml:id="response.xml.tenant" units="linecolumn" coords="45 66"/>
<area xml:id="response.xml.url" units="linecolumn" coords="46 9"/>
</areaspec>
<programlisting language="xml"><xi:include href="samples/db-auth.xml" parse="text"/></programlisting>
<programlisting language="xml"><xi:include href="samples/db-auth-20.xml" parse="text"/></programlisting>
</programlistingco>
</example>
@ -825,23 +569,17 @@
<programlistingco>
<areaspec>
<area xml:id="auth.json.token.expires"
units="linecolumn" coords="69 24"/>
<area xml:id="auth.json.service.catalog"
units="linecolumn" coords="9 25"/>
<area xml:id="auth.json.service.name"
units="linecolumn" coords="15 29"/>
<area xml:id="auth.json.sc.s.e.region"
units="linecolumn" coords="18 31"/>
<area xml:id="auth.json.sc.s.e.v1d"
units="linecolumn" coords="30 34"/>
<area xml:id="auth.json.sc.s.e.pu"
units="linecolumn" coords="17 34"/>
<area xml:id="auth.json.sc.s.e.iu"
units="linecolumn" coords="27 36"/>
</areaspec>
<programlisting language="json">
<xi:include href="samples/db-auth.json" parse="text"/>
<area xml:id="response.json.namespaces" units="linecolumn" coords="200 1"/>
<area xml:id="response.json.token" units="linecolumn" coords="9 8"/>
<area xml:id="response.json.role" units="linecolumn" coords="16 12"/>
<area xml:id="response.json.catalog" units="linecolumn" coords="29 8"/>
<area xml:id="response.json.servicetype" units="linecolumn" coords="102 16"/>
<area xml:id="response.json.servicename" units="linecolumn" coords="101 16"/>
<area xml:id="response.json.region" units="linecolumn" coords="94 24"/>
<area xml:id="response.json.tenant" units="linecolumn" coords="91 24"/>
<area xml:id="response.json.url" units="linecolumn" coords="92 24"/>
</areaspec>
<programlisting language="json"><xi:include href="samples/db-auth-20.json" parse="text"/>
</programlisting>
</programlistingco>
</example>
@ -853,78 +591,125 @@
for UK-based accounts.</para>
</note>
<calloutlist>
<callout arearefs="auth.xml.token.expires">
<para>This token can be presented to a service
as evidence of authentication. Tokens are
valid for a finite duration.</para>
<para>The <code>expires</code> attribute
denotes the time after which the token
will automatically become invalid. A token
may be manually revoked before the time
identified by the <code>expires</code>
attribute; <code>expires</code> predicts a
token's maximum possible lifespan but does
not guarantee that it will reach that
lifespan. Clients are encouraged to cache
a token until it expires. </para>
</callout>
<callout arearefs="auth.xml.service.catalog">
<para>The service catalog lists the services
this user can access. In this example, the
user can access two compute services
(Cloud Servers OpenStack and Cloud
Servers) and two object storage services
(Cloud Files Content Distribution Network
(CDN), and Cloud Files). The catalog
listing for each service provides at least
one endpoint URL for that service. Other
information, such as regions and versions
and tenants, is provided if it's relevant
to this user's access to this service.
<callout arearefs="response.xml.namespaces">
<para>
In XML responses only,
a list of namespaces identifies API extensions that add functionality to the core API.
</para>
<para> </para>
</callout>
<callout arearefs="auth.xml.service.name">
<para>The service name attribute identifies
each unique service in the catalog. Once a
service is created, its name does not
change. </para>
<callout arearefs="response.xml.token">
<para> This token can be presented to a service as evidence of authentication.
Tokens are valid for a finite duration; a token's default lifespan is twenty-four hours.
</para>
<para> The token's <code>expires</code> attribute denotes the time
after which the token will automatically become
invalid. A token may be manually revoked before
the time identified by the <code>expires</code>
attribute; <code>expires</code> predicts a token's
maximum possible lifespan but does not guarantee
that it will reach that lifespan. Clients are
encouraged to cache a token until it expires. </para>
<para> </para>
</callout>
<callout arearefs="auth.xml.sc.s.e.region">
<para>A service may expose endpoints in
different regions. Regional endpoints
allow clients to provision resources in a
manner that provides high
availability.</para>
<para>Some services are not region-specific.
These services supply a single
non-regional endpoint and do not provide
access to internal URLs. </para>
<callout arearefs="response.xml.role">
<para> Users can be assigned multiple roles,
with each role providing specific
privileges. In this example,
<code>jsmith</code> is the
administrative user for the account,
holding the fully-privileged
<code>identity:admin</code> role.
Other users might hold other roles with
different privileges. Roles need not be
associated with actual job functions such
as Administrator, Operator, Developer,
Tester, or Trainer. </para>
<para> </para>
</callout>
<callout arearefs="auth.xml.sc.s.e.v1d">
<para>The <code>v1Default</code> attribute
denotes that an endpoint is being returned
in version 1.0 of the Cloud Authentication
Service. The default value of
<code>v1Default</code> is
<code>false</code>; clients should
assume the value is <code>false</code>
when the attribute is missing. Auth 1.0
does not offer support for regional
endpoints and therefore only returns one
endpoint per service. Resources stored in
endpoints where <code>v1Default</code> is
<code>false</code> will not be seen by
Auth 1.0 clients. </para>
<callout arearefs="response.xml.catalog">
<para> The service catalog lists the services
this user can access. In this example, the
user can access one database service, one
loadbalancing service, two compute
services (Cloud Servers OpenStack and
Cloud Servers), two object storage
services (Cloud Files Content Distribution
Network (CDN), and Cloud Files), and one
DNS service. The catalog listing for each
service provides at least one endpoint URL
for that service. Other information, such
as regions, versions, and tenants, is
provided if it's relevant to this user's
access to this service. </para>
<para> </para>
</callout>
<callout
arearefs="auth.xml.sc.s.e.pu auth.xml.sc.s.e.iu">
<para>An endpoint can be assigned public and
internal URLs. A public URL is accessible
from anywhere. Access to a public URL
usually incurs traffic charges. Internal
URLs are only accessible to services
within the same region. Access to an
internal URL is free of charge. </para>
<callout arearefs="response.xml.servicetype">
<para>
The service type attribute identifies services that perform similar functions, whatever those services might be named.
In this example, the services named cloudServers and cloudServersOpenstack are both identified as <code>type="compute"</code>,
identifying them as compute services even though the word "compute" does not appear in their names.
</para>
<important>
<para>Use service type as the primary value for
locating a service. If multiple endpoints of the
same service type exist in the same region, use
service name as the tiebreaker.</para>
</important>
<para> </para>
</callout>
<callout arearefs="response.xml.servicename">
<para>
The service name attribute identifies each unique service in the catalog.
Once a service is created, its name does not change. However, new services of the same service type may be added to the catalog with new names.
</para>
<important>
<para> If you are programmatically parsing an authentication
response, use service type rather than service name as
the basis for determining whether a user has access to
a particular kind of service. Service type is stable
across all releases; new service types may be developed,
but existing service types are not renamed.
In this example,
<code>type="compute"</code> identifies all the
available compute services, one of which is named
cloudServers and one of which is named
cloudServersOpenStack. New compute service names may be added
in future releases; whatever the compute services are
named, you can always
recognize them by parsing for
<code>type="compute"</code> in the authentication
response's service catalog. </para>
</important>
<para> </para>
</callout>
<callout arearefs="response.xml.region">
<para> A service may expose endpoints in different regions.
Regional endpoints allow clients to provision
resources in a manner that provides high
availability. </para>
<para> Some services are not region-specific. These services supply a single
non-regional endpoint and do not provide access to internal URLs. </para>
<para> </para>
</callout>
<callout arearefs="response.xml.tenant">
<para> Some services recognize specification of a tenant. If a
service does recognize tenants, the format of the
tenant specification is defined only by the
service; for details about whether and how to
specify a tenant, check the documentation for the
service you are using.</para>
<para> </para>
</callout>
<callout arearefs="response.xml.url">
<para>
An endpoint can be assigned public and internal URLs. A
public URL is accessible from anywhere. Access to a public
URL usually incurs traffic charges. Internal URLs are only
accessible to services within the same region. Access to
an internal URL is free of charge.
</para>
<para> </para>
</callout>
</calloutlist>
<para>Authentication tokens are typically valid for 24
@ -957,11 +742,22 @@
compute services such as cloudServers and
cloudServersOpenStack. Some developers have
found the service type attribute to be useful
in parsing the service catalog. For Auth 2.0
(also known as the Cloud Identity Service),
you can see the service type attribute in the
Auth Response examples.</para>
in parsing the service catalog. For additional
information on Auth 2.0 (also known as the
Cloud Identity Service), refer to the
<citetitle>Cloud Identity Client Developer
Guide</citetitle> at <link
xlink:href="docs.rackspace.com"
>http://docs.rackspace.com/</link>.</para>
</tip>
<para>Databases service endpoints are published in the
service catalog in the Auth response with the
account number, which is a required element of the
service endpoints. The examples shown here are for
authentication for US customers. Customers with
UK-based accounts will see different values in the
service catalog. Refer to the next section for
more information about service endpoints. </para>
</section>
</section>
<section xml:id="Service_Access_Endpoints-d1e753">
@ -1014,8 +810,9 @@
linkend="auth-response-example-json"/> you can see
from the <code>publicURL</code> field for
<code>cloudServers</code>
("https://servers.api.rackspacecloud.com/v1.0/<emphasis role="bold">1234</emphasis>")
that the account number is 1234.</para>
("https://servers.api.rackspacecloud.com/v1.0/<emphasis
role="bold">1100111</emphasis>") that the account
number is 1100111.</para>
</section>
<section xml:id="DB_service_versions">
<title>Cloud Databases Service Versions</title>
@ -1313,36 +1110,31 @@
<tr>
<td colspan="1">&GET; changes-since</td>
<td colspan="2">*/instances/*</td>
<td colspan="2"
>^/v\d+\.\d+/\d+/instances.*</td>
<td colspan="2">^/vd+.d+/instances.*</td>
<td colspan="1">3/minute</td>
</tr>
<tr>
<td colspan="1">&POST;</td>
<td colspan="2">*/instances/*</td>
<td colspan="2"
>^/v\d+\.\d+/\d+/instances.*</td>
<td colspan="2">^/vd+.d+/instances.*</td>
<td colspan="1">10/minute</td>
</tr>
<tr>
<td colspan="1">&POST; instances</td>
<td colspan="2">*/instances/*</td>
<td colspan="2"
>^/v\d+\.\d+/\d+/instances.*</td>
<td colspan="2">^/vd+.d+/instances.*</td>
<td colspan="1">50/day</td>
</tr>
<tr>
<td colspan="1">&PUT;</td>
<td colspan="2">*/instances/*</td>
<td colspan="2"
>^/v\d+\.\d+/\d+/instances.*</td>
<td colspan="2">^/vd+.d+/instances.*</td>
<td colspan="1">10/minute</td>
</tr>
<tr>
<td colspan="1">&DELETE;</td>
<td colspan="2">*/instances/*</td>
<td colspan="2"
>^/v\d+\.\d+/\d+/instances.*</td>
<td colspan="2">^/vd+.d+/instances.*</td>
<td colspan="1">100/minute</td>
</tr>
</tbody>
@ -1379,14 +1171,14 @@
<td colspan="1">Instances</td>
<td colspan="3">Maximum number of instances allowed
for your account</td>
<td colspan="1">10</td>
<td colspan="1">5</td>
</tr>
<tr>
<td colspan="1">Volume Size</td>
<td colspan="3">Maximum volume size per
instance in gigabytes (GB) for your
account</td>
<td colspan="1">10</td>
<td colspan="1">25</td>
</tr>
</tbody>
</table>

View File

@ -34,7 +34,7 @@
xmlns:html="http://www.w3.org/1999/xhtml"
xml:id="cdb-getting-started"
class="specification">
<?rax status.bar.text="Early Access"?>
<?rax status.bar.text="Early Access"?>
<info>
<title>Getting Started with Rackspace Cloud Databases and
Servers</title>
@ -44,13 +44,30 @@
<holder>Rackspace US, Inc.</holder>
</copyright>
<releaseinfo>API v1.0 EAP</releaseinfo>
<pubdate>2012-07-02</pubdate>
<pubdate>2012-07-18</pubdate>
<legalnotice role="rs-api">
<annotation>
<remark>Copyright details are filled in by the template.</remark>
</annotation>
</legalnotice>
<revhistory>
<revision>
<date>2012-07-18</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>Updated for Auth 2.0 (refer to <xref
linkend="Generating_Auth_Token"
/>).</para>
</listitem>
<listitem>
<para>Removed section on configuring
routing for your existing Cloud Server
since it is no longer needed.</para>
</listitem>
</itemizedlist>
</revdescription>
</revision>
<revision>
<date>2012-07-02</date>
<revdescription>
@ -294,7 +311,7 @@
xmlns="http://docs.rackspace.com/identity/api/ext/RAX-KSKEY/v1.0"     
username="<emphasis role="bold">your_username</emphasis>"     
apiKey="<emphasis role="bold">your_api_key</emphasis>"/&gt;   
&lt;/auth&gt; <option>'</option> \
&lt;/auth&gt;<option>'</option> \
<uri>'https://identity.api.rackspacecloud.com/v2.0/tokens'</uri></screen>
</example>
<para>You can see that the lines that are part of the cURL
@ -373,9 +390,12 @@
>your_api_key</emphasis> &mdash; The key
is your API access key. The key can be
obtained from the Rackspace Cloud Control
Panel in the <guimenu>Your Account</guimenu> /
<guimenuitem>API Access</guimenuitem>
section.</para>
Panel in the <guimenu>&lt;Your
Account></guimenu> / <guimenuitem>API
Keys</guimenuitem> section (login here:
<link
xlink:href="http://mycloud.rackspace.com/"
>Control Panel Login</link>).</para>
</listitem>
</itemizedlist></para>
<para> To access the Authentication Service, you must know
@ -383,13 +403,13 @@
<itemizedlist spacing="compact">
<listitem>
<para> US-based accounts authenticate through <link
xlink:href="&ENDPOINT-US;"
>&ENDPOINT-US;</link>. </para>
xlink:href="&ENDPOINT-US-20;"
>&ENDPOINT-US-20;</link>. </para>
</listitem>
<listitem>
<para> UK-based accounts authenticate through <link
xlink:href="&ENDPOINT-UK;"
>&ENDPOINT-UK;</link>. </para>
xlink:href="&ENDPOINT-UK-20;"
>&ENDPOINT-UK-20;</link>. </para>
</listitem>
</itemizedlist>
<para> Your account may be based in either the US or the UK;
@ -416,197 +436,23 @@
<para>Notice that you authenticate using a special URL for
Cloud authentication services. For example, for US-based
accounts, you use
<code>https://identity.api.rackspacecloud.com/v1.1/auth</code>),
as shown in the following Authenticate Request
examples.</para>
<code>https://identity.api.rackspacecloud.com/v2.0/tokens</code>,
as shown in the following Authenticate Request examples.
Note that the <code>v2.0</code> component in the URL
indicates that you are using version 2.0 of the Cloud Auth
API.</para>
<example>
<title>cURL Authenticate Request: XML</title>
<?dbfo keep-together="always"?>
<screen language="bash"><command>curl</command> <option>-i</option> <option>-d</option> \
'&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;credentials xmlns="http://docs.rackspacecloud.com/auth/api/v1.1"
username="<emphasis role="bold">your_username</emphasis>"
key="<emphasis role="bold">your_api_key</emphasis>"/>' \
&lt;auth>
&lt;apiKeyCredentials
xmlns="http://docs.rackspace.com/identity/api/ext/RAX-KSKEY/v1.0"
username="<emphasis role="bold">your_username</emphasis>"
apiKey="<emphasis role="bold">your_api_key</emphasis>"/>' \
<option>-H 'Content-Type: application/xml'</option> \
<option>-H 'Accept: application/xml'</option> \
<uri>'https://identity.api.rackspacecloud.com/v1.1/auth'</uri></screen>
</example>
<example>
<title>cURL Authenticate Request: JSON</title>
<?dbfo keep-together="always"?>
<screen language="bash"><command>curl</command> <option>-i</option> <option>-d</option> \
'{
"credentials": {
"username": "<emphasis role="bold">your_username</emphasis>",
"key": "<emphasis role="bold">your_api_key</emphasis>"}
}' \
<option>-H 'Content-Type: application/json'</option> \
<uri>'https://identity.api.rackspacecloud.com/v1.1/auth'</uri></screen>
</example>
<note>
<para>For UK-based accounts, you would need to modify the
URL shown in the last line of each of the Authenticate
Request examples above to be
<code>'https://lon.identity.api.rackspacecloud.com/v1.1/auth'</code>
instead.</para>
</note>
<example>
<title>Authenticate Response: XML</title>
<programlisting language="xml"><xi:include href="../../src/resources/samples/db-auth.xml" parse="text"><xi:fallback>Missing code sample! <?rax fail?></xi:fallback></xi:include></programlisting>
</example>
<example>
<title>Authenticate Response: JSON</title>
<programlisting language="json"><xi:include href="../../src/resources/samples/db-auth.json" parse="text"><xi:fallback>Missing code sample! <?rax fail?></xi:fallback></xi:include></programlisting>
</example>
<para>The authentication token <code>id</code> is returned
along with an <code>expires</code> attribute that
specifies when the token expires. </para>
<note>
<title>Notes</title>
<itemizedlist spacing="compact">
<listitem>
<para>The information shown in the Authenticate
Response examples above is for US-based
accounts. If you authenticate against the
UK-endpoint for auth, you will see the service
catalog information for UK-based
accounts.</para>
</listitem>
<listitem>
<para>For all response examples in this guide, the
field values you receive in your responses
will vary from those shown here since they
will be specific to your account.</para>
</listitem>
<listitem>
<para>The <code>id</code> attribute in the
Authenticate Response specifies the
authentication token. Tokens are valid for a
finite duration.</para>
<para>Remember to supply your authentication token
wherever you see the field <emphasis
role="bold">your_auth_token</emphasis> in
the examples in this guide.</para>
</listitem>
<listitem>
<para> The <code>expires</code> attribute denotes
the time after which the token will
automatically become invalid. A token may be
manually revoked before the time identified by
the expires attribute; <code>expires</code>
predicts a token's maximum possible lifespan
but does not guarantee that it will reach that
lifespan. Clients are encouraged to cache a
token until it expires.</para>
</listitem>
<listitem>
<para>Applications should be designed to
re-authenticate after receiving a 401
(Unauthorized) response from a service
endpoint.</para>
</listitem>
</itemizedlist>
</note>
<para>The <code>publicURL</code> endpoints for
<code>cloudDatabases</code> (for example
<code>https://ord.databases.api.rackspacecloud.com/v1.0/1234</code>)
are also returned in the response. </para>
<para>You will find the actual account number after the final
'/' in the <code>publicURL</code> field. In this example,
you can see that the account number is 1234. You need to
specify your account number on most of the Cloud Databases
API calls, wherever you see the field <emphasis
role="bold">your_acct_id</emphasis> specified in the
examples in this guide.</para>
<para>After authentication, you can use cURL to perform &GET;,
&DELETE;, and &POST; requests for the Cloud Databases
API.</para>
</section>
<section xml:id="Generating_Auth_Token" security="writeronly">
<title>Generate an Authentication Token</title>
<para>You need to generate a token whether you use cURL or a
ReST client.</para>
<para>In order to use the ReST API, you will first need to
obtain an authentication token, which will need to be
passed in for each request using the
<code>X-Auth-Token</code> header. </para>
<para>The following example demonstrates how to use cURL to
obtain the authentication token and the account number.
You will need to supply the authentication token and
account number when making subsequent Cloud Databases API
calls.</para>
<para>Remember to replace the names in the Authenticate
Request examples below with their respective values:<itemizedlist spacing="compact">
<listitem>
<para><emphasis role="bold"
>your_username</emphasis> &mdash; The
username is your common Rackspace Cloud
username, as supplied during
registration.</para>
</listitem>
<listitem>
<para><emphasis role="bold"
>your_api_key</emphasis> &mdash; The key
is your API access key. The key can be
obtained from the Rackspace Cloud Control
Panel in the <guimenu>Your Account</guimenu> /
<guimenuitem>API Access</guimenuitem>
section.</para>
</listitem>
</itemizedlist></para>
<para> To access the Authentication Service, you must know
whether your account is US-based or UK-based: </para>
<itemizedlist spacing="compact">
<listitem>
<para> US-based accounts authenticate through <link
xlink:href="&ENDPOINT-US-20;"
>&ENDPOINT-US-20;</link>. </para>
</listitem>
<listitem>
<para> UK-based accounts authenticate through <link
xlink:href="&ENDPOINT-UK-20;"
>&ENDPOINT-UK-20;</link>. </para>
</listitem>
</itemizedlist>
<para> Your account may be based in either the US or the UK;
this is not determined by your physical location but by
the location of the Rackspace retail site which was used
to create your account: </para>
<itemizedlist spacing="compact">
<listitem>
<para> If your account was created via <link
xlink:href="http://www.rackspacecloud.com"
>http://www.rackspacecloud.com</link>, it is a
US-based account. </para>
</listitem>
<listitem>
<para> If your account was created via <link
xlink:href="http://www.rackspace.co.uk"
>http://www.rackspace.co.uk</link>, it is a
UK-based account. </para>
</listitem>
</itemizedlist>
<para> If you are unsure how your account was created, use the
Rackspace contact information at either site to ask for
help. </para>
<para>Notice that you authenticate using a special URL for
Cloud authentication services. For example, for US-based
accounts, you use
<code>https://identity.api.rackspacecloud.com/v2.0/tokens</code>,
as shown in the following Authenticate Request
examples.</para>
<example>
<title>cURL Authenticate Request: XML</title>
<?dbfo keep-together="always"?>
<screen language="bash"><command>curl</command> <option>-i</option> <option>-d</option> \
'&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;auth&gt;   
&lt;apiKeyCredentials     
xmlns="http://docs.rackspace.com/identity/api/ext/RAX-KSKEY/v1.0"     
username="<emphasis role="bold">your_username</emphasis>"     
apiKey="<emphasis role="bold">your_api_key</emphasis>"/&gt;   
&lt;/auth&gt;<option>'</option> \
<uri>'https://identity.api.rackspacecloud.com/v2.0/tokens'</uri></screen>
</example>
<example>
@ -614,18 +460,15 @@
<?dbfo keep-together="always"?>
<screen language="bash"><command>curl</command> <option>-i</option> <option>-d</option> \
'{
"auth":
"auth":
{
"RAX-KSKEY:apiKeyCredentials":
{
"username": "<emphasis role="bold">your_username</emphasis>",
"apiKey": "<emphasis role="bold">your_api_key</emphasis>"
}
}
}' \
"RAX-KSKEY:apiKeyCredentials":
{
"username": "<emphasis role="bold">your_username</emphasis>",
"apiKey": "<emphasis role="bold">your_api_key</emphasis>"}
}' \
<option>-H 'Content-Type: application/json'</option> \
<uri>'https://identity.api.rackspacecloud.com/v2.0/tokens'</uri></screen>
</example>
<note>
<para>For UK-based accounts, you would need to modify the
@ -636,11 +479,11 @@
</note>
<example>
<title>Authenticate Response: XML</title>
<programlisting language="xml"><xi:include href="../../src/resources/samples/db-auth.xml" parse="text"><xi:fallback>Missing code sample! <?rax fail?></xi:fallback></xi:include></programlisting>
<programlisting language="xml"><xi:include href="../../src/resources/samples/db-auth-20.xml" parse="text"><xi:fallback>Missing code sample! <?rax fail?></xi:fallback></xi:include></programlisting>
</example>
<example>
<title>Authenticate Response: JSON</title>
<programlisting language="json"><xi:include href="../../src/resources/samples/db-auth.json" parse="text"><xi:fallback>Missing code sample! <?rax fail?></xi:fallback></xi:include></programlisting>
<programlisting language="json"><xi:include href="../../src/resources/samples/db-auth-20.json" parse="text"><xi:fallback>Missing code sample! <?rax fail?></xi:fallback></xi:include></programlisting>
</example>
<para>The authentication token <code>id</code> is returned
along with an <code>expires</code> attribute that
@ -648,6 +491,12 @@
<note>
<title>Notes</title>
<itemizedlist spacing="compact">
<listitem>
<para>For all response examples in this guide, the
field values you receive in your responses
will vary from those shown here since they
will be specific to your account.</para>
</listitem>
<listitem>
<para>The information shown in the Authenticate
Response examples above is for US-based
@ -656,12 +505,6 @@
catalog information for UK-based
accounts.</para>
</listitem>
<listitem>
<para>For all response examples in this guide, the
field values you receive in your responses
will vary from those shown here since they
will be specific to your account.</para>
</listitem>
<listitem>
<para>The <code>id</code> attribute in the
Authenticate Response specifies the
@ -693,19 +536,18 @@
</note>
<para>The <code>publicURL</code> endpoints for
<code>cloudDatabases</code> (for example
<code>https://ord.databases.api.rackspacecloud.com/v1.0/1234</code>)
<code>https://ord.databases.api.rackspacecloud.com/v1.0/1100111</code>)
are also returned in the response. </para>
<para>You will find the actual account number after the final
'/' in the <code>publicURL</code> field. In this example,
you can see that the account number is 1234. You need to
specify your account number on most of the Cloud Databases
API calls, wherever you see the field <emphasis
you can see that the account number is 1100111. You need
to specify your account number on most of the Cloud
Databases API calls, wherever you see the field <emphasis
role="bold">your_acct_id</emphasis> specified in the
examples in this guide.</para>
<para>After authentication, you can use cURL to perform &GET;,
&DELETE;, and &POST; requests for the Cloud Databases
API.</para>
</section>
<section xml:id="Service_Access_Endpoints-d1e753">
<title>Service Access/Endpoints</title>
@ -1207,20 +1049,23 @@ Date: Thu, 05 Apr 2012 18:13:53 GMT
linkend="Configure_Cloud_Server_DB"/>.</para>
</note>
<para>Create a Cloud Server using the Cloud Servers section of
the Control Panel (login here: <link
xlink:href="https://manage.rackspacecloud.com/pages/Login.jsp;jsessionid=9AA14CFBD45D76A627F75FD95A854642.cp-n01"
the Cloud Control Panel (login here: <link
xlink:href="http://mycloud.rackspace.com/"
>Control Panel Login</link>).</para>
<procedure>
<title>To create a Cloud Server using the Control
<title>To create a Cloud Server using the Cloud Control
Panel:</title>
<step>
<para>Open the <guimenu>Hosting</guimenu> section,
then click <guimenuitem>Cloud
Servers</guimenuitem>.</para>
<para>Click <guimenuitem>Servers</guimenuitem> to view
the Cloud Servers page.</para>
</step>
<step>
<para>To create a new server, click <guibutton>Add
Server</guibutton>.</para>
<para> Using the <guimenu>Region</guimenu> drop-down
menu, select the appropriate region, depending on
whether you want to create a first generation
Cloud Server or a next generation Cloud Server.
(The type of Cloud Server does not matter for this
exercise.)</para>
</step>
<step>
<para> Select an image from a list of different
@ -1229,29 +1074,23 @@ Date: Thu, 05 Apr 2012 18:13:53 GMT
<para><inlinemediaobject>
<imageobject>
<imagedata
fileref="images/Choose_CS_Image.png"
fileref="images/Choose_CS_Image_CCP.png"
contentwidth="6in"/>
</imageobject>
</inlinemediaobject></para>
</step>
<step>
<para> Specify a name and select a size for your Cloud
Server, then click <guibutton>Create
<para> Specify the <guilabel>Server Name</guilabel>
and select a <guilabel>Size</guilabel> for your
Cloud Server, then click <guibutton>Create
Server</guibutton>. </para>
<para><inlinemediaobject>
<imageobject>
<imagedata
fileref="images/Create_CS.png"
contentwidth="6in"/>
</imageobject>
</inlinemediaobject></para>
</step>
</procedure>
<note>
<para>You can also create a Cloud Server using the Cloud
Servers API. Refer to the <link
xlink:href="http://docs.rackspace.com/">Cloud
Servers API Developer Guide</link> for
xlink:href="http://docs.rackspace.com/">Next Generation Cloud
Servers Developer Guide</link> for
details.</para>
</note>
</section>
@ -1267,72 +1106,6 @@ Date: Thu, 05 Apr 2012 18:13:53 GMT
examples for the user name and password you
specified.</para>
</section>
<section xml:id="Configure_Cloud_Server_Routing">
<title>Configuring Routing for Your Existing Cloud
Server</title>
<para>Attempt to access your database instances. If you can
access your database instances, then skip the remainder of
this section and go directly to <xref
linkend="MySQL_GUI_Admin"/>, since the routing for
your Cloud Server does not need to be configured.</para>
<para>Otherwise, if you cannot access your database instances,
you need to modify routes on your existing Cloud Server
instances. Refer to the appropriate procedure below,
depending on your environment, to create the routing
instructions.</para>
<procedure>
<title>To create routing instructions on a Debian-based
Cloud Server distribution (Ubuntu):</title>
<step>
<para> Edit the file
<filename>/etc/network/interfaces</filename>
and change the following lines from:</para>
<para><code>up route add -net 10.176.0.0 netmask
255.248.0.0 gw {instance
specific}</code></para>
<para><code>down route del -net 10.176.0.0 netmask
255.248.0.0 gw {instance
specific}</code></para>
<para>to:</para>
<para><code>up route add -net 10.176.0.0 netmask
255.240.0.0 gw {instance
specific}</code></para>
<para><code>down route del -net 10.176.0.0 netmask
255.240.0.0 gw {instance
specific}</code></para>
<note>
<para>Replace <code>{instance specific}</code>
with whatever is currently in the file.</para>
</note>
</step>
<step>
<para> Reboot your Cloud Server so that the updated
routing information takes effect. </para>
</step>
</procedure>
<procedure>
<title>To create routing instructions on a Redhat-based
Cloud Server distribution (Redhat, CentOS):</title>
<step>
<para> Edit the file
<filename>/etc/sysconfig/static-routes</filename>
and change the following line from:</para>
<para><code>any net 10.176.0.0 netmask 255.248.0.0 gw
{instance specific}</code></para>
<para>to:</para>
<para><code>any net 10.176.0.0 netmask 255.240.0.0 gw
{instance specific}</code></para>
<note>
<para>Replace <code>{instance specific}</code>
with whatever is currently in the file.</para>
</note>
</step>
<step>
<para> Reboot your Cloud Server so that the updated
routing information takes effect. </para>
</step>
</procedure>
</section>
<section xml:id="MySQL_GUI_Admin">
<title>MySQL GUI Administration</title>
<para> If you want to access your database using the command

View File

@ -58,7 +58,7 @@
</copyright>
<releaseinfo>API v1.0 EAP</releaseinfo>
<productname>Rackspace Cloud Databases</productname>
<pubdate>2012-07-02</pubdate>
<pubdate>2012-07-18</pubdate>
<legalnotice role="rs-api">
<annotation>
<remark>Copyright details are filled in by the template.</remark>
@ -74,12 +74,12 @@
<revhistory>
<revision>
<date>2012-07-xx</date>
<date>2012-07-18</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>Updated syntax highlighting for all
examples.</para>
<para>Initial Unlimited Access (UA)
release.</para>
</listitem>
</itemizedlist>
</revdescription>

View File

@ -26,7 +26,7 @@
</copyright>
<releaseinfo>API v1.0 EAP</releaseinfo>
<productname>Rackspace Cloud Databases</productname>
<pubdate>2012-07-02</pubdate>
<pubdate>2012-07-18</pubdate>
<legalnotice role="rs-api">
<annotation>
<remark>Copyright details are filled in by the template.</remark>
@ -39,6 +39,24 @@
Interface (<abbrev>API</abbrev>). </para>
</abstract>
<revhistory>
<revision>
<date>2012-07-18</date>
<revdescription>
<para 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"
>Updated for v1.0.5.</para>
</revdescription>
</revision>
<revision>
<date>2012-07-12</date>
<revdescription>
<para 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"
>Updated for v1.0.4.</para>
</revdescription>
</revision>
<revision>
<date>2012-07-02</date>
<revdescription>
@ -46,7 +64,7 @@
xmlns:m="http://www.w3.org/1998/Math/MathML"
xmlns:html="http://www.w3.org/1999/xhtml">This
document lists the contract breaking changes
for v1.0.2.</para>
for v1.0.3.</para>
</revdescription>
</revision>
<revision>
@ -63,13 +81,62 @@
</info>
<chapter xml:id="doc_change_history">
<title>Document Change History</title>
<para>This version of the Developer Guide replaces and obsoletes all
<para>This version of the Release Notes replaces and obsoletes all
previous versions. The most recent changes are described
in the table below:</para>
<?rax revhistory?>
</chapter>
<chapter xml:id="cdbv1.0.2">
<title>v1.0.2, July 2, 2012 </title>
<chapter xml:id="cdbv1.0.5" security="internal">
<title>v1.0.5, July 18, 2012 </title>
<itemizedlist spacing="compact">
<title>Resolved Issues</title>
<listitem>
<para>ERROR instances can now be deleted.</para>
</listitem>
<listitem>
<para>Password check bug was fixed for ignore users (root,
os_admin).</para>
</listitem>
<listitem>
<para>Update to the client to list mgmt instances (from the last
release).</para>
</listitem>
<listitem>
<para>Sneaky is no longer staying in the build forever.</para>
</listitem>
</itemizedlist>
</chapter>
<chapter xml:id="cdbv1.0.4" security="internal">
<title>v1.0.4, July 12, 2012 </title>
<itemizedlist spacing="compact">
<title>Resolved Issues</title>
<listitem>
<para>Better support to handle errors when calling
nova to create servers</para>
</listitem>
<listitem>
<para>Usage initial deployment</para>
</listitem>
<listitem>
<para>Mgmt fixing default dict bugs</para>
</listitem>
<listitem>
<para>Mgmt xml serialization for accounts</para>
</listitem>
<listitem>
<para>Mgmt reboot instances</para>
</listitem>
<listitem>
<para>Mgmt instance bugfix when nova instance doesnt
exist</para>
</listitem>
<listitem>
<para>Mgmt list accounts non deleted instances</para>
</listitem>
</itemizedlist>
</chapter>
<chapter xml:id="cdbv1.0.3">
<title>v1.0.3, July 2, 2012 </title>
<para>As expected during Early Access, our API contract is not yet
complete. Please be advised that we are introducing
contract breaking changes, as described below, in this

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

View File

@ -0,0 +1,128 @@
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 477
Date: Thu, 12 Apr 2012 18:45:13 GMT
{
"access": {
"token": {
"expires": "2011-12-08T22:51:02.000-06:00",
"id": "vvvvvvvv-wwww-xxxx-yyyy-zzzzzzzzzzzz"
},
"user": {
"id": "123456",
"name": "jsmith",
"roles": [
{
"description": "Admin Role.",
"id": "identity:admin",
"name": "identity:admin"
},
{
"description": "Default Role.",
"id": "identity:default",
"name": "identity:default"
}
]
},
"serviceCatalog": [
{
"endpoints": [
{
"publicURL": "https://ord.databases.api.rackspacecloud.com/v1.0/1100111",
"region": "ORD",
"tenantId": "1100111"
},
{
"publicURL": "https://dfw.databases.api.rackspacecloud.com/v1.0/1100111",
"region": "DFW",
"tenantId": "1100111"
}
],
"name": "cloudDatabases",
"type": "rax:database"
},
{
"endpoints": [
{
"publicURL": "https://dfw.loadbalancers.api.rackspacecloud.com/v1.0/1100111",
"region": "DFW",
"tenantId": "1100111"
},
{
"publicURL": "https://ord.loadbalancers.api.rackspacecloud.com/v1.0/1100111",
"region": "ORD",
"tenantId": "1100111"
}
],
"name": "cloudLoadBalancers",
"type": "rax:load-balancer"
},
{
"endpoints": [
{
"tenantId": "1100111",
"publicURL": "https://servers.api.rackspacecloud.com/v1.0/1100111",
"versionId": "1.0",
"versionInfo": "https://servers.api.rackspacecloud.com/v1.0/",
"versionList": "https://servers.api.rackspacecloud.com/"
}
],
"name": "cloudServersOpenStack",
"type": "compute"
},
{
"endpoints": [
{
"tenantId": "1100111",
"publicURL": "https://servers.api.rackspacecloud.com/v1.0/1100111",
"versionId": "1.0",
"versionInfo": "https://servers.api.rackspacecloud.com/v1.0/",
"versionList": "https://servers.api.rackspacecloud.com/"
}
],
"name": "cloudServers",
"type": "compute"
},
{
"endpoints": [
{
"tenantId": "MossoCloudFS_aaaaaaaa-bbbb-cccc-dddd-eeeeeeee",
"publicURL": "https://storage101.ord1.clouddrive.com/v1/MossoCloudFS_aaaaaaaa-bbbb-cccc-dddd-eeeeeeee",
"internalURL": "https://snet-storage101.ord1.clouddrive.com/v1/MossoCloudFS_aaaaaaaa-bbbb-cccc-dddd-eeeeeeee",
"region": "ORD",
"versionId": "1",
"versionInfo": "https://cdn2.clouddrive.com/v1/",
"versionList": "https://cdn2.clouddrive.com/"
}
],
"name": "cloudFiles",
"type": "object-store"
},
{
"endpoints": [
{
"tenantId": "MossoCloudFS_aaaaaaaa-bbbb-cccc-dddd-eeeeeeee",
"publicURL": "https://cdn2.clouddrive.com/v1/MossoCloudFS_aaaaaaaa-bbbb-cccc-dddd-eeeeeeee",
"region": "ORD"
}
],
"name": "cloudFilesCDN",
"type": "rax:object-cdn"
},
{
"endpoints": [
{
"tenantId": "1100111",
"publicURL": "https://dns.api.rackspacecloud.com/v1.0/1100111"
}
],
"name": "cloudDNS",
"type": "rax:dns"
}
]
}
}

View File

@ -0,0 +1,63 @@
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 477
Date: Thu, 12 Apr 2012 18:50:20 GMT
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<access xmlns="http://docs.openstack.org/identity/api/v2.0"
xmlns:ns2="http://docs.rackspace.com/identity/api/ext/RAX-KSKEY/v1.0"
xmlns:ns3="http://docs.rackspace.com/identity/api/ext/RAX-KSGRP/v1.0"
xmlns:ns4="http://docs.openstack.org/common/api/v1.0"
xmlns:ns5="http://www.w3.org/2005/Atom">
<token id="vvvvvvvv-wwww-xxxx-yyyy-zzzzzzzzzzzz" expires="2011-12-08T22:51:02.000-06:00"/>
<user id="123456" name="jsmith">
<roles>
<role id="identity:admin" name="identity:admin" description="Admin Role."/>
<role id="identity:default" name="identity:default" description="Default Role."/>
</roles>
</user>
<serviceCatalog>
<service type="rax:database" name="cloudDatabases">
<endpoint region="ORD" tenantId="1100111" publicURL="https://ord.databases.api.rackspacecloud.com/v1.0/1100111"/>
<endpoint region="DFW" tenantId="1100111" publicURL="https://dfw.databases.api.rackspacecloud.com/v1.0/1100111"/>
</service>
<service type="rax:load-balancer" name="cloudLoadBalancers">
<endpoint region="ORD" tenantId="1100111" publicURL="https://ord.loadbalancers.api.rackspacecloud.com/v1.0/1100111"/>
<endpoint region="DFW" tenantId="1100111" publicURL="https://dfw.loadbalancers.api.rackspacecloud.com/v1.0/1100111"/>
</service>
<service type="compute" name="cloudServersOpenStack">
<endpoint region="DFW" tenantId="1100111"
publicURL="https://dfw.servers.api.rackspacecloud.com/v2/1100111">
<version id="2" info="https://dfw.servers.api.rackspacecloud.com/v2/"
list="https://dfw.servers.api.rackspacecloud.com/" />
</endpoint>
</service>
<service type="compute" name="cloudServers">
<endpoint tenantId="1100111"
publicURL="https://servers.api.rackspacecloud.com/v1.0/1100111">
<version id="1.0"
info="https://servers.api.rackspacecloud.com/v1.0/"
list="https://servers.api.rackspacecloud.com/"/>
</endpoint>
</service>
<service type="object-store" name="cloudFiles">
<endpoint region="ORD"
tenantId="MossoCloudFS_aaaaaaaa-bbbb-cccc-dddd-eeeeeeee"
publicURL="https://storage101.ord1.clouddrive.com/v1/MossoCloudFS_aaaaaaaa-bbbb-cccc-dddd-eeeeeeee"
internalURL="https://snet-storage101.ord1.clouddrive.com/v1/MossoCloudFS_aaaaaaaa-bbbb-cccc-dddd-eeeeeeee"/>
</service>
<service type="rax:object-cdn" name="cloudFilesCDN">
<endpoint region="ORD"
tenantId="MossoCloudFS_aaaaaaaa-bbbb-cccc-dddd-eeeeeeee"
publicURL="https://cdn2.clouddrive.com/v1/MossoCloudFS_aaaaaaaa-bbbb-cccc-dddd-eeeeeeee">
<version id="1"
info="https://cdn2.clouddrive.com/v1/"
list="https://cdn2.clouddrive.com/"/>
</endpoint>
</service>
<service type="rax:dns" name="cloudDNS">
<endpoint tenantId="1100111"
publicURL="https://dns.api.rackspacecloud.com/v1.0/1100111"/>
</service>
</serviceCatalog>
</access>

View File

@ -10,8 +10,8 @@ Content-Length: 54
{
"RAX-KSKEY:apiKeyCredentials":
{
"username": "hub_cap",
"apiKey": "a86850deb2742ec3cb41518e26aa2d89"
"username": "jsmith",
"apiKey": "aaaaa-bbbbb-ccccc-12345678"
}
}
}

View File

@ -9,6 +9,6 @@ Content-Length: 88
<auth>
<apiKeyCredentials
xmlns="http://docs.rackspace.com/identity/api/ext/RAX-KSKEY/v1.0"
username="hub_cap"
apiKey="a86850deb2742ec3cb41518e26aa2d89"/>
username="jsmith"
apiKey="aaaaa-bbbbb-ccccc-12345678"/>
</auth>