Modified: jclouds/site-content/guides/openstack/index.html
URL: 
http://svn.apache.org/viewvc/jclouds/site-content/guides/openstack/index.html?rev=1923693&r1=1923692&r2=1923693&view=diff
==============================================================================
--- jclouds/site-content/guides/openstack/index.html (original)
+++ jclouds/site-content/guides/openstack/index.html Mon Feb 10 07:25:53 2025
@@ -150,84 +150,70 @@
                 <h1>OpenStack: Getting Started Guide</h1>
             </div>
             <ol>
-<li><a href="#intro">Introduction</a></li>
-<li><a href="#openstack">Get OpenStack</a></li>
-<li><a href="#install">Get jclouds</a></li>
-<li><a href="#terminology">Terminology</a></li>
-<li><a href="#keystone">Keystone v2-v3 authentication</a></li>
-<li><a href="#nova">Nova: List Servers</a></li>
-<li><a href="#swift">Swift: Use Containers</a></li>
-<li><a href="#next">Next Steps</a></li>
-<li><a href="#pom">OpenStack Dependencies</a></li>
+  <li><a href="#intro">Introduction</a></li>
+  <li><a href="#openstack">Get OpenStack</a></li>
+  <li><a href="#install">Get jclouds</a></li>
+  <li><a href="#terminology">Terminology</a></li>
+  <li><a href="#keystone">Keystone v2-v3 authentication</a></li>
+  <li><a href="#nova">Nova: List Servers</a></li>
+  <li><a href="#swift">Swift: Use Containers</a></li>
+  <li><a href="#next">Next Steps</a></li>
+  <li><a href="#pom">OpenStack Dependencies</a></li>
 </ol>
 
-
-<h2><a id="intro"></a>Introduction</h2>
-
+<h2 id="introduction"><a id="intro"></a>Introduction</h2>
 <p><a href="https://www.openstack.org/";>OpenStack</a> is a global 
collaboration of developers and cloud computing technologists producing the 
ubiquitous open source cloud computing platform for public and private clouds. 
The project aims to deliver solutions for all types of clouds by being simple 
to implement, massively scalable, and feature rich. The technology consists of 
a series of interrelated projects delivering various components for a cloud 
infrastructure solution.</p>
 
-<h2><a id="openstack"></a>Get OpenStack</h2>
-
+<h2 id="get-openstack"><a id="openstack"></a>Get OpenStack</h2>
 <p>You can either install a private OpenStack cloud for yourself or use an 
existing OpenStack public cloud.</p>
 
-<h3><a id="private"></a>Private Clouds</h3>
-
-<p>If you don't have a private OpenStack cloud but still want to try it out, 
you can use <a href="https://devstack.org/";>DevStack</a> to create your own 
mini-OpenStack cloud.</p>
-
-<h3><a id="public"></a>Public Clouds</h3>
+<h3 id="private-clouds"><a id="private"></a>Private Clouds</h3>
+<p>If you don’t have a private OpenStack cloud but still want to try it out, 
you can use <a href="https://devstack.org/";>DevStack</a> to create your own 
mini-OpenStack cloud.</p>
 
-<p>Because the OpenStack API is also open, the jclouds APIs that talk to 
private OpenStack clouds work just as well with public OpenStack clouds. 
OpenStack is used by several large public clouds, both the <a 
href="https://www.hpcloud.com/";>HP Cloud</a> (<a href="/guides/hpcloud">HP 
Cloud Getting Started Guide</a>) and <a 
href="https://www.rackspace.com/cloud/";>Rackspace Cloud</a> (<a 
href="/guides/rackspace">Rackspace Getting Started Guide</a>) are based on it. 
If you don't want to sign up for a paid public cloud, you can use <a 
href="https://trystack.org/";>TryStack</a>.</p>
+<h3 id="public-clouds"><a id="public"></a>Public Clouds</h3>
+<p>Because the OpenStack API is also open, the jclouds APIs that talk to 
private OpenStack clouds work just as well with public OpenStack clouds. 
OpenStack is used by several large public clouds, both the <a 
href="https://www.hpcloud.com/";>HP Cloud</a> (<a href="/guides/hpcloud">HP 
Cloud Getting Started Guide</a>) and <a 
href="https://www.rackspace.com/cloud/";>Rackspace Cloud</a> (<a 
href="/guides/rackspace">Rackspace Getting Started Guide</a>) are based on it. 
If you don’t want to sign up for a paid public cloud, you can use <a 
href="https://trystack.org/";>TryStack</a>.</p>
 
-<h2><a id="install"></a>Get jclouds</h2>
+<h2 id="get-jclouds"><a id="install"></a>Get jclouds</h2>
 
 <ol>
-<li>Ensure you are using the <a 
href="https://www.oracle.com/technetwork/java/javase/downloads/index.html";>Java 
Development Kit (JDK) version 6 or later</a>.
-
-<ul>
-<li><code>javac -version</code></li>
-</ul>
-</li>
-<li>Ensure you are using <a 
href="https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html";>Maven
 version 3 or later</a>.
-
-<ul>
-<li><code>mvn -version</code></li>
-</ul>
-</li>
-<li>Create a directory to try out jclouds.
-
-<ul>
-<li><code>mkdir jclouds</code></li>
-<li><code>cd jclouds</code></li>
-</ul>
-</li>
-<li>Make a local copy of the <a href="#pom">pom.xml</a> file below in the 
jclouds directory.
-
-<ul>
-<li><code>mvn dependency:copy-dependencies 
"-DoutputDirectory=./lib"</code></li>
-</ul>
-</li>
-<li>You should now have a directory with the following structure:
-
-<ul>
-<li><code>jclouds/</code>
-
-<ul>
-<li><code>pom.xml</code></li>
-<li><code>lib/</code>
-
-<ul>
-<li><code>*.jar</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
+  <li>Ensure you are using the <a 
href="https://www.oracle.com/technetwork/java/javase/downloads/index.html";>Java 
Development Kit (JDK) version 6 or later</a>.
+    <ul>
+      <li><code class="language-plaintext highlighter-rouge">javac 
-version</code></li>
+    </ul>
+  </li>
+  <li>Ensure you are using <a 
href="https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html";>Maven
 version 3 or later</a>.
+    <ul>
+      <li><code class="language-plaintext highlighter-rouge">mvn 
-version</code></li>
+    </ul>
+  </li>
+  <li>Create a directory to try out jclouds.
+    <ul>
+      <li><code class="language-plaintext highlighter-rouge">mkdir 
jclouds</code></li>
+      <li><code class="language-plaintext highlighter-rouge">cd 
jclouds</code></li>
+    </ul>
+  </li>
+  <li>Make a local copy of the <a href="#pom">pom.xml</a> file below in the 
jclouds directory.
+    <ul>
+      <li><code class="language-plaintext highlighter-rouge">mvn 
dependency:copy-dependencies "-DoutputDirectory=./lib"</code></li>
+    </ul>
+  </li>
+  <li>You should now have a directory with the following structure:
+    <ul>
+      <li><code class="language-plaintext highlighter-rouge">jclouds/</code>
+        <ul>
+          <li><code class="language-plaintext 
highlighter-rouge">pom.xml</code></li>
+          <li><code class="language-plaintext highlighter-rouge">lib/</code>
+            <ul>
+              <li><code class="language-plaintext 
highlighter-rouge">*.jar</code></li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+    </ul>
+  </li>
 </ol>
 
-
-<h2><a id="terminology"></a>Terminology</h2>
-
+<h2 id="terminology"><a id="terminology"></a>Terminology</h2>
 <p>There are some differences in terminology between jclouds and OpenStack 
that should be made clear.</p>
 
 <div class="row clearfix">
@@ -277,53 +263,47 @@
   </div>
 </div>
 
-
-<h2><a id="keystone"></a>Keystone v2-v3 authentication</h2>
+<h2 id="keystone-v2-v3-authentication"><a id="keystone"></a>Keystone v2-v3 
authentication</h2>
 
 <p>OpenStack Keystone (aka: <a 
href="https://docs.openstack.org/keystone/latest/";>OpenStack Identity 
Service</a>) has major changes between v2 and v3 (detail. <a 
href="https://docs.openstack.org/keystone/latest/contributor/http-api.html";>Identity
 API v2.0 and v3 History</a>).</p>
 
 <p>To login, provide:</p>
 
 <ul>
-<li>On v2: <em>tenant</em>, <em>user</em>, <em>password</em>.</li>
-<li>On v3: a <em>project</em> (new name for <em>tenant</em>), an 
authentication <em>domain</em> for this <em>project</em>, a <em>user</em>, an 
authentication <em>domain</em> for this <em>user</em> (the two domains can be 
different).</li>
+  <li>On v2: <em>tenant</em>, <em>user</em>, <em>password</em>.</li>
+  <li>On v3: a <em>project</em> (new name for <em>tenant</em>), an 
authentication <em>domain</em> for this <em>project</em>, a <em>user</em>, an 
authentication <em>domain</em> for this <em>user</em> (the two domains can be 
different).</li>
 </ul>
 
-
 <p>jclouds provides backward compatibility between Keystone v2 and v3, but you 
should keep the following in mind to fully understand authentication against 
your OpenStack platform (See also the recent <a 
href="https://jclouds.apache.org/blog/2018/01/16/keystone-v3/";>OpenStack 
Keystone v3 Support</a> blog post).</p>
 
-<h3>v2</h3>
+<h3 id="v2">v2</h3>
 
 <p>This snippet:</p>
 
