<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    

    <meta name="author" content="The Apache Software Foundation">

    
      <meta name="keywords" content="python,libcloud,cloud,cloud computing,rackspace,amazon ec2,cloudfiles,openstack,cloudstack" />
    

    
      <title>Blog | Apache Libcloud</title>
    

    <!-- fav icons -->
    <link rel="shortcut icon" href="/images/favicon.png" />
    <link rel="apple-touch-icon" href="/images/apple-touch-icon.png" />
    <link rel="apple-touch-icon-precomposed" href="/images/apple-touch-icon.png" />

    <link href="/blog/atom.xml" type="application/atom+xml" rel="alternate" title="Apache Libcloud Blog Feed" />

    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,400italic' rel='stylesheet' type='text/css'>
    <link href='https://fonts.googleapis.com/css?family=Inconsolata' rel='stylesheet' type='text/css'>

    <!-- Facebook OpenGraph tags -->
    <meta content="Apache Libcloud" property="og:site_name">
    
      <meta content="Blog" property="og:title">
    

    

    

    
      <meta content="website" property="og:type">
    

    
      <meta content="https://libcloud.apache.org/blog/page/19/" property="og:url">
    
    

    

    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
  </head>

  <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
    <nav class="navbar navbar-fixed-top navbar-inverse" role="navigation">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="/index.html"><img src="/images/libcloud_logo.png" class="navbar-logo" /> Apache Libcloud</a>
        </div>
        <div class="collapse navbar-collapse navbar-ex1-collapse">
          <ul class="nav navbar-nav">
            
            
              
              <li ><a href="/" >Home</a></li>
            
              
              <li ><a href="/about.html" >About</a></li>
            
              
              <li ><a href="/getting-started.html" >Quick Start</a></li>
            
              
              <li ><a href="https://libcloud.readthedocs.org/en/stable/" target="_blank">Documentation</a></li>
            
              
              <li ><a href="/downloads.html" >Downloads</a></li>
            
              
              <li ><a href="/community.html" >Community</a></li>
            
              
              <li ><a href="/blog/" >Blog</a></li>
            
          </ul>

          <div class="material-switch pull-right">
              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
              <label for="theme-switch" class="label-default"></label>
              <span id="theme-toggle" class="theme-switch">Dark mode</span>
          </div>

        </div><!-- /.navbar-collapse -->
      </div><!-- /.container -->
    </nav>

    <div class="container main-container">
      <div class="row section page-content">
  <div class="col-lg-8">
    <h1>Blog</h1>

<div class="posts">
  
  
    
      <div class="post">
  
    <h2><a href="/blog/2012/04/01/libcloud-0-9-1-released.html">Libcloud 0.9.1 released</a></h2>
  
  <span class="post-date-author">By Tomaz Muraus on Apr 01, 2012</span>

  <div class="post-content">
    <p>Libcloud team is pleased to announce the release of Libcloud 0.9.1!</p>

<p>Release highlights:</p>

<ul>
  <li>A lot of improvements and additional functionality in the OpenStack
driver. Now a generic OpenStack driver (Provider.OPENSTACK) also works with
devstack.org and trystack.org installations</li>
  <li>Improvements and better exception propagation in the deploy_node method</li>
  <li>New driver for ElasticHosts Los Angeles and Toronto location</li>
  <li>Support for new EC2 instance type - m1.medium</li>
</ul>

<p>Bug fixes:</p>

<ul>
  <li>Don’t lowercase special header names in the Amazon S3 storage driver.
This fixes a bug with multi-objects delete calls.</li>
  <li>Properly handle OpenStack providers which return public IP addresses
under the ‘internet’ key in the ‘addresses’ dictionary</li>
  <li>Make create_node in Linode driver return a Node instance instead of a
listen of Node instances</li>
</ul>

<p>For a full list of changes, please see the CHANGES file
<a href="https://svn.apache.org/viewvc/libcloud/tags/0.9.1/CHANGES?revision=r1307716&amp;view=markup">https://svn.apache.org/viewvc/libcloud/tags/0.9.1/CHANGES?revision=r1307716&amp;view=markup</a>.</p>

<h3 id="download">Download</h3>

<p>Libcloud 0.9.1 can be downloaded from
http://libcloud.apache.org/downloads.html or installed using pip:</p>

<figure class="highlight">
  <pre><code class="language-bash" data-lang="bash">pip <span class="nb">install </span>apache-libcloud</code></pre>
</figure>

