Adding docbook-based docs

* Adding and Updating examples
* Adding docs for two-step create
* Additional updates after tech review
* Updating CR for Constance to help with the review - JMV
* Updating API endpoints - JMV
* Fixing WADL create order & secret methods to a POST - JMV

Change-Id: I0a06c4f7058ba801a9a09e952c5a143189922b9b
This commit is contained in:
Constanze Kratel 2014-03-27 12:19:30 -05:00 committed by John Vrbanac
parent 10fae57c1c
commit 296a36fa30
64 changed files with 1889 additions and 2376 deletions

View File

@ -45,8 +45,7 @@
<configuration>
<enableDisqus>intranet</enableDisqus>
<feedbackEmail>constanze.kratel@RACKSPACE.COM</feedbackEmail>
<branding>rackspace</branding>
<builtForOpenStack>1</builtForOpenStack>
<branding>builtforOpenStack</branding>
<showXslMessages>true</showXslMessages>
</configuration>
</plugin>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 KiB

View File

@ -1,17 +1,8 @@
POST /v2.0/tokens HTTP/1.1
User-Agent: curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.15 libssh2/1.2.6
Host: identity.api.rackspacecloud.com
Accept: application/json
Content-Type: application/json
Content-Length: 54
{
"auth":
{
"RAX-KSKEY:apiKeyCredentials":
{
"username": "jsmith",
"apiKey": "aaaaabbbbbccccc12345678"
}
}
}
curl -i 'http://endpointURL/v2.0/tokens' -X 'POST' \
-d '{"auth":{"tenantName": "admin",
"passwordCredentials:
{"username":"admin",
"password":"devstack"}}}' \
-H "Accept: application/json"
-H "Content-Type:
application/json" | python -m json.tool

View File

@ -1,12 +1,13 @@
curl -X POST -d \
curl -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' -d \
'{
"secret":
{
"name": "secretname",
"algorithm": "aes",
"bit_length": 256,
"mode": "cbc",
"payload_content_type": "application/octet-stream"
}
{
"mode": "cbc",
"bit_length": 256,
"name": "secretname",
"algorithm": "aes",
"payload_content_type": "application/octet-stream"
}
}
}'\
http://localhost:9311/v1/12345/orders
https://endpointURL/v1/tenantID/orders

View File

@ -1,6 +1,12 @@
curl -X POST -d \
'{
"payload": "my-secret-here",
"payload_content_type": "text/plain"
}'\
http://localhost:9311/v1/12345/secrets
curl -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' -d\
'{
"name": "AES key",
"expiration": "2014-02-28T19:14:44.180394",
"algorithm": "aes",
"bit_length": 256,
"mode": "cbc",
"payload": "gF6+lLoF3ohA9aPRpt+6bQ==",
"payload_content_type": "application/octet-stream",
"payload_content_encoding": "base64"
}'\
https://endpointURL/v1/tenantID/secrets

View File

@ -0,0 +1,7 @@
{
"name": "AES key",
"expiration": "2014-02-28T19:14:44.180394",
"algorithm": "aes",
"bit_length": 256,
"mode": "cbc"
}

View File

@ -0,0 +1,7 @@
curl -X PUT -H 'Content-Type: application/json' -H 'Accept: application/json' -d\
'{
"payload": "this is my secret",
"payload_content_type": "application/octet-stream",
"payload_content_encoding": "base64"
}'\
https://endpointURL/v1/tenantID/secrets/secretID

View File

@ -1,2 +1,2 @@
$ curl -H "Accept: application/json" -H "X-Auth-Token: 39a8b7f62dcb4095a74a4e65a68c85d8" \
http://iad-int-api.cloudkeep.io:9311
http://<endpointURL>:9311

View File

@ -7,141 +7,14 @@ Date: Thu, 8 Aug 2013 18:45:13 GMT
"access": {
"token": {
"expires": "2013-08-09T22:51:02.000-06:00",
"id": "vvvvvvvv-wwww-xxxx-yyyy-zzzzzzzzzzzz"
},
"user": {
"id": "123456",
"name": "jsmith",
"RAX-AUTH:defaultRegion": "DFW",
"roles": [
{
"description": "Admin Role.",
"id": "identity:admin",
"name": "identity:admin"
},
{
"description": "Default Role.",
"id": "identity:default",
"name": "identity:default"
}
]
},
"serviceCatalog": [
{
"endpoints": [
{
"publicURL": "https://dfw.databases.api.rackspacecloud.com/v1.0/1100111",
"region": "DFW",
"tenantId": "1100111"
},
{
"publicURL": "https://ord.databases.api.rackspacecloud.com/v1.0/1100111",
"region": "ORD",
"tenantId": "1100111"
"issued_at":"2013-11-06T20:06:24.113908",
"expires":"2013-11-07T20:06:24Z",
"id":"{token}",
"tenant":{
"description":null,
"enabled":true,
"id":"604bbe45ac7143a79e14f3158df67091",
"name":"admin"
}
],
"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",
"region": "DFW",
"publicURL": "https://dfw.servers.api.rackspacecloud.com/v2/1100111",
"versionId": "2",
"versionInfo": "https://dfw.servers.api.rackspacecloud.com/v2/",
"versionList": "https://dfw.servers.api.rackspacecloud.com/"
},
{
"tenantId": "1100111",
"region": "ORD",
"publicURL": "https://ord.servers.api.rackspacecloud.com/v2/1100111",
"versionId": "2",
"versionInfo": "https://ord.servers.api.rackspacecloud.com/v2/",
"versionList": "https://ord.servers.api.rackspacecloud.com/"
}
],
"name": "cloudServersOpenStack",
"type": "compute"
},
{
"endpoints": [
{
"publicURL": "https://monitoring.api.rackspacecloud.com/v1.0/1100111",
"tenantId": "1100111"
}
],
"name": "cloudMonitoring",
"type": "rax:monitor"
},
{
"endpoints": [
{
"publicURL": "https://dfw.autoscale.api.rackspacecloud.com/v1.0/1100111",
"region": "DFW",
"tenantId": "1100111",
"versionId": "1.0",
"versionInfo": null,
"versionList": null
},
{
"publicURL": "https://ord.autoscale.api.rackspacecloud.com/v1.0/1100111",
"region": "ORD",
"tenantId": "1100111",
"versionId": "1.0",
"versionInfo": null,
"versionList": null
}
],
"name": "autoscale",
"type": "rax:autoscale"
},
{
"endpoints": [
{
"tenantId": "MossoCloudFS_aaaaaaaa-bbbb-cccc-dddd-eeeeeeee",
"publicURL": "https://storage101.dfw1.clouddrive.com/v1/MossoCloudFS_aaaaaaaa-bbbb-cccc-dddd-eeeeeeee",
"internalURL": "https://snet-storage101.dfw1.clouddrive.com/v1/MossoCloudFS_aaaaaaaa-bbbb-cccc-dddd-eeeeeeee",
"region": "DFW"
},
{
"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"
}
],
"name": "cloudFiles",
"type": "object-store"
},
{
"endpoints": [
{
"tenantId": "1100111",
"publicURL": "https://dns.api.rackspacecloud.com/v1.0/1100111"
}
],
"name": "cloudDNS",
"type": "rax:dns"
}
]
}
}
},
}

View File

@ -1,13 +1,15 @@
{
"status": "ACTIVE",
"secret_ref": "http://localhost:9311/v1/12345/secrets/2df8d196-76b6-4f89-a6d2-c9e764900791",
"updated": "2013-11-04T16:39:13.608659",
"created": "2013-11-04T16:39:13.574489",
"secret": {"name": "secretname",
"algorithm": "aes",
"payload_content_type": "application/octet-stream",
"expiration": null,
"bit_length": 256,
"mode": "cbc"
},
"order_ref": "http://localhost:9311/v1/12345/orders/62d57f53-ecfe-4ae4-87bd-fab2f24e29bc"}
"status": "ACTIVE",
"secret_ref": "http://endpointURL/v1/123456/secrets/6c3ccd7d-46b6-4ece-9a58-a1be26b2758a",
"updated": "2014-04-28T15:14:39.025761",
"created": "2014-04-28T15:14:38.947844",
"secret": {
"name": "secretname",
"algorithm": "aes",
"payload_content_type": "application/octet-stream",
"expiration": null,
"bit_length": 256,
"mode": "cbc"
},
"order_ref": "https://endpointURL/v1/123456/orders/4a20549c-b418-4548-b2d1-33016d88822d"
}

