Update object-api wadl for completeness and accuracy

The point of this change is to ensure that
these two docs are in sync and are complete with regards
to the descriptions of each method and their request
and response parameters:
http://api.openstack.org/api-ref-objectstorage.html
  (API Reference page for Object Storage)
http://docs.openstack.org/api/openstack-object-storage/1.0/content/
  (API Reference (or spec) for Object Storage)
In addition, the current documents don’t describe ACLs, FormPOST, TempURLs,
StaticWeb, Bulk Upload, Bulk Delete, the OPTIONS operation
(though this is implicit in CORS support) and maybe a couple of other things.
These items should be part of the https://review.openstack.org/#/c/64579/
review, which I'm still working on.
updated to add {name} for variables in metadata

Co-Author: Donagh McCabe

Partial-Bug: #1187119
Partial-Bug: #1214139

Change-Id: I82331b1c3cfc5b19f91f7ac1379476e6a9e6806d
author: diane fleming
This commit is contained in:
Diane Fleming 2014-01-07 15:43:06 -06:00
parent e23e3bbed1
commit 3da3bfd65f
38 changed files with 2165 additions and 964 deletions

View File

@ -1,17 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter[
<!-- Some useful entities borrowed from HTML -->
<!ENTITY ndash "&#x2013;">
<!ENTITY mdash "&#x2014;">
<!ENTITY hellip "&#x2026;">
<!ENTITY plusmn "&#xB1;">
<!ENTITY nbsp "&#160;">
<!-- Useful for describing APIs -->
<!ENTITY GET '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
<!ENTITY PUT '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
<!ENTITY POST '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
]>
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
@ -20,9 +7,88 @@
xmlns:wadl="http://wadl.dev.java.net/2009/02"
version="5.0-extension RackBook-2.0" xml:id="objectstorage-v1">
<title>Object Storage API v1</title>
<para>Manages the accounts, containers, and objects in the object
storage system.</para>
<wadl:resources
href="../wadls/object-api/src/os-object-api-1.0.wadl"
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
<para>Manages the accounts, containers, and objects in the Object
Storage system.</para>
<para>To run the cURL command examples for these requests, set
these environment variables:</para>
<itemizedlist>
<listitem>
<para><code>publicURL</code>. The public URL that is the
HTTP endpoint from where you can access Object
Storage. It includes the Object Storage API version
number and your account name. For example,
<code>https://23.253.72.207/v1/my_account</code>.</para>
</listitem>
<listitem>
<para><code>token</code>. The authentication token for
Object Storage.</para>
</listitem>
</itemizedlist>
<para>To obtain these values, run the <command>swift stat
-v</command> command.</para>
<para>As shown in this example, the public URL appears in the
<code>StorageURL</code> field, and the token appears in
the <code>Auth Token</code> field:</para>
<programlisting>StorageURL: https://23.253.72.207/v1/my_account
Auth Token: {token}
Account: my_account
Containers: 2
Objects: 3
Bytes: 47
Meta Book: MobyDick
X-Timestamp: 1389453423.35964
X-Trans-Id: txee55498935404a2caad89-0052dd3b77
Content-Type: text/plain; charset=utf-8
Accept-Ranges: bytes</programlisting>
<para>For a complete description of HTTP 1.1 header definitions,
see <link
xlink:href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14"
>Header Field Definitions</link>.</para>
<section xml:id="storage_account_services">
<title>Accounts</title>
<para>Lists containers for a specified account. Creates,
updates, and deletes account metadata. Shows account
metadata.</para>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource
href="../wadls/object-api/src/os-object-api-1.0.wadl#account">
<wadl:method href="#showAccountDetails"/>
<wadl:method href="#updateAccountMeta"/>
<wadl:method href="#showAccountMeta"/>
</wadl:resource>
</wadl:resources>
</section>
<section xml:id="storage_container_services">
<title>Containers</title>
<para>Lists objects in a specified container. Creates, shows
details for, and deletes containers. Creates, updates,
shows, and deletes container metadata.</para>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource
href="../wadls/object-api/src/os-object-api-1.0.wadl#container">
<wadl:method href="#showContainerDetails"/>
<wadl:method href="#createContainer"/>
<wadl:method href="#deleteContainer"/>
<wadl:method href="#updateContainerMeta"/>
<wadl:method href="#showContainerMeta"/>
</wadl:resource>
</wadl:resources>
</section>
<section xml:id="storage_object_services">
<title>Objects</title>
<para>Creates, replaces, shows details for, and deletes
objects. Copies objects with another object with a new or
different name. Updates object metadata.</para>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource
href="../wadls/object-api/src/os-object-api-1.0.wadl#object">
<wadl:method href="#getObject"/>
<wadl:method href="#createOrReplaceObject"/>
<wadl:method href="#copyObject"/>
<wadl:method href="#deleteObject"/>
<wadl:method href="#showObjectMeta"/>
<wadl:method href="#updateObjectMeta"/>
</wadl:resource>
</wadl:resources>
</section>
</chapter>

View File