<p>It is possible that the file hasn’t been synced to all the mirrors yet. If
this is the case, please use the main Apache mirror -
http://www.apache.org/dist/libcloud</p>

<h3 id="upgrading">Upgrading</h3>

<p>If you have installed Libcloud using pip you can also use it to upgrade it:</p>

<figure class="highlight">
  <pre><code class="language-bash" data-lang="bash">pip <span class="nb">install</span> <span class="nt">--upgrade</span> apache-libcloud</code></pre>
</figure>

<h3 id="upgrade-notes">Upgrade notes</h3>

<p>A page which describes backward incompatible or semi-incompatible changes
and how to preserve the old behavior when this is possible can be found at
http://libcloud.apache.org/upgrade-notes.html.</p>

<h3 id="documentation">Documentation</h3>

<p>API documentation can be found at http://libcloud.apache.org/apidocs/0.9.1/.</p>

<h3 id="bugs--issues">Bugs / Issues</h3>

<p>If you find any bug or issue, please report it on our issue tracker
<a href="https://issues.apache.org/jira/browse/LIBCLOUD">https://issues.apache.org/jira/browse/LIBCLOUD</a>. Don’t forget to attach an
example and / or test which reproduces your problem.</p>

<h3 id="thanks">Thanks</h3>

<p>Thanks to everyone who contributed and made this release possible! Full
list of people who contributed to this release can be found in the CHANGES
file <a href="https://svn.apache.org/viewvc/libcloud/tags/0.9.1/CHANGES?revision=r1307716&amp;view=markup">https://svn.apache.org/viewvc/libcloud/tags/0.9.1/CHANGES?revision=r1307716&amp;view=markup</a>.</p>

<p>Source: <a href="http://mail-archives.apache.org/mod_mbox/libcloud-users/201204.mbox/%3CCAJMHEmJzeGL%2BU1PNeX0T-1dcxUC1um88jQTAmskZ-mXTQ3QLGw%40mail.gmail.com%3E">release announcement</a>.</p>


  </div>

  <div class="row section post-meta">
    <div class="col-md-12 post-tags">
      <p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/release-announcement.html" rel="tag">release announcement</a></p>
    </div>
  </div>
</div>

    
  
    
      <div class="post">
  
    <h2><a href="/blog/2012/02/08/libcloud-0-8-0-released.html">Libcloud 0.8.0 released</a></h2>
  
  <span class="post-date-author">By Tomaz Muraus on Feb 08, 2012</span>

  <div class="post-content">
    <p>Libcloud team is pleased to announce the release of Libcloud 0.8.0!</p>

<p>Release highlights:</p>

<ul>
  <li>Support for handling compressed (gzip, deflate) responses</li>
  <li>Support for new Amazon EC2 location - South America (Sao Paulo)</li>
</ul>

<p>Other notable changes:</p>

<ul>
  <li>Many improvements and additions of extension methods in the OpenStack
compute driver</li>
  <li>Many improvements and additions of extension methods in the Rackspace
load-balancer driver</li>
  <li>Improvements in the OpenNebula compute driver</li>
</ul>

<p>For a full list of changes, please see the CHANGES file
<a href="https://svn.apache.org/viewvc/libcloud/tags/0.8.0/CHANGES?revision=r1240459&amp;view=markup">https://svn.apache.org/viewvc/libcloud/tags/0.8.0/CHANGES?revision=r1240459&amp;view=markup</a>.</p>

<h3 id="download">Download</h3>

<p>Libcloud 0.8.0 can be downloaded from
http://libcloud.apache.org/downloads.html or installed using pip:</p>

<figure class="highlight">
  <pre><code class="language-bash" data-lang="bash">pip <span class="nb">install </span>apache-libcloud</code></pre>
</figure>

<p>It is possible that the file hasn’t been synced to all the mirrors yet. If
this is the case, please use the main Apache mirror -
http://www.apache.org/dist/libcloud</p>

<h3 id="upgrading">Upgrading</h3>

<p>If you have installed Libcloud using pip you can also use it to upgrade it:</p>

<figure class="highlight">
  <pre><code class="language-bash" data-lang="bash">pip <span class="nb">install</span> <span class="nt">--upgrade</span> apache-libcloud</code></pre>
</figure>

<h3 id="upgrade-notes">Upgrade notes</h3>

<p>A page which describes backward incompatible or semi-incompatible changes
and how to preserve the old behavior when this is possible can be found at
http://libcloud.apache.org/upgrade-notes-0-8.html.</p>

<h3 id="documentation">Documentation</h3>