View File

@ -1,12 +1,12 @@
{
"status": "ACTIVE",
"secret_ref": "http://localhost:9311/v1/12345/secrets/2df8d196-76b6-4f89-a6d2-c9e764900791",
"updated": "2013-11-04T16:39:13.593962",
"name": "secretname",
"algorithm": "aes",
"created": "2013-11-04T16:39:13.593956",
"content_types": {"default": "application/octet-stream"},
"mode": "cbc",
"bit_length": 256,
"expiration": null
"status": "ACTIVE",
"secret_ref": "https://endpointURL/v1/tenantID/secrets/2df8d196-76b6-4f89-a6d2-c9e764900791",
"updated": "2013-11-04T16:39:13.593962",
"name": "secretname",
"algorithm": "aes",
"created": "2013-11-04T16:39:13.593956",
"content_types": {"default": "application/octet-stream"},
"mode": "cbc",
"bit_length": 256,
"expiration": null
}

View File

@ -1,94 +1,75 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- (C) 2012 OpenStack LLC., All Rights Reserved -->
<!DOCTYPE application [
<!ENTITY % common SYSTEM "../common/common.ent">
%common;
]>
<application xmlns="http://wadl.dev.java.net/2009/02"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:dbaas="http://docs.openstack.org/database/api/v1.0"
xmlns:db="http://docbook.org/ns/docbook">
<!--*******************************************************-->
<!-- All Resources -->
<!--*******************************************************-->
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:dbaas="http://docs.openstack.org/database/api/v1.0"
xmlns:db="http://docbook.org/ns/docbook">
<!--*******************************************************-->
<!-- All Resources -->
<!--*******************************************************-->
<resources base="https://ord.secrets.api.rackspacecloud.com/">
<resource id="version" path="{version}">
<resource id="tenantid" path="/{tenantId}">
<param name="tenantId" type="xsd:string" required="true" style="template">
<doc>A subscriber to the Barbican service</doc>
<param name="tenantId" type="xsd:string"
required="true" style="template">
<doc>This parameter specifies the tenant ID of the client
subscribing to the Barbican service</doc>
</param>
<!-- SECRETS resource -->
<?rax start-sections?>
<resource id="secrets" path="/secrets">
<doc title="Secrets"/>
<method href="#getSecrets"/>
<method href="#createSecret" />
<resource id="secret" path="{secret_id}">
<param name="secret_id" style="template" type="xsd:string">
<doc>A secret</doc></param>
<method href="#getSecretinfo"/>
<method href="#deleteSecret"/>
<method href="#updateSecret" />
<!-- SECRETS resource -->
<?rax start-sections?>
<resource id="secrets" path="/secrets">
<doc title="Secrets"/>
<method href="#getSecrets"/>
<method href="#createSecret"/>
<resource id="secret" path="/{secret_id}">
<param name="secret_id" style="template"
type="xsd:string">
<doc>This parameter specifies the unique identifier of a secret that has been stored.</doc>
</param>
<method href="#getSecretinfo"/>
<method href="#updateSecret"/>
</resource>
</resource>
<!-- ORDERS resource -->
<resource id="orders" path="/orders">
<doc title="Orders"/>
<method href="#getOrders"/>
<method href="#createOrder"/>
<resource id="order" path="/{order_id}">
<param name="orderid" style="template"
type="xsd:string">
<doc>Specifies the unique identifier of an order that has been created.</doc>
</param>
<method href="#getOrderInfo"/>
<method href="#updateOrder"
db:security="writeronly"/>
</resource>
</resource>
</resource>
<!-- ORDERS resource -->
<resource id="orders" path="/orders">
<doc title="Orders"/>
<method href="#getOrders"/>
<method href="#createOrder" />
<resource id="order" path="{order_id}">
<param name="orderid" style="template" type="xsd:string">
<doc>An order</doc></param>
<method href="#getOrderInfo"/>
<method href="#deleteOrder"/>
<method href="#updateOrder" db:security="writeronly"/>
</resource>
</resource>
</resource>
</resource>
</resources>
<!--*******************************************************-->
<!-- Secrets Methods -->
<!--*******************************************************-->
<!--*******************************************************-->
<!-- Get Secrets: getSecrets -->
<!--*******************************************************-->
</resources>
<!--*******************************************************-->
<!-- Secrets Methods -->
<!--*******************************************************-->
<!--*******************************************************-->
<!-- Get Secrets: getSecrets -->
<!--*******************************************************-->
<method name="GET" id="getSecrets">
<wadl:doc xml:lang="EN" title="Get Secrets" xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">This method retrieves all secrets.</para>
<para>This method lists all the secrets for a tenant. Calling this method does not provide information for an indiviual secret.</para>
<wadl:doc xml:lang="EN" title="Get Secrets"
xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">This method retrieves all secrets for a given tenant.</para>
<para>This method lists all the secrets for a tenant.</para>
</wadl:doc>
<request>
<representation mediaType="application/json">
@ -97,265 +78,268 @@
</doc>
</representation>
</request>
<response status="200">
<doc title="Error">This status code is returned when the secrets have been successfully retrieved for the tenant. </doc>
<representation mediaType="application/json" >
<response status="200">
<doc title="Error">This status code is returned when the
secrets have been successfully retrieved for the
tenant. </doc>
<representation mediaType="application/json">
<doc>
<xsdxt:code href="../wadl/samples/resgetSecrets.json"/>
</doc>
</representation>
</response>
</method>
<!--*******************************************************-->
<!-- Create Secret: createSecret -->
<!--*******************************************************-->
<method name="PUT" id="createSecret">
<wadl:doc xml:lang="EN" title="Create Secret" xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">This method creates a secret.</para>
<para>This method creates a new secret.</para>
<para>Note: Making a POST request creates metadata for a secret. If the payload is provided with the POST request, it is encrypted and stored, and then linked with this metadata. If no payload is provided in the POST request, you need to make a subsequent PUT request and provide the payload. Clients must provide the secret information either via the PUT or POST request. Please note that this process differs from creating a secret by using the orders resource, whereby Barbican generates the actual secret information.</para>
</wadl:doc>
<request>
<param name="name" style="query" type="xsd:string" required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
Specifies the human readable name for the secret.
This parameter is optional. If no name is
supplied, the UUID will be displayed for this
parameter on subsequent GET calls. </wadl:doc>
</param>
<param name="expiration" style="query" type="xsd:integer" required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
Specifies the expiration date for the secret in
ISO-8601 format. ISO-8601 formats dates by using
the following representation:
<!--*******************************************************-->
<!-- Create Secret: createSecret -->
<!--*******************************************************-->
<method name="POST" id="createSecret">
<wadl:doc xml:lang="EN" title="Create Secret"
xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">This method stores a secret.</para>
<para>This method stores a secret.</para>
<para>Note: The POST request creates and stores secret metadata. If the payload is provided with the POST request, it is encrypted and stored, and then linked with this metadata. If no payload is provided in the POST request, it must be provided in a subsequent PUT request. Using the secrets resource to store a secret differs from creating a secret by using the orders resource. When you make a POST requests using the orders resource, Barbican generates the actual secret information.</para>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xml:lang="en">
<xsdxt:code href="../wadl/samples/reqCreateSecret.json"/>
</wadl:doc>
<param name="name"
style="plain"
type="string"
path="$.name"
required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"> Specifies the human readable name
for the secret. This parameter is optional. If no
name is supplied, the UUID will be displayed for
this parameter on subsequent GET calls.
</wadl:doc>
</param>
<param name="expiration" style="plain" type="integer"
required="false"
path="$.expiration">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"> Specifies the expiration date for
the secret in ISO-8601 format. ISO-8601 formats
dates by using the following representation:
yyyy-mm-ddThh:mm:ss[.mmm]. For example, September
27, 2012 is represented as 2012-09-27. Once the
secret has expired, it will no longer be returned
by the API or agent. This parameter is optinal. If
this parameter is not supplied, the secret has no
expiration date. </wadl:doc>
</param>
<param name="algorithm" style="query" type="xsd:string" required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
Specifies the algorithm type used to generate the secret. This parameter is optional.
</wadl:doc>
</param>
<param name="bit_length" style="query" type="xsd:integer" required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
Specifies the bit length of the secret. Must be a positive integer. This parameter is optional.
</wadl:doc>
</param>
<param name="mode" style="query" type="xsd:string" required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
Specifies the type/mode of the algorithm associated with the secret information. This parameter is optional.
</wadl:doc>
</param>
<param name="payload" style="query" type="xsd:string" required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
Specifies the secret's unencrypted plain text. If
provided, this parameter's value must be
non-empty, and you must also provide the
payload_content_type. This field can be omitted
allowing for the secret information to be provided
via a subsequent PUT request. If the payload is
not provided, only the secret metadata will be
secret has expired, it is no longer returned
by the API or agent. This parameter is optional.
If this parameter is not supplied, the secret has
no expiration date. </wadl:doc>
</param>
<param name="algorithm" style="plain" type="string"
required="false" path="$.algorithm">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"> Specifies the algorithm type used
to generate the secret. This parameter is
optional. Barbican does not validate the information provided for this parameter because it is client/application specific.</wadl:doc>
</param>
<param name="bit_length" style="plain" type="integer"
required="false" path="$.bit_length">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"> Specifies the bit length of the
secret. Must be a positive integer. This parameter
is optional. Barbican does not validate the information provided for this parameter because it is client/application specific. </wadl:doc>
</param>
<param name="mode" style="plain" type="string"
required="false" path="$.mode">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"> Specifies the type/mode of the
algorithm associated with the secret information.
This parameter is optional. Barbican does not validate the information provided for this parameter because it is client/application specific. </wadl:doc>
</param>
<param name="payload" style="plain" type="string"
required="false" path="$.payload">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"> Specifies the secret's unencrypted
plain text. If this parameter is specified, the
payload_content_type parameter must be specified
as well. If this parameter is not specified, you
can provide the payload information via a
subsequent PUT request. If the payload is not
provided, only the secret metadata will be
retrievable from Barbican and any attempt to
retrieve decrypted data for that secret will fail.
Defering the secret information to a PUT request
is useful for secrets that are in binary format
and are not suitable for base64 encoding. </wadl:doc>
</param>
<param name="payload_content_type" style="query" type="xsd:string" required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
and are not suitable for base64 encoding.
</wadl:doc>
</param>
<param name="payload_content_type" style="plain"
type="string" required="false" path="$.payload_content_type">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<para>Specifies the type/format the secret data is provided in. This parameter is required if the payload parameter is specified.
The following values are supported:</para>
<para>- "text/plain" - This value is used to store plain text secrets.</para>
<para>Other options are "text/plain; charset=utf-8".
If the charset value is omitted, utf-8 will be assumed. Note
If the charset value is omitted, UTF-8 will be assumed. Note
that Barbican normalizes some formats before storing them
as secret metadata, for example
"text/plain; charset=utf-8" is converted to "text/plain." Retrieved metadata may not exactly match what was originally
specified in the POST or PUT request.
When the payload_content_type parameter is set to "text/plain" you cannot specify a value for the payload_content_encoding parameter..</para>
When the payload_content_type parameter is set to "text/plain" you cannot specify a value for the payload_content_encoding parameter.</para>
<para>- "application/octet-stream" - This value is used to store binary
secrets from a base64 encoded payload. If this
value is used, you must also include the payload_content_encoding parameter.</para> </wadl:doc>
</param>
<param name="payload_content_encoding" style="query" type="xsd:string" required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
Specifies the encoding format used to provide the
payload data. Barbican might translate and store
the secret data into another format. This
parameter is required if the payload_content_type
parameter is set to "application/octet-stream."
The only possible value for this parameter is
"base64," which specifies base64 encoded payloads. </wadl:doc>
</param>
<representation mediaType="application/json" >
<doc>
<xsdxt:code href="../wadl/samples/reqCreateSecret.json"/>
</doc>
</representation>
</request>
<response status="201">
<doc title="Success">This status code is returned when the secret has been successfully created.</doc>
<representation mediaType="application/json" >
<doc>
<xsdxt:code href="../wadl/samples/resCreateSecret.json"/>
</doc>
</representation>
</response>
<response status="400">
<doc title="Error">This error code is returned if the secret has invalid data. This response may include schema violations
such as mime-type not specified. </doc>
value is used, you must also include the payload_content_encoding parameter.</para>
</wadl:doc>
</param>
<param name="payload_content_encoding" style="plain"
type="xsd:string" required="false" path="$.payload_content_encoding">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"> Specifies the encoding format used
to provide the payload data. Barbican may
translate and store the secret data into another
format. This parameter is required if the
payload_content_type parameter is set to
"application/octet-stream." The only supported
value for this parameter is "base64," which
specifies base64-encoded payloads. </wadl:doc>
</param>
</representation>
</request>
<response status="201">
<doc title="Success">This status code is returned when the
secret has been successfully created.</doc>
<representation mediaType="application/json">
<doc>
<xsdxt:code href="../wadl/samples/resCreateSecret.json"/>
</doc>
</representation>
</response>
<response status="400">
<doc title="Error">This error code is returned if the "payload" parameter is empty. This response indicates that the 'payload' JSON attribute was provided, but no value was assigned to it.</doc>
<doc title="Error">This error code is returned if the
secret has invalid data. This response may include
schema violations such as mime-type not specified.
</doc>
</response>
<response status="400">
<doc title="Error">This error code is returned if the value specified in the "payload_content_type" parameter is not supported. It is caused when no crypto plugin supports the payload_content_type requested </doc>
<doc title="Error">This error code is returned if the
"payload" parameter is empty. This response indicates
that the 'payload' JSON attribute was provided, but no
value was assigned to it.</doc>
</response>
<response status="400">
<doc title="Error">This error code is returned if the
value specified in the "payload_content_type"
parameter is not supported. It is caused when no
crypto plugin supports the payload_content_type
requested </doc>
</response>
<response status="413">
<doc title="Error">This error code is returned when the secret specified in the "payload" parameter is too large. </doc>
<doc title="Error">This error code is returned when the
secret specified in the "payload" parameter is too
large. </doc>
</response>
</method>
<!--*******************************************************-->
<!-- Get Secret Information: getSecretinfo -->
<!--*******************************************************-->
<!--*******************************************************-->
<!-- Get Secret Information: getSecretinfo -->
<!--*******************************************************-->
<method name="GET" id="getSecretinfo">
<wadl:doc xml:lang="EN" title="Get Secret Information" xmlns="http://docbook.org/ns/docbook">
<wadl:doc xml:lang="EN" title="Get Secret Information"
xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">This method retrieves secret information.</para>
<para>This method retrieves the information for the specified secret. For the application/json accept type, only metadata about the secret is returned. If one of the 'content_types' accept types is specified instead, that portion of the secret will be decrypted and returned. </para>
<para>This method retrieves the information for the specified secret. For the application/json accept type, only metadata about the secret is returned. If one of the 'content_types' accept types is specified instead, that portion of the secret will be decrypted and returned. </para>
</wadl:doc>
<request>
<representation mediaType="application/json" >
<representation mediaType="application/json">
<doc>
<xsdxt:code href="../wadl/samples/reqGetSecretinfo.json"/>
</doc>
</representation>
</request>
<response status="200">
<doc title="Success">This status code is returned when the secret has been successfully retrieved.</doc>
<representation mediaType="application/json" >
<response status="200">
<doc title="Success">This status code is returned when the
secret has been successfully retrieved.</doc>
<representation mediaType="application/json">
<doc>
<xsdxt:code href="../wadl/samples/resgetSecretinfo.json"/>
</doc>
</representation>
</response>
<response status="404">
<doc title="Error">This error code is returned when the supplied UUID doesn't match the secret in the datastore.</doc>
<doc title="Error">This error code is returned when the
supplied UUID doesn't match the secret in the
datastore.</doc>
</response>
<response status="404">
<doc title="Error">This error code is returned when the secret metadata has been created, but the encrypted data for it has not yet been supplied, hence cannot be retrieved via a non 'application/json' mime type</doc>
<doc title="Error">This error code is returned when the
secret metadata has been created, but the encrypted
data for it has not yet been supplied, hence cannot be
retrieved via a non 'application/json' mime type</doc>
</response>
<response status="406">
<doc title="Error">This error code is returned when the secret data cannot be retrieved in the requested Accept header mime-type</doc>
<doc title="Error">This error code is returned when the
secret data cannot be retrieved in the requested
Accept header mime-type</doc>
</response>
</method>
<!--*******************************************************-->
<!-- Update Secret: updateSecret -->
<!--*******************************************************-->
<!--*******************************************************-->
<!-- Update Secret: updateSecret -->
<!--*******************************************************-->
<method name="PUT" id="updateSecret">
<wadl:doc xml:lang="EN" title="Update Secret" xmlns="http://docbook.org/ns/docbook">
<wadl:doc xml:lang="EN" title="Update Secret"
xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">This method updates a specified secret.</para>
<para>This method updates a secret. To provide secret information after the secret is created, submit a PUT request to the secret URI. Note that a PUT request can only be performed once after a POST call that does not include a payload. Also note that no other attributes of a secret can be modified via PUT after it is POST-ed.
The PUT request should include the payload, as well as the appropriate Content-Type and Content-Encoding definitions.</para>
<para> GET - Decrypted Secret Data
To retrieve the decrypted secret information, perform a GET with the Accept header set to one of the content_types specified in the GET metadata call. Note that even if a binary secret is provided in the base64 format, it is converted to binary by Barbican prior to encryption and storage. Thereafter the secret will only be decrypted and returned as raw binary. </para>
<para>This method updates a secret. To provide secret information after the secret is created, submit a PUT request to the URI that contains the secret ID of the secret you want to update. Note that you can only make PUT request once after a POST call that does not include a payload. Also note that no other attributes of a secret can be modified via PUT..
The PUT request should include the payload, as well as the appropriate Content-Type and Content-Encoding definitions.</para>
</wadl:doc>
<request>
<param name="payload" style="query" type="xsd:string" required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
Specifies the name of the last queue received in a previous request, or none to get the first page of results.
</wadl:doc>
</param>
<param name="payload_content_type" style="query" type="xsd:integer" required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
Specifies the number of queues to return. The default value for the number of queues returned is 10. If you do not specify this parameter, the default number of queues is returned.
</wadl:doc>
</param>
<param name="payload_content_encoding" style="query" type="xsd:boolean" required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
Determines whether queue metadata is included in the response. The default value for this parameter is <code>false</code>, which excludes the metadata.
</wadl:doc>
</param>
<representation mediaType="application/json" >
<representation mediaType="application/json">
<doc>
<xsdxt:code href="../wadl/samples/reqUpdateSecret.json"/>
</doc>
</representation>
</request>
<response status="200">
<doc title="Success">This status code is returned when the secret has been successfully updated.</doc>
<representation mediaType="application/json" >
<response status="200">
<doc title="Success">This status code is returned when the
secret has been successfully updated.</doc>
<representation mediaType="application/json">
<doc>
<xsdxt:code href="../wadl/samples/resUpdateSecret.json"/>
</doc>
</representation>
</response>
<response status="404">
<doc title="Error">This error code is returned when the supplied UUID doesn't match the secret in the datastore for the specified tenant..</doc>
<doc title="Error">This error code is returned when the
supplied UUID doesn't match the secret in the
datastore for the specified tenant.</doc>
</response>
<response status="400">
<doc title="Error">This error code is returned when no crypto plugin supports the payload_content_type requested in the Content-Type</doc>
<doc title="Error">This error code is returned when no
crypto plugin supports the payload_content_type
requested in the Content-Type header.</doc>
</response>
<response status="409">
<doc title="Error">This error code is returned when the secret already has encrypted data associated with it</doc>
<doc title="Error">This error code is returned when the
secret already has encrypted data associated with
it.</doc>
</response>
<response status="400">
<doc title="Error">This error code is returned when no value was provided for the "payload" parameter.</doc>
<doc title="Error">This error code is returned when no
value was provided for the "payload" parameter.</doc>
</response>
<response status="413">
<doc title="Error">This error code is returned when the secret specified in the "payload" parameter is too large. </doc>
</response>
<doc title="Error">This error code is returned when the
secret specified in the "payload" parameter is too
large. The current size limit is 10,000 bytes.</doc>
</response>
</method>
<!--*******************************************************-->
<!-- Delete Secret: deleteSecret -->
<!--*******************************************************-->
<method name="DELETE" id="deleteSecret">
<wadl:doc xml:lang="EN" title="Delete Secret" xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">Deletes the specified secret. </para>
<para>This operation immediately deletes a queue and all of its existing messages. </para>
</wadl:doc>
<request>
<representation mediaType="application/json">
<doc>
<xsdxt:code href="../wadl/samples/reqDeleteSecret.json"/>
</doc>
</representation>
</request>
<response status="204">
<doc title="Success">This status code is returned when the secret has been successfully deleted.</doc>
<representation mediaType="application/json" >
<doc>
<xsdxt:code href="../wadl/samples/resDeleteSecret.json"/>
</doc>
</representation>
</response>
<response status="404">
<doc title="Error">This error code is returned when the supplied UUID doesn't match the secret in the datastore.</doc>
</response>
</method>
<!--*******************************************************-->
<!-- Orders Methods -->
<!--*******************************************************-->
<!--*******************************************************-->
<!-- Get Orders: getOrders -->
<!--*******************************************************-->
<!--*******************************************************-->
<!-- Orders Methods -->
<!--*******************************************************-->
<!--*******************************************************-->
<!-- Get Orders: getOrders -->
<!--*******************************************************-->
<method name="GET" id="getOrders">
<wadl:doc xml:lang="EN" title="Get Orders" xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">This method retrieves all orders.</para>
<wadl:doc xml:lang="EN" title="Get Orders"
xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">This method retrieves all orders for a given tenant.</para>
<para>This method lists all orders for a specified tenant. Performing a GET on the secrets resource with no UUID retrieves a batch of the most recent orders per the requesting tenant.
The retrieved list of orders is ordered by oldest to newest created date. </para>
</wadl:doc>
@ -366,180 +350,165 @@ The following values are supported:</para>
</doc>
</representation>
</request>
<response status="200">
<doc title="Success">This status code is returned when the orders have been successfully retrieved.</doc>
<representation mediaType="application/json" >
<response status="200">
<doc title="Success">This status code is returned when the
orders have been successfully retrieved.</doc>
<representation mediaType="application/json">
<doc>
<xsdxt:code href="../wadl/samples/resGetOrders.json"/>
</doc>
</representation>
</response>
</method>
<!--*******************************************************-->
<!-- Create Order: createOrder -->
<!--*******************************************************-->
<method name="PUT" id="createOrder">
<wadl:doc xml:lang="EN" title="Create Order" xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">This method creates an order.</para>
<para>This method creates a new order.</para>
</wadl:doc>
<request>
<param name="name" style="query" type="xsd:string" required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
This parameter specifies the name of the secret.
</wadl:doc>
</param>
<param name="algorithm" style="query" type="xsd:string" required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
Specifies the algorithm type used to generate the secret. This parameter is optional.
</wadl:doc>
</param>
<param name="bit_length" style="query" type="xsd:integer" required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
Specifies the bit length of the secret. Must be a positive integer. This parameter is optional.
</wadl:doc>
</param>
<param name="mode" style="query" type="xsd:string" required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
Specifies the type/mode of the algorithm associated with the secret information. This parameter is optional.
</wadl:doc>
</param>
<param name="payload_content_type" style="query" type="xsd:string" required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
<para>Specifies the type/format the secret data is provided in. This parameter is required if the payload parameter is specified.
The following values are supported:</para>
<para>- "text/plain" - This value is used to store plain text secrets.</para>
<para>Other options are "text/plain; charset=utf-8".
If the charset value is omitted, utf-8 will be assumed. Note
that Barbican normalizes some formats before storing them
as secret metadata, for example
"text/plain; charset=utf-8" is converted to "text/plain." Retrieved metadata may not exactly match what was originally
specified in the POST or PUT request.
When the payload_content_type parameter is set to "text/plain" you cannot specify a value for the payload_content_encoding parameter..</para>
<para>- "application/octet-stream" - This value is used to store binary
secrets from a base64 encoded payload. If this
value is used, you must also include the payload_content_encoding parameter.</para> </wadl:doc>
</param>
<representation mediaType="application/json">
<doc>
<xsdxt:code href="../wadl/samples/reqCreateOrder.json"/>
</doc>
</representation>
</request>
<response status="201">
<doc title="Success">This status code is returned when the order was successfully created.</doc>
<representation mediaType="application/json" >
<doc>
<xsdxt:code href="../wadl/samples/resCreateOrder.json"/>
</doc>
</representation>
</response>
<response status="400">
<doc title="Error">This error code is returned when the data provided in the POST request is invalid. This can include schema violations such as the secret's mime-type not specified</doc>
</response>
<response status="400">
<doc title="Error">This error code is returned when the value provided in the "payload_content_type" parameter is invalid. This is caused when thre is no crypto plugin available that supports the payload_content_type requested</doc>
</response>
</method>
<!--*******************************************************-->
<!-- Get Order Information: getOrderinfo -->
<!--*******************************************************-->
<method name="GET" id="getOrderInfo">
<wadl:doc xml:lang="EN" title="Get Order Information" xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">This method retrieves information about a specified order.</para>
<para>This method retrieves information for the specified order including g a link to the secret that was generated as a result of the order (if available).</para>
</wadl:doc>
<request>
<representation mediaType="application/json" >
<doc>
<xsdxt:code href="../wadl/samples/reqGetOrderinfo.json"/>
</doc>
</representation>
</request>
<response status="200">
<doc title="Success">This status code is returned when the order info was successfully retrieved.</doc>
<representation mediaType="application/json" >
<doc>
<xsdxt:code href="../wadl/samples/resGetOrderinfo.json"/>
</doc>
</representation>
</response>
<response status="404">
<doc title="Error">This error code is returned when the supplied UUID doesn't match a order in the data store, which means the order doesn't exist. </doc>
</response>
</method>
<!--*******************************************************-->
<!-- Update Order: updateOrder -->
<!--*******************************************************-->
<!-- Create Order: createOrder -->
<!--*******************************************************-->
<method name="POST" id="createOrder">
<wadl:doc xml:lang="EN" title="Create Order"
xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">This method creates an order.</para>
<para>This method creates a new order.</para>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xml:lang="en">
<xsdxt:code href="../wadl/samples/reqCreateOrder.json"/>
</wadl:doc>
<param name="name" style="plain" type="xsd:string"
required="false" path="$.name">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"> This parameter specifies the name
of the secret. </wadl:doc>
</param>
<param name="algorithm" style="plain" type="xsd:string"
required="false" path="$.algorithm">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
Specifies the algorithm type used to store the
secret. This parameter is optional. </wadl:doc>
</param>
<param name="bit_length" style="plain" type="integer"
required="false" path="$.bit_length">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"> Specifies the bit length of the
secret. Must be a positive integer. This parameter
is optional. </wadl:doc>
</param>
<param name="mode" style="plain" type="xsd:string"
required="false" path="$.mode">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"> Specifies the type/mode of the
algorithm associated with the secret information.
This parameter is optional. </wadl:doc>
</param>
<param name="payload_content_type" style="plain"
type="xsd:string" required="false" path="$.payload_content_type">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<para>Specifies the type/format the secret data is provided in.</para>
</wadl:doc>
</param>
</representation>
</request>
<response status="201">
<doc title="Success">This status code is returned when the
order was successfully created.</doc>
<representation mediaType="application/json">
<doc>
<xsdxt:code href="../wadl/samples/resCreateOrder.json"/>
</doc>
</representation>
</response>
<response status="400">
<doc title="Error">This error code is returned when the
data provided in the POST request is invalid. This can
include schema violations such as the secret's
mime-type not specified</doc>
</response>
<response status="400">
<doc title="Error">This error code is returned when the
value provided in the "payload_content_type" parameter
is invalid. This is caused when thre is no crypto
plugin available that supports the
payload_content_type requested</doc>
</response>
</method>
<!--*******************************************************-->
<!-- Get Order Information: getOrderinfo -->
<!--*******************************************************-->
<method name="GET" id="getOrderInfo">
<wadl:doc xml:lang="EN" title="Get Order Information"
xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">This method retrieves information about a specified order.</para>
<para>This method retrieves information for the specified order including g a link to the secret that was stored as a result of the order (if available).</para>
</wadl:doc>
<request>
<representation mediaType="application/json">
<doc>
<xsdxt:code href="../wadl/samples/reqGetOrderinfo.json"/>
</doc>
</representation>
</request>
<response status="200">
<doc title="Success">This status code is returned when the
order info was successfully retrieved.</doc>
<representation mediaType="application/json">
<doc>
<xsdxt:code href="../wadl/samples/resGetOrderinfo.json"/>
</doc>
</representation>
</response>
<response status="404">
<doc title="Error">This error code is returned when the
supplied UUID doesn't match a order in the data store,
which means the order doesn't exist. </doc>
</response>
</method>
<!--*******************************************************-->
<!-- Update Order: updateOrder -->
<!--*******************************************************-->
<method name="PUT" id="updateOrder" db:security="writeronly">
<wadl:doc xml:lang="EN" title="Update Order" xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">This method updates an order.</para>
</wadl:doc>
<request>
<param name="marker" style="query" type="xsd:string" required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
Specifies the name of the last queue received in a previous request, or none to get the first page of results.
</wadl:doc>
</param>
<param name="limit" style="query" type="xsd:integer" required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
Specifies the number of queues to return. The default value for the number of queues returned is 10. If you do not specify this parameter, the default number of queues is returned.
</wadl:doc>
</param>
<param name="detailed" style="query" type="xsd:boolean" required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
Determines whether queue metadata is included in the response. The default value for this parameter is <code>false</code>, which excludes the metadata.
</wadl:doc>
</param>
<representation mediaType="application/json">
<doc>
<xsdxt:code href="../wadl/samples/reqUpdateOrder.json"/>
</doc>
</representation>
</request>
<response status="200">
<representation mediaType="application/json" >
<doc>
<xsdxt:code href="../wadl/samples/resUpdateOrder.json"/>
</doc>
</representation>
</response>
</method>
<!--*******************************************************-->
<!-- Delete Order: deleteOrder -->
<!--*******************************************************-->
<method name="DELETE" id="deleteOrder">
<wadl:doc xml:lang="EN" title="Delete Order" xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">This method deletes the specified order. </para>
<para>This method cancels an exisitng order. </para>
</wadl:doc>
<request>
<representation mediaType="application/json" >
<doc>
<xsdxt:code href="../wadl/samples/reqDeleteOrder.json"/>
</doc>
</representation>
</request>
<response status="204">
<doc title="Success">This status code is returned when the order was successfully cancelled.</doc>
<representation mediaType="application/json" >
<doc>
<xsdxt:code href="../wadl/samples/resDeleteOrder.json"/>
</doc>
</representation>
</response>
<response status="404">
<doc title="Error">This error code is returned when the supplied UUID doesn't match a order in the data store, which means the order doesn't exist. </doc>
</response>
</method>
<wadl:doc xml:lang="EN" title="Update Order"
xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">This method updates an order.</para>
</wadl:doc>
<request>
<param name="marker" style="plain" type="xsd:string"
required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"> Specifies the name of the last
queue received in a previous request, or none to
get the first page of results. </wadl:doc>
</param>
<param name="limit" style="plain" type="xsd:integer"
required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"> Specifies the number of queues to
return. The default value for the number of queues
returned is 10. If you do not specify this
parameter, the default number of queues is
returned. </wadl:doc>
</param>
<param name="detailed" style="plain" type="xsd:boolean"
required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"> Determines whether queue metadata
is included in the response. The default value for
this parameter is <code>false</code>, which
excludes the metadata. </wadl:doc>
</param>
<representation mediaType="application/json">
<doc>
<xsdxt:code href="../wadl/samples/reqUpdateOrder.json"/>
</doc>
</representation>
</request>
<response status="200">
<representation mediaType="application/json">
<doc>
<xsdxt:code href="../wadl/samples/resUpdateOrder.json"/>
</doc>
</representation>
</response>
</method>
</application>