@ -0,0 +1,997 @@
<!ENTITY name '{name}'>
<!-- Common faults. -->
<!ENTITY commonFaults '<response xmlns="http://wadl.dev.java.net/2009/02">
<representation mediaType="application/xml"
element="csapi:computeFault"/>
<representation mediaType="application/json"/>
</response>'>
<!ENTITY fault503 '<response status="503" xmlns="http://wadl.dev.java.net/2009/02">
<representation mediaType="application/xml"
element="csapi:serviceUnavailable"/>
<representation mediaType="application/json"/>
</response>'>
<!ENTITY fault503macGeneration '<response status="503" xmlns="http://wadl.dev.java.net/2009/02">
<representation mediaType="application/xml"
element="csapi:macGenerationFailure"/>
<representation mediaType="application/json"/>
</response>'>
<!ENTITY fault400 '<response status="400" xmlns="http://wadl.dev.java.net/2009/02">
<representation mediaType="application/xml"
element="csapi:badRequest"/>
<representation mediaType="application/json"/>
</response>'>
<!ENTITY fault401 '<response status="401" xmlns="http://wadl.dev.java.net/2009/02">
<representation mediaType="application/xml"
element="csapi:unauthorized"/>
<representation mediaType="application/json"/>
</response>'>
<!ENTITY fault403 '<response status="403" xmlns="http://wadl.dev.java.net/2009/02">
<representation mediaType="application/xml"
element="csapi:forbidden"/>
<representation mediaType="application/json"/>
</response>'>
<!ENTITY fault404 '<response status="404" xmlns="http://wadl.dev.java.net/2009/02">
<representation mediaType="application/xml" element="csapi:NotFound"/>
<representation mediaType="application/json"/>
</response>'>
<!ENTITY fault408 '<response status="408" xmlns="http://wadl.dev.java.net/2009/02">
<representation mediaType="application/xml" element="csapi:timeout"/>
<representation mediaType="application/json"/>
</response>'>
<!ENTITY fault409 '<response status="409" xmlns="http://wadl.dev.java.net/2009/02">
<representation mediaType="application/xml" element="csapi:Conflict"/>
<representation mediaType="application/json"/>
</response>'>
<!ENTITY fault411 '<response status="411" xmlns="http://wadl.dev.java.net/2009/02">
<representation mediaType="application/xml" element="csapi:lengthRequired"/>
<representation mediaType="application/json"/>
</response>'>
<!ENTITY fault422 '<response status="422" xmlns="http://wadl.dev.java.net/2009/02">
<representation mediaType="application/xml" element="csapi:unprocessableEntity"/>
<representation mediaType="application/json"/>
</response>'>
<!-- Request headers -->
<!ENTITY accept-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02" name="Accept"
style="header" required="false" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>Instead of using the <code>format</code> query
parameter, set this header to
<code>application/json</code>,
<code>application/xml</code>, or
<code>text/xml</code>.</para>
</wadl:doc>
</param>'>
<!ENTITY account-meta-name-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Account-Meta-&name;" style="header" required="false"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>The account metadata. The <code>&name;</code> is
the name of metadata item that you want to add, update, or
delete. To delete this item, send an empty value in this
header.</para>
<para>You must specify a <code>X-Account-Meta-&name;</code>
header for each metadata item (for each
<code>&name;</code>) that you want to add, update, or
delete.</para></wadl:doc>
</param>'>
<!ENTITY account-meta-temp-url-key-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Account-Meta-Temp-URL-Key" style="header" required="false"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>The secret key value for temporary URLs.</para>
</wadl:doc>
</param>'>
<!ENTITY account-meta-temp-url-key-2-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Account-Meta-Temp-URL-Key-2" style="header"
required="false" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>A second secret key value for temporary URLs. The second
key enables you to rotate keys by having an old and new
key active at the same time.</para>
</wadl:doc>
</param>'>
<!ENTITY auth-token-requestHeader-optional '<param xmlns="http://wadl.dev.java.net/2009/02" name="X-Auth-Token"
style="header" required="false" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>Authentication token. If you omit this header, your
request fails unless the account owner has granted you
access through an access control list (ACL).</para>
</wadl:doc>
</param>'>
<!ENTITY auth-token-requestHeader-required '
<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Auth-Token" style="header" required="true"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xml:lang="EN">
<para>Authentication token.</para>
</wadl:doc>
</param>'>
<!ENTITY container-meta-name-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Container-Meta-&name;" style="header" required="false"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>The container metadata, where <code>&name;</code>
is the name of metadata item.</para>
<para>You must specify a <code>X-Container-Meta-&name;</code>
header for each metadata item (for each
<code>&name;</code>) that you want to add or
update.</para></wadl:doc>
</param>'>
<!ENTITY container-read-requestHeader '
<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Container-Read" style="header" required="false"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xml:lang="EN">
<para>Sets an ACL that grants read access.</para>
</wadl:doc>
</param>'>
<!ENTITY container-sync-key-requestHeader '
<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Container-Sync-Key" style="header" required="false"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xml:lang="EN">
<para>Sets the secret key for container synchronization.</para>
</wadl:doc>
</param>'>
<!ENTITY container-sync-to-requestHeader '
<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Container-Sync-To" style="header" required="false"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xml:lang="EN">
<para>Sets the destination for container synchronization.</para>
</wadl:doc>
</param>'>
<!ENTITY container-write-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Container-Write" style="header" required="false"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xml:lang="EN">
<para>Sets an ACL that grants write access.</para>
</wadl:doc>
</param>'>
<!ENTITY content-disposition-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="Content-Disposition" style="header"
required="false" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xml:lang="EN"><para>If set, specifies the override behavior for the browser.
For example, this header might specify that the browser use a
download program to save this file rather than show the file, which is the default.</para></wadl:doc>
</param>'>
<!ENTITY content-encoding-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="Content-Encoding" style="header"
required="false" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xml:lang="EN"><para>If set, the value of the
<code>Content-Encoding</code> metadata.</para></wadl:doc>
</param>'>
<!ENTITY content-length-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="Content-Length" style="header" required="true"
type="xsd:int">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xml:lang="EN"><para>The content length, which is
zero in this situation.</para></wadl:doc>
</param>'>
<!ENTITY content-length-requestHeader-putObj '<param xmlns="http://wadl.dev.java.net/2009/02" name="Content-Length"
style="header" required="false" type="xsd:int">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>Set to the length of the object content. Do not set
if chunked transfer encoding is being
used.</para></wadl:doc>
</param>'>
<!ENTITY content-type-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02" name="Content-Type"
style="header" required="false" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>Changes the MIME type for the
object.</para></wadl:doc>
</param>'>
<!ENTITY copy-from-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02" name="X-Copy-From"
style="header" required="false" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>If set, this is the name of an object used to create the
new object by copying the <code>X-Copy-From</code> object.
The value is in form <code>{container}/{object}</code>.
You must UTF-8-encode and then URL-encode the names of the
container and object before you include them in the
header.</para>
<para>Using &PUT; with <code>X-Copy-From</code> has the same
effect as using the &COPY; operation to copy an
object.</para></wadl:doc>
</param>'>
<!ENTITY delete-after-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02" name="X-Delete-After"
style="header" required="false" type="xsd:int">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>Specifies the number of seconds after which the
object is removed. Internally, the Object Storage system
stores this value in the <code>X-Delete-At</code> metadata
item.</para></wadl:doc>
</param>'>
<!ENTITY delete-at-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Delete-At" style="header" required="false"
type="xsd:int">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xml:lang="EN"><para>The certain date, in the
format of a UNIX Epoch timestamp, when the
object is removed.</para></wadl:doc>
</param>'>
<!ENTITY destination-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02" name="Destination"
style="header" required="true" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>The container and object name of the destination
object in the form of <code>/container/object</code>. You
must UTF-8-encode and then URL-encode the names of the
destination container and object before you include them
in this header.</para></wadl:doc>
</param>'>
<!ENTITY ETag-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02" name="ETag"
style="header" required="false" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>The MD5 checksum value of the request body. For
example, the MD5 checksum value of the object content. You
are strongly recommended to compute the MD5 checksum value
of object content and include it in the request. This
enables the Object Storage API to check the integrity of
the upload. The value is not quoted.</para></wadl:doc>
</param>'>
<!ENTITY if-match-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="If-Match" style="header" required="false"
type="xsd:dict">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xml:lang="EN">
<para>See <link
xlink:href="http://www.ietf.org/rfc/rfc2616.txt"
>http://www.ietf.org/rfc/rfc2616.txt</link>.</para></wadl:doc>
</param>'>
<!ENTITY if-modified-since-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="If-Modified-Since" style="header" required="false"
type="xsd:dict">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xml:lang="EN">
<para>See <link
xlink:href="http://www.ietf.org/rfc/rfc2616.txt"
>http://www.ietf.org/rfc/rfc2616.txt</link>.</para></wadl:doc>
</param>'>
<!ENTITY if-none-match-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="If-None-Match" style="header" required="false"
type="xsd:dict">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xml:lang="EN">
<para>See <link
xlink:href="http://www.ietf.org/rfc/rfc2616.txt"
>http://www.ietf.org/rfc/rfc2616.txt</link>.</para></wadl:doc>
</param>'>
<!ENTITY if-unmodified-since-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="If-Unmodified-Since" style="header" required="false"
type="xsd:dict">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>See <link
xlink:href="http://www.ietf.org/rfc/rfc2616.txt"
>http://www.ietf.org/rfc/rfc2616.txt</link>.</para></wadl:doc>
</param>'>
<!ENTITY newest-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02" name="X-Newest"
style="header" type="xsd:boolean">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>If set to <literal>True</literal>, Object Storage
queries all replicas to return the most recent one. If you
omit this header, Object Storage responds faster after it
finds one valid replica. Because setting this header to
<literal>True</literal> is more expensive for the back
end, use it only when it is absolutely
needed.</para></wadl:doc>
</param>'>
<!ENTITY object-manifest-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Object-Manifest" style="header" required="false"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xml:lang="EN">
<para>Set to specify that this is a dynamic large object manifest object.
The value is the container and object name prefix of the segment objects
in the form <code>container/prefix</code>. You must UTF-8-encode and then
URL-encode the names of the container and prefix before you
include them in this header.</para>
</wadl:doc>
</param>'>
<!ENTITY object-meta-name-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Object-Meta-&name;" style="header" required="false"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>The container metadata, where <code>&name;</code>
is the name of the metadata item.</para>
<para>You must specify a <code>X-Object-Meta-&name;</code>
header for each metadata item (for each
<code>&name;</code>) that you want to add or
update.</para></wadl:doc>
</param>'>
<!ENTITY range-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02" name="Range"
style="header" required="false" type="xsd:dict">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>The ranges of content to get.</para>
<para>You can use the <code>Range</code> header to get
portions of data by using one or more range
specifications. To specify many ranges, separate the range
specifications with a comma.</para>
<para>The types of range specifications are:</para>
<itemizedlist>
<listitem>
<para><emphasis role="bold">Byte range
specification</emphasis>. Use
FIRST_BYTE_OFFSET to specify the start of the data
range, and LAST_BYTE_OFFSET to specify the end.
You can omit the LAST_BYTE_OFFSET and if you do,
the value defaults to the offset of the last byte
of data.</para>
</listitem>
<listitem>
<para><emphasis role="bold">Suffix byte range
specification</emphasis>. Use LENGTH bytes to
specify the length of the data range.</para>
</listitem>
</itemizedlist>
<para>The following forms of the header specify the following
ranges of data:</para>
<itemizedlist>
<listitem><para><code>Range: bytes=-5</code>. The last
five bytes.</para></listitem>
<listitem>
<para><code>Range: bytes=10-15</code>. The five bytes
of data after a 10-byte offset.</para></listitem>
<listitem>
<para><code>Range: bytes=10-15,-5</code>. A multi-part
response that contains the last five bytes and the
five bytes of data after a 10-byte offset. The
<code>Content-Type</code> of the response is
then
<code>multipart/byteranges</code>.</para></listitem>
<listitem>
<para><code>Range: bytes=4-6</code>. Bytes 4 to 6
inclusive.</para></listitem>
<listitem>
<para><code>Range: bytes=2-2</code>. Byte 2, the third
byte of the data.</para></listitem>
<listitem>
<para><code>Range: bytes=6-</code>. Byte 6 and
after.</para></listitem>
<listitem>
<para><code>Range: bytes=1-3,2-5</code>. A multi-part
response that contains bytes 1 to 3 inclusive, and
bytes 2 to 5 inclusive. The
<code>Content-Type</code> of the response is
then
<code>multipart/byteranges</code>.</para></listitem>
</itemizedlist></wadl:doc>
</param>'>
<!ENTITY remove-account-meta-name-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Remove-Account-Meta-&name;" style="header" required="false"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>The custom metadata to remove. The <code>&name;</code>
value in the header is the name of the metadata
item.</para>
<para>If the tool you use to communicate with Object Storage,
such as older versions of cURL, does not support empty
headers, send the
<code>X-Remove-Account-Meta-&name;:
arbitrary value</code> header, where
<code>&name;</code> is the name of the metadata item
that you want to remove. For example,
<code>X-Remove-Account-Meta-Book: x</code>. The
arbitrary value is ignored.</para>
<para>You must specify a
<code>X-Remove-Account-Meta-&name;</code> header for
each metadata item (for each <code>&name;</code>) that you
want to remove.</para></wadl:doc>
</param>'>
<!ENTITY remove-container-meta-name-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Remove-Container-Meta-&name;" style="header" required="false"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>Set the <code>X-Remove-Container-Meta-&name;</code> header
to any value to
remove the metadata item. The <code>&name;</code>
value in the header is the name of the metadata
item to remove.</para></wadl:doc>
</param>'>
<!ENTITY remove-container-name-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Remove-Container-&name;" style="header"
required="false" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>Removes the metadata item named
<code>{name}</code>. For example,
<code>X-Remove-Container-Read</code> removes the
<code>X-Container-Read</code> metadata item.</para>
</wadl:doc>
</param>'>
<!ENTITY remove-versions-location-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Remove-Versions-Location" style="header" required="false"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xml:lang="EN">
<para>Set to any value to disable versioning.</para>
</wadl:doc>
</param>'>
<!ENTITY transfer-encoding-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="Transfer-Encoding" style="header" required="false"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>Set to <code>chunked</code> to enable chunked transfer
encoding. If used, do not set the
<code>Content-Length</code> header to a non-zero
value.</para>
</wadl:doc>
</param>'>
<!ENTITY versions-location-requestHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Versions-Location" style="header" required="false"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>Enables versioning on this container. The value is the
name of another container. You must UTF-8-encode and then
URL-encode the name before you include it in the header.
To disable versioning, set the header to an empty
string.</para>
</wadl:doc>
</param>'>
<!--! Request parameters -->
<!ENTITY delimiter-requestParameter '<param xmlns="http://wadl.dev.java.net/2009/02" name="delimiter"
style="query" required="false" type="xsd:char">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>Delimiter value, which returns the object names
that are nested in the container.</para></wadl:doc>
</param>'>
<!ENTITY end-marker-requestParameter '<param xmlns="http://wadl.dev.java.net/2009/02" name="end_marker"
style="query" required="false" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>For a string value <replaceable>x</replaceable>,
returns container names that are less in value than the specified
marker.</para></wadl:doc>
</param>'>
<!ENTITY expires-requestParameter '<param xmlns="http://wadl.dev.java.net/2009/02" name="expires"
style="query" required="false" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>Used with temporary URLs to specify the expiry time of the signature. For
more information about temporary URLs, see <link
xlink:href="http://docs.openstack.org/api/openstack-object-storage/1.0/content/"
><citetitle>OpenStack Object Storage API v1
Reference</citetitle></link>.</para></wadl:doc>
</param>'>
<!ENTITY format-requestParameter '<param xmlns="http://wadl.dev.java.net/2009/02" name="format"
style="query" required="false" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>The response format. Valid values are
<code>json</code>, <code>xml</code>, or
<code>plain</code>. The default is
<code>plain</code>.</para>
<para>If you append the <code>format=xml</code> or
<code>format=json</code> query parameter to the
storage account URL, the response shows extended container
information serialized in the specified format.</para>
<para>If you append the <code>format=plain</code> query
parameter, the response lists the container names
separated by newlines.</para></wadl:doc>
</param>'>
<!ENTITY limit-requestParameter '<param xmlns="http://wadl.dev.java.net/2009/02" name="limit"
style="query" required="false" type="xsd:int">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>For an integer value <replaceable>n</replaceable>,
limits the number of results to <replaceable>n</replaceable>.</para></wadl:doc>
</param>'>
<!ENTITY marker-requestParameter '<param xmlns="http://wadl.dev.java.net/2009/02" name="marker"
style="query" required="false" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>For a string value <replaceable>x</replaceable>,
returns container names that are greater in value than the
specified marker.</para></wadl:doc>
</param>'>
<!ENTITY multipart-manifest-put-requestParameter '<param xmlns="http://wadl.dev.java.net/2009/02"
name="multipart-manifest" style="query" required="false"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>If <code>?multipart-manifest=put</code>, the object is a static
large object manifest and the body contains the
manifest.</para></wadl:doc>
</param>'>
<!ENTITY multipart-manifest-get-requestParameter '<param xmlns="http://wadl.dev.java.net/2009/02"
name="multipart-manifest" style="query" required="false"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>If you include the <code>multipart-manifest=get</code> query
parameter and the object is a large object, the
object contents are not returned. Instead, the manifest is
returned in the <code>X-Object-Manifest</code> response
header for dynamic large objects or in the response body
for static large objects.</para></wadl:doc>
</param>'>
<!ENTITY multipart-manifest-delete-requestParameter '<param xmlns="http://wadl.dev.java.net/2009/02"
name="multipart-manifest" style="query" required="false"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>If you include the
<code>multipart-manifest=delete</code> query parameter
and the object is a static large object, the segment
objects and the manifest object are deleted. If you omit
the <code>multipart-manifest=delete</code> query parameter
and this is a static large object, the manifest object is
deleted and the segment objects are not deleted.</para>
<para>For a bulk delete, the response body looks the same as
it does for a normal bulk delete. In contrast, a plain
object &DELETE; response has an empty
body.</para></wadl:doc>
</param>'>
<!ENTITY path-requestParameter '<param xmlns="http://wadl.dev.java.net/2009/02" name="path"
style="query" required="false" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>For a string value, returns the object names that are nested
in the pseudo path. Equivalent to setting delimiter to <code>/</code>
and <code>prefix</code> to the path with a <code>/</code> at the
end.</para></wadl:doc>
</param>'>
<!ENTITY prefix-requestParameter '<param xmlns="http://wadl.dev.java.net/2009/02" name="prefix"
style="query" required="false" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>Prefix value. Object
names in the response begin with this value.</para></wadl:doc>
</param>'>
<!ENTITY signature-requestParameter '<param xmlns="http://wadl.dev.java.net/2009/02" name="signature"
style="query" required="false" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>Used with temporary URLs to sign the request. For
more information about temporary URLs, see <link
xlink:href="http://docs.openstack.org/api/openstack-object-storage/1.0/content/"
><citetitle>OpenStack Object Storage API v1
Reference</citetitle></link>.</para></wadl:doc>
</param>'>
<!-- Response headers -->
<!ENTITY accept-ranges-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="Accept-Ranges" style="header" required="true"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>The type of ranges that the object accepts.</para>
</wadl:doc>
</param>'>
<!ENTITY account-bytes-used-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Account-Bytes-Used" style="header" required="true"
type="xsd:int">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>The total number of bytes that are stored in Object
Storage for the account.</para>
</wadl:doc>
</param>'>
<!ENTITY account-container-count-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Account-Container-Count" style="header" required="true"
type="xsd:int">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>The number of containers.</para>
</wadl:doc>
</param>'>
<!ENTITY account-meta-name-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Account-Meta-&name;" style="header" required="false"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>The custom account metadata item, where
<code>&name;</code> is the name of the metadata
item.</para>
<para>One <code>X-Account-Meta-&name;</code> response header
appears for each metadata item (for each
<code>&name;</code>).</para>
</wadl:doc>
</param>'>
<!ENTITY account-meta-temp-url-key-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Account-Meta-Temp-URL-Key" style="header" required="false"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>The secret key value for temporary URLs. If not set,
this header is not returned by this operation.</para>
</wadl:doc>
</param>'>
<!ENTITY account-meta-temp-url-key-2-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Account-Meta-Temp-URL-Key-2" style="header"
required="false" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>A second secret key value for temporary URLs. If not set,
this header is not returned by this operation.</para>
</wadl:doc>
</param>'>
<!ENTITY account-object-count-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Account-Object-Count" style="header" required="true"
type="xsd:int">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>The number of objects in the account.</para>
</wadl:doc>
</param>'>
<!ENTITY container-bytes-used-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Container-Bytes-Used" style="header"
required="true" type="xsd:int">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xml:lang="EN"><para>The count of bytes used in
total.</para></wadl:doc>
</param>'>
<!ENTITY container-object-count-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Container-Object-Count" style="header"
required="true" type="xsd:int">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xml:lang="EN"><para>The number of
objects.</para></wadl:doc>
</param>'>
<!ENTITY container-read-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Container-Read" style="header" required="false"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xml:lang="EN">
<para>The ACL that grants read access. If not set,
this header is not returned by this operation.</para>
</wadl:doc>
</param>'>
<!ENTITY container-sync-to-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Container-Sync-To" style="header" required="false"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xml:lang="EN">
<para>The destination for container synchronization. If not set,
this header is not returned by this operation.</para>
</wadl:doc>
</param>'>
<!ENTITY container-sync-key-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Container-Sync-Key" style="header" required="false"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xml:lang="EN">
<para>The secret key for container synchronization. If not set,
this header is not returned by this operation.</para>
</wadl:doc>
</param>'>
<!ENTITY container-write-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Container-Write" style="header" required="false"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xml:lang="EN">
<para>The ACL that grants write access. If not set,
this header is not returned by this operation.</para>
</wadl:doc>
</param>'>
<!ENTITY container-meta-name-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Container-Meta-&name;" style="header" required="true"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>The custom container metadata item, where
<code>&name;</code> is the name of the metadata
item.</para>
<para>One <code>X-Container-Meta-&name;</code> response header
appears for each metadata item (for each
<code>&name;</code>).</para></wadl:doc>
</param>'>
<!ENTITY content-disposition-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="Content-Disposition" style="header" required="false"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>If set, specifies the override behavior for the browser.
For example, this header might specify that the browser use a
download program to save this file rather than show the file, which is the default.</para>
<para>If not set, this header is not returned by this
operation.</para></wadl:doc>
</param>'>
<!ENTITY content-encoding-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="Content-Encoding" style="header"
required="false" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xml:lang="EN"><para>If set, the value of the
<code>Content-Encoding</code> metadata.</para>
<para>If not set,
this header is not returned by this operation.</para></wadl:doc>
</param>'>
<!ENTITY content-length-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02" name="Content-Length"
style="header" required="true" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>The length of the object content in the response
body, in bytes.</para></wadl:doc>
</param>'>
<!ENTITY content-length-responseHeader-HEAD '<param xmlns="http://wadl.dev.java.net/2009/02" name="Content-Length"
style="header" required="true" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>&HEAD; operations do not return content. However,
in this operation the value in the
<code>Content-Length</code> header is not the size of
the response body. Instead it contains the size of the
object, in bytes.</para></wadl:doc>
</param>'>
<!ENTITY content-length-responseHeader-NAMES '<param xmlns="http://wadl.dev.java.net/2009/02" name="Content-Length"
style="header" required="true" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>The length of the response body that contains the
list of names. If the operation fails, this value is the
length of the error text in the response
body.</para></wadl:doc>
</param>'>
<!ENTITY content-length-responseHeader-OP '<param xmlns="http://wadl.dev.java.net/2009/02" name="Content-Length"
style="header" required="true" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>If the operation succeeds, this value is zero (0).
If the operation fails, this value is the length of the
error text in the response body.</para></wadl:doc>
</param>'>
<!ENTITY content-type-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02" name="Content-Type"
style="header" required="true" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>The MIME type of the object.</para></wadl:doc>
</param>'>
<!ENTITY content-type-responseHeader-NAMES '<param xmlns="http://wadl.dev.java.net/2009/02" name="Content-Type"
style="header" required="true" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>The MIME type of the list of names. If the
operation fails, this value is the MIME type of the error
text in the response body.</para></wadl:doc>
</param>'>
<!ENTITY content-type-responseHeader-OP '<param xmlns="http://wadl.dev.java.net/2009/02" name="Content-Type"
style="header" required="true" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>If the operation fails, this value is the MIME type
of the error text in the response body.</para></wadl:doc>
</param>'>
<!ENTITY copied-from-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02" name="X-Copied-From"
style="header" required="false" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>For a copied object, shows the container and object name from which the new object was copied.
The value is in form <code>{container}/{object}</code>.</para></wadl:doc>
</param>'>
<!ENTITY copied-from-last-modified-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02" name="X-Copied-From-Last-Modified"
style="header" required="false" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>For a copied object, shows the last modified date and time for the
container and object name from which the new object was copied.</para></wadl:doc>
</param>'>
<!ENTITY date-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="Date" style="header" required="true"
type="xsd:datetime">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xml:lang="EN"><para>The transaction date and time.</para></wadl:doc>
</param>'>
<!ENTITY delete-after-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Delete-After" style="header" required="true"
type="xsd:int">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xml:lang="EN"><para>The certain date, in the
format of a UNIX Epoch timestamp, after which
the object is removed.</para></wadl:doc>
</param>'>
<!ENTITY delete-at-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02" name="X-Delete-At"
style="header" required="false" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>If set, the time when the object will be deleted by
the system in the format of a UNIX Epoch
timestamp.</para>
<para>If not set,
this header is not returned by this operation.</para></wadl:doc>
</param>'>
<!ENTITY ETag-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02" name="ETag"
style="header" required="true" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>For objects smaller than 5 GB, this value is the
MD5 checksum of the object content. The value is not
quoted.</para>
<para>For manifest objects, this value is the MD5 checksum of
the concatenated string of MD5 checksums and ETags for
each of the segments in the manifest, and not the MD5
checksum of the content that was downloaded. Also the
value is enclosed in double-quote characters.</para>
<para>You are strongly recommended to compute the MD5 checksum
of the response body as it is received and compare this
value with the one in the ETag header. If they differ, the
content was corrupted, so retry the
operation.</para></wadl:doc>
</param>'>
<!ENTITY ETag-responseHeader-COPY '<param xmlns="http://wadl.dev.java.net/2009/02" name="ETag"
style="header" required="true" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>The
MD5 checksum of the copied object content. The value is not
quoted.</para>
</wadl:doc>
</param>'>
<!ENTITY ETag-responseHeader-PUT '<param xmlns="http://wadl.dev.java.net/2009/02" name="ETag"
style="header" required="true" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>For objects smaller than 5 GB, this value is the
MD5 checksum of the uploaded object content. The value is
not quoted.</para>
<para>If you supplied an <code>ETag</code> request header and
the operation was successful, the values are the
same.</para>
<para>If you did not supply an <code>ETag</code> request
header, check the <code>ETag</code> response header value
against the object content you have just uploaded.</para>
<para>For static large objects, this value is the MD5 checksum
of the concatenated string of MD5 checksums and ETags for
each of the segments in the manifest, and not the MD5
checksum of the content that was uploaded. Also the value
is enclosed in double-quotes. For dynamic large objects,
the value is the MD5 checksum of the empty
string.</para></wadl:doc>
</param>'>
<!ENTITY last-modified-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02" name="Last-Modified"
style="header" required="true" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>The date and time that the object was created or
the last time that the metadata was
changed.</para></wadl:doc>
</param>'>
<!ENTITY object-manifest-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Object-Manifest" style="header" required="false"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>If set, to this is a dynamic large object manifest object.
The value is the container and object name prefix of the segment objects
in the form <code>container/prefix</code>.</para></wadl:doc>
</param>'>
<!ENTITY object-meta-name-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Object-Meta-&name;" style="header" required="true"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>The custom object metadata item, where
<code>&name;</code> is the name of the metadata
item.</para>
<para>One <code>X-Object-Meta-&name;</code> response header
appears for each metadata item (for each
<code>&name;</code>).</para></wadl:doc>
</param>'>
<!ENTITY static-large-object-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Static-Large-Object" style="header" required="true"
type="xsd:bool">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>Set to <code>True</code> if this object is a static
large object manifest object.</para></wadl:doc>
</param>'>
<!ENTITY trans-id-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02" name="X-Trans-Id"
style="header" required="true" type="csapi:uuid">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN"
><para>A unique transaction identifier for this request.
Your service provider might need this value if you report
a problem.</para></wadl:doc>
</param>'>
<!ENTITY versions-location-responseHeader '<param xmlns="http://wadl.dev.java.net/2009/02"
name="X-Versions-Location" style="header" required="true"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>Enables versioning on this container. The value is the
name of another container. You must UTF-8-encode and then
URL-encode the name before you include it in the header.
To disable versioning, set the header to an empty
string.</para>
</wadl:doc>
</param>'>
<!-- Response fields -->
<!ENTITY bytes-responseField '<param xmlns="http://wadl.dev.java.net/2009/02"
name="bytes" style="plain" required="true" type="xsd:int">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>The total number of bytes that are stored in Object
Storage for the account.</para>
</wadl:doc>
</param>'>
<!ENTITY content-type-responseField '<param xmlns="http://wadl.dev.java.net/2009/02"
name="content_type" style="plain" required="true"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>The content type of the object.</para>
</wadl:doc>
</param>'>
<!ENTITY count-responseField '<param xmlns="http://wadl.dev.java.net/2009/02"
name="count" style="plain" required="true" type="xsd:int">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>The number of objects in the container.</para>
</wadl:doc>
</param>'>
<!ENTITY hash-responseField '<param xmlns="http://wadl.dev.java.net/2009/02" name="hash"
style="plain" required="true" type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>The MD5 checksum value of the object content.</para>
</wadl:doc>
</param>'>
<!ENTITY last-modified-responseField '<param xmlns="http://wadl.dev.java.net/2009/02"
name="last_modified" style="plain" required="true"
type="xsd:datetime">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>The date and time when the object was last modified.</para>
</wadl:doc>
</param>'>
<!ENTITY name-responseField '<param xmlns="http://wadl.dev.java.net/2009/02"
name="name" style="plain" required="true"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xmlns:wadl="http://wadl.dev.java.net/2009/02" xml:lang="EN">
<para>The name of the container.</para>
</wadl:doc>
</param>'>
<!-- Useful for describing APIs -->
<!ENTITY GET '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
<!ENTITY HEAD '<command xmlns="http://docbook.org/ns/docbook">HEAD</command>'>
<!ENTITY COPY '<command xmlns="http://docbook.org/ns/docbook">COPY</command>'>
<!ENTITY PUT '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
<!ENTITY POST '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
curl -i https://23.253.72.207/v1/$account?format=json -X GET -H "X-Auth-Token: $token"

