Modified: jclouds/site-content/releasenotes/beta7.html
URL: 
http://svn.apache.org/viewvc/jclouds/site-content/releasenotes/beta7.html?rev=1923693&r1=1923692&r2=1923693&view=diff
==============================================================================
--- jclouds/site-content/releasenotes/beta7.html (original)
+++ jclouds/site-content/releasenotes/beta7.html Mon Feb 10 07:25:53 2025
@@ -150,72 +150,67 @@
                 <h1>Release Notes - Beta 7</h1>
                 
             </div>
-            <p>There is 4 months solid effort in jclouds 1.0-beta-7 release. 
<a 
href="http://code.google.com/p/jclouds/issues/list?can=1&amp;q=label%3AMilestone-1.0-beta-7";>65
 issues</a>
-were addressed.<br/>
+            <p>There is 4 months solid effort in jclouds 1.0-beta-7 release. 
<a 
href="http://code.google.com/p/jclouds/issues/list?can=1&amp;q=label%3AMilestone-1.0-beta-7";>65
 issues</a> 
+were addressed.<br />
 Our !ComputeService provisioning api is much stronger, with a mock provider 
and new Hardware and !OperatingSystem models,
- not to mention the new vCloud 1.0 api. We've also updated BlobStore with much 
sought after filesystem and blob signing support.</p>
+ not to mention the new vCloud 1.0 api. We’ve also updated BlobStore with 
much sought after filesystem and blob signing support.</p>
 
 <p>Below is more information on these enhancements.</p>
 
-<h2>New Features</h2>
+<h2 id="new-features">New Features</h2>
 
 <ul>
-<li>We now have an <a 
href="http://code.google.com/p/jclouds/wiki/ComputeGuide#Operating_System";>OperatingSystem</a>
 type to help you be more specific
+  <li>We now have an <a 
href="http://code.google.com/p/jclouds/wiki/ComputeGuide#Operating_System";>OperatingSystem</a>
 type to help you be more specific 
   in provisioning and operations commands.</li>
-<li>Our new <a 
href="http://code.google.com/p/jclouds/wiki/ComputeGuide#Hardware";>Hardware</a> 
type exposes lots of details
+  <li>Our new <a 
href="http://code.google.com/p/jclouds/wiki/ComputeGuide#Hardware";>Hardware</a> 
type exposes lots of details 
   including number of cores and speed per processor, as well mounted volume 
information including Amazon EBS and vCloud.</li>
-<li>We've enhanced testability by adding a <a 
href="http://code.google.com/p/jclouds/wiki/ComputeGuide#Stub_Provider";>stub</a>
 ComputeService provider.
+  <li>We’ve enhanced testability by adding a <a 
href="http://code.google.com/p/jclouds/wiki/ComputeGuide#Stub_Provider";>stub</a>
 ComputeService provider.
 With this you can write test provisioning code without launching servers.</li>
-<li>Our [vCloud vCloud] support is completely revamped to support the new 1.0 
api implemented by <a 
href="http://www.vmware.com/products/vcloud-director/";>vCloud Director</a>
-with many thanks to VMware and <a 
href="http://www.bluelock.com/bluelock-cloud-hosting/virtual-cloud-enterprise/";>BlueLock</a>.<br/>
-Moreover, we've revamped <a 
href="/documentation/quickstart/terremark-vcloud-express">Terremark</a> vCloud 
Express and started on their eCloud offering.</li>
-<li><a href="http://www.rainbowbreeze.it";>Alfredo Morresi</a> contributed a <a 
href="/documentation/userguide/blobstore-guide">filesystem blobstore</a>,
+  <li>Our [vCloud vCloud] support is completely revamped to support the new 
1.0 api implemented by <a 
href="http://www.vmware.com/products/vcloud-director/";>vCloud Director</a> 
+with many thanks to VMware and <a 
href="http://www.bluelock.com/bluelock-cloud-hosting/virtual-cloud-enterprise/";>BlueLock</a>.<br
 />
+Moreover, we’ve revamped <a 
href="/documentation/quickstart/terremark-vcloud-express">Terremark</a> vCloud 
Express and started on their eCloud offering.</li>
+  <li><a href="http://www.rainbowbreeze.it";>Alfredo Morresi</a> contributed a 
<a href="/documentation/userguide/blobstore-guide">filesystem blobstore</a>, 
 which allows you to to use the same api persisting to disk, memory, or a 
blobstore like Amazon S3.</li>
-<li>With our  <a href="/documentation/userguide/blobstore-guide">blobstore 
portable request signer</a>,
+  <li>With our  <a href="/documentation/userguide/blobstore-guide">blobstore 
portable request signer</a>,
 you can pass blobstore commands to non-java environments to execute.  Be 
creative!</li>
-<li>Our core is stronger, now using <a 
href="http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/urlfetch/URLFetchService.html#fetchAsync%28com.google.appengine.api.urlfetch.HTTPRequest%29";>Asynchronous
 URLFetch</a>
+  <li>Our core is stronger, now using <a 
href="http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/urlfetch/URLFetchService.html#fetchAsync%28com.google.appengine.api.urlfetch.HTTPRequest%29";>Asynchronous
 URLFetch</a>
 in Google Appengine and jaxrs processing via <a 
href="https://jersey.dev.java.net/";>Jersey</a>.</li>
 </ul>
 
-
-<h2>API Breaking Changes</h2>
+<h2 id="api-breaking-changes">API Breaking Changes</h2>
 
 <ul>
-<li>Blob now uses our new Payload class; blob's data needs to be accessed via 
<code>getPayload()</code> not <code>getContent()</code></li>
-<li>We've completely dropped the <code>Size</code> object for 
<code>Hardware</code>, look for corresponding method names.</li>
-<li>The <code>Architecture</code> enum has been replaced with a free form 
field due to it being too coupled to EC2 concepts.
-Generally, <code>os64bit(true)</code> replaces its functionality.</li>
-<li>ContentMetadata is now its own type; use 
<code>md.getContentMetadata().getContentType()</code> as opposed to 
<code>md.getContentType()</code></li>
-<li>Encryption utilities are now functions; 
use<code>Payloads.calculateMD5(blob)</code>, not 
<code>blob.generateMD5()</code></li>
-<li>vCloud offerings have been significantly changed to address vCloud 1.0 and 
a prior modeling gap.</li>
-<li>Look for enum of <code>UNRECOGNIZED</code> which allows jclouds to operate 
even when an API clone provides bad data.</li>
+  <li>Blob now uses our new Payload class; blob’s data needs to be accessed 
via <code class="language-plaintext highlighter-rouge">getPayload()</code> not 
<code class="language-plaintext highlighter-rouge">getContent()</code></li>
+  <li>We’ve completely dropped the <code class="language-plaintext 
highlighter-rouge">Size</code> object for <code class="language-plaintext 
highlighter-rouge">Hardware</code>, look for corresponding method names.</li>
+  <li>The <code class="language-plaintext 
highlighter-rouge">Architecture</code> enum has been replaced with a free form 
field due to it being too coupled to EC2 concepts.
+Generally, <code class="language-plaintext 
highlighter-rouge">os64bit(true)</code> replaces its functionality.</li>
+  <li>ContentMetadata is now its own type; use <code class="language-plaintext 
highlighter-rouge">md.getContentMetadata().getContentType()</code> as opposed 
to <code class="language-plaintext 
highlighter-rouge">md.getContentType()</code></li>
+  <li>Encryption utilities are now functions; use<code 
class="language-plaintext highlighter-rouge"> 
Payloads.calculateMD5(blob)</code>, not <code class="language-plaintext 
highlighter-rouge">blob.generateMD5()</code></li>
+  <li>vCloud offerings have been significantly changed to address vCloud 1.0 
and a prior modeling gap.</li>
+  <li>Look for enum of <code class="language-plaintext 
highlighter-rouge">UNRECOGNIZED</code> which allows jclouds to operate even 
when an API clone provides bad data.</li>
 </ul>
 
-
-<h2>Known Issues</h2>
+<h2 id="known-issues">Known Issues</h2>
 
 <ul>
-<li>trmk-vcloudexpress is unstable when using 
<code>runScriptOnNodesMatching</code></li>
-<li>eucalyptus tests skipped due to no resources on the test cloud</li>
-<li>the following providers are unstable
-
-<ul>
-<li>trmk-ecloud</li>
-<li>rimuhosting</li>
-<li>ibmdev (sandbox)</li>
+  <li>trmk-vcloudexpress is unstable when using <code 
class="language-plaintext 
highlighter-rouge">runScriptOnNodesMatching</code></li>
+  <li>eucalyptus tests skipped due to no resources on the test cloud</li>
+  <li>the following providers are unstable
+    <ul>
+      <li>trmk-ecloud</li>
+      <li>rimuhosting</li>
+      <li>ibmdev (sandbox)</li>
+    </ul>
+  </li>
+  <li>the following are known limitations of filesystem provider
+    <ul>
+      <li>Provider is not tested on windows</li>
+      <li>Blobstore list method lists all the file inside the container in a 
recursive way. Other options of the method aren’t manager yes</li>
+      <li>There are issues when compiling the class under Windows. Need to be 
fixed</li>
+      <li>No blob metadata are stored in this current implementation. Only the 
name and the content of the source payload is stored.</li>
+    </ul>
+  </li>
 </ul>
-</li>
-<li>the following are known limitations of filesystem provider
-
-<ul>
-<li>Provider is not tested on windows</li>
-<li>Blobstore list method lists all the file inside the container in a 
recursive way. Other options of the method aren't manager yes</li>
-<li>There are issues when compiling the class under Windows. Need to be 
fixed</li>
-<li>No blob metadata are stored in this current implementation. Only the name 
and the content of the source payload is stored.</li>
-</ul>
-</li>
-</ul>
-
 
             <div class="row clearfix">
                 <div id="footer" class="col-md-12 column">

Modified: jclouds/site-content/releasenotes/beta8.html
URL: 
http://svn.apache.org/viewvc/jclouds/site-content/releasenotes/beta8.html?rev=1923693&r1=1923692&r2=1923693&view=diff
==============================================================================
--- jclouds/site-content/releasenotes/beta8.html (original)
+++ jclouds/site-content/releasenotes/beta8.html Mon Feb 10 07:25:53 2025
@@ -150,62 +150,52 @@
                 <h1>Release Notes Beta 8</h1>
                 
             </div>
