deltacloud-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mar...@apache.org
Subject svn commit: r1353588 [18/23] - in /deltacloud/trunk/site: ./ content/ content/Scripts/ content/assets/ content/assets/css/ content/assets/img/ content/assets/img/documentation_files/ content/assets/js/ content/assets/less/ content/css/ content/css/blue...
Date Mon, 25 Jun 2012 15:05:57 GMT
Modified: deltacloud/trunk/site/output/drivers.html
URL: http://svn.apache.org/viewvc/deltacloud/trunk/site/output/drivers.html?rev=1353588&r1=1353587&r2=1353588&view=diff
==============================================================================
--- deltacloud/trunk/site/output/drivers.html (original)
+++ deltacloud/trunk/site/output/drivers.html Mon Jun 25 15:05:02 2012
@@ -1,874 +1,802 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
+<!DOCTYPE html>
+<html lang="en">
   <head>
-    <title>
-      Deltacloud - Documentation
-    </title>
-    <meta content='' name='keywords' />
-    <meta content='' name='description' />
-    <meta content='text/html; charset=utf-8' http-equiv='Content-Type' />
-    <link href='./styles/favicon.ico' rel='shortcut icon' type='image/x-icon' />
-    <link href='./styles/default.css' rel='StyleSheet' title='Main style' type='text/css' />
-    <link href='./styles/default-debug.css' rel='Alternate StyleSheet' title='Debug main style' type='text/css' />
+    <meta charset="utf-8">
+    <title>Drivers</title>
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <!-- Le JavaScript -->
+    <script src="/assets/js/jquery-1.7.1.min.js" type="text/javascript"></script>
+    <script src="/assets/js/bootstrap-dropdown.js" type="text/javascript"></script>
+    <script src="/assets/js/jquery.tweet.js" type="text/javascript"></script>
+    <script src="/assets/js/application.js" type="text/javascript"></script>
+    <script src="/assets/js/bootstrap-transition.js"></script>
+    <script src="/assets/js/bootstrap-alert.js"></script>
+    <script src="/assets/js/bootstrap-modal.js"></script>
+    <script src="/assets/js/bootstrap-scrollspy.js"></script>
+    <script src="/assets/js/bootstrap-tab.js"></script>
+    <script src="/assets/js/bootstrap-tooltip.js"></script>
+    <script src="/assets/js/bootstrap-popover.js"></script>
+    <script src="/assets/js/bootstrap-button.js"></script>
+    <script src="/assets/js/bootstrap-collapse.js"></script>
+    <script src="/assets/js/bootstrap-carousel.js"></script>
+    <script src="/assets/js/bootstrap-typeahead.js"></script>
+
+    <!-- Le styles -->
+    <link href="/assets/css/bootstrap.css" rel="stylesheet">
+    <link href="/assets/css/application.css" rel="stylesheet">
+    <link rel="shortcut icon" href="/assets/img/favicon.ico">
   </head>
+
   <body>
-    <div id='header'>
-      <div class='container'>
-        <div id='headerLogo' onclick="location.href='index.html';" style='cursor: pointer;'>
-          <h1>
-            Deltacloud - Many clouds. One API. No problem.
-          </h1>
+
+    <div class="navbar navbar-fixed-top">
+      <div class="navbar-inner">
+        <div class="container">
+          <a class="brand" href="/"><img src="/assets/img/logo.png" width="152"
+            alt="Deltacloud API"/></a>
+          <ul class="nav top-nav">
+  <li><a href="/">Home</a></li>
+  <li class="dropdown">
+    <a href="#" class="dropdown-toggle" data-toggle="dropdown">About<b class="caret"></b></a>
+    <ul class="dropdown-menu">
+      <li><a href="/about.html">What is Deltacloud?</a></li>
+      <li><a href="/supported-providers.html">Supported Providers</a></li>
+    </ul>
+  </li>
+  <li class="dropdown">
+    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Installation<b class="caret"></b></a>
+    <ul class="dropdown-menu">
+      <li><a href="/install-deltacloud.html">Install Deltacloud</a></li>
+      <li><a href="/run-deltacloud-server.html">Run the Deltacloud Server</a></li>
+    </ul>
+  </li>
+  <li class="dropdown">
+    <a href="/usage.html" class="dropdown-toggle" data-toggle="dropdown">Usage<b class="caret"></b></a>
+    <ul class="dropdown-menu">
+      <li><a href="/usage.html#usingapi">Using API</a></li>
+      <li><a href="/usage.html#clients">Client Libraries</a></li>
+      <li><a href="/command-tools.html">Command Line Tools</a></li>
+    </ul>
+  </li>
+  <li class="dropdown">
+    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Contribute<b class="caret"></b></a>
+    <ul class="dropdown-menu">
+      <li><a href="/getting-sources.html">Getting Sources</a></li>
+      <li><a href="/how-to-contribute.html">How Can I Contribute?</a></li>
+    </ul>
+  </li>
+  <li class="dropdown">
+    <a href="#" class="dropdown-toggle" data-toggle="dropdown">API<b class="caret"></b></a>
+    <ul class="dropdown-menu">
+      <li><a href="/rest-api.html">REST API</a></li>
+      <li><a href="/drivers.html">Drivers API</a></li>
+    </ul>
+  </li>
+  <li><a href="/contact.html">Contact</a></li>
+</ul>
+
         </div>
       </div>
+
     </div>