View File

@ -0,0 +1,2 @@
curl -i https://23.253.72.207/v1/$account?format=xml \
-X GET -H "X-Auth-Token: $token"

View File

@ -0,0 +1,11 @@
HTTP/1.1 200 OK
Content-Length: 96
X-Account-Object-Count: 1
X-Timestamp: 1389453423.35964
X-Account-Meta-Subject: Literature
X-Account-Bytes-Used: 14
X-Account-Container-Count: 2
Content-Type: application/json; charset=utf-8
Accept-Ranges: bytes
X-Trans-Id: tx274a77a8975c4a66aeb24-0052d95365
Date: Fri, 17 Jan 2014 15:59:33 GMT

View File

@ -0,0 +1,11 @@
HTTP/1.1 200 OK
Content-Length: 262
X-Account-Object-Count: 1
X-Timestamp: 1389453423.35964
X-Account-Meta-Subject: Literature
X-Account-Bytes-Used: 14
X-Account-Container-Count: 2
Content-Type: application/xml; charset=utf-8
Accept-Ranges: bytes
X-Trans-Id: tx69f60bc9f7634a01988e6-0052d9544b
Date: Fri, 17 Jan 2014 16:03:23 GMT

View File

@ -0,0 +1,12 @@
[
{
"count":0,
"bytes":0,
"name":"janeausten"
},
{
"count":1,
"bytes":14,
"name":"marktwain"
}
]

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<account name="my_account">
<container>
<name>janeausten</name>
<count>0</count>
<bytes>0</bytes>
</container>
<container>
<name>marktwain</name>
<count>1</count>
<bytes>14</bytes>
</container>
</account>