-<div class="highlight"><pre><code class="java"><span class="kd">final</span> 
<span class="n">Properties</span> <span class="n">overrides</span> <span 
class="o">=</span> <span class="k">new</span> <span 
class="n">Properties</span><span class="o">();</span>
-<span class="n">overrides</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="n">KeystoneProperties</span><span class="o">.</span><span 
class="na">KEYSTONE_VERSION</span><span class="o">,</span> <span 
class="s">&quot;2&quot;</span><span class="o">);</span>
+<figure class="highlight"><pre><code class="language-java" 
data-lang="java"><span class="kd">final</span> <span 
class="nc">Properties</span> <span class="n">overrides</span> <span 
class="o">=</span> <span class="k">new</span> <span 
class="nc">Properties</span><span class="o">();</span>
+<span class="n">overrides</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="nc">KeystoneProperties</span><span class="o">.</span><span 
class="na">KEYSTONE_VERSION</span><span class="o">,</span> <span 
class="s">"2"</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;openstack-nova&quot;</span><span class="o">)</span>
-   <span class="o">.</span><span class="na">endpoint</span><span 
class="o">(</span><span 
class="s">&quot;https://host:5000/v2.0&quot;</span><span class="o">)</span>
-   <span class="o">.</span><span class="na">credentials</span><span 
class="o">(</span><span class="s">&quot;myTenant:foo&quot;</span><span 
class="o">,</span> <span class="s">&quot;bar&quot;</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">"openstack-nova"</span><span class="o">)</span>
+   <span class="o">.</span><span class="na">endpoint</span><span 
class="o">(</span><span class="s">"https://host:5000/v2.0";</span><span 
class="o">)</span>
+   <span class="o">.</span><span class="na">credentials</span><span 
class="o">(</span><span class="s">"myTenant:foo"</span><span class="o">,</span> 
<span class="s">"bar"</span><span class="o">)</span>
    <span class="o">.</span><span class="na">overrides</span><span 
class="o">(</span><span class="n">overrides</span><span class="o">)</span>
-   <span class="o">.</span><span class="na">buildApi</span><span 
class="o">(</span><span class="n">NovaApi</span><span class="o">.</span><span 
class="na">class</span><span class="o">);</span>
-</code></pre></div>
-
+   <span class="o">.</span><span class="na">buildApi</span><span 
class="o">(</span><span class="nc">NovaApi</span><span class="o">.</span><span 
class="na">class</span><span class="o">);</span></code></pre></figure>
 
 <p>or</p>
 
-<div class="highlight"><pre><code class="java"><span class="kd">final</span> 
<span class="n">Properties</span> <span class="n">overrides</span> <span 
class="o">=</span> <span class="k">new</span> <span 
class="n">Properties</span><span class="o">();</span>
-<span class="n">overrides</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="n">KeystoneProperties</span><span class="o">.</span><span 
class="na">KEYSTONE_VERSION</span><span class="o">,</span> <span 
class="s">&quot;2&quot;</span><span class="o">);</span>
-<span class="n">overrides</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="n">KeystoneProperties</span><span class="o">.</span><span 
class="na">TENANT_NAME</span><span class="o">,</span> <span 
class="s">&quot;myTenant&quot;</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;openstack-nova&quot;</span><span class="o">)</span>
-   <span class="o">.</span><span class="na">endpoint</span><span 
class="o">(</span><span 
class="s">&quot;https://host:5000/v2.0&quot;</span><span class="o">)</span>
-   <span class="o">.</span><span class="na">credentials</span><span 
class="o">(</span><span class="s">&quot;foo&quot;</span><span 
class="o">,</span> <span class="s">&quot;bar&quot;</span><span 
class="o">)</span>
+<figure class="highlight"><pre><code class="language-java" 
data-lang="java"><span class="kd">final</span> <span 
class="nc">Properties</span> <span class="n">overrides</span> <span 
class="o">=</span> <span class="k">new</span> <span 
class="nc">Properties</span><span class="o">();</span>
+<span class="n">overrides</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="nc">KeystoneProperties</span><span class="o">.</span><span 
class="na">KEYSTONE_VERSION</span><span class="o">,</span> <span 
class="s">"2"</span><span class="o">);</span>
+<span class="n">overrides</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="nc">KeystoneProperties</span><span class="o">.</span><span 
class="na">TENANT_NAME</span><span class="o">,</span> <span 
class="s">"myTenant"</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">"openstack-nova"</span><span class="o">)</span>
+   <span class="o">.</span><span class="na">endpoint</span><span 
class="o">(</span><span class="s">"https://host:5000/v2.0";</span><span 
class="o">)</span>
+   <span class="o">.</span><span class="na">credentials</span><span 
class="o">(</span><span class="s">"foo"</span><span class="o">,</span> <span 
class="s">"bar"</span><span class="o">)</span>
    <span class="o">.</span><span class="na">overrides</span><span 
class="o">(</span><span class="n">overrides</span><span class="o">)</span>
-   <span class="o">.</span><span class="na">buildApi</span><span 
class="o">(</span><span class="n">NovaApi</span><span class="o">.</span><span 
class="na">class</span><span class="o">);</span>
-</code></pre></div>
-
+   <span class="o">.</span><span class="na">buildApi</span><span 
class="o">(</span><span class="nc">NovaApi</span><span class="o">.</span><span 
class="na">class</span><span class="o">);</span></code></pre></figure>
 
 <p>Will produce when authentication needed:</p>
 
-<pre><code>POST https://host:5000/v2.0/tokens HTTP/1.1
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code>POST https://host:5000/v2.0/tokens HTTP/1.1
 {
     "auth": {
         "passwordCredentials": {
@@ -333,26 +313,24 @@
         "tenantName": "myTenant"
     }
 }    
-</code></pre>
+</code></pre></div></div>
 
-<h3>v3: Default (unscoped)</h3>
+<h3 id="v3-default-unscoped">v3: Default (unscoped)</h3>
 
 <p>Keystone v3 requires at min a user authentication domain (generally the one 
you are using to login through UI console), so this snippet:</p>
 
-<div class="highlight"><pre><code class="java"><span class="kd">final</span> 
<span class="n">Properties</span> <span class="n">overrides</span> <span 
class="o">=</span> <span class="k">new</span> <span 
class="n">Properties</span><span class="o">();</span>
-<span class="n">overrides</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="n">KeystoneProperties</span><span class="o">.</span><span 
class="na">KEYSTONE_VERSION</span><span class="o">,</span> <span 
class="s">&quot;3&quot;</span><span class="o">);</span>
+<figure class="highlight"><pre><code class="language-java" 
data-lang="java"><span class="kd">final</span> <span 
class="nc">Properties</span> <span class="n">overrides</span> <span 
class="o">=</span> <span class="k">new</span> <span 
class="nc">Properties</span><span class="o">();</span>
+<span class="n">overrides</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="nc">KeystoneProperties</span><span class="o">.</span><span 
class="na">KEYSTONE_VERSION</span><span class="o">,</span> <span 
class="s">"3"</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;openstack-nova&quot;</span><span class="o">)</span>
-   <span class="o">.</span><span class="na">endpoint</span><span 
class="o">(</span><span class="s">&quot;https://host:5000/v3&quot;</span><span 
class="o">)</span>
-   <span class="o">.</span><span class="na">credentials</span><span 
class="o">(</span><span class="s">&quot;ldap:foo&quot;</span><span 
class="o">,</span> <span class="s">&quot;bar&quot;</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">"openstack-nova"</span><span class="o">)</span>
+   <span class="o">.</span><span class="na">endpoint</span><span 
class="o">(</span><span class="s">"https://host:5000/v3";</span><span 
class="o">)</span>
+   <span class="o">.</span><span class="na">credentials</span><span 
class="o">(</span><span class="s">"ldap:foo"</span><span class="o">,</span> 
<span class="s">"bar"</span><span class="o">)</span>
    <span class="o">.</span><span class="na">overrides</span><span 
class="o">(</span><span class="n">overrides</span><span class="o">)</span>
-   <span class="o">.</span><span class="na">buildApi</span><span 
class="o">(</span><span class="n">NovaApi</span><span class="o">.</span><span 
class="na">class</span><span class="o">);</span>
-</code></pre></div>
-
+   <span class="o">.</span><span class="na">buildApi</span><span 
class="o">(</span><span class="nc">NovaApi</span><span class="o">.</span><span 
class="na">class</span><span class="o">);</span></code></pre></figure>
 
 <p>Will produce when authentication needed:</p>
 
-<pre><code>POST https://host:5000/v3/auth/tokens HTTP/1.1
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code>POST https://host:5000/v3/auth/tokens HTTP/1.1
 {
     "auth": {
         "identity": {
@@ -370,29 +348,27 @@
         "scope": "unscoped"
     }
 }
-</code></pre>
+</code></pre></div></div>
 
 <p>In this case, no <em>project</em> (previously <em>tenant</em> in OpenStack 
keystone v2) is provided.</p>
 
-<h3>v3: Project-scoped</h3>
+<h3 id="v3-project-scoped">v3: Project-scoped</h3>
 
 <p>A common usage of OpenStack keystone v3 is to provide the <a 
href="https://docs.openstack.org/keystone/latest/api_curl_examples.html#project-scoped";>project
 scope</a>, this snippet:</p>
 
-<div class="highlight"><pre><code class="java"><span class="kd">final</span> 
<span class="n">Properties</span> <span class="n">overrides</span> <span 
class="o">=</span> <span class="k">new</span> <span 
class="n">Properties</span><span class="o">();</span>
-<span class="n">overrides</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="n">KeystoneProperties</span><span class="o">.</span><span 
class="na">KEYSTONE_VERSION</span><span class="o">,</span> <span 
class="s">&quot;3&quot;</span><span class="o">);</span>
-<span class="n">overrides</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="n">KeystoneProperties</span><span class="o">.</span><span 
class="na">SCOPE</span><span class="o">,</span> <span 
class="s">&quot;project:myTenant&quot;</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;openstack-nova&quot;</span><span class="o">)</span>
-   <span class="o">.</span><span class="na">endpoint</span><span 
class="o">(</span><span class="s">&quot;https://host:5000/v3&quot;</span><span 
class="o">)</span>
-   <span class="o">.</span><span class="na">credentials</span><span 
class="o">(</span><span class="s">&quot;ldap:foo&quot;</span><span 
class="o">,</span> <span class="s">&quot;bar&quot;</span><span 
class="o">)</span>
+<figure class="highlight"><pre><code class="language-java" 
data-lang="java"><span class="kd">final</span> <span 
class="nc">Properties</span> <span class="n">overrides</span> <span 
class="o">=</span> <span class="k">new</span> <span 
class="nc">Properties</span><span class="o">();</span>
+<span class="n">overrides</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="nc">KeystoneProperties</span><span class="o">.</span><span 
class="na">KEYSTONE_VERSION</span><span class="o">,</span> <span 
class="s">"3"</span><span class="o">);</span>
+<span class="n">overrides</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="nc">KeystoneProperties</span><span class="o">.</span><span 
class="na">SCOPE</span><span class="o">,</span> <span 
class="s">"project:myTenant"</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">"openstack-nova"</span><span class="o">)</span>
+   <span class="o">.</span><span class="na">endpoint</span><span 
class="o">(</span><span class="s">"https://host:5000/v3";</span><span 
class="o">)</span>
+   <span class="o">.</span><span class="na">credentials</span><span 
class="o">(</span><span class="s">"ldap:foo"</span><span class="o">,</span> 
<span class="s">"bar"</span><span class="o">)</span>
    <span class="o">.</span><span class="na">overrides</span><span 