-            <h2>Introduction</h2>
+            <h2 id="introduction">Introduction</h2>
 
 <p>We resolved <a 
href="http://code.google.com/p/jclouds/issues/list?can=1&amp;q=label%3AMilestone-1.0-beta-8";>23
 issues</a>
  in our jclouds 1.0-beta-8 release.  While mostly a bugfix release we have a 
few notable features to discuss.</p>
 
-<h2>New Features</h2>
-
-<ul>
-<li>Tested support for a <a 
href="http://www.peer1.com/hosting/cloudone-storage.php";>peer1-storage</a></li>
-<li>jclouds can now persist credentials of started nodes across contexts, 
which allows you
-to run scripts without ever knowing the login credentials of nodes.</li>
-<li>Integration tests are stronger including os version match tests and 
running web services on launched nodes</li>
-<li>Stabalized terremark ecloud support</li>
-</ul>
-
-
-<h2>API Breaking Changes</h2>
-
-<ul>
-<li><code>EC2Hardware object</code> has been removed in favor of the base 
<code>Hardware</code> class.</li>
-<li><code>ScriptBuilder.build</code> is now <code>ScriptBuilder.render</code> 
so that it can implement the <code>Statement</code> interface.</li>
-</ul>
-
-
-<h2>Known Issues</h2>
-
-<ul>
-<li>trmk-ecloud
-
-<ul>
-<li>only the centos template work in ComputeService</li>
-</ul>
-</li>
-<li>slicehost
-
-<ul>
-<li>note that soft followed by hard reboot ends often throws a server error 
saying wait.</li>
-</ul>
-</li>
-<li>bluelock-vcdirector/vcloud
-
-<ul>
-<li>you have to copy vAppTemplates into your catalog from the public one 
before they can be used.</li>
-<li>ComputeService has no hooks for changing the hardware yet</li>
-</ul>
-</li>
-<li>eucalyptus tests skipped due to no resources on the test cloud</li>
-<li>the following providers are unstable
-
+<h2 id="new-features">New Features</h2>
 <ul>
-<li>rimuhosting</li>
-</ul>
-</li>
+  <li>Tested support for a <a 
href="http://www.peer1.com/hosting/cloudone-storage.php";>peer1-storage</a></li>
+  <li>jclouds can now persist credentials of started nodes across contexts, 
which allows you
+ to run scripts without ever knowing the login credentials of nodes.</li>
+  <li>Integration tests are stronger including os version match tests and 
running web services on launched nodes</li>
+  <li>Stabalized terremark ecloud support</li>
+</ul>
+
+<h2 id="api-breaking-changes">API Breaking Changes</h2>
+<ul>
+  <li><code class="language-plaintext highlighter-rouge">EC2Hardware 
object</code> has been removed in favor of the base <code 
class="language-plaintext highlighter-rouge">Hardware</code> class.</li>
+  <li><code class="language-plaintext 
highlighter-rouge">ScriptBuilder.build</code> is now <code 
class="language-plaintext highlighter-rouge">ScriptBuilder.render</code> so 
that it can implement the <code class="language-plaintext 
highlighter-rouge">Statement</code> interface.</li>
+</ul>
+
+<h2 id="known-issues">Known Issues</h2>
+<ul>
+  <li>trmk-ecloud
+    <ul>
+      <li>only the centos template work in ComputeService</li>
+    </ul>
+  </li>
+  <li>slicehost
+    <ul>
+      <li>note that soft followed by hard reboot ends often throws a server 
error saying wait.</li>
+    </ul>
+  </li>
+  <li>bluelock-vcdirector/vcloud
+    <ul>
+      <li>you have to copy vAppTemplates into your catalog from the public one 
before they can be used.</li>
+      <li>ComputeService has no hooks for changing the hardware yet</li>
+    </ul>
+  </li>
+  <li>eucalyptus tests skipped due to no resources on the test cloud</li>
+  <li>the following providers are unstable
+    <ul>
+      <li>rimuhosting</li>
+    </ul>
+  </li>
 </ul>
 
-
             <div class="row clearfix">
                 <div id="footer" class="col-md-12 column">
                     <div id="footer">

Modified: jclouds/site-content/releasenotes/index.html
URL: 
http://svn.apache.org/viewvc/jclouds/site-content/releasenotes/index.html?rev=1923693&r1=1923692&r2=1923693&view=diff
==============================================================================
--- jclouds/site-content/releasenotes/index.html (original)
+++ jclouds/site-content/releasenotes/index.html Mon Feb 10 07:25:53 2025
@@ -152,65 +152,495 @@
             <p>The Release Notes and Javadocs for every major release of 
Apache jclouds are listed chronologically below.</p>
 
 <ul>
-<li><a href="/releasenotes/2.5.0">2.5.0</a> | <a 
href="/reference/javadoc/2.5.x/">Javadoc</a></li>
-<li><a href="/releasenotes/2.4.0">2.4.0</a> | <a 
href="/reference/javadoc/2.4.x/">Javadoc</a></li>
-<li><a href="/releasenotes/2.3.0">2.3.0</a> | <a 
href="/reference/javadoc/2.3.x/">Javadoc</a></li>
-<li><a href="/releasenotes/2.2.1">2.2.1</a> | <a 
href="/reference/javadoc/2.2.x/">Javadoc</a></li>
-<li><a href="/releasenotes/2.2.0">2.2.0</a> | <a 
href="/reference/javadoc/2.2.x/">Javadoc</a></li>
-<li><a href="/releasenotes/2.1.3">2.1.3</a> | <a 
href="/reference/javadoc/2.1.x/">Javadoc</a></li>
-<li><a href="/releasenotes/2.1.2">2.1.2</a> | <a 
href="/reference/javadoc/2.1.x/">Javadoc</a></li>
-<li><a href="/releasenotes/2.1.1">2.1.1</a> | <a 
href="/reference/javadoc/2.1.x/">Javadoc</a></li>
-<li><a href="/releasenotes/2.1.0">2.1.0</a> | <a 
href="/reference/javadoc/2.1.x/">Javadoc</a></li>
-<li><a href="/releasenotes/2.0.3">2.0.3</a> | <a 
href="/reference/javadoc/2.0.x/">Javadoc</a></li>
-<li><a href="/releasenotes/2.0.2">2.0.2</a> | <a 
href="/reference/javadoc/2.0.x/">Javadoc</a></li>
-<li><a href="/releasenotes/2.0.1">2.0.1</a> | <a 
href="/reference/javadoc/2.0.x/">Javadoc</a></li>
-<li><a href="/releasenotes/2.0.0">2.0.0</a> | <a 
href="/reference/javadoc/2.0.x/">Javadoc</a></li>
-<li><a href="/releasenotes/1.9.3">1.9.3</a> | <a 
href="/reference/javadoc/1.9.x/">Javadoc</a></li>
-<li><a href="/releasenotes/1.9.2">1.9.2</a> | <a 
href="/reference/javadoc/1.9.x/">Javadoc</a></li>
-<li><a href="/releasenotes/1.9.1">1.9.1</a> | <a 
href="/reference/javadoc/1.9.x/">Javadoc</a></li>
-<li><a href="/releasenotes/1.9.0">1.9.0</a> | <a 
href="/reference/javadoc/1.9.x/">Javadoc</a></li>
-<li><a href="/releasenotes/1.8.1">1.8.1</a> | <a 
href="/reference/javadoc/1.8.x/">Javadoc</a></li>
-<li><a href="/releasenotes/1.8.0">1.8.0</a> | <a 
href="/reference/javadoc/1.8.x/">Javadoc</a></li>
-<li><a href="/releasenotes/1.7.3">1.7.3</a> | <a 
href="/reference/javadoc/1.7.x/">Javadoc</a></li>
-<li><a href="/releasenotes/1.7.2">1.7.2</a> | <a 
href="/reference/javadoc/1.7.x/">Javadoc</a></li>
-<li><a href="/releasenotes/1.7.1">1.7.1</a> | <a 
href="/reference/javadoc/1.7.x/">Javadoc</a></li>
-<li><a href="/releasenotes/1.7.0">1.7.0</a> | <a 
href="/reference/javadoc/1.7.x/">Javadoc</a></li>
-<li><a href="/releasenotes/1.6.3">1.6.3</a> | <a 
href="http://demobox.github.io/jclouds-maven-site-1.6.3/1.6.3/jclouds/apidocs/";>Javadoc</a></li>
-<li><a href="/releasenotes/1.6.2">1.6.2</a> | <a 
href="http://demobox.github.io/jclouds-maven-site-1.6.2/1.6.2-incubating/jclouds/apidocs/";>Javadoc</a></li>
-<li><a href="/releasenotes/1.6.1">1.6.1</a> | <a 
href="http://demobox.github.io/jclouds-maven-site-1.6.1/1.6.1-incubating/jclouds/apidocs/";>Javadoc</a></li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/2.5.0">2.5.0</a></td>
+          <td><a href="/reference/javadoc/2.5.x/">Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/2.4.0">2.4.0</a></td>
+          <td><a href="/reference/javadoc/2.4.x/">Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/2.3.0">2.3.0</a></td>
+          <td><a href="/reference/javadoc/2.3.x/">Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/2.2.1">2.2.1</a></td>
+          <td><a href="/reference/javadoc/2.2.x/">Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/2.2.0">2.2.0</a></td>
+          <td><a href="/reference/javadoc/2.2.x/">Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/2.1.3">2.1.3</a></td>
+          <td><a href="/reference/javadoc/2.1.x/">Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/2.1.2">2.1.2</a></td>
+          <td><a href="/reference/javadoc/2.1.x/">Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/2.1.1">2.1.1</a></td>
+          <td><a href="/reference/javadoc/2.1.x/">Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/2.1.0">2.1.0</a></td>
+          <td><a href="/reference/javadoc/2.1.x/">Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/2.0.3">2.0.3</a></td>
+          <td><a href="/reference/javadoc/2.0.x/">Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/2.0.2">2.0.2</a></td>
+          <td><a href="/reference/javadoc/2.0.x/">Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/2.0.1">2.0.1</a></td>
+          <td><a href="/reference/javadoc/2.0.x/">Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/2.0.0">2.0.0</a></td>
+          <td><a href="/reference/javadoc/2.0.x/">Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.9.3">1.9.3</a></td>
+          <td><a href="/reference/javadoc/1.9.x/">Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.9.2">1.9.2</a></td>
+          <td><a href="/reference/javadoc/1.9.x/">Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.9.1">1.9.1</a></td>
+          <td><a href="/reference/javadoc/1.9.x/">Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.9.0">1.9.0</a></td>
+          <td><a href="/reference/javadoc/1.9.x/">Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.8.1">1.8.1</a></td>
+          <td><a href="/reference/javadoc/1.8.x/">Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.8.0">1.8.0</a></td>
+          <td><a href="/reference/javadoc/1.8.x/">Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.7.3">1.7.3</a></td>
+          <td><a href="/reference/javadoc/1.7.x/">Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.7.2">1.7.2</a></td>
+          <td><a href="/reference/javadoc/1.7.x/">Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.7.1">1.7.1</a></td>
+          <td><a href="/reference/javadoc/1.7.x/">Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.7.0">1.7.0</a></td>
+          <td><a href="/reference/javadoc/1.7.x/">Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.6.3">1.6.3</a></td>
+          <td><a 
href="http://demobox.github.io/jclouds-maven-site-1.6.3/1.6.3/jclouds/apidocs/";>Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.6.2">1.6.2</a></td>
+          <td><a 
href="http://demobox.github.io/jclouds-maven-site-1.6.2/1.6.2-incubating/jclouds/apidocs/";>Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.6.1">1.6.1</a></td>
+          <td><a 
href="http://demobox.github.io/jclouds-maven-site-1.6.1/1.6.1-incubating/jclouds/apidocs/";>Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
 </ul>
 