View File

@ -0,0 +1,3 @@
GET /{api_version}/{account} HTTP/1.1
Host: storage.swiftdrive.com
X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb

View File

@ -1,9 +1,8 @@
HTTP/1.1 200 Ok
Date: Thu, 07 Jun 2010 18:57:07 GMT
Server: Apache
Content-Type: text/plain; charset=UTF-8
Content-Length: 32
images
movies
documents

View File

@ -1,4 +0,0 @@
[
{"name":"test_container_1", "count":2, "bytes":78},
{"name":"test_container_2", "count":1, "bytes":17}
]

View File

@ -1,5 +0,0 @@
PUT /v1/<account>/<container>/<destobject> HTTP/1.1
Host: storage.swiftdrive.com
X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb
X-Copy-From: /<container>/<sourceobject>
Content-Length: 0

View File

@ -1,4 +0,0 @@
PUT /v1/<account>/<container> HTTP/1.1
Host: storage.clouddrive.com
X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb
X-Container-Meta-InspectedBy: JackWolf

View File

@ -1,11 +0,0 @@
PUT /v1/<account>/<container>/<object> HTTP/1.1
Host: storage.swiftdrive.com
X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb
ETag: 8a964ee2a5e88be344f36c22562a6486
Content-Length: 512000
X-Delete-At: 1339429105
Content-Disposition: attachment; filename=platmap.mp4
Content-Type: video/mp4
Content-Encoding: gzip
X-Object-Meta-PIN: 1234
[ ...object content... ]