<p>API documentation can be found at http://libcloud.apache.org/apidocs/0.8.0/.</p>

<h3 id="bugs--issues">Bugs / Issues</h3>

<p>If you find any bug or issue, please report it on our issue tracker
<a href="https://issues.apache.org/jira/browse/LIBCLOUD">https://issues.apache.org/jira/browse/LIBCLOUD</a>. Don’t forget to attach an
example and / or test which reproduces your problem.</p>

<h3 id="thanks">Thanks</h3>

<p>Thanks to everyone who contributed and made this release possible! Full
list of people who contributed to this release can be found in the CHANGES
file <a href="https://svn.apache.org/viewvc/libcloud/tags/0.8.0/CHANGES?revision=r1240459&amp;view=markup">https://svn.apache.org/viewvc/libcloud/tags/0.8.0/CHANGES?revision=r1240459&amp;view=markup</a>.</p>

<p>Source: <a href="http://mail-archives.us.apache.org/mod_mbox/www-announce/201202.mbox/%3CCAJMHEmJJcigBO+ZoSyxFGvc5Z37t-t3KKHBHyyMi7L-J4-Y03A@mail.gmail.com%3E">release announcement</a>.</p>


  </div>

  <div class="row section post-meta">
    <div class="col-md-12 post-tags">
      <p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/release-announcement.html" rel="tag">release announcement</a></p>
    </div>
  </div>
</div>

    
  
    
      <div class="post">
  
    <h2><a href="/blog/2011/12/30/2011-in-retrospect-and-happy-new-year-from-libcloud-team.html">2011 in retrospect and a Happy New Year from the Libcloud team</a></h2>
  
  <span class="post-date-author">By Tomaz Muraus on Dec 30, 2011</span>

  <div class="post-content">
    <p>Dear users &amp; developers,</p>

<p>First of all, Libcloud team wishes everyone a Happy New Year 2012!</p>

<p>2011 has been a great year for us and we have accomplished a lot of things:</p>

<ul>
  <li>Website has been ported to the Apache CMS and updated with a lot of new
content, including documentation</li>
  <li>In May we have graduated from the incubator to a top level project</li>
  <li>Two new committers have joined the team (Tomaz Muraus, Hutson Betts)</li>
  <li>We have grown from supporting a single API (cloud servers) to supporting
four different APIs (cloud servers, load balancers, cloud storage, dns)</li>
  <li>We have introduced support for Python 3</li>
  <li>We have released a total of 7 new versions</li>
  <li>We have received many patches by external contributors</li>
  <li>We have held two development sprints (PyCon, EuroPython)</li>
  <li>Code wise we have grown from ~4300 LOC to ~14300 LOC (excluding tests)</li>
</ul>

<p>Lets try to make 2012 even better :)</p>

<p>Source: <a href="http://mail-archives.apache.org/mod_mbox/libcloud-users/201112.mbox/%3CCAJMHEmL1D-HuCj4LSH-mF1bP_Of6XwEfuP1Y74_2APeD-8OrFA@mail.gmail.com%3E">mailing list post</a>.</p>


  </div>

  <div class="row section post-meta">
    <div class="col-md-12 post-tags">
      <p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a></p>
    </div>
  </div>
</div>

    
  
    
      <div class="post">
  
    <h2><a href="/blog/2011/12/09/libcloud-0-7-1-released.html">Libcloud 0.7.1 released</a></h2>
  
  <span class="post-date-author">By Tomaz Muraus on Dec 09, 2011</span>

  <div class="post-content">
    <p>Libcloud team is pleased to announce the release of Libcloud 0.7.1!</p>

<p>This release represents another big milestone for us and introduces a
support for Python 3!</p>

<p>Other notable changes:</p>

<ul>
  <li>New Las Vegas location for the CloudSigma provider</li>
  <li>Improvements to the OpenStack driver</li>
  <li>Improvements to the OpenNebula driver</li>
  <li>Support for Amazon EC2 new “Cluster Compute Eight Extra Large” instance
size</li>
</ul>

<p>This release also removes old, deprecated (pre-0.5) paths. If you still
haven’t updated your code you need to do it now otherwise it won’t work
with 0.7.1 and future releases.</p>

<p>Script which can help you with the migration from the old style paths to
the new ones can be found at
http://libcloud.apache.org/upgrade-notes-0-7.html.</p>