View File

@ -1,72 +0,0 @@
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 477
Date: Thu, 12 Apr 2012 18:45:13 GMT
{
"auth": {
"serviceCatalog": {
"cloudDNS": [
{
"publicURL": "https://dns.api.rackspacecloud.com/v1.0/1234"
}
],
"cloudDatabases": [
{
"publicURL": "https://dfw.databases.api.rackspacecloud.com/v1.0/1234",
"region": "DFW"
},
{
"publicURL": "https://ord.databases.api.rackspacecloud.com/v1.0/1234",
"region": "ORD"
}
],
"cloudFiles": [
{
"internalURL": "https://snet-storage101.dfw1.clouddrive.com/v1/ MossoCloudFS_aaaa-bbbbb-cccc-ddddd ",
"publicURL": "https://storage101.dfw1.clouddrive.com/v1/ MossoCloudFS_aaaa-bbbbb-cccc-ddddd ",
"region": "DFW",
"v1Default": true
}
],
"cloudFilesCDN": [
{
"publicURL": "https://cdn1.clouddrive.com/v1/MossoCloudFS_aaaa-bbbbb-cccc-ddddd",
"region": "DFW",
"v1Default": true
}
],
"cloudLoadBalancers": [
{
"publicURL": "https://ord.loadbalancers.api.rackspacecloud.com/v1.0/1234",
"region": "ORD"
},
{
"publicURL": "https://dfw.loadbalancers.api.rackspacecloud.com/v1.0/1234",
"region": "DFW"
}
],
"cloudMonitoring": [
{
"publicURL": "https://monitoring.api.rackspacecloud.com/v1.0/1234"
}
],
"cloudServers": [
{
"publicURL": "https://servers.api.rackspacecloud.com/v1.0/1234",
"v1Default": true
}
],
"cloudServersOpenStack": [
{
"publicURL": "https://dfw.servers.api.rackspacecloud.com/v2/1234",
"region": "DFW"
}
]
},
"token": {
"expires": "2012-04-12T13:15:52.000-05:00",
"id": "aaaaa-bbbbbb-cccccc-ddddd"
}
}
}