-    <div id='navigation'>
-      <div class='container' id='menu'>
-        <ul class='l0'>
-          <li>
-            <a class='inactive' href='./index.html' title='Deltacloud Home'>Home</a>
-          </li>
-          <li>
-            <a class='inactive' href='./download.html' title='Get the latest releases'>Download</a>
-          </li>
-          <li>
-            <a class='inactive' href='./developers.html' title='Information for developers'>Developers</a>
-          </li>
-          <li>
-            <a class='active' href='./documentation.html' title='Project documentation'>Documentation</a>
-          </li>
-          <li>
-            <a class='inactive' href='./contact.html' title='Contact us!'>Contact</a>
-          </li>
-        </ul>
-      </div>
-    </div>
-    <div id='subnavigation'>
-      <div class='container' id='submenu'>
-        <ul class='l1'>
-          <li>
-            <a class='inactive' href='documentation.html'>
-              Installation
-            </a>
-          </li>
-          <li>
-            <a class='inactive' href='api.html'>
-              REST API
-            </a>
-          </li>
-          <li>
-            <a class='active' href='drivers.html'>
-              Drivers
-            </a>
-          </li>
-          <li>
-            <a class='inactive' href='client-ruby.html'>
-              Ruby Client
-            </a>
-          </li>
-          <li>
-            <a class='inactive' href='libdeltacloud.html'>
-              Libdeltacloud
-            </a>
-          </li>
-        </ul>
-      </div>
-    </div>
-    <div id='frontpageHeader'></div>
-    <div id='main'>
-      <div class='container' id='content-deltacloud'>
-        <h1>Deltacloud Drivers</h1>
-        <!-- - title, rest = page.split("</h1>") -->
-        <!-- = title + '</h1>' -->
-        <ul class="toc">
-        <li>
-        <a href="#h1">Dynamic driver switching</a>
-        </li>
-        <li>
-        <a href="#h2">Driver functionality and Credentials</a>
-        </li>
-        <li>
-        <a href="#h3">Notes on specific drivers</a>
-        <ul>
-        <li>
-        <a href="#h3_1">EC2 Driver</a>
-        </li>
-        <li>
-        <a href="#h3_2">Eucalyptus Driver</a>
-        </li>
-        <li>
-        <a href="#h3_3">RHEV-M Driver</a>
-        </li>
-        <li>
-        <a href="#h3_4">VMware vSphere Driver</a>
-        </li>
-        <li>
-        <a href="#h3_5">OpenStack Driver</a>
-        </li>
-        <li>
-        <a href="#h3_6">Rackspace Driver</a>
-        </li>
-        <li>
-        <a href="#h3_7">RimuHosting</a>
-        </li>
-        <li>
-        <a href="#h3_8">OpenNebula</a>
-        </li>
-        <li>
-        <a href="#h3_9">IBM Smartcloud Driver</a>
-        </li>
-        </ul></li></ul>
-        <!-- = rest -->
-        
-        
-        <p>Deltacloud provides drivers for a <a href="drivers.html#providers">growing number</a> of popular
-        IaaS cloud providers. This page contains notes pertinent to specific cloud provider drivers, such
-        as the <a href="drivers.html#credentials">credentials</a> that should be used for a given cloud provider.
-        Furthermore the information here outlines the mechanism through which any API call sent by a
-        given client to a Deltacloud server instance may be routed to a specific driver, regardless
-        of the 'default' driver that the Deltacloud server was invoked for.</p>
-        
-        <hr />
-        
-        <h2 id="h1">Dynamic driver switching</h2>
-        
-        <p>When the Deltacloud server is started it is passed a parameter
-        that specifies the <strong>default</strong> driver to be used for API operations:</p>
-        
-        <pre><code>$ deltacloudd -i ec2&#x000A;</code></pre>
-        
-        <p>The above for example starts the Detlacloud server with the Amazon EC2 driver. Whilst
-        it is possible to start a number of Deltacloud server instances for each cloud provider
-        that you wish to connect to (e.g., on different ports), a mechanism is provided with which
-        to instruct the server to use a specific driver, regardless of the current default. The
-        Deltacloud API <strong>drivers</strong> colletion (e.g. GET /api/drivers) provides a list of all currently
-        supported cloud provider drivers.</p>
-        
-        <p>Some drivers also support the notion of a <em>provider</em>. Changing the provider
-        makes it possible to use the same driver against different instances of a
-        cloud, for example different regions in EC2 or different installations of
-        RHEV-M. The possible range of values for the provider is driver-specific,
-        and listed in the notes for each driver below.</p>
-        
-        <p>The driver and provider can be selected in one of two ways:</p>
-        
-        <ol>
-        <li>Through the request headers <code>X-Deltacloud-Driver</code> and
-        <code>X-Deltacloud-Provider</code>. For example, including the headers
-        <code>X-Deltacloud-Driver: ec2</code> and <code>X-Deltacloud-Provider: eu-west-1</code>
-        ensures that a request will be serviced by the EC2 driver, and that the
-        driver will use the eu-west-1 region in EC2.</li>
-        <li>Through the matrix request parameters <code>driver</code> and <code>provider</code> in the
-        <code>api</code> component of the server's URL. For example, requesting
-        <code>http://localhost:3001/api;driver=ec2;provider=eu-west-1</code> has the same
-        effect as using the two request headers in the example above.</li>
-        </ol>
-        
-        
-        <hr />
-        
-        <h2 id="h2">Driver functionality and Credentials</h2>
-        <h3>Compute Driver Functionality</h3>
-        <table id='providers'>
-          <tr>
-            <th class='emptycell'>&nbsp;</th>
-            <th>
-              <strong>Create</strong>
-              new instances
-            </th>
-            <th>
-              <strong>Start</strong>
-              stopped instances
-            </th>
-            <th>
-              <strong>Stop</strong>
-              running instances
-            </th>
-            <th>
-              <strong>Reboot</strong>
-              running instances
-            </th>
-            <th>
-              <strong>Destroy</strong>
-              instances
-            </th>
-            <th>
-              List all/get details about
-              <strong>hardware profiles</strong>
-            </th>
-            <th>
-              List all/get details about
-              <strong>realms</strong>
-            </th>
-            <th>
-              List all/get details about
-              <strong>images</strong>
-            </th>
-            <th>
-              List all/get details about
-              <strong>instances</strong>
-            </th>
-          </tr>
-          <tr>
-            <td class='provider'>
-              Amazon EC2
-            </td>
-            <td class="supported">yes</td>
-            <td class="not-supported">no</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-          </tr>
-          <tr>
-            <td class='provider'>
-              Eucalyptus
-            </td>
-            <td class="supported">yes</td>
-            <td class="not-supported">no</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-          </tr>
-          <tr>
-            <td class='provider'>
-              IBM SBC
-            </td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-          </tr>
-          <tr>
-            <td class='provider'>
-              GoGrid
-            </td>
-            <td class="supported">yes</td>
-            <td class="not-supported">no</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-          </tr>
-          <tr>
-            <td class='provider'>
-              OpenNebula
-            </td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-          </tr>
-          <tr>
-            <td class='provider'>
-              Rackspace
-            </td>
-            <td class="supported">yes</td>
-            <td class="not-supported">no</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-          </tr>
-          <tr>
-            <td class='provider'>
-              RHEV-M
-            </td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-          </tr>
-          <tr>
-            <td class='provider'>
-              RimuHosting
-            </td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-          </tr>
-          <tr>
-            <td class='provider'>
-              Terremark
-            </td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-          </tr>
-          <tr>
-            <td class='provider'>
-              vSphere
-            </td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-          </tr>
-          <tr>
-            <td class='provider'>
-              OpenStack
-            </td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-          </tr>
-        </table>
-        <h3>Storage Driver Functionality</h3>
-        <table id='providers'>
-          <tr>
-            <th class='emptycell'>&nbsp;</th>
-            <th>
-              <strong>Create</strong>
-              new buckets
-            </th>
-            <th>
-              <strong>Update/delete</strong>
-              buckets
-            </th>
-            <th>
-              <strong>Create</strong>
-              new blobs
-            </th>
-            <th>
-              <strong>Update/delete</strong>
-              blobs
-            </th>
-            <th>
-              <strong>Read/write</strong>
-              blob attributes
-            </th>
-            <th>
-              <strong>Read/write</strong>
-              individual blob attributes
-            </th>
-          </tr>
-          <tr>
-            <td class='provider'>
-              Amazon S3
-            </td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-          </tr>
-          <tr>
-            <td class='provider'>
-              Eucalyptus Walrus
-            </td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-          </tr>
-          <tr>
-            <td class='provider'>
-              Rackspace CloudFiles
-            </td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-          </tr>
-          <tr>
-            <td class='provider'>
-              Microsoft Azure
-            </td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-          </tr>
-          <tr>
-            <td class='provider'>
-              Google Storage
-            </td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-            <td class="supported">yes</td>
-          </tr>
-        </table>
-        <p>
-          Deltacloud uses basic HTTP
-          <a href='api.html#h1_3'>
-            authentication
-          </a>
-          to receive credentials from the
-          client and passes them through to the backend cloud it is talking to. The
-          credentials always consist of a username and password, and are never
-          stored on the server.  The exact credentials for logging into the server,
-          and where you find them, depends on the backend cloud that the server is
-          talking to.
-        </p>
-        <a name='credentials'></a>
-        <p>
-          The following table gives details about the credentials that must be
-          provided for each of the supported clouds. The entry from
-          the Driver column needs to be passed as the
-          <tt>
-            -i
-          </tt>
-          option to the
-          <tt>
-            deltacloudd
-          </tt>
-          server daemon. Note that some of the drivers require additional information, e.g.,
-          API endpoint URL's, be passed through environment variables, as addressed in the
-          <a href='drivers.html#specific_driver_notes'>
-            Notes
-          </a>
-          for Specific Drivers section below.
-        </p>
-        <h3>Cloud provider credentials</h3>
-        <table id='providers'>
-          <tr>
-            <th>
-              <strong>Cloud</strong>
-            </th>
-            <th>
-              <strong>Driver</strong>
-            </th>
-            <th>
-              <strong>Username</strong>
-            </th>
-            <th>
-              <strong>Password</strong>
-            </th>
-            <th>
-              <strong>Notes</strong>
-            </th>
-          </tr>
-          <tr>
-            <td>
-              <strong>mock</strong>
-            </td>
-            <td>
-              <tt>mock</tt>
-            </td>
-            <td>
-              <tt>
-                mockuser
-              </tt>
-            </td>
-            <td>
-              <tt>
-                mockpassword
-              </tt>
-            </td>
-            <td>
-              The mock driver doesn't talk to any cloud; it just pretends to be a cloud
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <strong>Amazon EC2/S3</strong>
-            </td>
-            <td>
-              <tt>ec2</tt>
-            </td>
-            <td>
-              Access Key ID
-            </td>
-            <td>
-              Secret Access Key
-            </td>
-            <td>
-              This information can be found on the
-              <a href='http://aws-portal.amazon.com/gp/aws/developer/account/index.html?action=access-key'>Security Credentials</a>
-              page in your AWS account
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <strong>Eucalyptus</strong>
-            </td>
-            <td>
-              <tt>eucalyptus</tt>
-            </td>
-            <td>
-              Access Key ID
-            </td>
-            <td>
-              Secret Access Key
-            </td>
-            <td></td>
-          </tr>
-          <tr>
-            <td>
-              <strong>GoGrid</strong>
-            </td>
-            <td>
-              <tt>gogrid</tt>
-            </td>
-            <td>
-              API Key
-            </td>
-            <td>
-              Shared Secret
-            </td>
-            <td>
-              Go to
-              <tt>My Account &gt; API Keys</tt>
-              for
-              <a href='https://my.gogrid.com/gogrid/com.servepath.gogrid.GoGrid/index.html'>your account</a>
-              and click on the key you want to use to find the shared secret.
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <strong>IBM SBC</strong>
-            </td>
-            <td>
-              <tt>sbc</tt>
-            </td>
-            <td>
-              Username
-            </td>
-            <td>
-              Password
-            </td>
-            <td></td>
-          </tr>
-          <tr>
-            <td>
-              <strong>Microsoft Azure (Storage Account only)</strong>
-            </td>
-            <td>
-              <tt>azure</tt>
-            </td>
-            <td>
-              Public Storage Account Name
-            </td>
-            <td>
-              Primary Access Key
-            </td>
-            <td>
-              The Storage Account Name is chosen when you create the service (e.g. name in http://name.blob.core.windows.net/). This and the access key are available from the service control panel.
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <strong>OpenNebula</strong>
-            </td>
-            <td>
-              <tt>opennebula</tt>
-            </td>
-            <td>
-              OpenNebula user
-            </td>
-            <td>
-              OpenNebula password
-            </td>
-            <td>
-              Set the environment variable
-              <tt>OCCI_URL</tt>
-              to the address on which OpenNebula's OCCI server is listening.
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <strong>Rackspace Cloud Servers/Cloud Files</strong>
-            </td>
-            <td>
-              <tt>rackspace</tt>
-            </td>
-            <td>
-              Rackspace user name
-            </td>
-            <td>
-              API Key
-            </td>
-            <td>
-              Obtain the key from the
-              <a href='https://manage.rackspacecloud.com/APIAccess.do'>API Access</a>
-              page in your control panel
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <strong>RHEV-M</strong>
-            </td>
-            <td>
-              <tt>rhevm</tt>
-            </td>
-            <td>
-              <a href='http://markmc.fedorapeople.org/rhevm-api/en-US/html/chap-REST_API_Guide-Authentication.html'>RHEV-M user name plus Windows domain</a>
-              , e.g.,
-              <tt>admin@rhevm.example.com</tt>
-            </td>
-            <td>
-              RHEV-M password
-            </td>
-            <td>
-              Set environment variable
-              <tt>API_PROVIDER</tt>
-              to the URL of the RHEV-M REST API endpoint.
-            </td>
-          </tr>
-          <tr>
-            <td>
-              <strong>Rimuhosting</strong>
-            </td>
-            <td>
-              <tt>rimuhosting</tt>
-            </td>
-            <td>not used (?)</td>
-            <td>API Key</td>
-            <td></td>
-          </tr>
-          <tr>
-            <td>
-              <strong>Terremark</strong>
-            </td>
-            <td>
-              <tt>terremark</tt>
-            </td>
-            <td>
-              Username
-            </td>
-            <td>
-              Password
-            </td>
-            <td></td>
-          </tr>
-          <tr>
-            <td>
-              <strong>VMware vSphere</strong>
-            </td>
-            <td>
-              <tt>vsphere</tt>
-            </td>
-            <td>vSphere user</td>
-            <td>vSphere user password</td>
-            <td>Set environment variable API_PROVIDER to the hostname of the vSphere server</td>
-          </tr>
-          <tr>
-            <td>
-              <strong>OpenStack</strong>
-            </td>
-            <td>
-              <tt>openstack</tt>
-            </td>
-            <td>OpenStack user</td>
-            <td>OpenStack user password</td>
-            <td>Set environment variable API_PROVIDER to the URL of OpenStack API entrypoint</td>
-          </tr>
-        </table>
-        
-        
-        
-        <p><a name="providers">.</a></p>
-        
-        <hr />
-        
-        <p><a name="specific_driver_notes"> .</a></p>
-        
-        <h2 id="h3">Notes on specific drivers</h2>
-        
-        <h3 id="h3_1">EC2 Driver</h3>
-        
-        <p>The providers for the EC2 driver correspond to AWS's regions, and currently
-        are <code>us-east-1</code>, <code>us-east-1</code>, <code>eu-west-1</code>, <code>ap-southeast-1</code>.</p>
-        
-        <hr />
-        
-        <h3 id="h3_2">Eucalyptus Driver</h3>
-        
-        <p>The Eucalyptus driver is based on the EC2 driver.</p>
-        
-        <p>The driver allows selecting the Eucalyptus installation by setting a
-        provider in the format</p>
-        
-        <pre><code>ec2=IP[:PORT];s3=IP[:PORT]&#x000A;</code></pre>
-        
-        <p>For example, for the Eucalyptus installation at <code>192.168.1.1:8773</code> and a
-        Walrus installation at <code>192.168.1.2:8773</code>, the driver can be pointed at
-        that installation by passing the request headers</p>
-        
-        <pre><code>X-Deltacloud-Driver: eucalyptus&#x000A;X-Deltacloud-Provider: ec2=192.168.1.1:8773;s3=192.168.1.2:8773&#x000A;</code></pre>
-        
-        <hr />
-        
-        <h3 id="h3_3">RHEV-M Driver</h3>
-        
-        <p>The RHEV-M driver supports latest release of <a target="_blank" href="http://www.redhat.com/virtualization/rhev/server/">Red Hat Enterprise Virtualization Manager</a> (3.0 currently).
-        In order to make the driver work with this provider, you need to set an/the
-        API_PROVIDER environment variable or use the 'X-Deltacloud-Provider' request
-        header to the URL of the RHEV-M REST API entry point. The usual URL looks like:</p>
-        
-        <pre><code>API_PROVIDER="https://rhevm.hostname.com:8443/rhevm-api;645e425e-66fe-4ac9-8874-537bd10ef08d" &#x000A;</code></pre>
-        
-        <p>Note: To make sure that you have right credentials, you can try to access
-        <a href="">https://rhevm.hostname.com:8443/rhevm-api</a> in your browser.
-        If you're able to authenticate within the browser, then the crendentials you used
-        are valid Deltacloud credentials.</p>
-        
-        <p>Note: In order to make RHEV-M driver work properly, you need to set the RHEV-M
-        <a target="_blank" href="http://markmc.fedorapeople.org/rhevm-api/en-US/html-single/index.html#chap-REST_API_Guide-Data_Centers">Data Center</a> UUID you want to speak with in API_PROVIDER url (see the example
-        above). To obtain a list of all Data Centers you can choose from, start Deltacloud API without
-        specifying a datacenter in the API_PROVIDER URL and do this request:</p>
-        
-        <pre><code>GET /api/drivers/rhevm?format=xml&#x000A;</code></pre>
-        
-        <p>The list of possible datacenters will appear in the 'providers' section.</p>
-        
-        <hr />
-        
-        <h3 id="h3_4">VMware vSphere Driver</h3>
-        
-        <p>For details on how to make the VMware vSphere driver work with Deltacloud API,
-        please refer to <a target="_blank" href="https://www.aeolusproject.org/redmine/projects/aeolus/wiki/VSphere_Setup">vSphere Setup</a> in Aeolus project wiki.</p>
-        
-        <p>In order to connect to vSphere, you need to set the API_PROVIDER environment
-        variable or use the 'X-Deltacloud-Provider' HTTP header in the request to the vSphere
-        host you want to use. Example:</p>
-        
-        <pre><code>API_PROVIDER="vsphere.hostname.com"&#x000A;</code></pre>
-        
-        <p>The username and password in 401 challenge should be the same as those used in the vSphere Control
-        Center.</p>
-        
-        <hr />
-        
-        <h3 id="h3_5">OpenStack Driver</h3>
-        
-        <p>To connect to OpenStack API, you will need to set the API_provider environment
-        variable or the 'X-Deltacloud-Provider' HTTP header to a valid OpenStack API
-        entrypoint.</p>
-        
-        <hr />
-        
-        <h3 id="h3_6">Rackspace Driver</h3>
-        
-        <p>When using the Rackspace-cloud driver (Rackspace cloud used to be called
-        "Mosso") - the password in a HTTP 401 challenge should be your API key, NOT
-        your rackspace account password.  You can get the API-key, or generate a
-        new one, from the rackspace console.</p>
-        
-        <hr />
-        
-        <h3 id="h3_7">RimuHosting</h3>
-        
-        <p>Further details coming soon.</p>
-        
-        <hr />
-        
-        <h3 id="h3_8">OpenNebula</h3>
-        
-        <p>When using the <a href="http://www.opennebula.org/">OpenNebula</a> driver, the
-        credentials passed in response to the HTTP 401 authentication challenge
-        should be your OpenNebula user and password.</p>
-        
-        <p>The address, on which the OCCI server is listening, needs to be defined in
-        an environment variable called OCCI_URL.</p>
-        
-        <p>The OpenNebula driver has been updated to support v3.x of the OpenNebula API.
-        The driver is contributed by Daniel Molina who has also put together a 'how to'
-        for using OpenNebula through Deltacloud which is available
-        <a href="http://wiki.opennebula.org/deltacloud">here</a>.</p>
-        
-        <hr />
-        
-        <h3 id="h3_9">IBM Smartcloud Driver</h3>
-        
-        <p>When using the IBM SmartCloud driver, the credentials passed in response to
-        the HTTP 401 authentication challenge should be your IBM SmartCloud
-        username and password.</p>
-      </div>
-    </div>
-    <div id='footer-deltacloud'>
-      <div class='container'>
-        <p>
-          <a href='http://www.apache.org'>
-            <img alt='Apache Software Foundation Logo' src='http://www.apache.org/images/asf_logo_wide.png' />
-          </a>
-        </p>
-        <p id='disclaimer'>
-          Apache Deltacloud is a top-level project at the Apache
-          Software Foundation, having graduated from the ASF Incubator
-          in October 2011. Through a collaborative and meritocratic
-          development process, Apache projects deliver enterprise-grade,
-          freely available software products that attract large communities of users.
-        </p>
+
+    <div class="container content">
+
+      <p><br></p>
+
+<div class="row">
+  <div class="span8">
+
+<h3>Deltacloud drivers</h3>
+
+<p>
+Deltacloud provides drivers for a growing number of popular IaaS <a href="#drivers">cloud providers</a>. This page contains notes relevant to specific cloud provider drivers, such as the <a href="#credentials">credentials</a> that should be used for a given cloud provider. Furthermore the information here outlines the mechanism through which any API call sent by a given client to a Deltacloud server instance may be routed to a specific driver, regardless of the 'default' driver that the Deltacloud server was invoked for.
+</p>
+
+<h4 id="switch">Dynamic driver switching</h4>
+
+<p>
+When the Deltacloud server is started it is passed a parameter that specifies the <strong>default</strong> driver to be used for API operations:
+</p>
+
+
+  </div>
+  <div class="span4">
+
+<ul class="nav nav-list well">
+<li class="nav-header">Drivers</li>
+  <li class="active"><a href="#switch">Dynamic driver switching</a></li>
+  <li><a href="#drivers">Driver functionality and credentials</a></li>
+  <ul class="nav nav-list">
+<li><a href="#func">Compute driver functionality</a></li>
+    <li><a href="#storage">Storage driver functionality</a></li>
+    <li><a href="#credentials">Cloud provider credentials</a></li>
+  </ul>
+<li><a href="#notes">Notes on specific drivers</a></li>
+</ul>
+</div>
+</div>
+
+<pre>
+$ deltacloudd -i ec2
+</pre>
+
+<p>
+The above example shows how to start the Detlacloud server with the Amazon EC2 driver. It is possible to start a number of Deltacloud server instances for each cloud provider that you wish to connect to (e.g. on different ports). There is also a mechanism is with which you can instruct the server to use a specific driver, regardless of the current default. The Deltacloud API drivers collection (e.g. GET /api/drivers) provides a list of all currently supported cloud provider drivers.
+</p>
+
+<p>
+Some drivers also support the notion of a provider. Changing the provider makes it possible to use the same driver against different instances of a cloud, for example different regions in EC2 or different installations of RHEV-M. The possible range of values for the provider is driver-specific, and it is listed in the notes for each driver below.
+</p>
+
+<p>
+The driver and provider can be selected through the request headers <strong> X-Deltacloud-Driver</strong> and <strong>X-Deltacloud-Provider</strong>. For example, including the headers <strong>X-Deltacloud-Driver: ec2</strong> and <strong>X-Deltacloud-Provider: eu-west-1</strong> ensures that a request will be serviced by the EC2 driver, and that the driver will use the eu-west-1 region in EC2.
+</p>
+
+<h3 id="drivers">Driver functionality and Credentials</h3>
+
+<h4 id="func">Compute Driver Functionality</h4>
+<table class="table-bordered table-striped table-condensed">
+<thead><tr>
+<th class="emptycell"> </th>
+      <th>
+        Create new instances
+      </th>
+      <th>
+        Start stopped instances
+      </th>
+      <th>
+        Stop running instances
+      </th>
+      <th>
+        Reboot running instances
+      </th>
+      <th>
+        Destroy instances
+      </th>
+      <th>
+        List all/get details about hardware profiles
+      </th>
+      <th>
+        List all/get details about realms
+      </th>
+      <th>
+        List all/get details about images
+      </th>
+      <th>
+        List all/get details about instances
+      </th>
+    </tr></thead>
+<tbody>
+<tr>
+<td class="provider">
+        <strong>Amazon EC2</strong>
+      </td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">no</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      
+    </tr>
+<tr>
+<td class="provider">
+        <strong>Eucalyptus</strong>
+      </td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">no</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+    </tr>
+<tr>
+<td class="provider">
+        <strong>Fujitsu FGCP</strong>
+      </td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">no</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+    </tr>
+<tr>
+<td class="provider">
+        <strong>IBM SBC</strong>
+      </td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+    </tr>
+<tr>
+<td class="provider">
+        <strong>GoGrid</strong>
+      </td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">no</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+    </tr>
+<tr>
+<td class="provider">
+        <strong>OpenNebula</strong>
+      </td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+    </tr>
+<tr>
+<td class="provider">
+        <strong>Rackspace</strong>
+      </td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">no</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+    </tr>
+<tr>
+<td class="provider">
+        <strong>RHEV-M</strong>
+      </td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">no</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+    </tr>
+<tr>
+<td class="provider">
+        <strong>RimuHosting</strong>
+      </td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+    </tr>
+<tr>
+<td class="provider">
+        <strong>Terremark</strong>
+      </td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+    </tr>
+<tr>
+<td class="provider">
+        <strong>vSphere</strong>
+      </td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+    </tr>
+<tr>
+<td class="provider">
+        <strong>OpenStack</strong>
+      </td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+    </tr>
+</tbody>
+</table><p><br></p>
+
+<h4 id="storage">Storage Driver Functionality</h4>
+<table class="table-bordered table-striped table-condensed">
+<thead><tr>
+<th class="emptycell"> </th>
+      <th>
+        Create new buckets
+      </th>
+      <th>
+        Update/delete buckets
+      </th>
+      <th>
+        Create new blobs
+      </th>
+      <th>
+        Update/delete blobs
+      </th>
+      <th>
+        Read/write blob attributes
+      </th>
+      <th>
+        Read/write individual blob attributes
+      </th>
+    </tr></thead>
+<tbody>
+<tr>
+<td class="provider">
+        <strong>Amazon S3</strong>
+      </td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+    </tr>
+<tr>
+<td class="provider">
+        <strong>Eucalyptus Walrus</strong>
+      </td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+    </tr>
+<tr>
+<td class="provider">
+        <strong>Rackspace CloudFiles</strong>
+      </td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+    </tr>
+<tr>
+<td class="provider">
+        <strong>Microsoft Azure</strong>
+      </td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+    </tr>
+<tr>
+<td class="provider">
+        <strong>Google Storage</strong>
+      </td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+      <td style="text-align:center">yes</td>
+    </tr>
+</tbody>
+</table><p><br></p>
+<p>
+Deltacloud uses basic HTTP <a href="rest-api.html#auth">authentication</a> to receive credentials from the client and passes them through to the particular back-end cloud. The credentials always consist of a username and password and they are never stored on the server. The exact credentials for logging into the server, and a place where you can find them, depends on the backend cloud that the server is talking to.
+</p>
+
+<p>
+The following table gives details about the credentials that must be provided for each of the supported clouds. The entry from the Driver column needs to be passed as the -i option to the deltacloudd server daemon. Note that some of the drivers require additional information, e.g. API endpoint URL's. For more details see the <a href="#notes">Notes on specific drivers</a> section.
+</p>
+
+<style>
+ table { table-layout: fixed; }
+ table th, table td { overflow: hidden; }
+</style><h4 id="credentials">Cloud provider credentials</h4>
+<table class="table-bordered table-striped table-condensed">
+<thead><tr>
+<th style="width:15%">Cloud</th>
+      <th style="width:8%">Driver</th>
+      <th style="width:20%">Username</th>
+      <th style="width:10%">Password</th>
+      <th style="width:47%">Notes</th>
+    </tr></thead>
+<tbody>
+<tr>
+<td>
+        <strong>mock</strong>
+      </td>
+      <td>mock</td>
+      <td>mockuser</td>
+      <td>mockpassword</td>
+      <td>The mock driver does not communicate with any cloud; it just pretends to be a cloud.</td>
+    </tr>
+<tr>
+<td>
+        <strong>Amazon EC2/S3</strong>
+      </td>
+      <td>ec2</td>
+      <td>Access Key ID</td>
+      <td>Secret Access Key</td>
+      <td>Retrieve neccessary information from the <a href="http://aws-portal.amazon.com/gp/aws/developer/account/index.html?action=access-key">Security Credentials</a> page in your AWS account.</td>
+    </tr>
+<tr>
+<td>
+        <strong>Eucalyptus</strong>
+      </td>
+      <td>eucalyptus</td>
+      <td>Access Key ID</td>
+      <td>Secret Access Key</td>
+      <td></td>
+    </tr>
+<tr>
+<td>
+        <strong>Fujitsu FGCP</strong>
+      </td>
+      <td>fgcp</td>
+      <td>User certificate's folder name</td>
+      <td>User certificate's passphrase</td>
+      <td>
+      <p>Set the environment variable FGCP_CERT_DIR to a folder where the folder with UserCert.p12 is stored or place UserCert.p12 in</p> 
+<p><code style="font-size:small; color:#606060">
+~/.deltacloud/config/fgcp/&lt;Username&gt;/
+</code>  or</p>
+<p><code style="font-size:small; color:#606060">
+%USERPROFILE%\.deltacloud\config\fgcp\&lt;Username&gt;\ 
+</code></p>
+      <p style="margin-bottom:0px">in Windows. Then use Username to authenticate.</p>
+      </td>
+    </tr>
+<tr>
+<td>
+        <strong>GoGrid</strong>
+      </td>
+      <td>gogrid</td>
+      <td>API Key</td>
+      <td>Shared Secret</td>
+      <td>
+      Go to <span style="font-size:small">My Account &gt; API Keys</span> for <a href="https://my.gogrid.com/gogrid/com.servepath.gogrid.GoGrid/index.html">your account</a> and click on the key you want to use to find the Shared Secret.
+      </td>
+    </tr>
+<tr>
+<td>
+        <strong>IBM SBC</strong>
+      </td>
+      <td>sbc</td>
+      <td>Username</td>
+      <td>Password</td>
+      <td></td>
+    </tr>
+<tr>
+<td>
+        <strong>Microsoft Azure (Storage Account only)</strong>
+      </td>
+      <td>azure</td>
+      <td>Public Storage Account Name</td>
+      <td>Primary Access Key</td>
+      <td>
+      The Storage Account Name is chosen when you create the service (e.g. name in <a href="http://name.blob.core.windows.net/">name.blob.core.windows.net</a>). The name and the access key are available from the service control panel.
+      </td>
+    </tr>
+<tr>
+<td>
+        <strong>OpenNebula</strong>
+      </td>
+      <td>opennebula</td>
+      <td>OpenNebula user</td>
+      <td>OpenNebula password</td>
+      <td>Set the environment variable OCCI_URL to the address on which OpenNebula's OCCI server is listening.</td>
+    </tr>
+<tr>
+<td>
+        <strong>OpenStack</strong>
+      </td>
+      <td>openstack</td>
+      <td>OpenStack user</td>
+      <td>OpenStack user password</td>
+      <td>Set the environment variable API_PROVIDER to the URL of OpenStack API entrypoint.</td>
+    </tr>
+<tr>
+<td>
+        <strong>Rackspace Cloud Servers/Cloud Files</strong>
+      </td>
+      <td>rackspace</td>
+      <td>Rackspace user name</td>
+      <td>API Key</td>
+      <td>Obtain the key from the <a href="https://manage.rackspacecloud.com/APIAccess.do">API Access</a> page in your control panel.</td>
+    </tr>
+<tr>
+<td>
+        <strong>RHEV-M</strong>
+      </td>
+      <td>rhevm</td>
+      <td>
+      <a href="http://markmc.fedorapeople.org/rhevm-api/en-US/html/chap-REST_API_Guide-Authentication.html">RHEV-M user name plus Windows domain</a>, e.g., admin@rhevm.example.com
+      </td>
+      <td>RHEV-M password</td>
+      <td>Set the environment variable API_PROVIDER to the URL of the RHEV-M REST API endpoint. </td>
+    </tr>
+<tr>
+<td>
+        <strong>Rimuhosting</strong>
+      </td>
+      <td>rimuhosting</td>
+      <td>not used (?)</td>
+      <td>API Key</td>
+      <td></td>
+    </tr>
+<tr>
+<td>
+        <strong>Terremark</strong>
+      </td>
+      <td>terremark</td>
+      <td>Username</td>
+      <td>Password</td>
+      <td></td>
+    </tr>
+<tr>
+<td>
+        <strong>VMware vSphere</strong>
+      </td>
+      <td>vsphere</td>
+      <td>vSphere user</td>
+      <td>vSphere user password</td>
+      <td>Set the environment variable API_PROVIDER to the hostname of the vSphere server.</td>
+    </tr>
+</tbody>
+</table><p><br></p>
+
+<h3 id="notes">Notes on specific drivers</h3>
+
+<div class="accordion" id="specific">
+  <div class="accordion-group">
+    <div class="accordion-heading">
+      <a class="accordion-toggle" data-toggle="collapse" data-parent="#specific" href="#ec2">
+        EC2 driver
+      </a>
+    </div>
+    <div id="ec2" class="accordion-body collapse in">
+      <div class="accordion-inner">
+      The providers for the EC2 driver correspond to AWS's regions, and currently are us-east-1, us-east-1, eu-west-1, ap-southeast-1.
+      </div>
+    </div>
+  </div>
+  <div class="accordion-group">
+    <div class="accordion-heading">
+      <a class="accordion-toggle" data-toggle="collapse" data-parent="#specific" href="#eucalyptus">
+        Eucalyptus driver
+      </a>
+    </div>
+    <div id="eucalyptus" class="accordion-body collapse">
+      <div class="accordion-inner">
+<p>
+The Eucalyptus driver is based on the EC2 driver.
+</p>
+
+<p>
+The driver allows selecting the Eucalyptus installation by setting a provider in the format
+</p>
+
+<p>
+For example, for the Eucalyptus installation at 192.168.1.1:8773 and a Walrus installation at 192.168.1.2:8773, the driver can be pointed at that installation by passing the request headers
+</p>
+
+<pre>
+X-Deltacloud-Driver: eucalyptus
+X-Deltacloud-Provider: ec2=192.168.1.1:8773;s3=192.168.1.2:8773
+</pre>
       </div>
     </div>
+  </div>
+  <div class="accordion-group">
+    <div class="accordion-heading">
+      <a class="accordion-toggle" data-toggle="collapse" data-parent="#specific" href="#ibm">
+        IBM Smartcloud driver
+      </a>
+    </div>
+    <div id="ibm" class="accordion-body collapse">
+      <div class="accordion-inner">
+      When using the IBM SmartCloud driver, the credentials passed in response to the HTTP 401 authentication challenge should be your IBM SmartCloud username and password.
+      </div>
+    </div>
+  </div>
+  <div class="accordion-group">
+    <div class="accordion-heading">
+      <a class="accordion-toggle" data-toggle="collapse" data-parent="#specific" href="#nebula">
+        OpenNebula
+      </a>
+    </div>
+    <div id="nebula" class="accordion-body collapse">
+      <div class="accordion-inner">
+<p>
+When you use the <a href="http://www.opennebula.org/">OpenNebula</a> driver, the credentials passed in response to the HTTP 401 authentication challenge should be your OpenNebula user and password.
+</p>
+
+<p>
+The address, on which the OCCI server is listening, needs to be defined in an environment variable called OCCI_URL.
+</p>
+
+<p>
+The OpenNebula driver has been updated to support v3.x of the OpenNebula API. The driver is contributed by Daniel Molina who has also put together a <a href="http://wiki.opennebula.org/deltacloud">guide</a> for using OpenNebula through Deltacloud.
+</p>
+      </div>
+    </div>
+  </div>
+  <div class="accordion-group">
+    <div class="accordion-heading">
+      <a class="accordion-toggle" data-toggle="collapse" data-parent="#specific" href="#fgcp">
+        Fujitsu FGCP driver
+      </a>
+    </div>
+    <div id="fgcp" class="accordion-body collapse">
+      <div class="accordion-inner">
+      <p>
+      When you use the Fujitsu FGCP driver, do not authenticate with your FGCP Portal username. Use the name of the folder in which your UserCert.p12 is stored. UserCert.p12 can be issued from the Portal and it is the same as you use to access MyPortal. 
+      </p>
+      <p>
+      Set the enviroment variable FGCP_CERT_DIR to override the default path <strong>~/.deltacloud/config/fgcp/</strong> to locate the Username folder with the UserCert.p12 file.
+      </p>
+      </div>
+    </div>
+  </div>
+  <div class="accordion-group">
+    <div class="accordion-heading">
+      <a class="accordion-toggle" data-toggle="collapse" data-parent="#specific" href="#open">
+        OpenStack driver
+      </a>
+    </div>
+    <div id="open" class="accordion-body collapse">
+      <div class="accordion-inner">
+      To connect to OpenStack API, you will need to set the API_provider environment variable or the 'X-Deltacloud-Provider' HTTP header to a valid OpenStack API entrypoint.
+      </div>
+    </div>
+  </div>
+  <div class="accordion-group">
+    <div class="accordion-heading">
+      <a class="accordion-toggle" data-toggle="collapse" data-parent="#specific" href="#rack">
+        Rackspace driver
+      </a>
+    </div>
+    <div id="rack" class="accordion-body collapse">
+      <div class="accordion-inner">
+      When you use the Rackspace-cloud driver (Rackspace cloud used to be called "Mosso") - the password in a HTTP 401 challenge should be your API key, NOT your Rackspace account password. You can get the API-key, or generate a new one, from the Rackspace console.
+      </div>
+    </div>
+  </div>
+  <div class="accordion-group">
+    <div class="accordion-heading">
+      <a class="accordion-toggle" data-toggle="collapse" data-parent="#specific" href="#rhev">
+        RHEV-M driver
+      </a>
+    </div>
+    <div id="rhev" class="accordion-body collapse">
+      <div class="accordion-inner">
+<p>
+The RHEV-M driver supports latest release of Red Hat Enterprise Virtualization Manager (3.0 currently). In order to make the driver work with this provider, you need to set the API_PROVIDER environment variable or use the 'X-Deltacloud-Provider' request header to the URL of the RHEV-M REST API entry point. The usual URL looks like:
+</p>
+
+<pre>
+API_PROVIDER="https://rhevm.hostname.com:8443/api;645e425e-66fe-4ac9-8874-537bd10ef08d" 
+</pre>
+
+<p>
+To make sure that you have right credentials, try to access https://rhevm.hostname.com:8443/rhevm-api in your browser. If you're able to authenticate within the browser, then the crendentials you used are valid Deltacloud credentials.
+</p>
+
+<p>
+In order to make RHEV-M driver work properly, you need to set the RHEV-M Data Center UUID you want to speak with in API_PROVIDER url (see the example above). To obtain a list of all Data Centers you can choose from, start Deltacloud API without specifying a datacenter in the API_PROVIDER URL and do this request:
+</p>
+
+<pre>
+GET /api/drivers/rhevm?format=xml
+</pre>
+
+<p>
+The list of possible datacenters will appear in the 'providers' section.
+</p>
+      </div>
+    </div>
+  </div>
+  <div class="accordion-group">
+    <div class="accordion-heading">
+      <a class="accordion-toggle" data-toggle="collapse" data-parent="#specific" href="#rimu">
+        RimuHosting
+      </a>
+    </div>
+    <div id="rimu" class="accordion-body collapse">
+      <div class="accordion-inner">
+      Further details coming soon.
+      </div>
+    </div>
+  </div>
+  <div class="accordion-group">
+    <div class="accordion-heading">
+      <a class="accordion-toggle" data-toggle="collapse" data-parent="#specific" href="#vmware">
+        VMware vSphere driver
+      </a>
+    </div>
+    <div id="vmware" class="accordion-body collapse">
+      <div class="accordion-inner">
+<p>
+You can find the details on how to make the VMware vSphere driver work with Deltacloud API in <a href="https://www.aeolusproject.org/redmine/projects/aeolus/wiki/VSphere_Setup">vSphere Setup</a> in Aeolus project wiki.
+</p>
+
+<p>
+In order to connect to vSphere, you need to set the API_PROVIDER environment variable or use the 'X-Deltacloud-Provider' HTTP header in the request to the vSphere host you want to use. For example:
+</p>
+
+<pre>API_PROVIDER="vsphere.hostname.com"</pre>
+
+<p>
+The username and password in 401 challenge should be the same as you use in the vSphere Control Center.
+</p>
+      </div>
+    </div>
+  </div>
+</div>
+
+      <footer class="footer">
+        <p class="pull-right"><span class='icon-circle-arrow-up'>&nbsp;</span><a href="#">Back to top</a></p>
+        <div class='row'>
+          <div class='span3'>
+            <img src="/assets/img/asf.png" alt="Apache Software Foundation"/>
+          </div>
+          <div class='span9'>
+            <strong>Apache Deltacloud</strong> is a top-level project at the <a
+              href="http://www.apache.org">Apache Software Foundation</a>,
+            having graduated from the ASF Incubator in October
+            2011. Through a collaborative and meritocratic development process, Apache
+            projects deliver enterprise-grade, freely available software products that
+            attract large communities of users. 
+          </div>
+        </div>
+      </footer>
+
+    </div> <!-- /container -->
+
   </body>
-  <script type='text/javascript'>
-    var pkBaseURL = (("https:" == document.location.protocol) ? "https://stats.salasaga.org/aeolus/piwik/" : "http://stats.salasaga.org/aeolus/piwik/");
-    document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
-  </script>
-  <script type='text/javascript'>
-    //<![CDATA[
-      try {
-        var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 2);
-        piwikTracker.trackPageView();
-        piwikTracker.enableLinkTracking();
-      } catch( err ) {}
-    //]]>
-  </script>
-  <noscript>
-    <p>
-      <img alt='' src='http://stats.salasaga.org/aeolus/piwik/piwik.php?idsite=2' style='border:0' />
-    </p>
-  </noscript>
 </html>