<p>For a full list of changes, please see the CHANGES file
<a href="https://svn.apache.org/viewvc/libcloud/tags/0.7.1/CHANGES?revision=1210679&amp;view=markup">https://svn.apache.org/viewvc/libcloud/tags/0.7.1/CHANGES?revision=1210679&amp;view=markup</a>.</p>

<h3 id="download">Download</h3>

<p>Libcloud 0.7.1 can be downloaded from
http://libcloud.apache.org/downloads.html or installed using pip:</p>

<figure class="highlight">
  <pre><code class="language-bash" data-lang="bash">pip <span class="nb">install </span>apache-libcloud</code></pre>
</figure>

<p>It is possible that the file hasn’t been synced to all the mirrors yet. If
this is the case, please use the main Apache mirror -
http://www.apache.org/dist/libcloud</p>

<h3 id="upgrading">Upgrading</h3>

<p>If you have installed Libcloud using pip you can also use it to upgrade it:</p>

<figure class="highlight">
  <pre><code class="language-bash" data-lang="bash">pip <span class="nb">install</span> <span class="nt">--upgrade</span> apache-libcloud</code></pre>
</figure>

<h3 id="upgrade-notes">Upgrade notes</h3>

<p>A page which describes backward incompatible or semi-incompatible changes
and how to preserve the old behavior when this is possible can be found at
http://libcloud.apache.org/upgrade-notes-0-7.html.</p>

<h3 id="documentation">Documentation</h3>

<p>API documentation can be found at http://libcloud.apache.org/apidocs/0.7.1/.</p>

<h3 id="bugs--issues">Bugs / Issues</h3>

<p>If you find any bug or issue, please report it on our issue tracker &lt;
https://issues.apache.org/jira/browse/LIBCLOUD&gt;. Don’t forget to attach an
example and / or test which reproduces your problem.</p>

<h3 id="thanks">Thanks</h3>

<p>Thanks to everyone who contributed and made this release possible! Full
list of people who contributed to this release can be found in the CHANGES
file <a href="https://svn.apache.org/viewvc/libcloud/tags/0.7.1/CHANGES?revision=1210679&amp;view=markup">https://svn.apache.org/viewvc/libcloud/tags/0.7.1/CHANGES?revision=1210679&amp;view=markup</a>.</p>

<p>Source: <a href="http://mail-archives.apache.org/mod_mbox/libcloud-users/201112.mbox/%3CCAJMHEm+qKuSarmvQZ4H1PVUkv6L3vssjQEHs+3MCtSJ9hfBwOw@mail.gmail.com%3E">release announcement</a>.</p>


  </div>

  <div class="row section post-meta">
    <div class="col-md-12 post-tags">
      <p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/release-announcement.html" rel="tag">release announcement</a></p>
    </div>
  </div>
</div>

    
  
    
      <div class="post">
  
    <h2><a href="/blog/2011/11/22/new-committer-hutson-betts-join-our-team.html">New committer Hutson Betts joins our team</a></h2>
  
  <span class="post-date-author">By Tomaz Muraus on Nov 22, 2011</span>

  <div class="post-content">
    <p>Hi all,</p>

<p>I just wanted to let everyone know that the Libcloud PMC has decided to
invite a new committer - Hutson Betts (hbetts).</p>

<p>He has previously mostly contributed to the OpenNebula driver and the
networking API.</p>

<p>We believe that granting him the committer status will allow him to more
easily and directly contribute to the project.</p>

<p>Please help us welcome him!</p>

<p>Source: <a href="http://mail-archives.apache.org/mod_mbox/libcloud-dev/201111.mbox/%3CCAJMHEm+08-1MMCgHDZgULc+StDiwgR+_krVZvHOJF0odcU_OWg@mail.gmail.com%3E">mailing list</a>.</p>


  </div>

  <div class="row section post-meta">
    <div class="col-md-12 post-tags">
      <p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/new-committer.html" rel="tag">new committer</a></p>
    </div>
  </div>
</div>

    
  
</div>

<p class="navigation">
  
    
      <span class="alignleft"><a href="/blog/page/20/">« Previous Page</a></span>
    
  

  
    
      
        <span class="pull-right"><a href="/blog/page/18/">Next Page »</a></span>
      
    
  