View File

@ -1,50 +0,0 @@
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"?>
<auth xmlns="http://docs.rackspacecloud.com/auth/api/v1.1">
<token id="aaaaa-bbbbbb-cccccc-ddddd"
expires="2012-04-12T13:15:52.000-05:00" />
<serviceCatalog>
<service name="cloudDatabases">
<endpoint region="ORD" v1Default="false"
publicURL="https://ord.databases.api.rackspacecloud.com/v1.0/1234"/>
<endpoint region="DFW" v1Default="false"
publicURL="https://dfw.databases.api.rackspacecloud.com/v1.0/1234"/>
</service>
<service name="cloudDNS">
<endpoint v1Default="false" publicURL="https://dns.api.rackspacecloud.com/v1.0/1234"/>
</service>
<service name="cloudServers">
<endpoint v1Default="true"
publicURL="https://servers.api.rackspacecloud.com/v1.0/1234"/>
</service>
<service name="cloudLoadBalancers">
<endpoint region="DFW" v1Default="false"
publicURL="https://dfw.loadbalancers.api.rackspacecloud.com/v1.0/1234"/>
<endpoint region="ORD" v1Default="false"
publicURL="https://ord.loadbalancers.api.rackspacecloud.com/v1.0/1234"/>
</service>
<service name="cloudMonitoring">
<endpoint v1Default="false"
publicURL="https://monitoring.api.rackspacecloud.com/v1.0/1234"/>
</service>
<service name="cloudServersOpenStack">
<endpoint region="DFW" v1Default="false"
publicURL="https://dfw.servers.api.rackspacecloud.com/v2/1234"/>
</service>
<service name="cloudFiles">
<endpoint region="DFW" v1Default="true"
publicURL="https://storage101.dfw1.clouddrive.com/v1/MossoCloudFS_aaaa-bbbbbb-ccccc-ddddd"
internalURL="https://snet-storage101.dfw1.clouddrive.com/v1/MossoCloudFS_aaaa-bbbbbb-ccccc-ddddd"
/>
</service>
<service name="cloudFilesCDN">
<endpoint region="DFW" v1Default="true"
publicURL="https://cdn1.clouddrive.com/v1/MossoCloudFS_aaaa-bbbbbb-ccccc-ddddd"
/>
</service>
</serviceCatalog>
</auth>