Added: deltacloud/trunk/site/output/drivers/index.html
URL: http://svn.apache.org/viewvc/deltacloud/trunk/site/output/drivers/index.html?rev=1353588&view=auto
==============================================================================
--- deltacloud/trunk/site/output/drivers/index.html (added)
+++ deltacloud/trunk/site/output/drivers/index.html Mon Jun 25 15:05:02 2012
@@ -0,0 +1,96 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Drivers</title>
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <!-- Le JavaScript -->
+    <script src="/assets/js/jquery-1.7.1.min.js" type="text/javascript"></script>
+    <script src="/assets/js/bootstrap-dropdown.js" type="text/javascript"></script>
+
+    <!-- Le styles -->
+    <link href="/assets/css/bootstrap.css" rel="stylesheet">
+    <link href="/assets/css/application.css" rel="stylesheet">
+    <link rel="shortcut icon" href="/assets/img/favicon.ico">
+  </head>
+
+  <body>
+
+    <div class="navbar navbar-fixed-top">
+      <div class="navbar-inner">
+        <div class="container">
+          <a class="brand" href="/"><img src="/assets/img/logo.png" width="152"
+            alt="Deltacloud API"/></a>
+          <ul class="nav top-nav">
+  <li class="active"><a href="/">Home</a></li>
+  <li class="dropdown">
+    <a href="#" class="dropdown-toggle" data-toggle="dropdown">About <b class="caret"></b></a>
+    <ul class="dropdown-menu">
+      <li><a href="/about">What is Deltacloud?</a></li>
+      <li><a href="/supported-providers">Supported Providers</a></li>
+    </ul>
+  </li>
+  <li class="dropdown">
+    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Run API <b class="caret"></b></a>
+    <ul class="dropdown-menu">
+      <li><a href="/install-deltacloud">Install Deltacloud</a></li>
+      <li><a href="/run-deltacloud-server">Run the Deltacloud Server</a></li>
+    </ul>
+  </li>
+  <li class="dropdown">
+    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Use API <b class="caret"></b></a>
+    <ul class="dropdown-menu">
+      <li><a href="/use-the-api">Using API</a></li>
+      <li><a href="/clients">Clients</a></li>
+    </ul>
+  </li>
+  <li class="dropdown">
+    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Contribute <b class="caret"></b></a>
+    <ul class="dropdown-menu">
+      <li><a href="/how-to-contribute">How Can I Contribute?</a></li>
+      <li><a href="/getting-sources">Getting the Sources</a></li>
+    </ul>
+  </li>
+  <li class="dropdown">
+    <a href="#" class="dropdown-toggle" data-toggle="dropdown">API Documentation <b class="caret"></b></a>
+    <ul class="dropdown-menu">
+      <li><a href="/rest-api">REST API</a></li>
+      <li><a href="/drivers">Drivers API</a></li>
+      <li><a href="/libdeltacloud">C library libdeltacloud</a></li>
+    </ul>
+  </li>
+  <li><a href="#contact">Contact</a></li>
+</ul>
+
+        </div>
+      </div>
+
+    </div>
+
+    <div class="container">
+
+      
+
+      <footer class="footer">
+        <p class="footer-right">
+          <img src="/assets/img/asf_logo_wide.png" alt="Apache Software
+          Foundation"/>
+        </p>
+        <p>
+        <strong>Apache Deltacloud</strong> is a top-level project at the <a
+          href="http://www.apache.org">Apache Software Foundation</a>,
+          having graduated from the ASF Incubator in October
+          2011. Through a collaborative and meritocratic development process, Apache
+          projects deliver enterprise-grade, freely available software products that
+          attract large communities of users. 
+        </p>
+      </footer>
+
+    </div> <!-- /container -->
+
+  </body>
+</html>