-
-<h2>Historical Release Notes Archive</h2>
+<h2 id="historical-release-notes-archive">Historical Release Notes Archive</h2>
 
 <p>The Release Notes for all jclouds versions released before joining the ASF 
are listed chronologically below.</p>
 
 <ul>
-<li><a href="/releasenotes/1.6">1.6.0</a> | <a 
href="http://demobox.github.com/jclouds-maven-site-1.6.0/1.6.0/jclouds-multi/apidocs/";>Javadoc</a></li>
-<li><a href="/releasenotes/1.5">1.5.10</a> | <a 
href="http://demobox.github.com/jclouds-maven-site-1.5.10/1.5.10/jclouds-multi/apidocs/";>Javadoc</a></li>
-<li><a href="/releasenotes/1.5">1.5.9</a> | <a 
href="http://demobox.github.com/jclouds-maven-site-1.5.9/1.5.9/jclouds-multi/apidocs/";>Javadoc</a></li>
-<li><a href="/releasenotes/1.5">1.5.8</a> | <a 
href="http://demobox.github.com/jclouds-maven-site-1.5.8/1.5.8/jclouds-multi/apidocs/";>Javadoc</a></li>
-<li><a href="/releasenotes/1.5">1.5.7</a> | <a 
href="http://demobox.github.com/jclouds-maven-site-1.5.7/1.5.7/jclouds-multi/apidocs/";>Javadoc</a></li>
-<li><a href="/releasenotes/1.5">1.5.6</a> | <a 
href="http://demobox.github.com/jclouds-maven-site-1.5.6/1.5.6/jclouds-multi/apidocs/";>Javadoc</a></li>
-<li><a href="/releasenotes/1.5">1.5.5</a> | <a 
href="http://demobox.github.com/jclouds-maven-site-1.5.5/1.5.5/jclouds-multi/apidocs/";>Javadoc</a></li>
-<li><a href="/releasenotes/1.5">1.5.4</a> | <a 
href="http://demobox.github.com/jclouds-maven-site-1.5.4/1.5.4/jclouds-multi/apidocs/";>Javadoc</a></li>
-<li><a href="/releasenotes/1.5">1.5.3</a> | <a 
href="http://demobox.github.com/jclouds-maven-site-1.5.3/1.5.3/jclouds-multi/apidocs/";>Javadoc</a></li>
-<li><a href="/releasenotes/1.5">1.5.2</a> | <a 
href="http://demobox.github.com/jclouds-maven-site-1.5.2/1.5.2/jclouds-multi/apidocs/";>Javadoc</a></li>
-<li><a href="/releasenotes/1.5">1.5.1</a> | <a 
href="http://demobox.github.com/jclouds-maven-site-1.5.1/1.5.1/jclouds-multi/apidocs/";>Javadoc</a></li>
-<li><a href="/releasenotes/1.5">1.5.0</a> | <a 
href="http://demobox.github.com/jclouds-maven-site-1.5.0/1.5.0/jclouds-multi/apidocs/";>Javadoc</a></li>
-<li><a href="/releasenotes/1.4">1.4.1</a> | <a 
href="http://demobox.github.com/jclouds-maven-site-1.4.1/1.4.1/jclouds-multi/apidocs/";>Javadoc</a></li>
-<li><a href="/releasenotes/1.4">1.4.0</a> | <a 
href="http://demobox.github.com/jclouds-maven-site-1.4.0/1.4.0/jclouds-multi/apidocs/";>Javadoc</a></li>
-<li><a href="/releasenotes/1.3">1.3.2</a> | <a 
href="http://demobox.github.com/jclouds-maven-site-1.3.2/1.3.2/jclouds-multi/apidocs/";>Javadoc</a></li>
-<li><a href="/releasenotes/1.3">1.3.1</a> | <a 
href="http://demobox.github.com/jclouds-maven-site-1.3.1/1.3.1/jclouds-multi/apidocs/";>Javadoc</a></li>
-<li><a href="/releasenotes/1.3">1.3.0</a> | <a 
href="http://demobox.github.com/jclouds-maven-site-1.3.0/1.3.0/jclouds-multi/apidocs/";>Javadoc</a></li>
-<li><a href="/releasenotes/1.2.2">1.2.2</a> | <a 
href="http://demobox.github.com/jclouds-maven-site-1.2.2/1.2.2/jclouds-multi/apidocs/";>Javadoc</a></li>
-<li><a href="/releasenotes/1.2/">1.2.1</a> | <a 
href="http://demobox.github.com/jclouds-maven-site-1.2.1/1.2.1/jclouds-multi/apidocs/";>Javadoc</a></li>
-<li><a href="/releasenotes/1.2/">1.2.0</a> | <a 
href="http://demobox.github.com/jclouds-maven-site-1.2.0/1.2.0/jclouds-multi/apidocs/";>Javadoc</a></li>
-<li><a href="/releasenotes/1.1.1">1.1.1</a> | <a 
href="http://demobox.github.com/jclouds-maven-site-1.1.1/1.1.1/jclouds-multi/apidocs/";>Javadoc</a></li>
-<li><a href="/releasenotes/1.1.0">1.1.0</a> | <a 
href="http://demobox.github.com/jclouds-maven-site-1.1.0/1.1.0/jclouds-multi/apidocs/";>Javadoc</a></li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.6">1.6.0</a></td>
+          <td><a 
href="http://demobox.github.com/jclouds-maven-site-1.6.0/1.6.0/jclouds-multi/apidocs/";>Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.5">1.5.10</a></td>
+          <td><a 
href="http://demobox.github.com/jclouds-maven-site-1.5.10/1.5.10/jclouds-multi/apidocs/";>Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.5">1.5.9</a></td>
+          <td><a 
href="http://demobox.github.com/jclouds-maven-site-1.5.9/1.5.9/jclouds-multi/apidocs/";>Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.5">1.5.8</a></td>
+          <td><a 
href="http://demobox.github.com/jclouds-maven-site-1.5.8/1.5.8/jclouds-multi/apidocs/";>Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.5">1.5.7</a></td>
+          <td><a 
href="http://demobox.github.com/jclouds-maven-site-1.5.7/1.5.7/jclouds-multi/apidocs/";>Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.5">1.5.6</a></td>
+          <td><a 
href="http://demobox.github.com/jclouds-maven-site-1.5.6/1.5.6/jclouds-multi/apidocs/";>Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.5">1.5.5</a></td>
+          <td><a 
href="http://demobox.github.com/jclouds-maven-site-1.5.5/1.5.5/jclouds-multi/apidocs/";>Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.5">1.5.4</a></td>
+          <td><a 
href="http://demobox.github.com/jclouds-maven-site-1.5.4/1.5.4/jclouds-multi/apidocs/";>Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.5">1.5.3</a></td>
+          <td><a 
href="http://demobox.github.com/jclouds-maven-site-1.5.3/1.5.3/jclouds-multi/apidocs/";>Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.5">1.5.2</a></td>
+          <td><a 
href="http://demobox.github.com/jclouds-maven-site-1.5.2/1.5.2/jclouds-multi/apidocs/";>Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.5">1.5.1</a></td>
+          <td><a 
href="http://demobox.github.com/jclouds-maven-site-1.5.1/1.5.1/jclouds-multi/apidocs/";>Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.5">1.5.0</a></td>
+          <td><a 
href="http://demobox.github.com/jclouds-maven-site-1.5.0/1.5.0/jclouds-multi/apidocs/";>Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.4">1.4.1</a></td>
+          <td><a 
href="http://demobox.github.com/jclouds-maven-site-1.4.1/1.4.1/jclouds-multi/apidocs/";>Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.4">1.4.0</a></td>
+          <td><a 
href="http://demobox.github.com/jclouds-maven-site-1.4.0/1.4.0/jclouds-multi/apidocs/";>Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.3">1.3.2</a></td>
+          <td><a 
href="http://demobox.github.com/jclouds-maven-site-1.3.2/1.3.2/jclouds-multi/apidocs/";>Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.3">1.3.1</a></td>
+          <td><a 
href="http://demobox.github.com/jclouds-maven-site-1.3.1/1.3.1/jclouds-multi/apidocs/";>Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.3">1.3.0</a></td>
+          <td><a 
href="http://demobox.github.com/jclouds-maven-site-1.3.0/1.3.0/jclouds-multi/apidocs/";>Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.2.2">1.2.2</a></td>
+          <td><a 
href="http://demobox.github.com/jclouds-maven-site-1.2.2/1.2.2/jclouds-multi/apidocs/";>Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.2/">1.2.1</a></td>
+          <td><a 
href="http://demobox.github.com/jclouds-maven-site-1.2.1/1.2.1/jclouds-multi/apidocs/";>Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.2/">1.2.0</a></td>
+          <td><a 
href="http://demobox.github.com/jclouds-maven-site-1.2.0/1.2.0/jclouds-multi/apidocs/";>Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.1.1">1.1.1</a></td>
+          <td><a 
href="http://demobox.github.com/jclouds-maven-site-1.1.1/1.1.1/jclouds-multi/apidocs/";>Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td><a href="/releasenotes/1.1.0">1.1.0</a></td>
+          <td><a 
href="http://demobox.github.com/jclouds-maven-site-1.1.0/1.1.0/jclouds-multi/apidocs/";>Javadoc</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
 </ul>
 