View File

@ -1,13 +0,0 @@
POST /v1.1/auth HTTP/1.1
User-Agent: curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.15 libssh2/1.2.6
Host: auth.api.rackspacecloud.com
Accept: application/json
Content-Type: application/json
Content-Length: 54
{
"credentials" : {
"username" : "hub_cap",
"key" : "a86850deb2742ec3cb41518e26aa2d89"
}
}

View File

@ -1,11 +0,0 @@
POST /v1.1/auth HTTP/1.1
User-Agent: curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.15 libssh2/1.2.6
Host: auth.api.rackspacecloud.com
Accept: application/xml
Content-Type: application/xml
Content-Length: 88
<?xml version="1.0" encoding="UTF-8"?>
<credentials xmlns="http://docs.rackspacecloud.com/auth/api/v1.1"
username="hub_cap"
key="a86850deb2742ec3cb41518e26aa2d89"/>

View File

@ -1,11 +0,0 @@
HTTP/1.1 400 None
Content-Length: 120
Content-Type: application/json; charset=UTF-8
Date: Tue, 29 Nov 2011 00:33:48 GMT
{
"badRequest": {
"code": 400,
"message": "Volume 'size' needs to be a positive integer value, -1.0 cannot be accepted."
}
}

View File

@ -1,10 +0,0 @@
HTTP/1.1 400 None
Content-Type: application/xml
Content-Length: 121
Date: Mon, 28 Nov 2011 18:19:37 GMT
<badRequest code="400" xmlns="http://docs.rackspace.com/cbs/api/v1.0">
<message>
Volume 'size' needs to be a positive integer value, -1.0 cannot be accepted.
</message>
</badRequest>