Added: deltacloud/trunk/site/output/firewalls.html
URL: http://svn.apache.org/viewvc/deltacloud/trunk/site/output/firewalls.html?rev=1353588&view=auto
==============================================================================
--- deltacloud/trunk/site/output/firewalls.html (added)
+++ deltacloud/trunk/site/output/firewalls.html Mon Jun 25 15:05:02 2012
@@ -0,0 +1,544 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Firewalls</title>
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <!-- Le JavaScript -->
+    <script src="/assets/js/jquery-1.7.1.min.js" type="text/javascript"></script>
+    <script src="/assets/js/bootstrap-dropdown.js" type="text/javascript"></script>
+    <script src="/assets/js/jquery.tweet.js" type="text/javascript"></script>
+    <script src="/assets/js/application.js" type="text/javascript"></script>
+    <script src="/assets/js/bootstrap-transition.js"></script>
+    <script src="/assets/js/bootstrap-alert.js"></script>
+    <script src="/assets/js/bootstrap-modal.js"></script>
+    <script src="/assets/js/bootstrap-scrollspy.js"></script>
+    <script src="/assets/js/bootstrap-tab.js"></script>
+    <script src="/assets/js/bootstrap-tooltip.js"></script>
+    <script src="/assets/js/bootstrap-popover.js"></script>
+    <script src="/assets/js/bootstrap-button.js"></script>
+    <script src="/assets/js/bootstrap-collapse.js"></script>
+    <script src="/assets/js/bootstrap-carousel.js"></script>
+    <script src="/assets/js/bootstrap-typeahead.js"></script>
+
+    <!-- Le styles -->
+    <link href="/assets/css/bootstrap.css" rel="stylesheet">
+    <link href="/assets/css/application.css" rel="stylesheet">
+    <link rel="shortcut icon" href="/assets/img/favicon.ico">
+  </head>
+
+  <body>
+
+    <div class="navbar navbar-fixed-top">
+      <div class="navbar-inner">
+        <div class="container">
+          <a class="brand" href="/"><img src="/assets/img/logo.png" width="152"
+            alt="Deltacloud API"/></a>
+          <ul class="nav top-nav">
+  <li><a href="/">Home</a></li>
+  <li class="dropdown">
+    <a href="#" class="dropdown-toggle" data-toggle="dropdown">About<b class="caret"></b></a>
+    <ul class="dropdown-menu">
+      <li><a href="/about.html">What is Deltacloud?</a></li>
+      <li><a href="/supported-providers.html">Supported Providers</a></li>
+    </ul>
+  </li>
+  <li class="dropdown">
+    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Installation<b class="caret"></b></a>
+    <ul class="dropdown-menu">
+      <li><a href="/install-deltacloud.html">Install Deltacloud</a></li>
+      <li><a href="/run-deltacloud-server.html">Run the Deltacloud Server</a></li>
+    </ul>
+  </li>
+  <li class="dropdown">
+    <a href="/usage.html" class="dropdown-toggle" data-toggle="dropdown">Usage<b class="caret"></b></a>
+    <ul class="dropdown-menu">
+      <li><a href="/usage.html#usingapi">Using API</a></li>
+      <li><a href="/usage.html#clients">Client Libraries</a></li>
+      <li><a href="/command-tools.html">Command Line Tools</a></li>
+    </ul>
+  </li>
+  <li class="dropdown">
+    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Contribute<b class="caret"></b></a>
+    <ul class="dropdown-menu">
+      <li><a href="/getting-sources.html">Getting Sources</a></li>
+      <li><a href="/how-to-contribute.html">How Can I Contribute?</a></li>
+    </ul>
+  </li>
+  <li class="dropdown">
+    <a href="#" class="dropdown-toggle" data-toggle="dropdown">API<b class="caret"></b></a>
+    <ul class="dropdown-menu">
+      <li><a href="/rest-api.html">REST API</a></li>
+      <li><a href="/drivers.html">Drivers API</a></li>
+    </ul>
+  </li>
+  <li><a href="/contact.html">Contact</a></li>
+</ul>
+
+        </div>
+      </div>
+
+    </div>
+
+    <div class="container content">
+
+      <p><br></p>
+
+<div class="row">
+  <div class="span9">
+
+<h3 id="firewalls">Firewalls</h3>
+
+<p>
+Firewalls represent sets of rules that govern the accessibility of a running instance over the public Internet. At present, only the Amazon EC2 cloud supports this collection (Amazon EC2 'Security Groups'). A firewall has these attributes:
+</p>
+
+<ul>
+<li>a <strong>name</strong>
+</li>
+  <li>a <strong>description</strong>
+</li>
+  <li>an <strong>owner_id</strong>
+</li>
+  <li>set of <strong>rules</strong>
+</li>
+</ul>
+<p>
+An instance is launched into a firewall by specifying the <strong>firewalls1 ... firewallsN</strong> parameters in the <strong>POST /api/instances</strong> operation (see the <a href="instances.html#instance">Create an instance</a> section).
+</p>
+
+<p>
+Each <strong>firewall rule</strong> has a number of attributes describing the access granted to clients that want to communicate with the instance over the Internet. Each rule cosists of
+</p>
+
+<ul>
+<li>an <strong>allow_protocol</strong> (tcp, udp or icmp);</li>
+  <li>a <strong>port_from</strong> and a <strong>port_to</strong> that delimit the port range for access; and</li>
+  <li>a <strong>sources</strong> list, which can contain firewalls (i.e. allow instances in another firewall to communicate with instances in the firewall in which this rule exists), or a number of IP addresses in CIDR format, or a mix of both.</li>
+</ul>
+</div>
+  <div class="span3">
+
+<ul class="nav nav-list well">
+<li class="nav-header">
+    REST API
+  </li>
+  <li><a href="rest-api.html">Introduction</a></li>
+  <li><a href="api-entry-point.html">API entry point</a></li>
+  <li><a href="compute-resources.html">Compute resources</a></li>
+  <ul class="nav nav-list">
+<li><a href="compute-resources.html#realms">Realms</a></li>
+    <li><a href="hardware-profiles.html">Hardware profiles</a></li>
+    <li><a href="images.html">Images</a></li>
+    <li><a href="instance-states.html">Instance states</a></li>
+    <li><a href="instances.html">Instances</a></li>
+    <li><a href="keys.html">Keys</a></li>
+    <li class="active"><a href="#firewalls">Firewalls</a></li>
+    <li><a href="addresses.html">Addresses</a></li>
+    <li><a href="load-balancers.html">Load balancers</a></li>
+  </ul>
+<li><a href="storage-resources.html">Storage resources</a></li>
+</ul>
+</div>
+</div>
+
+<p>
+Each rule also specifies a <strong>direction</strong>, indicating whether it applies to ingress or egress traffic.
+</p>
+
+<p>
+As Amazon EC2 has no notion of a firewall rule ID, the Deltacloud server constructs one ID for each rule as the concatenation of its attributes. The format used is: owner_id~protocol~from_port~to_port~@sources.
+</p>
+
+<p>
+As explained above a source can be the <strong>address</strong> type in which case it defines an IP type (ipv4/ipv6), an IP address and routing prefix (CIDR netmask). Sources of type <strong>group</strong> have an owner_id and a name. The <strong>owner_id</strong> is the identifier of the account that created the specified firewall. The <strong>name</strong> defines the firewall to which the access is being granted.
+</p>
+
+<p>
+An example of a rule id is:
+</p>
+
+<pre>
+393485797142~tcp~22~22~@group,393485797142,default,@address,ipv4,10.1.2.3,24
+          {owner_id~protocol~from_port~to_port~@sources}
+</pre>
+
+<p>
+By creating the rule identifier abstraction, the Deltacloud API supports deletion of an entire firewall rule as one operation.
+</p>
+
+<p><br></p>
+
+<ul class="nav nav-pills">
+<li class="active"><a href="#tab1" data-toggle="tab">Get a list of all firewalls</a></li>
+  <li><a href="#tab2" data-toggle="tab">Get the details of a firewall</a></li>
+  <li><a href="#tab3" data-toggle="tab">Create/delete a firewall</a></li>
+  <li><a href="#tab4" data-toggle="tab">Create/delete a firewall rule</a></li>
+</ul><hr><div class="tab-content">
+  <div class="tab-pane active" id="tab1">
+
+<h4>Get a list of all firewalls</h4>
+
+<p>
+To retrieve a list of all firewalls use call <strong>GET /api/firewalls</strong>.
+</p>
+
+<p>Example request:</p>
+
+<pre>
+GET /api/firewalls?format=xml HTTP/1.1
+Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
+User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
+Host: localhost:3001
+Accept: */*
+</pre>
+
+<p>Server response:</p>
+
+<pre>
+HTTP/1.1 200 OK
+Content-Type: application/xml
+Date: Tue, 26 Jul 2011 15:56:04 GMT
+Content-Length: 1640
+
+&lt;?xml version='1.0' encoding='utf-8' ?&gt;
+&lt;firewalls&gt;
+  &lt;firewall href='http://localhost:3001/api/firewalls/default' id='default'&gt;
+    &lt;name&gt;&lt;![CDATA[default]]&gt;&lt;/name&gt;
+    &lt;description&gt;&lt;![CDATA[default group]]&gt;&lt;/description&gt;
+    &lt;owner_id&gt;393485797142&lt;/owner_id&gt;
+    &lt;rules&gt;
+      &lt;rule id='393485797142~tcp~22~22~@address,ipv4,87.228.192.251,32'&gt;
+        &lt;allow_protocol&gt;tcp&lt;/allow_protocol&gt;
+        &lt;port_from&gt;22&lt;/port_from&gt;
+        &lt;port_to&gt;22&lt;/port_to&gt;
+        &lt;direction&gt;ingress&lt;/direction&gt;
+        &lt;sources&gt;
+          &lt;source address='87.228.192.251' family='ipv4' prefix='32' type='address'&gt;&lt;/source&gt;
+        &lt;/sources&gt;
+      &lt;/rule&gt;
+    &lt;/rules&gt;
+  &lt;/firewall&gt;
+  &lt;firewall href='http://localhost:3001/api/firewalls/test' id='test'&gt;
+    &lt;name&gt;&lt;![CDATA[test]]&gt;&lt;/name&gt;
+    &lt;description&gt;&lt;![CDATA[this is just a test]]&gt;&lt;/description&gt;
+    &lt;owner_id&gt;393485797142&lt;/owner_id&gt;
+    &lt;rules&gt;
+      &lt;rule id='393485797142~tcp~22~22~@group,393485797142,default,@address,ipv4,10.1.2.3,24'&gt;
+        &lt;allow_protocol&gt;tcp&lt;/allow_protocol&gt;
+        &lt;port_from&gt;22&lt;/port_from&gt;
+        &lt;port_to&gt;22&lt;/port_to&gt;
+        &lt;direction&gt;ingress&lt;/direction&gt;
+        &lt;sources&gt;
+          &lt;source name='default' owner='393485797142' type='group'&gt;&lt;/source&gt;
+          &lt;source address='10.1.2.3' family='ipv4' prefix='24' type='address'&gt;&lt;/source&gt;
+        &lt;/sources&gt;
+      &lt;/rule&gt;
+    &lt;/rules&gt;
+  &lt;/firewall&gt;
+  &lt;firewall href='http://localhost:3001/api/firewalls/new_firewall' id='new_firewall'&gt;
+    &lt;name&gt;&lt;![CDATA[new_firewall]]&gt;&lt;/name&gt;
+    &lt;description&gt;&lt;![CDATA[new_one]]&gt;&lt;/description&gt;
+    &lt;owner_id&gt;393485797142&lt;/owner_id&gt;
+    &lt;rules&gt;
+    &lt;/rules&gt;
+  &lt;/firewall&gt;
+&lt;/firewalls&gt;</pre>
+
+  </div>
+  <div class="tab-pane" id="tab2">
+
+<h4>Get the details of a specified firewall</h4>
+
+<p>
+To retrieve details of a single specified firewall use call <strong>GET /api/firewalls/:id</strong>.
+</p>
+
+<p>Example request:</p>
+
+<pre>
+GET /api/firewalls/test?format=xml HTTP/1.1
+Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
+User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
+Host: localhost:3001
+Accept: */*
+</pre>
+
+<p>Server reponse:</p>
+
+<pre>
+HTTP/1.1 200 OK
+Content-Type: application/xml
+Date: Wed, 27 Jul 2011 08:20:29 GMT
+Content-Length: 835
+
+&lt;?xml version='1.0' encoding='utf-8' ?&gt;
+&lt;firewall href='http://localhost:3001/api/firewalls/test' id='test'&gt;
+  &lt;name&gt;&lt;![CDATA[test]]&gt;&lt;/name&gt;
+  &lt;description&gt;&lt;![CDATA[this is just a test]]&gt;&lt;/description&gt;
+  &lt;owner_id&gt;393485797142&lt;/owner_id&gt;
+  &lt;rules&gt;
+    &lt;rule href='http://localhost:3001/api/firewalls/test/393485797142~tcp~22~22~@group,393485797142,default,@address,ipv4,10.1.2.3,24' id='393485797142~tcp~22~22~@group,393485797142,default,@address,ipv4,10.1.2.3,24'&gt;
+      &lt;allow_protocol&gt;tcp&lt;/allow_protocol&gt;
+      &lt;port_from&gt;22&lt;/port_from&gt;
+      &lt;port_to&gt;22&lt;/port_to&gt;
+      &lt;direction&gt;ingress&lt;/direction&gt;
+      &lt;sources&gt;
+        &lt;source name='default' owner='393485797142' type='group'&gt;&lt;/source&gt;
+        &lt;source address='10.1.2.3' family='ipv4' prefix='24' type='address'&gt;&lt;/source&gt;
+      &lt;/sources&gt;
+    &lt;/rule&gt;
+  &lt;/rules&gt;
+&lt;/firewall&gt;
+</pre>
+
+  </div>
+  <div class="tab-pane" id="tab3">
+
+<h4>Create a new firewall</h4>
+
+<p>
+To create a new firewall use call <strong>GET /api/firewalls/:id</strong>. Clients must specify the firewall name and description as parameters to the request. The Deltacloud server will respond with <strong>HTTP 201 Created</strong> to a succesful completion and return details of the newly created firewall. As with other POST operations in the Deltacloud API, a client may specify parameters as multipart/form-data or using the application/x-www-form-urlencoded content-type.
+</p>
+
+<p>Example request:</p>
+
+<pre>
+POST /api/firewalls?format=xml HTTP/1.1
+Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
+User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
+Host: localhost:3001
+Accept: */*
+Content-Length: 64
+Content-Type: application/x-www-form-urlencoded
+
+name=Devel_Group&amp;description=Access%20for%20all%20development%20machines
+</pre>
+
+<p>Server response:</p>
+
+<pre>
+HTTP/1.1 201 Created
+Content-Type: application/xml
+Date: Wed, 27 Jul 2011 08:35:43 GMT
+Content-Length: 296
+
+&lt;?xml version='1.0' encoding='utf-8' ?&gt;
+&lt;firewall href='http://localhost:3001/api/firewalls/Devel_Group' id='Devel_Group'&gt;
+  &lt;name&gt;&lt;![CDATA[Devel_Group]]&gt;&lt;/name&gt;
+  &lt;description&gt;&lt;![CDATA[Access for all development machines]]&gt;&lt;/description&gt;
+  &lt;owner_id&gt;&lt;/owner_id&gt;
+  &lt;rules&gt;
+  &lt;/rules&gt;
+&lt;/firewall&gt;
+</pre>
+
+<h4>Delete a firewall</h4>
+
+<p>
+To delete the specified firewall from the back-end cloud provider use call <strong>DELETE /api/firewalls/:id</strong>. The Deltacloud server will respond with <strong>HTTP 204 No Content</strong> after a successful deletion:
+</p>
+
+<p>Example request:</p>
+
+<pre>
+DELETE /api/firewalls/test?format=xml HTTP/1.1
+Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
+User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
+Host: localhost:3001
+Accept: */*
+</pre>
+
+<p>Client response:</p>
+
+<pre>
+HTTP/1.1 204 No Content
+Date: Wed, 27 Jul 2011 09:47:43 GMT
+</pre>
+
+<p>
+The rules governing the deletion of a firewall are back-end cloud specific. At present, only the Amazon EC2 cloud supports the firewalls collection, so we describe the firewall deletion rules for EC2 here.
+</p>
+
+<p>
+It is permitted to delete a firewall that has rules defined within it, with two exceptions. You cannot delete a firewall if it is referenced by another firewall; for instance <strong>firewall_1</strong> has a rule giving access to <strong>firewall_2</strong>. An attempt to delete firewall_2 will result in the error <strong>InvalidGroup.InUse</strong>, as you can see in the example below. The second exception is that you cannot delete a firewall if there are currently any running instances within that firewall (i.e. instances that specified the given firewall when they were launched). The error message in that case would be <strong>InvalidGroup.InUse: There are active instances using security group</strong>. In both cases the error messages are propagated from the back-end cloud provider to the requesting client.
+</p>
+
+<p>
+Example request (<strong>error deleting a firewall referenced by another firewall</strong>):
+</p>
+
+<pre>
+DELETE /api/firewalls/firewall_2?format=xml HTTP/1.1
+Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
+User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
+Host: localhost:3001
+Accept: */*
+</pre>
+
+<p>Server response:</p>
+
+<pre>
+HTTP/1.1 502 Bad Gateway
+Content-Type: application/xml
+Content-Length: 626
+
+&lt;error status='502' url='/api/firewalls/firewall_2?format=xml'&gt;
+  &lt;kind&gt;backend_error&lt;/kind&gt;
+  &lt;backend driver='ec2'&gt;
+    &lt;code&gt;502&lt;/code&gt;
+  &lt;/backend&gt;
+  &lt;message&gt;&lt;![CDATA[InvalidGroup.InUse: Group 393485797142:firewall_2 is used by groups: 393485797142:firewall_1
+  REQUEST=ec2.us-east-1.amazonaws.com:443/?AWSAccessKeyId=AGG332FWWR5A11F327Q&amp;Action=DeleteSecurityGroup&amp;GroupName=firewall_2&amp;SignatureMethod=HmacSHA256&amp;SignatureVersion=2&amp;Timestamp=2011-07-27T08%3A50%3A50.000Z&amp;Version=2010-08-31&amp;Signature=g613223efwv5WAVhAosmPcrsfHqApAuw\nnwfYnZp0k3U%3D
+  REQUEST ID=8591fa20-a6ee-4db7-b30f-3022ecc9a9f5]]&gt;&lt;/message&gt;
+&lt;/error&gt;
+</pre>
+
+  </div>
+  <div class="tab-pane" id="tab4">
+
+<h4>Create a firewall rule</h4>
+
+<p>
+To create a new firewall rule within a specified firewall use call <strong>POST /api/firewalls/:id/rules</strong>. A client must supply the <strong>protocol</strong> (one of udp, tcp or icmp), <strong>port_from</strong> and <strong>port_to</strong> as parameters. Of course the client must also specify the <strong>sources</strong> to which the given rule is applied. IP addresses are specified in CIDR format sequentially: ip_address1=192.168.10.10/24, ip_address2=10.1.1.1/16 ... ip_addressN=.... The IP address '0.0.0.0/0' acts as a wildcard to specify any IP address. Source firewalls are also specified sequentially, but the <strong>owner_id</strong> of the firewall prepared for authorization must also be supplied (this is an Amazon EC2 requirement): group1=name1, group1owner=1234567890, group2=name2, group2owner=0987654321, ... groupN=nameN, groupNowner=...
+</p>
+
+<p>
+The Deltacloud server responds with a <strong>HTTP 201 Created</strong> after a successful operation and adds the details of the given firewall. The example client request below specifies the required parameters as multipart/form-data. However clients may also legitimately use the application/x-www-form-urlencoded to provide firewall rule parameters.
+</p>
+
+<p>Example request:</p>
+
+<pre>
+POST /api/firewalls/default/rules?format=xml HTTP/1.1
+Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
+User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
+Host: localhost:3001
+Accept: */*
+Content-Length: 1005
+Expect: 100-continue
+Content-Type: multipart/form-data; boundary=----------------------------4c9e7fa0a35e
+
+------------------------------4c9e7fa0a35e
+Content-Disposition: form-data; name="protocol"
+
+tcp
+------------------------------4c9e7fa0a35e
+Content-Disposition: form-data; name="port_from"
+
+22
+------------------------------4c9e7fa0a35e
+Content-Disposition: form-data; name="port_to"
+
+22
+------------------------------4c9e7fa0a35e
+Content-Disposition: form-data; name="group1"
+
+devel_group
+------------------------------4c9e7fa0a35e
+Content-Disposition: form-data; name="group1owner"
+
+393485797142
+------------------------------4c9e7fa0a35e
+Content-Disposition: form-data; name="group2"
+
+outside
+------------------------------4c9e7fa0a35e
+Content-Disposition: form-data; name="group2owner"
+
+393485797142
+------------------------------4c9e7fa0a35e
+Content-Disposition: form-data; name="ip_address1"
+
+192.168.1.1/24
+------------------------------4c9e7fa0a35e
+Content-Disposition: form-data; name="ip_address2"
+
+65.128.31.27/32
+------------------------------4c9e7fa0a35e--
+</pre>
+
+<p>Server response:</p>
+
+<pre>
+HTTP/1.1 201 Created
+Content-Type: application/xml
+Date: Wed, 27 Jul 2011 10:18:51 GMT
+Content-Length: 1143
+
+&lt;firewall href='http://localhost:3001/api/firewalls/default' id='default'&gt;
+  &lt;name&gt;&lt;![CDATA[default]]&gt;&lt;/name&gt;
+  &lt;description&gt;&lt;![CDATA[default group]]&gt;&lt;/description&gt;
+  &lt;owner_id&gt;393485797142&lt;/owner_id&gt;
+  &lt;rules&gt;
+    &lt;rule href='http://localhost:3001/api/firewalls/default/393485797142~tcp~22~22~@group,393485797142,devel_group,@group,393485797142,outside,@address,ipv4,192.168.1.1,24,@address,ipv4,65.128.31.27,32' id='393485797142~tcp~22~22~@group,393485797142,devel_group,@group,393485797142,outside,@address,ipv4,192.168.1.1,24,@address,ipv4,65.128.31.27,32'&gt;
+      &lt;allow_protocol&gt;tcp&lt;/allow_protocol&gt;
+      &lt;port_from&gt;22&lt;/port_from&gt;
+      &lt;port_to&gt;22&lt;/port_to&gt;
+      &lt;direction&gt;ingress&lt;/direction&gt;
+      &lt;sources&gt;
+        &lt;source name='devel_group' owner='393485797142' type='group'&gt;&lt;/source&gt;
+        &lt;source name='outside' owner='393485797142' type='group'&gt;&lt;/source&gt;
+        &lt;source address='192.168.1.1' family='ipv4' prefix='24' type='address'&gt;&lt;/source&gt;
+        &lt;source address='65.128.31.27' family='ipv4' prefix='32' type='address'&gt;&lt;/source&gt;
+      &lt;/sources&gt;
+    &lt;/rule&gt;
+  &lt;/rules&gt;
+&lt;/firewall&gt;
+</pre>
+
+<h4 id="delete-rule">Delete a firewall rule</h4>
+
+<p>
+To delete the specified firewall rule use call <strong>DELETE /api/firewalls/:id/:rule_id</strong>. The Deltacloud server will respond with <strong>HTTP 204 No Content</strong> on completion of a successful delete operation:
+</p>
+
+<p>Example request:</p>
+
+<pre>
+DELETE /api/firewalls/default/393485797142~tcp~0~0~@group,393485797142,devel_group,@group,393485797142,outside,@address,ipv4,192.168.1.1,24,@address,ipv4,65.128.31.27,32?format=xml HTTP/1.1
+Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
+User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
+Host: localhost:3001
+Accept: */*
+</pre>
+
+<p>Server response:</p>
+
+<pre>
+HTTP/1.1 204 No Content
+Date: Wed, 27 Jul 2011 10:39:52 GMT
+</pre>
+
+  </div>
+</div>
+
+<p><a class="btn btn-inverse btn-large" style="float: right" href="addresses.html">Addresses <i class="icon-arrow-right icon-white" style="vertical-align:baseline"> </i></a></p>
+
+<p><br></p>
+
+      <footer class="footer">
+        <p class="pull-right"><span class='icon-circle-arrow-up'>&nbsp;</span><a href="#">Back to top</a></p>
+        <div class='row'>
+          <div class='span3'>
+            <img src="/assets/img/asf.png" alt="Apache Software Foundation"/>
+          </div>
+          <div class='span9'>
+            <strong>Apache Deltacloud</strong> is a top-level project at the <a
+              href="http://www.apache.org">Apache Software Foundation</a>,
+            having graduated from the ASF Incubator in October
+            2011. Through a collaborative and meritocratic development process, Apache
+            projects deliver enterprise-grade, freely available software products that
+            attract large communities of users. 
+          </div>
+        </div>
+      </footer>
+
+    </div> <!-- /container -->
+
+  </body>
+</html>



Mime
View raw message