-
 <p>If you do not see the Release Notes or Javadocs that you are looking for or 
would like to request other documentation regarding jclouds releases,
 please <a href="/documentation/community/">let us know</a>.</p>
 

Modified: jclouds/site-content/start/blobstore/index.html
URL: 
http://svn.apache.org/viewvc/jclouds/site-content/start/blobstore/index.html?rev=1923693&r1=1923692&r2=1923693&view=diff
==============================================================================
--- jclouds/site-content/start/blobstore/index.html (original)
+++ jclouds/site-content/start/blobstore/index.html Mon Feb 10 07:25:53 2025
@@ -158,44 +158,39 @@ perform most work in a portable manner.<
 <p>Like other components in jclouds, you always have means to gain access to 
the provider-specific
 interface if you need functionality that is not available in our 
abstraction.</p>
 
-<h2>Features</h2>
-
+<h2 id="features">Features</h2>
 <hr />
 
-<h3>Location Aware</h3>
+<h3 id="location-aware">Location Aware</h3>
 
-<p>Our location API helps you to portably identify a container within context, 
such as "Americas" or "Europe".</p>
+<p>Our location API helps you to portably identify a container within context, 
such as “Americas” or “Europe”.</p>
 
 <p>We use the same model across the <a href="/start/compute/">ComputeGuide</a> 
which allows you to facilitate collocation of processing and data.</p>
 
-<h3>Integration with non-Java Clients</h3>
+<h3 id="integration-with-non-java-clients">Integration with non-Java 
Clients</h3>
 
-<p>Using our <code>BlobRequestSigner</code>, you can portably generate HTTP 
requests that can be passed to
+<p>Using our <code class="language-plaintext 
highlighter-rouge">BlobRequestSigner</code>, you can portably generate HTTP 
requests that can be passed to
 external systems for execution or processing. Use cases include JavaScript 
client-side loading, and
 curl based processing on the bash prompt. Be creative!</p>
 
-<h3>Transient Provider</h3>
+<h3 id="transient-provider">Transient Provider</h3>
 
 <p>Our <strong><em>in-memory</em></strong> provider allows you to test your 
storage code without credentials or a credit card!</p>
 
-<h3>Filesystem Provider</h3>
+<h3 id="filesystem-provider">Filesystem Provider</h3>
 
 <p>Our <strong><em>filesystem</em></strong> provider allows you to use the 
same API when persisting to disk, memory, or a
-remote <code>BlobStore</code>.</p>
-
-<h2>Supported Providers</h2>
+remote <code class="language-plaintext highlighter-rouge">BlobStore</code>.</p>
 
+<h2 id="supported-providers">Supported Providers</h2>
 <hr />
-
-<p>jclouds supports a wide range of blobstore providers that can be used 
equally in any <code>BlobStore</code>.</p>
+<p>jclouds supports a wide range of blobstore providers that can be used 
equally in any <code class="language-plaintext 
highlighter-rouge">BlobStore</code>.</p>
 
 <p>Please refer to the <a 
href="/reference/providers/#blobstore-providers">Supported BlobStore 
Providers</a> page for
 more information.</p>
 
-<h2>Concepts</h2>
-
+<h2 id="concepts">Concepts</h2>
 <hr />
-
 <p>A <strong><em>blobstore</em></strong> is a key-value storage service, such 
as Amazon S3, where your account exists, and
 where you can create containers and blobs. A 
<strong><em>container</em></strong> is a namespace for your data, and you
 can have many of them. Inside your container, you store data as a 
<strong><em>blob</em></strong> referenced by a name. In all
@@ -204,16 +199,15 @@ blobstores, the combination of your acco
 <p>Here are some key points about blobstores:</p>
 
 <ul>
-<li>Globally addressable</li>
-<li>Key/value data storage with metadata</li>
-<li>Accessed via HTTP</li>
-<li>Provisioned on demand through an API</li>
-<li>Unlimited scaling</li>
-<li>Most are billed on a usage basis</li>
+  <li>Globally addressable</li>
+  <li>Key/value data storage with metadata</li>
+  <li>Accessed via HTTP</li>
+  <li>Provisioned on demand through an API</li>
+  <li>Unlimited scaling</li>
+  <li>Most are billed on a usage basis</li>
 </ul>
 
-
-<h3>Container</h3>
+<h3 id="container">Container</h3>
 
 <p>A <strong><em>container</em></strong> is a namespace for your objects.</p>
 
@@ -224,15 +218,15 @@ that no-one else in the world conflicts.
 <p>Everything in a BlobStore is stored in a 
<strong><em>container</em></strong>, which is an HTTP accessible location
 (similar to a website) referenced by a URL.</p>
 
-<p>For example, using Amazon S3, creating a container named 
<code>jclouds</code> would be referenced as
-<code>https://jclouds.s3.amazonaws.com</code>.  Storing a photo with the key 
<code>mymug.jpg</code>, will be accessible
-through <code>https://jclouds.s3.amazonaws.com/mymug.jpg</code></p>
+<p>For example, using Amazon S3, creating a container named <code 
class="language-plaintext highlighter-rouge">jclouds</code> would be referenced 
as
+<code class="language-plaintext 
highlighter-rouge">https://jclouds.s3.amazonaws.com</code>.  Storing a photo 
with the key <code class="language-plaintext 
highlighter-rouge">mymug.jpg</code>, will be accessible
+through <code class="language-plaintext 
highlighter-rouge">https://jclouds.s3.amazonaws.com/mymug.jpg</code></p>
 
 <p>In other blobstores, the naming convention of the container is less strict. 
All blobstores allow you
 to list your containers and also the contents within them. These contents can 
either be <strong><em>blobs</em></strong>,
 <strong><em>folders</em></strong>, or a <strong><em>virtual 
path</em></strong>.</p>
 
-<h3>Blob</h3>
+<h3 id="blob">Blob</h3>
 
 <p>A <strong><em>blob</em></strong> is unstructured data that is stored in a 
container.</p>
 
@@ -245,89 +239,82 @@ restricting at all.</p>
 data. When a blob is container in a folder, its name is either relative to 
that folder, or its full
 path.</p>
 
-<h3>Folder</h3>
+<h3 id="folder">Folder</h3>
 
 <p>A <strong><em>folder</em></strong> is a subcontainer and can contain blobs 
or other folders.</p>
 
-<p>The names of items in a folder are <code>basenames</code>. Blob names 
incorporate folders via a path separator
-<code>"/"</code> and is similar to accessing a file in a typical 
filesystem.</p>
+<p>The names of items in a folder are <code class="language-plaintext 
highlighter-rouge">basenames</code>. Blob names incorporate folders via a path 
separator
+<code class="language-plaintext highlighter-rouge">"/"</code> and is similar 
to accessing a file in a typical filesystem.</p>
 
-<h3>Virtual Path</h3>
+<h3 id="virtual-path">Virtual Path</h3>
 
 <p>A <strong><em>virtual path</em></strong> can either be a marker file or a 
prefix.</p>
 
 <p>In either case, they are purely used to give the appearance of a 
hierarchical structure in a flat
 blobstore. When you perform a list at a virtual path, the blob names returned 
are absolute paths.</p>
 
-<h3>Access Control</h3>
+<h3 id="access-control">Access Control</h3>
 
 <p>By default, every item you put into a container is <em>private</em>, if you 
are interested in giving access
 to others, you will have to explicitly configure that. Exposing public 
containers is provider-specific.</p>
 
-<h3>Limitations</h3>
+<h3 id="limitations">Limitations</h3>
 
-<p>Each blobstore has its own limitations. Please see the provider guides for 
blobstore-specific
+<p>Each blobstore has its own limitations. Please see the provider guides for 
blobstore-specific 
 limitations and tips.</p>
 
-<h2>Usage</h2>
-
+<h2 id="usage">Usage</h2>
 <hr />
 
-<h3>Connecting to a BlobStore</h3>
+<h3 id="connecting-to-a-blobstore">Connecting to a BlobStore</h3>
 
-<p>A connection to a <code>BlobStore</code> in jclouds is called a 
<code>BlobStoreContext</code>. It is thread-safe and
+<p>A connection to a <code class="language-plaintext 
highlighter-rouge">BlobStore</code> in jclouds is called a <code 
class="language-plaintext highlighter-rouge">BlobStoreContext</code>. It is 
thread-safe and
 should be reused for multiple requests to the service.</p>
 
-<p>A <code>BlobStoreContext</code> associates an identity for a provider to a 
set of network connections.</p>
+<p>A <code class="language-plaintext 
highlighter-rouge">BlobStoreContext</code> associates an identity for a 
provider to a set of network connections.</p>
 
-<p>At a minimum, you need to specify an <em>identity</em> and 
<em>credential</em> when creating a <code>BlobStoreContext</code>.
+<p>At a minimum, you need to specify an <em>identity</em> and 
<em>credential</em> when creating a <code class="language-plaintext 
highlighter-rouge">BlobStoreContext</code>.
 In the case of Amazon S3, your identity is the <strong>Access Key ID</strong> 
and credential is the <strong>Secret
 Access Key</strong>.</p>
 
-<p>Once you have this information, connecting to your <code>BlobStore</code> 
service is easy:</p>
+<p>Once you have this information, connecting to your <code 
class="language-plaintext highlighter-rouge">BlobStore</code> service is 
easy:</p>
 