class="o">(</span><span class="n">overrides</span><span class="o">)</span>
-   <span class="o">.</span><span class="na">buildApi</span><span 
class="o">(</span><span class="n">NovaApi</span><span class="o">.</span><span 
class="na">class</span><span class="o">);</span>
-</code></pre></div>
-
+   <span class="o">.</span><span class="na">buildApi</span><span 
class="o">(</span><span class="nc">NovaApi</span><span class="o">.</span><span 
class="na">class</span><span class="o">);</span></code></pre></figure>
 
 <p>Will produce when authentication needed:</p>
 
-<pre><code>POST https://host:5000/v3/auth/tokens HTTP/1.1
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code>POST https://host:5000/v3/auth/tokens HTTP/1.1
 {
     "auth": {
         "identity": {
@@ -417,26 +393,24 @@
         }
     }
 }
-</code></pre>
+</code></pre></div></div>
 
-<p>If the project domain is different than the user domain (Use case when 
'default' is used for projects and a third-part IAM like ldap is use for user 
authentication), use this snippet:</p>
+<p>If the project domain is different than the user domain (Use case when 
‘default’ is used for projects and a third-part IAM like ldap is use for 
user authentication), use this snippet:</p>
 
-<div class="highlight"><pre><code class="java"><span class="kd">final</span> 
<span class="n">Properties</span> <span class="n">overrides</span> <span 
class="o">=</span> <span class="k">new</span> <span 
class="n">Properties</span><span class="o">();</span>
-<span class="n">overrides</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="n">KeystoneProperties</span><span class="o">.</span><span 
class="na">KEYSTONE_VERSION</span><span class="o">,</span> <span 
class="s">&quot;3&quot;</span><span class="o">);</span>
-<span class="n">overrides</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="n">KeystoneProperties</span><span class="o">.</span><span 
class="na">SCOPE</span><span class="o">,</span> <span 
class="s">&quot;project:myTenant&quot;</span><span class="o">);</span>
-<span class="n">overrides</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="n">KeystoneProperties</span><span class="o">.</span><span 
class="na">PROJECT_DOMAIN_NAME</span><span class="o">,</span> <span 
class="s">&quot;default&quot;</span><span class="o">);</span> <span 
class="c1">// Since jclouds &gt; v2.1.0 (see PROJECT_DOMAIN_ID as 
complement)</span>
-
-<span class="n">ContextBuilder</span><span class="o">.</span><span 
class="na">newBuilder</span><span class="o">(</span><span 
class="s">&quot;openstack-nova&quot;</span><span class="o">)</span>
-   <span class="o">.</span><span class="na">endpoint</span><span 
class="o">(</span><span class="s">&quot;https://host:5000/v3&quot;</span><span 
class="o">)</span>
-   <span class="o">.</span><span class="na">credentials</span><span 
class="o">(</span><span class="s">&quot;ldap:foo&quot;</span><span 
class="o">,</span> <span class="s">&quot;bar&quot;</span><span 
class="o">)</span>
+<figure class="highlight"><pre><code class="language-java" 
data-lang="java"><span class="kd">final</span> <span 
class="nc">Properties</span> <span class="n">overrides</span> <span 
class="o">=</span> <span class="k">new</span> <span 
class="nc">Properties</span><span class="o">();</span>
+<span class="n">overrides</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="nc">KeystoneProperties</span><span class="o">.</span><span 
class="na">KEYSTONE_VERSION</span><span class="o">,</span> <span 
class="s">"3"</span><span class="o">);</span>
+<span class="n">overrides</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="nc">KeystoneProperties</span><span class="o">.</span><span 
class="na">SCOPE</span><span class="o">,</span> <span 
class="s">"project:myTenant"</span><span class="o">);</span>
+<span class="n">overrides</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="nc">KeystoneProperties</span><span class="o">.</span><span 
class="na">PROJECT_DOMAIN_NAME</span><span class="o">,</span> <span 
class="s">"default"</span><span class="o">);</span> <span class="c1">// Since 
jclouds &gt; v2.1.0 (see PROJECT_DOMAIN_ID as complement)</span>
+
+<span class="nc">ContextBuilder</span><span class="o">.</span><span 
class="na">newBuilder</span><span class="o">(</span><span 
class="s">"openstack-nova"</span><span class="o">)</span>
+   <span class="o">.</span><span class="na">endpoint</span><span 
class="o">(</span><span class="s">"https://host:5000/v3";</span><span 
class="o">)</span>
+   <span class="o">.</span><span class="na">credentials</span><span 
class="o">(</span><span class="s">"ldap:foo"</span><span class="o">,</span> 
<span class="s">"bar"</span><span class="o">)</span>
    <span class="o">.</span><span class="na">overrides</span><span 
class="o">(</span><span class="n">overrides</span><span class="o">)</span>
-   <span class="o">.</span><span class="na">buildApi</span><span 
class="o">(</span><span class="n">NovaApi</span><span class="o">.</span><span 
class="na">class</span><span class="o">);</span>
-</code></pre></div>
-
+   <span class="o">.</span><span class="na">buildApi</span><span 
class="o">(</span><span class="nc">NovaApi</span><span class="o">.</span><span 
class="na">class</span><span class="o">);</span></code></pre></figure>
 
 <p>Will produce when authentication needed:</p>
 
-<pre><code>POST https://host:5000/v3/auth/tokens HTTP/1.1
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code>POST https://host:5000/v3/auth/tokens HTTP/1.1
 {
     "auth": {
         "identity": {
@@ -461,27 +435,25 @@
         }
     }
 }
-</code></pre>
+</code></pre></div></div>
 
-<h3>v3: Domain-scoped</h3>
+<h3 id="v3-domain-scoped">v3: Domain-scoped</h3>
 
 <p>If your authentication is <a 
href="https://docs.openstack.org/keystone/latest/api_curl_examples.html#domain-scoped";>domain-scoped</a>,
 this snippet:</p>
 
-<div class="highlight"><pre><code class="java"><span class="kd">final</span> 
<span class="n">Properties</span> <span class="n">overrides</span> <span 
class="o">=</span> <span class="k">new</span> <span 
class="n">Properties</span><span class="o">();</span>
-<span class="n">overrides</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="n">KeystoneProperties</span><span class="o">.</span><span 
class="na">KEYSTONE_VERSION</span><span class="o">,</span> <span 
class="s">&quot;3&quot;</span><span class="o">);</span>
-<span class="n">overrides</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="n">KeystoneProperties</span><span class="o">.</span><span 
class="na">SCOPE</span><span class="o">,</span> <span 
class="s">&quot;domain:default&quot;</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;openstack-nova&quot;</span><span class="o">)</span>
-   <span class="o">.</span><span class="na">endpoint</span><span 
class="o">(</span><span class="s">&quot;https://host:5000/v3&quot;</span><span 
class="o">)</span>
-   <span class="o">.</span><span class="na">credentials</span><span 
class="o">(</span><span class="s">&quot;ldap:foo&quot;</span><span 
class="o">,</span> <span class="s">&quot;bar&quot;</span><span 
class="o">)</span>
+<figure class="highlight"><pre><code class="language-java" 
data-lang="java"><span class="kd">final</span> <span 
class="nc">Properties</span> <span class="n">overrides</span> <span 
class="o">=</span> <span class="k">new</span> <span 
class="nc">Properties</span><span class="o">();</span>
+<span class="n">overrides</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="nc">KeystoneProperties</span><span class="o">.</span><span 
class="na">KEYSTONE_VERSION</span><span class="o">,</span> <span 
class="s">"3"</span><span class="o">);</span>
+<span class="n">overrides</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="nc">KeystoneProperties</span><span class="o">.</span><span 
class="na">SCOPE</span><span class="o">,</span> <span 
class="s">"domain:default"</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">"openstack-nova"</span><span class="o">)</span>
+   <span class="o">.</span><span class="na">endpoint</span><span 
class="o">(</span><span class="s">"https://host:5000/v3";</span><span 
class="o">)</span>
+   <span class="o">.</span><span class="na">credentials</span><span 
class="o">(</span><span class="s">"ldap:foo"</span><span class="o">,</span> 
<span class="s">"bar"</span><span class="o">)</span>
    <span class="o">.</span><span class="na">overrides</span><span 
class="o">(</span><span class="n">overrides</span><span class="o">)</span>
-   <span class="o">.</span><span class="na">buildApi</span><span 
class="o">(</span><span class="n">NovaApi</span><span class="o">.</span><span 
class="na">class</span><span class="o">);</span>
-</code></pre></div>
-
+   <span class="o">.</span><span class="na">buildApi</span><span 
class="o">(</span><span class="nc">NovaApi</span><span class="o">.</span><span 
class="na">class</span><span class="o">);</span></code></pre></figure>
 
 <p>Will produce when authentication needed:</p>
 
-<pre><code>POST https://host:5000/v3/auth/tokens HTTP/1.1
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code>POST https://host:5000/v3/auth/tokens HTTP/1.1
 {
     "auth": {
         "identity": {
@@ -503,41 +475,36 @@
         }
     }
 }
-</code></pre>
-
-<h2><a id="nova"></a>Nova: List Servers</h2>
+</code></pre></div></div>
 