View File

@ -1,11 +0,0 @@
HTTP/1.1 500 Internal Server Error
Content-Length: 120
Content-Type: application/json; charset=UTF-8
Date: Tue, 29 Nov 2011 00:33:48 GMT
{
"instance_fault": {
"code": 500,
"message": "The server has either erred or is incapable of performing the requested operation."
}
}

View File

@ -1,10 +0,0 @@
HTTP/1.1 500 Internal Server Error
Content-Type: application/xml
Content-Length: 121
Date: Mon, 28 Nov 2011 18:19:37 GMT
<instanceFault code="500" xmlns="http://docs.rackspace.com/cbs/api/v1.0">
<message>
The server has either erred or is incapable of performing the requested operation.
</message>
</instanceFault>

View File

@ -1,11 +0,0 @@
HTTP/1.1 404 Not Found
Content-Length: 78
Content-Type: application/json; charset=UTF-8
Date: Tue, 29 Nov 2011 00:35:24 GMT
{
"item_not_found": {
"code": 404,
"message": "The resource could not be found."
}
}

View File

@ -1,10 +0,0 @@
HTTP/1.1 404 Not Found
Content-Length: 147
Content-Type: application/xml; charset=UTF-8
Date: Mon, 28 Nov 2011 19:50:15 GMT
<itemNotFound code="404" xmlns="http://docs.rackspace.com/cbs/api/v1.0">
<message>
The resource could not be found.
</message>
</itemNotFound>

View File

@ -1,15 +0,0 @@
POST /v1.0/1234/instances HTTP/1.1
Host: ord.databases.api.rackspacecloud.com
Content-Type: application/json
Accept: application/xml
X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb
{
"instance": {
"name": "'my_instance_name'",
"flavor_ref": "https://ord.databases.api.rackspacecloud.com/v1.0/1234/flavors/1",
"volume": {
"size": "2"
}
}
}

View File

@ -1,24 +0,0 @@
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 380
Date: Thu, 17 Nov 2011 02:37:37 GMT
<instance created="2011-11-03T15:57:52Z"
hostname="d735f61b985bb003a61dc72948dbf4e7174da12c.rackspaceclouddb.com"
id="00ff11ee-22dd-33cc-44bb-55aa66007799" name="orion" status="BUILD" updated="2011-11-03T15:57:55Z"
xmlns="http://docs.openstack.org/database/api/v1.0">
<links>
<link href="https://ord.databases.api.rackspacecloud.com/v1.0/1234/instances/00ff11ee-22dd-33cc-44bb-55aa66007799" rel="self"/>
<link href="https://ord.databases.api.rackspacecloud.com/instances/00ff11ee-22dd-33cc-44bb-55aa66007799" rel="bookmark"
/>
</links>
<volume size="2"/>
<flavor id="2">
<links>
<link href="https://ord.databases.api.rackspacecloud.com/v1.0/1234/flavors/2"
rel="self"/>
<link href="https://ord.databases.api.rackspacecloud.com/flavors/2"
rel="bookmark"/>
</links>
</flavor>
</instance>