-<div class="highlight"><pre><code class="java"><span 
class="n">BlobStoreContext</span> <span class="n">context</span> <span 
class="o">=</span> <span class="n">ContextBuilder</span><span 
class="o">.</span><span class="na">newBuilder</span><span 
class="o">(</span><span class="s">&quot;aws-s3&quot;</span><span 
class="o">)</span>
+<figure class="highlight"><pre><code class="language-java" 
data-lang="java"><span class="nc">BlobStoreContext</span> <span 
class="n">context</span> <span class="o">=</span> <span 
class="nc">ContextBuilder</span><span class="o">.</span><span 
class="na">newBuilder</span><span class="o">(</span><span 
class="s">"aws-s3"</span><span class="o">)</span>
                   <span class="o">.</span><span 
class="na">credentials</span><span class="o">(</span><span 
class="n">identity</span><span class="o">,</span> <span 
class="n">credential</span><span class="o">)</span>
-                  <span class="o">.</span><span 
class="na">buildView</span><span class="o">(</span><span 
class="n">BlobStoreContext</span><span class="o">.</span><span 
class="na">class</span><span class="o">);</span>
-</code></pre></div>
-
+                  <span class="o">.</span><span 
class="na">buildView</span><span class="o">(</span><span 
class="nc">BlobStoreContext</span><span class="o">.</span><span 
class="na">class</span><span class="o">);</span></code></pre></figure>
 
 <p>This will give you a connection to the blobstore, and if it is remote, it 
will be SSL unless
 unsupported by the provider. Everything you access from this context will use 
the same credentials.</p>
 
-<h3>Disconnecting</h3>
-
-<p>When you are finished with a <code>BlobStoreContext</code>, you should 
close it accordingly:</p>
+<h3 id="disconnecting">Disconnecting</h3>
 
-<div class="highlight"><pre><code class="java"><span 
class="n">context</span><span class="o">.</span><span 
class="na">close</span><span class="o">();</span>
-</code></pre></div>
+<p>When you are finished with a <code class="language-plaintext 
highlighter-rouge">BlobStoreContext</code>, you should close it accordingly:</p>
 
+<figure class="highlight"><pre><code class="language-java" 
data-lang="java"><span class="n">context</span><span class="o">.</span><span 
class="na">close</span><span class="o">();</span></code></pre></figure>
 
-<p>There are many options available for creating a <code>Context</code>.  
Please see the
+<p>There are many options available for creating a <code 
class="language-plaintext highlighter-rouge">Context</code>.  Please see the
 <a 
href="http://jclouds-javadocs.elasticbeanstalk.com/org/jclouds/ContextBuilder.html";>ContextBuilder</a>
 Javadocs for
 a detailed description.</p>
 
-<h3>BlobStore API</h3>
-
+<h3 id="blobstore-api">BlobStore API</h3>
 <!-- TODO The difference between BlobStore/Introduction -->
 
+<p>Here is an example of the synchronous <code class="language-plaintext 
highlighter-rouge">BlobStore</code> interface:</p>
 
-<p>Here is an example of the synchronous <code>BlobStore</code> interface:</p>
-
-<div class="highlight"><pre><code class="java"><span class="c1">// Initialize 
the BlobStoreContext</span>
-<span class="n">context</span> <span class="o">=</span> <span 
class="n">ContextBuilder</span><span class="o">.</span><span 
class="na">newBuilder</span><span class="o">(</span><span 
class="s">&quot;aws-s3&quot;</span><span class="o">)</span>
+<figure class="highlight"><pre><code class="language-java" 
data-lang="java"><span class="c1">// Initialize the BlobStoreContext</span>
+<span class="n">context</span> <span class="o">=</span> <span 
class="nc">ContextBuilder</span><span class="o">.</span><span 
class="na">newBuilder</span><span class="o">(</span><span 
class="s">"aws-s3"</span><span class="o">)</span>
              <span class="o">.</span><span class="na">credentials</span><span 
class="o">(</span><span class="n">accesskeyid</span><span class="o">,</span> 
<span class="n">secretaccesskey</span><span class="o">)</span>
-             <span class="o">.</span><span class="na">buildView</span><span 
class="o">(</span><span class="n">BlobStoreContext</span><span 
class="o">.</span><span class="na">class</span><span class="o">);</span>
+             <span class="o">.</span><span class="na">buildView</span><span 
class="o">(</span><span class="nc">BlobStoreContext</span><span 
class="o">.</span><span class="na">class</span><span class="o">);</span>
 
 <span class="c1">// Access the BlobStore</span>
 <span class="n">blobStore</span> <span class="o">=</span> <span 
class="n">context</span><span class="o">.</span><span 
class="na">getBlobStore</span><span class="o">();</span>
 
 <span class="c1">// Create a Container</span>
-<span class="n">blobStore</span><span class="o">.</span><span 
class="na">createContainerInLocation</span><span class="o">(</span><span 
class="kc">null</span><span class="o">,</span> <span 
class="s">&quot;mycontainer&quot;</span><span class="o">);</span>
+<span class="n">blobStore</span><span class="o">.</span><span 
class="na">createContainerInLocation</span><span class="o">(</span><span 
class="kc">null</span><span class="o">,</span> <span 
class="s">"mycontainer"</span><span class="o">);</span>
 
 <span class="c1">// Create a Blob</span>
-<span class="n">ByteSource</span> <span class="n">payload</span> <span 
class="o">=</span> <span class="n">ByteSource</span><span 
class="o">.</span><span class="na">wrap</span><span class="o">(</span><span 
class="s">&quot;blob-content&quot;</span><span class="o">.</span><span 
class="na">getBytes</span><span class="o">(</span><span 
class="n">Charsets</span><span class="o">.</span><span 
class="na">UTF_8</span><span class="o">));</span>
-<span class="n">blob</span> <span class="o">=</span> <span 
class="n">blobStore</span><span class="o">.</span><span 
class="na">blobBuilder</span><span class="o">(</span><span 
class="s">&quot;test&quot;</span><span class="o">)</span> <span class="c1">// 
you can use folders via blobBuilder(folderName + &quot;/sushi.jpg&quot;)</span>
+<span class="nc">ByteSource</span> <span class="n">payload</span> <span 
class="o">=</span> <span class="nc">ByteSource</span><span 
class="o">.</span><span class="na">wrap</span><span class="o">(</span><span 
class="s">"blob-content"</span><span class="o">.</span><span 
class="na">getBytes</span><span class="o">(</span><span 
class="nc">Charsets</span><span class="o">.</span><span 
class="na">UTF_8</span><span class="o">));</span>
+<span class="n">blob</span> <span class="o">=</span> <span 
class="n">blobStore</span><span class="o">.</span><span 
class="na">blobBuilder</span><span class="o">(</span><span 
class="s">"test"</span><span class="o">)</span> <span class="c1">// you can use 
folders via blobBuilder(folderName + "/sushi.jpg")</span>
     <span class="o">.</span><span class="na">payload</span><span 
class="o">(</span><span class="n">payload</span><span class="o">)</span>
     <span class="o">.</span><span class="na">contentLength</span><span 
class="o">(</span><span class="n">payload</span><span class="o">.</span><span 
class="na">size</span><span class="o">())</span>
     <span class="o">.</span><span class="na">build</span><span 
class="o">();</span>
@@ -335,157 +322,132 @@ a detailed description.</p>
 <span class="c1">// Upload the Blob</span>
 <span class="n">blobStore</span><span class="o">.</span><span 
class="na">putBlob</span><span class="o">(</span><span 
class="n">containerName</span><span class="o">,</span> <span 
class="n">blob</span><span class="o">);</span>
 
-<span class="c1">// Don&#39;t forget to close the context when you&#39;re 
done!</span>
-<span class="n">context</span><span class="o">.</span><span 
class="na">close</span><span class="o">()</span>
-</code></pre></div>
-
-
-<h4>Creating a Container</h4>
+<span class="c1">// Don't forget to close the context when you're done!</span>
+<span class="n">context</span><span class="o">.</span><span 
class="na">close</span><span class="o">()</span></code></pre></figure>
 
-<p>If you don't already have a container, you will need to create one.</p>
+<h4 id="creating-a-container">Creating a Container</h4>
+<p>If you don’t already have a container, you will need to create one.</p>
 
-<p>First, get a <code>BlobStore</code> from your context:</p>
-
-<div class="highlight"><pre><code class="java"><span 
class="n">BlobStore</span> <span class="n">blobstore</span> <span 
class="o">=</span> <span class="n">context</span><span class="o">.</span><span 
class="na">getBlobStore</span><span class="o">();</span>
-</code></pre></div>
+<p>First, get a <code class="language-plaintext 
highlighter-rouge">BlobStore</code> from your context:</p>
 
+<figure class="highlight"><pre><code class="language-java" 
data-lang="java"><span class="nc">BlobStore</span> <span 
class="n">blobstore</span> <span class="o">=</span> <span 
class="n">context</span><span class="o">.</span><span 
class="na">getBlobStore</span><span class="o">();</span></code></pre></figure>
 
 <p>Location is a region, provider, or another scope in which a container can 
be created to ensure data
-locality. If you don't have a location concern, pass <code>null</code> to 
accept the default.</p>
+locality. If you don’t have a location concern, pass <code 
class="language-plaintext highlighter-rouge">null</code> to accept the 
default.</p>
 
-<div class="highlight"><pre><code class="java"><span class="kt">boolean</span> 
<span class="n">created</span> <span class="o">=</span> <span 
class="n">blobStore</span><span class="o">.</span><span 
class="na">createContainerInLocation</span><span class="o">(</span><span 
class="kc">null</span><span class="o">,</span> <span 
class="n">container</span><span class="o">);</span>
+<figure class="highlight"><pre><code class="language-java" 
data-lang="java"><span class="kt">boolean</span> <span class="n">created</span> 
<span class="o">=</span> <span class="n">blobStore</span><span 
class="o">.</span><span class="na">createContainerInLocation</span><span 
class="o">(</span><span class="kc">null</span><span class="o">,</span> <span 
class="n">container</span><span class="o">);</span>
 <span class="k">if</span> <span class="o">(</span><span 
class="n">created</span><span class="o">)</span> <span class="o">{</span>
-   <span class="c1">// the container didn&#39;t exist, but does now</span>
+   <span class="c1">// the container didn't exist, but does now</span>
 <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
    <span class="c1">// the container already existed</span>
-<span class="o">}</span>
-</code></pre></div>
-
+<span class="o">}</span></code></pre></figure>
 