-<h3><a id="nova-intro"></a>Introduction</h3>
+<h2 id="nova-list-servers"><a id="nova"></a>Nova: List Servers</h2>
+<h3 id="introduction-1"><a id="nova-intro"></a>Introduction</h3>
 
 <p><a href="https://www.openstack.org/software/openstack-compute/";>OpenStack 
Compute</a> (aka Nova) is an easy to use service that provides on-demand 
servers that you can use to to build dynamic websites, deliver mobile apps, or 
crunch big data.</p>
 
-<h3><a id="nova-source"></a>The Source Code</h3>
+<h3 id="the-source-code"><a id="nova-source"></a>The Source Code</h3>
 
 <ol>
-<li>Create a Java source file called JCloudsNova.java in the jclouds directory 
above.</li>
-<li>You should now have a directory with the following structure:
-
-<ul>
-<li><code>jclouds/</code>
-
-<ul>
-<li><code>JCloudsNova.java</code></li>
-<li><code>pom.xml</code></li>
-<li><code>lib/</code>
-
-<ul>
-<li><code>*.jar</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-<li>Open JCloudsNova.java for editing, read the code below, and copy it 
in.</li>
+  <li>Create a Java source file called JCloudsNova.java in the jclouds 
directory above.</li>
+  <li>You should now have a directory with the following structure:
+    <ul>
+      <li><code class="language-plaintext highlighter-rouge">jclouds/</code>
+        <ul>
+          <li><code class="language-plaintext 
highlighter-rouge">JCloudsNova.java</code></li>
+          <li><code class="language-plaintext 
highlighter-rouge">pom.xml</code></li>
+          <li><code class="language-plaintext highlighter-rouge">lib/</code>
+            <ul>
+              <li><code class="language-plaintext 
highlighter-rouge">*.jar</code></li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+    </ul>
+  </li>
+  <li>Open JCloudsNova.java for editing, read the code below, and copy it 
in.</li>
 </ol>
 
-
-<div class="highlight"><pre><code class="java"><span class="kn">import</span> 
<span class="nn">com.google.common.collect.ImmutableSet</span><span 
class="o">;</span>
+<figure class="highlight"><pre><code class="language-java" 
data-lang="java"><span class="kn">import</span> <span 
class="nn">com.google.common.collect.ImmutableSet</span><span class="o">;</span>
 <span class="kn">import</span> <span 
class="nn">com.google.common.io.Closeables</span><span class="o">;</span>
 <span class="kn">import</span> <span 
class="nn">com.google.inject.Module</span><span class="o">;</span>
 <span class="kn">import</span> <span 
class="nn">org.jclouds.ContextBuilder</span><span class="o">;</span>
@@ -550,17 +517,17 @@
 <span class="kn">import</span> <span 
class="nn">java.io.IOException</span><span class="o">;</span>
 <span class="kn">import</span> <span class="nn">java.util.Set</span><span 
class="o">;</span>
 
-<span class="kd">public</span> <span class="kd">class</span> <span 
class="nc">JCloudsNova</span> <span class="kd">implements</span> <span 
class="n">Closeable</span> <span class="o">{</span>
-    <span class="kd">private</span> <span class="kd">final</span> <span 
class="n">NovaApi</span> <span class="n">novaApi</span><span class="o">;</span>
-    <span class="kd">private</span> <span class="kd">final</span> <span 
class="n">Set</span><span class="o">&lt;</span><span 
class="n">String</span><span class="o">&gt;</span> <span 
class="n">regions</span><span class="o">;</span>
+<span class="kd">public</span> <span class="kd">class</span> <span 
class="nc">JCloudsNova</span> <span class="kd">implements</span> <span 
class="nc">Closeable</span> <span class="o">{</span>
+    <span class="kd">private</span> <span class="kd">final</span> <span 
class="nc">NovaApi</span> <span class="n">novaApi</span><span class="o">;</span>
+    <span class="kd">private</span> <span class="kd">final</span> <span 
class="nc">Set</span><span class="o">&lt;</span><span 
class="nc">String</span><span class="o">&gt;</span> <span 
class="n">regions</span><span class="o">;</span>
 
-    <span class="kd">public</span> <span class="kd">static</span> <span 
class="kt">void</span> <span class="nf">main</span><span 
class="o">(</span><span class="n">String</span><span class="o">[]</span> <span 
class="n">args</span><span class="o">)</span> <span class="kd">throws</span> 
<span class="n">IOException</span> <span class="o">{</span>
-        <span class="n">JCloudsNova</span> <span class="n">jcloudsNova</span> 
<span class="o">=</span> <span class="k">new</span> <span 
class="n">JCloudsNova</span><span class="o">();</span>
+    <span class="kd">public</span> <span class="kd">static</span> <span 
class="kt">void</span> <span class="nf">main</span><span 
class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span 
class="n">args</span><span class="o">)</span> <span class="kd">throws</span> 
<span class="nc">IOException</span> <span class="o">{</span>
+        <span class="nc">JCloudsNova</span> <span class="n">jcloudsNova</span> 
<span class="o">=</span> <span class="k">new</span> <span 
class="nc">JCloudsNova</span><span class="o">();</span>
 
         <span class="k">try</span> <span class="o">{</span>
             <span class="n">jcloudsNova</span><span class="o">.</span><span 
class="na">listServers</span><span class="o">();</span>
             <span class="n">jcloudsNova</span><span class="o">.</span><span 
class="na">close</span><span class="o">();</span>
-        <span class="o">}</span> <span class="k">catch</span> <span 
class="o">(</span><span class="n">Exception</span> <span 
class="n">e</span><span class="o">)</span> <span class="o">{</span>
+        <span class="o">}</span> <span class="k">catch</span> <span 
class="o">(</span><span class="nc">Exception</span> <span 
class="n">e</span><span class="o">)</span> <span class="o">{</span>
             <span class="n">e</span><span class="o">.</span><span 
class="na">printStackTrace</span><span class="o">();</span>
         <span class="o">}</span> <span class="k">finally</span> <span 
class="o">{</span>
             <span class="n">jcloudsNova</span><span class="o">.</span><span 
class="na">close</span><span class="o">();</span>
@@ -568,75 +535,68 @@
     <span class="o">}</span>
 
     <span class="kd">public</span> <span class="nf">JCloudsNova</span><span 
class="o">()</span> <span class="o">{</span>
-        <span class="n">Iterable</span><span class="o">&lt;</span><span 
class="n">Module</span><span class="o">&gt;</span> <span 
class="n">modules</span> <span class="o">=</span> <span 
class="n">ImmutableSet</span><span class="o">.&lt;</span><span 
class="n">Module</span><span class="o">&gt;</span><span 
class="n">of</span><span class="o">(</span><span class="k">new</span> <span 
class="n">SLF4JLoggingModule</span><span class="o">());</span>
+        <span class="nc">Iterable</span><span class="o">&lt;</span><span 
class="nc">Module</span><span class="o">&gt;</span> <span 
class="n">modules</span> <span class="o">=</span> <span 
class="nc">ImmutableSet</span><span class="o">.&lt;</span><span 
class="nc">Module</span><span class="o">&gt;</span><span 
class="n">of</span><span class="o">(</span><span class="k">new</span> <span 
class="nc">SLF4JLoggingModule</span><span class="o">());</span>
 
-        <span class="c1">// Please refer to &#39;Keystone v2-v3 
authentication&#39; section for complete authentication use case</span>
-        <span class="n">String</span> <span class="n">provider</span> <span 
class="o">=</span> <span class="s">&quot;openstack-nova&quot;</span><span 
class="o">;</span>
-        <span class="n">String</span> <span class="n">identity</span> <span 
class="o">=</span> <span class="s">&quot;demo:demo&quot;</span><span 
class="o">;</span> <span class="c1">// tenantName:userName</span>
-        <span class="n">String</span> <span class="n">credential</span> <span 
class="o">=</span> <span class="s">&quot;devstack&quot;</span><span 
class="o">;</span>
+        <span class="c1">// Please refer to 'Keystone v2-v3 authentication' 
section for complete authentication use case</span>
+        <span class="nc">String</span> <span class="n">provider</span> <span 
class="o">=</span> <span class="s">"openstack-nova"</span><span 
class="o">;</span>
+        <span class="nc">String</span> <span class="n">identity</span> <span 
class="o">=</span> <span class="s">"demo:demo"</span><span class="o">;</span> 
<span class="c1">// tenantName:userName</span>
+        <span class="nc">String</span> <span class="n">credential</span> <span 
class="o">=</span> <span class="s">"devstack"</span><span class="o">;</span>
 
-        <span class="n">novaApi</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="n">provider</span><span class="o">)</span>
-                <span class="o">.</span><span class="na">endpoint</span><span 
class="o">(</span><span 
class="s">&quot;http://xxx.xxx.xxx.xxx:5000/v2.0/&quot;</span><span 
class="o">)</span>
+        <span class="n">novaApi</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="n">provider</span><span class="o">)</span>
+                <span class="o">.</span><span class="na">endpoint</span><span 
class="o">(</span><span 
class="s">"http://xxx.xxx.xxx.xxx:5000/v2.0/";</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">modules</span><span 
class="o">(</span><span class="n">modules</span><span class="o">)</span>
-                <span class="o">.</span><span class="na">buildApi</span><span 
class="o">(</span><span class="n">NovaApi</span><span class="o">.</span><span 
class="na">class</span><span class="o">);</span>
+                <span class="o">.</span><span class="na">buildApi</span><span 
class="o">(</span><span class="nc">NovaApi</span><span class="o">.</span><span 
class="na">class</span><span class="o">);</span>
         <span class="n">regions</span> <span class="o">=</span> <span 
class="n">novaApi</span><span class="o">.</span><span 
class="na">getConfiguredRegions</span><span class="o">();</span>
     <span class="o">}</span>
 