View File

@ -1,4 +0,0 @@
POST /<api version>/<account> HTTP/1.1
Host: storage.clouddrive.com
X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb
X-Remove-Account-Meta-Book: x

View File

@ -1,4 +0,0 @@
POST /<api version>/<account> HTTP/1.1
Host: storage.clouddrive.com
X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb
X-Remove-Account-Meta-Book: x

View File

@ -1,4 +0,0 @@
POST /<api version>/<account> HTTP/1.1
Host: storage.clouddrive.com
X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb
X-Remove-Account-Meta-Book: x

View File

@ -1,5 +0,0 @@
HTTP/1.1 204 No Content
Date: Thu, 07 Jun 2010 18:57:07 GMT
Server: Apache
X-Account-Container-Count: 3
X-Account-Bytes-Used: 323479

View File

@ -1,4 +0,0 @@
HTTP/1.1 200 OK
Date: Tue, 25 Nov 2008 19:39:13 GMT
Server: Apache
Content-Type: application/json; charset=utf-8

View File

@ -1,4 +0,0 @@
GET /<api version>/<account>?format=json HTTP/1.1
Host: storage.swiftdrive.com
Content-Length: 0
X-Storage-Token: 182f9c0af0e828cfe3281767d29d19f4

View File

@ -1,4 +0,0 @@
GET /<api version>/<account>?format=xml HTTP/1.1
Host: storage.swiftdrive.com
Content-Length: 0
X-Storage-Token: 182f9c0af0e828cfe3281767d29d19f4