-<h3>Multipart Upload</h3>
+<h3 id="multipart-upload">Multipart Upload</h3>
 
-<p>Providers may implement multipart upload for large or very large files. 
Here's an example of multipart
-upload, using <code>aws-s3</code> provider, which allows <a 
href="https://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?qfacts.html";>uploading
 files as large as
+<p>Providers may implement multipart upload for large or very large files. 
Here’s an example of multipart
+upload, using <code class="language-plaintext highlighter-rouge">aws-s3</code> 
provider, which allows <a 
href="https://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?qfacts.html";>uploading
 files as large as
 5TB</a>.</p>
 
-<div class="highlight"><pre><code class="java"><span class="kn">import</span> 
<span class="nn">static</span> <span class="n">org</span><span 
class="o">.</span><span class="na">jclouds</span><span class="o">.</span><span 
class="na">blobstore</span><span class="o">.</span><span 
class="na">options</span><span class="o">.</span><span 
class="na">PutOptions</span><span class="o">.</span><span 
class="na">Builder</span><span class="o">.</span><span 
class="na">multipart</span><span class="o">;</span>
+<figure class="highlight"><pre><code class="language-java" 
data-lang="java"><span class="kn">import</span> <span class="nn">static</span> 
<span class="n">org</span><span class="o">.</span><span 
class="na">jclouds</span><span class="o">.</span><span 
class="na">blobstore</span><span class="o">.</span><span 
class="na">options</span><span class="o">.</span><span 
class="na">PutOptions</span><span class="o">.</span><span 
class="na">Builder</span><span class="o">.</span><span 
class="na">multipart</span><span class="o">;</span>
 
 <span class="c1">// Initialize the BlobStoreContext</span>
-<span class="n">context</span> <span class="o">=</span> <span 
class="n">ContextBuilder</span><span class="o">.</span><span 
class="na">newBuilder</span><span class="o">(</span><span 
class="s">&quot;aws-s3&quot;</span><span class="o">)</span>
+<span class="n">context</span> <span class="o">=</span> <span 
class="nc">ContextBuilder</span><span class="o">.</span><span 
class="na">newBuilder</span><span class="o">(</span><span 
class="s">"aws-s3"</span><span class="o">)</span>
                  <span class="o">.</span><span 
class="na">credentials</span><span class="o">(</span><span 
class="n">accesskeyid</span><span class="o">,</span> <span 
class="n">secretaccesskey</span><span class="o">)</span>
-                 <span class="o">.</span><span 
class="na">buildView</span><span class="o">(</span><span 
class="n">BlobStoreContext</span><span class="o">.</span><span 
class="na">class</span><span class="o">);</span>
+                 <span class="o">.</span><span 
class="na">buildView</span><span class="o">(</span><span 
class="nc">BlobStoreContext</span><span class="o">.</span><span 
class="na">class</span><span class="o">);</span>
 
 <span class="c1">// Access the BlobStore</span>
-<span class="n">BlobStore</span> <span class="n">blobStore</span> <span 
class="o">=</span> <span class="n">context</span><span class="o">.</span><span 
class="na">getBlobStore</span><span class="o">();</span>
+<span class="nc">BlobStore</span> <span class="n">blobStore</span> <span 
class="o">=</span> <span class="n">context</span><span class="o">.</span><span 
class="na">getBlobStore</span><span class="o">();</span>
 
 <span class="c1">// Create a Container</span>
-<span class="n">blobStore</span><span class="o">.</span><span 
class="na">createContainerInLocation</span><span class="o">(</span><span 
class="kc">null</span><span class="o">,</span> <span 
class="s">&quot;mycontainer&quot;</span><span class="o">);</span>
+<span class="n">blobStore</span><span class="o">.</span><span 
class="na">createContainerInLocation</span><span class="o">(</span><span 
class="kc">null</span><span class="o">,</span> <span 
class="s">"mycontainer"</span><span class="o">);</span>
 
 <span class="c1">// Create a Blob</span>
-<span class="n">ByteSource</span> <span class="n">payload</span> <span 
class="o">=</span> <span class="n">Files</span><span class="o">.</span><span 
class="na">asByteSource</span><span class="o">(</span><span 
class="k">new</span> <span class="n">File</span><span class="o">(</span><span 
class="n">fileName</span><span class="o">));</span>
-<span class="n">Blob</span> <span class="n">blob</span> <span 
class="o">=</span> <span class="n">blobStore</span><span 
class="o">.</span><span class="na">blobBuilder</span><span 
class="o">(</span><span class="n">objectName</span><span class="o">)</span>
+<span class="nc">ByteSource</span> <span class="n">payload</span> <span 
class="o">=</span> <span class="nc">Files</span><span class="o">.</span><span 
class="na">asByteSource</span><span class="o">(</span><span 
class="k">new</span> <span class="nc">File</span><span class="o">(</span><span 
class="n">fileName</span><span class="o">));</span>
+<span class="nc">Blob</span> <span class="n">blob</span> <span 
class="o">=</span> <span class="n">blobStore</span><span 
class="o">.</span><span class="na">blobBuilder</span><span 
class="o">(</span><span class="n">objectName</span><span class="o">)</span>
     <span class="o">.</span><span class="na">payload</span><span 
class="o">(</span><span class="n">payload</span><span class="o">)</span>
     <span class="o">.</span><span class="na">contentDisposition</span><span 
class="o">(</span><span class="n">objectName</span><span class="o">)</span>
     <span class="o">.</span><span class="na">contentLength</span><span 
class="o">(</span><span class="n">payload</span><span class="o">.</span><span 
class="na">size</span><span class="o">())</span>
-    <span class="o">.</span><span class="na">contentType</span><span 
class="o">(</span><span class="n">MediaType</span><span class="o">.</span><span 
class="na">OCTET_STREAM</span><span class="o">.</span><span 
class="na">toString</span><span class="o">())</span>
+    <span class="o">.</span><span class="na">contentType</span><span 
class="o">(</span><span class="nc">MediaType</span><span 
class="o">.</span><span class="na">OCTET_STREAM</span><span 
class="o">.</span><span class="na">toString</span><span class="o">())</span>
     <span class="o">.</span><span class="na">build</span><span 
class="o">();</span>
 
 <span class="c1">// Upload the Blob </span>
-<span class="n">String</span> <span class="n">eTag</span> <span 
class="o">=</span> <span class="n">blobStore</span><span 
class="o">.</span><span class="na">putBlob</span><span class="o">(</span><span 
class="n">containerName</span><span class="o">,</span> <span 
class="n">blob</span><span class="o">,</span> <span 
class="n">multipart</span><span class="o">());</span>
+<span class="nc">String</span> <span class="n">eTag</span> <span 
class="o">=</span> <span class="n">blobStore</span><span 
class="o">.</span><span class="na">putBlob</span><span class="o">(</span><span 
class="n">containerName</span><span class="o">,</span> <span 
class="n">blob</span><span class="o">,</span> <span 
class="n">multipart</span><span class="o">());</span>
 
-<span class="c1">// Don&#39;t forget to close the context when you&#39;re 
done!</span>
-<span class="n">context</span><span class="o">.</span><span 
class="na">close</span><span class="o">()</span>
-</code></pre></div>
+<span class="c1">// Don't forget to close the context when you're done!</span>
+<span class="n">context</span><span class="o">.</span><span 
class="na">close</span><span class="o">()</span></code></pre></figure>
 
-
-<h3>Logging</h3>
+<h3 id="logging">Logging</h3>
 
 <p>Please refer to the <a 
href="https://jclouds.apache.org/reference/logging/";>logging</a> page for more 
information
 on how to configure logging in jclouds.</p>
 
-<h1>Clojure</h1>
-
+<h1 id="clojure">Clojure</h1>
 <hr />
 
 <!-- TODO: update this to latest clojure -->
+<p>The above examples show how to use the <code class="language-plaintext 
highlighter-rouge">BlobStore</code> API in Java. The same API can be used from 
Clojure!</p>
 
-
-<p>The above examples show how to use the <code>BlobStore</code> API in Java. 
The same API can be used from Clojure!</p>
-
-<h2>Setup</h2>
-
+<h2 id="setup">Setup</h2>
 <ul>
-<li>Install <a href="https://leiningen.org/";>leiningen</a></li>
-<li>Execute <code>lein new mygroup/myproject</code></li>
+  <li>Install <a href="https://leiningen.org/";>leiningen</a></li>
+  <li>Execute <code class="language-plaintext highlighter-rouge">lein new 
mygroup/myproject</code></li>
 </ul>
 
+<p>In the <code class="language-plaintext highlighter-rouge">myproject</code> 
directory, edit the <code class="language-plaintext 
highlighter-rouge">project.clj</code> to include the following:</p>
 
-<p>In the <code>myproject</code> directory, edit the <code>project.clj</code> 
to include the following:</p>
-
-<div class="highlight"><pre><code class="clojure"><span 
class="p">(</span><span class="kd">defproject </span><span 
class="nv">mygroup/myproject</span> <span class="s">&quot;1.0.0&quot;</span>
-  <span class="ss">:description</span> <span class="s">&quot;FIXME: write 
description&quot;</span>
-  <span class="ss">:dependencies</span> <span class="p">[[</span><span 
class="nv">org.clojure/clojure</span> <span 
class="s">&quot;1.3.0&quot;</span><span class="p">]</span>
-                 <span class="p">[</span><span 
class="nv">org.clojure/core.incubator</span> <span 
class="s">&quot;0.1.0&quot;</span><span class="p">]</span>
-                 <span class="p">[</span><span 
class="nv">org.clojure/tools.logging</span> <span 
class="s">&quot;0.2.3&quot;</span><span class="p">]</span>
-                 <span class="p">[</span><span 
class="nv">org.apache.jclouds/jclouds-allcompute</span> <span 
class="s">&quot;1.7.1&quot;</span><span class="p">]]</span>
-  <span class="ss">:repositories</span> <span class="p">{</span><span 
class="s">&quot;apache-snapshots&quot;</span> <span 
class="s">&quot;https://repository.apache.org/content/repositories/snapshots&quot;</span><span
 class="p">})</span>