     <span class="kd">private</span> <span class="kt">void</span> <span 
class="nf">listServers</span><span class="o">()</span> <span class="o">{</span>
-        <span class="k">for</span> <span class="o">(</span><span 
class="n">String</span> <span class="n">region</span> <span class="o">:</span> 
<span class="n">regions</span><span class="o">)</span> <span class="o">{</span>
-            <span class="n">ServerApi</span> <span class="n">serverApi</span> 
<span class="o">=</span> <span class="n">novaApi</span><span 
class="o">.</span><span class="na">getServerApi</span><span 
class="o">(</span><span class="n">region</span><span class="o">);</span>
+        <span class="k">for</span> <span class="o">(</span><span 
class="nc">String</span> <span class="n">region</span> <span class="o">:</span> 
<span class="n">regions</span><span class="o">)</span> <span class="o">{</span>
+            <span class="nc">ServerApi</span> <span class="n">serverApi</span> 
<span class="o">=</span> <span class="n">novaApi</span><span 
class="o">.</span><span class="na">getServerApi</span><span 
class="o">(</span><span class="n">region</span><span class="o">);</span>
 
-            <span class="n">System</span><span class="o">.</span><span 
class="na">out</span><span class="o">.</span><span 
class="na">println</span><span class="o">(</span><span class="s">&quot;Servers 
in &quot;</span> <span class="o">+</span> <span class="n">region</span><span 
class="o">);</span>
+            <span class="nc">System</span><span class="o">.</span><span 
class="na">out</span><span class="o">.</span><span 
class="na">println</span><span class="o">(</span><span class="s">"Servers in 
"</span> <span class="o">+</span> <span class="n">region</span><span 
class="o">);</span>
 
-            <span class="k">for</span> <span class="o">(</span><span 
class="n">Server</span> <span class="n">server</span> <span class="o">:</span> 
<span class="n">serverApi</span><span class="o">.</span><span 
class="na">listInDetail</span><span class="o">().</span><span 
class="na">concat</span><span class="o">())</span> <span class="o">{</span>
-                <span class="n">System</span><span class="o">.</span><span 
class="na">out</span><span class="o">.</span><span 
class="na">println</span><span class="o">(</span><span class="s">&quot;  
&quot;</span> <span class="o">+</span> <span class="n">server</span><span 
class="o">);</span>
+            <span class="k">for</span> <span class="o">(</span><span 
class="nc">Server</span> <span class="n">server</span> <span class="o">:</span> 
<span class="n">serverApi</span><span class="o">.</span><span 
class="na">listInDetail</span><span class="o">().</span><span 
class="na">concat</span><span class="o">())</span> <span class="o">{</span>
+                <span class="nc">System</span><span class="o">.</span><span 
class="na">out</span><span class="o">.</span><span 
class="na">println</span><span class="o">(</span><span class="s">"  "</span> 
<span class="o">+</span> <span class="n">server</span><span class="o">);</span>
             <span class="o">}</span>
         <span class="o">}</span>
     <span class="o">}</span>
 
-    <span class="kd">public</span> <span class="kt">void</span> <span 
class="nf">close</span><span class="o">()</span> <span class="kd">throws</span> 
<span class="n">IOException</span> <span class="o">{</span>
-        <span class="n">Closeables</span><span class="o">.</span><span 
class="na">close</span><span class="o">(</span><span 
class="n">novaApi</span><span class="o">,</span> <span 
class="kc">true</span><span class="o">);</span>
+    <span class="kd">public</span> <span class="kt">void</span> <span 
class="nf">close</span><span class="o">()</span> <span class="kd">throws</span> 
<span class="nc">IOException</span> <span class="o">{</span>
+        <span class="nc">Closeables</span><span class="o">.</span><span 
class="na">close</span><span class="o">(</span><span 
class="n">novaApi</span><span class="o">,</span> <span 
class="kc">true</span><span class="o">);</span>
     <span class="o">}</span>
-<span class="o">}</span>
-</code></pre></div>
-
+<span class="o">}</span></code></pre></figure>
 
 <p>In the constructor note that</p>
 
 <ul>
-<li><code>String provider = "openstack-nova";</code>
-
-<ul>
-<li>This ones pretty self explanatory, we're using the OpenStack Nova provider 
in jclouds</li>
-</ul>
-</li>
-<li><code>String identity = "demo:demo"; // tenantName:userName</code>
-
-<ul>
-<li>Here we use the tenant name and user name with a colon between them 
instead of just a user name</li>
-</ul>
-</li>
-<li><code>String credential = "devstack";</code>
-
-<ul>
-<li>The demo account uses ADMIN_PASSWORD too</li>
+  <li><code class="language-plaintext highlighter-rouge">String provider = 
"openstack-nova";</code>
+    <ul>
+      <li>This ones pretty self explanatory, we’re using the OpenStack Nova 
provider in jclouds</li>
+    </ul>
+  </li>
+  <li><code class="language-plaintext highlighter-rouge">String identity = 
"demo:demo"; // tenantName:userName</code>
+    <ul>
+      <li>Here we use the tenant name and user name with a colon between them 
instead of just a user name</li>
+    </ul>
+  </li>
+  <li><code class="language-plaintext highlighter-rouge">String credential = 
"devstack";</code>
+    <ul>
+      <li>The demo account uses ADMIN_PASSWORD too</li>
+    </ul>
+  </li>
+  <li><code class="language-plaintext 
highlighter-rouge">.endpoint("http://xxx.xxx.xxx.xxx:5000/v2.0/";)</code>
+    <ul>
+      <li>This is the Keystone endpoint that jclouds needs to connect with to 
get more info (services and endpoints) from OpenStack</li>
+      <li>When a DevStack installation completes successfully, one of the last 
few lines will read something like “<code class="language-plaintext 
highlighter-rouge">Keystone is serving at 
http://xxx.xxx.xxx.xxx:5000/v2.0/</code>”</li>
+      <li>Set the endpoint to this URL depending on the method used to get 
OpenStack above.</li>
+    </ul>
+  </li>
 </ul>
-</li>
-<li><code>.endpoint("http://xxx.xxx.xxx.xxx:5000/v2.0/";)</code>
 
-<ul>
-<li>This is the Keystone endpoint that jclouds needs to connect with to get 
more info (services and endpoints) from OpenStack</li>
-<li>When a DevStack installation completes successfully, one of the last few 
lines will read something like "<code>Keystone is serving at 
http://xxx.xxx.xxx.xxx:5000/v2.0/</code>"</li>
-<li>Set the endpoint to this URL depending on the method used to get OpenStack 
above.</li>
-</ul>
-</li>
-</ul>
+<h3 id="compile-and-run"><a id="nova-compile"></a>Compile and Run</h3>
 
-
-<h3><a id="nova-compile"></a>Compile and Run</h3>
-
-<pre><code>$ javac -classpath ".:lib/*" JCloudsNova.java
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code>$ javac -classpath ".:lib/*" JCloudsNova.java
 
 $ java -classpath ".:lib/*" JCloudsNova
 
@@ -645,41 +605,36 @@ Servers in RegionOne
   ...
 
 # You'll see a lot of logging in the output
-</code></pre>
-
-<h2><a id="swift"></a>Swift: Use Containers</h2>
+</code></pre></div></div>
 
-<h3><a id="swift-intro"></a>Introduction</h3>
+<h2 id="swift-use-containers"><a id="swift"></a>Swift: Use Containers</h2>
+<h3 id="introduction-2"><a id="swift-intro"></a>Introduction</h3>
 
 <p><a href="https://www.openstack.org/software/openstack-storage/";>OpenStack 
Object Storage</a> (aka Swift) provides redundant, scalable object storage 
using clusters of standardized servers capable of storing petabytes of data.</p>
 
-<h3><a id="swift-source"></a>The Source Code</h3>
+<h3 id="the-source-code-1"><a id="swift-source"></a>The Source Code</h3>
 