View File

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<account name="MichaelBarton">
<container>
<name>test_container_1</name>
<count>2</count>
<bytes>78</bytes>
</container>
<container>
<name>test_container_2</name>
<count>1</count>
<bytes>17</bytes>
</container>
</account>

View File

@ -1,6 +0,0 @@
HTTP/1.1 204 No Content
Date: Wed, 11 Jul 2010 19:37:41 GMT
Content-type: text/html
X-Container-Object-Count: 7
X-Container-Bytes-Used: 413
X-Container-Meta-InspectedBy: JackWolf

View File

@ -1,8 +0,0 @@
HTTP/1.1 200 Ok
Date: Wed, 11 Jul 2010 19:37:41 GMT
Server: Apache
Last-Modified: Fri, 12 Jun 2010 13:40:18 GMT
ETag: b0dffe8254d152d8fd28f3c5e0404a10
Content-type: text/html
Content-Length: 512000
[ ...object content... ]

View File

@ -1,11 +0,0 @@
HTTP/1.1 200 OK
Date: Thu, 07 Jun 2010 20:59:39 GMT
Server: Apache
Last-Modified: Fri, 12 Jun 2010 13:40:18 GMT
ETag: 8a964ee2a5e88be344f36c22562a6486
Content-Length: 512000
Content-Type: text/plain; charset=UTF-8
X-Object-Meta-Meat: Bacon
X-Object-Meta-Fruit: Bacon
X-Object-Meta-Veggie: Bacon
X-Object-Meta-Dairy: Bacon