-</code></pre></div>
+<figure class="highlight"><pre><code class="language-clojure" 
data-lang="clojure"><span class="p">(</span><span 
class="nf">defproject</span><span class="w"> </span><span 
class="n">mygroup/myproject</span><span class="w"> </span><span 
class="s">"1.0.0"</span><span class="w">
+  </span><span class="no">:description</span><span class="w"> </span><span 
class="s">"FIXME: write description"</span><span class="w">
+  </span><span class="no">:dependencies</span><span class="w"> </span><span 
class="p">[[</span><span class="n">org.clojure/clojure</span><span class="w"> 
</span><span class="s">"1.3.0"</span><span class="p">]</span><span class="w">
+                 </span><span class="p">[</span><span 
class="n">org.clojure/core.incubator</span><span class="w"> </span><span 
class="s">"0.1.0"</span><span class="p">]</span><span class="w">
+                 </span><span class="p">[</span><span 
class="n">org.clojure/tools.logging</span><span class="w"> </span><span 
class="s">"0.2.3"</span><span class="p">]</span><span class="w">
+                 </span><span class="p">[</span><span 
class="n">org.apache.jclouds/jclouds-allcompute</span><span class="w"> 
</span><span class="s">"1.7.1"</span><span class="p">]]</span><span class="w">
+  </span><span class="no">:repositories</span><span class="w"> </span><span 
class="p">{</span><span class="s">"apache-snapshots"</span><span class="w"> 
</span><span 
class="s">"https://repository.apache.org/content/repositories/snapshots";</span><span
 class="p">})</span></code></pre></figure>
 
+<p>Execute <code class="language-plaintext highlighter-rouge">lein deps</code> 
to download the specified dependencies.</p>
 
-<p>Execute <code>lein deps</code> to download the specified dependencies.</p>
+<h2 id="usage-1">Usage</h2>
 
-<h2>Usage</h2>
-
-<p>Execute <code>lein repl</code> to get a repl, then paste the following or 
write your own code. Clearly, you
+<p>Execute <code class="language-plaintext highlighter-rouge">lein repl</code> 
to get a repl, then paste the following or write your own code. Clearly, you
 need to substitute your accounts and keys below.</p>
 
-<div class="highlight"><pre><code class="clojure"><span 
class="p">(</span><span class="nf">use</span> <span 
class="ss">&#39;org.jclouds.blobstore2</span><span class="p">)</span>
-
-<span class="p">(</span><span class="k">def </span><span 
class="nv">*blobstore*</span> <span class="p">(</span><span 
class="nf">blobstore</span> <span class="s">&quot;azureblob&quot;</span> <span 
class="nv">account</span> <span class="nv">encodedkey</span><span 
class="p">))</span>
-<span class="p">(</span><span class="nf">create-container</span> <span 
class="nv">*blobstore*</span> <span 
class="s">&quot;mycontainer&quot;</span><span class="p">)</span>
-<span class="p">(</span><span class="nf">put-blob</span> <span 
class="nv">*blobstore*</span> <span class="s">&quot;mycontainer&quot;</span> 
<span class="p">(</span><span class="nf">blob</span> <span 
class="s">&quot;test&quot;</span> <span class="ss">:payload</span> <span 
class="s">&quot;testdata&quot;</span><span class="p">))</span>
-</code></pre></div>
+<figure class="highlight"><pre><code class="language-clojure" 
data-lang="clojure"><span class="p">(</span><span class="nf">use</span><span 
class="w"> </span><span class="ss">'org.jclouds.blobstore2</span><span 
class="p">)</span><span class="w">
 
+</span><span class="p">(</span><span class="k">def</span><span class="w"> 
</span><span class="n">*blobstore*</span><span class="w"> </span><span 
class="p">(</span><span class="nf">blobstore</span><span class="w"> 
</span><span class="s">"azureblob"</span><span class="w"> </span><span 
class="n">account</span><span class="w"> </span><span 
class="n">encodedkey</span><span class="p">))</span><span class="w">
+</span><span class="p">(</span><span class="nf">create-container</span><span 
class="w"> </span><span class="n">*blobstore*</span><span class="w"> 
</span><span class="s">"mycontainer"</span><span class="p">)</span><span 
class="w">
+</span><span class="p">(</span><span class="nf">put-blob</span><span 
class="w"> </span><span class="n">*blobstore*</span><span class="w"> 
</span><span class="s">"mycontainer"</span><span class="w"> </span><span 
class="p">(</span><span class="nf">blob</span><span class="w"> </span><span 
class="s">"test"</span><span class="w"> </span><span 
class="no">:payload</span><span class="w"> </span><span 
class="s">"testdata"</span><span class="p">))</span></code></pre></figure>
 
-<h1>Advanced Concepts</h1>
-
+<h1 id="advanced-concepts">Advanced Concepts</h1>
 <hr />
 
 <p>This section covers advanced topics typically needed by developers of 
clouds.</p>
 
-<h2>Signing Requests</h2>
-
-<h3>Java Example</h3>
+<h2 id="signing-requests">Signing Requests</h2>
 
-<div class="highlight"><pre><code class="java"><span 
class="n">HttpRequest</span> <span class="n">request</span> <span 
class="o">=</span> <span class="n">context</span><span class="o">.</span><span 
class="na">getSigner</span><span class="o">().</span><span 
class="na">signGetBlob</span><span class="o">(</span><span 
class="s">&quot;adriansmovies&quot;</span><span class="o">,</span> <span 
class="s">&quot;sushi.avi&quot;</span><span class="o">);</span>
-</code></pre></div>
+<h3 id="java-example">Java Example</h3>
 
+<figure class="highlight"><pre><code class="language-java" 
data-lang="java"><span class="nc">HttpRequest</span> <span 
class="n">request</span> <span class="o">=</span> <span 
class="n">context</span><span class="o">.</span><span 
class="na">getSigner</span><span class="o">().</span><span 
class="na">signGetBlob</span><span class="o">(</span><span 
class="s">"adriansmovies"</span><span class="o">,</span> <span 
class="s">"sushi.avi"</span><span class="o">);</span></code></pre></figure>
 
-<h3>Clojure Example</h3>
+<h3 id="clojure-example">Clojure Example</h3>
 
-<div class="highlight"><pre><code class="clojure"><span 
class="p">(</span><span class="k">let </span><span class="p">[</span><span 
class="nv">request</span> <span class="p">(</span><span 
class="nf">sign-blob-request</span> <span 
class="s">&quot;adriansmovies&quot;</span> <span 
class="s">&quot;sushi.avi&quot;</span> <span class="p">{</span><span 
class="ss">:method</span> <span class="ss">:get</span><span 
class="p">})])</span>
-</code></pre></div>
+<figure class="highlight"><pre><code class="language-clojure" 
data-lang="clojure"><span class="p">(</span><span class="k">let</span><span 
class="w"> </span><span class="p">[</span><span class="n">request</span><span 
class="w"> </span><span class="p">(</span><span 
class="nf">sign-blob-request</span><span class="w"> </span><span 
class="s">"adriansmovies"</span><span class="w"> </span><span 
class="s">"sushi.avi"</span><span class="w"> </span><span 
class="p">{</span><span class="no">:method</span><span class="w"> </span><span 
class="no">:get</span><span class="p">})])</span></code></pre></figure>
 
-
-<h2>Multipart Upload Strategies</h2>
+<h2 id="multipart-upload-strategies">Multipart Upload Strategies</h2>
 
 <p>There are two multipart upload implementations of that jclouds employs for 
uploading objects to a
 BlobStore service. Amazon S3 and OpenStack Swift both support these 
strategies.</p>
 
-<h3><em>ParallelMultipartUploadStrategy</em></h3>
-
-<p>By default, jclouds uses a parallel upload strategy that will split an 
object up in to individual
+<p>###<em>ParallelMultipartUploadStrategy</em>
+By default, jclouds uses a parallel upload strategy that will split an object 
up in to individual
 parts and upload them in parallel to the BlobStore. There are two configurable 
properties for this strategy:</p>
 
-<p>  <code>jclouds.mpu.parallel.degree</code> the number of threads (default 
is 4)
-  <code>jclouds.mpu.parts.size</code> the size of a part (default is 32MB)</p>
+<p><code class="language-plaintext 
highlighter-rouge">jclouds.mpu.parallel.degree</code> the number of threads 
(default is 4)
+  <code class="language-plaintext 
highlighter-rouge">jclouds.mpu.parts.size</code> the size of a part (default is 
32MB)</p>
 
-<h3><em>SequentialMultipartUploadStrategy</em></h3>
-
-<p>Similar to the parallel strategy, the sequential strategy will split an 
object up into parts and upload
+<p>###<em>SequentialMultipartUploadStrategy</em>
+Similar to the parallel strategy, the sequential strategy will split an object 
up into parts and upload
 them to the BlobStore sequentially.</p>
 
-<h2>Large Lists</h2>
+<h2 id="large-lists">Large Lists</h2>
 
 <p>A listing is a set of metadata about items in a <em>container</em>.  It is 
normally associated with a
 single GET request against your container.</p>
@@ -494,82 +456,77 @@ single GET request against your containe
 and Swift, this is 1000, 5000, and 10000 respectively.  Upon hitting this 
threshold, you need to
 continue the list in another HTTP request.</p>
 
-<p>For continued iteration of large lists, the BlobStore <code>list()</code> 
API returns a <code>PageSet</code> that allows
-to access the next marker identifier. The <code>getNextMarker()</code> method 
will either return the next
-marker, or <code>null</code> if the page size is less than the maximum.</p>
+<p>For continued iteration of large lists, the BlobStore <code 
class="language-plaintext highlighter-rouge">list()</code> API returns a <code 
class="language-plaintext highlighter-rouge">PageSet</code> that allows
+to access the next marker identifier. The <code class="language-plaintext 
highlighter-rouge">getNextMarker()</code> method will either return the next
+marker, or <code class="language-plaintext highlighter-rouge">null</code> if 
the page size is less than the maximum.</p>
 