View File

@ -9,4 +9,5 @@ curl -X POST -d \
"payload_content_type": "application/octet-stream"
}
}'\
http://localhost:9311/v1/12345/orders
https://endpointURL/v1/12345/orders

View File

@ -1,6 +1,12 @@
curl -X POST -d \
'{
"payload": "my-secret-here",
"payload_content_type": "text/plain"
}'\
http://localhost:9311/v1/12345/secrets
curl -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' -d\
'{
"name": "AES key",
"expiration": "2014-02-28T19:14:44.180394",
"algorithm": "aes",
"bit_length": 256,
"mode": "cbc",
"payload": "gF6+lLoF3ohA9aPRpt+6bQ==",
"payload_content_type": "application/octet-stream",
"payload_content_encoding": "base64"
}'
https://endpointURL/v1/12345/secrets

View File

@ -1,6 +0,0 @@
curl -X POST -d \
'{
"payload": "my-secret-here",
"payload_content_type": "text/plain"
}'\
http://localhost:9311/v1/12345/secrets

View File

@ -1,6 +0,0 @@
curl -X POST -d \
'{
"payload": "my-secret-here",
"payload_content_type": "text/plain"
}'\
http://localhost:9311/v1/12345/secrets

View File

@ -1,6 +0,0 @@
curl -X POST -d \
'{
"payload": "my-secret-here",
"payload_content_type": "text/plain"
}'\
http://localhost:9311/v1/12345/secrets

View File

@ -1 +1,2 @@
curl http://localhost:9311/v1/12345/orders/62d57f53-ecfe-4ae4-87bd-fab2f24e29bc
curl -H 'Accept: application/json'\
https://endpointURL/v1/12345/orders/62d57f53-ecfe-4ae4-87bd-fab2f24e29bc

View File

@ -1,6 +1,2 @@
curl -X POST -d \
'{
"payload": "my-secret-here",
"payload_content_type": "text/plain"
}'\
http://localhost:9311/v1/12345/secrets
curl -H 'Accept: application/json'\
https://endpointURL/v1/12345/orders

View File

@ -1 +1,2 @@
GET v1/{tenant_id}/secrets/888b29a4-c7cf-49d0-bfdf-bd9e6f26d718
curl -H 'Accept: application/json' \
https://endpointURL/v1/12345/secrets/secretID/888b29a4-c7cf-49d0-bfdf-bd9e6f26d718

View File

@ -1,6 +1,2 @@
curl -X POST -d \
'{
"payload": "my-secret-here",
"payload_content_type": "text/plain"
}'\
http://localhost:9311/v1/12345/secrets
curl -H 'Accept: application/json'\
https://endpointURL/v1/12345/secrets

View File

@ -1,6 +0,0 @@
curl -X POST -d \
'{
"payload": "my-secret-here",
"payload_content_type": "text/plain"
}'\
http://localhost:9311/v1/12345/secrets

View File

@ -1,6 +1,2 @@
curl -X POST -d \
'{
"payload": "my-secret-here",
"payload_content_type": "text/plain"
}'\
http://localhost:9311/v1/12345/secrets
curl -i -X PUT -H 'Content-Type: application/octet-stream \
-T ./secret_key_file http://endpointURL/v1/12345/secrets/a83018d1-e657-4957-9ddd-42a479753e6b

View File

@ -1,3 +1,3 @@
{
"order_ref": "http://localhost:9311/v1/12345/orders/62d57f53-ecfe-4ae4-87bd-fab2f24e29bc"
"order_ref": "http://endpointURL/v1/12345/orders/62d57f53-ecfe-4ae4-87bd-fab2f24e29bc"
}

View File

@ -1,3 +1,3 @@
{
"secret_ref": "http://localhost:9311/v1/{tenant_id}/secrets/a8957047-16c6-4b05-ac57-8621edd0e9ee"
"secret_ref": "https://endpointURL/v1/12345/secrets/513ed616-2686-4ce5-a96c-fea785fe527b"
}

View File

@ -1,6 +0,0 @@
curl -X POST -d \
'{
"payload": "my-secret-here",
"payload_content_type": "text/plain"
}'\
http://localhost:9311/v1/12345/secrets

View File

@ -1,6 +0,0 @@
curl -X POST -d \
'{
"payload": "my-secret-here",
"payload_content_type": "text/plain"
}'\
http://localhost:9311/v1/12345/secrets

View File

@ -1 +1,14 @@
curl http://localhost:9311/v1/12345/orders/62d57f53-ecfe-4ae4-87bd-fab2f24e29bc
{
"status": "ACTIVE",
"secret_ref": "endpointURL/v1/12345/secrets/8a78d5e4-524a-4e81-96cc-c7d16ed85515",
"updated": "2014-04-02T14:52:26.987458",
"created": "2014-04-02T14:52:26.921043",
"secret": {
"name": "secretname",
"algorithm": "aes",
"payload_content_type": "application/octet-stream",
"expiration": null,
"bit_length": 256,
"mode": "cbc"
},
"order_ref": "https://endpointURL/v1/12345/orders/b63d2c05-5d53-4db6-af06-4e388044deb8"

View File

@ -1,6 +1,50 @@
curl -X POST -d \
'{
"payload": "my-secret-here",
"payload_content_type": "text/plain"
}'\
http://localhost:9311/v1/12345/secrets
{
"total": 15,
"orders": [
{
"status": "PENDING",
"secret_ref": "https://endpointURL/v1/12345/secrets/????",
"updated": "2014-03-19T22:40:06.720872",
"created": "2014-03-19T22:40:06.720860",
"secret": {
"name": "secretname",
"algorithm": "aes",
"payload_content_type": "application/octet-stream",
"expiration": null,
"bit_length": 256,
"mode": "cbc"
},
"order_ref": "https://endpointURL/v1/12345/orders/94ade532-9657-41e1-87ae-c8cbdfa836e0"
},
{
"status": "PENDING",
"secret_ref": "https://endpointURL/v1/12345/secrets/????",
"updated": "2014-03-19T22:41:18.930095",
"created": "2014-03-19T22:41:18.930081",
"secret": {
"name": "secretname",
"algorithm": "aes",
"payload_content_type": "application/octet-stream",
"expiration": null,
"bit_length": 256,
"mode": "cbc"
},
"order_ref": "https://endpointURL/v1/12345/orders/50212509-9c87-4a71-be3e-9ad59c290ede"
},
{
"status": "ACTIVE",
"secret_ref": "https://endpointURL/v1/12345/secrets/6e0bfe9f-8a59-4e29-81af-ea57eec96f28",
"updated": "2014-03-25T16:42:20.584453",
"created": "2014-03-25T16:42:20.430822",
"secret": {
"name": "secretname",
"algorithm": "aes",
"payload_content_type": "application/octet-stream",
"expiration": null,
"bit_length": 256,
"mode": "cbc"
},
"order_ref": "https://endpointURL/v1/12345/orders/488cd596-f1a6-4abe-8cb0-16608f5b0359"
}
],
"next": "https://endpointURL/v1/12345/orders?limit=10&offset=10"

View File

@ -1,6 +0,0 @@
curl -X POST -d \
'{
"payload": "my-secret-here",
"payload_content_type": "text/plain"
}'\
http://localhost:9311/v1/12345/secrets

View File

@ -1,6 +1,3 @@
curl -X POST -d \
'{
"payload": "my-secret-here",
"payload_content_type": "text/plain"
}'\
http://localhost:9311/v1/12345/secrets
HTTP/1.1 200 OK
Content-Length: 0
x-openstack-request-id: req-ab107dce-adfd-4b8d-b9eb-7095f8cf9b15

View File