 <ol>
-<li>Create a Java source file called JCloudsSwift.java in the jclouds 
directory above.</li>
-<li>You should now have a directory with the following structure:
-
-<ul>
-<li><code>jclouds/</code>
-
-<ul>
-<li><code>JCloudsSwift.java</code></li>
-<li><code>pom.xml</code></li>
-<li><code>lib/</code>
-
-<ul>
-<li><code>*.jar</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-<li>Open JCloudsSwift.java for editing, read the code below, and copy it 
in.</li>
+  <li>Create a Java source file called JCloudsSwift.java in the jclouds 
directory above.</li>
+  <li>You should now have a directory with the following structure:
+    <ul>
+      <li><code class="language-plaintext highlighter-rouge">jclouds/</code>
+        <ul>
+          <li><code class="language-plaintext 
highlighter-rouge">JCloudsSwift.java</code></li>
+          <li><code class="language-plaintext 
highlighter-rouge">pom.xml</code></li>
+          <li><code class="language-plaintext highlighter-rouge">lib/</code>
+            <ul>
+              <li><code class="language-plaintext 
highlighter-rouge">*.jar</code></li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+    </ul>
+  </li>
+  <li>Open JCloudsSwift.java for editing, read the code below, and copy it 
in.</li>
 </ol>
 
-
-<div class="highlight"><pre><code class="java"><span class="kn">import</span> 
<span class="nn">com.google.common.collect.ImmutableMap</span><span 
class="o">;</span>
+<figure class="highlight"><pre><code class="language-java" 
data-lang="java"><span class="kn">import</span> <span 
class="nn">com.google.common.collect.ImmutableMap</span><span class="o">;</span>
 <span class="kn">import</span> <span 
class="nn">com.google.common.collect.ImmutableSet</span><span class="o">;</span>
 <span class="kn">import</span> <span 
class="nn">com.google.common.io.Closeables</span><span class="o">;</span>
 <span class="kn">import</span> <span 
class="nn">com.google.inject.Module</span><span class="o">;</span>
@@ -700,21 +655,21 @@ Servers in RegionOne
 <span class="kn">import</span> <span class="nn">static</span> <span 
class="n">com</span><span class="o">.</span><span class="na">google</span><span 
class="o">.</span><span class="na">common</span><span class="o">.</span><span 
class="na">io</span><span class="o">.</span><span 
class="na">ByteSource</span><span class="o">.</span><span 
class="na">wrap</span><span class="o">;</span>
 <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">io</span><span class="o">.</span><span 
class="na">Payloads</span><span class="o">.</span><span 
class="na">newByteSourcePayload</span><span class="o">;</span>
 
-<span class="kd">public</span> <span class="kd">class</span> <span 
class="nc">JCloudsSwift</span> <span class="kd">implements</span> <span 
class="n">Closeable</span> <span class="o">{</span>
-   <span class="kd">public</span> <span class="kd">static</span> <span 
class="kd">final</span> <span class="n">String</span> <span 
class="n">CONTAINER_NAME</span> <span class="o">=</span> <span 
class="s">&quot;jclouds-example&quot;</span><span class="o">;</span>
-   <span class="kd">public</span> <span class="kd">static</span> <span 
class="kd">final</span> <span class="n">String</span> <span 
class="n">OBJECT_NAME</span> <span class="o">=</span> <span 
class="s">&quot;jclouds-example.txt&quot;</span><span class="o">;</span>
+<span class="kd">public</span> <span class="kd">class</span> <span 
class="nc">JCloudsSwift</span> <span class="kd">implements</span> <span 
class="nc">Closeable</span> <span class="o">{</span>
+   <span class="kd">public</span> <span class="kd">static</span> <span 
class="kd">final</span> <span class="nc">String</span> <span 
class="no">CONTAINER_NAME</span> <span class="o">=</span> <span 
class="s">"jclouds-example"</span><span class="o">;</span>
+   <span class="kd">public</span> <span class="kd">static</span> <span 
class="kd">final</span> <span class="nc">String</span> <span 
class="no">OBJECT_NAME</span> <span class="o">=</span> <span 
class="s">"jclouds-example.txt"</span><span class="o">;</span>
 
-   <span class="kd">private</span> <span class="n">SwiftApi</span> <span 
class="n">swiftApi</span><span class="o">;</span>
+   <span class="kd">private</span> <span class="nc">SwiftApi</span> <span 
class="n">swiftApi</span><span class="o">;</span>
 
-   <span class="kd">public</span> <span class="kd">static</span> <span 
class="kt">void</span> <span class="nf">main</span><span 
class="o">(</span><span class="n">String</span><span class="o">[]</span> <span 
class="n">args</span><span class="o">)</span> <span class="kd">throws</span> 
<span class="n">IOException</span> <span class="o">{</span>
-      <span class="n">JCloudsSwift</span> <span class="n">jcloudsSwift</span> 
<span class="o">=</span> <span class="k">new</span> <span 
class="n">JCloudsSwift</span><span class="o">();</span>
+   <span class="kd">public</span> <span class="kd">static</span> <span 
class="kt">void</span> <span class="nf">main</span><span 
class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span 
class="n">args</span><span class="o">)</span> <span class="kd">throws</span> 
<span class="nc">IOException</span> <span class="o">{</span>
+      <span class="nc">JCloudsSwift</span> <span class="n">jcloudsSwift</span> 
<span class="o">=</span> <span class="k">new</span> <span 
class="nc">JCloudsSwift</span><span class="o">();</span>
 
       <span class="k">try</span> <span class="o">{</span>
          <span class="n">jcloudsSwift</span><span class="o">.</span><span 
class="na">createContainer</span><span class="o">();</span>
          <span class="n">jcloudsSwift</span><span class="o">.</span><span 
class="na">uploadObjectFromString</span><span class="o">();</span>
          <span class="n">jcloudsSwift</span><span class="o">.</span><span 
class="na">listContainers</span><span class="o">();</span>
          <span class="n">jcloudsSwift</span><span class="o">.</span><span 
class="na">close</span><span class="o">();</span>
-      <span class="o">}</span> <span class="k">catch</span> <span 
class="o">(</span><span class="n">Exception</span> <span 
class="n">e</span><span class="o">)</span> <span class="o">{</span>
+      <span class="o">}</span> <span class="k">catch</span> <span 
class="o">(</span><span class="nc">Exception</span> <span 
class="n">e</span><span class="o">)</span> <span class="o">{</span>
          <span class="n">e</span><span class="o">.</span><span 
class="na">printStackTrace</span><span class="o">();</span>
       <span class="o">}</span> <span class="k">finally</span> <span 
class="o">{</span>
          <span class="n">jcloudsSwift</span><span class="o">.</span><span 
class="na">close</span><span class="o">();</span>
@@ -722,67 +677,65 @@ Servers in RegionOne
    <span class="o">}</span>
 
    <span class="kd">public</span> <span class="nf">JCloudsSwift</span><span 
class="o">()</span> <span class="o">{</span>
-      <span class="n">Iterable</span><span class="o">&lt;</span><span 
class="n">Module</span><span class="o">&gt;</span> <span 
class="n">modules</span> <span class="o">=</span> <span 
class="n">ImmutableSet</span><span class="o">.&lt;</span><span 
class="n">Module</span><span class="o">&gt;</span><span 
class="n">of</span><span class="o">(</span>
+      <span class="nc">Iterable</span><span class="o">&lt;</span><span 
class="nc">Module</span><span class="o">&gt;</span> <span 
class="n">modules</span> <span class="o">=</span> <span 
class="nc">ImmutableSet</span><span class="o">.&lt;</span><span 
class="nc">Module</span><span class="o">&gt;</span><span 
class="n">of</span><span class="o">(</span>
             <span class="k">new</span> <span 
class="nf">SLF4JLoggingModule</span><span class="o">());</span>
 
-      <span class="c1">// Please refer to &#39;Keystone v2-v3 
authentication&#39; section for complete authentication use case</span>
-      <span class="n">String</span> <span class="n">provider</span> <span 
class="o">=</span> <span class="s">&quot;openstack-swift&quot;</span><span 
class="o">;</span>
-      <span class="n">String</span> <span class="n">identity</span> <span 
class="o">=</span> <span class="s">&quot;demo:demo&quot;</span><span 
class="o">;</span> <span class="c1">// tenantName:userName</span>
-      <span class="n">String</span> <span class="n">credential</span> <span 
class="o">=</span> <span class="s">&quot;devstack&quot;</span><span 
class="o">;</span>
+      <span class="c1">// Please refer to 'Keystone v2-v3 authentication' 
section for complete authentication use case</span>
+      <span class="nc">String</span> <span class="n">provider</span> <span 
class="o">=</span> <span class="s">"openstack-swift"</span><span 
class="o">;</span>
+      <span class="nc">String</span> <span class="n">identity</span> <span 
class="o">=</span> <span class="s">"demo:demo"</span><span class="o">;</span> 
<span class="c1">// tenantName:userName</span>
+      <span class="nc">String</span> <span class="n">credential</span> <span 
class="o">=</span> <span class="s">"devstack"</span><span class="o">;</span>
 
-      <span class="n">swiftApi</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="n">provider</span><span class="o">)</span>
-            <span class="o">.</span><span class="na">endpoint</span><span 
class="o">(</span><span 
class="s">&quot;http://xxx.xxx.xxx.xxx:5000/v2.0/&quot;</span><span 
class="o">)</span>
+      <span class="n">swiftApi</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="n">provider</span><span class="o">)</span>
+            <span class="o">.</span><span class="na">endpoint</span><span 
class="o">(</span><span 
class="s">"http://xxx.xxx.xxx.xxx:5000/v2.0/";</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">modules</span><span 
class="o">(</span><span class="n">modules</span><span class="o">)</span>
-            <span class="o">.</span><span class="na">buildApi</span><span 
class="o">(</span><span class="n">SwiftApi</span><span class="o">.</span><span 
class="na">class</span><span class="o">);</span>
+            <span class="o">.</span><span class="na">buildApi</span><span 
class="o">(</span><span class="nc">SwiftApi</span><span class="o">.</span><span 
class="na">class</span><span class="o">);</span>
    <span class="o">}</span>
 
    <span class="kd">private</span> <span class="kt">void</span> <span 
class="nf">createContainer</span><span class="o">()</span> <span 
class="o">{</span>
-      <span class="n">System</span><span class="o">.</span><span 
class="na">out</span><span class="o">.</span><span 
class="na">println</span><span class="o">(</span><span class="s">&quot;Create 
Container&quot;</span><span class="o">);</span>
+      <span class="nc">System</span><span class="o">.</span><span 
class="na">out</span><span class="o">.</span><span 
class="na">println</span><span class="o">(</span><span class="s">"Create 
Container"</span><span class="o">);</span>
 
-      <span class="n">ContainerApi</span> <span class="n">containerApi</span> 
<span class="o">=</span> <span class="n">swiftApi</span><span 
class="o">.</span><span class="na">getContainerApi</span><span 
class="o">(</span><span class="s">&quot;RegionOne&quot;</span><span 
class="o">);</span>
-      <span class="n">CreateContainerOptions</span> <span 
class="n">options</span> <span class="o">=</span> <span 
class="n">CreateContainerOptions</span><span class="o">.</span><span 
class="na">Builder</span>
-            <span class="o">.</span><span class="na">metadata</span><span 
class="o">(</span><span class="n">ImmutableMap</span><span 
class="o">.</span><span class="na">of</span><span class="o">(</span>
-                  <span class="s">&quot;key1&quot;</span><span 
class="o">,</span> <span class="s">&quot;value1&quot;</span><span 
class="o">,</span>
-                  <span class="s">&quot;key2&quot;</span><span 
class="o">,</span> <span class="s">&quot;value2&quot;</span><span 
class="o">));</span>
+      <span class="nc">ContainerApi</span> <span class="n">containerApi</span> 
<span class="o">=</span> <span class="n">swiftApi</span><span 
class="o">.</span><span class="na">getContainerApi</span><span 
class="o">(</span><span class="s">"RegionOne"</span><span class="o">);</span>
+      <span class="nc">CreateContainerOptions</span> <span 
class="n">options</span> <span class="o">=</span> <span 
class="nc">CreateContainerOptions</span><span class="o">.</span><span 
class="na">Builder</span>
+            <span class="o">.</span><span class="na">metadata</span><span 
class="o">(</span><span class="nc">ImmutableMap</span><span 
class="o">.</span><span class="na">of</span><span class="o">(</span>
+                  <span class="s">"key1"</span><span class="o">,</span> <span 
class="s">"value1"</span><span class="o">,</span>
+                  <span class="s">"key2"</span><span class="o">,</span> <span 
class="s">"value2"</span><span class="o">));</span>
 
-      <span class="n">containerApi</span><span class="o">.</span><span 
class="na">create</span><span class="o">(</span><span 
class="n">CONTAINER_NAME</span><span class="o">,</span> <span 
class="n">options</span><span class="o">);</span>
+      <span class="n">containerApi</span><span class="o">.</span><span 
class="na">create</span><span class="o">(</span><span 
class="no">CONTAINER_NAME</span><span class="o">,</span> <span 
class="n">options</span><span class="o">);</span>
 
-      <span class="n">System</span><span class="o">.</span><span 
class="na">out</span><span class="o">.</span><span 
class="na">println</span><span class="o">(</span><span class="s">&quot;  
&quot;</span> <span class="o">+</span> <span 
class="n">CONTAINER_NAME</span><span class="o">);</span>
+      <span class="nc">System</span><span class="o">.</span><span 
class="na">out</span><span class="o">.</span><span 
class="na">println</span><span class="o">(</span><span class="s">"  "</span> 
<span class="o">+</span> <span class="no">CONTAINER_NAME</span><span 
class="o">);</span>
    <span class="o">}</span>
 
    <span class="kd">private</span> <span class="kt">void</span> <span 
class="nf">uploadObjectFromString</span><span class="o">()</span> <span 
class="o">{</span>
-      <span class="n">System</span><span class="o">.</span><span 
class="na">out</span><span class="o">.</span><span 
class="na">println</span><span class="o">(</span><span class="s">&quot;Upload 
Object From String&quot;</span><span class="o">);</span>
+      <span class="nc">System</span><span class="o">.</span><span 
class="na">out</span><span class="o">.</span><span 
class="na">println</span><span class="o">(</span><span class="s">"Upload Object 
From String"</span><span class="o">);</span>
 
-      <span class="n">ObjectApi</span> <span class="n">objectApi</span> <span 
class="o">=</span> <span class="n">swiftApi</span><span class="o">.</span><span 
class="na">getObjectApi</span><span class="o">(</span><span 
class="s">&quot;RegionOne&quot;</span><span class="o">,</span> <span 
class="n">CONTAINER_NAME</span><span class="o">);</span>
-      <span class="n">Payload</span> <span class="n">payload</span> <span 
class="o">=</span> <span class="n">newByteSourcePayload</span><span 
class="o">(</span><span class="n">wrap</span><span class="o">(</span><span 
class="s">&quot;Hello World&quot;</span><span class="o">.</span><span 
class="na">getBytes</span><span class="o">()));</span>
+      <span class="nc">ObjectApi</span> <span class="n">objectApi</span> <span 
class="o">=</span> <span class="n">swiftApi</span><span class="o">.</span><span 
class="na">getObjectApi</span><span class="o">(</span><span 
class="s">"RegionOne"</span><span class="o">,</span> <span 
class="no">CONTAINER_NAME</span><span class="o">);</span>
+      <span class="nc">Payload</span> <span class="n">payload</span> <span 
class="o">=</span> <span class="n">newByteSourcePayload</span><span 
class="o">(</span><span class="n">wrap</span><span class="o">(</span><span 
class="s">"Hello World"</span><span class="o">.</span><span 
class="na">getBytes</span><span class="o">()));</span>
 
-      <span class="n">objectApi</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="n">OBJECT_NAME</span><span class="o">,</span> <span 
class="n">payload</span><span class="o">,</span> <span 
class="n">PutOptions</span><span class="o">.</span><span 
class="na">Builder</span><span class="o">.</span><span 
class="na">metadata</span><span class="o">(</span><span 
class="n">ImmutableMap</span><span class="o">.</span><span 
class="na">of</span><span class="o">(</span><span 
class="s">&quot;key1&quot;</span><span class="o">,</span> <span 
class="s">&quot;value1&quot;</span><span class="o">)));</span>
+      <span class="n">objectApi</span><span class="o">.</span><span 
class="na">put</span><span class="o">(</span><span 
class="no">OBJECT_NAME</span><span class="o">,</span> <span 
class="n">payload</span><span class="o">,</span> <span 
class="nc">PutOptions</span><span class="o">.</span><span 
class="na">Builder</span><span class="o">.</span><span 
class="na">metadata</span><span class="o">(</span><span 
class="nc">ImmutableMap</span><span class="o">.</span><span 
class="na">of</span><span class="o">(</span><span class="s">"key1"</span><span 
class="o">,</span> <span class="s">"value1"</span><span class="o">)));</span>
 
-      <span class="n">System</span><span class="o">.</span><span 
class="na">out</span><span class="o">.</span><span 
class="na">println</span><span class="o">(</span><span class="s">&quot;  
&quot;</span> <span class="o">+</span> <span class="n">OBJECT_NAME</span><span 
class="o">);</span>
+      <span class="nc">System</span><span class="o">.</span><span 
class="na">out</span><span class="o">.</span><span 
class="na">println</span><span class="o">(</span><span class="s">"  "</span> 
<span class="o">+</span> <span class="no">OBJECT_NAME</span><span 
class="o">);</span>
    <span class="o">}</span>
 
    <span class="kd">private</span> <span class="kt">void</span> <span 
class="nf">listContainers</span><span class="o">()</span> <span 
class="o">{</span>
-      <span class="n">System</span><span class="o">.</span><span 
class="na">out</span><span class="o">.</span><span 
class="na">println</span><span class="o">(</span><span class="s">&quot;List 
Containers&quot;</span><span class="o">);</span>
+      <span class="nc">System</span><span class="o">.</span><span 
class="na">out</span><span class="o">.</span><span 
class="na">println</span><span class="o">(</span><span class="s">"List 
Containers"</span><span class="o">);</span>
 
-      <span class="n">ContainerApi</span> <span class="n">containerApi</span> 
<span class="o">=</span> <span class="n">swiftApi</span><span 
class="o">.</span><span class="na">getContainerApi</span><span 
class="o">(</span><span class="s">&quot;RegionOne&quot;</span><span 
class="o">);</span>
-      <span class="n">Set</span><span class="o">&lt;</span><span 
class="n">Container</span><span class="o">&gt;</span> <span 
class="n">containers</span> <span class="o">=</span> <span 
class="n">containerApi</span><span class="o">.</span><span 
class="na">list</span><span class="o">().</span><span 
class="na">toSet</span><span class="o">();</span>
+      <span class="nc">ContainerApi</span> <span class="n">containerApi</span> 
<span class="o">=</span> <span class="n">swiftApi</span><span 
class="o">.</span><span class="na">getContainerApi</span><span 
class="o">(</span><span class="s">"RegionOne"</span><span class="o">);</span>
+      <span class="nc">Set</span><span class="o">&lt;</span><span 
class="nc">Container</span><span class="o">&gt;</span> <span 
class="n">containers</span> <span class="o">=</span> <span 
class="n">containerApi</span><span class="o">.</span><span 
class="na">list</span><span class="o">().</span><span 
class="na">toSet</span><span class="o">();</span>
 
-      <span class="k">for</span> <span class="o">(</span><span 
class="n">Container</span> <span class="n">container</span> <span 
class="o">:</span> <span class="n">containers</span><span class="o">)</span> 
<span class="o">{</span>
-         <span class="n">System</span><span class="o">.</span><span 
class="na">out</span><span class="o">.</span><span 
class="na">println</span><span class="o">(</span><span class="s">&quot;  
&quot;</span> <span class="o">+</span> <span class="n">container</span><span 
class="o">);</span>
+      <span class="k">for</span> <span class="o">(</span><span 
class="nc">Container</span> <span class="n">container</span> <span 
class="o">:</span> <span class="n">containers</span><span class="o">)</span> 
<span class="o">{</span>
+         <span class="nc">System</span><span class="o">.</span><span 
class="na">out</span><span class="o">.</span><span 
class="na">println</span><span class="o">(</span><span class="s">"  "</span> 
<span class="o">+</span> <span class="n">container</span><span 
class="o">);</span>
       <span class="o">}</span>
    <span class="o">}</span>
 
-   <span class="kd">public</span> <span class="kt">void</span> <span 
class="nf">close</span><span class="o">()</span> <span class="kd">throws</span> 
<span class="n">IOException</span> <span class="o">{</span>
-      <span class="n">Closeables</span><span class="o">.</span><span 
class="na">close</span><span class="o">(</span><span 
class="n">swiftApi</span><span class="o">,</span> <span 
class="kc">true</span><span class="o">);</span>
+   <span class="kd">public</span> <span class="kt">void</span> <span 
class="nf">close</span><span class="o">()</span> <span class="kd">throws</span> 
<span class="nc">IOException</span> <span class="o">{</span>
+      <span class="nc">Closeables</span><span class="o">.</span><span 
class="na">close</span><span class="o">(</span><span 
class="n">swiftApi</span><span class="o">,</span> <span 
class="kc">true</span><span class="o">);</span>
    <span class="o">}</span>
-<span class="o">}</span>
-</code></pre></div>
+<span class="o">}</span></code></pre></figure>
 
+<h3 id="compile-and-run-1"><a id="swift-compile"></a>Compile and Run</h3>
 
-<h3><a id="swift-compile"></a>Compile and Run</h3>
-
-<pre><code>$ javac -classpath ".:lib/*" JCloudsSwift.java
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code>$ javac -classpath ".:lib/*" JCloudsSwift.java
 
 $ java -classpath ".:lib/*" JCloudsSwift
 
@@ -795,59 +748,55 @@ List Containers
   ...
 
 # You'll see a lot of logging in the output
-</code></pre>
+</code></pre></div></div>
 
-<h2><a id="next"></a>Next Steps</h2>
+<h2 id="next-steps"><a id="next"></a>Next Steps</h2>
 
 <ul>
-<li>Try the List Servers example above with one of the public clouds. For the 
Rackspace Cloud the constructor becomes:</li>
+  <li>Try the List Servers example above with one of the public clouds. For 
the Rackspace Cloud the constructor becomes:</li>
 </ul>
 
-
-<div class="highlight"><pre><code class="java"><span class="kn">import</span> 
<span class="nn">org.jclouds.Constants</span><span class="o">;</span>
+<figure class="highlight"><pre><code class="language-java" 
data-lang="java"><span class="kn">import</span> <span 
class="nn">org.jclouds.Constants</span><span class="o">;</span>
 <span class="kn">import</span> <span 
class="nn">org.jclouds.openstack.keystone.v2_0.config.CredentialTypes</span><span
 class="o">;</span>
 <span class="kn">import</span> <span 
class="nn">org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties</span><span
 class="o">;</span>
 
 <span class="c1">// snip</span>
 
 <span class="kd">public</span> <span class="nf">JCloudsNova</span><span 
class="o">()</span> <span class="o">{</span>
-    <span class="n">Iterable</span><span class="o">&lt;</span><span 
class="n">Module</span><span class="o">&gt;</span> <span 
class="n">modules</span> <span class="o">=</span> <span 
class="n">ImmutableSet</span><span class="o">.&lt;</span><span 
class="n">Module</span><span class="o">&gt;</span><span 
class="n">of</span><span class="o">(</span><span class="k">new</span> <span 
class="n">SLF4JLoggingModule</span><span class="o">());</span>
+    <span class="nc">Iterable</span><span class="o">&lt;</span><span 
class="nc">Module</span><span class="o">&gt;</span> <span 
class="n">modules</span> <span class="o">=</span> <span 
class="nc">ImmutableSet</span><span class="o">.&lt;</span><span 
class="nc">Module</span><span class="o">&gt;</span><span 
class="n">of</span><span class="o">(</span><span class="k">new</span> <span 
class="nc">SLF4JLoggingModule</span><span class="o">());</span>
 
-    <span class="n">Properties</span> <span class="n">overrides</span> <span 
class="o">=</span> <span class="k">new</span> <span 
class="n">Properties</span><span class="o">();</span>
-    <span class="n">overrides</span><span class="o">.</span><span 
class="na">setProperty</span><span class="o">(</span><span 
class="n">KeystoneProperties</span><span class="o">.</span><span 
class="na">CREDENTIAL_TYPE</span><span class="o">,</span> <span 
class="n">CredentialTypes</span><span class="o">.</span><span 
class="na">PASSWORD_CREDENTIALS</span><span class="o">);</span>
-    <span class="n">overrides</span><span class="o">.</span><span 
class="na">setProperty</span><span class="o">(</span><span 
class="n">Constants</span><span class="o">.</span><span 
class="na">PROPERTY_API_VERSION</span><span class="o">,</span> <span 
class="s">&quot;2&quot;</span><span class="o">);</span>
-
-    <span class="c1">// Please refer to &#39;Keystone v2-v3 
authentication&#39; section for complete authentication use case</span>
-    <span class="n">String</span> <span class="n">provider</span> <span 
class="o">=</span> <span class="s">&quot;openstack-nova&quot;</span><span 
class="o">;</span>
-    <span class="n">String</span> <span class="n">identity</span> <span 
class="o">=</span> <span class="s">&quot;username&quot;</span><span 
class="o">;</span>
-    <span class="n">String</span> <span class="n">credential</span> <span 
class="o">=</span> <span class="s">&quot;password&quot;</span><span 
class="o">;</span>
+    <span class="nc">Properties</span> <span class="n">overrides</span> <span 
class="o">=</span> <span class="k">new</span> <span 
class="nc">Properties</span><span class="o">();</span>
+    <span class="n">overrides</span><span class="o">.</span><span 
class="na">setProperty</span><span class="o">(</span><span 
class="nc">KeystoneProperties</span><span class="o">.</span><span 
class="na">CREDENTIAL_TYPE</span><span class="o">,</span> <span 
class="nc">CredentialTypes</span><span class="o">.</span><span 
class="na">PASSWORD_CREDENTIALS</span><span class="o">);</span>
+    <span class="n">overrides</span><span class="o">.</span><span 
class="na">setProperty</span><span class="o">(</span><span 
class="nc">Constants</span><span class="o">.</span><span 
class="na">PROPERTY_API_VERSION</span><span class="o">,</span> <span 
class="s">"2"</span><span class="o">);</span>
+
+    <span class="c1">// Please refer to 'Keystone v2-v3 authentication' 
section for complete authentication use case</span>
+    <span class="nc">String</span> <span class="n">provider</span> <span 
class="o">=</span> <span class="s">"openstack-nova"</span><span 
class="o">;</span>
+    <span class="nc">String</span> <span class="n">identity</span> <span 
class="o">=</span> <span class="s">"username"</span><span class="o">;</span>
+    <span class="nc">String</span> <span class="n">credential</span> <span 
class="o">=</span> <span class="s">"password"</span><span class="o">;</span>
 
-    <span class="n">novaApi</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="n">provider</span><span class="o">)</span>
-            <span class="o">.</span><span class="na">endpoint</span><span 
class="o">(</span><span 
class="s">&quot;https://identity.api.rackspacecloud.com/v2.0/&quot;</span><span 
class="o">)</span>
+    <span class="n">novaApi</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="n">provider</span><span class="o">)</span>
+            <span class="o">.</span><span class="na">endpoint</span><span 
class="o">(</span><span 
class="s">"https://identity.api.rackspacecloud.com/v2.0/";</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">modules</span><span 
class="o">(</span><span class="n">modules</span><span class="o">)</span>
             <span class="o">.</span><span class="na">overrides</span><span 
class="o">(</span><span class="n">overrides</span><span class="o">)</span>
-            <span class="o">.</span><span class="na">buildApi</span><span 
class="o">(</span><span class="n">NovaApi</span><span class="o">.</span><span 
class="na">class</span><span class="o">);</span>
+            <span class="o">.</span><span class="na">buildApi</span><span 
class="o">(</span><span class="nc">NovaApi</span><span class="o">.</span><span 
class="na">class</span><span class="o">);</span>
     <span class="n">regions</span> <span class="o">=</span> <span 
class="n">novaApi</span><span class="o">.</span><span 
class="na">getConfiguredRegions</span><span class="o">();</span>
-<span class="o">}</span>
-</code></pre></div>
-
+<span class="o">}</span></code></pre></figure>
 
 <ul>
-<li>Try using the <code>"openstack-cinder"</code> provider to list volumes 
(hint: see <a 
href="https://github.com/apache/jclouds/blob/master/apis/openstack-cinder/src/test/java/org/jclouds/openstack/cinder/v1/features/VolumeAndSnapshotApiLiveTest.java";>VolumeAndSnapshotApiLiveTest.testListVolumes()</a>).</li>
-<li>Have a look at how the optional extensions are handled (hint: see <a 
href="https://github.com/apache/jclouds/blob/master/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/FloatingIPApiLiveTest.java#L42";>FloatingIPApiLiveTest.testListFloatingIPs()</a>).</li>
-<li>Change the example to do different things that you want to do.</li>
-<li>Browse the <a 
href="https://demobox.github.com/jclouds-maven-site/latest/apidocs";>Javadoc</a>.</li>
-<li>Join the <a href="/community/">jclouds community</a> as either a developer 
or user.</li>
+  <li>Try using the <code class="language-plaintext 
highlighter-rouge">"openstack-cinder"</code> provider to list volumes (hint: 
see <a 
href="https://github.com/apache/jclouds/blob/master/apis/openstack-cinder/src/test/java/org/jclouds/openstack/cinder/v1/features/VolumeAndSnapshotApiLiveTest.java";>VolumeAndSnapshotApiLiveTest.testListVolumes()</a>).</li>
+  <li>Have a look at how the optional extensions are handled (hint: see <a 
href="https://github.com/apache/jclouds/blob/master/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/FloatingIPApiLiveTest.java#L42";>FloatingIPApiLiveTest.testListFloatingIPs()</a>).</li>
+  <li>Change the example to do different things that you want to do.</li>
+  <li>Browse the <a 
href="https://demobox.github.com/jclouds-maven-site/latest/apidocs";>Javadoc</a>.</li>
+  <li>Join the <a href="/community/">jclouds community</a> as either a 
developer or user.</li>
 </ul>
 
+<h2 id="openstack-dependencies"><a id="pom"></a>OpenStack Dependencies</h2>
 
-<h2><a id="pom"></a>OpenStack Dependencies</h2>
-
-<p>This pom.xml file specifies all of the dependencies you'll need to work 
with OpenStack.</p>
+<p>This pom.xml file specifies all of the dependencies you’ll need to work 
with OpenStack.</p>
 
-<div class="highlight"><pre><code class="xml"><span 
class="nt">&lt;project</span> <span class="na">xmlns=</span><span 
class="s">&quot;http://maven.apache.org/POM/4.0.0&quot;</span> <span 
class="na">xmlns:xsi=</span><span 
class="s">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-  <span class="na">xsi:schemaLocation=</span><span 
class="s">&quot;http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd&quot;</span><span 
class="nt">&gt;</span>
+<figure class="highlight"><pre><code class="language-xml" 
data-lang="xml"><span class="nt">&lt;project</span> <span 
class="na">xmlns=</span><span 
class="s">"http://maven.apache.org/POM/4.0.0";</span> <span 
class="na">xmlns:xsi=</span><span 
class="s">"http://www.w3.org/2001/XMLSchema-instance";</span>
+  <span class="na">xsi:schemaLocation=</span><span 
class="s">"http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";</span><span class="nt">&gt;</span>
   <span class="nt">&lt;modelVersion&gt;</span>4.0.0<span 
class="nt">&lt;/modelVersion&gt;</span>
   <span class="nt">&lt;properties&gt;</span>
     <span class="nt">&lt;jclouds.version&gt;</span>2.5.0<span 
class="nt">&lt;/jclouds.version&gt;</span>
@@ -920,10 +869,7 @@ List Containers
       <span class="nt">&lt;version&gt;</span>5.1.25<span 
class="nt">&lt;/version&gt;</span>
     <span class="nt">&lt;/dependency&gt;</span>
   <span class="nt">&lt;/dependencies&gt;</span>
-<span class="nt">&lt;/project&gt;</span>
-</code></pre></div>
-
-
+<span class="nt">&lt;/project&gt;</span></code></pre></figure>
 
 
             <div class="row clearfix">


Reply via email to