-<p>The marker object can then be used as input to <code>afterMarker</code> in 
the <code>ListContainerOptions</code> class.</p>
+<p>The marker object can then be used as input to <code 
class="language-plaintext highlighter-rouge">afterMarker</code> in the <code 
class="language-plaintext highlighter-rouge">ListContainerOptions</code> 
class.</p>
 
-<h3>Marker Files</h3>
+<h3 id="marker-files">Marker Files</h3>
 
 <p>Marker files allow you to establish presence of directories in a flat 
key-value store. Azure, S3,
 and OpenStack Swift all use pseudo-directories, but in a different ways.  For 
example, some tools
-look for a content type of <code>application/directory</code>, while others 
look for naming patterns such as a
-trailing slash <code>/</code> or the suffix <code>_$folder$</code>.</p>
+look for a content type of <code class="language-plaintext 
highlighter-rouge">application/directory</code>, while others look for naming 
patterns such as a
+trailing slash <code class="language-plaintext highlighter-rouge">/</code> or 
the suffix <code class="language-plaintext 
highlighter-rouge">_$folder$</code>.</p>
 
 <p>In jclouds, we attempt to detect whether a blob is pretending to be a 
directory, and if so, type it
-as <code>StorageType.RELATIVE_PATH</code>. Then, in a <code>list()</code> 
command, it will appear as a normal directory.
-The two strategies responsible for this are 
<code>IfDirectoryReturnNameStrategy</code> and <code>MkdirStrategy</code>.</p>
+as <code class="language-plaintext 
highlighter-rouge">StorageType.RELATIVE_PATH</code>. Then, in a <code 
class="language-plaintext highlighter-rouge">list()</code> command, it will 
appear as a normal directory.
+The two strategies responsible for this are <code class="language-plaintext 
highlighter-rouge">IfDirectoryReturnNameStrategy</code> and <code 
class="language-plaintext highlighter-rouge">MkdirStrategy</code>.</p>
 
 <p>The challenge with this approach is that  there are multiple ways to 
suggest presence of a
-directory. For example, it is entirely possible that <em>both</em> the 
trailing slash <code>/</code> and <code>_$folder$</code>
-suffixes exist. For this reason, a simple remove, or <code>rmdir</code> will 
not work, as it may be the case that
+directory. For example, it is entirely possible that <em>both</em> the 
trailing slash <code class="language-plaintext highlighter-rouge">/</code> and 
<code class="language-plaintext highlighter-rouge">_$folder$</code>
+suffixes exist. For this reason, a simple remove, or <code 
class="language-plaintext highlighter-rouge">rmdir</code> will not work, as it 
may be the case that
 there are multiple tokens relating to the same directory.</p>
 
-<p>For this reason, we have a <code>DeleteDirectoryStrategy</code> strategy. 
The default version of this used for
+<p>For this reason, we have a <code class="language-plaintext 
highlighter-rouge">DeleteDirectoryStrategy</code> strategy. The default version 
of this used for
 flat trees removes all known types of directory markers.</p>
 
-<h2>Content Disposition</h2>
+<h2 id="content-disposition">Content Disposition</h2>
 
 <p>You may be using jclouds to upload some photos to the cloud, show 
thumbnails of them to the user via
 a website, and allow to download the original image.</p>
 
 <p>When the user clicks on the thumbnail, a download dialog appears. To 
control the name of the file in
-the "Save As" dialog, you must set <a 
href="https://www.iana.org/assignments/cont-disp/cont-disp.xhtml";>Content
-Disposition</a>.  Here's how you can do it with
+the “Save As” dialog, you must set <a 
href="https://www.iana.org/assignments/cont-disp/cont-disp.xhtml";>Content
+Disposition</a>.  Here’s how you can do it with
 the BlobStore API:</p>
 
-<div class="highlight"><pre><code class="java"><span 
class="n">ByteSource</span> <span class="n">payload</span> <span 
class="o">=</span> <span class="n">Files</span><span class="o">.</span><span 
class="na">asByteSource</span><span class="o">(</span><span 
class="k">new</span> <span class="n">File</span><span class="o">(</span><span 
class="s">&quot;sushi.jpg&quot;</span><span class="o">));</span>
-<span class="n">Blob</span> <span class="n">blob</span> <span 
class="o">=</span> <span class="n">context</span><span class="o">.</span><span 
class="na">getBlobStore</span><span class="o">().</span><span 
class="na">blobBuilder</span><span class="o">(</span><span 
class="s">&quot;sushi.jpg&quot;</span><span class="o">)</span>
+<figure class="highlight"><pre><code class="language-java" 
data-lang="java"><span class="nc">ByteSource</span> <span 
class="n">payload</span> <span class="o">=</span> <span 
class="nc">Files</span><span class="o">.</span><span 
class="na">asByteSource</span><span class="o">(</span><span 
class="k">new</span> <span class="nc">File</span><span class="o">(</span><span 
class="s">"sushi.jpg"</span><span class="o">));</span>
+<span class="nc">Blob</span> <span class="n">blob</span> <span 
class="o">=</span> <span class="n">context</span><span class="o">.</span><span 
class="na">getBlobStore</span><span class="o">().</span><span 
class="na">blobBuilder</span><span class="o">(</span><span 
class="s">"sushi.jpg"</span><span class="o">)</span>
     <span class="o">.</span><span class="na">payload</span><span 
class="o">(</span><span class="n">payload</span><span class="o">)</span>  <span 
class="c1">// or InputStream</span>
-    <span class="o">.</span><span class="na">contentDisposition</span><span 
class="o">(</span><span class="s">&quot;attachment; 
filename=sushi.jpg&quot;</span><span class="o">)</span>
-    <span class="o">.</span><span class="na">contentMD5</span><span 
class="o">(</span><span class="n">payload</span><span class="o">.</span><span 
class="na">hash</span><span class="o">(</span><span 
class="n">Hashing</span><span class="o">.</span><span 
class="na">md5</span><span class="o">()).</span><span 
class="na">asBytes</span><span class="o">())</span>
+    <span class="o">.</span><span class="na">contentDisposition</span><span 
class="o">(</span><span class="s">"attachment; filename=sushi.jpg"</span><span 
class="o">)</span>
+    <span class="o">.</span><span class="na">contentMD5</span><span 
class="o">(</span><span class="n">payload</span><span class="o">.</span><span 
class="na">hash</span><span class="o">(</span><span 
class="nc">Hashing</span><span class="o">.</span><span 
class="na">md5</span><span class="o">()).</span><span 
class="na">asBytes</span><span class="o">())</span>
     <span class="o">.</span><span class="na">contentLength</span><span 
class="o">(</span><span class="n">payload</span><span class="o">.</span><span 
class="na">size</span><span class="o">())</span>
-    <span class="o">.</span><span class="na">contentType</span><span 
class="o">(</span><span class="n">MediaType</span><span class="o">.</span><span 
class="na">JPEG</span><span class="o">.</span><span 
class="na">toString</span><span class="o">())</span>
-    <span class="o">.</span><span class="na">build</span><span 
class="o">();</span>
-</code></pre></div>
+    <span class="o">.</span><span class="na">contentType</span><span 
class="o">(</span><span class="nc">MediaType</span><span 
class="o">.</span><span class="na">JPEG</span><span class="o">.</span><span 
class="na">toString</span><span class="o">())</span>
+    <span class="o">.</span><span class="na">build</span><span 
class="o">();</span></code></pre></figure>
 
-
-<h2>Return Null on Not Found</h2>
+<h2 id="return-null-on-not-found">Return Null on Not Found</h2>
 
 <p>All APIs, provider-specific or abstraction, must return null when an object 
is requested, but not
 found. Throwing exceptions is only appropriate when there is a state problem. 
For example, requesting
 an object from a container that does not exist is a state problem, and should 
throw an exception.</p>
 
-<h2>Large File Support</h2>
-
+<h2 id="large-file-support">Large File Support</h2>
 <!--update to use ByteSource -->
 
-
-<h3>Uploading</h3>
-
-<p>As long as you use either <code>ByteSource</code> or <code>File</code> as 
the payload for your blob, you should
-be fine. Note that in S3, you must calculate the length ahead of time, since 
it doesn't support
+<h3 id="uploading">Uploading</h3>
+<p>As long as you use either <code class="language-plaintext 
highlighter-rouge">ByteSource</code> or <code class="language-plaintext 
highlighter-rouge">File</code> as the payload for your blob, you should
+be fine. Note that in S3, you must calculate the length ahead of time, since 
it doesn’t support
 chunked encoding.</p>
 
-<p>It is usually better to use a repeatable payload like 
<code>ByteSource</code> instead of <code>InputStream</code>,
+<p>It is usually better to use a repeatable payload like <code 
class="language-plaintext highlighter-rouge">ByteSource</code> instead of <code 
class="language-plaintext highlighter-rouge">InputStream</code>,
 since this allows parallel uploads and retrying on errors.</p>
 
-<p>Our integration tests ensure that we don't rebuffer in memory on upload:
+<p>Our integration tests ensure that we don’t rebuffer in memory on upload: 
 <a 
href="https://github.com/apache/jclouds/blob/master/core/src/test/java/org/jclouds/http/BaseHttpCommandExecutorServiceIntegrationTest.java";>testUploadBigFile</a>.</p>
 
-<p>This is verified against all of our HTTP clients, conceding that it isn't 
going to help limited
+<p>This is verified against all of our HTTP clients, conceding that it isn’t 
going to help limited
 environments such as Google App Engine.</p>
 
-<h3>Downloading</h3>
+<h3 id="downloading">Downloading</h3>
 
-<p>A blob you've downloaded via <code>blobstore.getBlob()</code> can be 
accessed via
-<code>blob.getPayload().openStream()</code>.  Since this is streaming, you 
shouldn't have a problem
+<p>A blob you’ve downloaded via <code class="language-plaintext 
highlighter-rouge">blobstore.getBlob()</code> can be accessed via
+<code class="language-plaintext 
highlighter-rouge">blob.getPayload().openStream()</code>.  Since this is 
streaming, you shouldn’t have a problem
 with memory unless you rebuffer the payload.</p>
 
             <div class="row clearfix">


Reply via email to