View File

@ -0,0 +1 @@
Goodbye World!

View File

@ -0,0 +1 @@
Hello World Again!

View File

@ -1,3 +0,0 @@
GET /<api version>/<account> HTTP/1.1
Host: storage.swiftdrive.com
X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb

View File

@ -0,0 +1,10 @@
HTTP/1.1 200 OK
Content-Length: 341
X-Container-Object-Count: 2
Accept-Ranges: bytes
X-Container-Meta-Book: TomSawyer
X-Timestamp: 1389727543.65372
X-Container-Bytes-Used: 26
Content-Type: application/json; charset=utf-8
X-Trans-Id: tx26377fe5fab74869825d1-0052d6bdff
Date: Wed, 15 Jan 2014 16:57:35 GMT

View File

@ -0,0 +1,10 @@
HTTP/1.1 200 OK
Content-Length: 500
X-Container-Object-Count: 2
Accept-Ranges: bytes
X-Container-Meta-Book: TomSawyer
X-Timestamp: 1389727543.65372
X-Container-Bytes-Used: 26
Content-Type: application/xml; charset=utf-8
X-Trans-Id: txc75ea9a6e66f47d79e0c5-0052d6be76
Date: Wed, 15 Jan 2014 16:59:35 GMT

View File

@ -0,0 +1,16 @@
[
{
"hash":"451e372e48e0f6b1114fa0724aa79fa1",
"last_modified":"2014-01-15T16:41:49.390270",
"bytes":14,
"name":"goodbye",
"content_type":"application/octet-stream"
},
{
"hash":"ed076287532e86365e841e92bfc50d8c",
"last_modified":"2014-01-15T16:37:43.427570",
"bytes":12,
"name":"helloworld",
"content_type":"application/octet-stream"
}
]

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<container name="marktwain">
<object>
<name>goodbye</name>
<hash>451e372e48e0f6b1114fa0724aa79fa1</hash>
<bytes>14</bytes>
<content_type>application/octet-stream</content_type>
<last_modified>2014-01-15T16:41:49.390270</last_modified>
</object>
<object>
<name>helloworld</name>
<hash>ed076287532e86365e841e92bfc50d8c</hash>
<bytes>12</bytes>
<content_type>application/octet-stream</content_type>
<last_modified>2014-01-15T16:37:43.427570</last_modified>
</object>
</container>

