deltacloud-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From lut...@apache.org
Subject [3/16] site: remove files from tmp/site/
Date Wed, 22 Aug 2012 22:13:05 GMT
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d9b227db/site/tmp/compiled_content
----------------------------------------------------------------------
diff --git a/site/tmp/compiled_content b/site/tmp/compiled_content
deleted file mode 100644
index d68b481..0000000
--- a/site/tmp/compiled_content
+++ /dev/null
@@ -1,33171 +0,0 @@
-{:	data{"/assets/less/tables/{:default{:raw"�//
-// Tables.less
-// Tables for, you guessed it, tabular data
-// ----------------------------------------
-
-
-// BASE TABLES
-// -----------------
-
-table {
-  max-width: 100%;
-  border-collapse: collapse;
-  border-spacing: 0;
-}
-
-// BASELINE STYLES
-// ---------------
-
-.table {
-  width: 100%;
-  margin-bottom: @baseLineHeight;
-  // Cells
-  th,
-  td {
-    padding: 8px;
-    line-height: @baseLineHeight;
-    text-align: left;
-    vertical-align: top;
-    border-top: 1px solid #ddd;
-  }
-  th {
-    font-weight: bold;
-  }
-  // Bottom align for column headings
-  thead th {
-    vertical-align: bottom;
-  }
-  // Remove top border from thead by default
-  thead:first-child tr th,
-  thead:first-child tr td {
-    border-top: 0;
-  }
-  // Account for multiple tbody instances
-  tbody + tbody {
-    border-top: 2px solid #ddd;
-  }
-}
-
-
-
-// CONDENSED TABLE W/ HALF PADDING
-// -------------------------------
-
-.table-condensed {
-  th,
-  td {
-    padding: 4px 5px;
-  }
-}
-
-
-// BORDERED VERSION
-// ----------------
-
-.table-bordered {
-  border: 1px solid #ddd;
-  border-collapse: separate; // Done so we can round those corners!
-  *border-collapse: collapsed; // IE7 can't round corners anyway
-  .border-radius(4px);
-  th + th,
-  td + td,
-  th + td,
-  td + th {
-    border-left: 1px solid #ddd;
-  }
-  // Prevent a double border
-  thead:first-child tr:first-child th,
-  tbody:first-child tr:first-child th,
-  tbody:first-child tr:first-child td {
-    border-top: 0;
-  }
-  // For first th or td in the first row in the first thead or tbody
-  thead:first-child tr:first-child th:first-child,
-  tbody:first-child tr:first-child td:first-child {
-    .border-radius(4px 0 0 0);
-  }
-  thead:first-child tr:first-child th:last-child,
-  tbody:first-child tr:first-child td:last-child {
-    .border-radius(0 4px 0 0);
-  }
-  // For first th or td in the first row in the first thead or tbody
-  thead:last-child tr:last-child th:first-child,
-  tbody:last-child tr:last-child td:first-child {
-    .border-radius(0 0 0 4px);
-  }
-  thead:last-child tr:last-child th:last-child,
-  tbody:last-child tr:last-child td:last-child {
-    .border-radius(0 0 4px 0);
-  }
-}
-
-
-// ZEBRA-STRIPING
-// --------------
-
-// Default zebra-stripe styles (alternating gray and transparent backgrounds)
-.table-striped {
-  tbody {
-    tr:nth-child(odd) td,
-    tr:nth-child(odd) th {
-      background-color: #f9f9f9;
-    }
-  }
-}
-
-
-// HOVER EFFECT
-// ------------
-// Placed here since it has to come after the potential zebra striping
-.table {
-  tbody tr:hover td,
-  tbody tr:hover th {
-    background-color: #f5f5f5;
-  }
-}
-
-
-// TABLE CELL SIZING
-// -----------------
-
-// Change the columns
-.tableColumns(@columnSpan: 1) {
-  float: none;
-  width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) - 16;
-  margin-left: 0;
-}
-table {
-  .span1     { .tableColumns(1); }
-  .span2     { .tableColumns(2); }
-  .span3     { .tableColumns(3); }
-  .span4     { .tableColumns(4); }
-  .span5     { .tableColumns(5); }
-  .span6     { .tableColumns(6); }
-  .span7     { .tableColumns(7); }
-  .span8     { .tableColumns(8); }
-  .span9     { .tableColumns(9); }
-  .span10    { .tableColumns(10); }
-  .span11    { .tableColumns(11); }
-  .span12    { .tableColumns(12); }
-}
-:pre@
-:	last@
-"/blob-storage/{;{	;"�G<br/>
-
-<div class="row">
-  <div class="span9">
-
-<h3 id="blob">Blob Storage</h3>
-
-<p>
-Blob storage represents a generic key ==> value data store. It is implemented by Amazon S3 or Rackspace Cloudfiles. In Deltacloud, the organisational unit of blob storage is a bucket. Individual data items - blobs are exposed as a subcollection under each bucket.
-</p>
-
-<p>
-A bucket has
-</p>
-
-<ul>
-  <li>a <strong>name</strong>;</li>
-  <li>a <strong>size</strong> (denotes the number of blobs it contains); and</li>
-  <li>a list of <strong>links to each blob</strong>.</li>
-</ul>
-
-<p>
-A blob has:
-</p>
-
-  </div>
-  <div class="span3">
-
-<ul class="nav nav-list well">
-  <li class="nav-header">
-    REST API
-  </li>
-  <li><a href="/rest-api.html">Introduction</a></li>
-  <li><a href="/api-entry-point.html">API entry point</a></li>
-  <li><a href="/compute-resources.html">Compute resources</a></li>
-  <li><a href="/storage-resources.html">Storage resources</a></li>
-  <ul class="nav nav-list">
-    <li><a href="/storage-resources.html#volumes">Storage volumes</a></li>
-    <li><a href="/storage-snapshots.html">Storage snaphots</a></li>
-    <li class="active"><a href="#blob">Blob storage</a></li>
-  </ul>
-</ul>
-
-  </div>
-</div>
-
-<ul>
-  <li>a <strong>content_length</strong>;</li>
-  <li>a <strong>content_type</strong>;</li>
-  <li>a <strong>last_modified</strong> timestamp;</li>
-  <li>a structure containing <strong>user_metadata</strong>;</li>
-  <li>a link to the blob <strong>content</strong>; and</li>
-  <li>a name of the bucket in which this blob exists.</li>
-</ul>
-
-<br/>
-
-<div class="tabbable">
-
-<ul class="nav nav-pills">
-  <li class="active"><a href="#tab1" data-toggle="tab">Get a list of all buckets</a></li>
-  <li><a href="#tab2" data-toggle="tab">Get the details of a bucket</a></li>
-  <li><a href="#tab3" data-toggle="tab">Create/delete a bucket</a></li>
-  <li><a href="#tab4" data-toggle="tab">Get the details of a blob</a></li>
-  <li><a href="#tab5" data-toggle="tab">Create/delete a blob</a></li>
-  <li>&nbsp;&nbsp;&nbsp;</li>
-  <li><a href="#tab6" data-toggle="tab">Get/update blob metadata</a></li>
-</ul>
-
-<hr>
-
-<div class="tab-content">
-  <div class="tab-pane tab-fade active" id="tab1">
-
-<h4>Get a list of all buckets</h4>
-
-<p>
-To return a list of all buckets belonging to the given cloud provider account use call <strong>GET /api/buckets</strong>. The response from the Deltacloud server includes the name and URI of each bucket but not the size or the list of blobs which the bucket contains. These details are available when a client requests (GETs) a specific bucket.
-</p>
-
-<p>Example request:</p>
-
-<pre>
-GET /api/buckets?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1
-Host: localhost:3001
-Accept: */*
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-HTTP/1.1 200 OK
-Content-Type: application/xml
-Content-Length: 597
-&lt;?xml version='1.0' encoding='utf-8' ?&gt;
-&lt;buckets&gt;
-  &lt;bucket href='http://localhost:3001/api/buckets/mybucket1' id='mybucket1'&gt;
-    &lt;name&gt;mybucket1&lt;/name&gt;
-    &lt;size&gt;&lt;/size&gt;
-  &lt;/bucket&gt;
-  &lt;bucket href='http://localhost:3001/api/buckets/mybucket2' id='mybucket2'&gt;
-    &lt;name&gt;mybucket2&lt;/name&gt;
-    &lt;size&gt;&lt;/size&gt;
-  &lt;/bucket&gt;
-  &lt;bucket href='http://localhost:3001/api/buckets/mybucket3' id='mybucket3'&gt;
-    &lt;name&gt;mybucket3&lt;/name&gt;
-    &lt;size&gt;&lt;/size&gt;
-  &lt;/bucket&gt;
-  &lt;bucket href='http://localhost:3001/api/buckets/mybucket4' id='mybucket4'&gt;
-    &lt;name&gt;mybucket4&lt;/name&gt;
-    &lt;size&gt;&lt;/size&gt;
-  &lt;/bucket&gt;
-&lt;/buckets&gt;
-</pre>
-
-  </div>
-  <div class="tab-pane tab-fade" id="tab2">
-
-<h4>Get the details of a specific bucket</h4>
-
-<p>
-To return details of a specific bucket use call <strong>GET /api/buckets/:id</strong>. The Deltacloud server response includes the size of the bucket and the URI for each blob object that it contains.
-</p>
-
-<p>Example request:</p>
-
-<pre>
-GET /api/buckets/mybucket1?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1
-Host: localhost:3001
-Accept: */*
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-HTTP/1.1 200 OK
-Content-Type: application/xml
-Content-Length: 534
-&lt;?xml version='1.0' encoding='utf-8' ?&gt;
-&lt;bucket href='http://localhost:3001/api/buckets/mybucket1' id='mybucket1'&gt;
-  &lt;name&gt;mybucket1&lt;/name&gt;
-  &lt;size&gt;4&lt;/size&gt;
-  &lt;blob href='http://localhost:3001/api/buckets/mybucket1/myfile' id='myfile'&gt;&lt;/blob&gt;
-  &lt;blob href='http://localhost:3001/api/buckets/mybucket1/an_object' id='an_object'&gt;&lt;/blob&gt;
-  &lt;blob href='http://localhost:3001/api/buckets/mybucket1/picture_blob' id='picture_blob'&gt;&lt;/blob&gt;
-  &lt;blob href='http://localhost:3001/api/buckets/mybucket1/some_blob id='some_blob'&gt;&lt;/blob&gt;
-&lt;/bucket&gt;
-</pre>
-
-  </div>
-  <div class="tab-pane tab-fade" id="tab3">
-
-<h4>Create a new bucket</h4>
-
-<p>
-To create a new bucket use call <strong>POST /api/buckets</strong>. You need to specify the name as a parameter. Optionally for Amazon S3 buckets, you can specify a bucket location with the location parameter, as per <a href="http://docs.amazonwebservices.com/general/latest/gr/index.html?rande.html">Regions and Endpoints for Amazon Simple Storage Service</a>. Valid values for S3 bucket location parameter are: "us-west-1", "EU", "ap-southeast-1", "ap-northeast-1" (while not specifying a location default to the "US Standard" region). Note that clients may specify parameters as multipart/form-data or using a content-type of application/x-www-form-urlencoded.
-</p>
-
-<p>
-On succesful creation this call will return a 201 HTTP status, specifying the URI of the newly created bucket in the <strong>Location</strong> header and the newly created bucket object in the response message body. The example request below shows how to create a new bucket in the EU (Ireland) region. If the given back-end cloud does not support locations then the location parameter is ignored.
-</p>
-
-<p>Example request:</p>
-
-<pre>
-POST /api/buckets?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1
-Host: localhost:3001
-Accept: */*
-Content-Length: 31
-Content-Type: application/x-www-form-urlencoded
-
-name=mybucketeurope&location=EU
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-HTTP/1.1 201 Created
-Location: http://localhost:3001/api/buckets/mybucketeurope
-Content-Type: application/xml
-Content-Length: 182
-
-&lt;?xml version='1.0' encoding='utf-8' ?&gt;
-&lt;bucket href='http://localhost:3001/api/buckets/mybucketeurope' id='mybucketeurope'&gt;
-  &lt;name&gt;mybucketeurope&lt;/name&gt;
-  &lt;size&gt;0&lt;/size&gt;
-&lt;/bucket&gt;
-</pre>
-
-<h4>Delete a bucket</h4>
-
-<p>
-To delete the specified bucket use call <strong>DELETE /api/buckets/:id</strong>. The bucket must be empty (otherwise the call will fail with an error response). A succesful operation will return <strong>204 No Content</strong>.
-</p>
-
-<p>Example request:</p>
-
-<pre>
-DELETE /api/buckets/mybucketeurope?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
-Host: localhost:3001
-Accept: */*
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-HTTP/1.1 204 No Content
-</pre>
-
-  </div>
-  <div class="tab-pane tab-fade" id="tab4">
-
-<h4>Get the details of a blob</h4>
-
-<p>
-To retrieve the details of a specific blob use call <strong>GET /api/buckets/:bucket_id/:blob_id</strong>. The blob content is not returned as part of the response but rather a URI is given from which the content may be retrieved as shown below.
-</p>
-
-<p>Example request:</p>
-
-<pre>
-GET /api/buckets/mariosbucket1/some_more_blob_woo?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
-Host: localhost:3001
-Accept: */*
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-HTTP/1.1 200 OK
-Content-Type: application/xml
-Content-Length: 586
-&lt;?xml version='1.0' encoding='utf-8' ?&gt;
-&lt;blob href='http://localhost:3001/api/buckets/mariosbucket1/some_more_blob_woo' id='some_more_blob_woo'&gt;
-  &lt;bucket&gt;mariosbucket1&lt;/bucket&gt;
-  &lt;content_length&gt;86&lt;/content_length&gt;
-  &lt;content_type&gt;text/plain&lt;/content_type&gt;
-  &lt;last_modified&gt;Fri Jan 28 12:23:08 UTC 2011&lt;/last_modified&gt;
-  &lt;user_metadata&gt;
-    &lt;entry key='v'&gt;
-      &lt;![CDATA[0.2.0]]&gt;
-    &lt;/entry&gt;
-    &lt;entry key='test'&gt;
-      &lt;![CDATA[value]]&gt;
-    &lt;/entry&gt;
-  &lt;/user_metadata&gt;
-  &lt;content href='http://localhost:3001/api/buckets/mariosbucket1/some_more_blob_woo/content'&gt;&lt;/content&gt;
-&lt;/blob&gt;
-</pre>
-
-<h4>Get the actual blob content</h4>
-
-<p>
-To retrieve the actual blob content use call <strong>GET /api/buckets/:bucket_id/:blob_id/content</strong>. The location of blob content is specified in the content URI returned from the <strong>GET /api/buckets/:bucket_id/:blob_id</strong> call. The content is streamed through the Deltacloud server as soon as it is received from the back-end cloud provider. The aim is to avoid the creation of a temporary file (especially significant in case of large blobs). The Deltacloud server sets <strong>Content-Disposition: attachment; filename=blob_name</strong> in the HTTP response headers.
-</p>
-
-<p>
-Example request:
-</p>
-
-<pre>
-GET /api/buckets/mariosanotherbucketohyeah/Im_a_blob_beholdme/content?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
-Host: localhost:3001
-Accept: */*
-</pre>
-
-<p>
-Server response:
-</p>
-
-<pre>
-HTTP/1.1 200 OK
-Content-Disposition: attachment; filename=Im_a_blob_beholdme
-Content-Type: text/plain
-Content-Length: 50
-
-&lt;BLOB DATA HERE&gt;
-</pre>
-
-  </div>
-  <div class="tab-pane tab-fade" id="tab5">
-
-<h4>Create a blob object</h4>
-
-<p>
-To create a blob object and set its content use call <strong>PUT /api/buckets/:bucket_id/:blob_id</strong>. If the blob already exists then its data and metadata are overwritten with those specified in this call. The request must specify the name of the blob and the name of the bucket in which the blob is to be placed in the call URI. The client must also specify the <strong>content_length</strong> of the blob data and the <strong>blob data</strong> itself in the HTTP headers. Optionally the call may also specify a <strong>content_type</strong> and any number of <strong>key:value</strong> pairs of user defined metadata. User metadata is defined using 'X-Deltacloud-Blobmeta-' header, e.g. X-Deltacloud-Blobmeta-Version:2.1.
-</p>
-
-<p>
-To eliminate the necessity of creating a local file at the Deltacloud server for each blob created, the Deltacloud server starts to stream the blob data to the back-end cloud provider as soon as the request headers are processed. A succesful operation will return the newly created blob object, as shown below.
-</p>
-
-<p>Example request:</p>
-
-<pre>
-PUT /api/buckets/mybucket/12Jul2011blob?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-Content-Type: text/plain
-Content-Length: 128988
-X-Deltacloud-Blobmeta-Version:2.1
-X-Deltacloud-Blobmeta-Author:msa
-
-... BLOB DATA ...
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-&lt;?xml version='1.0' encoding='utf-8' ?&gt;
-&lt;blob href='http://localhost:3001/api/buckets/mybucket/12Jul2011blob' id='12Jul2011blob'&gt;
-  &lt;bucket&gt;mybucket&lt;/bucket&gt;
-  &lt;content_length&gt;128988&lt;/content_length&gt;
-  &lt;content_type&gt;text/plain&lt;/content_type&gt;
-  &lt;last_modified&gt;Wed Jul 13 13:27:22 UTC 2011&lt;/last_modified&gt;
-  &lt;user_metadata&gt;
-    &lt;entry key='author'&gt;
-      &lt;![CDATA[msa]]&gt;
-    &lt;/entry&gt;
-    &lt;entry key='version'&gt;
-      &lt;![CDATA[2.1]]&gt;
-    &lt;/entry&gt;
-  &lt;/user_metadata&gt;
-  &lt;content href='http://localhost:3001/api/buckets/mybucket/12Jul2011blob/content'&gt;
-  &lt;/content&gt;
-&lt;/blob&gt;
-</pre>
-
-<p>
-The Deltacloud server also responds to an alternative <strong>POST /api/buckets/:bucket_id</strong> route for creating or updating a blob object. As with the <strong>PUT</strong> method for creating/updating a blob, the client must specify the <strong>bucket</strong> in which the blob is to be created through the call URI (i.e. you <strong>POST</strong> to the specified bucket). The rest of the required fields, that is, the <strong>name</strong> of the blob, the <strong>blob_data</strong> and the <strong>content-length</strong> are specified by the client as <strong>multipart/form-data</strong> (i.e. in <strong>HTTP POST</strong> form fields).
-</p>
-
-<p>
-In order to specify the optional user metadata for a given blob the client must set the form field <strong>meta_params</strong> to specify the number of metadata key/value pairs. The metadata itself is then specified by the client with fields of the form <strong>meta_nameN</strong> and <strong>meta_valueN</strong> where N is an integer from 1 up to the number specified by the <strong>meta_params</strong> field (e.g. meta_name1=author, meta_value1=jrd).
-</p>
-
-<p>
-It should be noted that the <strong>POST</strong> method for creating a blob is non streaming - the Deltacloud server will create a temporary file with the blob data, before the file is transferred to the backend cloud. Thus, it should only be used for blobs with a relatively small content-length and in general the <strong>PUT</strong> method should be preferred for larger blobs. This <strong>POST</strong> method is mainly provided for clients that cannot easily invoke a <strong>HTTP PUT</strong> operation (e.g. web browsers) and can be used for creating/updating a blob through the deltacloud HTML interface (provided for testing purposes).
-</p>
-
-<p>Example request:</p>
-
-<pre>
-POST /api/buckets/mybucket?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1 (i386-redhat-linux-gnu) libcurl/7.20.1 N
-Accept: */*
-Content-Length: 113582
-Expect: 100-continue
-Content-Type: multipart/form-data; boundary=----------------------------517f5f2df858
-
-------------------------------517f5f2df858
-Content-Disposition: form-data; name="blob"
-
-12Jul2011blob
-------------------------------517f5f2df858
-Content-Disposition: form-data; name="blob_data"; filename="small.txt"
-Content-Type: text/plain
-
-&lt;THE_BLOB_DATA_HERE&gt;
-
-------------------------------517f5f2df858
-Content-Disposition: form-data; name="meta_params"
-
-2
-------------------------------517f5f2df858
-Content-Disposition: form-data; name="meta_name1"
-
-author
-------------------------------517f5f2df858
-Content-Disposition: form-data; name="meta_value1"
-jjs
-------------------------------517f5f2df858
-Content-Disposition: form-data; name="meta_name2"
-
-version
-------------------------------517f5f2df858
-Content-Disposition: form-data; name="meta_value2"
-
-2.2
-------------------------------517f5f2df858--
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-&lt;?xml version='1.0' encoding='utf-8' ?&gt;
-&lt;blob href='http://localhost:3001/api/buckets/mybucket/12Jul2011blob' id='12Jul2011blob'&gt;
-  &lt;bucket&gt;mybucket&lt;/bucket&gt;
-  &lt;content_length&gt;112766&lt;/content_length&gt;
-  &lt;content_type&gt;text/plain&lt;/content_type&gt;
-  &lt;last_modified&gt;&lt;/last_modified&gt;
-  &lt;user_metadata&gt;
-    &lt;entry key='x-amz-meta-author'&gt;
-      &lt;![CDATA[jjs]]&gt;
-    &lt;/entry&gt;
-    &lt;entry key='x-amz-meta-version'&gt;
-      &lt;![CDATA[2.2]]&gt;
-    &lt;/entry&gt;
-  &lt;/user_metadata&gt;
-  &lt;content href='http://localhost:3001/api/buckets/mybucket/12Jul2011blob/content'&gt;
-  &lt;/content&gt;
-&lt;/blob&gt;
-</pre>
-
-<h4>Delete a blob object</h4>
-
-<p>
-To delete the specified blob object from the back-end cloud use call <strong>DELETE /api/buckets/:bucket_id/:blob_id</strong>. The names of the blob and the bucket in which this exists are specified the in call URI. After a succesful operation the Deltacloud server responds with a <strong>HTTP 204</strong> (No Content) with no message body.
-</p>
-
-<p>Example request:</p>
-
-<pre>
-DELETE /api/buckets/mybucket/12Jul2011blob?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
-Host: localhost:3001
-Accept: */*
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-HTTP/1.1 204 No Content
-Connection: close
-Server: thin 1.2.11
-</pre>
-
-  </div>
-  <div class="tab-pane tab-fade" id="tab6">
-
-<h4>Get all metadata fields</h4>
-
-<p>
-To return all user defined metadata fields on a specified blob URI use the HTTP HEAD operation <strong>HEAD /api/buckets/:bucket_id/:blob_id</strong>. As per <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> this <strong>HEAD</strong> operation does not return a message body. Rather, the blob user metadata values are returned in the response X-Deltacloud-Blobmeta- headers (e.g., X-Deltacloud-Blobmeta-version:1.2).
-</p>
-
-<p>Example request:</p>
-
-<pre>
-HEAD /api/buckets/mybucket/myblob?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1
-Host: localhost:3001
-Accept: */*
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-HTTP/1.1 204 No Content
-X-Deltacloud-Blobmeta-version: 1.21
-X-Deltacloud-Blobmeta-author: jrd
-</pre>
-
-<h4>Update the user-defined blob metadata</h4>
-
-<p>
-To update the user-defined blob metadata use call <strong>POST /api/buckets/:bucket_id/:blob_id</strong> on the URI of a blob. This operation will overwrite all previously set user-metadata values (if any) and replace them with those specified in this call. The client must set the user-defined metadata in the X-Deltacloud-Blobmeta- headers (e.g., X-Deltacloud-Blobmeta-Model:2012).
-</p>
-
-<p>Example request:</p>
-
-<pre>
-POST /api/buckets/mybucket/myblob?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1
-Host: localhost:3001
-Accept: */*
-X-Deltacloud-Blobmeta-model: 2012
-X-Deltacloud-Blobmeta-paint: Stannite_Grey
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-HTTP/1.1 204 No Content
-X-Deltacloud-Blobmeta-model: 2012
-X-Deltacloud-Blobmeta-paint: Stannite_Grey
-</pre>
-
-</div>
-</div>:	post"Y<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <title>Blob storage</title>
-    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
-    <!--[if lt IE 9]>
-    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-
-    <!-- Le JavaScript -->
-    <script src="/assets/js/jquery-1.7.1.min.js" type="text/javascript"></script>
-    <script src="/assets/js/bootstrap-dropdown.js" type="text/javascript"></script>
-    <script src="/assets/js/jquery.tweet.js" type="text/javascript"></script>
-    <script src="/assets/js/application.js" type="text/javascript"></script>
-    <script src="/assets/js/bootstrap-transition.js"></script>
-    <script src="/assets/js/bootstrap-alert.js"></script>
-    <script src="/assets/js/bootstrap-modal.js"></script>
-    <script src="/assets/js/bootstrap-scrollspy.js"></script>
-    <script src="/assets/js/bootstrap-tab.js"></script>
-    <script src="/assets/js/bootstrap-tooltip.js"></script>
-    <script src="/assets/js/bootstrap-popover.js"></script>
-    <script src="/assets/js/bootstrap-button.js"></script>
-    <script src="/assets/js/bootstrap-collapse.js"></script>
-    <script src="/assets/js/bootstrap-carousel.js"></script>
-    <script src="/assets/js/bootstrap-typeahead.js"></script>
-
-    <!-- Le styles -->
-    <link href="/assets/css/bootstrap.css" rel="stylesheet">
-    <link href="/assets/css/application.css" rel="stylesheet">
-    <link rel="shortcut icon" href="/assets/img/favicon.ico">
-  </head>
-
-  <body>
-
-    <div class="navbar navbar-fixed-top">
-      <div class="navbar-inner">
-        <div class="container">
-          <a class="brand" href="/"><img src="/assets/img/logo.png" width="152"
-            alt="Deltacloud API"/></a>
-          <ul class="nav top-nav">
-  <li><a href="/">Home</a></li>
-  <li class="dropdown">
-    <a href="#" class="dropdown-toggle" data-toggle="dropdown">About<b class="caret"></b></a>
-    <ul class="dropdown-menu">
-      <li><a href="/about.html">What is Deltacloud?</a></li>
-      <li><a href="/supported-providers.html">Supported Providers</a></li>
-    </ul>
-  </li>
-  <li class="dropdown">
-    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Installation<b class="caret"></b></a>
-    <ul class="dropdown-menu">
-      <li><a href="/install-deltacloud.html">Install Deltacloud</a></li>
-      <li><a href="/run-deltacloud-server.html">Run the Deltacloud Server</a></li>
-    </ul>
-  </li>
-  <li class="dropdown">
-    <a href="/usage.html" class="dropdown-toggle" data-toggle="dropdown">Usage<b class="caret"></b></a>
-    <ul class="dropdown-menu">
-      <li><a href="/usage.html#usingapi">Using API</a></li>
-      <li><a href="/usage.html#clients">Client Libraries</a></li>
-      <li><a href="/command-tools.html">Command Line Tools</a></li>
-    </ul>
-  </li>
-  <li class="dropdown">
-    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Contribute<b class="caret"></b></a>
-    <ul class="dropdown-menu">
-      <li><a href="/getting-sources.html">Getting Sources</a></li>
-      <li><a href="/how-to-contribute.html">How Can I Contribute?</a></li>
-    </ul>
-  </li>
-  <li class="dropdown">
-    <a href="#" class="dropdown-toggle" data-toggle="dropdown">API<b class="caret"></b></a>
-    <ul class="dropdown-menu">
-      <li><a href="/rest-api.html">REST API</a></li>
-      <li><a href="/drivers.html">Drivers API</a></li>
-    </ul>
-  </li>
-  <li><a href="/contact.html">Contact</a></li>
-</ul>
-
-        </div>
-      </div>
-
-    </div>
-
-    <div class="container content">
-
-      <p><br></p>
-
-<div class="row">
-  <div class="span9">
-
-<h3 id="blob">Blob Storage</h3>
-
-<p>
-Blob storage represents a generic key ==&gt; value data store. It is implemented by Amazon S3 or Rackspace Cloudfiles. In Deltacloud, the organisational unit of blob storage is a bucket. Individual data items - blobs are exposed as a subcollection under each bucket.
-</p>
-
-<p>
-A bucket has
-</p>
-
-<ul>
-<li>a <strong>name</strong>;</li>
-  <li>a <strong>size</strong> (denotes the number of blobs it contains); and</li>
-  <li>a list of <strong>links to each blob</strong>.</li>
-</ul>
-<p>
-A blob has:
-</p>
-
-  </div>
-  <div class="span3">
-
-<ul class="nav nav-list well">
-<li class="nav-header">
-    REST API
-  </li>
-  <li><a href="rest-api.html">Introduction</a></li>
-  <li><a href="api-entry-point.html">API entry point</a></li>
-  <li><a href="compute-resources.html">Compute resources</a></li>
-  <li><a href="storage-resources.html">Storage resources</a></li>
-  <ul class="nav nav-list">
-<li><a href="storage-resources.html#volumes">Storage volumes</a></li>
-    <li><a href="storage-snapshots.html">Storage snaphots</a></li>
-    <li class="active"><a href="#blob">Blob storage</a></li>
-  </ul>
-</ul>
-</div>
-</div>
-
-<ul>
-<li>a <strong>content_length</strong>;</li>
-  <li>a <strong>content_type</strong>;</li>
-  <li>a <strong>last_modified</strong> timestamp;</li>
-  <li>a structure containing <strong>user_metadata</strong>;</li>
-  <li>a link to the blob <strong>content</strong>; and</li>
-  <li>a name of the bucket in which this blob exists.</li>
-</ul><p><br></p>
-
-<div class="tabbable">
-
-<ul class="nav nav-pills">
-<li class="active"><a href="#tab1" data-toggle="tab">Get a list of all buckets</a></li>
-  <li><a href="#tab2" data-toggle="tab">Get the details of a bucket</a></li>
-  <li><a href="#tab3" data-toggle="tab">Create/delete a bucket</a></li>
-  <li><a href="#tab4" data-toggle="tab">Get the details of a blob</a></li>
-  <li><a href="#tab5" data-toggle="tab">Create/delete a blob</a></li>
-  <li>   </li>
-  <li><a href="#tab6" data-toggle="tab">Get/update blob metadata</a></li>
-</ul>
-<hr>
-<div class="tab-content">
-  <div class="tab-pane tab-fade active" id="tab1">
-
-<h4>Get a list of all buckets</h4>
-
-<p>
-To return a list of all buckets belonging to the given cloud provider account use call <strong>GET /api/buckets</strong>. The response from the Deltacloud server includes the name and URI of each bucket but not the size or the list of blobs which the bucket contains. These details are available when a client requests (GETs) a specific bucket.
-</p>
-
-<p>Example request:</p>
-
-<pre>
-GET /api/buckets?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1
-Host: localhost:3001
-Accept: */*
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-HTTP/1.1 200 OK
-Content-Type: application/xml
-Content-Length: 597
-&lt;?xml version='1.0' encoding='utf-8' ?&gt;
-&lt;buckets&gt;
-  &lt;bucket href='http://localhost:3001/api/buckets/mybucket1' id='mybucket1'&gt;
-    &lt;name&gt;mybucket1&lt;/name&gt;
-    &lt;size&gt;&lt;/size&gt;
-  &lt;/bucket&gt;
-  &lt;bucket href='http://localhost:3001/api/buckets/mybucket2' id='mybucket2'&gt;
-    &lt;name&gt;mybucket2&lt;/name&gt;
-    &lt;size&gt;&lt;/size&gt;
-  &lt;/bucket&gt;
-  &lt;bucket href='http://localhost:3001/api/buckets/mybucket3' id='mybucket3'&gt;
-    &lt;name&gt;mybucket3&lt;/name&gt;
-    &lt;size&gt;&lt;/size&gt;
-  &lt;/bucket&gt;
-  &lt;bucket href='http://localhost:3001/api/buckets/mybucket4' id='mybucket4'&gt;
-    &lt;name&gt;mybucket4&lt;/name&gt;
-    &lt;size&gt;&lt;/size&gt;
-  &lt;/bucket&gt;
-&lt;/buckets&gt;
-</pre>
-
-  </div>
-  <div class="tab-pane tab-fade" id="tab2">
-
-<h4>Get the details of a specific bucket</h4>
-
-<p>
-To return details of a specific bucket use call <strong>GET /api/buckets/:id</strong>. The Deltacloud server response includes the size of the bucket and the URI for each blob object that it contains.
-</p>
-
-<p>Example request:</p>
-
-<pre>
-GET /api/buckets/mybucket1?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1
-Host: localhost:3001
-Accept: */*
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-HTTP/1.1 200 OK
-Content-Type: application/xml
-Content-Length: 534
-&lt;?xml version='1.0' encoding='utf-8' ?&gt;
-&lt;bucket href='http://localhost:3001/api/buckets/mybucket1' id='mybucket1'&gt;
-  &lt;name&gt;mybucket1&lt;/name&gt;
-  &lt;size&gt;4&lt;/size&gt;
-  &lt;blob href='http://localhost:3001/api/buckets/mybucket1/myfile' id='myfile'&gt;&lt;/blob&gt;
-  &lt;blob href='http://localhost:3001/api/buckets/mybucket1/an_object' id='an_object'&gt;&lt;/blob&gt;
-  &lt;blob href='http://localhost:3001/api/buckets/mybucket1/picture_blob' id='picture_blob'&gt;&lt;/blob&gt;
-  &lt;blob href='http://localhost:3001/api/buckets/mybucket1/some_blob id='some_blob'&gt;&lt;/blob&gt;
-&lt;/bucket&gt;
-</pre>
-
-  </div>
-  <div class="tab-pane tab-fade" id="tab3">
-
-<h4>Create a new bucket</h4>
-
-<p>
-To create a new bucket use call <strong>POST /api/buckets</strong>. You need to specify the name as a parameter. Optionally for Amazon S3 buckets, you can specify a bucket location with the location parameter, as per <a href="http://docs.amazonwebservices.com/general/latest/gr/index.html?rande.html">Regions and Endpoints for Amazon Simple Storage Service</a>. Valid values for S3 bucket location parameter are: "us-west-1", "EU", "ap-southeast-1", "ap-northeast-1" (while not specifying a location default to the "US Standard" region). Note that clients may specify parameters as multipart/form-data or using a content-type of application/x-www-form-urlencoded.
-</p>
-
-<p>
-On succesful creation this call will return a 201 HTTP status, specifying the URI of the newly created bucket in the <strong>Location</strong> header and the newly created bucket object in the response message body. The example request below shows how to create a new bucket in the EU (Ireland) region. If the given back-end cloud does not support locations then the location parameter is ignored.
-</p>
-
-<p>Example request:</p>
-
-<pre>
-POST /api/buckets?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1
-Host: localhost:3001
-Accept: */*
-Content-Length: 31
-Content-Type: application/x-www-form-urlencoded
-
-name=mybucketeurope&amp;location=EU
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-HTTP/1.1 201 Created
-Location: http://localhost:3001/api/buckets/mybucketeurope
-Content-Type: application/xml
-Content-Length: 182
-
-&lt;?xml version='1.0' encoding='utf-8' ?&gt;
-&lt;bucket href='http://localhost:3001/api/buckets/mybucketeurope' id='mybucketeurope'&gt;
-  &lt;name&gt;mybucketeurope&lt;/name&gt;
-  &lt;size&gt;0&lt;/size&gt;
-&lt;/bucket&gt;
-</pre>
-
-<h4>Delete a bucket</h4>
-
-<p>
-To delete the specified bucket use call <strong>DELETE /api/buckets/:id</strong>. The bucket must be empty (otherwise the call will fail with an error response). A succesful operation will return <strong>204 No Content</strong>.
-</p>
-
-<p>Example request:</p>
-
-<pre>
-DELETE /api/buckets/mybucketeurope?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
-Host: localhost:3001
-Accept: */*
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-HTTP/1.1 204 No Content
-</pre>
-
-  </div>
-  <div class="tab-pane tab-fade" id="tab4">
-
-<h4>Get the details of a blob</h4>
-
-<p>
-To retrieve the details of a specific blob use call <strong>GET /api/buckets/:bucket_id/:blob_id</strong>. The blob content is not returned as part of the response but rather a URI is given from which the content may be retrieved as shown below.
-</p>
-
-<p>Example request:</p>
-
-<pre>
-GET /api/buckets/mariosbucket1/some_more_blob_woo?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
-Host: localhost:3001
-Accept: */*
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-HTTP/1.1 200 OK
-Content-Type: application/xml
-Content-Length: 586
-&lt;?xml version='1.0' encoding='utf-8' ?&gt;
-&lt;blob href='http://localhost:3001/api/buckets/mariosbucket1/some_more_blob_woo' id='some_more_blob_woo'&gt;
-  &lt;bucket&gt;mariosbucket1&lt;/bucket&gt;
-  &lt;content_length&gt;86&lt;/content_length&gt;
-  &lt;content_type&gt;text/plain&lt;/content_type&gt;
-  &lt;last_modified&gt;Fri Jan 28 12:23:08 UTC 2011&lt;/last_modified&gt;
-  &lt;user_metadata&gt;
-    &lt;entry key='v'&gt;
-      &lt;![CDATA[0.2.0]]&gt;
-    &lt;/entry&gt;
-    &lt;entry key='test'&gt;
-      &lt;![CDATA[value]]&gt;
-    &lt;/entry&gt;
-  &lt;/user_metadata&gt;
-  &lt;content href='http://localhost:3001/api/buckets/mariosbucket1/some_more_blob_woo/content'&gt;&lt;/content&gt;
-&lt;/blob&gt;
-</pre>
-
-<h4>Get the actual blob content</h4>
-
-<p>
-To retrieve the actual blob content use call <strong>GET /api/buckets/:bucket_id/:blob_id/content</strong>. The location of blob content is specified in the content URI returned from the <strong>GET /api/buckets/:bucket_id/:blob_id</strong> call. The content is streamed through the Deltacloud server as soon as it is received from the back-end cloud provider. The aim is to avoid the creation of a temporary file (especially significant in case of large blobs). The Deltacloud server sets <strong>Content-Disposition: attachment; filename=blob_name</strong> in the HTTP response headers.
-</p>
-
-<p>
-Example request:
-</p>
-
-<pre>
-GET /api/buckets/mariosanotherbucketohyeah/Im_a_blob_beholdme/content?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
-Host: localhost:3001
-Accept: */*
-</pre>
-
-<p>
-Server response:
-</p>
-
-<pre>
-HTTP/1.1 200 OK
-Content-Disposition: attachment; filename=Im_a_blob_beholdme
-Content-Type: text/plain
-Content-Length: 50
-
-&lt;BLOB DATA HERE&gt;
-</pre>
-
-  </div>
-  <div class="tab-pane tab-fade" id="tab5">
-
-<h4>Create a blob object</h4>
-
-<p>
-To create a blob object and set its content use call <strong>PUT /api/buckets/:bucket_id/:blob_id</strong>. If the blob already exists then its data and metadata are overwritten with those specified in this call. The request must specify the name of the blob and the name of the bucket in which the blob is to be placed in the call URI. The client must also specify the <strong>content_length</strong> of the blob data and the <strong>blob data</strong> itself in the HTTP headers. Optionally the call may also specify a <strong>content_type</strong> and any number of <strong>key:value</strong> pairs of user defined metadata. User metadata is defined using 'X-Deltacloud-Blobmeta-' header, e.g. X-Deltacloud-Blobmeta-Version:2.1.
-</p>
-
-<p>
-To eliminate the necessity of creating a local file at the Deltacloud server for each blob created, the Deltacloud server starts to stream the blob data to the back-end cloud provider as soon as the request headers are processed. A succesful operation will return the newly created blob object, as shown below.
-</p>
-
-<p>Example request:</p>
-
-<pre>
-PUT /api/buckets/mybucket/12Jul2011blob?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-Content-Type: text/plain
-Content-Length: 128988
-X-Deltacloud-Blobmeta-Version:2.1
-X-Deltacloud-Blobmeta-Author:msa
-
-... BLOB DATA ...
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-&lt;?xml version='1.0' encoding='utf-8' ?&gt;
-&lt;blob href='http://localhost:3001/api/buckets/mybucket/12Jul2011blob' id='12Jul2011blob'&gt;
-  &lt;bucket&gt;mybucket&lt;/bucket&gt;
-  &lt;content_length&gt;128988&lt;/content_length&gt;
-  &lt;content_type&gt;text/plain&lt;/content_type&gt;
-  &lt;last_modified&gt;Wed Jul 13 13:27:22 UTC 2011&lt;/last_modified&gt;
-  &lt;user_metadata&gt;
-    &lt;entry key='author'&gt;
-      &lt;![CDATA[msa]]&gt;
-    &lt;/entry&gt;
-    &lt;entry key='version'&gt;
-      &lt;![CDATA[2.1]]&gt;
-    &lt;/entry&gt;
-  &lt;/user_metadata&gt;
-  &lt;content href='http://localhost:3001/api/buckets/mybucket/12Jul2011blob/content'&gt;
-  &lt;/content&gt;
-&lt;/blob&gt;
-</pre>
-
-<p>
-The Deltacloud server also responds to an alternative <strong>POST /api/buckets/:bucket_id</strong> route for creating or updating a blob object. As with the <strong>PUT</strong> method for creating/updating a blob, the client must specify the <strong>bucket</strong> in which the blob is to be created through the call URI (i.e. you <strong>POST</strong> to the specified bucket). The rest of the required fields, that is, the <strong>name</strong> of the blob, the <strong>blob_data</strong> and the <strong>content-length</strong> are specified by the client as <strong>multipart/form-data</strong> (i.e. in <strong>HTTP POST</strong> form fields).
-</p>
-
-<p>
-In order to specify the optional user metadata for a given blob the client must set the form field <strong>meta_params</strong> to specify the number of metadata key/value pairs. The metadata itself is then specified by the client with fields of the form <strong>meta_nameN</strong> and <strong>meta_valueN</strong> where N is an integer from 1 up to the number specified by the <strong>meta_params</strong> field (e.g. meta_name1=author, meta_value1=jrd).
-</p>
-
-<p>
-It should be noted that the <strong>POST</strong> method for creating a blob is non streaming - the Deltacloud server will create a temporary file with the blob data, before the file is transferred to the backend cloud. Thus, it should only be used for blobs with a relatively small content-length and in general the <strong>PUT</strong> method should be preferred for larger blobs. This <strong>POST</strong> method is mainly provided for clients that cannot easily invoke a <strong>HTTP PUT</strong> operation (e.g. web browsers) and can be used for creating/updating a blob through the deltacloud HTML interface (provided for testing purposes).
-</p>
-
-<p>Example request:</p>
-
-<pre>
-POST /api/buckets/mybucket?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1 (i386-redhat-linux-gnu) libcurl/7.20.1 N
-Accept: */*
-Content-Length: 113582
-Expect: 100-continue
-Content-Type: multipart/form-data; boundary=----------------------------517f5f2df858
-
-------------------------------517f5f2df858
-Content-Disposition: form-data; name="blob"
-
-12Jul2011blob
-------------------------------517f5f2df858
-Content-Disposition: form-data; name="blob_data"; filename="small.txt"
-Content-Type: text/plain
-
-&lt;THE_BLOB_DATA_HERE&gt;
-
-------------------------------517f5f2df858
-Content-Disposition: form-data; name="meta_params"
-
-2
-------------------------------517f5f2df858
-Content-Disposition: form-data; name="meta_name1"
-
-author
-------------------------------517f5f2df858
-Content-Disposition: form-data; name="meta_value1"
-jjs
-------------------------------517f5f2df858
-Content-Disposition: form-data; name="meta_name2"
-
-version
-------------------------------517f5f2df858
-Content-Disposition: form-data; name="meta_value2"
-
-2.2
-------------------------------517f5f2df858--
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-&lt;?xml version='1.0' encoding='utf-8' ?&gt;
-&lt;blob href='http://localhost:3001/api/buckets/mybucket/12Jul2011blob' id='12Jul2011blob'&gt;
-  &lt;bucket&gt;mybucket&lt;/bucket&gt;
-  &lt;content_length&gt;112766&lt;/content_length&gt;
-  &lt;content_type&gt;text/plain&lt;/content_type&gt;
-  &lt;last_modified&gt;&lt;/last_modified&gt;
-  &lt;user_metadata&gt;
-    &lt;entry key='x-amz-meta-author'&gt;
-      &lt;![CDATA[jjs]]&gt;
-    &lt;/entry&gt;
-    &lt;entry key='x-amz-meta-version'&gt;
-      &lt;![CDATA[2.2]]&gt;
-    &lt;/entry&gt;
-  &lt;/user_metadata&gt;
-  &lt;content href='http://localhost:3001/api/buckets/mybucket/12Jul2011blob/content'&gt;
-  &lt;/content&gt;
-&lt;/blob&gt;
-</pre>
-
-<h4>Delete a blob object</h4>
-
-<p>
-To delete the specified blob object from the back-end cloud use call <strong>DELETE /api/buckets/:bucket_id/:blob_id</strong>. The names of the blob and the bucket in which this exists are specified the in call URI. After a succesful operation the Deltacloud server responds with a <strong>HTTP 204</strong> (No Content) with no message body.
-</p>
-
-<p>Example request:</p>
-
-<pre>
-DELETE /api/buckets/mybucket/12Jul2011blob?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
-Host: localhost:3001
-Accept: */*
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-HTTP/1.1 204 No Content
-Connection: close
-Server: thin 1.2.11
-</pre>
-
-  </div>
-  <div class="tab-pane tab-fade" id="tab6">
-
-<h4>Get all metadata fields</h4>
-
-<p>
-To return all user defined metadata fields on a specified blob URI use the HTTP HEAD operation <strong>HEAD /api/buckets/:bucket_id/:blob_id</strong>. As per <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> this <strong>HEAD</strong> operation does not return a message body. Rather, the blob user metadata values are returned in the response X-Deltacloud-Blobmeta- headers (e.g., X-Deltacloud-Blobmeta-version:1.2).
-</p>
-
-<p>Example request:</p>
-
-<pre>
-HEAD /api/buckets/mybucket/myblob?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1
-Host: localhost:3001
-Accept: */*
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-HTTP/1.1 204 No Content
-X-Deltacloud-Blobmeta-version: 1.21
-X-Deltacloud-Blobmeta-author: jrd
-</pre>
-
-<h4>Update the user-defined blob metadata</h4>
-
-<p>
-To update the user-defined blob metadata use call <strong>POST /api/buckets/:bucket_id/:blob_id</strong> on the URI of a blob. This operation will overwrite all previously set user-metadata values (if any) and replace them with those specified in this call. The client must set the user-defined metadata in the X-Deltacloud-Blobmeta- headers (e.g., X-Deltacloud-Blobmeta-Model:2012).
-</p>
-
-<p>Example request:</p>
-
-<pre>
-POST /api/buckets/mybucket/myblob?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1
-Host: localhost:3001
-Accept: */*
-X-Deltacloud-Blobmeta-model: 2012
-X-Deltacloud-Blobmeta-paint: Stannite_Grey
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-HTTP/1.1 204 No Content
-X-Deltacloud-Blobmeta-model: 2012
-X-Deltacloud-Blobmeta-paint: Stannite_Grey
-</pre>
-
-</div>
-</div>
-</div>
-
-      <footer class="footer">
-        <p class="pull-right"><span class='icon-circle-arrow-up'>&nbsp;</span><a href="#">Back to top</a></p>
-        <div class='row'>
-          <div class='span3'>
-            <img src="/assets/img/asf.png" alt="Apache Software Foundation"/>
-          </div>
-          <div class='span9'>
-            <strong>Apache Deltacloud</strong> is a top-level project at the <a
-              href="http://www.apache.org">Apache Software Foundation</a>,
-            having graduated from the ASF Incubator in October
-            2011. Through a collaborative and meritocratic development process, Apache
-            projects deliver enterprise-grade, freely available software products that
-            attract large communities of users. 
-          </div>
-        </div>
-      </footer>
-
-    </div> <!-- /container -->
-
-  </body>
-</html>
-;"�G<p><br></p>
-
-<div class="row">
-  <div class="span9">
-
-<h3 id="blob">Blob Storage</h3>
-
-<p>
-Blob storage represents a generic key ==&gt; value data store. It is implemented by Amazon S3 or Rackspace Cloudfiles. In Deltacloud, the organisational unit of blob storage is a bucket. Individual data items - blobs are exposed as a subcollection under each bucket.
-</p>
-
-<p>
-A bucket has
-</p>
-
-<ul>
-<li>a <strong>name</strong>;</li>
-  <li>a <strong>size</strong> (denotes the number of blobs it contains); and</li>
-  <li>a list of <strong>links to each blob</strong>.</li>
-</ul>
-<p>
-A blob has:
-</p>
-
-  </div>
-  <div class="span3">
-
-<ul class="nav nav-list well">
-<li class="nav-header">
-    REST API
-  </li>
-  <li><a href="rest-api.html">Introduction</a></li>
-  <li><a href="api-entry-point.html">API entry point</a></li>
-  <li><a href="compute-resources.html">Compute resources</a></li>
-  <li><a href="storage-resources.html">Storage resources</a></li>
-  <ul class="nav nav-list">
-<li><a href="storage-resources.html#volumes">Storage volumes</a></li>
-    <li><a href="storage-snapshots.html">Storage snaphots</a></li>
-    <li class="active"><a href="#blob">Blob storage</a></li>
-  </ul>
-</ul>
-</div>
-</div>
-
-<ul>
-<li>a <strong>content_length</strong>;</li>
-  <li>a <strong>content_type</strong>;</li>
-  <li>a <strong>last_modified</strong> timestamp;</li>
-  <li>a structure containing <strong>user_metadata</strong>;</li>
-  <li>a link to the blob <strong>content</strong>; and</li>
-  <li>a name of the bucket in which this blob exists.</li>
-</ul><p><br></p>
-
-<div class="tabbable">
-
-<ul class="nav nav-pills">
-<li class="active"><a href="#tab1" data-toggle="tab">Get a list of all buckets</a></li>
-  <li><a href="#tab2" data-toggle="tab">Get the details of a bucket</a></li>
-  <li><a href="#tab3" data-toggle="tab">Create/delete a bucket</a></li>
-  <li><a href="#tab4" data-toggle="tab">Get the details of a blob</a></li>
-  <li><a href="#tab5" data-toggle="tab">Create/delete a blob</a></li>
-  <li>   </li>
-  <li><a href="#tab6" data-toggle="tab">Get/update blob metadata</a></li>
-</ul>
-<hr>
-<div class="tab-content">
-  <div class="tab-pane tab-fade active" id="tab1">
-
-<h4>Get a list of all buckets</h4>
-
-<p>
-To return a list of all buckets belonging to the given cloud provider account use call <strong>GET /api/buckets</strong>. The response from the Deltacloud server includes the name and URI of each bucket but not the size or the list of blobs which the bucket contains. These details are available when a client requests (GETs) a specific bucket.
-</p>
-
-<p>Example request:</p>
-
-<pre>
-GET /api/buckets?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1
-Host: localhost:3001
-Accept: */*
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-HTTP/1.1 200 OK
-Content-Type: application/xml
-Content-Length: 597
-&lt;?xml version='1.0' encoding='utf-8' ?&gt;
-&lt;buckets&gt;
-  &lt;bucket href='http://localhost:3001/api/buckets/mybucket1' id='mybucket1'&gt;
-    &lt;name&gt;mybucket1&lt;/name&gt;
-    &lt;size&gt;&lt;/size&gt;
-  &lt;/bucket&gt;
-  &lt;bucket href='http://localhost:3001/api/buckets/mybucket2' id='mybucket2'&gt;
-    &lt;name&gt;mybucket2&lt;/name&gt;
-    &lt;size&gt;&lt;/size&gt;
-  &lt;/bucket&gt;
-  &lt;bucket href='http://localhost:3001/api/buckets/mybucket3' id='mybucket3'&gt;
-    &lt;name&gt;mybucket3&lt;/name&gt;
-    &lt;size&gt;&lt;/size&gt;
-  &lt;/bucket&gt;
-  &lt;bucket href='http://localhost:3001/api/buckets/mybucket4' id='mybucket4'&gt;
-    &lt;name&gt;mybucket4&lt;/name&gt;
-    &lt;size&gt;&lt;/size&gt;
-  &lt;/bucket&gt;
-&lt;/buckets&gt;
-</pre>
-
-  </div>
-  <div class="tab-pane tab-fade" id="tab2">
-
-<h4>Get the details of a specific bucket</h4>
-
-<p>
-To return details of a specific bucket use call <strong>GET /api/buckets/:id</strong>. The Deltacloud server response includes the size of the bucket and the URI for each blob object that it contains.
-</p>
-
-<p>Example request:</p>
-
-<pre>
-GET /api/buckets/mybucket1?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1
-Host: localhost:3001
-Accept: */*
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-HTTP/1.1 200 OK
-Content-Type: application/xml
-Content-Length: 534
-&lt;?xml version='1.0' encoding='utf-8' ?&gt;
-&lt;bucket href='http://localhost:3001/api/buckets/mybucket1' id='mybucket1'&gt;
-  &lt;name&gt;mybucket1&lt;/name&gt;
-  &lt;size&gt;4&lt;/size&gt;
-  &lt;blob href='http://localhost:3001/api/buckets/mybucket1/myfile' id='myfile'&gt;&lt;/blob&gt;
-  &lt;blob href='http://localhost:3001/api/buckets/mybucket1/an_object' id='an_object'&gt;&lt;/blob&gt;
-  &lt;blob href='http://localhost:3001/api/buckets/mybucket1/picture_blob' id='picture_blob'&gt;&lt;/blob&gt;
-  &lt;blob href='http://localhost:3001/api/buckets/mybucket1/some_blob id='some_blob'&gt;&lt;/blob&gt;
-&lt;/bucket&gt;
-</pre>
-
-  </div>
-  <div class="tab-pane tab-fade" id="tab3">
-
-<h4>Create a new bucket</h4>
-
-<p>
-To create a new bucket use call <strong>POST /api/buckets</strong>. You need to specify the name as a parameter. Optionally for Amazon S3 buckets, you can specify a bucket location with the location parameter, as per <a href="http://docs.amazonwebservices.com/general/latest/gr/index.html?rande.html">Regions and Endpoints for Amazon Simple Storage Service</a>. Valid values for S3 bucket location parameter are: "us-west-1", "EU", "ap-southeast-1", "ap-northeast-1" (while not specifying a location default to the "US Standard" region). Note that clients may specify parameters as multipart/form-data or using a content-type of application/x-www-form-urlencoded.
-</p>
-
-<p>
-On succesful creation this call will return a 201 HTTP status, specifying the URI of the newly created bucket in the <strong>Location</strong> header and the newly created bucket object in the response message body. The example request below shows how to create a new bucket in the EU (Ireland) region. If the given back-end cloud does not support locations then the location parameter is ignored.
-</p>
-
-<p>Example request:</p>
-
-<pre>
-POST /api/buckets?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1
-Host: localhost:3001
-Accept: */*
-Content-Length: 31
-Content-Type: application/x-www-form-urlencoded
-
-name=mybucketeurope&amp;location=EU
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-HTTP/1.1 201 Created
-Location: http://localhost:3001/api/buckets/mybucketeurope
-Content-Type: application/xml
-Content-Length: 182
-
-&lt;?xml version='1.0' encoding='utf-8' ?&gt;
-&lt;bucket href='http://localhost:3001/api/buckets/mybucketeurope' id='mybucketeurope'&gt;
-  &lt;name&gt;mybucketeurope&lt;/name&gt;
-  &lt;size&gt;0&lt;/size&gt;
-&lt;/bucket&gt;
-</pre>
-
-<h4>Delete a bucket</h4>
-
-<p>
-To delete the specified bucket use call <strong>DELETE /api/buckets/:id</strong>. The bucket must be empty (otherwise the call will fail with an error response). A succesful operation will return <strong>204 No Content</strong>.
-</p>
-
-<p>Example request:</p>
-
-<pre>
-DELETE /api/buckets/mybucketeurope?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
-Host: localhost:3001
-Accept: */*
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-HTTP/1.1 204 No Content
-</pre>
-
-  </div>
-  <div class="tab-pane tab-fade" id="tab4">
-
-<h4>Get the details of a blob</h4>
-
-<p>
-To retrieve the details of a specific blob use call <strong>GET /api/buckets/:bucket_id/:blob_id</strong>. The blob content is not returned as part of the response but rather a URI is given from which the content may be retrieved as shown below.
-</p>
-
-<p>Example request:</p>
-
-<pre>
-GET /api/buckets/mariosbucket1/some_more_blob_woo?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
-Host: localhost:3001
-Accept: */*
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-HTTP/1.1 200 OK
-Content-Type: application/xml
-Content-Length: 586
-&lt;?xml version='1.0' encoding='utf-8' ?&gt;
-&lt;blob href='http://localhost:3001/api/buckets/mariosbucket1/some_more_blob_woo' id='some_more_blob_woo'&gt;
-  &lt;bucket&gt;mariosbucket1&lt;/bucket&gt;
-  &lt;content_length&gt;86&lt;/content_length&gt;
-  &lt;content_type&gt;text/plain&lt;/content_type&gt;
-  &lt;last_modified&gt;Fri Jan 28 12:23:08 UTC 2011&lt;/last_modified&gt;
-  &lt;user_metadata&gt;
-    &lt;entry key='v'&gt;
-      &lt;![CDATA[0.2.0]]&gt;
-    &lt;/entry&gt;
-    &lt;entry key='test'&gt;
-      &lt;![CDATA[value]]&gt;
-    &lt;/entry&gt;
-  &lt;/user_metadata&gt;
-  &lt;content href='http://localhost:3001/api/buckets/mariosbucket1/some_more_blob_woo/content'&gt;&lt;/content&gt;
-&lt;/blob&gt;
-</pre>
-
-<h4>Get the actual blob content</h4>
-
-<p>
-To retrieve the actual blob content use call <strong>GET /api/buckets/:bucket_id/:blob_id/content</strong>. The location of blob content is specified in the content URI returned from the <strong>GET /api/buckets/:bucket_id/:blob_id</strong> call. The content is streamed through the Deltacloud server as soon as it is received from the back-end cloud provider. The aim is to avoid the creation of a temporary file (especially significant in case of large blobs). The Deltacloud server sets <strong>Content-Disposition: attachment; filename=blob_name</strong> in the HTTP response headers.
-</p>
-
-<p>
-Example request:
-</p>
-
-<pre>
-GET /api/buckets/mariosanotherbucketohyeah/Im_a_blob_beholdme/content?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
-Host: localhost:3001
-Accept: */*
-</pre>
-
-<p>
-Server response:
-</p>
-
-<pre>
-HTTP/1.1 200 OK
-Content-Disposition: attachment; filename=Im_a_blob_beholdme
-Content-Type: text/plain
-Content-Length: 50
-
-&lt;BLOB DATA HERE&gt;
-</pre>
-
-  </div>
-  <div class="tab-pane tab-fade" id="tab5">
-
-<h4>Create a blob object</h4>
-
-<p>
-To create a blob object and set its content use call <strong>PUT /api/buckets/:bucket_id/:blob_id</strong>. If the blob already exists then its data and metadata are overwritten with those specified in this call. The request must specify the name of the blob and the name of the bucket in which the blob is to be placed in the call URI. The client must also specify the <strong>content_length</strong> of the blob data and the <strong>blob data</strong> itself in the HTTP headers. Optionally the call may also specify a <strong>content_type</strong> and any number of <strong>key:value</strong> pairs of user defined metadata. User metadata is defined using 'X-Deltacloud-Blobmeta-' header, e.g. X-Deltacloud-Blobmeta-Version:2.1.
-</p>
-
-<p>
-To eliminate the necessity of creating a local file at the Deltacloud server for each blob created, the Deltacloud server starts to stream the blob data to the back-end cloud provider as soon as the request headers are processed. A succesful operation will return the newly created blob object, as shown below.
-</p>
-
-<p>Example request:</p>
-
-<pre>
-PUT /api/buckets/mybucket/12Jul2011blob?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-Content-Type: text/plain
-Content-Length: 128988
-X-Deltacloud-Blobmeta-Version:2.1
-X-Deltacloud-Blobmeta-Author:msa
-
-... BLOB DATA ...
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-&lt;?xml version='1.0' encoding='utf-8' ?&gt;
-&lt;blob href='http://localhost:3001/api/buckets/mybucket/12Jul2011blob' id='12Jul2011blob'&gt;
-  &lt;bucket&gt;mybucket&lt;/bucket&gt;
-  &lt;content_length&gt;128988&lt;/content_length&gt;
-  &lt;content_type&gt;text/plain&lt;/content_type&gt;
-  &lt;last_modified&gt;Wed Jul 13 13:27:22 UTC 2011&lt;/last_modified&gt;
-  &lt;user_metadata&gt;
-    &lt;entry key='author'&gt;
-      &lt;![CDATA[msa]]&gt;
-    &lt;/entry&gt;
-    &lt;entry key='version'&gt;
-      &lt;![CDATA[2.1]]&gt;
-    &lt;/entry&gt;
-  &lt;/user_metadata&gt;
-  &lt;content href='http://localhost:3001/api/buckets/mybucket/12Jul2011blob/content'&gt;
-  &lt;/content&gt;
-&lt;/blob&gt;
-</pre>
-
-<p>
-The Deltacloud server also responds to an alternative <strong>POST /api/buckets/:bucket_id</strong> route for creating or updating a blob object. As with the <strong>PUT</strong> method for creating/updating a blob, the client must specify the <strong>bucket</strong> in which the blob is to be created through the call URI (i.e. you <strong>POST</strong> to the specified bucket). The rest of the required fields, that is, the <strong>name</strong> of the blob, the <strong>blob_data</strong> and the <strong>content-length</strong> are specified by the client as <strong>multipart/form-data</strong> (i.e. in <strong>HTTP POST</strong> form fields).
-</p>
-
-<p>
-In order to specify the optional user metadata for a given blob the client must set the form field <strong>meta_params</strong> to specify the number of metadata key/value pairs. The metadata itself is then specified by the client with fields of the form <strong>meta_nameN</strong> and <strong>meta_valueN</strong> where N is an integer from 1 up to the number specified by the <strong>meta_params</strong> field (e.g. meta_name1=author, meta_value1=jrd).
-</p>
-
-<p>
-It should be noted that the <strong>POST</strong> method for creating a blob is non streaming - the Deltacloud server will create a temporary file with the blob data, before the file is transferred to the backend cloud. Thus, it should only be used for blobs with a relatively small content-length and in general the <strong>PUT</strong> method should be preferred for larger blobs. This <strong>POST</strong> method is mainly provided for clients that cannot easily invoke a <strong>HTTP PUT</strong> operation (e.g. web browsers) and can be used for creating/updating a blob through the deltacloud HTML interface (provided for testing purposes).
-</p>
-
-<p>Example request:</p>
-
-<pre>
-POST /api/buckets/mybucket?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1 (i386-redhat-linux-gnu) libcurl/7.20.1 N
-Accept: */*
-Content-Length: 113582
-Expect: 100-continue
-Content-Type: multipart/form-data; boundary=----------------------------517f5f2df858
-
-------------------------------517f5f2df858
-Content-Disposition: form-data; name="blob"
-
-12Jul2011blob
-------------------------------517f5f2df858
-Content-Disposition: form-data; name="blob_data"; filename="small.txt"
-Content-Type: text/plain
-
-&lt;THE_BLOB_DATA_HERE&gt;
-
-------------------------------517f5f2df858
-Content-Disposition: form-data; name="meta_params"
-
-2
-------------------------------517f5f2df858
-Content-Disposition: form-data; name="meta_name1"
-
-author
-------------------------------517f5f2df858
-Content-Disposition: form-data; name="meta_value1"
-jjs
-------------------------------517f5f2df858
-Content-Disposition: form-data; name="meta_name2"
-
-version
-------------------------------517f5f2df858
-Content-Disposition: form-data; name="meta_value2"
-
-2.2
-------------------------------517f5f2df858--
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-&lt;?xml version='1.0' encoding='utf-8' ?&gt;
-&lt;blob href='http://localhost:3001/api/buckets/mybucket/12Jul2011blob' id='12Jul2011blob'&gt;
-  &lt;bucket&gt;mybucket&lt;/bucket&gt;
-  &lt;content_length&gt;112766&lt;/content_length&gt;
-  &lt;content_type&gt;text/plain&lt;/content_type&gt;
-  &lt;last_modified&gt;&lt;/last_modified&gt;
-  &lt;user_metadata&gt;
-    &lt;entry key='x-amz-meta-author'&gt;
-      &lt;![CDATA[jjs]]&gt;
-    &lt;/entry&gt;
-    &lt;entry key='x-amz-meta-version'&gt;
-      &lt;![CDATA[2.2]]&gt;
-    &lt;/entry&gt;
-  &lt;/user_metadata&gt;
-  &lt;content href='http://localhost:3001/api/buckets/mybucket/12Jul2011blob/content'&gt;
-  &lt;/content&gt;
-&lt;/blob&gt;
-</pre>
-
-<h4>Delete a blob object</h4>
-
-<p>
-To delete the specified blob object from the back-end cloud use call <strong>DELETE /api/buckets/:bucket_id/:blob_id</strong>. The names of the blob and the bucket in which this exists are specified the in call URI. After a succesful operation the Deltacloud server responds with a <strong>HTTP 204</strong> (No Content) with no message body.
-</p>
-
-<p>Example request:</p>
-
-<pre>
-DELETE /api/buckets/mybucket/12Jul2011blob?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
-Host: localhost:3001
-Accept: */*
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-HTTP/1.1 204 No Content
-Connection: close
-Server: thin 1.2.11
-</pre>
-
-  </div>
-  <div class="tab-pane tab-fade" id="tab6">
-
-<h4>Get all metadata fields</h4>
-
-<p>
-To return all user defined metadata fields on a specified blob URI use the HTTP HEAD operation <strong>HEAD /api/buckets/:bucket_id/:blob_id</strong>. As per <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> this <strong>HEAD</strong> operation does not return a message body. Rather, the blob user metadata values are returned in the response X-Deltacloud-Blobmeta- headers (e.g., X-Deltacloud-Blobmeta-version:1.2).
-</p>
-
-<p>Example request:</p>
-
-<pre>
-HEAD /api/buckets/mybucket/myblob?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1
-Host: localhost:3001
-Accept: */*
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-HTTP/1.1 204 No Content
-X-Deltacloud-Blobmeta-version: 1.21
-X-Deltacloud-Blobmeta-author: jrd
-</pre>
-
-<h4>Update the user-defined blob metadata</h4>
-
-<p>
-To update the user-defined blob metadata use call <strong>POST /api/buckets/:bucket_id/:blob_id</strong> on the URI of a blob. This operation will overwrite all previously set user-metadata values (if any) and replace them with those specified in this call. The client must set the user-defined metadata in the X-Deltacloud-Blobmeta- headers (e.g., X-Deltacloud-Blobmeta-Model:2012).
-</p>
-
-<p>Example request:</p>
-
-<pre>
-POST /api/buckets/mybucket/myblob?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1
-Host: localhost:3001
-Accept: */*
-X-Deltacloud-Blobmeta-model: 2012
-X-Deltacloud-Blobmeta-paint: Stannite_Grey
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-HTTP/1.1 204 No Content
-X-Deltacloud-Blobmeta-model: 2012
-X-Deltacloud-Blobmeta-paint: Stannite_Grey
-</pre>
-
-</div>
-</div>
-</div>;	@"/ruby-client/{;{	;"�
<br/>
-
-<div class="row">
-  <div class="span8">
-
-<h3>Working with Deltacloud Ruby Client</h3>
-<p>Each type of a resource has an associated model. Where resource refers to other resources, natural navigation across the object model is possible. For example:</p>
-
-<pre>
-puts instance.image.name
-puts instance.hardware_profile.architecture
-</pre>
-
-<h4 id="realms">Listing realms</h4>
-<p>Retrieve a complete list of realms available to you:</p>
-
-<pre>realm = client.realms</pre>
-
-</div>
-  <div class="span4">
-  
-<ul class="nav nav-list well">
-  <li class="nav-header">Deltacloud Ruby Client</li>
-  <li class="active"><a href="#realms">Listing realms</a></li>
-  <li><a href="#profiles">Listing hardware profiles</a></li>
-  <li><a href="#images">Listing images</a></li>
-  <li><a href="#instances1">Listing instances</a></li>
-  <li><a href="#instances2">Lauching instances</a></li>
-  <li><a href="#instances3">Manipulating instances</a></li>
-  <li><a href="http://deltacloud.apache.org/ruby-client/doc/index.html">Client documentation</a></li>
-</ul>
-
-  </div>
-</div>
-
-<p>You can access a specific realm by adding its identifier:</p>
-
-<pre>realm = client.realm( 'us' )</pre>
-
-<h4 id="profiles">Listing hardware profiles</h4>
-
-<p>Display a complete list of hardware profiles available for launching machines:</p>
-
-<pre>hwp = client.hardware_profiles</pre>
-
-<p>You can filter hardware profiles by architecture.</p>
-
-<pre>hardware_profiles = client.hardware_profiles( :architecture=>'x86_64' )</pre>
-
-<p>Retrieve a specific hardware profile by its identifier:</p>
-
-<pre>hardware_profile = client.hardware_profile( 'm1-small' )</pre>
-
-<h4 id="images">Listing images</h4>
-
-<p>Return a complete list of images:</p>
-
-<pre>images = client.images</pre>
-
-<p>Retrieve a list of images owned by the currently authenticated user:</p>
-
-<pre>images = client.images( :owner_id=>:self )</pre>
-
-<p>You can also retrieve a list of images visible to you but owned by a specific user:</p>
-
-<pre>images = client.images( :owner_id=>'daryll' )</pre>
-
-<p>Access a specific image by its identifier:</p>
-
-<pre>image = client.image( 'ami-8675309' )</pre>
-
-<h4 id="instances1">Listing instances</h4>
-
-<p>Get a list of all instances visible to you:</p>
-
-<pre>instances = client.instances</pre>
-
-<p>Retrieve a list of all running instances:</p>
-
-<pre>instances = client.instances( :state =>:running )</pre>
-
-<p>Look up the first instance in the list:</p>
-
-<pre>instance = client.instances.first</pre>
-
-<p>Find a specific instance by its identifier:</p>
-
-<pre>instance = client.instance( 'i-90125' )</pre>
-
-<h4 id="instances2">Launching instances</h4>
-
-<p>Launch an instance using an image identifier:</p>
-
-<pre>instance = client.create_instance(image_id)</pre>
-
-<p>You may specify a hardware profile:</p>
-
-<pre>instance = client.create_instance(image_id, :hwp_id => 'm1-small')</pre>
-
-<p>To create new instance, you can also use the 'user_name' feature:</p>
-
-<pre>instance = client.create_instance(image_id, :name => 'myinst1')</pre>
-
-<h4 id="instances3">Manipulating instances</h4>
-
-<p>Start an instance:</p>
-
-<pre>instance.start!</pre>
-
-<p>Execute the 'reboot' operation:</p>
-
-<pre>instance.reboot!</pre>
-
-<p>Destroy an instance:</p>
-
-<pre>instance.destroy!</pre>
-
-<br/>
-
-<p>For more details on Deltacloud Ruby client see the full <a href="http://deltacloud.apache.org/ruby-client/doc/index.html">documentation</a>.</p>
-
-<a class="btn btn-inverse btn-large" style="float: right" href="/usage.html#clients"><i class="icon-arrow-left icon-white" style="vertical-align:baseline"> </i> Back</a>
-
-<br/>;
-"Q<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <title>The Deltacloud Ruby Client</title>
-    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
-    <!--[if lt IE 9]>
-    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-
-    <!-- Le JavaScript -->
-    <script src="/assets/js/jquery-1.7.1.min.js" type="text/javascript"></script>
-    <script src="/assets/js/bootstrap-dropdown.js" type="text/javascript"></script>
-    <script src="/assets/js/jquery.tweet.js" type="text/javascript"></script>
-    <script src="/assets/js/application.js" type="text/javascript"></script>
-    <script src="/assets/js/bootstrap-transition.js"></script>
-    <script src="/assets/js/bootstrap-alert.js"></script>
-    <script src="/assets/js/bootstrap-modal.js"></script>
-    <script src="/assets/js/bootstrap-scrollspy.js"></script>
-    <script src="/assets/js/bootstrap-tab.js"></script>
-    <script src="/assets/js/bootstrap-tooltip.js"></script>
-    <script src="/assets/js/bootstrap-popover.js"></script>
-    <script src="/assets/js/bootstrap-button.js"></script>
-    <script src="/assets/js/bootstrap-collapse.js"></script>
-    <script src="/assets/js/bootstrap-carousel.js"></script>
-    <script src="/assets/js/bootstrap-typeahead.js"></script>
-
-    <!-- Le styles -->
-    <link href="/assets/css/bootstrap.css" rel="stylesheet">
-    <link href="/assets/css/application.css" rel="stylesheet">
-    <link rel="shortcut icon" href="/assets/img/favicon.ico">
-  </head>
-
-  <body>
-
-    <div class="navbar navbar-fixed-top">
-      <div class="navbar-inner">
-        <div class="container">
-          <a class="brand" href="/"><img src="/assets/img/logo.png" width="152"
-            alt="Deltacloud API"/></a>
-          <ul class="nav top-nav">
-  <li><a href="/">Home</a></li>
-  <li class="dropdown">
-    <a href="#" class="dropdown-toggle" data-toggle="dropdown">About<b class="caret"></b></a>
-    <ul class="dropdown-menu">
-      <li><a href="/about.html">What is Deltacloud?</a></li>
-      <li><a href="/supported-providers.html">Supported Providers</a></li>
-    </ul>
-  </li>
-  <li class="dropdown">
-    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Installation<b class="caret"></b></a>
-    <ul class="dropdown-menu">
-      <li><a href="/install-deltacloud.html">Install Deltacloud</a></li>
-      <li><a href="/run-deltacloud-server.html">Run the Deltacloud Server</a></li>
-    </ul>
-  </li>
-  <li class="dropdown">
-    <a href="/usage.html" class="dropdown-toggle" data-toggle="dropdown">Usage<b class="caret"></b></a>
-    <ul class="dropdown-menu">
-      <li><a href="/usage.html#usingapi">Using API</a></li>
-      <li><a href="/usage.html#clients">Client Libraries</a></li>
-      <li><a href="/command-tools.html">Command Line Tools</a></li>
-    </ul>
-  </li>
-  <li class="dropdown">
-    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Contribute<b class="caret"></b></a>
-    <ul class="dropdown-menu">
-      <li><a href="/getting-sources.html">Getting Sources</a></li>
-      <li><a href="/how-to-contribute.html">How Can I Contribute?</a></li>
-    </ul>
-  </li>
-  <li class="dropdown">
-    <a href="#" class="dropdown-toggle" data-toggle="dropdown">API<b class="caret"></b></a>
-    <ul class="dropdown-menu">
-      <li><a href="/rest-api.html">REST API</a></li>
-      <li><a href="/drivers.html">Drivers API</a></li>
-    </ul>
-  </li>
-  <li><a href="/contact.html">Contact</a></li>
-</ul>
-
-        </div>
-      </div>
-
-    </div>
-
-    <div class="container content">
-
-      <p><br></p>
-
-<div class="row">
-  <div class="span8">
-
-<h3>Working with Deltacloud Ruby Client</h3>
-<p>Each type of a resource has an associated model. Where resource refers to other resources, natural navigation across the object model is possible. For example:</p>
-
-<pre>
-puts instance.image.name
-puts instance.hardware_profile.architecture
-</pre>
-
-<h4 id="realms">Listing realms</h4>
-<p>Retrieve a complete list of realms available to you:</p>
-
-<pre>realm = client.realms</pre>
-
-</div>
-  <div class="span4">
-  
-<ul class="nav nav-list well">
-<li class="nav-header">Deltacloud Ruby Client</li>
-  <li class="active"><a href="#realms">Listing realms</a></li>
-  <li><a href="#profiles">Listing hardware profiles</a></li>
-  <li><a href="#images">Listing images</a></li>
-  <li><a href="#instances1">Listing instances</a></li>
-  <li><a href="#instances2">Lauching instances</a></li>
-  <li><a href="#instances3">Manipulating instances</a></li>
-  <li><a href="http://deltacloud.apache.org/ruby-client/doc/index.html">Client documentation</a></li>
-</ul>
-</div>
-</div>
-
-<p>You can access a specific realm by adding its identifier:</p>
-
-<pre>realm = client.realm( 'us' )</pre>
-
-<h4 id="profiles">Listing hardware profiles</h4>
-
-<p>Display a complete list of hardware profiles available for launching machines:</p>
-
-<pre>hwp = client.hardware_profiles</pre>
-
-<p>You can filter hardware profiles by architecture.</p>
-
-<pre>hardware_profiles = client.hardware_profiles( :architecture=&gt;'x86_64' )</pre>
-
-<p>Retrieve a specific hardware profile by its identifier:</p>
-
-<pre>hardware_profile = client.hardware_profile( 'm1-small' )</pre>
-
-<h4 id="images">Listing images</h4>
-
-<p>Return a complete list of images:</p>
-
-<pre>images = client.images</pre>
-
-<p>Retrieve a list of images owned by the currently authenticated user:</p>
-
-<pre>images = client.images( :owner_id=&gt;:self )</pre>
-
-<p>You can also retrieve a list of images visible to you but owned by a specific user:</p>
-
-<pre>images = client.images( :owner_id=&gt;'daryll' )</pre>
-
-<p>Access a specific image by its identifier:</p>
-
-<pre>image = client.image( 'ami-8675309' )</pre>
-
-<h4 id="instances1">Listing instances</h4>
-
-<p>Get a list of all instances visible to you:</p>
-
-<pre>instances = client.instances</pre>
-
-<p>Retrieve a list of all running instances:</p>
-
-<pre>instances = client.instances( :state =&gt;:running )</pre>
-
-<p>Look up the first instance in the list:</p>
-
-<pre>instance = client.instances.first</pre>
-
-<p>Find a specific instance by its identifier:</p>
-
-<pre>instance = client.instance( 'i-90125' )</pre>
-
-<h4 id="instances2">Launching instances</h4>
-
-<p>Launch an instance using an image identifier:</p>
-
-<pre>instance = client.create_instance(image_id)</pre>
-
-<p>You may specify a hardware profile:</p>
-
-<pre>instance = client.create_instance(image_id, :hwp_id =&gt; 'm1-small')</pre>
-
-<p>To create new instance, you can also use the 'user_name' feature:</p>
-
-<pre>instance = client.create_instance(image_id, :name =&gt; 'myinst1')</pre>
-
-<h4 id="instances3">Manipulating instances</h4>
-
-<p>Start an instance:</p>
-
-<pre>instance.start!</pre>
-
-<p>Execute the 'reboot' operation:</p>
-
-<pre>instance.reboot!</pre>
-
-<p>Destroy an instance:</p>
-
-<pre>instance.destroy!</pre>
-
-<p><br></p>
-
-<p>For more details on Deltacloud Ruby client see the full <a href="http://deltacloud.apache.org/ruby-client/doc/index.html">documentation</a>.</p>
-
-<p><a class="btn btn-inverse btn-large" style="float: right" href="usage.html#clients"><i class="icon-arrow-left icon-white" style="vertical-align:baseline"> </i> Back</a></p>
-
-<p><br></p>
-
-      <footer class="footer">
-        <p class="pull-right"><span class='icon-circle-arrow-up'>&nbsp;</span><a href="#">Back to top</a></p>
-        <div class='row'>
-          <div class='span3'>
-            <img src="/assets/img/asf.png" alt="Apache Software Foundation"/>
-          </div>
-          <div class='span9'>
-            <strong>Apache Deltacloud</strong> is a top-level project at the <a
-              href="http://www.apache.org">Apache Software Foundation</a>,
-            having graduated from the ASF Incubator in October
-            2011. Through a collaborative and meritocratic development process, Apache
-            projects deliver enterprise-grade, freely available software products that
-            attract large communities of users. 
-          </div>
-        </div>
-      </footer>
-
-    </div> <!-- /container -->
-
-  </body>
-</html>
-;"<p><br></p>
-
-<div class="row">
-  <div class="span8">
-
-<h3>Working with Deltacloud Ruby Client</h3>
-<p>Each type of a resource has an associated model. Where resource refers to other resources, natural navigation across the object model is possible. For example:</p>
-
-<pre>
-puts instance.image.name
-puts instance.hardware_profile.architecture
-</pre>
-
-<h4 id="realms">Listing realms</h4>
-<p>Retrieve a complete list of realms available to you:</p>
-
-<pre>realm = client.realms</pre>
-
-</div>
-  <div class="span4">
-  
-<ul class="nav nav-list well">
-<li class="nav-header">Deltacloud Ruby Client</li>
-  <li class="active"><a href="#realms">Listing realms</a></li>
-  <li><a href="#profiles">Listing hardware profiles</a></li>
-  <li><a href="#images">Listing images</a></li>
-  <li><a href="#instances1">Listing instances</a></li>
-  <li><a href="#instances2">Lauching instances</a></li>
-  <li><a href="#instances3">Manipulating instances</a></li>
-  <li><a href="http://deltacloud.apache.org/ruby-client/doc/index.html">Client documentation</a></li>
-</ul>
-</div>
-</div>
-
-<p>You can access a specific realm by adding its identifier:</p>
-
-<pre>realm = client.realm( 'us' )</pre>
-
-<h4 id="profiles">Listing hardware profiles</h4>
-
-<p>Display a complete list of hardware profiles available for launching machines:</p>
-
-<pre>hwp = client.hardware_profiles</pre>
-
-<p>You can filter hardware profiles by architecture.</p>
-
-<pre>hardware_profiles = client.hardware_profiles( :architecture=&gt;'x86_64' )</pre>
-
-<p>Retrieve a specific hardware profile by its identifier:</p>
-
-<pre>hardware_profile = client.hardware_profile( 'm1-small' )</pre>
-
-<h4 id="images">Listing images</h4>
-
-<p>Return a complete list of images:</p>
-
-<pre>images = client.images</pre>
-
-<p>Retrieve a list of images owned by the currently authenticated user:</p>
-
-<pre>images = client.images( :owner_id=&gt;:self )</pre>
-
-<p>You can also retrieve a list of images visible to you but owned by a specific user:</p>
-
-<pre>images = client.images( :owner_id=&gt;'daryll' )</pre>
-
-<p>Access a specific image by its identifier:</p>
-
-<pre>image = client.image( 'ami-8675309' )</pre>
-
-<h4 id="instances1">Listing instances</h4>
-
-<p>Get a list of all instances visible to you:</p>
-
-<pre>instances = client.instances</pre>
-
-<p>Retrieve a list of all running instances:</p>
-
-<pre>instances = client.instances( :state =&gt;:running )</pre>
-
-<p>Look up the first instance in the list:</p>
-
-<pre>instance = client.instances.first</pre>
-
-<p>Find a specific instance by its identifier:</p>
-
-<pre>instance = client.instance( 'i-90125' )</pre>
-
-<h4 id="instances2">Launching instances</h4>
-
-<p>Launch an instance using an image identifier:</p>
-
-<pre>instance = client.create_instance(image_id)</pre>
-
-<p>You may specify a hardware profile:</p>
-
-<pre>instance = client.create_instance(image_id, :hwp_id =&gt; 'm1-small')</pre>
-
-<p>To create new instance, you can also use the 'user_name' feature:</p>
-
-<pre>instance = client.create_instance(image_id, :name =&gt; 'myinst1')</pre>
-
-<h4 id="instances3">Manipulating instances</h4>
-
-<p>Start an instance:</p>
-
-<pre>instance.start!</pre>
-
-<p>Execute the 'reboot' operation:</p>
-
-<pre>instance.reboot!</pre>
-
-<p>Destroy an instance:</p>
-
-<pre>instance.destroy!</pre>
-
-<p><br></p>
-
-<p>For more details on Deltacloud Ruby client see the full <a href="http://deltacloud.apache.org/ruby-client/doc/index.html">documentation</a>.</p>
-
-<p><a class="btn btn-inverse btn-large" style="float: right" href="usage.html#clients"><i class="icon-arrow-left icon-white" style="vertical-align:baseline"> </i> Back</a></p>
-
-<p><br></p>;	@"/instance-states/{;{	;"<br/>
-
-<div class="row">
-  <div class="span9">
-
-<h3 id="instance-states">Instance states</h3>
-
-<p>
-Each cloud defines a slightly different lifecycle model for instances. In some clouds, instances start running immediately after creation, in others, they enter a pending state and you need to start them explicitly.
-</p>
-
-<p>
-Differences between clouds are modelled by expressing the lifecycle of an instance as a finite state machine and capturing it in an instance states entity.The API defines the following states for an instance:</p>
-
-<table class="table table-condensed table-striped">
-  <thead>
-    <tr>
-      <th>State</th>
-      <th>Meaning</th>
-    </tr>
-  </thead>
-  <tbody>
-    <tr>
-      <td>start</td>
-      <td>an instance state before creation of an instance</td>
-    </tr>
-    <tr>
-      <td>pending</td>
-      <td>creation of an instance is in progress</td>
-    </tr>
-    <tr>
-      <td>running</td>
-      <td>an instance is running</td>
-    </tr>
-    <tr>
-      <td>shutting-down</td>
-      <td>an instance is stopped</td>
-    </tr>
-    <tr>
-      <td>stopped</td>
-      <td>an instance is stopped</td>
-    </tr>
-    <tr>
-      <td>finished</td>
-      <td>all resources for an instance have now been freed</td>
-    </tr>
-  </tbody>
-</table>
-
-  </div>
-  <div class="span3">
-
-<ul class="nav nav-list well">
-  <li class="nav-header">
-    REST API
-  </li>
-  <li><a href="/rest-api.html">Introduction</a></li>
-  <li><a href="/api-entry-point.html">API entry point</a></li>
-  <li><a href="/compute-resources.html">Compute resources</a></li>
-  <ul class="nav nav-list">
-    <li><a href="/compute-resources.html">Realms</a></li>
-    <li><a href="/hardware-profiles.html">Hardware profiles</a></li>
-    <li><a href="/images.html">Images</a></li>
-    <li class="active"><a href="#instance-states">Instance states</a></li>
-    <li><a href="/instances.html">Instances</a></li>
-    <li><a href="/keys.html">Keys</a></li>
-    <li><a href="/firewalls.html">Firewalls</a></li>
-    <li><a href="/addresses.html">Addresses</a></li>
-    <li><a href="/load-balancers.html">Load balancers</a></li>
-  </ul>
-  <li><a href="/storage-resources.html">Storage resources</a></li>
-</ul>
-
-  </div>
-</div>
-
-<p>
-The details of a particular instance describes also the actions (state transitions) which can be performed on the instance. If the state transition is marked as <strong>auto</strong>, the transition from one state to another is done automatically. The possible instance actions are:
-</p>
-
-
-<table class="table table-condensed table-striped">
- <thead>
-  <tr>
-   <th>Action</th>
-   <th>Meaning</th>
-  </tr>
- </thead>
- <tbody>
-  <tr>
-   <td>start</td>
-   <td>starts the instance</td>
-  </tr>
-  <tr>
-   <td>stop</td>
-   <td>stops (and for some providers shutdown) the instance</td>
-  </tr>
-  <tr>
-   <td>reboot</td>
-   <td>reboots the instance</td>
-  </tr>
-  <tr>
-   <td>destroy</td>
-   <td>stops the instance and completely destroys it</td>
-  </tr>
- </tbody>
-</table>
-
-
-<h4>Get an instance states entity</h4>
-
-To retrieve the instance states entity for a back-end cloud use call <strong>GET /api/instance_states</strong>. The instance states entity defines possible transitions between various states of an instance, specific for each back-end cloud. As a result, instance states defines the finite state machine for instances from the given cloud.
-
-<p>Example request:</p>
-
-<pre>
-GET /api/instance_states?format=xml HTTP/1.1
-Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
-User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
-Host: localhost:3002
-Accept: */*
-</pre>
-
-<p>Server response:</p>
-
-<pre>
-HTTP/1.1 200 OK
-Content-Type: application/xml
-Content-Length: 583
-
-&lt;states&gt;
-  &lt;state name='start'&gt;
-    &lt;transition action='create' to='pending'&gt;&lt;/transition&gt;
-  &lt;/state&gt;
-  &lt;state name='pending'&gt;
-    &lt;transition auto='true' to='running'&gt;&lt;/transition&gt;
-  &lt;/state&gt;
-  &lt;state name='running'&gt;
-    &lt;transition action='reboot' to='running'&gt;&lt;/transition&gt;
-    &lt;transition action='stop' to='shutting_down'&gt;&lt;/transition&gt;
-  &lt;/state&gt;
-  &lt;state name='shutting_down'&gt;
-    &lt;transition auto='true' to='stopped'&gt;&lt;/transition&gt;
-  &lt;/state&gt;
-  &lt;state name='stopped'&gt;
-    &lt;transition auto='true' to='finish'&gt;&lt;/transition&gt;
-  &lt;/state&gt;
-  &lt;state name='finish'&gt;
-  &lt;/state&gt;
-&lt;/states&gt;
-</pre>
-
-<a class="btn btn-inverse btn-large" style="float: right" href="/instances.html">Instances <i class="icon-arrow-right icon-white" style="vertical-align:baseline"> </i></a>
-
-<br/>;
-"�"<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <title>Instance states</title>
-    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
-    <!--[if lt IE 9]>
-    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-
-    <!-- Le JavaScript -->
-    <script src="/assets/js/jquery-1.7.1.min.js" type="text/javascript"></script>
-    <script src="/assets/js/bootstrap-dropdown.js" type="text/javascript"></script>
-    <script src="/assets/js/jquery.tweet.js" type="text/javascript"></script>
-    <script src="/assets/js/application.js" type="text/javascript"></script>
-    <script src="/assets/js/bootstrap-transition.js"></script>
-    <script src="/assets/js/bootstrap-alert.js"></script>
-    <script src="/assets/js/bootstrap-modal.js"></script>
-    <script src="/assets/js/bootstrap-scrollspy.js"></script>
-    <script src="/assets/js/bootstrap-tab.js"></script>
-    <script src="/assets/js/bootstrap-tooltip.js"></script>
-    <script src="/assets/js/bootstrap-popover.js"></script>
-    <script src="/assets/js/bootstrap-button.js"></script>
-    <script src="/assets/js/bootstrap-collapse.js"></script>
-    <script src="/assets/js/bootstrap-carousel.js"></script>
-    <script src="/assets/js/bootstrap-typeahead.js"></script>
-
-    <!-- Le styles -->
-    <link href="/assets/css/bootstrap.css" rel="stylesheet">
-    <link href="/assets/css/application.css" rel="stylesheet">
-    <link rel="shortcut icon" href="/assets/img/favicon.ico">
-  </head>
-
-  <body>
-
-    <div class="navbar navbar-fixed-top">
-      <div class="navbar-inner">
-        <div class="container">
-          <a class="brand" href="/"><img src="/assets/img/logo.png" width="152"
-            alt="Deltacloud API"/></a>
-          <ul class="nav top-nav">
-  <li><a href="/">Home</a></li>
-  <li class="dropdown">
-    <a href="#" class="dropdown-toggle" data-toggle="dropdown">About<b class="caret"></b></a>
-    <ul class="dropdown-menu">
-      <li><a href="/about.html">What is Deltacloud?</a></li>
-      <li><a href="/supported-providers.html">Supported Providers</a></li>
-    </ul>
-  </li>
-  <li class="dropdown">
-    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Installation<b class="caret"></b></a>
-    <ul class="dropdown-menu">
-      <li><a href="/install-deltacloud.html">Install Deltacloud</a></li>
-      <li><a href="/run-deltacloud-server.html">Run the Deltacloud Server</a></li>
-    </ul>
-  </li>
-  <li class="dropdown">
-    <a href="/usage.html" class="dropdown-toggle" data-toggle="dropdown">Usage<b class="caret"></b></a>
-    <ul class="dropdown-menu">
-      <li><a href="/usage.html#usingapi">Using API</a></li>
-      <li><a href="/usage.html#clients">Client Libraries</a></li>
-      <li><a href="/command-tools.html">Command Line Tools</a></li>
-    </ul>
-  </li>
-  <li class="dropdown">
-    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Contribute<b class="caret"></b></a>
-    <ul class="dropdown-menu">
-      <li><a href="/getting-sources.html">Getting Sources</a></li>
-      <li><a href="/how-to-contribute.html">How Can I Contribute?</a></li>
-    </ul>
-  </li>
-  <li class="dropdown">
-    <a href="#" class="dropdown-toggle" data-toggle="dropdown">API<b class="caret"></b></a>
-    <ul class="dropdown-menu">
-      <li><a href="/rest-api.html">REST API</a></li>
-      <li><a href="/drivers.html">Drivers API</a></li>
-    </ul>
-  </li>
-  <li><a href="/contact.html">Contact</a></li>
-</ul>
-
-        </div>
-      </div>
-
-    </div>
-
-    <div class="container content">
-
-      <p><br></p>
-
-<div class="row">
-  <div class="span9">
-
-<h3 id="instance-states">Instance states</h3>
-
-<p>
-Each cloud defines a slightly different lifecycle model for instances. In some clouds, instances start running immediately after creation, in others, they enter a pending state and you need to start them explicitly.
-</p>
-
-<p>
-Differences between clouds are modelled b

<TRUNCATED>
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d9b227db/site/tmp/dependencies
----------------------------------------------------------------------
diff --git a/site/tmp/dependencies b/site/tmp/dependencies
deleted file mode 100644
index 2bcd777..0000000
Binary files a/site/tmp/dependencies and /dev/null differ


Mime
View raw message