@ -1,13 +1,14 @@
{
"status": "ACTIVE",
"updated": "2013-06-28T15:23:33.092660",
"name": "AES key",
"algorithm": "AES",
"mode": "cbc",
"bit_length": 256,
"content_types": {
"default": "application/octet-stream"
},
"expiration": "2013-05-08T16:21:38.134160",
"secret_ref": "http://localhost:8080/v1/12345/secrets/888b29a4-c7cf-49d0-bfdf-bd9e6f26d718",
"status": "ACTIVE",
"secret_ref": "https://endpointURL/v1/12345/secrets/513ed616-2686-4ce5-a96c-fea785fe527b",
"updated": "2014-05-02T06:29:25.415271",
"name": "AES key",
"algorithm": "aes",
"created": "2014-05-02T06:29:25.415261",
"content_types": {
"default": "application/octet-stream"
},
"mode": "cbc",
"bit_length": 256,
"expiration": "2014-05-28T19:14:44.180394"
}

View File

@ -7,7 +7,7 @@
"name": "Main Encryption Key",
"algorithm": "AES",
"created": "2013-06-28T15:23:30.668619",
"secret_ref": "http://localhost:9311/v1/12345/secrets/e171bb2d-f14f-433e-84f0-3dfcac7a7311",
"secret_ref": "http://endpointURL/v1/12345/secrets/e171bb2d-f14f-433e-84f0-3dfcac7a7311",
"expiration": "2014-06-28T15:23:30.668619",
"bit_length": 256,
"content_types": {
@ -21,7 +21,7 @@
"name": "Backup Key",
"algorithm": "AES",
"created": "2013-06-28T15:23:32.210467",
"secret_ref": "http://localhost:9311/v1/12345/secrets/6dba7827-c232-4a2b-8f3d-f523ca3a3f99",
"secret_ref": "http://endpointURL/v1/12345/secrets/6dba7827-c232-4a2b-8f3d-f523ca3a3f99",
"expiration": null,
"bit_length": 256,
"content_types": {
@ -35,7 +35,7 @@
"name": "PostgreSQL admin password",
"algorithm": null,
"created": "2013-06-28T15:23:33.092635",
"secret_ref": "http://localhost:9311/v1/12345/secrets/6dfa448d-c35a-4158-abaf-e4c249efb580",
"secret_ref": "http://endpointURL/v1/12345/secrets/6dfa448d-c35a-4158-abaf-e4c249efb580",
"expiration": null,
"bit_length": null,
"content_types": {
@ -43,6 +43,6 @@
}
}
],
"next": "http://localhost:9311/v1/12345/secrets?limit=3&offset=5",
"previous": "http://localhost:9311/v1/12345/secrets?limit=3&offset=0"
"next": "http://endpointURL/v1/12345/secrets?limit=3&offset=5",
"previous": "http://endpointURL/v1/12345/secrets?limit=3&offset=0"
}

View File

@ -1,4 +0,0 @@
{
"v1": "current",
"build": "2013.2.20130913025647"
}

View File

@ -1,8 +0,0 @@
{
"snapshot": {
"display_name": "snap-001",
"display_description": "Daily backup",
"volume_id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
"force": true
}
}

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<snapshot xmlns="http://docs.rackspace.com/volume/api/v1"
name="snap-001"
display_name="snap-001"
display_description="Daily backup"
volume_id="521752a6-acf6-4b2d-bc7a-119f9148cd8c"
force="true" />

View File

@ -1,22 +0,0 @@
{
"snapshots": [
{
"id": "3fbbcccf-d058-4502-8844-6feeffdf4cb5",
"display_name": "snap-001",
"display_description": "Daily backup",
"volume_id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
"status": "available",
"size": 100,
"createdAt": "2012-02-29T03:50:07Z"
},
{
"id": "e479997c-650b-40a4-9dfe-77655818b0d2",
"display_name": "snap-002",
"display_description": "Weekly backup",
"volume_id": "76b8950a-8594-4e5b-8dce-0dfa9c696358",
"status": "available",
"size": 100,
"createdAt": "2012-03-19T01:52:47Z"
}
]
}

View File

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<snapshots xmlns="http://docs.rackspace.com/volume/api/v1">
<snapshot id="3fbbcccf-d058-4502-8844-6feeffdf4cb5"
display_name="snap-001"
display_description="Daily backup"
volume_id="521752a6-acf6-4b2d-bc7a-119f9148cd8c"
status="available"
size="100"
createdAt="2012-02-29T03:50:07Z" />
<snapshot id="e479997c-650b-40a4-9dfe-77655818b0d2"
display_name="snap-002"
dislay_description="Weekly backup"
volume_id="76b8950a-8594-4e5b-8dce-0dfa9c696358"
status="available"
size="100"
createdAt="2012-03-19T01:52:47Z" />
</snapshots>

View File

@ -1,11 +0,0 @@
{
"snapshot": {
"id": "3fbbcccf-d058-4502-8844-6feeffdf4cb5",
"display_name": "snap-001",
"display_description": "Daily backup",
"volume_id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
"status": "creating",
"size": 100,
"createdAt": "2012-02-29T03:50:07Z"
}
}

View File

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<snapshot xmlns="http://docs.rackspace.com/volume/api/v1"
id="3fbbcccf-d058-4502-8844-6feeffdf4cb5"
display_name="snap-001"
display_description="Daily backup"
volume_id="521752a6-acf6-4b2d-bc7a-119f9148cd8c"
status="creating"
size="100"
createdAt="2012-02-29T03:50:07Z" />

View File

@ -1,8 +0,0 @@
{
"volume": {
"display_name": "vol-001",
"display_description": "Another volume.",
"size": 100,
"volume_type": "SATA",
}
}

View File

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<volume xmlns="http://docs.rackspace.com/volume/api/v1"
display_name="vol-001"
display_description="Another volume."
size="100"
volume_type="SATA">
</volume>

View File

@ -1,24 +0,0 @@
{
"volumes": [
{
"id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
"display_name": "vol-001",
"display_description": "Another volume.",
"size": 100,
"volume_type": "1",
"snapshot_id": null,
"attachments": [],
"createdAt": "2012-02-14T20:53:07Z"
},
{
"id": "76b8950a-8594-4e5b-8dce-0dfa9c696358",
"display_name": "vol-002",
"display_description": "Yet another volume.",
"size": 100,
"volume_type": "1",
"snapshot_id": null,
"attachments": [],
"createdAt": "2012-03-15T19:10:03Z"
}
]
}

View File

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<volumes xmlns="http://docs.rackspace.com/volume/api/v1">
<volume xmlns="http://docs.rackspace.com/volume/api/v1"
id="521752a6-acf6-4b2d-bc7a-119f9148cd8c"
display_name="vol-001"
display_description="Another volume."
status="active"
size="100"
volume_type="1"
createdAt="2012-02-14T20:53:07Z">
</volume>
<volume xmlns="http://docs.rackspace.com/volume/api/v1"
id="76b8950a-8594-4e5b-8dce-0dfa9c696358"
display_name="vol-002"
display_description="Yet another volume."
status="active"
size="100"
volume_type="1"
createdAt="2012-03-15T19:10:03Z" />
</volumes>

View File

@ -1,12 +0,0 @@
{
"volume": {
"id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
"display_name": "vol-001",
"display_description": "Another volume.",
"size": 100,
"volume_type": "1",
"snapshot_id": null,
"attachments": [],
"createdAt": "2012-02-14T20:53:07Z"
}
}

View File

@ -1,10 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<volume xmlns="http:'//docs.rackspace.com/volume/api/v1"
id="521752a6-acf6-4b2d-bc7a-119f9148cd8c"
display_name="vol-001"
display_decription="Another volume"
status="active"
size="100"
volume_type="1"
createdAt="2012-02-14T20:53:07Z">
</volume>

View File

@ -1,15 +0,0 @@
{
"volume_types": [
{
"id": 1,
"name": "SATA",
"extra_specs": {},
},
{
"id": 2,
"name": "SSD",
"extra_specs": {},
}
]
}

View File

@ -1,9 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<volume_types xmlns="http://docs.rackspace.com/volume/api/v1">>
<volume_type id="1" name="SATA">
<extra_specs/>
</volume_type>
<volume_type id="2" name="SSD">
<extra_specs/>
</volume_type>
</volume_types>

View File

@ -1,7 +0,0 @@
{
"volume_type": {
"id": "1",
"name": "SATA",
"extra_specs": {},
}
}

View File

@ -1,7 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<volume_type xmlns="http://docs.rackspace.com/volume/api/v1"
id="1" name="SATA">
<extra_specs/>
</volume_type>