View File

@ -1,12 +0,0 @@
[
{"name":"test_obj_1",
"hash":"4281c348eaf83e70ddce0e07221c3d28",
"bytes":14,
"content_type":"application\/octet-stream",
"last_modified":"2009-02-03T05:26:32.612278"},
{"name":"test_obj_2",
"hash":"b039efe731ad111bc1b0ef221c3849d0",
"bytes":64,
"content_type":"application\/octet-stream",
"last_modified":"2009-02-03T05:26:32.612278"}
]

View File

@ -1,5 +0,0 @@
POST /v1/<account> HTTP/1.1
Host: storage.clouddrive.com
X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb
X-Account-Meta-Book: MobyDick
X-Account-Meta-Subject: Whaling

View File

@ -1,5 +0,0 @@
POST /v1/<account>/<container> HTTP/1.1
Host: storage.clouddrive.com
X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb
X-Container-Meta-Book: MobyDick
X-Container-Meta-Subject: Whaling

View File

@ -1,5 +0,0 @@
POST /v1/<account>/<container>/<object> HTTP/1.1
Host: storage.swiftdrive.com
X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb
X-Object-Meta-Fruit: Apple
X-Object-Meta-Veggie: Carrot

View File

@ -40,7 +40,7 @@
<plugin>
<groupId>com.rackspace.cloud.api</groupId>
<artifactId>clouddocs-maven-plugin</artifactId>
<version>1.12.2</version>
<version>1.13.0</version>
</plugin>
</plugins>
</build>