</p>


  </div>

  <div class="col-lg-3 col-lg-offset-1">
    <h2>Archive</h1>
    <ul>
      <li> <a href="/blog/archives/2022/03/"> March 2022</a> &nbsp;(1)</li><li> <a href="/blog/archives/2021/11/"> November 2021</a> &nbsp;(2)</li><li> <a href="/blog/archives/2021/06/"> June 2021</a> &nbsp;(1)</li><li> <a href="/blog/archives/2021/01/"> January 2021</a> &nbsp;(2)</li><li> <a href="/blog/archives/2020/09/"> September 2020</a> &nbsp;(1)</li><li> <a href="/blog/archives/2020/08/"> August 2020</a> &nbsp;(2)</li><li> <a href="/blog/archives/2020/06/"> June 2020</a> &nbsp;(2)</li><li> <a href="/blog/archives/2020/04/"> April 2020</a> &nbsp;(2)</li><li> <a href="/blog/archives/2020/03/"> March 2020</a> &nbsp;(1)</li><li> <a href="/blog/archives/2020/01/"> January 2020</a> &nbsp;(2)</li><li> <a href="/blog/archives/2019/12/"> December 2019</a> &nbsp;(1)</li><li> <a href="/blog/archives/2019/11/"> November 2019</a> &nbsp;(1)</li><li> <a href="/blog/archives/2019/08/"> August 2019</a> &nbsp;(2)</li><li> <a href="/blog/archives/2019/05/"> May 2019</a> &nbsp;(1)</li><li> <a href="/blog/archives/2018/11/"> November 2018</a> &nbsp;(1)</li><li> <a href="/blog/archives/2018/06/"> June 2018</a> &nbsp;(1)</li><li> <a href="/blog/archives/2018/03/"> March 2018</a> &nbsp;(1)</li><li> <a href="/blog/archives/2017/12/"> December 2017</a> &nbsp;(1)</li><li> <a href="/blog/archives/2017/09/"> September 2017</a> &nbsp;(2)</li><li> <a href="/blog/archives/2017/07/"> July 2017</a> &nbsp;(1)</li><li> <a href="/blog/archives/2017/04/"> April 2017</a> &nbsp;(3)</li><li> <a href="/blog/archives/2016/12/"> December 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/11/"> November 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/10/"> October 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/09/"> September 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/07/"> July 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/06/"> June 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/04/"> April 2016</a> &nbsp;(2)</li><li> <a href="/blog/archives/2016/02/"> February 2016</a> &nbsp;(2)</li><li> <a href="/blog/archives/2016/01/"> January 2016</a> &nbsp;(4)</li><li> <a href="/blog/archives/2015/12/"> December 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/11/"> November 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/10/"> October 2015</a> &nbsp;(2)</li><li> <a href="/blog/archives/2015/08/"> August 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/03/"> March 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/02/"> February 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/12/"> December 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/11/"> November 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/07/"> July 2014</a> &nbsp;(2)</li><li> <a href="/blog/archives/2014/06/"> June 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/05/"> May 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/04/"> April 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/02/"> February 2014</a> &nbsp;(8)</li><li> <a href="/blog/archives/2014/01/"> January 2014</a> &nbsp;(4)</li><li> <a href="/blog/archives/2013/12/"> December 2013</a> &nbsp;(3)</li><li> <a href="/blog/archives/2013/11/"> November 2013</a> &nbsp;(2)</li><li> <a href="/blog/archives/2013/09/"> September 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/08/"> August 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/07/"> July 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/03/"> March 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/02/"> February 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/12/"> December 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/11/"> November 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/09/"> September 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/08/"> August 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/07/"> July 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/05/"> May 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/04/"> April 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/02/"> February 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/12/"> December 2011</a> &nbsp;(2)</li><li> <a href="/blog/archives/2011/11/"> November 2011</a> &nbsp;(3)</li><li> <a href="/blog/archives/2011/10/"> October 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/09/"> September 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/07/"> July 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/06/"> June 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/05/"> May 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/02/"> February 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/01/"> January 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/10/"> October 2010</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/05/"> May 2010</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/02/"> February 2010</a> &nbsp;(1)</li>
    </ul>
  </div>
</div>


      <hr />

      <footer>
        <div class="row">
          <div class="col-lg-12 text-center">
            <div class="footer-links">
  <p><a href="http://www.apache.org/licenses/">License</a> | <a
  href="/security.html">Security</a> | <a
  href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
  <a href="http://www.apache.org/foundation/thanks.html">Thanks</a> |
  <a href="/credits.html">Credits</a> | <a href="/media.html">Media</a>
</div>

<div class="footer-text">
  <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
  <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
</div>

          </div>
        </div>
      </footer>

    </div><!-- /.container -->

    <!-- JavaScript -->
    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>

    

    <script type="text/javascript">
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-23580482-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
</script>

  </body>
</html>
